forked from Mineclonia/Mineclonia
Compare commits
No commits in common. "master" and "issue-template" have entirely different histories.
master
...
issue-temp
102
.luacheckrc
102
.luacheckrc
|
@ -1,102 +0,0 @@
|
||||||
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=1`: Music Disc
|
* `music_record`: Music Disc (rating is track ID)
|
||||||
* `tnt=1`: Block is TNT
|
* `tnt=1`: Block is TNT
|
||||||
* `boat=1`: Boat
|
* `boat=1`: Boat
|
||||||
* `minecart=1`: Minecart
|
* `minecart=1`: Minecart
|
||||||
|
|
|
@ -207,10 +207,6 @@ 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
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Adds additional ways for nodes to be attached.
|
|
@ -1,2 +0,0 @@
|
||||||
name = mcl_attached
|
|
||||||
description = Adds additional ways for nodes to be attached.
|
|
|
@ -0,0 +1 @@
|
||||||
|
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,2 +1 @@
|
||||||
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.
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
API for filling a chest with random treasures.
|
|
@ -1,2 +1 @@
|
||||||
name = mcl_loot
|
name = mcl_loot
|
||||||
description = API for filling a chest with random treasures.
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Contains particle images of MineClone 2. No code.
|
|
@ -1,2 +1 @@
|
||||||
name = mcl_particles
|
name = mcl_particles
|
||||||
description = Contains particle images of MineClone 2. No code.
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
This mod contains the core sounds of MineClone 2 as well as helper function for mods to access them.
|
|
@ -1,2 +1 @@
|
||||||
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.
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
mcl_init
|
|
@ -0,0 +1 @@
|
||||||
|
Helper functions for MineClone 2.
|
|
@ -1,3 +1 @@
|
||||||
name = mcl_util
|
name = mcl_util
|
||||||
description = Helper functions for MineClone 2.
|
|
||||||
depends = mcl_init
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
mcl_init
|
|
@ -0,0 +1 @@
|
||||||
|
Utility functions for worlds and the “dimensions”.
|
|
@ -1,3 +0,0 @@
|
||||||
name = mcl_worlds
|
|
||||||
description = Utility functions for worlds and the “dimensions”.
|
|
||||||
depends = mcl_init
|
|
|
@ -0,0 +1 @@
|
||||||
|
mcl_core
|
|
@ -1,2 +0,0 @@
|
||||||
name = drippingwater
|
|
||||||
depends = mcl_core
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
mcl_player
|
||||||
|
mcl_core?
|
||||||
|
doc_identifier?
|
|
@ -0,0 +1 @@
|
||||||
|
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_object(self._passenger, true)
|
detach_player(self._passenger, true)
|
||||||
self._passenger = nil
|
self._passenger = nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,4 +1 @@
|
||||||
name = mcl_boats
|
name = mcl_boats
|
||||||
description = Adds drivable boats.
|
|
||||||
depends = mcl_player
|
|
||||||
optional_depends = mcl_core, doc_identifier
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Falling node entities, Minecraft-style
|
|
@ -1,2 +1 @@
|
||||||
name = mcl_falling_nodes
|
name = mcl_falling_nodes
|
||||||
description = Falling node entities, Minecraft-style
|
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
flowlib
|
||||||
|
mcl_enchanting
|
|
@ -0,0 +1 @@
|
||||||
|
Dropped items will be attracted to the player like a magnet.
|
|
@ -1,3 +1 @@
|
||||||
name = mcl_item_entity
|
name = mcl_item_entity
|
||||||
description = Dropped items will be attracted to the player like a magnet.
|
|
||||||
depends = flowlib, mcl_enchanting
|
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
mcl_explosions
|
||||||
|
mcl_core
|
||||||
|
mcl_sounds
|
||||||
|
mcl_player
|
||||||
|
mcl_achievements
|
||||||
|
mcl_chests
|
||||||
|
mcl_furnaces
|
||||||
|
mesecons_commandblock
|
||||||
|
mcl_hoppers
|
||||||
|
mcl_tnt
|
||||||
|
mesecons
|
||||||
|
doc_identifier?
|
|
@ -0,0 +1 @@
|
||||||
|
Minecarts are vehicles to move players quickly on rails.
|
|
@ -1,4 +1 @@
|
||||||
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
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Adds a mob API for mods to add animals or monsters, etc.
|
|
@ -1,4 +1,3 @@
|
||||||
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.
|
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
mcl_init
|
||||||
|
mcl_particles
|
||||||
|
default?
|
||||||
|
mcl_mobs
|
||||||
|
mcl_tnt?
|
||||||
|
mcl_bows?
|
||||||
|
mcl_throwing?
|
||||||
|
mcl_fishing?
|
||||||
|
bones?
|
||||||
|
mesecons_materials?
|
||||||
|
mobs_mc_gameconfig?
|
||||||
|
doc_items?
|
|
@ -0,0 +1 @@
|
||||||
|
Adds Minecraft-like monsters and animals.
|
|
@ -1,4 +1 @@
|
||||||
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
|
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
mcl_init
|
||||||
|
mcl_core
|
|
@ -1,2 +0,0 @@
|
||||||
name = mobs_mc_gameconfig
|
|
||||||
depends = mcl_init, mcl_core
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
mcl_fire
|
||||||
|
mcl_death_messages?
|
|
@ -0,0 +1 @@
|
||||||
|
A mod that adds thunder and lightning effects.
|
|
@ -1,4 +1 @@
|
||||||
name = lightning
|
name = lightning
|
||||||
description = A mod that adds thunder and lightning effects.
|
|
||||||
depends = mcl_fire
|
|
||||||
optional_depends = mcl_death_messages
|
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
mcl_worlds
|
||||||
|
mcl_death_messages
|
|
@ -0,0 +1 @@
|
||||||
|
Deal damage to entities stuck in the deep void
|
|
@ -1,3 +1 @@
|
||||||
name = mcl_void_damage
|
name = mcl_void_damage
|
||||||
description = Deal damage to entities stuck in the deep void
|
|
||||||
depends = mcl_worlds, mcl_death_messages
|
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
mcl_init
|
||||||
|
mcl_worlds
|
||||||
|
lightning?
|
|
@ -0,0 +1 @@
|
||||||
|
Weather and sky handling: Rain, snow, thunderstorm, End and Nether ambience
|
|
@ -1,4 +1 @@
|
||||||
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
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Provides an extensible in-game help with texts about gameplay basics (such a crafting), items and advanced usage.
|
|
@ -1,2 +0,0 @@
|
||||||
name = doc
|
|
||||||
description = Provides an extensible in-game help with texts about gameplay basics (such a crafting), items and advanced usage.
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
mcl_core
|
||||||
|
mcl_compass
|
||||||
|
mcl_clock
|
||||||
|
doc
|
||||||
|
sfinv?
|
||||||
|
sfinv_buttons?
|
|
@ -0,0 +1,2 @@
|
||||||
|
The most comprehensive Crafting Guide
|
||||||
|
on Minetest.
|
|
@ -1,5 +1 @@
|
||||||
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
|
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
doc
|
||||||
|
doc_items
|
|
@ -0,0 +1 @@
|
||||||
|
This MineClone 2 mod sets up and configures the Help modpack mods to tailor the help towards MineClone 2.
|
|
@ -1,3 +1 @@
|
||||||
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
|
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
tt
|
||||||
|
mcl_enchanting
|
|
@ -1,2 +0,0 @@
|
||||||
name = mcl_tt
|
|
||||||
depends = tt, mcl_enchanting
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
sfinv?
|
||||||
|
unified_inventory?
|
|
@ -0,0 +1 @@
|
||||||
|
Adds achievements to Minetest, and an API to register new ones.
|
|
@ -5,4 +5,3 @@ 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
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
awards
|
|
@ -1,2 +1 @@
|
||||||
name = mcl_achievements
|
name = mcl_achievements
|
||||||
depends = awards
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Provides core textures needed by Minetest.
|
|
@ -1,2 +1 @@
|
||||||
name = mcl_base_textures
|
name = mcl_base_textures
|
||||||
description = Provides core textures needed by Minetest.
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Shows messages in chat when a player dies.
|
|
@ -10,7 +10,6 @@
|
||||||
@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,7 +10,6 @@
|
||||||
@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,2 +1 @@
|
||||||
name = mcl_death_messages
|
name = mcl_death_messages
|
||||||
description = Shows messages in chat when a player dies.
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
mcl_init
|
|
@ -1,2 +1 @@
|
||||||
name = mcl_formspec_prepend
|
name = mcl_formspec_prepend
|
||||||
depends = mcl_init
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Adds a HUD bar displaying the current damage of the player's armor.
|
|
@ -1,3 +1,2 @@
|
||||||
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,9 +28,10 @@ local function replace_enchanted_books(tbl)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
--[[ Populate all the item tables. We only do this once. Note this code must be
|
--[[ Populate all the item tables. We only do this once. Note this mod must be
|
||||||
executed after loading all the other mods in order to work. ]]
|
loaded after _mcl_autogroup for this to work, because it required certain
|
||||||
minetest.register_on_mods_loaded(function()
|
groups to be set. ]]
|
||||||
|
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)
|
||||||
|
@ -108,7 +109,7 @@ minetest.register_on_mods_loaded(function()
|
||||||
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
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
mcl_init
|
||||||
|
mcl_formspec
|
||||||
|
mcl_player?
|
||||||
|
_mcl_autogroup?
|
||||||
|
mcl_armor?
|
||||||
|
mcl_brewing?
|
||||||
|
mcl_potions?
|
||||||
|
mcl_enchanting
|
|
@ -0,0 +1 @@
|
||||||
|
Adds the player inventory and creative inventory.
|
|
@ -1,4 +1 @@
|
||||||
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
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
hudbars?
|
|
@ -0,0 +1 @@
|
||||||
|
Displays the name of the wielded item.
|
|
@ -1,3 +1 @@
|
||||||
name = show_wielded_item
|
name = show_wielded_item
|
||||||
description = Displays the name of the wielded item.
|
|
||||||
optional_depends = hudbars
|
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
mesecons
|
||||||
|
mcl_sounds
|
||||||
|
doc?
|
||||||
|
screwdriver?
|
|
@ -1,3 +1 @@
|
||||||
name = mcl_comparators
|
name = mcl_comparators
|
||||||
depends = mesecons, mcl_sounds
|
|
||||||
optional_depends = doc, screwdriver
|
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
mcl_init
|
||||||
|
mcl_formspec
|
||||||
|
mesecons
|
||||||
|
mcl_sounds
|
||||||
|
mcl_tnt
|
||||||
|
mcl_worlds
|
||||||
|
mcl_core
|
||||||
|
mcl_nether
|
||||||
|
mcl_armor_stand
|
||||||
|
mcl_armor
|
||||||
|
doc?
|
||||||
|
screwdriver?
|
|
@ -129,19 +129,6 @@ 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 ]===]
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
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
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
mcl_init
|
||||||
|
mcl_formspec
|
||||||
|
mesecons
|
||||||
|
mcl_util
|
||||||
|
doc?
|
||||||
|
screwdriver?
|
|
@ -1,3 +0,0 @@
|
||||||
name = mcl_droppers
|
|
||||||
depends = mcl_init, mcl_formspec, mesecons, mcl_util
|
|
||||||
optional_depends = doc, screwdriver
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
mesecons
|
||||||
|
mcl_util
|
|
@ -1,2 +0,0 @@
|
||||||
name = mcl_observers
|
|
||||||
depends = mesecons, mcl_util
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
mcl_sounds
|
||||||
|
mcl_core
|
||||||
|
doc?
|
|
@ -483,13 +483,11 @@ 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 not (mesecon.get_node_force(np) == nil) then
|
if mesecon.is_receptor_on(n.name) then
|
||||||
if mesecon.is_receptor_on(n.name) then
|
local receptorrules = mesecon.receptor_get_rules(n)
|
||||||
local receptorrules = mesecon.receptor_get_rules(n)
|
for _, rr in pairs(receptorrules) do
|
||||||
for _, rr in pairs(receptorrules) do
|
if rr.spread and vector.equals(mesecon.invertRule(rr), r) then
|
||||||
if rr.spread and vector.equals(mesecon.invertRule(rr), r) then
|
return false
|
||||||
return false
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
name = mesecons
|
|
||||||
depends = mcl_sounds, mcl_core
|
|
||||||
optional_depends = doc
|
|
|
@ -0,0 +1 @@
|
||||||
|
mesecons
|
|
@ -1,2 +0,0 @@
|
||||||
name = mesecons_alias
|
|
||||||
depends = mesecons
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
mesecons
|
||||||
|
doc?
|
|
@ -1,3 +0,0 @@
|
||||||
name = mesecons_button
|
|
||||||
depends = mesecons
|
|
||||||
optional_depends = doc
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
mesecons
|
||||||
|
doc?
|
||||||
|
doc_items?
|
|
@ -1,3 +0,0 @@
|
||||||
name = mesecons_commandblock
|
|
||||||
depends = mesecons
|
|
||||||
optional_depends = doc, doc_items
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
mesecons
|
||||||
|
doc?
|
||||||
|
screwdriver?
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue