Minor fixes
parent
b89936fef9
commit
4dfc3bac29
|
@ -656,3 +656,8 @@ function core.pointed_thing_to_face_pos(placer, pointed_thing)
|
|||
end
|
||||
return fine_pos
|
||||
end
|
||||
|
||||
-- Allow mods to define a platform.
|
||||
function core.get_platform()
|
||||
return PLATFORM
|
||||
end
|
||||
|
|
|
@ -501,27 +501,26 @@ end
|
|||
function core.item_eat(hp_change, replace_with_item)
|
||||
return function(itemstack, user, pointed_thing) -- closure
|
||||
if user then
|
||||
local pos = user:getpos()
|
||||
pos.y = pos.y + 1.5
|
||||
local itemname = itemstack:get_name()
|
||||
local texture = minetest.registered_items[itemname].inventory_image
|
||||
minetest.add_item(pos, drop)
|
||||
minetest.add_particlespawner({
|
||||
amount = 10,
|
||||
time = 0.1,
|
||||
minpos = {x = pos.x, y = pos.y, z = pos.z},
|
||||
maxpos = {x = pos.x, y = pos.y, z = pos.z},
|
||||
minvel = {x = -1, y = 1, z = -1},
|
||||
maxvel = {x = 1, y = 2, z = 1},
|
||||
minacc = {x = 0, y = -5, z = 0},
|
||||
maxacc = {x = 0, y = -9, z = 0},
|
||||
minexptime = 1,
|
||||
maxexptime = 1,
|
||||
minsize = 1,
|
||||
maxsize = 2,
|
||||
collisiondetection = true,
|
||||
vertical = false,
|
||||
texture = texture,
|
||||
local pos = user:getpos()
|
||||
pos.y = pos.y + 1.5
|
||||
local itemname = itemstack:get_name()
|
||||
local texture = minetest.registered_items[itemname].inventory_image
|
||||
minetest.add_particlespawner({
|
||||
amount = 20,
|
||||
time = 0.1,
|
||||
minpos = {x = pos.x, y = pos.y, z = pos.z},
|
||||
maxpos = {x = pos.x, y = pos.y, z = pos.z},
|
||||
minvel = {x = -1, y = 1, z = -1},
|
||||
maxvel = {x = 1, y = 2, z = 1},
|
||||
minacc = {x = 0, y = -5, z = 0},
|
||||
maxacc = {x = 0, y = -9, z = 0},
|
||||
minexptime = 1,
|
||||
maxexptime = 1,
|
||||
minsize = 1,
|
||||
maxsize = 1,
|
||||
collisiondetection = true,
|
||||
vertical = false,
|
||||
texture = texture,
|
||||
})
|
||||
return core.do_item_eat(hp_change, replace_with_item, itemstack, user, pointed_thing)
|
||||
end
|
||||
|
|
|
@ -89,6 +89,7 @@ function mesecon:rule2meta(findrule, allrules)
|
|||
end
|
||||
end
|
||||
|
||||
local convert_base
|
||||
if convert_base then
|
||||
print(
|
||||
"base2dec is tonumber(num,base1)\n"..
|
||||
|
|
|
@ -56,6 +56,7 @@ end
|
|||
|
||||
local piston_remove_pusher = function (pos, node)
|
||||
local pistonspec = minetest.registered_nodes[node.name].mesecons_piston
|
||||
local pushername
|
||||
if pushername == pistonspec.pusher then --make sure there actually is a pusher (for compatibility reasons mainly)
|
||||
return
|
||||
end
|
||||
|
|
|
@ -60,8 +60,7 @@ local boat = {
|
|||
collisionbox = {-0.5, -0.4, -0.5, 0.5, 0.3, 0.5},
|
||||
visual = "mesh",
|
||||
mesh = "rowboat.x",
|
||||
textures = {"default_wood.png"},
|
||||
|
||||
textures = {"default_acacia_wood.png"},
|
||||
driver = nil,
|
||||
v = 0,
|
||||
last_v = 0,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
MultiCraft game mod: bucket
|
||||
MultiCraft Game mod: bucket
|
||||
=========================
|
||||
|
||||
License of source code:
|
||||
|
|
|
@ -1511,24 +1511,24 @@ minetest.register_node("default:sponge", {
|
|||
on_water = true
|
||||
end
|
||||
for i=-1,1 do
|
||||
p = {x=pos.x+i, y=pos.y, z=pos.z}
|
||||
n = minetest.get_node(p)
|
||||
local p = {x=pos.x+i, y=pos.y, z=pos.z}
|
||||
local n = minetest.get_node(p)
|
||||
-- On verifie si il y a de l'eau
|
||||
if (n.name=="default:water_flowing") or (n.name == "default:water_source") then
|
||||
on_water = true
|
||||
end
|
||||
end
|
||||
for i=-1,1 do
|
||||
p = {x=pos.x, y=pos.y+i, z=pos.z}
|
||||
n = minetest.get_node(p)
|
||||
local p = {x=pos.x, y=pos.y+i, z=pos.z}
|
||||
local n = minetest.get_node(p)
|
||||
-- On verifie si il y a de l'eau
|
||||
if (n.name=="default:water_flowing") or (n.name == "default:water_source") then
|
||||
on_water = true
|
||||
end
|
||||
end
|
||||
for i=-1,1 do
|
||||
p = {x=pos.x, y=pos.y, z=pos.z+i}
|
||||
n = minetest.get_node(p)
|
||||
local p = {x=pos.x, y=pos.y, z=pos.z+i}
|
||||
local n = minetest.get_node(p)
|
||||
-- On verifie si il y a de l'eau
|
||||
if (n.name=="default:water_flowing") or (n.name == "default:water_source") then
|
||||
on_water = true
|
||||
|
@ -1549,8 +1549,8 @@ minetest.register_node("default:sponge", {
|
|||
end
|
||||
end
|
||||
end
|
||||
p = {x=pos.x, y=pos.y, z=pos.z}
|
||||
n = minetest.get_node(p)
|
||||
local p = {x=pos.x, y=pos.y, z=pos.z}
|
||||
local n = minetest.get_node(p)
|
||||
if change == true then
|
||||
minetest.set_node(pointed_thing.above, {name = "default:sponge_wet"})
|
||||
else
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 403 B |
|
@ -1,10 +1,21 @@
|
|||
MultiCraft Drops mod.
|
||||
by PilzAdam
|
||||
modified by Jordan4ibanez
|
||||
MultiCraft Game mod: Drops
|
||||
=========================
|
||||
|
||||
Introduction:
|
||||
This mod adds drop/pick up of items.
|
||||
This mod adds drop/pick up of items.
|
||||
|
||||
License:
|
||||
Sourcecode: WTFP
|
||||
Sound: WTFPL
|
||||
License of source code:
|
||||
-----------------------
|
||||
Copyright (C) PilzAdam
|
||||
Copyright (C) Jordan4ibanez
|
||||
Copyright (C) 2019 Stuart Jones (stujones11) <stujones111@gmail.com>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation; either version 3.0 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
http://www.gnu.org/licenses/lgpl-3.0.html
|
||||
|
||||
License of media (sounds):
|
||||
WTFPL
|
||||
|
|
|
@ -1 +1,13 @@
|
|||
This Mod Is by Zeg9
|
||||
MultiCraft Game mod: itemframes
|
||||
=========================
|
||||
This Mod Is by Zeg9
|
||||
|
||||
Based on VanessaE fork:
|
||||
https://gitlab.com/VanessaE/homedecor_modpack/tree/master/itemframes
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation; either version 3.0 of the License.
|
||||
|
||||
License of source code:
|
||||
http://www.gnu.org/licenses/lgpl-3.0.html
|
|
@ -1,10 +1,9 @@
|
|||
|
||||
local tmp = {}
|
||||
|
||||
minetest.register_entity("itemframes:item",{
|
||||
hp_max = 1,
|
||||
visual="wielditem",
|
||||
visual_size={x=.33,y=.33},
|
||||
visual_size={x = 0.33, y = 0.33},
|
||||
collisionbox = {0,0,0,0,0,0},
|
||||
physical=false,
|
||||
textures={"air"},
|
||||
|
@ -26,6 +25,25 @@ minetest.register_entity("itemframes:item",{
|
|||
if self.texture ~= nil then
|
||||
self.object:set_properties({textures={self.texture}})
|
||||
end
|
||||
if self.texture ~= nil and self.nodename ~= nil then
|
||||
local entity_pos = vector.round(self.object:get_pos())
|
||||
local objs = minetest.get_objects_inside_radius(entity_pos, 0.5)
|
||||
for _, obj in ipairs(objs) do
|
||||
if obj ~= self.object and
|
||||
obj:get_luaentity() and
|
||||
obj:get_luaentity().name == "itemframes:item" and
|
||||
obj:get_luaentity().nodename == self.nodename and
|
||||
obj:get_properties() and
|
||||
obj:get_properties().textures and
|
||||
obj:get_properties().textures[1] == self.texture then
|
||||
minetest.log("action","[itemframes] Removing extra " ..
|
||||
self.texture .. " found in " .. self.nodename .. " at " ..
|
||||
minetest.pos_to_string(entity_pos))
|
||||
self.object:remove()
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
end,
|
||||
get_staticdata = function(self)
|
||||
if self.nodename ~= nil and self.texture ~= nil then
|
||||
|
@ -35,8 +53,8 @@ minetest.register_entity("itemframes:item",{
|
|||
end,
|
||||
})
|
||||
|
||||
|
||||
local facedir = {}
|
||||
|
||||
facedir[0] = {x=0,y=0,z=1}
|
||||
facedir[1] = {x=1,y=0,z=0}
|
||||
facedir[2] = {x=0,y=0,z=-1}
|
||||
|
@ -62,6 +80,7 @@ local update_item = function(pos, node)
|
|||
if meta:get_string("item") ~= "" then
|
||||
if node.name == "itemframes:frame" then
|
||||
local posad = facedir[node.param2]
|
||||
if not posad then return end
|
||||
pos.x = pos.x + posad.x*6.5/16
|
||||
pos.y = pos.y + posad.y*6.5/16
|
||||
pos.z = pos.z + posad.z*6.5/16
|
||||
|
@ -90,9 +109,14 @@ end
|
|||
minetest.register_node("itemframes:frame",{
|
||||
description = "Item frame",
|
||||
drawtype = "nodebox",
|
||||
node_box = { type = "fixed", fixed = {-0.5, -0.5, 7/16, 0.5, 0.5, 0.5} },
|
||||
selection_box = { type = "fixed", fixed = {-0.5, -0.5, 7/16, 0.5, 0.5, 0.5} },
|
||||
inventory_image = "itemframes_frame.png",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.5, -0.5, 7/16, 0.5, 0.5, 0.5}
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.5, -0.5, 7/16, 0.5, 0.5, 0.5}
|
||||
},
|
||||
tiles = {"itemframe_background.png"},
|
||||
inventory_image = "itemframes_frame.png",
|
||||
wield_image = "itemframes_frame.png",
|
||||
|
@ -101,7 +125,7 @@ minetest.register_node("itemframes:frame",{
|
|||
sunlight_propagates = true,
|
||||
groups = {choppy = 2, dig_immediate = 2},
|
||||
legacy_wallmounted = true,
|
||||
sounds = default.node_sound_defaults(),
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
after_place_node = function(pos, placer, itemstack)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("owner",placer:get_player_name())
|
||||
|
@ -110,7 +134,9 @@ minetest.register_node("itemframes:frame",{
|
|||
on_rightclick = function(pos, node, clicker, itemstack)
|
||||
if not itemstack then return end
|
||||
local meta = minetest.get_meta(pos)
|
||||
if clicker:get_player_name() == meta:get_string("owner") then
|
||||
local name = clicker and clicker:get_player_name()
|
||||
if name == meta:get_string("owner") or
|
||||
minetest.check_player_privs(name, "protection_bypass") then
|
||||
drop_item(pos,node)
|
||||
local s = itemstack:take_item()
|
||||
meta:set_string("item",s:to_string())
|
||||
|
@ -120,22 +146,35 @@ minetest.register_node("itemframes:frame",{
|
|||
end,
|
||||
on_punch = function(pos,node,puncher)
|
||||
local meta = minetest.get_meta(pos)
|
||||
if puncher:get_player_name() == meta:get_string("owner") then
|
||||
local name = puncher and puncher:get_player_name()
|
||||
if name == meta:get_string("owner") or
|
||||
minetest.check_player_privs(name, "protection_bypass") then
|
||||
drop_item(pos, node)
|
||||
end
|
||||
end,
|
||||
can_dig = function(pos,player)
|
||||
|
||||
if not player then return end
|
||||
local name = player and player:get_player_name()
|
||||
local meta = minetest.get_meta(pos)
|
||||
return player:get_player_name() == meta:get_string("owner")
|
||||
return name == meta:get_string("owner") or
|
||||
minetest.check_player_privs(name, "protection_bypass")
|
||||
end,
|
||||
on_destruct = function(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local node = minetest.get_node(pos)
|
||||
if meta:get_string("item") ~= "" then
|
||||
drop_item(pos, node)
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
-- crafts
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'itemframes:frame',
|
||||
recipe = {
|
||||
{'default:stick', 'default:stick', 'default:stick'},
|
||||
{'default:stick', 'default:paper', 'default:stick'},
|
||||
{'default:stick', 'default:stick', 'default:stick'},
|
||||
{'group:stick', 'group:stick', 'group:stick'},
|
||||
{'group:stick', 'default:paper', 'group:stick'},
|
||||
{'group:stick', 'group:stick', 'group:stick'},
|
||||
}
|
||||
})
|
||||
|
|
|
@ -100,6 +100,7 @@ potions.register_potion("Regen", "purple", 35,
|
|||
function(itemstack, user, pointed_thing)
|
||||
local regen_I = true
|
||||
minetest.chat_send_player(user:get_player_name(), "Regeneration I for 35 seconds")
|
||||
local regen_II
|
||||
if regen_II == true then
|
||||
local regen
|
||||
regen = function ( )
|
||||
|
|
|
@ -457,7 +457,7 @@ stairs.register_all("mossycobble", "default:mossycobble",
|
|||
"Mossy Cobble",
|
||||
stairs.stone)
|
||||
|
||||
minetest.register_alias("stairs:mossy_cobble", "stairs:mossycobble")
|
||||
minetest.register_alias("stairs:mossy_cobble", "stairs:stair_mossycobble")
|
||||
|
||||
-- Sandstone types
|
||||
|
||||
|
@ -489,17 +489,19 @@ stairs.register_all("steelblock", "default:steelblock",
|
|||
"Steel",
|
||||
stairs.metal)
|
||||
|
||||
|
||||
minetest.register_alias("stairs:steel", "stairs:steelblock")
|
||||
minetest.register_alias("stairs:stair_steel", "stairs:stair_steelblock")
|
||||
minetest.register_alias("stairs:slab_steel", "stairs:stair_steelblock")
|
||||
minetest.register_alias("stairs:corner_steel", "stairs:stair_steelblock")
|
||||
|
||||
stairs.register_all("goldblock", "default:goldblock",
|
||||
{cracky = 1},
|
||||
{"default_gold_block.png"},
|
||||
"Gold",
|
||||
stairs.metal)
|
||||
|
||||
minetest.register_alias("stairs:gold", "stairs:goldblock")
|
||||
minetest.register_alias("stairs:corner_gold", "stairs:goldblock")
|
||||
|
||||
minetest.register_alias("stairs:stair_gold", "stairs:stair_goldblock")
|
||||
minetest.register_alias("stairs:corner_gold", "stairs:stair_goldblock")
|
||||
minetest.register_alias("stairs:stair_gold", "stairs:stair_goldblock")
|
||||
|
||||
stairs.register_all("diamondblock", "default:diamondblock",
|
||||
{cracky = 1, level=3},
|
||||
|
@ -507,7 +509,9 @@ stairs.register_all("diamondblock", "default:diamondblock",
|
|||
"Diamond",
|
||||
stairs.stone)
|
||||
|
||||
minetest.register_alias("stairs:diamond", "stairs:diamondblock")
|
||||
minetest.register_alias("stairs:stair_diamond", "stairs:stair_diamondblock")
|
||||
minetest.register_alias("stairs:slab_diamond", "stairs:slab_diamondblock")
|
||||
minetest.register_alias("stairs:corner_diamond", "stairs:corner_diamondblock")
|
||||
|
||||
-- Glass types
|
||||
|
||||
|
|
|
@ -3,314 +3,315 @@ local function rshift(x, by)
|
|||
end
|
||||
|
||||
local directions = {
|
||||
{x = 1, y = 0, z = 0},
|
||||
{x = 0, y = 0, z = 1},
|
||||
{x = -1, y = 0, z = 0},
|
||||
{x = 0, y = 0, z = -1},
|
||||
{x = 0, y = -1, z = 0},
|
||||
{x = 1, y = 0, z = 0},
|
||||
{x = 0, y = 0, z = 1},
|
||||
{x = -1, y = 0, z = 0},
|
||||
{x = 0, y = 0, z = -1},
|
||||
{x = 0, y = -1, z = 0},
|
||||
}
|
||||
|
||||
function update_wall(pos)
|
||||
local typewall = 0
|
||||
local typewall = 0
|
||||
|
||||
if minetest.get_node(pos).name:find("wallet:wall") == 1 then
|
||||
typewall = typewall + 1
|
||||
end
|
||||
if minetest.get_node(pos).name:find("wallet:wallmossy") == 1 then
|
||||
typewall = typewall + 1
|
||||
end
|
||||
if minetest.get_node(pos).name:find("wallet:wall") == 1 then
|
||||
typewall = typewall + 1
|
||||
end
|
||||
if minetest.get_node(pos).name:find("wallet:wallmossy") == 1 then
|
||||
typewall = typewall + 1
|
||||
end
|
||||
|
||||
if typewall == 0 then
|
||||
return
|
||||
end
|
||||
if typewall == 0 then
|
||||
return
|
||||
end
|
||||
|
||||
local sum = 0
|
||||
for i = 1, 4 do
|
||||
local node = minetest.get_node({x = pos.x + directions[i].x, y = pos.y + directions[i].y, z = pos.z + directions[i].z})
|
||||
if minetest.registered_nodes[node.name].walkable then
|
||||
sum = sum + 2 ^ (i - 1)
|
||||
end
|
||||
end
|
||||
local sum = 0
|
||||
for i = 1, 4 do
|
||||
local node = minetest.get_node({x = pos.x + directions[i].x, y = pos.y + directions[i].y, z = pos.z + directions[i].z})
|
||||
if minetest.registered_nodes[node.name].walkable then
|
||||
sum = sum + 2 ^ (i - 1)
|
||||
end
|
||||
end
|
||||
|
||||
local node = minetest.get_node({x = pos.x, y = pos.y+1, z = pos.z})
|
||||
if sum == 5 or sum == 10 then
|
||||
if minetest.registered_nodes[node.name].walkable or node.name == "torches:floor" then
|
||||
sum = sum + 11
|
||||
end
|
||||
end
|
||||
local node = minetest.get_node({x = pos.x, y = pos.y+1, z = pos.z})
|
||||
if sum == 5 or sum == 10 then
|
||||
if minetest.registered_nodes[node.name].walkable or node.name == "torches:floor" then
|
||||
sum = sum + 11
|
||||
end
|
||||
end
|
||||
|
||||
if sum == 0 then
|
||||
sum = 15
|
||||
end
|
||||
if sum == 0 then
|
||||
sum = 15
|
||||
end
|
||||
|
||||
if typewall == 1 then
|
||||
minetest.add_node(pos, {name = "wallet:wall_"..sum})
|
||||
else
|
||||
minetest.add_node(pos, {name = "wallet:wallmossy_"..sum})
|
||||
end
|
||||
if typewall == 1 then
|
||||
minetest.add_node(pos, {name = "wallet:wall_"..sum})
|
||||
else
|
||||
minetest.add_node(pos, {name = "wallet:wallmossy_"..sum})
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
function update_wall_global(pos)
|
||||
for i = 1,5 do
|
||||
update_wall({x = pos.x + directions[i].x, y = pos.y + directions[i].y, z = pos.z + directions[i].z})
|
||||
end
|
||||
for i = 1,5 do
|
||||
update_wall({x = pos.x + directions[i].x, y = pos.y + directions[i].y, z = pos.z + directions[i].z})
|
||||
end
|
||||
end
|
||||
|
||||
local half_blocks = {
|
||||
{4/16, -0.5, -3/16, 0.5, 5/16, 3/16},
|
||||
{-3/16, -0.5, 4/16, 3/16, 5/16, 0.5},
|
||||
{-0.5, -0.5, -3/16, -4/16, 5/16, 3/16},
|
||||
{-3/16, -0.5, -0.5, 3/16, 5/16, -4/16}
|
||||
{4/16, -0.5, -3/16, 0.5, 5/16, 3/16},
|
||||
{-3/16, -0.5, 4/16, 3/16, 5/16, 0.5},
|
||||
{-0.5, -0.5, -3/16, -4/16, 5/16, 3/16},
|
||||
{-3/16, -0.5, -0.5, 3/16, 5/16, -4/16}
|
||||
}
|
||||
|
||||
local pillar = {-4/16, -0.5, -4/16, 4/16, 0.5, 4/16}
|
||||
|
||||
local full_blocks = {
|
||||
{-0.5, -0.5, -3/16, 0.5, 5/16, 3/16},
|
||||
{-3/16, -0.5, -0.5, 3/16, 5/16, 0.5}
|
||||
{-0.5, -0.5, -3/16, 0.5, 5/16, 3/16},
|
||||
{-3/16, -0.5, -0.5, 3/16, 5/16, 0.5}
|
||||
}
|
||||
|
||||
local collision = {
|
||||
{-4/16, -1, -4/16, 4/16, 1, 4/16}
|
||||
}
|
||||
|
||||
for i = 0, 15 do
|
||||
local need = {}
|
||||
local need_pillar = false
|
||||
for j = 1, 4 do
|
||||
if rshift(i, j - 1) % 2 == 1 then
|
||||
need[j] = true
|
||||
end
|
||||
end
|
||||
local need = {}
|
||||
local need_pillar = false
|
||||
for j = 1, 4 do
|
||||
if rshift(i, j - 1) % 2 == 1 then
|
||||
need[j] = true
|
||||
end
|
||||
end
|
||||
|
||||
local take = {}
|
||||
if need[1] == true and need[3] == true then
|
||||
need[1] = nil
|
||||
need[3] = nil
|
||||
table.insert(take, full_blocks[1])
|
||||
end
|
||||
if need[2] == true and need[4] == true then
|
||||
need[2] = nil
|
||||
need[4] = nil
|
||||
table.insert(take, full_blocks[2])
|
||||
end
|
||||
for k in pairs(need) do
|
||||
table.insert(take, half_blocks[k])
|
||||
need_pillar = true
|
||||
end
|
||||
if i == 15 or i == 0 then need_pillar = true end
|
||||
if need_pillar then table.insert(take, pillar) end
|
||||
local take = {}
|
||||
if need[1] == true and need[3] == true then
|
||||
need[1] = nil
|
||||
need[3] = nil
|
||||
table.insert(take, full_blocks[1])
|
||||
end
|
||||
if need[2] == true and need[4] == true then
|
||||
need[2] = nil
|
||||
need[4] = nil
|
||||
table.insert(take, full_blocks[2])
|
||||
end
|
||||
for k in pairs(need) do
|
||||
table.insert(take, half_blocks[k])
|
||||
need_pillar = true
|
||||
end
|
||||
if i == 15 or i == 0 then need_pillar = true end
|
||||
if need_pillar then table.insert(take, pillar) end
|
||||
|
||||
minetest.register_node("wallet:wall_"..i, {
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-4/16, -1, -4/16, 4/16, 1, 4/16}
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
tiles = {"default_cobble.png"},
|
||||
paramtype = "light",
|
||||
groups = {snappy = 2, cracky=3, oddly_breakable_by_hand = 3,fences=1},
|
||||
drop = "wallet:wall",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = take
|
||||
},
|
||||
})
|
||||
minetest.register_node("wallet:wall_"..i, {
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = collision
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
tiles = {"default_cobble.png"},
|
||||
paramtype = "light",
|
||||
groups = {cracky = 3, wall = 1, stone = 2},
|
||||
drop = "wallet:wall",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = take
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
minetest.register_node("wallet:wall_0", {
|
||||
drawtype = "nodebox",
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-4/16, -1, -4/16, 4/16, 1, 4/16}
|
||||
},
|
||||
tiles = {"default_cobble.png"},
|
||||
paramtype = "light",
|
||||
groups = {snappy = 2, cracky=3, oddly_breakable_by_hand = 3,fences=1},
|
||||
drop = "wallet:wall",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = pillar
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = collision
|
||||
},
|
||||
tiles = {"default_cobble.png"},
|
||||
paramtype = "light",
|
||||
groups = {cracky = 3, wall = 1, stone = 2},
|
||||
drop = "wallet:wall",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = pillar
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_node("wallet:wall_16", {
|
||||
drawtype = "nodebox",
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-4/16, -1, -4/16, 4/16, 1, 4/16}
|
||||
},
|
||||
tiles = {"default_cobble.png"},
|
||||
paramtype = "light",
|
||||
groups = {snappy = 2, cracky=3, oddly_breakable_by_hand = 3,fences=1},
|
||||
drop = "wallet:wall",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {pillar, full_blocks[1]}
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = collision
|
||||
},
|
||||
tiles = {"default_cobble.png"},
|
||||
paramtype = "light",
|
||||
groups = {cracky = 3, wall = 1, stone = 2},
|
||||
drop = "wallet:wall",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {pillar, full_blocks[1]}
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_node("wallet:wall_21", {
|
||||
drawtype = "nodebox",
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-4/16, -1, -4/16, 4/16, 1, 4/16}
|
||||
},
|
||||
tiles = {"default_cobble.png"},
|
||||
paramtype = "light",
|
||||
groups = {snappy = 2, cracky=3, oddly_breakable_by_hand = 3,fences=1},
|
||||
drop = "wallet:wall",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {pillar, full_blocks[2]}
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = collision
|
||||
},
|
||||
tiles = {"default_cobble.png"},
|
||||
paramtype = "light",
|
||||
groups = {cracky = 3, wall = 1, stone = 2},
|
||||
drop = "wallet:wall",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {pillar, full_blocks[2]}
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_node("wallet:wall", {
|
||||
description = "Cobblestone Wall",
|
||||
paramtype = "light",
|
||||
tiles = {"default_cobble.png"},
|
||||
inventory_image = "cobblestone_wallet.png",
|
||||
groups = {building =1},
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = pillar
|
||||
},
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-4/16, -1, -4/16, 4/16, 1, 4/16}
|
||||
},
|
||||
collisionbox = {-0.2, 0, -0.2, 0.2, 1.4, 0.2},
|
||||
on_construct = update_wall
|
||||
description = "Cobblestone Wall",
|
||||
paramtype = "light",
|
||||
tiles = {"default_cobble.png"},
|
||||
inventory_image = "cobblestone_wallet.png",
|
||||
groups = {cracky = 3, wall = 1, stone = 2},
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = pillar
|
||||
},
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = collision
|
||||
},
|
||||
on_construct = update_wall
|
||||
})
|
||||
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'wallet:wall 6',
|
||||
recipe = {
|
||||
{'default:cobble', 'default:cobble', 'default:cobble'},
|
||||
{'default:cobble', 'default:cobble', 'default:cobble'}
|
||||
}
|
||||
output = 'wallet:wall 6',
|
||||
recipe = {
|
||||
{'default:cobble', 'default:cobble', 'default:cobble'},
|
||||
{'default:cobble', 'default:cobble', 'default:cobble'}
|
||||
}
|
||||
})
|
||||
|
||||
-- Mossy wallet
|
||||
|
||||
for i = 0, 15 do
|
||||
local need = {}
|
||||
local need_pillar = false
|
||||
for j = 1, 4 do
|
||||
if rshift(i, j - 1) % 2 == 1 then
|
||||
need[j] = true
|
||||
end
|
||||
end
|
||||
local need = {}
|
||||
local need_pillar = false
|
||||
for j = 1, 4 do
|
||||
if rshift(i, j - 1) % 2 == 1 then
|
||||
need[j] = true
|
||||
end
|
||||
end
|
||||
|
||||
local take = {}
|
||||
if need[1] == true and need[3] == true then
|
||||
need[1] = nil
|
||||
need[3] = nil
|
||||
table.insert(take, full_blocks[1])
|
||||
end
|
||||
if need[2] == true and need[4] == true then
|
||||
need[2] = nil
|
||||
need[4] = nil
|
||||
table.insert(take, full_blocks[2])
|
||||
end
|
||||
for k in pairs(need) do
|
||||
table.insert(take, half_blocks[k])
|
||||
need_pillar = true
|
||||
end
|
||||
if i == 15 or i == 0 then need_pillar = true end
|
||||
if need_pillar then table.insert(take, pillar) end
|
||||
local take = {}
|
||||
if need[1] == true and need[3] == true then
|
||||
need[1] = nil
|
||||
need[3] = nil
|
||||
table.insert(take, full_blocks[1])
|
||||
end
|
||||
if need[2] == true and need[4] == true then
|
||||
need[2] = nil
|
||||
need[4] = nil
|
||||
table.insert(take, full_blocks[2])
|
||||
end
|
||||
for k in pairs(need) do
|
||||
table.insert(take, half_blocks[k])
|
||||
need_pillar = true
|
||||
end
|
||||
if i == 15 or i == 0 then need_pillar = true end
|
||||
if need_pillar then table.insert(take, pillar) end
|
||||
|
||||
minetest.register_node("wallet:wallmossy_"..i, {
|
||||
drawtype = "nodebox",
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-4/16, -1, -4/16, 4/16, 1, 4/16}
|
||||
},
|
||||
tiles = {"default_mossycobble.png"},
|
||||
paramtype = "light",
|
||||
groups = {snappy = 2, cracky=3, oddly_breakable_by_hand = 3,fences=1},
|
||||
drop = "wallet:wallmossy",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = take
|
||||
},
|
||||
})
|
||||
minetest.register_node("wallet:wallmossy_"..i, {
|
||||
drawtype = "nodebox",
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = collision
|
||||
},
|
||||
tiles = {"default_mossycobble.png"},
|
||||
paramtype = "light",
|
||||
groups = {cracky = 3, wall = 1, stone = 2},
|
||||
drop = "wallet:wallmossy",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = take
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
minetest.register_node("wallet:wallmossy_0", {
|
||||
drawtype = "nodebox",
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-4/16, -1, -4/16, 4/16, 1, 4/16}
|
||||
},
|
||||
tiles = {"default_mossycobble.png"},
|
||||
paramtype = "light",
|
||||
groups = {snappy = 2, cracky=3, oddly_breakable_by_hand = 3,fences=1},
|
||||
drop = "wallet:wallmossy",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = pillar
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = collision
|
||||
},
|
||||
tiles = {"default_mossycobble.png"},
|
||||
paramtype = "light",
|
||||
groups = {cracky = 3, wall = 1, stone = 2},
|
||||
drop = "wallet:wallmossy",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = pillar
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_node("wallet:wallmossy_16", {
|
||||
drawtype = "nodebox",
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-4/16, -1, -4/16, 4/16, 1, 4/16}
|
||||
},
|
||||
tiles = {"default_mossycobble.png"},
|
||||
paramtype = "light",
|
||||
groups = {snappy = 2, cracky=3, oddly_breakable_by_hand = 3,fences=1},
|
||||
drop = "wallet:wallmossy",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {pillar, full_blocks[1]}
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = collision
|
||||
},
|
||||
tiles = {"default_mossycobble.png"},
|
||||
paramtype = "light",
|
||||
groups = {cracky = 3, wall = 1, stone = 2},
|
||||
drop = "wallet:wallmossy",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {pillar, full_blocks[1]}
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_node("wallet:wallmossy_21", {
|
||||
drawtype = "nodebox",
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-4/16, -1, -4/16, 4/16, 1, 4/16}
|
||||
},
|
||||
tiles = {"default_mossycobble.png"},
|
||||
paramtype = "light",
|
||||
groups = {snappy = 2, cracky=3, oddly_breakable_by_hand = 3,fences=1},
|
||||
drop = "wallet:wallmossy",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {pillar, full_blocks[2]}
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = collision
|
||||
},
|
||||
tiles = {"default_mossycobble.png"},
|
||||
paramtype = "light",
|
||||
groups = {cracky = 3, wall = 1, stone = 2},
|
||||
drop = "wallet:wallmossy",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {pillar, full_blocks[2]}
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_node("wallet:wallmossy", {
|
||||
description = "Mossy Cobblestone Wall",
|
||||
paramtype = "light",
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-4/16, -1, -4/16, 4/16, 1, 4/16}
|
||||
},
|
||||
tiles = {"default_mossycobble.png"},
|
||||
inventory_image = "cobblestonemossy_wallet.png",
|
||||
groups = {building = 1},
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = pillar
|
||||
},
|
||||
collisionbox = {-0.2, 0, -0.2, 0.2, 1.4, 0.2},
|
||||
on_construct = update_wall
|
||||
description = "Mossy Cobblestone Wall",
|
||||
paramtype = "light",
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = collision
|
||||
},
|
||||
tiles = {"default_mossycobble.png"},
|
||||
inventory_image = "cobblestonemossy_wallet.png",
|
||||
groups = {cracky = 3, wall = 1, stone = 2},
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = pillar
|
||||
},
|
||||
on_construct = update_wall
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = 'wallet:wallmossy 6',
|
||||
recipe = {
|
||||
{'default:mossycobble', 'default:mossycobble', 'default:mossycobble'},
|
||||
{'default:mossycobble', 'default:mossycobble', 'default:mossycobble'}
|
||||
}
|
||||
output = 'wallet:wallmossy 6',
|
||||
recipe = {
|
||||
{'default:mossycobble', 'default:mossycobble', 'default:mossycobble'},
|
||||
{'default:mossycobble', 'default:mossycobble', 'default:mossycobble'}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
minetest.register_on_placenode(update_wall_global)
|
||||
minetest.register_on_dignode(update_wall_global)
|
||||
minetest.register_on_dignode(update_wall_global)
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 2015-2017 kilbith <jeanpatrick.guerrero@gmail.com> |
|
||||
| |
|
||||
| Code: LGPL version 3.0 |
|
||||
| Textures: WTFPL (credits: Gambit) |
|
||||
+----------------------------------------------------------------------+
|
||||
+-----------------------------------------------------------------------+
|
||||
| Copyright (c) 2015-2017 kilbith <jeanpatrick.guerrero@gmail.com> |
|
||||
| |
|
||||
| Code: LGPL version 3.0 |
|
||||
| Textures: WTFPL (credits: Gambit) |
|
||||
+-----------------------------------------------------------------------+
|
||||
|
||||
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
default
|
|
@ -1,5 +1,3 @@
|
|||
|
||||
|
||||
-- xPanes mod by xyz custom by davedevils
|
||||
function pane(node, desc, dropitem, recipeitem, color)
|
||||
local function rshift(x, by)
|
||||
|
@ -82,7 +80,7 @@ function pane(node, desc, dropitem, recipeitem, color)
|
|||
use_texture_alpha = true,
|
||||
groups = {snappy = 2, crack = 3, oddly_breakable_by_hand = 3},
|
||||
drop = dropitem,
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = take
|
||||
|
@ -105,8 +103,7 @@ function pane(node, desc, dropitem, recipeitem, color)
|
|||
on_construct = update_pane,
|
||||
groups = {snappy = 2, crack = 3, oddly_breakable_by_hand = 3},
|
||||
drop = "",
|
||||
sounds = default.node_sound_glass_defaults()
|
||||
|
||||
sounds = default.node_sound_glass_defaults()
|
||||
})
|
||||
|
||||
minetest.register_on_placenode(update_nearby)
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 95 B |
Binary file not shown.
Before Width: | Height: | Size: 204 B After Width: | Height: | Size: 204 B |
Binary file not shown.
Before Width: | Height: | Size: 484 B After Width: | Height: | Size: 466 B |
Loading…
Reference in New Issue