]> git.lizzy.rs Git - Crafter.git/commitdiff
Rework all foods to use new particle system with minetest.register_food
authoroilboi <47129783+oilboi@users.noreply.github.com>
Sat, 23 May 2020 21:54:22 +0000 (17:54 -0400)
committeroilboi <47129783+oilboi@users.noreply.github.com>
Sat, 23 May 2020 21:54:22 +0000 (17:54 -0400)
mods/cake/init.lua
mods/farming/init.lua
mods/farming/registers.lua
mods/fishing/init.lua
mods/hunger/init.lua
mods/item_cannon/init.lua [deleted file]
mods/main/depends.txt [new file with mode: 0644]
mods/main/items.lua
mods/mob/depends.txt [new file with mode: 0644]
mods/mob/items.lua
mods/player/player_mechanics.lua

index 4fd2eebacf84f0627ec2dc88975bee835fbaee65..9d7d9d1a8f8d8f2723805d6b851e6b1fe0215040 100644 (file)
@@ -30,7 +30,7 @@ for i = 0,13 do
                },
                drop = "",
                sounds = main.woolSound(),
-               groups = {wool=1,cake=i,falling_node=1,satiation=5,hunger=3},
+               groups = {wool=1,cake=i,falling_node=1},
                on_construct = function(pos)
                        --randomly cake eats itself
                        if math.random() > 0.995 then
index bb01aaabb27ad946c1c46dfede595cc76cfb9af0..88650fd9e8a003d9bc59bbc7e7b18467737c0d44 100644 (file)
@@ -10,17 +10,18 @@ minetest.register_craftitem("farming:wheat", {
        inventory_image = "wheat_harvested.png",
 })
 
-
-minetest.register_craftitem("farming:bread", {
+minetest.register_food("farming:bread",{
        description = "Bread",
-       inventory_image = "bread.png",
-       groups = {satiation=3,hunger=3},
+       texture = "bread.png",
+       satiation=2,
+       hunger=2,
 })
 
-minetest.register_craftitem("farming:toast", {
+minetest.register_food("farming:toast",{
        description = "Toast",
-       inventory_image = "bread.png^[colorize:black:100",
-       groups = {satiation=4,hunger=4},
+       texture = "bread.png^[colorize:black:100",
+       satiation=4,
+       hunger=4,
 })
 
 minetest.register_craft({
index 5f364f8b5f7e002611880846160318a9f8dd4e3d..b2db2eb6a49d18117bbefe020bd71cd08ea43474 100644 (file)
@@ -256,14 +256,15 @@ minetest.register_plant("melon_stem", {
                seed_inventory_image = "melon_seeds.png",
                seed_plants = "farming:melon_stem_1",
 })
-minetest.register_craftitem("farming:melon_slice", {
+
+minetest.register_food("farming:melon_slice",{
        description = "Melon Slice",
-       inventory_image = "melon_slice.png",
-       groups = {satiation=1,hunger=2},
+       texture = "melon_slice.png",
+       satiation=1,
+       hunger=2,
 })
 
 
-
 minetest.register_plant("pumpkin_stem", {
            description = "Pumpkin Stem",
            drawtype = "plantlike",
@@ -341,19 +342,22 @@ minetest.register_craft({
        recipe = "farming:pumpkin",
        burntime = 3,
 })
+
 minetest.register_craft({
        type = "cooking",
        output = "farming:pumpkin_pie",
        recipe = "farming:pumpkin",
        cooktime = 2,
 })
-minetest.register_craftitem("farming:pumpkin_pie", {
+
+
+minetest.register_food("farming:pumpkin_pie",{
        description = "Pumpkin Pie",
-       inventory_image = "pumpkin_pie.png",
-       groups = {satiation=4,hunger=3},
+       texture = "pumpkin_pie.png",
+       satiation=4,
+       hunger=3,
 })
 
-
 minetest.register_decoration({
        name = "farming:sugarcane",
        deco_type = "simple",
index 03619823c2c3fddc23d43880705c2ec489cb8226..b2757a2b9f13b60ce877b404e2db4c35c9047ce4 100644 (file)
@@ -135,13 +135,16 @@ minetest.register_craft({
        recipe = "fishing:fish",
 })
 
-minetest.register_craftitem("fishing:fish", {
+minetest.register_food("fishing:fish",{
        description = "Raw Fish",
-       inventory_image = "fish.png",
-       groups = {satiation=1,hunger=2},
+       texture = "fish.png",
+       satiation=1,
+       hunger=2,
 })
-minetest.register_craftitem("fishing:fish_cooked", {
+
+minetest.register_food("fishing:fish_cooked",{
        description = "Cooked Fish",
-       inventory_image = "fish_cooked.png",
-       groups = {satiation=3,hunger=5},
+       texture = "fish_cooked.png",
+       satiation=3,
+       hunger=5,
 })
\ No newline at end of file
index 0154488fd518bc269a261c2da0132d764c08a807..c4707ffa57c2b56cc9654723dbb93f4667eaca3e 100644 (file)
@@ -241,3 +241,38 @@ function minetest.eat_food(player,item)
        stack:take_item()
        player:set_wielded_item(stack)
 end
+
+
+function minetest.register_food(name,def)
+       minetest.register_craftitem(":"..name, {
+               description = def.description,
+               inventory_image = def.texture,
+               groups = {satiation=def.satiation,hunger=def.hunger},
+       })
+
+       minetest.register_node(":"..name.."node", {
+               description = "NIL",
+               tiles = {def.texture},
+               groups = {},
+               drop = "",
+               drawtype = "allfaces",
+               on_construct = function(pos)
+                       minetest.remove_node(pos)
+               end,
+       })
+end
+
+minetest.register_chatcommand("hungry", {
+       params = "<mob>",
+       description = "A debug command to test food",
+       privs = {server = true},
+       func = function(name)
+               local player = minetest.get_player_by_name(name)
+               local meta = player:get_meta()
+               meta:set_int("exhaustion_tick", 0)
+               meta:set_int("hunger", 1)
+               meta:set_int("satiation", 0)
+               local hunger_bar = meta:get_int("hunger_bar")
+               player:hud_change(hunger_bar, "number", 1)
+       end
+})
diff --git a/mods/item_cannon/init.lua b/mods/item_cannon/init.lua
deleted file mode 100644 (file)
index 205edab..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-minetest.register_node("item_cannon:item_cannon", {
-    description = "Item Cannon",
-    paramtype = "light",
-    paramtype2 = "facedir",
-    tiles = {"bed_top.png^[transform1","wood.png","bed_side.png","bed_side.png^[transform4","bed_front.png","nothing.png"},
-    groups = {wood = 1, hard = 1, axe = 1, hand = 3, instant=1,bouncy=50,attached_node=1},
-    sounds = main.woodSound({placing=""}),
-    drawtype = "nodebox",
-    node_box = {
-               type = "fixed",
-               fixed = {
-                               {-0.5, -5/16, -0.5, 0.5, 0.06, 0.5},
-                               {-0.5, -0.5, 0.5, -5/16, -5/16, 5/16},
-                               {0.5, -0.5, 0.5, 5/16, -5/16, 5/16},
-                       },
-               },
-       node_placement_prediction = "",
-       on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
-               local param2 = minetest.get_node(pos).param2
-               local dir = minetest.facedir_to_dir(param2)
-               dir.y = 0.5
-               
-               local obj = minetest.add_item(pos,itemstack:get_name())
-               if obj then
-                       local vel = vector.multiply(dir,30)
-                       obj:set_velocity(vel)
-                       itemstack:take_item(1)
-                       minetest.sound_play("tnt_explode", {pos = pos, gain = 1.0})
-                       return(itemstack)
-               end
-       end,
-}) 
diff --git a/mods/main/depends.txt b/mods/main/depends.txt
new file mode 100644 (file)
index 0000000..f2c5b26
--- /dev/null
@@ -0,0 +1 @@
+hunger
\ No newline at end of file
index 090b62722cf4a7ef57daf874e21fdbd9f4d26d6d..9fcf92948cb0f4cc09805db1c84d792fb31f499c 100644 (file)
@@ -1,15 +1,17 @@
 --item definition
 
-minetest.register_craftitem("main:apple", {
+minetest.register_food("main:apple",{
        description = "Apple",
-       inventory_image = "apple.png",
-       groups = {satiation=1,hunger=2},
+       texture = "apple.png",
+       satiation=1,
+       hunger=2,
 })
 
-minetest.register_craftitem("main:sugar", {
+minetest.register_food("main:sugar",{
        description = "Sugar",
-       inventory_image = "sugar.png",
-       groups = {satiation=1,hunger=1},
+       texture = "sugar.png",
+       satiation=1,
+       hunger=1,
 })
 
 minetest.register_craftitem("main:stick", {
diff --git a/mods/mob/depends.txt b/mods/mob/depends.txt
new file mode 100644 (file)
index 0000000..f2c5b26
--- /dev/null
@@ -0,0 +1 @@
+hunger
\ No newline at end of file
index 72e6577076ee7834c0eacd39334d2fbe1185d80a..656f9d72208d39286b7dd767f074a6dd16936fb2 100644 (file)
@@ -1,15 +1,20 @@
 --items
-minetest.register_craftitem("mob:raw_porkchop", {
+minetest.register_food("mob:raw_porkchop",{
        description = "Raw Porkchop",
-       inventory_image = "raw_porkchop.png",
-       groups = {satiation=1,hunger=2},
+       texture = "raw_porkchop.png",
+       satiation=1,
+       hunger=2,
 })
-minetest.register_craftitem("mob:cooked_porkchop", {
+
+
+minetest.register_food("mob:cooked_porkchop",{
        description = "Cooked Porkchop",
-       inventory_image = "cooked_porkchop.png",
-       groups = {satiation=3,hunger=5},
+       texture = "cooked_porkchop.png",
+       satiation=3,
+       hunger=5,
 })
 
+
 minetest.register_craftitem("mob:slimeball", {
        description = "Slimeball",
        inventory_image = "slimeball.png",
@@ -22,6 +27,7 @@ minetest.register_craftitem("mob:string", {
        description = "String",
        inventory_image = "string.png",
 })
+
 --cooking
 minetest.register_craft({
        type = "cooking",
index 9d3ef3de3f6204f0a8a6da0ed8a4f2db7554dd58..2cdd94e43f382850b60c36960bcf57676e536037 100644 (file)
@@ -84,15 +84,36 @@ minetest.register_globalstep(function(dtime)
                                        maxacc = {x=0, y=-9.81, z=1},
                                        minexptime = 0.5,
                                        maxexptime = 1.5,
-                                       minsize = 0.5,
-                                       maxsize = 1,
+                                       minsize = 0,
+                                       maxsize = 0,
                                        attached = player,
                                        collisiondetection = true,
                                        collision_removal = true,
                                        vertical = false,
-                                       texture = "eat_particles_1.png"
+                                       node = {name= item.."node"},
+                                       --texture = "eat_particles_1.png"
                                })
-                               
+
+                               --[[
+                               minetest.add_particlespawner({
+                                       amount = 30,
+                                       time = 0.0001,
+                                       minpos = {x=pos.x-0.5, y=pos.y-0.5+y, z=pos.z-0.5},
+                                       maxpos = {x=pos.x+0.5, y=pos.y+0.5+y, z=pos.z+0.5},
+                                       minvel = vector.new(-1,0,-1),
+                                       maxvel = vector.new(1,0,1),
+                                       minacc = {x=0, y=-9.81, z=0},
+                                       maxacc = {x=0, y=-9.81, z=0},
+                                       minexptime = 0.5,
+                                       maxexptime = 1.5,
+                                       minsize = 0,
+                                       maxsize = 0,
+                                       collisiondetection = true,
+                                       vertical = false,
+                                       node = {name= "name"},
+                               })
+                               ]]--
+
                                if eating_timer + dtime > 0.25 then
                                        minetest.sound_play("eat", {
                                                to_player = player:get_player_name(),