diff options
author | the lemons <citrons@mondecitronne.com> | 2022-02-13 21:28:49 -0600 |
---|---|---|
committer | the lemons <citrons@mondecitronne.com> | 2022-02-13 21:28:49 -0600 |
commit | c0018b81daf328ae45e93acafdf36d7be877b4a1 (patch) | |
tree | 01d74d09e86dd6ca607c2df63b5a691b94ad8dbd | |
parent | 399ea8f2310e319bcfb604714f72f1b6e57669a4 (diff) | |
parent | cd8c910aec7be15f548ca6ec3f492b4065440e5c (diff) |
Merge branch 'master' of citrons.xyz:vzxv
-rw-r--r-- | mods/vzxv/nodes.lua | 9 | ||||
-rw-r--r-- | mods/vzxv/textures/vzxvgrassseeds.png | bin | 0 -> 670 bytes | |||
-rw-r--r-- | mods/vzxv/textures/vzxvmetalpick.png | bin | 0 -> 927 bytes | |||
-rw-r--r-- | mods/vzxv/textures/vzxvplanks.png | bin | 0 -> 1110 bytes | |||
-rw-r--r-- | mods/vzxv/textures/vzxvstonepick.png | bin | 0 -> 927 bytes | |||
-rw-r--r-- | mods/vzxv/textures/vzxvwoodpick.png | bin | 0 -> 943 bytes | |||
-rw-r--r-- | mods/vzxv/tools.lua | 4 | ||||
-rw-r--r-- | mods/vzxv_gravity/init.lua | 4 | ||||
-rw-r--r-- | mods/vzxv_pummel/init.lua | 71 | ||||
-rw-r--r-- | mods/vzxv_pummel/recipes.lua | 66 |
10 files changed, 115 insertions, 39 deletions
diff --git a/mods/vzxv/nodes.lua b/mods/vzxv/nodes.lua index 9df1f2f..c09fa17 100644 --- a/mods/vzxv/nodes.lua +++ b/mods/vzxv/nodes.lua @@ -22,6 +22,10 @@ vzxv.slabs("vzxv:grass","Grass",{dry_grass,"vzxvdirt.png",dry_grass},{groups={ plant=1,crumbly=2,soil=1,grassy=1 }}) +vzxv.mundane_block("vzxv:planks","Planks",nil,{groups={ + choppy=1, +}}) + vzxv.mundane_block("vzxv:stick","Stick",{"vzxvlog.png","vzxvlog.png","vzxvbark.png"},{ groups={ choppy=1,handy=3 @@ -72,3 +76,8 @@ minetest.register_craftitem("vzxv:apioform", { minetest.chat_send_player(user:get_player_name(), "metadata: "..dump(meta)) end, }) + +minetest.register_craftitem("vzxv:grassseeds", { + description = "Grass seeds", + inventory_image = "vzxvgrassseeds.png", +}) diff --git a/mods/vzxv/textures/vzxvgrassseeds.png b/mods/vzxv/textures/vzxvgrassseeds.png Binary files differnew file mode 100644 index 0000000..3d7ef26 --- /dev/null +++ b/mods/vzxv/textures/vzxvgrassseeds.png diff --git a/mods/vzxv/textures/vzxvmetalpick.png b/mods/vzxv/textures/vzxvmetalpick.png Binary files differnew file mode 100644 index 0000000..5076b86 --- /dev/null +++ b/mods/vzxv/textures/vzxvmetalpick.png diff --git a/mods/vzxv/textures/vzxvplanks.png b/mods/vzxv/textures/vzxvplanks.png Binary files differnew file mode 100644 index 0000000..3a9f813 --- /dev/null +++ b/mods/vzxv/textures/vzxvplanks.png diff --git a/mods/vzxv/textures/vzxvstonepick.png b/mods/vzxv/textures/vzxvstonepick.png Binary files differnew file mode 100644 index 0000000..d22e4de --- /dev/null +++ b/mods/vzxv/textures/vzxvstonepick.png diff --git a/mods/vzxv/textures/vzxvwoodpick.png b/mods/vzxv/textures/vzxvwoodpick.png Binary files differnew file mode 100644 index 0000000..fbd2296 --- /dev/null +++ b/mods/vzxv/textures/vzxvwoodpick.png diff --git a/mods/vzxv/tools.lua b/mods/vzxv/tools.lua index 319c1e9..26307ec 100644 --- a/mods/vzxv/tools.lua +++ b/mods/vzxv/tools.lua @@ -66,7 +66,9 @@ woodaxe.groups.axe = 1 minetest.register_item("vzxv:woodaxe",woodaxe) local woodadze = deepclone(base_tool) -woodadze.tool_capabilities.groupcaps = {choppy = {times = {4,16}}, crumbly = {times ={1.5, 3}}} +woodadze.tool_capabilities.groupcaps = { + choppy = {times = {4,16}}, crumbly = {times ={1.5, 3}} +} woodadze.inventory_image = "vzxvwoodadze.png" woodadze.description = "Adze" woodadze.groups.axe = 1 diff --git a/mods/vzxv_gravity/init.lua b/mods/vzxv_gravity/init.lua index 62b73a7..5541f91 100644 --- a/mods/vzxv_gravity/init.lua +++ b/mods/vzxv_gravity/init.lua @@ -29,7 +29,9 @@ end minetest.register_globalstep(function() local players = minetest.get_connected_players() - local brightness = math.max(0,math.min(1,3-((math.abs(-12000+minetest:get_timeofday()*24000))/3000))) + local brightness = math.max(0,math.min(1,3-(( + math.abs(-12000+minetest:get_timeofday()*24000) + )/3000))) for _,player in ipairs(players) do local pos = player:get_pos() player:set_physics_override({ diff --git a/mods/vzxv_pummel/init.lua b/mods/vzxv_pummel/init.lua index 2515758..77652e8 100644 --- a/mods/vzxv_pummel/init.lua +++ b/mods/vzxv_pummel/init.lua @@ -28,29 +28,41 @@ local function toolcheck(tools,tool) local itgroup = minetest.get_item_group(tool,st:sub(8)) return num <= itgroup else - return tools == st + return tool == st end end if not tools then return true end if type(tools) == "table" then for i,v in ipairs(tools) do - if singletoolcheck(v) then return v end + if singletoolcheck(v.item) then return v end end return false end - return singletoolcheck(tools) + return singletoolcheck(tool) end function vzxv.can_pummel(pos,node,tool,side) if vzxv_pummel_recipes[node.name] then for _,r in ipairs(vzxv_pummel_recipes[node.name]) do - if toolcheck(r.tool,tool) then - if sidecheck(r.side,sidename(side)) then - if r.constraint(pos,node,tool,side) then - return r + if not sidecheck(r.side,sidename(side)) then return false end + if not toolcheck(r.tool,tool) then return false end + if r.othernodes then + for _,node in ipairs(r.othernodes) do + local outputpos = deepclone(pos) + outputpos.x = outputpos.x + (node.x or 0) + outputpos.y = outputpos.y + (node.y or 0) + outputpos.z = outputpos.z + (node.z or 0) + if node.item then + error("sorry no item inputs yet") + else + local node_at = minetest.get_node(outputpos).name + if not toolcheck(node.node,node_at) then + return false + end end end end + return r end end return false @@ -59,17 +71,46 @@ end function vzxv.pummel(pos,node,tool,side) local recipe = vzxv.can_pummel(pos,node,tool,side) if not recipe then return false end - recipe.func(pos,node,tool,side) + if recipe.func then recipe.func(pos,node,tool,side) end + local nodes_involved = {recipe.node or recipe.item} + for _,node in ipairs(recipe.othernodes or {}) do + table.insert(nodes_involved,node) + end + + for _,node in ipairs(nodes_involved) do + local outputpos = deepclone(pos) + outputpos.x = outputpos.x + (node.x or 0) + outputpos.y = outputpos.y + (node.y or 0) + outputpos.z = outputpos.z + (node.z or 0) + if node.item then + error("no item inputs yet sorry") + else + if node.consume then + minetest.set_node(outputpos,{name="air"}) + end + end + end + + + if recipe.outputs then + for _,output in ipairs(recipe.outputs) do + local outputpos = deepclone(pos) + outputpos.x = outputpos.x + (output.x or 0) + outputpos.y = outputpos.y + (output.y or 0) + outputpos.z = outputpos.z + (output.z or 0) + if output.item then + vzxv.drop(outputpos,ItemStack(output.item)) + else + minetest.set_node(outputpos,{name=output.node}) + end + end + end end -function vzxv.add_pummel_recipe(nodetype,tool,side,constraint,func) - local r = {} - r.tool = tool - r.side = side - r.constraint = constraint or function() return true end - r.func = func +function vzxv.add_pummel_recipe(settings) + local nodetype = settings.node.node or settings.node.item vzxv_pummel_recipes[nodetype] = vzxv_pummel_recipes[nodetype] or {} - table.insert(vzxv_pummel_recipes[nodetype],r) + table.insert(vzxv_pummel_recipes[nodetype],settings) end minetest.register_on_punchnode(function(pos, node, puncher, pointed_thing) diff --git a/mods/vzxv_pummel/recipes.lua b/mods/vzxv_pummel/recipes.lua index fd4e345..892b03b 100644 --- a/mods/vzxv_pummel/recipes.lua +++ b/mods/vzxv_pummel/recipes.lua @@ -1,22 +1,44 @@ -vzxv.add_pummel_recipe("vzxv:moistgrass",nil,{1,3,4,5,6},nil,function(pos,node) - minetest.set_node(pos,{name="vzxv:moistdirt"}) -end) - -vzxv.add_pummel_recipe("vzxv:grass",nil,{1,3,4,5,6},nil,function(pos,node) - minetest.set_node(pos,{name="vzxv:dirt"}) -end) - -vzxv.add_pummel_recipe("vzxv_trees:trunk","group1:axe",{1,2},nil,function(pos,node) - minetest.set_node(pos,{name="vzxv:moistdirt"}) -end) - -vzxv.add_pummel_recipe("vzxv:stick",nil,{1},function(pos,node,tool,side) - return minetest.get_node({x=pos.x,y=pos.y-1,z=pos.z}).name == "vzxv:stick" -end,function(pos,node) - minetest.set_node(pos,{name="air"}) - minetest.set_node({x=pos.x,y=pos.y-1,z=pos.z},{name="vzxv_trees:trunk"}) -end) - -vzxv.add_pummel_recipe("vzxv:stone","group1:pick",nil,nil,function(pos,node) - minetest.set_node(pos,{name="vzxv:cobblestone"}) -end)
\ No newline at end of file +vzxv.add_pummel_recipe{ + node = {node="vzxv:moistgrass"}, + outputs = {{node="vzxv:moistdirt"}} +} + +vzxv.add_pummel_recipe{ + node = {node="vzxv:grass"}, + outputs = {{node="vzxv:dirt"}} +} + +vzxv.add_pummel_recipe{ + node = {node="vzxv:stone"}, + tool = {{item="group1:pick"}}, + outputs = {{node="vzxv:cobblestone"}} +} + +vzxv.add_pummel_recipe{ + node = {node="vzxv_trees:trunk"}, + side = 1, + tool = {{item="group1:axe"}}, + outputs = {{node="vzxv:moistdirt"}} +} + +vzxv.add_pummel_recipe{ + node = {node="vzxv:stick",consume=true}, + side = 1, + othernodes = {{node="vzxv:stick",y=-1,consume=true}}, + outputs = {{item="vzxv:woodadze",y=-1}} +} + +-- seed planting + +vzxv.add_pummel_recipe{ + node = {node="vzxv:moistdirt"}, + tool = {{item="vzxv:grassseeds",consume=true}}, + outputs = {{node="vzxv:moistgrass"}} +} + +vzxv.add_pummel_recipe{ + node = {node="vzxv:dirt"}, + tool = {{item="vzxv:grassseeds",consume=true}}, + outputs = {{node="vzxv:grass"}} +} + |