forked from Mineclonia/Mineclonia
Compare commits
80 Commits
mineclone2
...
master
Author | SHA1 | Date |
---|---|---|
NO11 | eb96200d62 | |
cora | 9f086a9242 | |
Nils Dagsson Moskopp | 275f0826ed | |
cora | 00ee2d5013 | |
Nils Dagsson Moskopp | f8c58262bc | |
cora | 926d5e2c37 | |
cora | f1ac39eaad | |
cora | 58fe08332f | |
Nils Dagsson Moskopp | 1e42c37895 | |
cora | 0816ee38b4 | |
Nils Dagsson Moskopp | 0b92dc1f26 | |
cora | 87761bf454 | |
Elias Åström | 725bf517ca | |
Elias Åström | fc61c71df5 | |
Elias Åström | 7bfd28cd75 | |
NO11 | c41bdbb9e9 | |
Nils Dagsson Moskopp | eb7b99d59e | |
My favourite Minetest cheat clients are Dragonfire and Waspsaliva. | b96dad7852 | |
NO11 | 3ed60836ed | |
E | 2feab24dd3 | |
cora | c9a8ef0ac2 | |
Nils Dagsson Moskopp | 2aafb2f2d0 | |
My favourite Minetest cheat clients are Dragonfire and Waspsaliva. | 86c1f37296 | |
NO11 | 7ec4f43b29 | |
NO11 | 167a95a494 | |
NO11 | 670467c0ab | |
NO11 | d6942f4a5b | |
Lizzy Fleckenstein | 764ff5512a | |
NO11 | 972237a474 | |
cora | 6c311d5528 | |
cora | 79766bff23 | |
My favourite Minetest cheat clients are Dragonfire and Waspsaliva. | 031ae5fcb5 | |
Nils Dagsson Moskopp | 7ccdbc5905 | |
NO11 | 6a5f31a1e2 | |
NO11 | 5a6f216e51 | |
NO11 | 0ef713bf5f | |
NO11 | 144de8ed5d | |
NO11 | b0a202fdd0 | |
NO11 | 05269e36f3 | |
NO11 | 67c3927684 | |
NO11 | 3caf27bce3 | |
NO11 | 2de615a1f4 | |
Nils Dagsson Moskopp | 5f0710a486 | |
My favourite Minetest cheat clients are Dragonfire and Waspsaliva. | 811b6d7058 | |
AFCMS | e858ea6233 | |
AFCMS | 20b7b6ff99 | |
AFCMS | b6fc888559 | |
Elias Åström | ab389e9995 | |
E | e14265ff8e | |
E | b1fbbfdd35 | |
E | 02a8496b5f | |
E | 0c13293f43 | |
cora | 3ee2ef0618 | |
Nils Dagsson Moskopp | 27828b6317 | |
Elias Åström | 4b4d40f158 | |
Elias Åström | fac4a38657 | |
Elias Åström | c1bed0a826 | |
E | c17d450fda | |
E | 538e3b7e35 | |
E | 42205639f6 | |
E | dd8bcaec50 | |
E | 4dd1b00a0a | |
E | 32c7fe4741 | |
E | c9c568847c | |
E | 838bf0034f | |
E | 7f9ad443ac | |
E | 1738d57a2c | |
E | 438e91d212 | |
E | 9875183a6f | |
E | 95af8196a2 | |
Elias Åström | f3b0285347 | |
Elias Åström | 4c61fc80c6 | |
Elias Åström | 7ea25ab172 | |
Elias Åström | 5d3514880a | |
Elias Åström | d9bbf4879c | |
Elias Åström | 74d4986d1d | |
Benjamin Schötz | 9f61cfffaa | |
Benjamin Schötz | 7d44596c6d | |
Benjamin Schötz | 48091cecab | |
Benjamin Schötz | adbb2f037a |
|
@ -0,0 +1,38 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
name: "Bug Report"
|
||||||
|
about: "Use this for when something's broken."
|
||||||
|
labels:
|
||||||
|
- bug
|
||||||
|
- unconfirmed
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
##### What happened?
|
||||||
|
|
||||||
|
<!-- Describe what's wrong. -->
|
||||||
|
|
||||||
|
##### What did I expect?
|
||||||
|
|
||||||
|
<!-- Describe what should be happening instead -->
|
||||||
|
|
||||||
|
##### How to get it to happen
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Write down exactly what you did to get the bug to happen
|
||||||
|
If you need more steps, just keep adding numbers. If you
|
||||||
|
don't need them all, delete the empty numbers.
|
||||||
|
-->
|
||||||
|
1.
|
||||||
|
2.
|
||||||
|
3.
|
||||||
|
|
||||||
|
##### Environment
|
||||||
|
|
||||||
|
Mineclonia Version: <!-- Paste the version of Mineclonia here, if you know it. -->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Please refer to https://git.minetest.land/Mineclonia/Mineclonia/wiki/Reporting-Bugs
|
||||||
|
if you need help finding your Minetest version.
|
||||||
|
-->
|
||||||
|
Minetest Version:
|
|
@ -0,0 +1,22 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
name: "Feature Request"
|
||||||
|
about: "Mineclonia doesn't do something you need it to"
|
||||||
|
labels:
|
||||||
|
- "feature request"
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
##### Problem
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Describe what's wrong.
|
||||||
|
|
||||||
|
If you're reporting a missing feature from Minecraft,
|
||||||
|
please include a link to the Minetest wiki or Mojang bug
|
||||||
|
tracker entry describing that feature.
|
||||||
|
-->
|
||||||
|
|
||||||
|
##### Solution
|
||||||
|
|
||||||
|
<!-- Write down an example of what you'd like to happen. -->
|
|
@ -0,0 +1,51 @@
|
||||||
|
<!--
|
||||||
|
Please include the main mod this PR affects in the title, including
|
||||||
|
the leading directory. For example, if you have added a new
|
||||||
|
type of banner to mcl_banners, the title should look like:
|
||||||
|
|
||||||
|
items/mcl_banners: add new banner type
|
||||||
|
|
||||||
|
-->
|
||||||
|
##### Problem
|
||||||
|
TRACKING ISSUE: #<!-- Tracking issue number -->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Describe WHAT problem this pull request solves.
|
||||||
|
If the tracking issue includes all the needed
|
||||||
|
information, you can leave this section empty.
|
||||||
|
-->
|
||||||
|
|
||||||
|
##### Solution
|
||||||
|
|
||||||
|
<!-- Describe HOW this pull request solves its problem. -->
|
||||||
|
|
||||||
|
##### Details
|
||||||
|
|
||||||
|
<!-- Include any additional information here. -->
|
||||||
|
|
||||||
|
##### Testing Steps
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Write how we can verify this patch addresses its problem.
|
||||||
|
If you need more steps, just keep adding numbers. If you
|
||||||
|
don't need them all, delete the empty numbers.
|
||||||
|
-->
|
||||||
|
1.
|
||||||
|
2.
|
||||||
|
3.
|
||||||
|
|
||||||
|
<!--
|
||||||
|
If your pull request still needs work, uncomment the
|
||||||
|
following section and include a list of things that
|
||||||
|
need to be done before it's ready for us to look at.
|
||||||
|
|
||||||
|
Please remember to put WIP: in front of the title as well.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
##### To do
|
||||||
|
|
||||||
|
- [ ] Item 1
|
||||||
|
- [ ] Item 2
|
||||||
|
- [ ] Item 3
|
||||||
|
-->
|
|
@ -0,0 +1,102 @@
|
||||||
|
std = "min"
|
||||||
|
|
||||||
|
read_globals = {
|
||||||
|
"ItemStack",
|
||||||
|
"dump", "dump2",
|
||||||
|
"vector",
|
||||||
|
"VoxelArea",
|
||||||
|
"minetest",
|
||||||
|
"PseudoRandom",
|
||||||
|
"PerlinNoise",
|
||||||
|
"PcgRandom",
|
||||||
|
|
||||||
|
string = {fields = {"split", "trim"}},
|
||||||
|
table = {fields = {"copy", "getn", "indexof", "insert_all"}},
|
||||||
|
math = {fields = {"hypot", "round"}},
|
||||||
|
}
|
||||||
|
|
||||||
|
-- A config option to allow r/w access to mods which contain
|
||||||
|
-- this one. It only avoids a couple warnings, and may not be
|
||||||
|
-- the behavior we want, so it's disabled by default.
|
||||||
|
local allow_parents=false
|
||||||
|
|
||||||
|
local lfs = require "lfs"
|
||||||
|
|
||||||
|
-- Seed the queue with the mods/ directory
|
||||||
|
local queue={ {"mods"} }
|
||||||
|
|
||||||
|
local function check(dir)
|
||||||
|
-- Get the string of the directory path
|
||||||
|
local sdir=table.concat(dir, "/")
|
||||||
|
-- Save the top-level directory name as a
|
||||||
|
-- fallback in case there's no mod.conf,
|
||||||
|
-- or no name= directive.
|
||||||
|
local name=dir[#dir]
|
||||||
|
|
||||||
|
-- Is there a mod.conf?
|
||||||
|
if lfs.attributes(sdir.."/mod.conf", "mode") == "file" then
|
||||||
|
local deps={}
|
||||||
|
for line in io.lines(sdir.."/mod.conf") do
|
||||||
|
-- Use name= if it's there
|
||||||
|
name=string.match(line, "name *= *([a-zA-Z0-9_]+)") or name
|
||||||
|
-- Get the dependency entries (if they're there)
|
||||||
|
local ents=string.match(line, "depends *=(.*)$")
|
||||||
|
if ents then
|
||||||
|
-- Split them in to the comma-separated names
|
||||||
|
for m in string.gmatch(ents, "([a-zA-Z0-9_]+),?") do
|
||||||
|
table.insert(deps, m)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local glb={ name }
|
||||||
|
if allow_parents then
|
||||||
|
for _, v in pairs(dir) do
|
||||||
|
-- Skip ALL-CAPS names since those tend
|
||||||
|
-- to be collections of mods instead of
|
||||||
|
-- mods themselves.
|
||||||
|
if not string.match(v, "^[A-Z]+$") then
|
||||||
|
table.insert(glb, v)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Tell Luacheck what the directory is allowed to do
|
||||||
|
files[sdir]={
|
||||||
|
globals = glb,
|
||||||
|
read_globals = deps,
|
||||||
|
}
|
||||||
|
elseif lfs.attributes(sdir.."/init.lua", "mode") == "file" then
|
||||||
|
-- No mod.conf, but there's an init.lua here.
|
||||||
|
local glb={ name }
|
||||||
|
if allow_parents then
|
||||||
|
for _, v in pairs(dir) do
|
||||||
|
-- Again, skip ALL-CAPS.
|
||||||
|
if not string.match(v, "^[A-Z]+$") then
|
||||||
|
table.insert(glb, v)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
files[sdir]={ globals=glb }
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Queue any child directories
|
||||||
|
for d in lfs.dir(sdir) do
|
||||||
|
-- Skip hidden directories and parent/current directories.
|
||||||
|
if lfs.attributes(sdir.."/"..d, "mode") == "directory" and not string.match(d, "^%.") then
|
||||||
|
-- Copy dir in to nd (New Dir)
|
||||||
|
local nd={}
|
||||||
|
for k, v in pairs(dir) do
|
||||||
|
nd[k]=v
|
||||||
|
end
|
||||||
|
nd[#nd+1]=d
|
||||||
|
table.insert(queue, nd)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
while #queue > 0 do
|
||||||
|
-- Pop an entry and process it.
|
||||||
|
check(table.remove(queue, 1))
|
||||||
|
end
|
|
@ -149,7 +149,7 @@ These groups are used mostly for informational purposes
|
||||||
* `trapdoor=2`: Open trapdoor
|
* `trapdoor=2`: Open trapdoor
|
||||||
* `glass=1`: Glass (full cubes only)
|
* `glass=1`: Glass (full cubes only)
|
||||||
* `rail=1`: Rail
|
* `rail=1`: Rail
|
||||||
* `music_record`: Music Disc (rating is track ID)
|
* `music_record=1`: Music Disc
|
||||||
* `tnt=1`: Block is TNT
|
* `tnt=1`: Block is TNT
|
||||||
* `boat=1`: Boat
|
* `boat=1`: Boat
|
||||||
* `minecart=1`: Minecart
|
* `minecart=1`: Minecart
|
||||||
|
|
|
@ -207,6 +207,10 @@ end
|
||||||
function mcl_autogroup.can_harvest(nodename, toolname)
|
function mcl_autogroup.can_harvest(nodename, toolname)
|
||||||
local ndef = minetest.registered_nodes[nodename]
|
local ndef = minetest.registered_nodes[nodename]
|
||||||
|
|
||||||
|
if not ndef then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
if minetest.get_item_group(nodename, "dig_immediate") >= 2 then
|
if minetest.get_item_group(nodename, "dig_immediate") >= 2 then
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
Adds additional ways for nodes to be attached.
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
name = mcl_attached
|
||||||
|
description = Adds additional ways for nodes to be attached.
|
|
@ -57,46 +57,44 @@ local function compute_sphere_rays(radius)
|
||||||
local rays = {}
|
local rays = {}
|
||||||
local sphere = {}
|
local sphere = {}
|
||||||
|
|
||||||
for i=1, 2 do
|
local function add_ray(pos)
|
||||||
|
sphere[minetest.hash_node_position(pos)] = pos
|
||||||
|
end
|
||||||
|
|
||||||
|
for y = -radius, radius do
|
||||||
|
for z = -radius, radius do
|
||||||
|
for x = -radius, 0 do
|
||||||
|
local d = x * x + y * y + z * z
|
||||||
|
if d <= radius * radius then
|
||||||
|
add_ray(vector.new(x, y, z))
|
||||||
|
add_ray(vector.new(-x, y, z))
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
for x = -radius, radius do
|
||||||
|
for z = -radius, radius do
|
||||||
|
for y = -radius, 0 do
|
||||||
|
local d = x * x + y * y + z * z
|
||||||
|
if d <= radius * radius then
|
||||||
|
add_ray(vector.new(x, y, z))
|
||||||
|
add_ray(vector.new(x, -y, z))
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
for x = -radius, radius do
|
||||||
for y = -radius, radius do
|
for y = -radius, radius do
|
||||||
for z = -radius, radius do
|
for z = -radius, 0 do
|
||||||
for x = -radius, 0, 1 do
|
local d = x * x + y * y + z * z
|
||||||
local d = x * x + y * y + z * z
|
if d <= radius * radius then
|
||||||
if d <= radius * radius then
|
add_ray(vector.new(x, y, z))
|
||||||
local pos = { x = x, y = y, z = z }
|
add_ray(vector.new(x, y, -z))
|
||||||
sphere[minetest.hash_node_position(pos)] = pos
|
break
|
||||||
break
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
for i=1,2 do
|
|
||||||
for x = -radius, radius do
|
|
||||||
for z = -radius, radius do
|
|
||||||
for y = -radius, 0, 1 do
|
|
||||||
local d = x * x + y * y + z * z
|
|
||||||
if d <= radius * radius then
|
|
||||||
local pos = { x = x, y = y, z = z }
|
|
||||||
sphere[minetest.hash_node_position(pos)] = pos
|
|
||||||
break
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
for i=1,2 do
|
|
||||||
for x = -radius, radius do
|
|
||||||
for y = -radius, radius do
|
|
||||||
for z = -radius, 0, 1 do
|
|
||||||
local d = x * x + y * y + z * z
|
|
||||||
if d <= radius * radius then
|
|
||||||
local pos = { x = x, y = y, z = z }
|
|
||||||
sphere[minetest.hash_node_position(pos)] = pos
|
|
||||||
break
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -253,12 +251,12 @@ local function trace_explode(pos, strength, raydirs, radius, info, puncher)
|
||||||
|
|
||||||
if collisionbox then
|
if collisionbox then
|
||||||
-- Create rays from random points in the collision box
|
-- Create rays from random points in the collision box
|
||||||
local x1 = collisionbox[1] * 2
|
local x1 = collisionbox[1]
|
||||||
local y1 = collisionbox[2] * 2
|
local y1 = collisionbox[2]
|
||||||
local z1 = collisionbox[3] * 2
|
local z1 = collisionbox[3]
|
||||||
local x2 = collisionbox[4] * 2
|
local x2 = collisionbox[4]
|
||||||
local y2 = collisionbox[5] * 2
|
local y2 = collisionbox[5]
|
||||||
local z2 = collisionbox[6] * 2
|
local z2 = collisionbox[6]
|
||||||
local x_len = math.abs(x2 - x1)
|
local x_len = math.abs(x2 - x1)
|
||||||
local y_len = math.abs(y2 - y1)
|
local y_len = math.abs(y2 - y1)
|
||||||
local z_len = math.abs(z2 - z1)
|
local z_len = math.abs(z2 - z1)
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
Initialization mod of MineClone 2. Defines some common shared variables and sets up initial default settings which have to be set at the beginning.
|
|
|
@ -1 +1,2 @@
|
||||||
name = mcl_init
|
name = mcl_init
|
||||||
|
description = Initialization mod of MineClone 2. Defines some common shared variables and sets up initial default settings which have to be set at the beginning.
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
API for filling a chest with random treasures.
|
|
|
@ -1 +1,2 @@
|
||||||
name = mcl_loot
|
name = mcl_loot
|
||||||
|
description = API for filling a chest with random treasures.
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
Contains particle images of MineClone 2. No code.
|
|
|
@ -1 +1,2 @@
|
||||||
name = mcl_particles
|
name = mcl_particles
|
||||||
|
description = Contains particle images of MineClone 2. No code.
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
This mod contains the core sounds of MineClone 2 as well as helper function for mods to access them.
|
|
|
@ -1 +1,2 @@
|
||||||
name = mcl_sounds
|
name = mcl_sounds
|
||||||
|
description = This mod contains the core sounds of MineClone 2 as well as helper function for mods to access them.
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
mcl_init
|
|
|
@ -1 +0,0 @@
|
||||||
Helper functions for MineClone 2.
|
|
|
@ -1 +1,3 @@
|
||||||
name = mcl_util
|
name = mcl_util
|
||||||
|
description = Helper functions for MineClone 2.
|
||||||
|
depends = mcl_init
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
mcl_init
|
|
|
@ -1 +0,0 @@
|
||||||
Utility functions for worlds and the “dimensions”.
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
name = mcl_worlds
|
||||||
|
description = Utility functions for worlds and the “dimensions”.
|
||||||
|
depends = mcl_init
|
|
@ -1 +0,0 @@
|
||||||
mcl_core
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
name = drippingwater
|
||||||
|
depends = mcl_core
|
|
@ -1,3 +0,0 @@
|
||||||
mcl_player
|
|
||||||
mcl_core?
|
|
||||||
doc_identifier?
|
|
|
@ -1 +0,0 @@
|
||||||
Adds drivable boats.
|
|
|
@ -243,7 +243,7 @@ function boat.on_step(self, dtime, moveresult)
|
||||||
else
|
else
|
||||||
local ctrl = self._passenger:get_player_control()
|
local ctrl = self._passenger:get_player_control()
|
||||||
if ctrl and ctrl.sneak then
|
if ctrl and ctrl.sneak then
|
||||||
detach_player(self._passenger, true)
|
detach_object(self._passenger, true)
|
||||||
self._passenger = nil
|
self._passenger = nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1 +1,4 @@
|
||||||
name = mcl_boats
|
name = mcl_boats
|
||||||
|
description = Adds drivable boats.
|
||||||
|
depends = mcl_player
|
||||||
|
optional_depends = mcl_core, doc_identifier
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
Falling node entities, Minecraft-style
|
|
|
@ -1 +1,2 @@
|
||||||
name = mcl_falling_nodes
|
name = mcl_falling_nodes
|
||||||
|
description = Falling node entities, Minecraft-style
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
flowlib
|
|
||||||
mcl_enchanting
|
|
|
@ -1 +0,0 @@
|
||||||
Dropped items will be attracted to the player like a magnet.
|
|
|
@ -1 +1,3 @@
|
||||||
name = mcl_item_entity
|
name = mcl_item_entity
|
||||||
|
description = Dropped items will be attracted to the player like a magnet.
|
||||||
|
depends = flowlib, mcl_enchanting
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
mcl_explosions
|
|
||||||
mcl_core
|
|
||||||
mcl_sounds
|
|
||||||
mcl_player
|
|
||||||
mcl_achievements
|
|
||||||
mcl_chests
|
|
||||||
mcl_furnaces
|
|
||||||
mesecons_commandblock
|
|
||||||
mcl_hoppers
|
|
||||||
mcl_tnt
|
|
||||||
mesecons
|
|
||||||
doc_identifier?
|
|
|
@ -1 +0,0 @@
|
||||||
Minecarts are vehicles to move players quickly on rails.
|
|
|
@ -1 +1,4 @@
|
||||||
name = mcl_minecarts
|
name = mcl_minecarts
|
||||||
|
description = Minecarts are vehicles to move players quickly on rails.
|
||||||
|
depends = mcl_explosions, mcl_core, mcl_sounds, mcl_player, mcl_achievements, mcl_chests, mcl_furnaces, mesecons_commandblock, mcl_hoppers, mcl_tnt, mesecons
|
||||||
|
optional_depends = doc_identifier
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
Adds a mob API for mods to add animals or monsters, etc.
|
|
|
@ -1,3 +1,4 @@
|
||||||
name = mcl_mobs
|
name = mcl_mobs
|
||||||
depends = mcl_particles
|
depends = mcl_particles
|
||||||
optional_depends = mcl_weather, mcl_explosions, mcl_hunger, mcl_worlds, invisibility, lucky_block, cmi, doc_identifier, mcl_armor, mcl_portals, mcl_experience
|
optional_depends = mcl_weather, mcl_explosions, mcl_hunger, mcl_worlds, invisibility, lucky_block, cmi, doc_identifier, mcl_armor, mcl_portals, mcl_experience
|
||||||
|
description = Adds a mob API for mods to add animals or monsters, etc.
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
mcl_init
|
|
||||||
mcl_particles
|
|
||||||
default?
|
|
||||||
mcl_mobs
|
|
||||||
mcl_tnt?
|
|
||||||
mcl_bows?
|
|
||||||
mcl_throwing?
|
|
||||||
mcl_fishing?
|
|
||||||
bones?
|
|
||||||
mesecons_materials?
|
|
||||||
mobs_mc_gameconfig?
|
|
||||||
doc_items?
|
|
|
@ -1 +0,0 @@
|
||||||
Adds Minecraft-like monsters and animals.
|
|
|
@ -1 +1,4 @@
|
||||||
name = mobs_mc
|
name = mobs_mc
|
||||||
|
description = Adds Minecraft-like monsters and animals.
|
||||||
|
depends = mcl_init, mcl_particles, mcl_mobs
|
||||||
|
optional_depends = default, mcl_tnt, mcl_bows, mcl_throwing, mcl_fishing, bones, mesecons_materials, mobs_mc_gameconfig, doc_items
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
mcl_init
|
|
||||||
mcl_core
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
name = mobs_mc_gameconfig
|
||||||
|
depends = mcl_init, mcl_core
|
|
@ -1,2 +0,0 @@
|
||||||
mcl_fire
|
|
||||||
mcl_death_messages?
|
|
|
@ -1 +0,0 @@
|
||||||
A mod that adds thunder and lightning effects.
|
|
|
@ -1 +1,4 @@
|
||||||
name = lightning
|
name = lightning
|
||||||
|
description = A mod that adds thunder and lightning effects.
|
||||||
|
depends = mcl_fire
|
||||||
|
optional_depends = mcl_death_messages
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
mcl_worlds
|
|
||||||
mcl_death_messages
|
|
|
@ -1 +0,0 @@
|
||||||
Deal damage to entities stuck in the deep void
|
|
|
@ -1 +1,3 @@
|
||||||
name = mcl_void_damage
|
name = mcl_void_damage
|
||||||
|
description = Deal damage to entities stuck in the deep void
|
||||||
|
depends = mcl_worlds, mcl_death_messages
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
mcl_init
|
|
||||||
mcl_worlds
|
|
||||||
lightning?
|
|
|
@ -1 +0,0 @@
|
||||||
Weather and sky handling: Rain, snow, thunderstorm, End and Nether ambience
|
|
|
@ -1 +1,4 @@
|
||||||
name = mcl_weather
|
name = mcl_weather
|
||||||
|
description = Weather and sky handling: Rain, snow, thunderstorm, End and Nether ambience
|
||||||
|
depends = mcl_init, mcl_worlds
|
||||||
|
optional_depends = lightning
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
Provides an extensible in-game help with texts about gameplay basics (such a crafting), items and advanced usage.
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
name = doc
|
||||||
|
description = Provides an extensible in-game help with texts about gameplay basics (such a crafting), items and advanced usage.
|
|
@ -1,6 +0,0 @@
|
||||||
mcl_core
|
|
||||||
mcl_compass
|
|
||||||
mcl_clock
|
|
||||||
doc
|
|
||||||
sfinv?
|
|
||||||
sfinv_buttons?
|
|
|
@ -1,2 +0,0 @@
|
||||||
The most comprehensive Crafting Guide
|
|
||||||
on Minetest.
|
|
|
@ -1 +1,5 @@
|
||||||
name = mcl_craftguide
|
name = mcl_craftguide
|
||||||
|
description = The most comprehensive Crafting Guide
|
||||||
|
on Minetest.
|
||||||
|
depends = mcl_core, mcl_compass, mcl_clock, doc
|
||||||
|
optional_depends = sfinv, sfinv_buttons
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
doc
|
|
||||||
doc_items
|
|
|
@ -1 +0,0 @@
|
||||||
This MineClone 2 mod sets up and configures the Help modpack mods to tailor the help towards MineClone 2.
|
|
|
@ -1 +1,3 @@
|
||||||
name = mcl_doc
|
name = mcl_doc
|
||||||
|
description = This MineClone 2 mod sets up and configures the Help modpack mods to tailor the help towards MineClone 2.
|
||||||
|
depends = doc, doc_items
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
tt
|
|
||||||
mcl_enchanting
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
name = mcl_tt
|
||||||
|
depends = tt, mcl_enchanting
|
|
@ -1,2 +0,0 @@
|
||||||
sfinv?
|
|
||||||
unified_inventory?
|
|
|
@ -1 +0,0 @@
|
||||||
Adds achievements to Minetest, and an API to register new ones.
|
|
|
@ -5,3 +5,4 @@ description = Adds achievements to Minetest, and an API to register new ones.
|
||||||
license = LGPL 2.1 or later
|
license = LGPL 2.1 or later
|
||||||
forum = https://forum.minetest.net/viewtopic.php?t=4870
|
forum = https://forum.minetest.net/viewtopic.php?t=4870
|
||||||
version = 2.3.0
|
version = 2.3.0
|
||||||
|
optional_depends = sfinv, unified_inventory
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
awards
|
|
|
@ -1 +1,2 @@
|
||||||
name = mcl_achievements
|
name = mcl_achievements
|
||||||
|
depends = awards
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
Provides core textures needed by Minetest.
|
|
|
@ -1 +1,2 @@
|
||||||
name = mcl_base_textures
|
name = mcl_base_textures
|
||||||
|
description = Provides core textures needed by Minetest.
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
Shows messages in chat when a player dies.
|
|
|
@ -10,6 +10,7 @@
|
||||||
@1 drowned.=@1 ertrank.
|
@1 drowned.=@1 ertrank.
|
||||||
@1 ran out of oxygen.=@1 ging die Luft aus.
|
@1 ran out of oxygen.=@1 ging die Luft aus.
|
||||||
@1 was killed by @2.=@1 wurde von @2 getötet.
|
@1 was killed by @2.=@1 wurde von @2 getötet.
|
||||||
|
@1 was slain by @2.=@1 wurde von @2 getötet.
|
||||||
@1 was killed.=@1 wurde getötet.
|
@1 was killed.=@1 wurde getötet.
|
||||||
@1 was killed by a mob.=@1 wurde von einem Mob getötet.
|
@1 was killed by a mob.=@1 wurde von einem Mob getötet.
|
||||||
@1 was burned to death by a blaze's fireball.=@1 wurde von einem Feuerball einer Lohe zu Tode verbrannt.
|
@1 was burned to death by a blaze's fireball.=@1 wurde von einem Feuerball einer Lohe zu Tode verbrannt.
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
@1 drowned.=
|
@1 drowned.=
|
||||||
@1 ran out of oxygen.=
|
@1 ran out of oxygen.=
|
||||||
@1 was killed by @2.=
|
@1 was killed by @2.=
|
||||||
|
@1 was slain by @2.=
|
||||||
@1 was killed.=
|
@1 was killed.=
|
||||||
@1 was killed by a mob.=
|
@1 was killed by a mob.=
|
||||||
@1 was burned to death by a blaze's fireball.=
|
@1 was burned to death by a blaze's fireball.=
|
||||||
|
|
|
@ -1 +1,2 @@
|
||||||
name = mcl_death_messages
|
name = mcl_death_messages
|
||||||
|
description = Shows messages in chat when a player dies.
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
mcl_init
|
|
|
@ -1 +1,2 @@
|
||||||
name = mcl_formspec_prepend
|
name = mcl_formspec_prepend
|
||||||
|
depends = mcl_init
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
Adds a HUD bar displaying the current damage of the player's armor.
|
|
|
@ -1,2 +1,3 @@
|
||||||
name = mcl_hbarmor
|
name = mcl_hbarmor
|
||||||
depends = hudbars, mcl_armor
|
depends = hudbars, mcl_armor
|
||||||
|
description = Adds a HUD bar displaying the current damage of the player's armor.
|
||||||
|
|
|
@ -28,10 +28,9 @@ local function replace_enchanted_books(tbl)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
--[[ Populate all the item tables. We only do this once. Note this mod must be
|
--[[ Populate all the item tables. We only do this once. Note this code must be
|
||||||
loaded after _mcl_autogroup for this to work, because it required certain
|
executed after loading all the other mods in order to work. ]]
|
||||||
groups to be set. ]]
|
minetest.register_on_mods_loaded(function()
|
||||||
do
|
|
||||||
for name,def in pairs(minetest.registered_items) do
|
for name,def in pairs(minetest.registered_items) do
|
||||||
if (not def.groups.not_in_creative_inventory or def.groups.not_in_creative_inventory == 0) and def.description and def.description ~= "" then
|
if (not def.groups.not_in_creative_inventory or def.groups.not_in_creative_inventory == 0) and def.description and def.description ~= "" then
|
||||||
local is_redstone = function(def)
|
local is_redstone = function(def)
|
||||||
|
@ -109,7 +108,7 @@ do
|
||||||
table.sort(to_sort)
|
table.sort(to_sort)
|
||||||
replace_enchanted_books(to_sort)
|
replace_enchanted_books(to_sort)
|
||||||
end
|
end
|
||||||
end
|
end)
|
||||||
|
|
||||||
local function filter_item(name, description, lang, filter)
|
local function filter_item(name, description, lang, filter)
|
||||||
local desc
|
local desc
|
||||||
|
|
|
@ -1,8 +0,0 @@
|
||||||
mcl_init
|
|
||||||
mcl_formspec
|
|
||||||
mcl_player?
|
|
||||||
_mcl_autogroup?
|
|
||||||
mcl_armor?
|
|
||||||
mcl_brewing?
|
|
||||||
mcl_potions?
|
|
||||||
mcl_enchanting
|
|
|
@ -1 +0,0 @@
|
||||||
Adds the player inventory and creative inventory.
|
|
|
@ -1 +1,4 @@
|
||||||
name = mcl_inventory
|
name = mcl_inventory
|
||||||
|
description = Adds the player inventory and creative inventory.
|
||||||
|
depends = mcl_init, mcl_formspec, mcl_enchanting
|
||||||
|
optional_depends = mcl_player, mcl_armor, mcl_brewing, mcl_potions
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
hudbars?
|
|
|
@ -1 +0,0 @@
|
||||||
Displays the name of the wielded item.
|
|
|
@ -1 +1,3 @@
|
||||||
name = show_wielded_item
|
name = show_wielded_item
|
||||||
|
description = Displays the name of the wielded item.
|
||||||
|
optional_depends = hudbars
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
mesecons
|
|
||||||
mcl_sounds
|
|
||||||
doc?
|
|
||||||
screwdriver?
|
|
|
@ -1 +1,3 @@
|
||||||
name = mcl_comparators
|
name = mcl_comparators
|
||||||
|
depends = mesecons, mcl_sounds
|
||||||
|
optional_depends = doc, screwdriver
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
mcl_init
|
|
||||||
mcl_formspec
|
|
||||||
mesecons
|
|
||||||
mcl_sounds
|
|
||||||
mcl_tnt
|
|
||||||
mcl_worlds
|
|
||||||
mcl_core
|
|
||||||
mcl_nether
|
|
||||||
mcl_armor_stand
|
|
||||||
mcl_armor
|
|
||||||
doc?
|
|
||||||
screwdriver?
|
|
|
@ -129,6 +129,19 @@ local dispenserdef = {
|
||||||
local stack_id = stacks[r].stackpos
|
local stack_id = stacks[r].stackpos
|
||||||
local stackdef = stack:get_definition()
|
local stackdef = stack:get_definition()
|
||||||
local iname = stack:get_name()
|
local iname = stack:get_name()
|
||||||
|
if not minetest.registered_items[iname] then
|
||||||
|
minetest.log(
|
||||||
|
"warning",
|
||||||
|
"Trying to dispense unknown item " ..
|
||||||
|
"“" .. iname .. "” " ..
|
||||||
|
"near (" ..
|
||||||
|
pos.x .. ", " ..
|
||||||
|
pos.y .. ", " ..
|
||||||
|
pos.z ..
|
||||||
|
")"
|
||||||
|
)
|
||||||
|
return
|
||||||
|
end
|
||||||
local igroups = minetest.registered_items[iname].groups
|
local igroups = minetest.registered_items[iname].groups
|
||||||
|
|
||||||
--[===[ Dispense item ]===]
|
--[===[ Dispense item ]===]
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
name = mcl_dispensers
|
||||||
|
depends = mcl_init, mcl_formspec, mesecons, mcl_sounds, mcl_tnt, mcl_worlds, mcl_core, mcl_nether, mcl_armor_stand, mcl_armor
|
||||||
|
optional_depends = doc, screwdriver
|
|
@ -1,6 +0,0 @@
|
||||||
mcl_init
|
|
||||||
mcl_formspec
|
|
||||||
mesecons
|
|
||||||
mcl_util
|
|
||||||
doc?
|
|
||||||
screwdriver?
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
name = mcl_droppers
|
||||||
|
depends = mcl_init, mcl_formspec, mesecons, mcl_util
|
||||||
|
optional_depends = doc, screwdriver
|
|
@ -1,2 +0,0 @@
|
||||||
mesecons
|
|
||||||
mcl_util
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
name = mcl_observers
|
||||||
|
depends = mesecons, mcl_util
|
|
@ -1,3 +0,0 @@
|
||||||
mcl_sounds
|
|
||||||
mcl_core
|
|
||||||
doc?
|
|
|
@ -483,11 +483,13 @@ function mesecon.turnoff(pos, link)
|
||||||
for _, r in ipairs(mesecon.rule2meta(f.link, mesecon.rules.mcl_alldirs_spread)) do
|
for _, r in ipairs(mesecon.rule2meta(f.link, mesecon.rules.mcl_alldirs_spread)) do
|
||||||
local np = vector.add(f.pos, r)
|
local np = vector.add(f.pos, r)
|
||||||
local n = mesecon.get_node_force(np)
|
local n = mesecon.get_node_force(np)
|
||||||
if mesecon.is_receptor_on(n.name) then
|
if not (mesecon.get_node_force(np) == nil) then
|
||||||
local receptorrules = mesecon.receptor_get_rules(n)
|
if mesecon.is_receptor_on(n.name) then
|
||||||
for _, rr in pairs(receptorrules) do
|
local receptorrules = mesecon.receptor_get_rules(n)
|
||||||
if rr.spread and vector.equals(mesecon.invertRule(rr), r) then
|
for _, rr in pairs(receptorrules) do
|
||||||
return false
|
if rr.spread and vector.equals(mesecon.invertRule(rr), r) then
|
||||||
|
return false
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
name = mesecons
|
||||||
|
depends = mcl_sounds, mcl_core
|
||||||
|
optional_depends = doc
|
|
@ -1 +0,0 @@
|
||||||
mesecons
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
name = mesecons_alias
|
||||||
|
depends = mesecons
|
|
@ -1,2 +0,0 @@
|
||||||
mesecons
|
|
||||||
doc?
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue