diff --git a/CHANGELOG.md b/CHANGELOG.md index 80e5f51..34fdd89 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,17 +1,14 @@ # Changelog -## [Jul 18th - **STILL UNDERDEVELOPMENT** 2024] Update: Aquatic Caves +## [Jul 18th - **STILL UNDERDEVELOPMENT** 2024] Major Update: The Unnamed Update This update contains breaking changes! -The main theme of this update was to revamp oceans and caves, but this update adds a bit of everything! -- Revamped caves *again* -- Revamped oceans - Revamped wood - Removed huts - Added crystal lanterns - New monster and player/human textures -- Added a lot of biomes inspired by the Minecraft mod [Biomes O' Plenty](https://www.curseforge.com/minecraft/mc-mods/biomes-o-plenty) +- Added some biomes inspired by the Minecraft mod [Biomes O' Plenty](https://www.curseforge.com/minecraft/mc-mods/biomes-o-plenty) - Added Aspen Forest - Added Redwood Forests - Added stone and wooden swords @@ -20,6 +17,11 @@ The main theme of this update was to revamp oceans and caves, but this update ad - New snow texture - Add snowman boss battle :0 - Make magic shards more common +- Change humidity and heat of each biome +- Removed wastelands +- Added wind warrior boss battle +- Added windballs +- Added ocean ruins ## [Jul 17th 2024] Unnamed Minor Update diff --git a/mods/pyutest/pyutest_core/blocks.lua b/mods/pyutest/pyutest_core/blocks.lua index 905065d..8001cca 100644 --- a/mods/pyutest/pyutest_core/blocks.lua +++ b/mods/pyutest/pyutest_core/blocks.lua @@ -209,6 +209,12 @@ PyuTestCore.make_building_blocks("pyutest_core:aspen_grass", "Aspen Grass", {"as grass = 1 }) +PyuTestCore.make_building_blocks("pyutest_core:jungle_grass", "Jungle Grass", {"jungle-grass.png"}, nil, { + ground = 1, + acid_vulnerable = 1, + grass = 1 +}) + PyuTestCore.make_building_blocks("pyutest_core:dirt", "Dirt", {"dirt.png"}, nil, { ground = 1, acid_vulnerable = 1 diff --git a/mods/pyutest/pyutest_core/flowers.lua b/mods/pyutest/pyutest_core/flowers.lua index 466cc27..a5ecc98 100644 --- a/mods/pyutest/pyutest_core/flowers.lua +++ b/mods/pyutest/pyutest_core/flowers.lua @@ -78,3 +78,20 @@ PyuTestCore.make_node("pyutest_core:vines", "Vines", { }, inventory_image = "vines.png" }) + +PyuTestCore.make_flower("pyutest_core:kelp", "Kelp", "kelp.png", "pyutest_core:green_dye", true, "plantlike_rooted", { + paramtype2 = "leveled", + place_param2 = 128, + wield_image = "kelp.png", + special_tiles = { + { + image = "kelp.png", + tileable_vertical = true + }, + }, + tiles = { + "gravel.png" + }, + + walkable = true +}) diff --git a/mods/pyutest/pyutest_core/init.lua b/mods/pyutest/pyutest_core/init.lua index 153b6e2..1039833 100644 --- a/mods/pyutest/pyutest_core/init.lua +++ b/mods/pyutest/pyutest_core/init.lua @@ -39,7 +39,6 @@ dofile(PyuTestCore_Path.."/player.lua") dofile(PyuTestCore_Path.."/lootboxes.lua") dofile(PyuTestCore_Path.."/ores.lua") dofile(PyuTestCore_Path.."/abms.lua") -dofile(PyuTestCore_Path.."/mobs.lua") dofile(PyuTestCore_Path.."/combat.lua") dofile(PyuTestCore_Path.."/magic.lua") dofile(PyuTestCore_Path.."/crafts.lua") diff --git a/mods/pyutest/pyutest_core/leaves.lua b/mods/pyutest/pyutest_core/leaves.lua index a137b6d..ae89efb 100644 --- a/mods/pyutest/pyutest_core/leaves.lua +++ b/mods/pyutest/pyutest_core/leaves.lua @@ -20,7 +20,7 @@ PyuTestCore.make_leaves = function (id, desc, tiles) }, { - items = {"pyutest_core:leaves_block"} + items = {leaves_id} } } } diff --git a/mods/pyutest/pyutest_core/mobs.lua b/mods/pyutest/pyutest_core/mobs.lua deleted file mode 100644 index 0bfc151..0000000 --- a/mods/pyutest/pyutest_core/mobs.lua +++ /dev/null @@ -1,245 +0,0 @@ -PyuTestCore.ENTITY_BLOOD_AMOUNT = 6 -PyuTestCore.HUMAN_LIKE_CBOX = {-0.25, -1, -0.25, 0.25, 1, 0.25} - -mobs.fallback_node = "pyutest_core:dirt_block" - -local snowball_hit_player = function (self, player) - player:punch(self.object, nil, { - damage_groups = {fleshy = 9} - }, nil) -end - -mobs:register_arrow("pyutest_core:arrow_snowball", { - visual = "sprite", - visual_size = {x = 1, y = 1}, - textures = {"snowball.png"}, - hit_node = function (self, pos) - PyuTestCore.create_explosion(pos, 1, false, 9, self.object, false) - end, - hit_player = snowball_hit_player, - hit_mob = snowball_hit_player, - velocity = 9, - collisionbox = { - -1.5, -1.5, -1.5, 1.5, 1.5, 1.5 - } -}) - -mobs:register_mob("pyutest_core:monster", { - type = "monster", - hp_max = 20, - hp_min = 20, - walk_velocity = 1, - run_velocity = 3, - armor = 100, - passive = false, - walk_chance = 0, - stand_chance = 25, - damage = 2.7, - attack_chance = 1, - attack_type = "dogfight", - pathfinding = 1, - visual = "upright_sprite", - visual_size = {x = 1, y = 2}, - collisionbox = PyuTestCore.HUMAN_LIKE_CBOX, - physical = true, - blood_amount = PyuTestCore.ENTITY_BLOOD_AMOUNT, - view_range = 30, - reach = 2, - jump = 1, - group_attack = true, - makes_footstep_sound = true, - - textures = { - "monster.png", "monster_back.png" - } -}) -mobs:register_egg("pyutest_core:monster", "Monster Spawn Egg", "egg.png^[multiply:darkgreen", 0) - -mobs:register_mob("pyutest_core:human", { - type = "npc", - hp_max = 20, - hp_min = 20, - walk_velocity = 1, - run_velocity = 6, - armor = 100, - passive = true, - walk_chance = 50, - stand_chance = 50, - damage = 3, - attack_type = "dogfight", - pathfinding = 1, - visual = "upright_sprite", - visual_size = {x = 1, y = 2}, - collisionbox = PyuTestCore.HUMAN_LIKE_CBOX, - textures = {"player.png", "player_back.png"}, - follow = {"pyutest_core:coin"}, - runaway = true, - view_range = 15, - reach = 2, - fear_height = 7, - blood_amount = PyuTestCore.ENTITY_BLOOD_AMOUNT, - makes_footstep_sound = true, -}) -mobs:register_egg("pyutest_core:human", "Human Spawn Egg", "egg.png^[multiply:peachpuff", 0) - -mobs:register_mob("pyutest_core:mimic", { - type = "monster", - hp_max = 15, - hp_min = 15, - walk_velocity = 1, - run_velocity = 3, - armor = 100, - passive = false, - stand_chance = 1, - walk_chance = 0, - damage = 4, - attack_type = "dogfight", - pathfinding = 1, - visual = "cube", - visual_size = {x = 1, y = 1, z = 1}, - collisionbox = { - -0.25, -0.5, -0.25, 0.25, 0.5, 0.25 - }, - textures = {"crate.png", "crate.png", "crate.png", "crate.png", "crate.png", "crate.png"}, - view_range = 12, - blood_amount = PyuTestCore.ENTITY_BLOOD_AMOUNT, - reach = 2 -}) -mobs:register_egg("pyutest_core:mimic", "Mimic Spawn Egg", "egg.png^[multiply:brown", 0) - -mobs:register_mob("pyutest_core:firefly", { - type = "animal", - hp_max = 3, - hp_min = 3, - walk_velocity = 1, - run_velocity = 3, - armor = 100, - passive = true, - stand_chance = 0, - walk_chance = 100, - fly = true, - keep_flying = true, - visual = "sprite", - visual_size = {x = 0.05, y = 0.05}, - collisionbox = { - -0.0, -0.0, -0.0, 0.0, 0.0, 0.0 - }, - textures = {"firefly.png"}, - blood_amount = PyuTestCore.ENTITY_BLOOD_AMOUNT, - glow = 7, -}) -mobs:register_egg("pyutest_core:firefly", "Firefly Spawn Egg", "egg.png^[multiply:yellow", 0) - -mobs:register_mob("pyutest_core:snowman", { - type = "monster", - hp_max = 450, - hp_min = 450, - walk_velocity = 1, - run_velocity = 4, - armor = 100, - passive = false, - walk_chance = 1, - stand_chance = 2, - damage = 9, - attack_chance = 1, - attack_type = "dogshoot", - arrow = "pyutest_core:arrow_snowball", - shoot_interval = 1.2, - shoot_offset = 2, - pathfinding = 1, - visual = "upright_sprite", - visual_size = {x = 1, y = 2}, - collisionbox = PyuTestCore.HUMAN_LIKE_CBOX, - physical = true, - blood_amount = PyuTestCore.ENTITY_BLOOD_AMOUNT, - view_range = 35, - reach = 2, - jump = 1, - group_attack = false, - makes_footstep_sound = true, - dogshoot_switch = 2, - dogshoot_count_max = 3, - dogshoot_count2_max = 6, - - textures = { - "snowman.png", "snowman_back.png" - }, - - drops = { - { - name = "pyutest_core:magic_shards", - min = 2, - max = 5, - chance = 1 - }, - - { - name = "pyutest_core:snowball", - min = 4, - max = 9, - chance = 1 - } - } -}) -mobs:register_egg("pyutest_core:snowman", "Snowman Spawn Egg", "egg.png^[multiply:skyblue", 0) - -local mapgen = minetest.get_mapgen_params().mgname or "???" -if mapgen ~= "flat" and mapgen ~= "singlenode" then - mobs:spawn({ - name = "pyutest_core:monster", - nodes = {"group:ground"}, - interval = 6, - chance = 4, - active_object_count = 3, - min_light = 0, - max_light = 8, - y_max = PyuTestCore_WorldTop, - y_min = PyuTestCore_SurfaceBottom - }) - - mobs:spawn({ - name = "pyutest_core:monster", - nodes = {"group:ground"}, - interval = 2, - chance = 2, - active_object_count = 6, - min_light = 0, - max_light = 8, - y_max = PyuTestCore_DeepOceanMin - 1, - y_min = PyuTestCore_WorldBottom - }) - - mobs:spawn({ - name = "pyutest_core:human", - nodes = {"group:ground"}, - interval = 3, - chance = 4, - active_object_count = 3, - min_light = 9, - max_light = 15, - min_height = PyuTestCore_SurfaceBottom, - day_toggle = true, - }) - - mobs:spawn({ - name = "pyutest_core:mimic", - nodes = {"group:ground"}, - interval = 3, - chance = 18, - active_object_count = 2, - min_light = 0, - max_light = 15, - day_toggle = true, - }) - - mobs:spawn({ - name = "pyutest_core:firefly", - nodes = {"group:ground"}, - interval = 3, - chance = 3, - active_object_count = 4, - min_light = 0, - max_light = 9, - day_toggle = false, - }) -end diff --git a/mods/pyutest/pyutest_core/mod.conf b/mods/pyutest/pyutest_core/mod.conf index 657edae..195fdc0 100644 --- a/mods/pyutest/pyutest_core/mod.conf +++ b/mods/pyutest/pyutest_core/mod.conf @@ -1,2 +1 @@ name = pyutest_core -depends = mobs diff --git a/mods/pyutest/pyutest_core/player.lua b/mods/pyutest/pyutest_core/player.lua index 1ba71a6..142ea0e 100644 --- a/mods/pyutest/pyutest_core/player.lua +++ b/mods/pyutest/pyutest_core/player.lua @@ -37,7 +37,7 @@ minetest.register_globalstep(function(dtime) for p=1, #players do local ctrl = players[p]:get_player_control() if ctrl.aux1 then - set_player_speed(players[p], 1.70) + set_player_speed(players[p], 1.55) else set_player_speed(players[p], 1) end diff --git a/mods/pyutest/pyutest_core/textures/log-top-bottom.png b/mods/pyutest/pyutest_core/textures/log-top-bottom.png deleted file mode 100644 index 2442d09..0000000 Binary files a/mods/pyutest/pyutest_core/textures/log-top-bottom.png and /dev/null differ diff --git a/mods/pyutest/pyutest_core/textures/snowball.png b/mods/pyutest/pyutest_core/textures/snowball.png deleted file mode 100644 index cbd7718..0000000 Binary files a/mods/pyutest/pyutest_core/textures/snowball.png and /dev/null differ diff --git a/mods/pyutest/pyutest_core/wood.lua b/mods/pyutest/pyutest_core/wood.lua index d3f3d9e..426b4bb 100644 --- a/mods/pyutest/pyutest_core/wood.lua +++ b/mods/pyutest/pyutest_core/wood.lua @@ -63,8 +63,6 @@ PyuTestCore.make_wood("pyutest_core:birch", "Birch", { "birch-wood.png" }) - - PyuTestCore.make_wood("pyutest_core:cherry", "Cherry", { "cherry-log-top-bottom.png", "cherry-log-top-bottom.png", @@ -80,3 +78,11 @@ PyuTestCore.make_wood("pyutest_core:redwood", "Redwood", { }, { "redwood.png" }) + +PyuTestCore.make_wood("pyutest_core:jungle", "Jungle", { + "jungle-log-top-bottom.png", + "jungle-log-top-bottom.png", + "jungle-log.png" +}, { + "jungle-wood.png" +}) diff --git a/mods/pyutest/pyutest_inventory/init.lua b/mods/pyutest/pyutest_inventory/init.lua index ce72da8..2712225 100644 --- a/mods/pyutest/pyutest_inventory/init.lua +++ b/mods/pyutest/pyutest_inventory/init.lua @@ -17,21 +17,21 @@ unified_inventory.register_category("pyutest_inventory:blocks", { symbol = "pyutest_core:stone_block", label = "Blocks", index = 3, - items = get_items_from_group("block") + items = get_items_from_group("block") }) unified_inventory.register_category("pyutest_inventory:tools", { symbol = "pyutest_core:iron_pickaxe", label = "Tools", index = 4, - items = get_items_from_group("tool") + items = get_items_from_group("tool") }) unified_inventory.register_category("pyutest_inventory:furniture", { - symbol = "pyutest_core:wooden_chair", + symbol = "pyutest_core:wooden_wood_chair", label = "Furniture", index = 5, - items = get_items_from_group("furniture") + items = get_items_from_group("furniture") }) unified_inventory.register_category("pyutest_inventory:minerals", { diff --git a/mods/pyutest/pyutest_mapgen/README.md b/mods/pyutest/pyutest_mapgen/README.md new file mode 100644 index 0000000..6828bb2 --- /dev/null +++ b/mods/pyutest/pyutest_mapgen/README.md @@ -0,0 +1,3 @@ +# pyutest_mapgen + +Map generation diff --git a/mods/pyutest/pyutest_mapgen/mapgen.lua b/mods/pyutest/pyutest_mapgen/mapgen.lua index f9d7fe5..40b004d 100644 --- a/mods/pyutest/pyutest_mapgen/mapgen.lua +++ b/mods/pyutest/pyutest_mapgen/mapgen.lua @@ -164,7 +164,7 @@ PyuTestCore.register_biome("grassland", PyuTestCore.BIOME_TYPES.NORMAL, { y_min = PyuTestCore_SurfaceBottom, heat_point = 53, - humidity_point = 46, + humidity_point = 78, _pyutest_biome_flowering = true }) @@ -177,7 +177,7 @@ PyuTestCore.register_biome("forest", PyuTestCore.BIOME_TYPES.NORMAL, { y_min = PyuTestCore_SurfaceBottom, heat_point = 50, - humidity_point = 63, + humidity_point = 86, _pyutest_biome_flowering = true }) @@ -200,7 +200,7 @@ PyuTestCore.register_biome("desert", PyuTestCore.BIOME_TYPES.DESERT, { y_max = PyuTestCore_BiomeTops.desert, y_min = PyuTestCore_SurfaceBottom, - heat_point = 78, + heat_point = 84, humidity_point = 4 }) @@ -211,8 +211,8 @@ PyuTestCore.register_biome("desert_mountains", PyuTestCore.BIOME_TYPES.DESERT, { y_max = PyuTestCore_BiomeTops.mountains, y_min = PyuTestCore_BiomeTops.desert, - heat_point = 65, - humidity_point = 8 + heat_point = 83, + humidity_point = 6 }) PyuTestCore.register_biome("snowy_mountains", PyuTestCore.BIOME_TYPES.COLD, { @@ -223,7 +223,7 @@ PyuTestCore.register_biome("snowy_mountains", PyuTestCore.BIOME_TYPES.COLD, { y_min = PyuTestCore_BiomeTops.frozen_plains, heat_point = 6, - humidity_point = 23 + humidity_point = 56 }) PyuTestCore.register_biome("frozen_plains", PyuTestCore.BIOME_TYPES.COLD, { @@ -239,17 +239,7 @@ PyuTestCore.register_biome("frozen_plains", PyuTestCore.BIOME_TYPES.COLD, { depth_water_top = 5, heat_point = 9, - humidity_point = 32 -}) - -PyuTestCore.register_biome("wasteland", PyuTestCore.BIOME_TYPES.WASTELAND, { - node_top = "pyutest_core:dirt_block", - node_filler = "pyutest_core:dirt_block", - - y_max = PyuTestCore_BiomeTops.frozen_plains, - y_min = PyuTestCore_SurfaceBottom, - heat_point = 9, - humidity_point = 9 + humidity_point = 53 }) PyuTestCore.register_biome("mushroom_fields", PyuTestCore.BIOME_TYPES.CHILLY, { @@ -260,7 +250,7 @@ PyuTestCore.register_biome("mushroom_fields", PyuTestCore.BIOME_TYPES.CHILLY, { y_min = PyuTestCore_SurfaceBottom, heat_point = 34, - humidity_point = 76 + humidity_point = 96 }) PyuTestCore.register_biome("ice_spikes", PyuTestCore.BIOME_TYPES.COLD, { @@ -274,7 +264,7 @@ PyuTestCore.register_biome("ice_spikes", PyuTestCore.BIOME_TYPES.COLD, { depth_water_top = 5, heat_point = 9, - humidity_point = 34 + humidity_point = 57 }) PyuTestCore.register_biome("meadow", PyuTestCore.BIOME_TYPES.NORMAL, { @@ -285,8 +275,8 @@ PyuTestCore.register_biome("meadow", PyuTestCore.BIOME_TYPES.NORMAL, { y_max = PyuTestCore_BiomeTops.mountains, y_min = PyuTestCore_SurfaceBottom, - heat_point = 32, - humidity_point = 69, + heat_point = 41, + humidity_point = 83, _pyutest_biome_flowering = true, _pyutest_biome_flowering_extra = true @@ -299,8 +289,8 @@ PyuTestCore.register_biome("old_growth_forest", PyuTestCore.BIOME_TYPES.NORMAL, y_max = PyuTestCore_BiomeTops.forest, y_min = PyuTestCore_SurfaceBottom, - heat_point = 38, - humidity_point = 66, + heat_point = 45, + humidity_point = 92, _pyutest_biome_flowering = true }) @@ -316,7 +306,7 @@ PyuTestCore.register_biome("snowy_forest", PyuTestCore.BIOME_TYPES.COLD, { depth_water_top = 5, heat_point = 8, - humidity_point = 28 + humidity_point = 49 }) PyuTestCore.register_biome("savanna", PyuTestCore.BIOME_TYPES.WARM, { @@ -326,7 +316,7 @@ PyuTestCore.register_biome("savanna", PyuTestCore.BIOME_TYPES.WARM, { y_max = PyuTestCore_BiomeTops.grassland, y_min = PyuTestCore_SurfaceBottom, - heat_point = 58, + heat_point = 72, humidity_point = 19 }) @@ -350,8 +340,8 @@ PyuTestCore.register_biome("birch_forest", PyuTestCore.BIOME_TYPES.NORMAL, { y_max = PyuTestCore_BiomeTops.forest, y_min = PyuTestCore_SurfaceBottom, - heat_point = 40, - humidity_point = 70, + heat_point = 48, + humidity_point = 85, _pyutest_biome_flowering = true }) @@ -363,8 +353,8 @@ PyuTestCore.register_biome("cherry_grove", PyuTestCore.BIOME_TYPES.NORMAL, { y_max = PyuTestCore_BiomeTops.forest, y_min = PyuTestCore_SurfaceBottom, - heat_point = 36, - humidity_point = 64, + heat_point = 46, + humidity_point = 92, _pyutest_biome_flowering = true, _pyutest_biome_flowering_extra = true @@ -378,7 +368,7 @@ PyuTestCore.register_biome("swamp", PyuTestCore.BIOME_TYPES.WETLAND, { y_min = PyuTestCore_SurfaceBottom, heat_point = 30, - humidity_point = 81, + humidity_point = 88, }) PyuTestCore.register_biome("old_growth_birch_forest", PyuTestCore.BIOME_TYPES.NORMAL, { @@ -388,8 +378,8 @@ PyuTestCore.register_biome("old_growth_birch_forest", PyuTestCore.BIOME_TYPES.NO y_max = PyuTestCore_BiomeTops.forest, y_min = PyuTestCore_SurfaceBottom, - heat_point = 38, - humidity_point = 74, + heat_point = 47, + humidity_point = 80, _pyutest_biome_flowering = true, _pyutest_biome_flowering_extra = true @@ -403,7 +393,7 @@ PyuTestCore.register_biome("aspen_forest", PyuTestCore.BIOME_TYPES.CHILLY, { y_min = PyuTestCore_SurfaceBottom, heat_point = 34, - humidity_point = 62, + humidity_point = 52, _pyutest_biome_flowering = true }) @@ -416,7 +406,21 @@ PyuTestCore.register_biome("redwood_forest", PyuTestCore.BIOME_TYPES.CHILLY, { y_min = PyuTestCore_SurfaceBottom, heat_point = 28, - humidity_point = 48, + humidity_point = 54, _pyutest_biome_flowering = true }) + +PyuTestCore.register_biome("jungle", PyuTestCore.BIOME_TYPES.WARM, { + node_top = "pyutest_core:jungle_grass_block", + node_filler = "pyutest_core:dirt_block", + + y_max = PyuTestCore_BiomeTops.forest, + y_min = PyuTestCore_SurfaceBottom, + + heat_point = 48, + humidity_point = 100, + + _pyutest_biome_flowering = true, + _pyutest_biome_flowering_extra = true +}) diff --git a/mods/pyutest/pyutest_mapgen/schematics/jbush.mts b/mods/pyutest/pyutest_mapgen/schematics/jbush.mts new file mode 100644 index 0000000..5a7f948 Binary files /dev/null and b/mods/pyutest/pyutest_mapgen/schematics/jbush.mts differ diff --git a/mods/pyutest/pyutest_mapgen/schematics/tree14.mts b/mods/pyutest/pyutest_mapgen/schematics/tree14.mts new file mode 100644 index 0000000..6b61bfc Binary files /dev/null and b/mods/pyutest/pyutest_mapgen/schematics/tree14.mts differ diff --git a/mods/pyutest/pyutest_mapgen/schematics/tree15.mts b/mods/pyutest/pyutest_mapgen/schematics/tree15.mts new file mode 100644 index 0000000..6981afe Binary files /dev/null and b/mods/pyutest/pyutest_mapgen/schematics/tree15.mts differ diff --git a/mods/pyutest/pyutest_mapgen/structures.lua b/mods/pyutest/pyutest_mapgen/structures.lua index ec4ce77..ed4e418 100644 --- a/mods/pyutest/pyutest_mapgen/structures.lua +++ b/mods/pyutest/pyutest_mapgen/structures.lua @@ -37,17 +37,21 @@ minetest.register_decoration({ }) PyuTestMapgen.register_structure("ice_spike", "icespike", { - fill_ratio = 0.0004, + fill_ratio = 0.0008, place_on = { "pyutest_core:ice_block", "pyutest_core:stone_block" }, biomes = { "ice_spikes", + "ice_spikes_ocean", "ice_spikes_cave" }, y_max = PyuTestCore_BiomeTops.ice_spikes, y_min = PyuTestCore_WorldBottom, + -- place_offset_y = -1, + spawn_by = {"air"}, + num_spawn_by = 2 }) PyuTestMapgen.register_structure("obsidian_mound", "obsidian-mound", { @@ -58,7 +62,6 @@ PyuTestMapgen.register_structure("obsidian_mound", "obsidian-mound", { }, y_max = PyuTestCore_BiomeTops.mushroom_fields, y_min = PyuTestCore_SurfaceBottom, - place_offset_y = 1 }) PyuTestMapgen.register_structure("ocean_ruins", "ocean_ruins", { @@ -67,7 +70,6 @@ PyuTestMapgen.register_structure("ocean_ruins", "ocean_ruins", { biomes = PyuTestCore.get_biomes_from_type(PyuTestCore.BIOME_TYPES.OCEAN), y_max = PyuTestCore_DeepOceanMax + 4, y_min = PyuTestCore_DeepOceanMin, - place_offset_y = 1, spawn_by = {"pyutest_core:water_source"}, num_spawn_by = 2 }) diff --git a/mods/pyutest/pyutest_mapgen/trees.lua b/mods/pyutest/pyutest_mapgen/trees.lua index 18b6da2..161104d 100644 --- a/mods/pyutest/pyutest_mapgen/trees.lua +++ b/mods/pyutest/pyutest_mapgen/trees.lua @@ -103,7 +103,6 @@ minetest.register_decoration({ schematic = PyuTestCore.get_schem_path("tree"), rotation = "random", flags = "place_center_x, place_center_z", - place_offset_y = 1 }) minetest.register_decoration({ @@ -117,7 +116,6 @@ minetest.register_decoration({ schematic = PyuTestCore.get_schem_path("tree2"), rotation = "random", flags = "place_center_x, place_center_z", - place_offset_y = 1 }) minetest.register_decoration({ @@ -184,7 +182,6 @@ minetest.register_decoration({ schematic = PyuTestCore.get_schem_path("tree3"), rotation = "random", flags = "place_center_x, place_center_z", - place_offset_y = 1 }) minetest.register_decoration({ @@ -198,7 +195,6 @@ minetest.register_decoration({ schematic = PyuTestCore.get_schem_path("tree5"), rotation = "random", flags = "place_center_x, place_center_z", - place_offset_y = 1 }) minetest.register_decoration({ @@ -212,7 +208,6 @@ minetest.register_decoration({ schematic = PyuTestCore.get_schem_path("tree6"), rotation = "random", flags = "place_center_x, place_center_z", - place_offset_y = 1 }) minetest.register_decoration({ @@ -226,7 +221,6 @@ minetest.register_decoration({ schematic = PyuTestCore.get_schem_path("tree7"), rotation = "random", flags = "place_center_x, place_center_z", - place_offset_y = 1 }) minetest.register_decoration({ @@ -240,7 +234,6 @@ minetest.register_decoration({ schematic = PyuTestCore.get_schem_path("tree8"), rotation = "random", flags = "place_center_x, place_center_z", - place_offset_y = 1 }) minetest.register_decoration({ @@ -254,7 +247,6 @@ minetest.register_decoration({ schematic = PyuTestCore.get_schem_path("stree"), rotation = "random", flags = "place_center_x, place_center_z", - place_offset_y = 1 }) minetest.register_decoration({ @@ -268,7 +260,6 @@ minetest.register_decoration({ schematic = PyuTestCore.get_schem_path("stree2"), rotation = "random", flags = "place_center_x, place_center_z", - place_offset_y = 1 }) minetest.register_decoration({ @@ -282,7 +273,6 @@ minetest.register_decoration({ schematic = PyuTestCore.get_schem_path("tree9"), rotation = "random", flags = "place_center_x, place_center_z", - place_offset_y = 1 }) minetest.register_decoration({ @@ -296,7 +286,6 @@ minetest.register_decoration({ schematic = PyuTestCore.get_schem_path("tree10"), rotation = "random", flags = "place_center_x, place_center_z", - place_offset_y = 1 }) minetest.register_decoration({ @@ -310,7 +299,6 @@ minetest.register_decoration({ schematic = PyuTestCore.get_schem_path("tree11"), rotation = "random", flags = "place_center_x, place_center_z", - place_offset_y = 1 }) minetest.register_decoration({ @@ -324,7 +312,6 @@ minetest.register_decoration({ schematic = PyuTestCore.get_schem_path("tree12"), rotation = "random", flags = "place_center_x, place_center_z", - place_offset_y = 1 }) minetest.register_decoration({ @@ -338,5 +325,43 @@ minetest.register_decoration({ schematic = PyuTestCore.get_schem_path("tree13"), rotation = "random", flags = "place_center_x, place_center_z", - place_offset_y = 1 +}) + +minetest.register_decoration({ + deco_type = "schematic", + place_on = {"pyutest_core:jungle_grass_block"}, + sidelen = 16, + fill_ratio = 0.010, + biomes = {"jungle"}, + y_max = PyuTestCore_WorldTop, + y_min = 1, + schematic = PyuTestCore.get_schem_path("tree14"), + rotation = "random", + flags = "place_center_x, place_center_z", +}) + +minetest.register_decoration({ + deco_type = "schematic", + place_on = {"pyutest_core:jungle_grass_block"}, + sidelen = 16, + fill_ratio = 0.008, + biomes = {"jungle"}, + y_max = PyuTestCore_WorldTop, + y_min = 1, + schematic = PyuTestCore.get_schem_path("tree15"), + rotation = "random", + flags = "place_center_x, place_center_z", +}) + +minetest.register_decoration({ + deco_type = "schematic", + place_on = {"pyutest_core:jungle_grass_block"}, + sidelen = 16, + fill_ratio = 0.008, + biomes = {"jungle"}, + y_max = PyuTestCore_WorldTop, + y_min = 1, + schematic = PyuTestCore.get_schem_path("jbush"), + rotation = "random", + flags = "place_center_x, place_center_z", }) diff --git a/mods/pyutest/pyutest_mobs/basic.lua b/mods/pyutest/pyutest_mobs/basic.lua new file mode 100644 index 0000000..57b8c32 --- /dev/null +++ b/mods/pyutest/pyutest_mobs/basic.lua @@ -0,0 +1,105 @@ +mobs:register_mob("pyutest_mobs:monster", { + type = "monster", + hp_max = 20, + hp_min = 20, + walk_velocity = 1, + run_velocity = 3, + armor = 100, + passive = false, + walk_chance = 0, + stand_chance = 25, + damage = 2.7, + attack_chance = 1, + attack_type = "dogfight", + pathfinding = 1, + visual = "upright_sprite", + visual_size = {x = 1, y = 2}, + collisionbox = PyuTestMobs.HUMAN_LIKE_CBOX, + physical = true, + blood_amount = PyuTestMobs.ENTITY_BLOOD_AMOUNT, + view_range = 30, + reach = 2, + jump = 1, + group_attack = true, + makes_footstep_sound = true, + + textures = { + "monster.png", "monster_back.png" + } +}) +mobs:register_egg("pyutest_mobs:monster", "Monster Spawn Egg", "egg.png^[multiply:darkgreen", 0) + +mobs:register_mob("pyutest_mobs:human", { + type = "npc", + hp_max = 20, + hp_min = 20, + walk_velocity = 1, + run_velocity = 6, + armor = 100, + passive = true, + walk_chance = 50, + stand_chance = 50, + damage = 3, + attack_type = "dogfight", + pathfinding = 1, + visual = "upright_sprite", + visual_size = {x = 1, y = 2}, + collisionbox = PyuTestMobs.HUMAN_LIKE_CBOX, + textures = {"player.png", "player_back.png"}, + follow = {"pyutest_mobs:coin"}, + runaway = true, + view_range = 15, + reach = 2, + fear_height = 7, + blood_amount = PyuTestMobs.ENTITY_BLOOD_AMOUNT, + makes_footstep_sound = true, +}) +mobs:register_egg("pyutest_mobs:human", "Human Spawn Egg", "egg.png^[multiply:peachpuff", 0) + +mobs:register_mob("pyutest_mobs:mimic", { + type = "monster", + hp_max = 15, + hp_min = 15, + walk_velocity = 1, + run_velocity = 3, + armor = 100, + passive = false, + stand_chance = 1, + walk_chance = 0, + damage = 4, + attack_type = "dogfight", + pathfinding = 1, + visual = "cube", + visual_size = {x = 1, y = 1, z = 1}, + collisionbox = { + -0.25, -0.5, -0.25, 0.25, 0.5, 0.25 + }, + textures = {"crate.png", "crate.png", "crate.png", "crate.png", "crate.png", "crate.png"}, + view_range = 12, + blood_amount = PyuTestMobs.ENTITY_BLOOD_AMOUNT, + reach = 2 +}) +mobs:register_egg("pyutest_mobs:mimic", "Mimic Spawn Egg", "egg.png^[multiply:brown", 0) + +mobs:register_mob("pyutest_mobs:firefly", { + type = "animal", + hp_max = 3, + hp_min = 3, + walk_velocity = 1, + run_velocity = 3, + armor = 100, + passive = true, + stand_chance = 0, + walk_chance = 100, + fly = true, + keep_flying = true, + visual = "sprite", + visual_size = {x = 0.05, y = 0.05}, + collisionbox = { + -0.0, -0.0, -0.0, 0.0, 0.0, 0.0 + }, + textures = {"firefly.png"}, + blood_amount = PyuTestMobs.ENTITY_BLOOD_AMOUNT, + glow = 7, +}) +mobs:register_egg("pyutest_mobs:firefly", "Firefly Spawn Egg", "egg.png^[multiply:yellow", 0) diff --git a/mods/pyutest/pyutest_mobs/init.lua b/mods/pyutest/pyutest_mobs/init.lua new file mode 100644 index 0000000..971f199 --- /dev/null +++ b/mods/pyutest/pyutest_mobs/init.lua @@ -0,0 +1,72 @@ +PyuTestMobs_Path = minetest.get_modpath("pyutest_mobs") +PyuTestMobs = {} + +PyuTestMobs.ENTITY_BLOOD_AMOUNT = 6 +PyuTestMobs.HUMAN_LIKE_CBOX = {-0.25, -1, -0.25, 0.25, 1, 0.25} + +mobs.fallback_node = "pyutest_core:dirt_block" + +dofile(PyuTestMobs_Path.."/basic.lua") -- Humans, Monsters, Mimics, Fireflies and future basic mobs +dofile(PyuTestMobs_Path.."/snowman.lua") -- Snowman +dofile(PyuTestMobs_Path.."/wind_warrior.lua") -- Wind Warrior + +local mapgen = minetest.get_mapgen_params().mgname or "???" +if mapgen ~= "flat" and mapgen ~= "singlenode" then + mobs:spawn({ + name = "pyutest_mobs:monster", + nodes = {"group:ground"}, + interval = 6, + chance = 4, + active_object_count = 3, + min_light = 0, + max_light = 8, + y_max = PyuTestCore_WorldTop, + y_min = PyuTestCore_SurfaceBottom + }) + + mobs:spawn({ + name = "pyutest_mobs:monster", + nodes = {"group:ground"}, + interval = 2, + chance = 2, + active_object_count = 6, + min_light = 0, + max_light = 8, + y_max = PyuTestCore_DeepOceanMin - 1, + y_min = PyuTestCore_WorldBottom + }) + + mobs:spawn({ + name = "pyutest_mobs:human", + nodes = {"group:ground"}, + interval = 3, + chance = 4, + active_object_count = 3, + min_light = 9, + max_light = 15, + min_height = PyuTestCore_SurfaceBottom, + day_toggle = true, + }) + + mobs:spawn({ + name = "pyutest_mobs:mimic", + nodes = {"group:ground"}, + interval = 3, + chance = 18, + active_object_count = 2, + min_light = 0, + max_light = 15, + day_toggle = true, + }) + + mobs:spawn({ + name = "pyutest_mobs:firefly", + nodes = {"group:ground", "air"}, + interval = 3, + chance = 3, + active_object_count = 4, + min_light = 0, + max_light = 9, + day_toggle = false, + }) +end diff --git a/mods/pyutest/pyutest_mobs/mod.conf b/mods/pyutest/pyutest_mobs/mod.conf new file mode 100644 index 0000000..9d9b28f --- /dev/null +++ b/mods/pyutest/pyutest_mobs/mod.conf @@ -0,0 +1,2 @@ +name = pyutest_mobs +depends = pyutest_core,mobs,pyutest_mapgen diff --git a/mods/pyutest/pyutest_mobs/snowman.lua b/mods/pyutest/pyutest_mobs/snowman.lua new file mode 100644 index 0000000..10ac9ff --- /dev/null +++ b/mods/pyutest/pyutest_mobs/snowman.lua @@ -0,0 +1,75 @@ +local snowball_hit_player = function (self, player) + player:punch(self.object, nil, { + damage_groups = {fleshy = 9} + }, nil) +end + +mobs:register_arrow("pyutest_mobs:arrow_snowball", { + visual = "sprite", + visual_size = {x = 1, y = 1}, + textures = {"snowball.png"}, + hit_node = function (self, pos) + PyuTestCore.create_explosion(pos, 1, false, 9, self.object, false) + end, + hit_player = snowball_hit_player, + hit_mob = snowball_hit_player, + velocity = 9, + collisionbox = { + -1.5, -1.5, -1.5, 1.5, 1.5, 1.5 + } +}) + + +mobs:register_mob("pyutest_mobs:snowman", { + type = "monster", + hp_max = 450, + hp_min = 450, + walk_velocity = 1, + run_velocity = 4, + armor = 100, + passive = false, + walk_chance = 1, + stand_chance = 2, + damage = 9, + attack_chance = 1, + attack_type = "dogshoot", + arrow = "pyutest_mobs:arrow_snowball", + shoot_interval = 0.75, + shoot_offset = 2, + homing = true, + pathfinding = 1, + visual = "upright_sprite", + visual_size = {x = 1, y = 2}, + collisionbox = PyuTestMobs.HUMAN_LIKE_CBOX, + physical = true, + blood_amount = PyuTestMobs.ENTITY_BLOOD_AMOUNT, + view_range = 35, + reach = 2, + jump = 1, + group_attack = false, + makes_footstep_sound = true, + dogshoot_switch = 2, + dogshoot_count_max = 3, + dogshoot_count2_max = 6, + + textures = { + "snowman.png", "snowman_back.png" + }, + + drops = { + { + name = "pyutest_core:magic_shards", + min = 2, + max = 5, + chance = 1 + }, + + { + name = "pyutest_core:snowball", + min = 4, + max = 9, + chance = 1 + } + } +}) +mobs:register_egg("pyutest_mobs:snowman", "Snowman Spawn Egg", "egg.png^[multiply:skyblue", 0) diff --git a/mods/pyutest/pyutest_mobs/wind_warrior.lua b/mods/pyutest/pyutest_mobs/wind_warrior.lua new file mode 100644 index 0000000..40329c1 --- /dev/null +++ b/mods/pyutest/pyutest_mobs/wind_warrior.lua @@ -0,0 +1,71 @@ +local windball_hit_player = function (self, player) + player:punch(self.object, nil, { + damage_groups = {fleshy = 3} + }, nil) + + math.randomseed(os.time()) + player:add_velocity({ + x = 0, + z = 0, + y = math.random(18, 25) + }) +end + +mobs:register_arrow("pyutest_mobs:arrow_windball", { + visual = "sprite", + visual_size = {x = 1, y = 1}, + textures = {"windball.png"}, + hit_player = windball_hit_player, + hit_mob = windball_hit_player, + velocity = 9, + collisionbox = { + -1.5, -1.5, -1.5, 1.5, 1.5, 1.5 + } +}) + +mobs:register_mob("pyutest_mobs:wind_warrior", { + type = "monster", + hp_max = 350, + hp_min = 350, + walk_velocity = 1, + run_velocity = 4, + armor = 100, + passive = false, + walk_chance = 1, + stand_chance = 2, + damage = 9, + attack_chance = 1, + attack_type = "dogshoot", + arrow = "pyutest_mobs:arrow_windball", + shoot_interval = 0.75, + shoot_offset = 2, + homing = true, + pathfinding = 1, + visual = "upright_sprite", + visual_size = {x = 1, y = 2}, + collisionbox = PyuTestMobs.HUMAN_LIKE_CBOX, + physical = true, + blood_amount = PyuTestMobs.ENTITY_BLOOD_AMOUNT, + view_range = 35, + reach = 2, + jump = 1, + group_attack = false, + makes_footstep_sound = true, + dogshoot_switch = 1, + dogshoot_count_max = 3, + dogshoot_count2_max = 6, + + textures = { + "wind-warrior.png", "wind-warrior_back.png" + }, + + drops = { + { + name = "pyutest_core:magic_shards", + min = 4, + max = 7, + chance = 1 + } + } +}) +mobs:register_egg("pyutest_mobs:wind_warrior", "Wind Warrior Spawn Egg", "egg.png^[multiply:navy", 0) diff --git a/mods/pyutest/pyutest_core/textures/acid.png b/textures/acid.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/acid.png rename to textures/acid.png diff --git a/mods/pyutest/pyutest_core/textures/andesite.png b/textures/andesite.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/andesite.png rename to textures/andesite.png diff --git a/mods/pyutest/pyutest_core/textures/apple.png b/textures/apple.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/apple.png rename to textures/apple.png diff --git a/mods/pyutest/pyutest_core/textures/aspen-grass.png b/textures/aspen-grass.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/aspen-grass.png rename to textures/aspen-grass.png diff --git a/mods/pyutest/pyutest_core/textures/aspen-leaves.png b/textures/aspen-leaves.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/aspen-leaves.png rename to textures/aspen-leaves.png diff --git a/mods/pyutest/pyutest_core/textures/barrier.png b/textures/barrier.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/barrier.png rename to textures/barrier.png diff --git a/mods/pyutest/pyutest_core/textures/basalt.png b/textures/basalt.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/basalt.png rename to textures/basalt.png diff --git a/mods/pyutest/pyutest_core/textures/birch-log-top-bottom.png b/textures/birch-log-top-bottom.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/birch-log-top-bottom.png rename to textures/birch-log-top-bottom.png diff --git a/mods/pyutest/pyutest_core/textures/birch-log.png b/textures/birch-log.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/birch-log.png rename to textures/birch-log.png diff --git a/mods/pyutest/pyutest_core/textures/birch-wood.png b/textures/birch-wood.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/birch-wood.png rename to textures/birch-wood.png diff --git a/mods/pyutest/pyutest_core/textures/black-rose.png b/textures/black-rose.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/black-rose.png rename to textures/black-rose.png diff --git a/mods/pyutest/pyutest_core/textures/blast.png b/textures/blast.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/blast.png rename to textures/blast.png diff --git a/mods/pyutest/pyutest_core/textures/bomb.png b/textures/bomb.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/bomb.png rename to textures/bomb.png diff --git a/mods/pyutest/pyutest_core/textures/bread.png b/textures/bread.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/bread.png rename to textures/bread.png diff --git a/mods/pyutest/pyutest_core/textures/brick.png b/textures/brick.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/brick.png rename to textures/brick.png diff --git a/mods/pyutest/pyutest_core/textures/bricks.png b/textures/bricks.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/bricks.png rename to textures/bricks.png diff --git a/mods/pyutest/pyutest_core/textures/cherry-leaves.png b/textures/cherry-leaves.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/cherry-leaves.png rename to textures/cherry-leaves.png diff --git a/mods/pyutest/pyutest_core/textures/cherry-log-top-bottom.png b/textures/cherry-log-top-bottom.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/cherry-log-top-bottom.png rename to textures/cherry-log-top-bottom.png diff --git a/mods/pyutest/pyutest_core/textures/cherry-log.png b/textures/cherry-log.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/cherry-log.png rename to textures/cherry-log.png diff --git a/mods/pyutest/pyutest_core/textures/cherry-wood.png b/textures/cherry-wood.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/cherry-wood.png rename to textures/cherry-wood.png diff --git a/mods/pyutest/pyutest_core/textures/clay-block.png b/textures/clay-block.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/clay-block.png rename to textures/clay-block.png diff --git a/mods/pyutest/pyutest_core/textures/clay.png b/textures/clay.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/clay.png rename to textures/clay.png diff --git a/mods/pyutest/pyutest_core/textures/coin.png b/textures/coin.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/coin.png rename to textures/coin.png diff --git a/mods/pyutest/pyutest_core/textures/crate.png b/textures/crate.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/crate.png rename to textures/crate.png diff --git a/mods/pyutest/pyutest_core/textures/crystal-lantern.png b/textures/crystal-lantern.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/crystal-lantern.png rename to textures/crystal-lantern.png diff --git a/mods/pyutest/pyutest_core/textures/dark-grass.png b/textures/dark-grass.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/dark-grass.png rename to textures/dark-grass.png diff --git a/mods/pyutest/pyutest_core/textures/dark-leaves.png b/textures/dark-leaves.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/dark-leaves.png rename to textures/dark-leaves.png diff --git a/mods/pyutest/pyutest_core/textures/deadbush.png b/textures/deadbush.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/deadbush.png rename to textures/deadbush.png diff --git a/mods/pyutest/pyutest_core/textures/device.png b/textures/device.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/device.png rename to textures/device.png diff --git a/mods/pyutest/pyutest_core/textures/diamond-pickaxe.png b/textures/diamond-pickaxe.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/diamond-pickaxe.png rename to textures/diamond-pickaxe.png diff --git a/mods/pyutest/pyutest_core/textures/diamond-sword.png b/textures/diamond-sword.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/diamond-sword.png rename to textures/diamond-sword.png diff --git a/mods/pyutest/pyutest_core/textures/dirt.png b/textures/dirt.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/dirt.png rename to textures/dirt.png diff --git a/mods/pyutest/pyutest_core/textures/dye.png b/textures/dye.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/dye.png rename to textures/dye.png diff --git a/mods/pyutest/pyutest_core/textures/egg.png b/textures/egg.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/egg.png rename to textures/egg.png diff --git a/mods/pyutest/pyutest_core/textures/enchanted-obsidian.png b/textures/enchanted-obsidian.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/enchanted-obsidian.png rename to textures/enchanted-obsidian.png diff --git a/mods/pyutest/pyutest_core/textures/enchanted-pickaxe.png b/textures/enchanted-pickaxe.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/enchanted-pickaxe.png rename to textures/enchanted-pickaxe.png diff --git a/mods/pyutest/pyutest_core/textures/enchanted-sword.png b/textures/enchanted-sword.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/enchanted-sword.png rename to textures/enchanted-sword.png diff --git a/mods/pyutest/pyutest_core/textures/fire.png b/textures/fire.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/fire.png rename to textures/fire.png diff --git a/mods/pyutest/pyutest_core/textures/firefly.png b/textures/firefly.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/firefly.png rename to textures/firefly.png diff --git a/mods/pyutest/pyutest_core/textures/flower.png b/textures/flower.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/flower.png rename to textures/flower.png diff --git a/mods/pyutest/pyutest_core/textures/flower2.png b/textures/flower2.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/flower2.png rename to textures/flower2.png diff --git a/mods/pyutest/pyutest_core/textures/flower3.png b/textures/flower3.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/flower3.png rename to textures/flower3.png diff --git a/mods/pyutest/pyutest_core/textures/flower4.png b/textures/flower4.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/flower4.png rename to textures/flower4.png diff --git a/mods/pyutest/pyutest_core/textures/furnace-front.png b/textures/furnace-front.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/furnace-front.png rename to textures/furnace-front.png diff --git a/mods/pyutest/pyutest_core/textures/furnace-sides.png b/textures/furnace-sides.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/furnace-sides.png rename to textures/furnace-sides.png diff --git a/mods/pyutest/pyutest_core/textures/furnace-top-bottom.png b/textures/furnace-top-bottom.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/furnace-top-bottom.png rename to textures/furnace-top-bottom.png diff --git a/mods/pyutest/pyutest_core/textures/glass-bottle.png b/textures/glass-bottle.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/glass-bottle.png rename to textures/glass-bottle.png diff --git a/mods/pyutest/pyutest_core/textures/glass.png b/textures/glass.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/glass.png rename to textures/glass.png diff --git a/mods/pyutest/pyutest_core/textures/granite.png b/textures/granite.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/granite.png rename to textures/granite.png diff --git a/mods/pyutest/pyutest_core/textures/grass-plant.png b/textures/grass-plant.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/grass-plant.png rename to textures/grass-plant.png diff --git a/mods/pyutest/pyutest_core/textures/grass.png b/textures/grass.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/grass.png rename to textures/grass.png diff --git a/mods/pyutest/pyutest_core/textures/gravel.png b/textures/gravel.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/gravel.png rename to textures/gravel.png diff --git a/mods/pyutest/pyutest_core/textures/hand.png b/textures/hand.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/hand.png rename to textures/hand.png diff --git a/mods/pyutest/pyutest_core/textures/haybale-top-bottom.png b/textures/haybale-top-bottom.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/haybale-top-bottom.png rename to textures/haybale-top-bottom.png diff --git a/mods/pyutest/pyutest_core/textures/haybale.png b/textures/haybale.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/haybale.png rename to textures/haybale.png diff --git a/mods/pyutest/pyutest_core/textures/ice.png b/textures/ice.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/ice.png rename to textures/ice.png diff --git a/mods/pyutest/pyutest_core/textures/ingot.png b/textures/ingot.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/ingot.png rename to textures/ingot.png diff --git a/mods/pyutest/pyutest_core/textures/iron-pickaxe.png b/textures/iron-pickaxe.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/iron-pickaxe.png rename to textures/iron-pickaxe.png diff --git a/mods/pyutest/pyutest_core/textures/iron-sword.png b/textures/iron-sword.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/iron-sword.png rename to textures/iron-sword.png diff --git a/textures/jungle-grass.png b/textures/jungle-grass.png new file mode 100644 index 0000000..6e33988 Binary files /dev/null and b/textures/jungle-grass.png differ diff --git a/textures/jungle-log-top-bottom.png b/textures/jungle-log-top-bottom.png new file mode 100644 index 0000000..29f5afe Binary files /dev/null and b/textures/jungle-log-top-bottom.png differ diff --git a/textures/jungle-log.png b/textures/jungle-log.png new file mode 100644 index 0000000..720e34c Binary files /dev/null and b/textures/jungle-log.png differ diff --git a/textures/jungle-wood.png b/textures/jungle-wood.png new file mode 100644 index 0000000..cc83ca6 Binary files /dev/null and b/textures/jungle-wood.png differ diff --git a/textures/kelp.png b/textures/kelp.png new file mode 100644 index 0000000..6522eb5 Binary files /dev/null and b/textures/kelp.png differ diff --git a/mods/pyutest/pyutest_core/textures/ladder.png b/textures/ladder.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/ladder.png rename to textures/ladder.png diff --git a/mods/pyutest/pyutest_core/textures/lava.png b/textures/lava.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/lava.png rename to textures/lava.png diff --git a/mods/pyutest/pyutest_core/textures/leaves.png b/textures/leaves.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/leaves.png rename to textures/leaves.png diff --git a/mods/pyutest/pyutest_core/textures/light.png b/textures/light.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/light.png rename to textures/light.png diff --git a/mods/pyutest/pyutest_core/textures/lilypad.png b/textures/lilypad.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/lilypad.png rename to textures/lilypad.png diff --git a/textures/log-top-bottom.png b/textures/log-top-bottom.png new file mode 100644 index 0000000..eea0ab8 Binary files /dev/null and b/textures/log-top-bottom.png differ diff --git a/mods/pyutest/pyutest_core/textures/log.png b/textures/log.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/log.png rename to textures/log.png diff --git a/mods/pyutest/pyutest_core/textures/lump.png b/textures/lump.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/lump.png rename to textures/lump.png diff --git a/mods/pyutest/pyutest_core/textures/magic-shards.png b/textures/magic-shards.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/magic-shards.png rename to textures/magic-shards.png diff --git a/mods/pyutest/pyutest_core/textures/maybell.png b/textures/maybell.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/maybell.png rename to textures/maybell.png diff --git a/mods/pyutest/pyutest_core/textures/metal.png b/textures/metal.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/metal.png rename to textures/metal.png diff --git a/mods/pyutest/pyutest_core/textures/molten-rock.png b/textures/molten-rock.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/molten-rock.png rename to textures/molten-rock.png diff --git a/mods/pyutest/pyutest_core/textures/monster.png b/textures/monster.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/monster.png rename to textures/monster.png diff --git a/mods/pyutest/pyutest_core/textures/monster_back.png b/textures/monster_back.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/monster_back.png rename to textures/monster_back.png diff --git a/mods/pyutest/pyutest_core/textures/mushroom-stem.png b/textures/mushroom-stem.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/mushroom-stem.png rename to textures/mushroom-stem.png diff --git a/mods/pyutest/pyutest_core/textures/mushroom.png b/textures/mushroom.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/mushroom.png rename to textures/mushroom.png diff --git a/mods/pyutest/pyutest_core/textures/mycelium.png b/textures/mycelium.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/mycelium.png rename to textures/mycelium.png diff --git a/mods/pyutest/pyutest_core/textures/obsidian.png b/textures/obsidian.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/obsidian.png rename to textures/obsidian.png diff --git a/mods/pyutest/pyutest_core/textures/oil.png b/textures/oil.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/oil.png rename to textures/oil.png diff --git a/mods/pyutest/pyutest_core/textures/orange-tulip.png b/textures/orange-tulip.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/orange-tulip.png rename to textures/orange-tulip.png diff --git a/mods/pyutest/pyutest_core/textures/ore-amethyst.png b/textures/ore-amethyst.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/ore-amethyst.png rename to textures/ore-amethyst.png diff --git a/mods/pyutest/pyutest_core/textures/ore-coal.png b/textures/ore-coal.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/ore-coal.png rename to textures/ore-coal.png diff --git a/mods/pyutest/pyutest_core/textures/ore-copper.png b/textures/ore-copper.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/ore-copper.png rename to textures/ore-copper.png diff --git a/mods/pyutest/pyutest_core/textures/ore-diamond.png b/textures/ore-diamond.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/ore-diamond.png rename to textures/ore-diamond.png diff --git a/mods/pyutest/pyutest_core/textures/ore-emerald.png b/textures/ore-emerald.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/ore-emerald.png rename to textures/ore-emerald.png diff --git a/mods/pyutest/pyutest_core/textures/ore-gold.png b/textures/ore-gold.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/ore-gold.png rename to textures/ore-gold.png diff --git a/mods/pyutest/pyutest_core/textures/ore-iron.png b/textures/ore-iron.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/ore-iron.png rename to textures/ore-iron.png diff --git a/mods/pyutest/pyutest_core/textures/ore-pink-quartz.png b/textures/ore-pink-quartz.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/ore-pink-quartz.png rename to textures/ore-pink-quartz.png diff --git a/mods/pyutest/pyutest_core/textures/ore-ruby.png b/textures/ore-ruby.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/ore-ruby.png rename to textures/ore-ruby.png diff --git a/mods/pyutest/pyutest_core/textures/ore-tin.png b/textures/ore-tin.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/ore-tin.png rename to textures/ore-tin.png diff --git a/mods/pyutest/pyutest_core/textures/ore-zinc.png b/textures/ore-zinc.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/ore-zinc.png rename to textures/ore-zinc.png diff --git a/mods/pyutest/pyutest_core/textures/player.png b/textures/player.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/player.png rename to textures/player.png diff --git a/mods/pyutest/pyutest_core/textures/player_back.png b/textures/player_back.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/player_back.png rename to textures/player_back.png diff --git a/mods/pyutest/pyutest_core/textures/podzol.png b/textures/podzol.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/podzol.png rename to textures/podzol.png diff --git a/mods/pyutest/pyutest_core/textures/powder.png b/textures/powder.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/powder.png rename to textures/powder.png diff --git a/mods/pyutest/pyutest_core/textures/red-aspen-leaves.png b/textures/red-aspen-leaves.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/red-aspen-leaves.png rename to textures/red-aspen-leaves.png diff --git a/mods/pyutest/pyutest_core/textures/redwood-log-top-bottom.png b/textures/redwood-log-top-bottom.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/redwood-log-top-bottom.png rename to textures/redwood-log-top-bottom.png diff --git a/mods/pyutest/pyutest_core/textures/redwood-log.png b/textures/redwood-log.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/redwood-log.png rename to textures/redwood-log.png diff --git a/mods/pyutest/pyutest_core/textures/redwood.png b/textures/redwood.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/redwood.png rename to textures/redwood.png diff --git a/mods/pyutest/pyutest_core/textures/sand.png b/textures/sand.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/sand.png rename to textures/sand.png diff --git a/mods/pyutest/pyutest_core/textures/sandstone.png b/textures/sandstone.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/sandstone.png rename to textures/sandstone.png diff --git a/mods/pyutest/pyutest_core/textures/sapling.png b/textures/sapling.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/sapling.png rename to textures/sapling.png diff --git a/mods/pyutest/pyutest_core/textures/savanna-grass.png b/textures/savanna-grass.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/savanna-grass.png rename to textures/savanna-grass.png diff --git a/mods/pyutest/pyutest_core/textures/savanna-log-top-bottom.png b/textures/savanna-log-top-bottom.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/savanna-log-top-bottom.png rename to textures/savanna-log-top-bottom.png diff --git a/mods/pyutest/pyutest_core/textures/savanna-log.png b/textures/savanna-log.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/savanna-log.png rename to textures/savanna-log.png diff --git a/mods/pyutest/pyutest_core/textures/savanna-wood.png b/textures/savanna-wood.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/savanna-wood.png rename to textures/savanna-wood.png diff --git a/mods/pyutest/pyutest_core/textures/shard.png b/textures/shard.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/shard.png rename to textures/shard.png diff --git a/mods/pyutest/pyutest_core/textures/shiny-metal-overlay.png b/textures/shiny-metal-overlay.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/shiny-metal-overlay.png rename to textures/shiny-metal-overlay.png diff --git a/mods/pyutest/pyutest_core/textures/slime.png b/textures/slime.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/slime.png rename to textures/slime.png diff --git a/mods/pyutest/pyutest_core/textures/snow.png b/textures/snow.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/snow.png rename to textures/snow.png diff --git a/textures/snowball.png b/textures/snowball.png new file mode 100644 index 0000000..5f3cbd3 Binary files /dev/null and b/textures/snowball.png differ diff --git a/mods/pyutest/pyutest_core/textures/snowman.png b/textures/snowman.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/snowman.png rename to textures/snowman.png diff --git a/mods/pyutest/pyutest_core/textures/snowman_back.png b/textures/snowman_back.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/snowman_back.png rename to textures/snowman_back.png diff --git a/mods/pyutest/pyutest_core/textures/snowy-leaves.png b/textures/snowy-leaves.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/snowy-leaves.png rename to textures/snowy-leaves.png diff --git a/mods/pyutest/pyutest_core/textures/spellbook.png b/textures/spellbook.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/spellbook.png rename to textures/spellbook.png diff --git a/mods/pyutest/pyutest_core/textures/sponge.png b/textures/sponge.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/sponge.png rename to textures/sponge.png diff --git a/mods/pyutest/pyutest_core/textures/stick.png b/textures/stick.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/stick.png rename to textures/stick.png diff --git a/mods/pyutest/pyutest_core/textures/stone-pickaxe.png b/textures/stone-pickaxe.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/stone-pickaxe.png rename to textures/stone-pickaxe.png diff --git a/mods/pyutest/pyutest_core/textures/stone-sword.png b/textures/stone-sword.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/stone-sword.png rename to textures/stone-sword.png diff --git a/mods/pyutest/pyutest_core/textures/stone.png b/textures/stone.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/stone.png rename to textures/stone.png diff --git a/mods/pyutest/pyutest_core/textures/string.png b/textures/string.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/string.png rename to textures/string.png diff --git a/mods/pyutest/pyutest_core/textures/sugarcane.png b/textures/sugarcane.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/sugarcane.png rename to textures/sugarcane.png diff --git a/mods/pyutest/pyutest_core/textures/swampy-grass.png b/textures/swampy-grass.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/swampy-grass.png rename to textures/swampy-grass.png diff --git a/mods/pyutest/pyutest_core/textures/terracotta.png b/textures/terracotta.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/terracotta.png rename to textures/terracotta.png diff --git a/mods/pyutest/pyutest_core/textures/tnt-side.png b/textures/tnt-side.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/tnt-side.png rename to textures/tnt-side.png diff --git a/mods/pyutest/pyutest_core/textures/tnt-top-bottom.png b/textures/tnt-top-bottom.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/tnt-top-bottom.png rename to textures/tnt-top-bottom.png diff --git a/mods/pyutest/pyutest_core/textures/torch.png b/textures/torch.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/torch.png rename to textures/torch.png diff --git a/mods/pyutest/pyutest_core/textures/trapdoor.png b/textures/trapdoor.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/trapdoor.png rename to textures/trapdoor.png diff --git a/mods/pyutest/pyutest_core/textures/vines.png b/textures/vines.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/vines.png rename to textures/vines.png diff --git a/mods/pyutest/pyutest_core/textures/water.png b/textures/water.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/water.png rename to textures/water.png diff --git a/mods/pyutest/pyutest_core/textures/water_bak.png b/textures/water_bak.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/water_bak.png rename to textures/water_bak.png diff --git a/mods/pyutest/pyutest_core/textures/wheat.png b/textures/wheat.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/wheat.png rename to textures/wheat.png diff --git a/textures/wind-warrior.png b/textures/wind-warrior.png new file mode 100644 index 0000000..1766bea Binary files /dev/null and b/textures/wind-warrior.png differ diff --git a/textures/wind-warrior_back.png b/textures/wind-warrior_back.png new file mode 100644 index 0000000..8bd1d49 Binary files /dev/null and b/textures/wind-warrior_back.png differ diff --git a/textures/windball.png b/textures/windball.png new file mode 100644 index 0000000..df60b53 Binary files /dev/null and b/textures/windball.png differ diff --git a/mods/pyutest/pyutest_core/textures/wire.png b/textures/wire.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/wire.png rename to textures/wire.png diff --git a/mods/pyutest/pyutest_core/textures/wood.png b/textures/wood.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/wood.png rename to textures/wood.png diff --git a/mods/pyutest/pyutest_core/textures/wooden-pickaxe.png b/textures/wooden-pickaxe.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/wooden-pickaxe.png rename to textures/wooden-pickaxe.png diff --git a/mods/pyutest/pyutest_core/textures/wooden-sword.png b/textures/wooden-sword.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/wooden-sword.png rename to textures/wooden-sword.png diff --git a/mods/pyutest/pyutest_core/textures/wool.png b/textures/wool.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/wool.png rename to textures/wool.png diff --git a/mods/pyutest/pyutest_core/textures/workbench-bottom.png b/textures/workbench-bottom.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/workbench-bottom.png rename to textures/workbench-bottom.png diff --git a/mods/pyutest/pyutest_core/textures/workbench-sides.png b/textures/workbench-sides.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/workbench-sides.png rename to textures/workbench-sides.png diff --git a/mods/pyutest/pyutest_core/textures/workbench-top.png b/textures/workbench-top.png similarity index 100% rename from mods/pyutest/pyutest_core/textures/workbench-top.png rename to textures/workbench-top.png