From ffa9d2d0fd7ba72a84d9a2f754ac7aa22b657779 Mon Sep 17 00:00:00 2001 From: AFCMS <afcm.contact@gmail.com> Date: Tue, 8 Feb 2022 10:58:25 +0100 Subject: [PATCH] add basic chains and lantern model and API --- mods/ITEMS/mcl_lanterns/init.lua | 161 ++++++++++++++++++ mods/ITEMS/mcl_lanterns/mod.conf | 6 + .../models/mcl_lanterns_chain.obj | 24 +++ .../models/mcl_lanterns_lantern_floor.obj | 106 ++++++++++++ mods/ITEMS/mcl_lanterns/register.lua | 8 + .../textures/mcl_lanterns_chain.png | Bin 0 -> 224 bytes .../textures/mcl_lanterns_chain_inv.png | Bin 0 -> 217 bytes .../textures/mcl_lanterns_lantern.png | Bin 0 -> 8789 bytes .../textures/mcl_lanterns_lantern_inv.png | Bin 0 -> 5736 bytes 9 files changed, 305 insertions(+) create mode 100644 mods/ITEMS/mcl_lanterns/init.lua create mode 100644 mods/ITEMS/mcl_lanterns/mod.conf create mode 100644 mods/ITEMS/mcl_lanterns/models/mcl_lanterns_chain.obj create mode 100644 mods/ITEMS/mcl_lanterns/models/mcl_lanterns_lantern_floor.obj create mode 100644 mods/ITEMS/mcl_lanterns/register.lua create mode 100755 mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_chain.png create mode 100755 mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_chain_inv.png create mode 100755 mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_lantern.png create mode 100755 mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_lantern_inv.png diff --git a/mods/ITEMS/mcl_lanterns/init.lua b/mods/ITEMS/mcl_lanterns/init.lua new file mode 100644 index 000000000..d59bb558e --- /dev/null +++ b/mods/ITEMS/mcl_lanterns/init.lua @@ -0,0 +1,161 @@ +local S = minetest.get_translator("mcl_lanterns") +local modpath = minetest.get_modpath("mcl_lanterns") + +mcl_lanterns = {} + + +function mcl_lanterns.register_lantern(name, def) + local itemstring_floor = "mcl_lanterns:"..name.."_floor" + local itemstring_ceiling = "mcl_lanterns:"..name.."_ceiling" + + minetest.register_node(itemstring_floor, { + description = def.description, + drawtype = "mesh", + mesh = "mcl_lanterns_lantern_floor.obj", + inventory_image = def.texture_inv, + wield_image = def.texture_inv, + tiles = {{ + name = def.texture, + animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 3.3} + }}, + use_texture_alpha = "clip", + paramtype = "light", + paramtype2 = "wallmounted", + sunlight_propagates = true, + light_source = def.light_level, + groups = {choppy=2, dig_immediate=3, flammable=1, attached_node=1, torch=1}, + selection_box = { + type = "fixed", + fixed = { + {-0.1875, -0.5, -0.1875, 0.1875, -0.0625, 0.1875}, + {-0.125, -0.0625, -0.125, 0.125, 0.0625, 0.125}, + {-0.0625, -0.5, -0.0625, 0.0625, 0.1875, 0.0625}, + }, + }, + collision_box = { + type = "fixed", + fixed = { + {-0.1875, -0.5, -0.1875, 0.1875, -0.0625, 0.1875}, + {-0.125, -0.0625, -0.125, 0.125, 0.0625, 0.125}, + {-0.0625, -0.5, -0.0625, 0.0625, 0.1875, 0.0625}, + }, + }, + --sounds = default.node_sound_wood_defaults(), + on_place = function(itemstack, placer, pointed_thing) + local under = pointed_thing.under + local node = minetest.get_node(under) + local def = minetest.registered_nodes[node.name] + if def and def.on_rightclick and + not (placer and placer:is_player() and + placer:get_player_control().sneak) then + return def.on_rightclick(under, node, placer, itemstack, + pointed_thing) or itemstack + end + + local above = pointed_thing.above + local wdir = minetest.dir_to_wallmounted(vector.subtract(under, above)) + local fakestack = itemstack + if wdir == 0 then + fakestack:set_name(itemstring_ceiling) + elseif wdir == 1 then + fakestack:set_name(itemstring_floor) + end + + itemstack = minetest.item_place(fakestack, placer, pointed_thing, wdir) + itemstack:set_name(itemstring_floor) + + return itemstack + end, + --floodable = true, + --on_flood = on_flood, + on_rotate = false + }) + + minetest.register_node(itemstring_ceiling, { + drawtype = "mesh", + mesh = "mcl_lanterns_lantern_floor.obj", + tiles = {{ + name = def.texture, + animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 3.3} + }}, + use_texture_alpha = "clip", + paramtype = "light", + paramtype2 = "wallmounted", + sunlight_propagates = true, + light_source = def.light_level, + groups = {dig_immediate=3, not_in_creative_inventory=1}, + drop = itemstring_floor, + selection_box = { + type = "wallmounted", + wall_top = {-1/8, -1/16, -5/16, 1/8, 1/2, 1/8}, + }, + --sounds = default.node_sound_wood_defaults(), + --floodable = true, + --on_flood = on_flood, + on_rotate = false + }) +end + +minetest.register_node("mcl_lanterns:chain", { + description = S("Chain"), + _doc_items_longdesc = S("Chains are metallic decoration blocks."), + inventory_image = "mcl_lanterns_chain_inv.png", + tiles = {"mcl_lanterns_chain.png"}, + drawtype = "mesh", + paramtype = "light", + paramtype2 = "facedir", + use_texture_alpha = "clip", + mesh = "mcl_lanterns_chain.obj", + is_ground_content = false, + sunlight_propagates = true, + collision_box = { + type = "fixed", + fixed = { + {-0.0625, -0.5, -0.0625, 0.0625, 0.5, 0.0625}, + } + }, + selection_box = { + type = "fixed", + fixed = { + {-0.0625, -0.5, -0.0625, 0.0625, 0.5, 0.0625}, + } + }, + groups = {pickaxey = 1, deco_block = 1}, + on_place = function(itemstack, placer, pointed_thing) + if pointed_thing.type ~= "node" then + return itemstack + end + + local p0 = pointed_thing.under + local p1 = pointed_thing.above + local param2 = 0 + + local placer_pos = placer:get_pos() + if placer_pos then + local dir = { + x = p1.x - placer_pos.x, + y = p1.y - placer_pos.y, + z = p1.z - placer_pos.z + } + param2 = minetest.dir_to_facedir(dir) + end + + if p0.y - 1 == p1.y then + param2 = 20 + elseif p0.x - 1 == p1.x then + param2 = 16 + elseif p0.x + 1 == p1.x then + param2 = 12 + elseif p0.z - 1 == p1.z then + param2 = 8 + elseif p0.z + 1 == p1.z then + param2 = 4 + end + + return minetest.item_place(itemstack, placer, pointed_thing, param2) + end, + _mcl_blast_resistance = 6, + _mcl_hardness = 5, +}) + +dofile(modpath.."/register.lua") \ No newline at end of file diff --git a/mods/ITEMS/mcl_lanterns/mod.conf b/mods/ITEMS/mcl_lanterns/mod.conf new file mode 100644 index 000000000..104722123 --- /dev/null +++ b/mods/ITEMS/mcl_lanterns/mod.conf @@ -0,0 +1,6 @@ +name = mcl_lanterns +description = Add lanterns and chains to MineClone2 +depends = +optional_depends = +author = AFCMS +title = MineClone2 Lanterns \ No newline at end of file diff --git a/mods/ITEMS/mcl_lanterns/models/mcl_lanterns_chain.obj b/mods/ITEMS/mcl_lanterns/models/mcl_lanterns_chain.obj new file mode 100644 index 000000000..94a7b8971 --- /dev/null +++ b/mods/ITEMS/mcl_lanterns/models/mcl_lanterns_chain.obj @@ -0,0 +1,24 @@ +# Blender v3.0.1 OBJ File: 'chain.blend' +# www.blender.org +o Plane +v 0.066291 0.500000 0.066291 +v 0.066291 -0.500000 0.066291 +v -0.066291 0.500000 -0.066291 +v -0.066291 -0.500000 -0.066291 +v -0.066291 0.500000 0.066291 +v -0.066291 -0.500000 0.066291 +v 0.066291 0.500000 -0.066291 +v 0.066291 -0.500000 -0.066291 +vt -0.000000 1.000000 +vt 0.000000 -0.000000 +vt 0.187500 0.000000 +vt 0.187500 1.000000 +vt 0.187500 1.000000 +vt 0.187500 -0.000000 +vt 0.375000 -0.000000 +vt 0.375000 1.000000 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +s off +f 1/1/1 2/2/1 4/3/1 3/4/1 +f 5/5/2 6/6/2 8/7/2 7/8/2 diff --git a/mods/ITEMS/mcl_lanterns/models/mcl_lanterns_lantern_floor.obj b/mods/ITEMS/mcl_lanterns/models/mcl_lanterns_lantern_floor.obj new file mode 100644 index 000000000..a6125886a --- /dev/null +++ b/mods/ITEMS/mcl_lanterns/models/mcl_lanterns_lantern_floor.obj @@ -0,0 +1,106 @@ +# Blender v3.0.1 OBJ File: 'lantern.blend' +# www.blender.org +o Cube +v 0.187500 -0.062500 -0.187500 +v 0.187500 -0.500000 -0.187500 +v 0.187500 -0.062500 0.187500 +v 0.187500 -0.500000 0.187500 +v -0.187500 -0.062500 -0.187500 +v -0.187500 -0.500000 -0.187500 +v -0.187500 -0.062500 0.187500 +v -0.187500 -0.500000 0.187500 +v 0.125000 0.062500 -0.125000 +v 0.125000 -0.062500 -0.125000 +v 0.125000 0.062500 0.125000 +v 0.125000 -0.062500 0.125000 +v -0.125000 0.062500 -0.125000 +v -0.125000 -0.062500 -0.125000 +v -0.125000 0.062500 0.125000 +v -0.125000 -0.062500 0.125000 +v 0.066291 0.187500 0.066291 +v 0.066291 0.062500 0.066291 +v -0.066291 0.187500 -0.066291 +v -0.066291 0.062500 -0.066291 +v -0.066291 0.187500 0.066291 +v -0.066291 0.062500 0.066291 +v 0.066291 0.187500 -0.066291 +v 0.066291 0.062500 -0.066291 +vt 0.000000 0.062500 +vt 0.375000 0.062500 +vt 0.375000 0.437500 +vt 0.000000 0.437500 +vt 0.375000 0.437500 +vt 0.375000 0.875000 +vt -0.000000 0.875000 +vt -0.000000 0.437500 +vt 0.375000 0.437500 +vt 0.375000 0.875000 +vt -0.000000 0.875000 +vt 0.000000 0.437500 +vt 0.562500 0.125000 +vt 0.937500 0.125000 +vt 0.937500 0.250000 +vt 0.562500 0.250000 +vt 0.375000 0.437500 +vt 0.375000 0.875000 +vt -0.000000 0.875000 +vt 0.000000 0.437500 +vt 0.375000 0.437500 +vt 0.375000 0.875000 +vt -0.000000 0.875000 +vt -0.000000 0.437500 +vt 0.062500 0.125000 +vt 0.312500 0.125000 +vt 0.312500 0.375000 +vt 0.062500 0.375000 +vt 0.312500 0.875000 +vt 0.312500 1.000000 +vt 0.062500 1.000000 +vt 0.062500 0.875000 +vt 0.312500 0.875000 +vt 0.312500 1.000000 +vt 0.062500 1.000000 +vt 0.062500 0.875000 +vt 0.500000 0.770833 +vt 0.500000 0.770833 +vt 0.500000 0.770833 +vt 0.500000 0.770833 +vt 0.312500 0.875000 +vt 0.312500 1.000000 +vt 0.062500 1.000000 +vt 0.062500 0.875000 +vt 0.312500 0.875000 +vt 0.312500 1.000000 +vt 0.062500 1.000000 +vt 0.062500 0.875000 +vt 0.687500 0.937500 +vt 0.687500 0.812500 +vt 0.875000 0.812500 +vt 0.875000 0.937500 +vt 0.687500 0.937500 +vt 0.687500 0.812500 +vt 0.875000 0.812500 +vt 0.875000 0.937500 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +s off +f 1/1/1 5/2/1 7/3/1 3/4/1 +f 4/5/2 3/6/2 7/7/2 8/8/2 +f 8/9/3 7/10/3 5/11/3 6/12/3 +f 6/13/4 2/14/4 4/15/4 8/16/4 +f 2/17/5 1/18/5 3/19/5 4/20/5 +f 6/21/6 5/22/6 1/23/6 2/24/6 +f 9/25/1 13/26/1 15/27/1 11/28/1 +f 12/29/2 11/30/2 15/31/2 16/32/2 +f 16/33/3 15/34/3 13/35/3 14/36/3 +f 14/37/4 10/38/4 12/39/4 16/40/4 +f 10/41/5 9/42/5 11/43/5 12/44/5 +f 14/45/6 13/46/6 9/47/6 10/48/6 +f 17/49/7 18/50/7 20/51/7 19/52/7 +f 21/53/8 22/54/8 24/55/8 23/56/8 diff --git a/mods/ITEMS/mcl_lanterns/register.lua b/mods/ITEMS/mcl_lanterns/register.lua new file mode 100644 index 000000000..a2c513eb2 --- /dev/null +++ b/mods/ITEMS/mcl_lanterns/register.lua @@ -0,0 +1,8 @@ +local S = minetest.get_translator("mcl_lanterns") + +mcl_lanterns.register_lantern("lantern", { + description = S("Lantern"), + texture = "mcl_lanterns_lantern.png", + texture_inv = "mcl_lanterns_lantern_inv.png", + light_level = 15, +}) \ No newline at end of file diff --git a/mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_chain.png b/mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_chain.png new file mode 100755 index 0000000000000000000000000000000000000000..ee523c9226d618aa4cb6c31a11a3130f5a464495 GIT binary patch literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgf#7JeZ`siwX6RDnVXo-U3d7N_4% zGUPj8z`;CsMfd%Kv!?#9Z`yBgiL-NQ(21bXSGpaHIf)HT9WHCFV^&GM<6|f&@9>y# z#4LO5wye}A3Z4^Ob{THIc(3eH+BLPS)_dxYR3`m4Y&|vq(Db;UY@TJFH$qyTPX*e= N;OXk;vd$@?2>^Y{PSyYb literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_chain_inv.png b/mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_chain_inv.png new file mode 100755 index 0000000000000000000000000000000000000000..61a300fede1736bbafa7e07d7b106756b9c18edf GIT binary patch literal 217 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgf#7JeZa;fbAk_CTRXPZ!4!i_^&o z3q%9L!v6L9JZAFwq2lZ7`#<;zm#nO86Pv-q&3}J?f6u~uF!R9o_xB~=-P?Qm$KT)O zY@2u$*mxc}s9clwX~|Ky7L$;WVDr=|C@Q*SCZ@s0AaqOnZ|K_d(}0#Rc)I$ztaD0e F0swHxMOpv= literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_lantern.png b/mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_lantern.png new file mode 100755 index 0000000000000000000000000000000000000000..c9cc5b9958c962387a6ee72e277c225a5673fb7a GIT binary patch literal 8789 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 literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_lantern_inv.png b/mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_lantern_inv.png new file mode 100755 index 0000000000000000000000000000000000000000..1e81819ba95fb37c446bc5b37278432023322031 GIT binary patch literal 5736 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 literal 0 HcmV?d00001