From 15888ac85eebefdbd1dd9a672ee1945c285c3a33 Mon Sep 17 00:00:00 2001 From: Kacper Kostka Date: Sun, 29 Jan 2023 09:27:09 +0100 Subject: [PATCH] amogus spawner fixed --- mods/amogus_blocks/init.lua | 39 ++++++++--- mods/amogus_blocks/textures/spawner.png | Bin 0 -> 170 bytes mods/amogus_craftings/init.lua | 87 +++++++++++++++++++++--- mods/amogus_rails/d.lua | 59 ++++++++++++++++ 4 files changed, 169 insertions(+), 16 deletions(-) create mode 100644 mods/amogus_blocks/textures/spawner.png create mode 100644 mods/amogus_rails/d.lua diff --git a/mods/amogus_blocks/init.lua b/mods/amogus_blocks/init.lua index 819e33d..d1293e8 100644 --- a/mods/amogus_blocks/init.lua +++ b/mods/amogus_blocks/init.lua @@ -41,28 +41,28 @@ minetest.register_node("amogus_blocks:grey_bricks", { drop = 'amogus_blocks:grey_bricks', }) minetest.register_node("amogus_blocks:blue_bricks", { - description = "Bricks", + description = "blue Bricks", tiles = {"Bricks_blue.png"}, groups = {stone=3}, drop = 'amogus_blocks:blue_bricks', }) minetest.register_node("amogus_blocks:yellow_bricks", { - description = "Bricks", + description = "yellow Bricks", tiles = {"Bricks_yellow.png"}, groups = {stone=3}, drop = 'amogus_blocks:yellow_bricks', }) minetest.register_node("amogus_blocks:green_bricks", { - description = "Bricks", + description = "green Bricks", tiles = {"Bricks_green.png"}, groups = {stone=3}, drop = 'amogus_blocks:green_bricks', }) -minetest.register_node("amogus_blocks:purple_bricks", { - description = "Bricks", - tiles = {"Bricks_purple.png"}, groups = {stone=3}, +minetest.register_node("amogus_blocks:black_bricks", { + description = "black Bricks", + tiles = {"Bricks_black.png"}, groups = {stone=3}, - drop = 'amogus_blocks:purple_bricks', + drop = 'amogus_blocks:black_bricks', }) minetest.register_node("amogus_blocks:planks", { description = "Planks", @@ -328,6 +328,7 @@ local loot = { minetest.register_node("amogus_blocks:lucky_block", { description = "Lucky Block", tiles = {"luckyblock.png"}, + groups = {cracky = 3}, on_punch = function(pos, node, puncher, pointed_thing) local item = loot[math.random(#loot)] @@ -356,7 +357,12 @@ minetest.register_node("amogus_blocks:lucky_block", { minetest.register_node("amogus_blocks:amogus_spawner", { description = "Amogus Spawner", - tiles = {"amogus_spawner.png"}, + tiles = {"spawner.png"}, + + drawtype = "glasslike", + paramtype = "light", + is_ground_content = false, + sunlight_propagates = true, -- after place event --on_ = function(pos) @@ -371,6 +377,23 @@ minetest.register_node("amogus_blocks:amogus_spawner", { local spawned = meta:get_int("spawned") if spawned < 30 then minetest.add_entity({x = pos.x, y = pos.y + 1, z = pos.z}, "amogus_entities:amogus") + minetest.add_particlespawner({ + amount = 1000, + time = 0.3, + minpos = pos, + maxpos = pos, + minvel = {x = -1, y = 5, z = -1}, + maxvel = {x = 1, y = 5, z = 1}, + minacc = {x = 0, y = -10, z = 0}, + maxacc = {x = 0, y = -10, z = 0}, + minexptime = 0.1, + maxexptime = 0.5, + minsize = 1, + maxsize = 2, + collisiondetection = true, + vertical = false, + texture = "amog_flower.png", + }) spawned = spawned + 1 meta:set_int("spawned", spawned) minetest.get_node_timer(pos):start(meta:get_int("interval")) diff --git a/mods/amogus_blocks/textures/spawner.png b/mods/amogus_blocks/textures/spawner.png new file mode 100644 index 0000000000000000000000000000000000000000..81e5922c174c5dd97f24c58696c097567d389f87 GIT binary patch literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|QaoK8LoEE0 zQxXz>oOfVMXpv%AfOPe-qI&W84b^R)j<#*|1% ze2Yn}n0dutmf2yQV7-a>VW&m04wD#f97>Roa0oIvbf{rQjpNom4rOg@4D1UhGalL! R&JDDW!PC{xWt~$(697TrIoSXJ literal 0 HcmV?d00001 diff --git a/mods/amogus_craftings/init.lua b/mods/amogus_craftings/init.lua index 3ff747c..da4f0e3 100644 --- a/mods/amogus_craftings/init.lua +++ b/mods/amogus_craftings/init.lua @@ -1,11 +1,3 @@ -minetest.register_craft({ - output = "amogus_items:goldenaxe", - recipe = { - {"amogus_items:gold_ingot", "amogus_items:gold_ingot", ""}, - {"amogus_items:gold_ingot", "amogus_items:wooden_plank", ""}, - {"", "amogus_items:wooden_plank", ""}, - } -}) minetest.register_craft({ output = "amogus_items:stonepickaxe", recipe = { @@ -56,3 +48,82 @@ minetest.register_craft({ } }) +minetest.register_craft({ + output = "amogus_items:sussiumshovel", + recipe = { + {"", "amogus_items:sussium_ingot", ""}, + {"", "amogus_items:wooden_plank", ""}, + {"", "amogus_items:wooden_plank", ""}, + } +}) + +minetest.register_craft({ + output = "amogus_items:goldenshovel", + recipe = { + {"", "amogus_items:gold_ingot", ""}, + {"", "amogus_items:wooden_plank", ""}, + {"", "amogus_items:wooden_plank", ""}, + } +}) + +minetest.register_craft({ + output = "amogus_items:stoneshovel", + recipe = { + {"", "amogus_items:rock", ""}, + {"", "amogus_items:wooden_plank", ""}, + {"", "amogus_items:wooden_plank", ""}, + } +}) + + +minetest.register_craft({ + output = "amogus_items:stoneaxe", + recipe = { + {"", "amogus_items:rock", "amogus_items:rock"}, + {"", "amogus_items:wooden_plank", "amogus_items:rock"}, + {"", "amogus_items:wooden_plank", ""}, + } +}) +minetest.register_craft({ + output = "amogus_items:stoneaxe", + recipe = { + {"amogus_items:rock", "amogus_items:rock", ""}, + {"amogus_items:rock", "amogus_items:wooden_plank", ""}, + {"", "amogus_items:wooden_plank", ""}, + } +}) + +minetest.register_craft({ + output = "amogus_items:goldenaxe", + recipe = { + {"amogus_items:gold_ingot", "amogus_items:gold_ingot", ""}, + {"amogus_items:gold_ingot", "amogus_items:wooden_plank", ""}, + {"", "amogus_items:wooden_plank", ""}, + } +}) +minetest.register_craft({ + output = "amogus_items:goldenaxe", + recipe = { + {"", "amogus_items:gold_ingot", "amogus_items:gold_ingot"}, + {"", "amogus_items:wooden_plank", "amogus_items:gold_ingot"}, + {"", "amogus_items:wooden_plank", ""}, + } +}) + +minetest.register_craft({ + output = "amogus_items:sussiumaxe", + recipe = { + {"", "amogus_items:sussium_ingot", "amogus_items:sussium_ingot"}, + {"", "amogus_items:wooden_plank", "amogus_items:sussium_ingot"}, + {"", "amogus_items:wooden_plank", ""}, + } +}) + +minetest.register_craft({ + output = "amogus_items:sussiumaxe", + recipe = { + {"amogus_items:sussium_ingot", "amogus_items:sussium_ingot", ""}, + {"amogus_items:wooden_plank", "amogus_items:sussium_ingot", ""}, + {"", "amogus_items:wooden_plank", ""}, + } +}) \ No newline at end of file diff --git a/mods/amogus_rails/d.lua b/mods/amogus_rails/d.lua new file mode 100644 index 0000000..60cc08e --- /dev/null +++ b/mods/amogus_rails/d.lua @@ -0,0 +1,59 @@ +minetest.register_entity("amogus_rails:cart", { + initial_properties = { + visual = "mesh", + mesh = "cart.obj", + physical = true, + collisionbox = {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, + visual_size = {x=1, y=1}, + textures = {"cart_texture.png"}, + }, + + on_activate = function(self, staticdata) + self.object:set_acceleration({x=0, y=-9.8, z=0}) + end, + + on_rightclick = function(self, clicker) + clicker:get_inventory():add_item("main", "amogus_rails:cart_item") + self.object:remove() + end, +}) + +minetest.register_craftitem("amogus_rails:cart_item", { + description = "Custom Cart", + inventory_image = "cart_inventory.png", + wield_image = "cart_inventory.png", + stack_max = 1, + liquids_pointable = false, + + on_use = function(itemstack, placer, pointed_thing) + local pos = pointed_thing.under + --local node = minetest.get_node(pos) + --if minetest.get_item_group(node.name, "rail") == 0 then + -- return + --end + minetest.add_entity(pos, "amogus_rails:cart") + --if not minetest.setting_getbool("creative_mode") then + itemstack:take_item() + --end + return itemstack + end, +}) + + +minetest.register_node("amogus_rails:rail", { + description = "Custom Rail", + drawtype = "raillike", + tiles = {"rail.png", "rail_curved.png", "rail_t_junction.png", "rail_crossing.png"}, + inventory_image = "rail.png", + wield_image = "rail.png", + paramtype = "light", + sunlight_propagates = true, + is_ground_content = false, + walkable = false, + selection_box = { + type = "fixed", + fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2}, + }, + groups = {cracky=3, attached_node=1}, + --sounds = default.node_sound_stone_defaults(), +})