From e6fb470beba405a30a8a7f969f52eca7801d2d21 Mon Sep 17 00:00:00 2001 From: Sirrobzeroone <44497598+sirrobzeroone@users.noreply.github.com> Date: Thu, 23 Sep 2021 10:32:49 +1000 Subject: [PATCH] Amulets of Thirst added Amulets of Thirst Added ~ Lower speed at which players use hydration points ~ Three versions Lesser, Normal, Greater ~ Only available as Dungeon Loot Update register.hb_hng_drink() to register_food_drink() Clean up Sound Effect Clean up textures folder Remove thirsty.config.players and store as player(meta) --- README.md | 43 +++++--- components.lua | 33 ++++-- components_external_nodes_items.lua | 4 +- functions.lua | 97 +++++++++++------- hud.lua | 4 +- init.lua | 19 ++-- interop_a_functions.lua | 5 +- interop_dungeon_loot.lua | 18 ++++ interop_ethereal.lua | 8 +- interop_farming_redo.lua | 26 ++--- interop_mobs_animal.lua | 4 +- mod.conf | 2 +- textures/src/thirsty_cup_100_cc0.xcf | Bin 9014 -> 9014 bytes ...0.png => thirsty_amulet_of_thirst_cc0.png} | Bin ... thirsty_amulet_of_thirst_greater_cc0.png} | Bin ...> thirsty_amulet_of_thirst_lesser_cc0.png} | Bin textures/thirsty_bowl_16.png | Bin 415 -> 0 bytes textures/thirsty_bowl_32.png | Bin 714 -> 0 bytes textures/thirsty_bowl_64.png | Bin 1390 -> 0 bytes textures/thirsty_bronze_canteen_16.png | Bin 651 -> 0 bytes textures/thirsty_bronze_canteen_32.png | Bin 1231 -> 0 bytes textures/thirsty_cup_0_16.png | Bin 668 -> 0 bytes textures/thirsty_cup_0_24.png | Bin 1008 -> 0 bytes textures/thirsty_cup_0_32.png | Bin 1371 -> 0 bytes textures/thirsty_cup_100.png | Bin 656 -> 0 bytes textures/thirsty_cup_100_16.png | Bin 656 -> 0 bytes textures/thirsty_cup_100_24.png | Bin 953 -> 0 bytes textures/thirsty_cup_100_32.png | Bin 1277 -> 0 bytes textures/thirsty_cup_50_16.png | Bin 679 -> 0 bytes textures/thirsty_cup_50_24.png | Bin 1010 -> 0 bytes textures/thirsty_cup_50_32.png | Bin 1367 -> 0 bytes textures/thirsty_steel_canteen_16.png | Bin 632 -> 0 bytes textures/thirsty_steel_canteen_32.png | Bin 1252 -> 0 bytes 33 files changed, 166 insertions(+), 97 deletions(-) create mode 100644 interop_dungeon_loot.lua rename textures/{thirsty_amulet_of _thirst_cc0.png => thirsty_amulet_of_thirst_cc0.png} (100%) rename textures/{thirsty_amulet_of _thirst_greater_cc0.png => thirsty_amulet_of_thirst_greater_cc0.png} (100%) rename textures/{thirsty_amulet_of _thirst_lesser_cc0.png => thirsty_amulet_of_thirst_lesser_cc0.png} (100%) delete mode 100644 textures/thirsty_bowl_16.png delete mode 100644 textures/thirsty_bowl_32.png delete mode 100644 textures/thirsty_bowl_64.png delete mode 100644 textures/thirsty_bronze_canteen_16.png delete mode 100644 textures/thirsty_bronze_canteen_32.png delete mode 100644 textures/thirsty_cup_0_16.png delete mode 100644 textures/thirsty_cup_0_24.png delete mode 100644 textures/thirsty_cup_0_32.png delete mode 100644 textures/thirsty_cup_100.png delete mode 100644 textures/thirsty_cup_100_16.png delete mode 100644 textures/thirsty_cup_100_24.png delete mode 100644 textures/thirsty_cup_100_32.png delete mode 100644 textures/thirsty_cup_50_16.png delete mode 100644 textures/thirsty_cup_50_24.png delete mode 100644 textures/thirsty_cup_50_32.png delete mode 100644 textures/thirsty_steel_canteen_16.png delete mode 100644 textures/thirsty_steel_canteen_32.png diff --git a/README.md b/README.md index c3689eb..213a505 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Version: 0.10.2 **Code** LGPL 2.1 (see included LICENSE file) -**Textures** +**Textures** vessels_glass_bottle_full_cc_by_sa_3.png Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) modified from vessels_glass_bottle.png @@ -21,11 +21,17 @@ thirsty_wooden_bowl_cc0.png +.xcf thirsty_bronze_canteen_cc0.png +.xcf thirsty_steel_canteen_cc0.png thirsty_amulet_moisture_cc0.png +.xcf -thirsty_amulet_hydration_cc0.png +.xcf +thirsty_amulet_hydration_cc0.png +.xcf Public Domain CC0 1.0 Universal Sirrobzeroone -All other Images CC BY-SA 4.0 (see http://creativecommons.org/licenses/by-sa/4.0/) +All other Images CC BY-SA 4.0 +(see http://creativecommons.org/licenses/by-sa/4.0/) + +**Sounds** +thirsty_breviceps_drink-drinking-liquid.ogg +https://freesound.org/people/Breviceps/sounds/445970/ +Public Domain CC0 1.0 Universal Report bugs or request help on the forum topic. @@ -83,7 +89,7 @@ Configure nodes that can be drunk from using a cup/glass etc assuming this was not done as part of Tier 0 or if you wish to override max_hydration to be more than the default value (normally 20): -** thirsty.register_drinkable_node(node_name,max_hydration)** +**thirsty.register_drinkable_node(node_name,max_hydration)** **"item_name"** registered node name **"max_hydration"** optional will default to thirsty.config.start (default 20) max hydration can be set above 20 to encourage use of drinking fountains or @@ -282,7 +288,7 @@ once and for all. **Example** - thirsty.register_amulet_extractor("thirsty:extractor", 0.6) + thirsty.register_amulet_extractor("thirsty:amulet_of_moisture", 0.6) **Amulet of Moisture** - Absorbs moisture from the surronding environment places it into a canteen or other water holding item. Must be held in Inventory. @@ -294,7 +300,7 @@ once and for all. **Example** - thirsty.register_amulet_supplier("thirsty:injector", 0.5) + thirsty.register_amulet_supplier("thirsty:amulet_of_hydration", 0.5) **Amulet of Hydration** - Feeds water from a Canteen or other water holding item directly into the player to keep them always hydrated. Must be held in Inventory. @@ -303,20 +309,31 @@ The above two Amulets can be used in combination with each other plus a canteen. However this does permenantly fill 3 inventory slots the delibrate downside to offset the significant bonus. -**Lesser Amulet of Thirst - Coming Soon** +**Amulets of Thirst** - Three versions lesser,normal and greater each will slower the rate at which +a player becomes thirsty. Normal thirst factor is 1, however a "cursed" version could be created +which makes a player become thirsty faster. -* thirsty.set_thirst_factor(player, factor) : how fast does the given player get thirsty (default is 1.0) -* thirsty.get_thirst_factor(player) : returns the current thirst factor of a player + thirsty.register_amulet_thirst(item_name, thirst_factor) -**Amulet of Thirst - Coming Soon** +**"item_name"** Registered item name +**"thirst_factor"** Float value that represents the speed at which a player uses hydration points -**Greater Amulet of Thirst - Coming Soon** +**Example** + minetest.register_craftitem("thirsty:greater_amulet_thirst", { + description = "Greater Amulet of Thirst", + inventory_image = "thirsty_amulet_of_thirst_greater_cc0.png", + }) -## *Additional Functions* + thirsty.register_amulet_thirst("thirsty:lesser_amulet_thirst",0.85) -**thirsty.get_hydro(player) : returns the current hydration of a player** +*Note: Included Amulets of Thirst have no craft recipes and are only avaliable as +*dungeon loot with more powerful versions only found in deeper dungeons. + + +## *Additional Functions* +*thirsty.get_hydro(player) : returns the current hydration of a player* "player" refers to a player object, i.e. with a get_player_name() method. diff --git a/components.lua b/components.lua index 22b12fa..cbd1121 100644 --- a/components.lua +++ b/components.lua @@ -270,12 +270,12 @@ if thirsty.config.register_amulets and minetest.registered_items[E.mese_crystal] and minetest.registered_items[E.bucket_water] then - minetest.register_craftitem('thirsty:injector', { - description = 'Amulet of Hydration', + minetest.register_craftitem("thirsty:amulet_of_hydration", { + description = "Amulet of Hydration", inventory_image = "thirsty_amulet_hydration_cc0.png", }) minetest.register_craft({ - output = "thirsty:injector", + output = "thirsty:amulet_of_hydration", recipe = { {E.diamond ,E.mese_crystal,E.diamond}, {E.mese_crystal,E.bucket_water,E.mese_crystal}, @@ -283,14 +283,14 @@ if thirsty.config.register_amulets and } }) - thirsty.register_amulet_supplier("thirsty:injector", 0.5) + thirsty.register_amulet_supplier("thirsty:amulet_of_hydration", 0.5) - minetest.register_craftitem('thirsty:extractor', { + minetest.register_craftitem("thirsty:amulet_of_moisture", { description = "Amulet of Moisture", inventory_image = "thirsty_amulet_moisture_cc0.png", }) minetest.register_craft({ - output = "thirsty:extractor", + output = "thirsty:amulet_of_moisture", recipe = { {E.mese_crystal,E.diamond ,E.mese_crystal}, {E.diamond ,E.bucket_water,E.diamond }, @@ -298,6 +298,25 @@ if thirsty.config.register_amulets and } }) - thirsty.register_amulet_extractor("thirsty:extractor", 0.6) + thirsty.register_amulet_extractor("thirsty:amulet_of_moisture", 0.6) + minetest.register_craftitem("thirsty:lesser_amulet_thirst", { + description = "Lesser Amulet of Thirst", + inventory_image = "thirsty_amulet_of_thirst_lesser_cc0.png", + }) + + minetest.register_craftitem("thirsty:amulet_thirst", { + description = "Amulet of Thirst", + inventory_image = "thirsty_amulet_of_thirst_cc0.png", + }) + + minetest.register_craftitem("thirsty:greater_amulet_thirst", { + description = "Greater Amulet of Thirst", + inventory_image = "thirsty_amulet_of_thirst_greater_cc0.png", + }) + + thirsty.register_amulet_thirst("thirsty:lesser_amulet_thirst",0.85) + thirsty.register_amulet_thirst("thirsty:amulet_thirst",0.70) + thirsty.register_amulet_thirst("thirsty:greater_amulet_thirst",0.55) + end diff --git a/components_external_nodes_items.lua b/components_external_nodes_items.lua index bc1aee6..e6b6c54 100644 --- a/components_external_nodes_items.lua +++ b/components_external_nodes_items.lua @@ -18,8 +18,8 @@ across the whole mod. local E = thirsty.ext_nodes_items -- item and node mod aliases, change these as needed. --- if item dosen't exist as either Ing or Aug item --- it wont register. +-- if item dosen't exist as either Ingredient or Augumented +-- item it wont register. -- Basic Water, change here or register -- using thirsty.register_hydrate_node() diff --git a/functions.lua b/functions.lua index b89c79e..7b96c92 100644 --- a/functions.lua +++ b/functions.lua @@ -10,21 +10,13 @@ -- See init.lua for license -- ------------------------------------------------------------ ---[[ notes/ideas - move settings from conf to node/item defs were appropriate tool - Tier 0 nodes what to do? check for node liquid and drinkable? - Tier 1 function to register "Drinking containers" Tier 1 - Tier 2 function to register "Hydro storing" -]]-- - -------------------------- -- Tier 0 API Functions -- -------------------------- -- regen_from_node is a table defining, for each node type, the -- amount of hydro per second a player drinks by standing in it. -- Default is 0.5 of a hydration per second -function thirsty.register_hydrate_node(node_name,drink_cup,regen) - +function thirsty.register_hydrate_node(node_name,drink_cup,regen) local drink_cup = drink_cup or true local regen = regen or 0.5 @@ -90,17 +82,15 @@ end -------------------------- -- Tier 2 API Functions -- -------------------------- -function thirsty.drink(player, value, max, empty_vessel) - -- if max is not specified, assume 20 - if not max then - max = 20 - end +function thirsty.drink(player, value, max_hyd, empty_vessel) + local max_hyd = max_hyd or 20 + local value = value or 2 local pmeta = player:get_meta() local hydro = pmeta:get_float("thirsty_hydro") - -- test whether we're not *above* max; + -- test whether we're not *above* max_hyd; -- this function should not remove any overhydration - if hydro < max then - hydro = math.min(hydro + value, max) + if hydro < max_hyd then + hydro = math.min(hydro + value, max_hyd) --print("Drinking by "..value.." to "..hydro) pmeta:set_float("thirsty_hydro", hydro) minetest.sound_play("thirsty_breviceps_drink-drinking-liquid", { to_player = player:get_player_name(), gain = 2.0, }) @@ -221,16 +211,23 @@ function thirsty.register_amulet_supplier(item_name,value) thirsty.config.injection_for_item[item_name] = value end +function thirsty.register_amulet_thirst(item_name,value) + thirsty.config.thirst_adjust_item[item_name] = value +end + function thirsty.get_thirst_factor(player) local name = player:get_player_name() - local pl = thirsty.players[name] + local pmeta = player:get_meta() + local pl = minetest.deserialize(pmeta:get_string("thirsty_values")) return pl.thirst_factor end function thirsty.set_thirst_factor(player, factor) local name = player:get_player_name() - local pl = thirsty.players[name] + local pmeta = player:get_meta() + local pl = minetest.deserialize(pmeta:get_string("thirsty_values")) pl.thirst_factor = factor + pmeta:set_string("thirsty_values",minetest.serialize(pl)) end @@ -259,28 +256,33 @@ function thirsty.on_joinplayer(player) pmeta:set_float("thirsty_hydro", thirsty.config.start) end - -- default entry for joining players - if not thirsty.players[name] then - local pos = player:get_pos() - thirsty.players[name] = { - last_pos = math.floor(pos.x) .. ':' .. math.floor(pos.z), - time_in_pos = 0.0, + -- default entry for joining players + if pmeta:get_string("thirsty_values") == "" then + local pos = player:get_pos() + pmeta:set_string("thirsty_values", minetest.serialize({ + last_pos = math.floor(pos.x) .. ':' .. math.floor(pos.z), + time_in_pos = 0.0, pending_dmg = 0.0, - thirst_factor = 1.0, - } - end + thirst_factor = 1.0 + })) + end + thirsty.hud_init(player) end function thirsty.on_dieplayer(player) local name = player:get_player_name() - local pl = thirsty.players[name] - -- reset after death + local pos = player:get_pos() local pmeta = player:get_meta() + pmeta:set_float("thirsty_hydro", thirsty.config.start) - pl.pending_dmg = 0.0 - pl.thirst_factor = 1.0 + pmeta:set_string("thirsty_values", minetest.serialize({ + last_pos = math.floor(pos.x) .. ':' .. math.floor(pos.z), + time_in_pos = 0.0, + pending_dmg = 0.0, + thirst_factor = 1.0 + })) end @@ -291,17 +293,17 @@ function thirsty.main_loop(dtime) -- time for thirst thirsty.time_next_tick = thirsty.time_next_tick + thirsty.config.tick_time for _,player in ipairs(minetest.get_connected_players()) do - - if player:get_hp() <= 0 then - -- dead players don't get thirsty, or full for that matter :-P + + -- dead players don't get thirsty, or full for that matter :-P + if player:get_hp() <= 0 then break end local name = player:get_player_name() local pos = player:get_pos() - local pl = thirsty.players[name] local pmeta = player:get_meta() local hydro = pmeta:get_float("thirsty_hydro") + local pl = minetest.deserialize(pmeta:get_string("thirsty_values")) -- how long have we been standing "here"? -- (the node coordinates in X and Z should be enough) @@ -343,19 +345,24 @@ function thirsty.main_loop(dtime) local pl_inv = player:get_inventory() local extractor_max = 0.0 local injector_max = 0.0 + local amulet_thirst = false local container_not_full = nil local container_not_empty = nil local inv_main = player:get_inventory():get_list('main') + for i, itemstack in ipairs(inv_main) do local name = itemstack:get_name() - local injector_this = thirsty.config.injection_for_item[name] + -- Amulets Hydration/Moisture + local injector_this = thirsty.config.injection_for_item[name] if injector_this and injector_this > injector_max then injector_max = injector_this end + local extractor_this = thirsty.config.extraction_for_item[name] if extractor_this and extractor_this > extractor_max then extractor_max = extractor_this end + if thirsty.config.container_capacity[name] then local wear = itemstack:get_wear() -- can be both! @@ -366,7 +373,17 @@ function thirsty.main_loop(dtime) container_not_empty = { i, itemstack } end end + -- Amulets of Thirst + local is_thirst_amulet = thirsty.config.thirst_adjust_item[name] + if is_thirst_amulet then + amulet_thirst = true + pl.thirst_factor = thirsty.config.thirst_adjust_item[name] + end end + + if amulet_thirst ~= true and pl.thirst_factor ~= 1.0 then + pl.thirst_factor = 1.0 + end if extractor_max > 0.0 and container_not_full then local i = container_not_full[1] @@ -403,7 +420,8 @@ function thirsty.main_loop(dtime) if drink_per_second > 0 and pl_standing then -- Drinking from the ground won't give you more than max - thirsty.drink(player, drink_per_second * thirsty.config.tick_time, 20) + thirsty.drink(player, (drink_per_second * thirsty.config.tick_time)*2, 20) + pl.time_in_pos = 0.0 --print("Raising hydration by "..(drink_per_second*thirsty.config.tick_time).." to "..PPA.get_value(player, 'thirsty_hydro')) else if not pl_afk then @@ -438,6 +456,7 @@ function thirsty.main_loop(dtime) pl.pending_dmg = 0.0 end end + pmeta:set_string("thirsty_values",minetest.serialize(pl)) end -- for players -- check fountains for expiration @@ -455,9 +474,9 @@ end function thirsty.drink_handler(player, itemstack, node) - local pl = thirsty.players[player:get_player_name()] local pmeta = player:get_meta() local hydro = pmeta:get_float("thirsty_hydro") + local pl = minetest.deserialize(pmeta:get_string("thirsty_values")) local old_hydro = hydro -- selectors, always true, to make the following code easier diff --git a/hud.lua b/hud.lua index fc0f725..0f21cd7 100644 --- a/hud.lua +++ b/hud.lua @@ -57,7 +57,7 @@ else local name = player:get_player_name() local pmeta = player:get_meta() - thirsty.players[name].hud_id = player:hud_add({ + thirsty_hud = player:hud_add({ hud_elem_type = "statbar", position = { x=0.5, y=1 }, text = "thirsty_drop_100_24_cc0.png", @@ -69,7 +69,7 @@ else end function thirsty.hud_update(player, value) local name = player:get_player_name() - local hud_id = thirsty.players[name].hud_id + local hud_id = thirsty_hud player:hud_change(hud_id, 'number', thirsty.hud_clamp(value)) end end diff --git a/init.lua b/init.lua index 9ca062f..9ffbaa3 100644 --- a/init.lua +++ b/init.lua @@ -86,20 +86,10 @@ thirsty = { drink_from_node = {}, fountain_type = {}, extraction_for_item = {}, - injection_for_item = {} + injection_for_item = {}, + thirst_adjust_item = {} }, - -- the players' values - players = { - --[[ - name = { - last_pos = '-10:3', - time_in_pos = 0.0, - pending_dmg = 0.0, - thirst_factor = 1.0, - } - ]] - }, -- water fountains fountains = { @@ -144,6 +134,10 @@ dofile(modpath..'/components_external_nodes_items.lua') dofile(modpath..'/components.lua') dofile(modpath..'/interop_a_functions.lua') +-- dungeon_loot for Aumlets of Thirst +if minetest.get_modpath("dungeon_loot") then + dofile(modpath..'/interop_dungeon_loot.lua') +end -- mobs_animal specific config if minetest.get_modpath("mobs_animal") then @@ -160,3 +154,4 @@ end if minetest.get_modpath("ethereal") then dofile(modpath..'/interop_ethereal.lua') end +--minetest.debug(dump(thirsty)) \ No newline at end of file diff --git a/interop_a_functions.lua b/interop_a_functions.lua index 7ee89cd..c45b523 100644 --- a/interop_a_functions.lua +++ b/interop_a_functions.lua @@ -10,7 +10,7 @@ -- because I'm lazy and like small code blocks -- ------------------------------------------------------------ -thirsty.register_hb_hng_drink = function (item_name,satiate_value,heal_value,hyd_value,hyd_max,rtn_item_name) +thirsty.register_food_drink = function (item_name,satiate_value,heal_value,hyd_value,hyd_max,rtn_item_name) local is_hunger_ng = false local is_hbhunger = false @@ -36,7 +36,8 @@ thirsty.register_hb_hng_drink = function (item_name,satiate_value,heal_value,hyd thirsty.drink(player,hyd_value,hyd_max,rtn_item_name) if minetest.registered_items[item_name]._hunger_ng then - hunger_ng.alter_hunger(player:get_player_name(), satiate_value, "from:thirsty-"..item_name) + minetest.sound_play("hunger_ng_eat", {to_player = player:get_player_name(), gain = 2.0 }) + hunger_ng.alter_hunger(player:get_player_name(), satiate_value, "from:thirsty-"..item_name) player:set_hp(player:get_hp()+heal_value) itemstack:take_item() return itemstack diff --git a/interop_dungeon_loot.lua b/interop_dungeon_loot.lua new file mode 100644 index 0000000..38183f2 --- /dev/null +++ b/interop_dungeon_loot.lua @@ -0,0 +1,18 @@ +------------------------------------------------------------ +-- _____ _ _ _ -- +-- |_ _| |_ (_)_ _ __| |_ _ _ -- +-- | | | ' \| | '_(_-< _| || | -- +-- |_| |_||_|_|_| /__/\__|\_, | -- +-- |__/ -- +------------------------------------------------------------ +-- Thirsty mod [interop_ethereal] -- +------------------------------------------------------------ +-- Settings to support Dungeon Loot -- +------------------------------------------------------------ +if register_amulets == true then + + dungeon_loot.register({name = "thirsty:lesser_amulet_thirst", chance = 0.1, count = {1,1}}) + dungeon_loot.register({name = "thirsty:amulet_thirst", chance = 0.05, count = {1,1}, y = {-100, 32768}}) + dungeon_loot.register({name = "thirsty:greater_amulet_thirst", chance = 0.05, count = {1,1}, y = {-200, 32768}}) + +end \ No newline at end of file diff --git a/interop_ethereal.lua b/interop_ethereal.lua index f5a63b6..ef24602 100644 --- a/interop_ethereal.lua +++ b/interop_ethereal.lua @@ -14,7 +14,7 @@ local E = thirsty.ext_nodes_items ---------------------------- -- Hydrate and Food Items -- ---------------------------- -thirsty.register_hb_hng_drink("ethereal:firethorn_jelly" ,1,0,1,20,E.glass_bottle) -thirsty.register_hb_hng_drink("ethereal:mushroom_soup" ,2.5,0,2,20,ethereal:bowl) -thirsty.register_hb_hng_drink("ethereal:hearty_stew" ,7.0,0,1,20,ethereal:bowl) -thirsty.register_hb_hng_drink("ethereal:golden_apple" ,10,10,10,30,nil) \ No newline at end of file +thirsty.register_food_drink("ethereal:firethorn_jelly" ,1,0,1,20,E.glass_bottle) +thirsty.register_food_drink("ethereal:mushroom_soup" ,2.5,0,2,20,ethereal:bowl) +thirsty.register_food_drink("ethereal:hearty_stew" ,7.0,0,1,20,ethereal:bowl) +thirsty.register_food_drink("ethereal:golden_apple" ,10,10,10,30,nil) \ No newline at end of file diff --git a/interop_farming_redo.lua b/interop_farming_redo.lua index b3d1b79..66a4feb 100644 --- a/interop_farming_redo.lua +++ b/interop_farming_redo.lua @@ -35,19 +35,19 @@ minetest.register_craftitem(":farming:rose_water", def) ---------------------------- -- Hydrate and Food Items -- ---------------------------- -thirsty.register_hb_hng_drink("farming:soy_milk" ,1,0,4,22,E.drinking_glass) -thirsty.register_hb_hng_drink("farming:pineapple_juice" ,1,0,4,22,E.drinking_glass) -thirsty.register_hb_hng_drink("farming:carrot_juice" ,1,0,4,22,E.drinking_glass) -thirsty.register_hb_hng_drink("farming:smoothie_berry" ,2,0,4,23,E.drinking_glass) -thirsty.register_hb_hng_drink("farming:smoothie_raspberry",2,0,4,23,E.drinking_glass) -thirsty.register_hb_hng_drink("farming:mint_tea" ,2,0,4,24,E.drinking_glass) -thirsty.register_hb_hng_drink("farming:coffee_cup" ,2,0,4,22,E.drinking_glass) -thirsty.register_hb_hng_drink("farming:beetroot_soup" ,4,0,2,20,E.wood_bowl) -thirsty.register_hb_hng_drink("farming:onion_soup" ,5,0,2,20,E.wood_bowl) -thirsty.register_hb_hng_drink("farming:pea_soup" ,6,0,2,20,E.wood_bowl) -thirsty.register_hb_hng_drink("farming:tomato_soup" ,7,0,2,20,E.wood_bowl) -thirsty.register_hb_hng_drink("farming:chili_bowl" ,7,0,-2,20,E.wood_bowl) -thirsty.register_hb_hng_drink("farming:chili_pepper" ,1,-1,-5,40,nil) +thirsty.register_food_drink("farming:soy_milk" ,1,0,4,22,E.drinking_glass) +thirsty.register_food_drink("farming:pineapple_juice" ,1,0,4,22,E.drinking_glass) +thirsty.register_food_drink("farming:carrot_juice" ,1,0,4,22,E.drinking_glass) +thirsty.register_food_drink("farming:smoothie_berry" ,2,0,4,23,E.drinking_glass) +thirsty.register_food_drink("farming:smoothie_raspberry",2,0,4,23,E.drinking_glass) +thirsty.register_food_drink("farming:mint_tea" ,2,0,4,24,E.drinking_glass) +thirsty.register_food_drink("farming:coffee_cup" ,2,0,4,22,E.drinking_glass) +thirsty.register_food_drink("farming:beetroot_soup" ,4,0,2,20,E.wood_bowl) +thirsty.register_food_drink("farming:onion_soup" ,5,0,2,20,E.wood_bowl) +thirsty.register_food_drink("farming:pea_soup" ,6,0,2,20,E.wood_bowl) +thirsty.register_food_drink("farming:tomato_soup" ,7,0,2,20,E.wood_bowl) +thirsty.register_food_drink("farming:chili_bowl" ,7,0,-2,20,E.wood_bowl) +thirsty.register_food_drink("farming:chili_pepper" ,1,-1,-5,40,nil) -------------------- -- Complex/Custom -- diff --git a/interop_mobs_animal.lua b/interop_mobs_animal.lua index 8e98f89..70b566e 100644 --- a/interop_mobs_animal.lua +++ b/interop_mobs_animal.lua @@ -14,6 +14,6 @@ local E = thirsty.ext_nodes_items ---------------------------- -- Hydrate and Food Items -- ---------------------------- - thirsty.register_hb_hng_drink("mobs:glass_milk",1,0,4,22,E.drinking_glass) - thirsty.register_hb_hng_drink("mobs:honey" ,2,0,1,20,nil) + thirsty.register_food_drink("mobs:glass_milk",1,0,4,22,E.drinking_glass) + thirsty.register_food_drink("mobs:honey" ,2,0,1,20,nil) diff --git a/mod.conf b/mod.conf index 87697c7..8409b46 100644 --- a/mod.conf +++ b/mod.conf @@ -1,4 +1,4 @@ name = thirsty description = A mod that adds a "thirst" mechanic, similar to hunger. depends = -optional_depends = default, bucket, hudbars, vessels, farming, mobs_animal, hunger_ng, hbhunger \ No newline at end of file +optional_depends = default, bucket, hudbars, vessels, farming, mobs_animal, hunger_ng, hbhunger, dungeon_loot \ No newline at end of file diff --git a/textures/src/thirsty_cup_100_cc0.xcf b/textures/src/thirsty_cup_100_cc0.xcf index 485531e9c3175beb34d7cf11c08b2720c53c80c2..61c90f8470ad0a012f752e20370d05894561cc50 100644 GIT binary patch delta 82 zcmdnyw#{ur0W)LH=0fJ_ypzAm^h};37{K^;@>@Y^Nlpd?-~lrEAY38E&5A<#j4Vt* Y?&Oa$Dw{V5+cHnyAiQStO!2wg0HVYd00000 delta 72 zcmdnyw#{ur0W)LC=0fJ_yev!%3=ES$%1oF%MKFNz>tseDVNMpH5D*9n0(s($nwuqs a@);+8l~LHdLD-ggvX0c6%`?U4asvSC;uJUl diff --git a/textures/thirsty_amulet_of _thirst_cc0.png b/textures/thirsty_amulet_of_thirst_cc0.png similarity index 100% rename from textures/thirsty_amulet_of _thirst_cc0.png rename to textures/thirsty_amulet_of_thirst_cc0.png diff --git a/textures/thirsty_amulet_of _thirst_greater_cc0.png b/textures/thirsty_amulet_of_thirst_greater_cc0.png similarity index 100% rename from textures/thirsty_amulet_of _thirst_greater_cc0.png rename to textures/thirsty_amulet_of_thirst_greater_cc0.png diff --git a/textures/thirsty_amulet_of _thirst_lesser_cc0.png b/textures/thirsty_amulet_of_thirst_lesser_cc0.png similarity index 100% rename from textures/thirsty_amulet_of _thirst_lesser_cc0.png rename to textures/thirsty_amulet_of_thirst_lesser_cc0.png diff --git a/textures/thirsty_bowl_16.png b/textures/thirsty_bowl_16.png deleted file mode 100644 index c7b8df62fc45abb527e2ab39c800dc5fcc750516..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 415 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4&|jdCkt(UbUXbnnL9bdS$2|?by}kYd z+=<+4rwHUnnw{CT+gMC`^4%QeC6^i#pM9ABdH(r#`MZ@Lx7#2OY?F`$yvp?y%U)Yr+CwY*MLGAjAu0&A>^_|DPUl*AtCvJ0jynWMh z^_!^i1hY9+{9U<;Fk_M2k#qLvVo8n!_!>F#vF2fJ@sD9DrCSlc4~k z3DN^w{o*y$)du@xJo4KEyCACbW+F-aX9nK>fL~c~Yu0gfX#%?2A+Z~}+d#pb9R`46 z7B~~{fp`yi3RVnQUN6m-QyRrTvjBGJuv6cd`#QjMU{@4`D0A&GADRJIa2Ga;MHA59 zSsH$Ms&wBk$Ad3R0rPqe79&1mpawoCZ^~J|s<}$VH_Z4_Hq)$ diff --git a/textures/thirsty_bowl_64.png b/textures/thirsty_bowl_64.png deleted file mode 100644 index c8de65422eb43e245ca7f9baf5161d12f7b87a75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1390 zcmV-!1(EuRP)t<88FWQhbW?9;ba!ELWdL_~cP?peYja~^ zaAhuUa%Y?FJQ@H11nWseK~#90?V3+)6jdC@KX1Cbr3G7-qS#VUq9&xQF)=}iLLiu6 zj2NOvPJF~y}&G&ux&HFR2VxN@U&p5UP*d{cQ&rWkD1cHN&zt@0Xv2MswURhpz#x4xehxhlo4J z`kn3G1~8R}k+fGUMke4^21?4f97aSO=vd?xx?J#R)4Z3Q$t2{kZ(hHE-yW99o*V8^ zEW(PpVp?Lba*4MAC=JO;&zO91dMo|^bFK)EfLH`#O%RPh^Yp%aE*62-7{pt>+2Q38 zGjoODuz!@{bhxNE6oWTSV!zl=KmG%prp)emeOVh7|jI)e5`eO)^3k% z!8o*kvPb@55@=+=K&Kqe7C35r`#NFT*a~>pG^hDH!2&y#3V2jl;VYC(-YD!?x<`I* zn$y^Tft7MBo9Ccue9+{IUYp^AR*H8j$y?D|VbR4Kg%VcAg6XV(jDXLl67ozXc`Gtt zK*)T)z^0%c1=A-$Ye-G`h8<5S^PZ|q#p?ot%jMZzkzI}K62`N>-QU$xj8~fy(yW!3 zK~)PQ1D*1#$s7l&xwaZ^PtN;wMkuytAD1_)$zAoz&|sI`oyl{c-ZkO&q&I53E1Dst z*pyDl->c1E)6&>rr`$c2V@E0I?s1wz2}b8`a!(dDYb$N^W>fRp;H574buq_Ng%YV+ zbIn8pH^yhI7R^AwmyvNc=MwUIt@jCJar9!hJioHQgPA;^Da~9J)))<3PkEE6S)5Rc zjp-h_E45w*G6}DGX>2Z5jk;~oJO^8%Y!}Y_J)P3t#Aznw!q4jWF97dldgQl(ilq+A z<5!l-@k?Fum2{TQi5&a01uko4Hj$dl!_`~=6@C!dFBH$d^$m%76dvkO1MbF#EAE18 z&AjfwOOBvZ2s#`=n-DY?N@VjTMsj)n8qabT7{=jPX0<$DcVRThfP0zy{y#)Q18fVh wO=y5^0k#PZur0tgp#io9*d{c=)^KU4`?ZIf&^+0D*)s7qtn zRK@Q!yzjjqGv8y#xT@lRB&}zTDN6I#v3FcmTmJ+&=gl@xO@sgdR3gha8t^#v3Ecpu z;_6 zoBb>HK(q(9pDp2C#lXFpdPJL2{DY^}8UTnxsT2Sp7)u$I^5faV{a$+JNTA5GOUDr7BWivb$TK0E6d1V(!uPF&K&H9CuU2E1it$*N3_6vo lpDzL^I(ci=^)LLbegY^ewi_|t%RB%8002ovPDHLkV1fwj8Ib@0 diff --git a/textures/thirsty_bronze_canteen_32.png b/textures/thirsty_bronze_canteen_32.png deleted file mode 100644 index 1ec8c9f87f189c692fc4e59097b610883006f72f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1231 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 e@}B}Ot3Lr?a#RV~`Tr^a0000w* diff --git a/textures/thirsty_cup_0_32.png b/textures/thirsty_cup_0_32.png deleted file mode 100644 index 105a2ef586978c9735e7cb1823775aa9fc147a04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1371 zcmV-h1*H0kP)9&>@M`HF(&O>j{`Taikn{$5WcXd8l=4DF%QnUZB0X#w&wgOfC{H&6_?H77A>IIf0Zf24IXM}+cJ12E(b3UYW@l$nRTWiLNhA`wii!$sHXBx} zm4=1}oK7dlj~}P0si_L^MIw>Uei|Qt%X#?lT*&~y*MMnydivh!)2AD!rl$5}pND{9 zU>pboYCIlSyzRgb z8vH78SIv@q~=W{C` zz{q-#Lx&DYZEbC|w6x%KI@z^r7m_4x2e#)fNG6l1xw*N-*w|QdaBy(j)YOzTG&ID* z!U7K;J_NY!ljYTt0Q`#bn@5NzcDub=RaGuty!a)Vqj*%O(=}IBRh3yR7Ah(#h{a;4 zs!BW_*XOvfbm78<5YRX?GZO&z0)zRI7jgh#6zFif-2?)G*L<@40YInMYl=prj%YM$ zBU6m5Wb9opMiF4TtE=lkqRwmU0?g0R8>_d$NEx z3r#F^7mNU$IB`M)>N~yOS4&6=fJX>B;LtQ}WnyB&1l;qOz zl_(cLAP@*8lS$aX{(=C0MOg!G0~|Yc3^M0?Qvd@41F7uq%>(2vbi3WpgO(^az}2f) zcW((mYinx?c(c>%wG_+j5n>zg4xo*Uj8peQ)uU?+cfF6j~CcVLW6>&A^6H)^tQ zMT=G`05ml<=>Q#I*ECIwL?X{Zp^(91v6$-X>kWFnz5!?eh{a-y^Yil-;HFQOQ-wok zv|(55SCkN$8qed$k2!nxEHyPXlHG1MH#aw%_U+r3s;jHx{Q2{wQkh(L@7}G-g)gR3 zTI-L~>2yzRZLPkyw-f_#!SK{*H0}h<>l5SgxOVQ`xdfTpvta$tRnhMPzoPW2 zs@ihp%9VwQi3t*k1m)%B7NgNv513b1SCheDaJjp?J8|H^0qMbm2WDWB5*^6fmgiHa z*J}bkl_bgIa5yRr1_N_*b1W_{=1!Xhegr=E$?}se1;_y@2kHTPcG!R!;OA14{wIK~ d)=U35{R_=q*R~B(voHVv002ovPDHLkV1mg@e3}3N diff --git a/textures/thirsty_cup_100.png b/textures/thirsty_cup_100.png deleted file mode 100644 index a2b9e1c7533709085f9c813e6a4774cdb9a58f96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 656 zcmV;B0&o3^P)@$X-q`j9zN8nHTst&@|2wIb1Ew;-a? zIT{hH!wwyzsl2D8w;j3_yA6VfaExH1=pwX;HW6G{twk-$HrvR(UhBQ*vqLmU9Uc6g ze*F0VKJfef|9_E^WjYC4N8NzqZ!(ccIDyMR%rwm-z+pgARkdoG=6gw!7Cj!%WLi-^ zwgrIM)z#JBOeS-vR4RE^R#x7ss#+cx81M!Hfuq4-@Z{Lo*m$8>ynZYcy8RC@kw^&3 zvLfYj*%ggOZ(N$V`}o2`96L3 zGF`rr-V?)_gI=)$ArRKgAbKWZ6xHi<#IV4_}Vgp5aP)XTmQN9_gqeZE*rQV zu&o0Kh7as>9`9AZX`1#TCCgU39poeZo(30z{b2aPa06SwCY-)vcNCr%DnNd(CBE|c z99EwjKEH0gt}|hbsi`SfGqC#((u&g1b?aF;+}don!_W|7etxbGc-a;J=;`U2i$rSm zW*`)Ttu4J)tyY&(vixgL0LaH;cB2^xhoM+pZkfLwu;lmKv}m-^5aLh4=Y!Ev%!P$q z*MEVuq8OFRn`_h46%cqUPD+-)H=h@se&^qyP|E%WX0s3g0000@$X-q`j9zN8nHTst&@|2wIb1Ew;-a? zIT{hH!wwyzsl2D8w;j3_yA6VfaExH1=pwX;HW6G{twk-$HrvR(UhBQ*vqLmU9Uc6g ze*F0VKJfef|9_E^WjYC4N8NzqZ!(ccIDyMR%rwm-z+pgARkdoG=6gw!7Cj!%WLi-^ zwgrIM)z#JBOeS-vR4RE^R#x7ss#+cx81M!Hfuq4-@Z{Lo*m$8>ynZYcy8RC@kw^&3 zvLfYj*%ggOZ(N$V`}o2`96L3 zGF`rr-V?)_gI=)$ArRKgAbKWZ6xHi<#IV4_}Vgp5aP)XTmQN9_gqeZE*rQV zu&o0Kh7as>9`9AZX`1#TCCgU39poeZo(30z{b2aPa06SwCY-)vcNCr%DnNd(CBE|c z99EwjKEH0gt}|hbsi`SfGqC#((u&g1b?aF;+}don!_W|7etxbGc-a;J=;`U2i$rSm zW*`)Ttu4J)tyY&(vixgL0LaH;cB2^xhoM+pZkfLwu;lmKv}m-^5aLh4=Y!Ev%!P$q z*MEVuq8OFRn`_h46%cqUPD+-)H=h@se&^qyP|E%WX0s3g0000!)AUx!GGt~qo;0xr4jAWPJT?Ncmo|hN1x-McqRpns(v^m?t!VeF zWm)!XrU$?PnO)YJ_DSB$`#kUe_x|5cA)u-}%MhQb`ttxtR-JxD=>$4}#!c;@X`0K1 zVa(fXwmZO|Km@oN)U<~c0sM+01K$A005X|OW^r*b9S(=hP$*P%I-MR_mOV{PO>cU= zUYjIILO!3*_w@FD``wi*A5`MtE8s|ffB)Rj(9mm%M8Xa{TA%GklYmzwNqV)px%u_J zzP^T@o}TybE-W3uW=q-kD~czV%UuTE zYinz3*L7V1E?EMCnr8SFpDQ!PD}K?D2k^qjwN`x&TW_Xuvgv#=UU)J`&z++Wn6dSFnS*% zaX7p?N%tW;v$L}RU+)B%0!RsNz8K${*t-iJWnm@1wg2~zTtpTZqQzoyA8=zkVEa9| zZJH!}d0-Am0>)b6ujNhRMIZ(*&BKvenEvT{9Jn7))%mgxf|_Rf6=mvpYyLF7_BFT- zZ~^XhSe&(UWx%nwK@?$hbff{8*e-760ANa%?P6Ws*4eUgwKlo(`M@wRCMPF7z+}Y$ zfX+^<@~z?XK{T3pkWQ!n9ajn9H`65R^OYBOIH02gW@dg!04d;BMS!5D z4$$5XPA80wjkHUS`$$z`L_dyh|@`fzn( zVxj>UE~A04)2H7*Fz~Jz*ujj8VW00000NkvXXu0mjfyacbJ diff --git a/textures/thirsty_cup_100_32.png b/textures/thirsty_cup_100_32.png deleted file mode 100644 index effe6fd13ebdd77f97ba07024526b1054b3095a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1277 zcmVMqbiA_9@+z;Qfc|P(4zDZ18Qgs2~?^02!^;7Ht`Aq zi}|p}?kfLtI zXf%EfeCd(pr|AG*$bd@}-vIsu%s_NvV#43o*Z11c&`|FD{5*=HpePEPo0~#@em*vv z4Xf2kWo0E!r<2CUMyji;3jud16uR=;=;)iybLala7y$SRFi%fUPhPxuv1)2+$`SYb zfxEyc5CjxeRTWiL4GRkk*75OiTUS??9jIw;Zf?4E?OIVqMa9wc=g-fzi{b}vN$S}b zz$J=Cpc>%e!-rMDU@!-`4S3v=^jEr6J{PBKV`F0oC~0bHGKr%2b$dt09k(Q{rUmfG za?~Y?Bfy1AmoDY_d_D{Y!*)SI!P_H#3@zW2v$V!Zpd1Yc5I|t|lnwuPE#%fXcnf$B zct0;M&jirf*{Pu~-e#aXEkIm902hM6AjQSS0GENwwGIegfv1}g3WK@@MR{Pez@g`& z#564y+1`$t&1U1kz<>b6fc|9JN(SHsi00&L@7zRaDuWsaI2~~OFdWI%ZMU|fFt-dN zk72|QQ%?lLuWe=mfdDfzGXVG8lC+f(fJc`9c8TJX5^Mf3B@CYp@6-uEVICaKgM2fr zY=9C5b$f4&kI(4k?3~XBoCNM98$4A80EU2;h9mmS64HR>4c*eI!LFBsKM%y>E^oE~ zUZABu0^fcE9A{_$OO!c46j)(rFI0dhQ2(JGq`$x4f&Tu7NuhKAG&E?iAi%3?q*epe7Y7HZuh+}Dxkvs; zB=T%BSpj%tc^kL~P*<0(duo8e!C#_rSM~tAJ2o_A2assr+uK`mAOMLOWun7};mjG( zG-6(_w*XjhOVZ<)1sDNh)zumnOJ)GIwO}+tAQ14ct*ya6vrh})k>wR&!ekO~Ix_=E zWXtQlyB>GFJizV%nXZFGyPlpN>wyAfvJOlpo@HuqaIhFy2KGI|GXkisjbSvVZ`jxf z77MJds!NNDivYuJNlLO)WC7rjWk29uUf$fgbqmg(g~GzUZR~bELszfr&pzLy#L={G z`eC2H;<&zWI1c^T)&^~Dx7w`YGn|Ft{0uuQ=mBXzsRQ; z6u$HjBZ}2@=U&0RMfBFI>tz_YhJhfxjMhV02x7UM#zrvZ#+ck)r}x}@dRUV%M-Mws zKfdSp`|$mJIfuxU;w;BVll*?s%tycT4s_M6ynHh)M?Y{2w`EJExvHM?2r3W|s{uliznNo1h ziD4L>TrOv()9FW?^J&hx_0QcD=R9N>#zWIISu`4D04~XtLZ$lXJZ|%Py|*<@tH_j^!!pfj`Ya2Wc4hF}mVmCAdA z_J;vJJDrx!>@4Sm91Bh-FgFK%bMwvEe*sBJ(woh#*viUYPty$6ZX3PbUA@z4y{jxQ zr_KZTFbJ>?3hQfYtBZ+5Q4oZ?6B85DtyZfCU>m?onbL#7esb3D{2OTq_%>$I=)3>` N002ovPDHLkV1gQFGoAnd diff --git a/textures/thirsty_cup_50_24.png b/textures/thirsty_cup_50_24.png deleted file mode 100644 index c5c7c69ea8382af20001cac2bfb3317d7324f113..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1010 zcmV_LMoNoj>qGAEEcP@w6xe{S+==c zu0E&JX_6#KD3wa3q0^^7{bFL`Y%>Zz1fB>40yoCS#tvt**?quP?X-Wn1awJ~)Z=!$ zdq+k_I);XZUi~eZbVni)ucoSbLx5jVMBtfnxonNaV%@o1?k(Vwrm8#jvtgEX_v|6nqz}D8*on$guSXo&SVzF4U zx3|~o^Z8g_UIzGRFTgxNE|+6;bo3pd0`vf~-EMbfv)RskKHmbQYl>FW>GVsfRO)V} zQt1Z1-3xFH$auZpw(;?Cho-7;>`n%PK{HU*RJ9D?SCof=*Q3#B4ESAB)te0g;ZR8T zE6T#az`!8j2?$CbIx;#vKo9RKc_0yh1Ugs!@Hik&O-*$Gv-dYQQUEaTa5#Ji-d=M5 zQROG2B6I+%6Tfif)T4T3Zf?#7%o%MpdMf4tjz8%(?7h3zZszH9dVOtsd;9OYW)%FW z>+E>4qGjrHU_a1aizOffWWl@v{pXRUr@y}q5^PZy4HDCdl20j5k z1HJ(+!_k9au^>dF(fz=JrmEGZ05zNM>)S_bYn?3M@!X3uGc$JTjHe;MWDorXFW+z9XkP(5?TIN9C~Cr&^-{&NP{0j|^o82$(0P-xSyD8X~*&>W7kzO*C> zi3GH@fh>d1N7-UQxOnlx0pLcX2hk8vv-cJk7oY0xww)RrJfusKNdPDmiaWP%t=&F( z^0m9Ov$Gw*r3O6^_WJY#!Qji1B)#c$I*)8_ZXVp&*Z^1q;=l)*s($^S0QbRK0bNto gLbEmh2=H(0Po8{BaUOrb<^TWy07*qoM6N<$g6LJq)&Kwi diff --git a/textures/thirsty_cup_50_32.png b/textures/thirsty_cup_50_32.png deleted file mode 100644 index ac33d2c1196cce368224eec1e7cd27c7963dd733..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1367 zcmV-d1*rOoP)&TKR zCJ0&7J2m?oAl_(q>N#!jV)I6c0p*GtB*y7rH>AtB*b9@PfSbYWt#oW=EA-gny0^X@ zFHTFQl(vv1#9#7DPM~y_Q51#8{1+BQ zu><(hqbLtD0X(9BQ<7c*eg#ZGd}L%~=F+80&kYO=Z1DU2sH%#ps;sQ62t`FjSS%LI zW-~Q4HP~!68XFs_tE(#o+`(Y*_|L<`uiEzSpUoKn_zEzMkB^TYIdY_SY;3G5***jG z0mDE5P$Q9u8i_;<)6>)Dn>TM-E?l@^1?rodo10FZI<;x{?%ibv4jk~cNz(gnS?d3kvN*wWP0WRxW7>o%9G*DcF`X9Vyl zO57<)SAoMvj~>mtbLS2QgCSZ{QnD9V2K*jHiKR)H54;RGfH#15^7HeJ0O!x2*U%?# zGtik4AZb4UhXa8C<>lo7A0|DO>;Vu2BETlV0u-zbplMn>8jZ$HCX;yi@?`-?0Nv@- zN(a!N3bJqCKC!8(iTe6_Y&IJe6%~l0xDnX6c0eo^OU%yBt_%$g#d>>ti^s;s#4A^> zFh4)f#KZ)^HMcCU<^ZS0GT0#x7tNum!jaOdv1;OpwQQ?Gq9}bvzzlzH#G5KJc4c zmcvg9@C&e1U0q$Ux%GSQZ+~|X5YQg!_Y&~t!}ciAkG=G?H-pdTn~B9@yT~9vJZ3la zC`uH#25|7L_W&Vn%}-;-=Sz4S!0YuUl5I~8uy&wB09JBLzX*;^`s2lm7q{dBkZC*a z2e5BPFGHz$pPKu{zytKT|CjE?tMJ-M&@?U4-``&XOuJ?I?$ZKX1rl|2nxW7rus8?I zWeNoi%^->}KOeZeu&}U=EN>4PK7mJ3!oY~pC}6W?3!|GoxnTSH`cj9Hrw3RYz~RUZ zAl0v{tINEu0CszpUVzcaL#29pddh(iITWp&02&%JL@{&6#zrVCgoTAjU~X;>V9+hg ziOi$20C*H-2IvokmRHZ7g*|(qwDjM7tX5s2lPC4xKHpU8ypUCX$Z{%9+80$-1wXd7 zLTjtupsH~19&FvJzjewqO|UA Z=|6Cs(ij?vPGA54002ovPDHLkV1jsUX`=uD diff --git a/textures/thirsty_steel_canteen_16.png b/textures/thirsty_steel_canteen_16.png deleted file mode 100644 index abcc2a701893d06cd2745191fdeee9aa94175063..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 632 zcmV-;0*C#HP)WM zx-jk(>`wd%E?kviC@v*GqM#sDybx3nQ3e$1wINYx7HtSor*;}@V=i;~J{KlsN>U~G ztPbb$a(K@nvzmtg!S}b~jH=d~;oezIYjh>h+t*i5rBVO@K@c{|rs?lWKoEoh0EQ>- z2-hhYlBAez+j9U!0HST%b0JBJ{Zk+}ubwxu=`^LT4j}0%C8_J`-xnV}&CIKpyfdVA zh0Hy*hZlV-)O8L7B?aNhX#^z&0I>O^fF=D7ewih3yw7w+M>#&F)wT%$K*P+xDZEcl zG%95f!aUn;AfIR#xEw*C@bSqIbsg-J!#FZ|6}$HI0|53P9>bD; z7aQO5SYCLj)T;M)k56lx0Kg~WaR9(TByO!{U*v{H&xywp*NzHefV9K~e*lBwGt{bA zA5>PCZ$+ zL^OVk1Q+#&7_am~qZgniSR2BHH)eN!#h@`kLXZmyUI;D&2ADvjRyV{A7=gjI(yr^e zwOf1M*Bgf2`nI&7a^tx>&+~u&&;NWpC(jXkyj~vUP#$P@z;>^JyFH!(pfJT$x5w)p z`OgFZr9eT-T-*yu-U7;WJr2;;)`n@C6H|6g(*^*BgTcZ~vHyqwZm-&AyPwUw4*`ip zqD)Z~yQ-?crP`&G4TfPv{&fM-NF+ShZbwyBd#c?qj7T&R3Fpg~R~asIxzsXUe_GSD zoilx!roB_9>(5Bj%xh6O3(y^oWkW+lr-7ruyB3gLz>$iIil54KePyn^S=IUvd)6ze zrZm6Ww!tury+Bb8oNEDJX?gkkXZF2yUYbdzp~ZVV6FB1z_z!w!De#pklV^HQAN)ur z;<+RTAUQE!&~s}4hf*eg#9-gK{hs1X*o-?MG~P2!mV-%u*9mU*`EfqhieB50HF@BY zkKVI~NW?~`ObZGN*$cd3g;zJb-DyVuVNZ>KLx4JElZiNiOFqWKHz}FtMAZtW#Y{wp z`J??yuKoH0Msji{W#eFX$JbRW+-X%}DWJ;b9@T`@CdWrN$wYjbZ+v)wfs1Fb70#i! zVj-B&-_=3)vCkO~52SGw*&S3bZ`xhgwBv}?4rDxn`i-sTqV+BGoj*c<*9kDqJHF&( zjGj~9aPvYZrXd*%-AIcUio$|bTc}&}6hg7h3Wq|Ld9qbOqpB6KWW#nUo$L7XFl>8 z;?XQ{0FxWtCkbBl{ep#CQ0Z*Mlt}_texBx;7z@*N z>@zABt;X5(0<&h9Eka^QvDDBRoA-d?L0s{I{l{K z>idQ8jf<32*H?c0U61(XUB@zXz&x$kkjsnP*iGHKZ$GeD-_usDS{l# zb2VYe1ku1%;O{(!OcEOjtZSIh(aPoSw0gA^;BdJELl-*c0!>pkd(~nZw!VgA$y$Vx zes>i`rF?;l@`Wpj2Cgz0OX*DnUp&0c`)OJbS*pOC%?AQ53q_r9Hnp<)*|(WpR-Flc zXB0bXd9-CGi`Tax6eR%++9YZH!(9ce+UkuN2Car6m&{+${5nF6-8K8|ArvLH@R2QV zqG&Ef@SDG1q37}C? zl*W`N)+dDUNh!~VLZNn52qRbCy!tm)2qPQ{wFB*0F!@kE_`l)*0{#NF+L`}a)NA|z O0000