From d148e6d4ba6583026f8fe825143029db735c64a3 Mon Sep 17 00:00:00 2001 From: ancientmarinerdev Date: Tue, 18 Oct 2022 23:59:53 +0100 Subject: [PATCH 01/65] Villagers - Work, sleep and wander. Check and claim beds etc. --- mods/ENTITIES/mcl_mobs/api.lua | 6 +- mods/ENTITIES/mobs_mc/villager.lua | 289 ++++++++++++++++++++++++++--- 2 files changed, 266 insertions(+), 29 deletions(-) diff --git a/mods/ENTITIES/mcl_mobs/api.lua b/mods/ENTITIES/mcl_mobs/api.lua index 58cb72f9a..3577783c5 100644 --- a/mods/ENTITIES/mcl_mobs/api.lua +++ b/mods/ENTITIES/mcl_mobs/api.lua @@ -2486,6 +2486,8 @@ local function check_gowp(self,dtime) self._target = nil self.current_target = nil self.state = "stand" + self.object:set_velocity({x = 0, y = 0, z = 0}) + self.object:set_acceleration({x = 0, y = 0, z = 0}) if self.callback_arrived then return self.callback_arrived(self) end return true end @@ -2556,8 +2558,8 @@ local do_states = function(self, dtime) end -- npc's ordered to stand stay standing - if self.type ~= "npc" - or self.order ~= "stand" then + if self.type ~= "npc" or + (self.order ~= "stand" and self.order ~= "sleep" and self.order ~= "work") then if self.walk_chance ~= 0 and self.facing_fence ~= true diff --git a/mods/ENTITIES/mobs_mc/villager.lua b/mods/ENTITIES/mobs_mc/villager.lua index 376e9fd89..074977d14 100644 --- a/mods/ENTITIES/mobs_mc/villager.lua +++ b/mods/ENTITIES/mobs_mc/villager.lua @@ -492,6 +492,9 @@ local professions = { } } +local WORK = "work" +local SLEEP = "sleep" + local profession_names = {} for id, _ in pairs(professions) do table.insert(profession_names, id) @@ -499,9 +502,16 @@ end local jobsites={} for _,n in pairs(profession_names) do - table.insert(jobsites,professions[n].jobsite) + if n then + if professions[n].jobsite then + table.insert(jobsites,professions[n].jobsite) + end + end end +local spawnable_bed={} +table.insert(spawnable_bed, "mcl_beds:bed_red_bottom") + local function stand_still(self) self.walk_chance = 0 self.jump = false @@ -532,23 +542,124 @@ local function set_textures(self) self.object:set_properties({textures=get_badge_textures(self)}) end -local function go_home(entity) - entity.state = "go_home" - local b=entity._bed - if not b then return end - mcl_mobs:gopath(entity,b,function(entity,b) - if vector.distance(entity.object:get_pos(),b) < 2 then - entity.state = "stand" - set_velocity(entity,0) - entity.object:set_pos(b) - local n=minetest.get_node(b) - if n and n.name ~= "mcl_beds:bed_red_bottom" then - entity._bed=nil --the stormtroopers have killed uncle owen + +function get_activity(tod) + -- night hours = tod > 18541 or tod < 5458 + if not tod then + tod = minetest.get_timeofday() + end + tod = ( tod * 24000 ) % 24000 + + local lunch_start = 12000 + local lunch_end = 13300 + local work_start = 8300 + local work_end = 16300 + + local activity = nil + if (tod > work_start and tod < lunch_start) or (tod > lunch_end and tod < work_end) then + activity = WORK + elseif mcl_beds.is_night() then + activity = SLEEP + elseif tod > lunch_start and tod < lunch_end then + activity = "chill" + else + activity = "undefined" + end + --minetest.log("Time is " .. tod ..". Activity is: ".. activity) + return activity + +end + + +local function go_home(entity, sleep) + local b = entity._bed + if not b then + return + end + + local bed_node = minetest.get_node(b) + if not bed_node then + entity._bed = nil + --minetest.log("Cannot find bed. Unset it") + return + end + + + if vector.distance(entity.object:get_pos(),b) < 2 then + if sleep then + entity.order = SLEEP + --minetest.log("Sleep time!") + end + else + if sleep and entity.order == SLEEP then + entity.order = nil + return + end + + mcl_mobs:gopath(entity,b,function(entity,b) + local b = entity._bed + + if not b then + --minetest.log("NO BED, problem") return false end - return true + + if not minetest.get_node(b) then + --minetest.log("NO BED NODE, problem") + return false + end + + if vector.distance(entity.object:get_pos(),b) < 2 then + --minetest.log("Managed to walk home callback!") + return true + else + --minetest.log("Need to walk to home") + end + end) + end +end + +local function check_bed (entity) + local b = entity._bed + if not b then + --minetest.log("No bed set on villager") + return false + end + + local n = minetest.get_node(b) + if n and n.name ~= "mcl_beds:bed_red_bottom" then + --minetest.log("Where did my bed go?!") + entity._bed = nil --the stormtroopers have killed uncle owen + return false + else + return true + end +end + +local function take_bed (entity) + if not entity then return end + + local p = entity.object:get_pos() + local nn = minetest.find_nodes_in_area(vector.offset(p,-48,-48,-48), vector.offset(p,48,48,48), spawnable_bed) + + for _,n in pairs(nn) do + local m=minetest.get_meta(n) + --minetest.log("Bed owner: ".. m:get_string("villager")) + if m:get_string("villager") == "" then + --minetest.log("Can we path to bed: "..minetest.pos_to_string(n) ) + local gp = mcl_mobs:gopath(entity,n,function() + --minetest.log("We did path to bed. This is great: "..minetest.pos_to_string(n) ) + end) + if gp then + --minetest.log("Nice bed. I'll defintely take it as I can path") + m:set_string("villager", entity._id) + entity._bed = n + break + else + --minetest.log("Awww. I can't find my bed.") + end end - end) + end end local function has_golem(pos) @@ -608,11 +719,14 @@ local function employ(self,jobsite_pos) local m = minetest.get_meta(jobsite_pos) local p = get_profession_by_jobsite(n.name) if p and m:get_string("villager") == "" then + minetest.log("Taking this job") self._profession=p m:set_string("villager",self._id) self._jobsite = jobsite_pos set_textures(self) return true + else + --minetest.log("I can not steal someone's job!") end end @@ -621,10 +735,12 @@ local function look_for_job(self) self.last_jobhunt = os.time() + math.random(0,60) local p = self.object:get_pos() local nn = minetest.find_nodes_in_area(vector.offset(p,-48,-48,-48),vector.offset(p,48,48,48),jobsites) + --minetest.log("Looking for jobs") for _,n in pairs(nn) do local m=minetest.get_meta(n) + --minetest.log("Job owner: ".. m:get_string("villager")) if m:get_string("villager") == "" then - --minetest.log("goingt to jobsite "..minetest.pos_to_string(n) ) + --minetest.log("It's a free job for me (".. minetest.pos_to_string(p) .. ")! I'll take: "..minetest.pos_to_string(n) ) local gp = mcl_mobs:gopath(self,n,function() --minetest.log("arrived jobsite "..minetest.pos_to_string(n) ) end) @@ -634,24 +750,99 @@ local function look_for_job(self) end local function get_a_job(self) + --minetest.log("In get a job") if self.child then return end + local p = self.object:get_pos() local n = minetest.find_node_near(p,1,jobsites) + + if not n then + --minetest.log("Job hunt failed. No job block near.") + else + --minetest.log("Found job block near. Is it free though?") + end + if n and employ(self,n) then return true end + if self.state ~= "gowp" then look_for_job(self) end end -local function check_jobsite(self) - if self._traded or not self._jobsite then return end +local function find_jobsite (self) + if not self or not self._jobsite then + --minetest.log("find_jobsite. Invalid params") + return + end + local n = mcl_vars.get_node(self._jobsite) local m = minetest.get_meta(self._jobsite) - if m:get_string("villager") ~= self._id then + if m:get_string("villager") == self._id then + --minetest.log("find_jobsite. is my job.") + return n + else + --minetest.log("find_jobsite. Not my job") + end + return +end + +local function check_jobsite(self) + if self._traded then + return false + end + + if not find_jobsite (self) then self._profession = "unemployed" self._trades = nil set_textures(self) + return false + else + return true end end + + +local function do_work (self) + local jobsite2 = find_jobsite (self) + local jobsite = self._jobsite + + if self and jobsite2 and self._jobsite then + if self.order == WORK then + --minetest.log("I'm already working, boss!") + + self.object:set_velocity({x = 0, y = 0, z = 0}) + --minetest.log("[mobs_mc] Villager velocity is: ".. minetest.pos_to_string(self.object:get_velocity())) + return + end + + if vector.distance(self.object:get_pos(),self._jobsite) < 2 then + --minetest.log("Made it to work ok!") + self.order = WORK + else + --self.state = "go_to_work" + mcl_mobs:gopath(self, jobsite, function(self,jobsite) + if not self then + --minetest.log("missing self. not good") + return false + end + if not self._jobsite then + --minetest.log("Jobsite not valid") + return false + end + if vector.distance(self.object:get_pos(),self._jobsite) < 2 then + --minetest.log("Made it to work ok callback!") + return true + else + --minetest.log("Need to walk to work. Not sure we can get here.") + end + + end) + end + else + --minetest.log("Cannot find the jobsite in do_work. Do nothing.") + end + +end + local function update_max_tradenum(self) if not self._trades then return @@ -724,7 +915,7 @@ local function set_trade(trader, player, inv, concrete_tradenum) init_trades(trader) trades = minetest.deserialize(trader._trades) if not trades then - minetest.log("error", "[mobs_mc] Failed to select villager trade!") + --minetest.log("error", "[mobs_mc] Failed to select villager trade!") return end end @@ -1345,18 +1536,21 @@ mcl_mobs:register_mob("mobs_mc:villager", { _trading_players = {}, -- list of playernames currently trading with villager (open formspec) do_custom = function(self, dtime) check_summon(self,dtime) + -- Stand still if player is nearby. if not self._player_scan_timer then self._player_scan_timer = 0 end - self._player_scan_timer = self._player_scan_timer + dtime + -- Check infrequently to keep CPU load low if self._player_scan_timer > PLAYER_SCAN_INTERVAL then + self._player_scan_timer = 0 local selfpos = self.object:get_pos() local objects = minetest.get_objects_inside_radius(selfpos, PLAYER_SCAN_RADIUS) local has_player = false + for o, obj in pairs(objects) do if obj:is_player() then has_player = true @@ -1367,18 +1561,59 @@ mcl_mobs:register_mob("mobs_mc:villager", { minetest.log("verbose", "[mobs_mc] Player near villager found!") stand_still(self) else - minetest.log("verbose", "[mobs_mc] No player near villager found!") + --minetest.log("verbose", "[mobs_mc] No player near villager found!") self.walk_chance = DEFAULT_WALK_CHANCE self.jump = true end - if self._bed and ( self.state ~= "go_home" and vector.distance(self.object:get_pos(),self._bed) > 50 ) then - go_home(self) + + if not self._bed then + --minetest.log("[mobs_mc] Villager has no bed. Currently at location: "..minetest.pos_to_string(self.object:get_pos())) + take_bed (self) end - if self._profession == "unemployed" then - get_a_job(self) + if check_bed (self) then + --self.state ~= "go_home" + local wandered_too_far = ( self.state ~= "gowp" ) and (vector.distance(self.object:get_pos(),self._bed) > 50 ) + + if wandered_too_far then minetest.log("[mobs_mc] Wandered too far! Return home ") end + if wandered_too_far then + go_home(self, false) + return + elseif mcl_beds.is_night() then + --minetest.log("[mobs_mc] It's night. Better get to bed ") + go_home(self, true) + return + else + -- work + -- or gossip at town bell + end else - check_jobsite(self) + --minetest.log("[mobs_mc] check bed failed ") end + + -- Daytime is work and play time + if not mcl_beds.is_night() then + if self.order == SLEEP then self.order = nil end + if self._profession == "unemployed" then + --minetest.log("[mobs_mc] I'm unemployed. Can I get a job?") + get_a_job(self) + else + if get_activity() == WORK then + --minetest.log("[mobs_mc] Time for work") + if check_jobsite(self) then + --minetest.log("[mobs_mc] My jobsite is valid. Let's do work ") + do_work(self) + -- at night or thunder, go to safety (bed) + else + --minetest.log("[mobs_mc] My job site is invalid or i'm already working. I cannot work.") + end + else + self.order = nil + end + end + else + if self.order == WORK then self.order = nil end + end + end end, From 9f32a4c69247b221393de455b20a8d769c6a6fc8 Mon Sep 17 00:00:00 2001 From: Michieal Date: Wed, 19 Oct 2022 18:55:07 -0400 Subject: [PATCH 02/65] MineClone2 Signs Rewrite - move from GitHub to MeseHub GitHub link: https://github.com/michieal/Mineclone2-Signs --- mods/ITEMS/mcl_signs/README.txt | 28 +- mods/ITEMS/mcl_signs/init.lua | 659 ++-------- mods/ITEMS/mcl_signs/locale/template.txt | 2 +- mods/ITEMS/mcl_signs/mod.conf | 4 +- mods/ITEMS/mcl_signs/signs_api.lua | 1148 +++++++++++++++++ mods/ITEMS/mcl_signs/textures/_0.png | Bin 877 -> 1851 bytes mods/ITEMS/mcl_signs/textures/_1.png | Bin 883 -> 1852 bytes mods/ITEMS/mcl_signs/textures/_1_2.png | Bin 876 -> 1863 bytes mods/ITEMS/mcl_signs/textures/_1_4.png | Bin 881 -> 1859 bytes mods/ITEMS/mcl_signs/textures/_1_sup.png | Bin 868 -> 1850 bytes mods/ITEMS/mcl_signs/textures/_2.png | Bin 876 -> 1815 bytes mods/ITEMS/mcl_signs/textures/_2_sup.png | Bin 865 -> 1851 bytes mods/ITEMS/mcl_signs/textures/_3.png | Bin 882 -> 1861 bytes mods/ITEMS/mcl_signs/textures/_3_4.png | Bin 886 -> 1859 bytes mods/ITEMS/mcl_signs/textures/_3_sup.png | Bin 863 -> 1850 bytes mods/ITEMS/mcl_signs/textures/_4.png | Bin 87 -> 294 bytes mods/ITEMS/mcl_signs/textures/_5.png | Bin 886 -> 1857 bytes mods/ITEMS/mcl_signs/textures/_6.png | Bin 891 -> 1860 bytes mods/ITEMS/mcl_signs/textures/_7.png | Bin 889 -> 1856 bytes mods/ITEMS/mcl_signs/textures/_8.png | Bin 874 -> 1851 bytes mods/ITEMS/mcl_signs/textures/_9.png | Bin 886 -> 1858 bytes mods/ITEMS/mcl_signs/textures/_a.png | Bin 83 -> 292 bytes mods/ITEMS/mcl_signs/textures/_a_.png | Bin 88 -> 298 bytes mods/ITEMS/mcl_signs/textures/_a_acute.png | Bin 862 -> 1859 bytes mods/ITEMS/mcl_signs/textures/_a_acute_.png | Bin 882 -> 1929 bytes .../mcl_signs/textures/_a_circumflex.png | Bin 866 -> 1859 bytes .../mcl_signs/textures/_a_circumflex_.png | Bin 876 -> 1930 bytes mods/ITEMS/mcl_signs/textures/_a_grave.png | Bin 865 -> 1856 bytes mods/ITEMS/mcl_signs/textures/_a_grave_.png | Bin 880 -> 1930 bytes mods/ITEMS/mcl_signs/textures/_a_ring.png | Bin 867 -> 1859 bytes mods/ITEMS/mcl_signs/textures/_a_ring_.png | Bin 880 -> 1929 bytes mods/ITEMS/mcl_signs/textures/_a_sup.png | Bin 867 -> 1852 bytes mods/ITEMS/mcl_signs/textures/_a_tilde.png | Bin 868 -> 1860 bytes mods/ITEMS/mcl_signs/textures/_a_tilde_.png | Bin 874 -> 1929 bytes mods/ITEMS/mcl_signs/textures/_acute.png | Bin 853 -> 1839 bytes mods/ITEMS/mcl_signs/textures/_ae.png | Bin 866 -> 1859 bytes mods/ITEMS/mcl_signs/textures/_ae_.png | Bin 872 -> 1927 bytes mods/ITEMS/mcl_signs/textures/_ae_lig.png | Bin 866 -> 1854 bytes mods/ITEMS/mcl_signs/textures/_ae_lig_.png | Bin 868 -> 1922 bytes mods/ITEMS/mcl_signs/textures/_am.png | Bin 1907 -> 2854 bytes mods/ITEMS/mcl_signs/textures/_ap.png | Bin 874 -> 1839 bytes mods/ITEMS/mcl_signs/textures/_as.png | Bin 81 -> 294 bytes mods/ITEMS/mcl_signs/textures/_at.png | Bin 91 -> 304 bytes mods/ITEMS/mcl_signs/textures/_b.png | Bin 86 -> 295 bytes mods/ITEMS/mcl_signs/textures/_b_.png | Bin 82 -> 297 bytes mods/ITEMS/mcl_signs/textures/_bl.png | Bin 880 -> 1852 bytes mods/ITEMS/mcl_signs/textures/_br.png | Bin 881 -> 1852 bytes mods/ITEMS/mcl_signs/textures/_broken_bar.png | Bin 857 -> 1835 bytes mods/ITEMS/mcl_signs/textures/_c.png | Bin 881 -> 1852 bytes mods/ITEMS/mcl_signs/textures/_c_.png | Bin 883 -> 1852 bytes mods/ITEMS/mcl_signs/textures/_c_cedille.png | Bin 868 -> 1854 bytes mods/ITEMS/mcl_signs/textures/_c_cedille_.png | Bin 873 -> 1855 bytes mods/ITEMS/mcl_signs/textures/_ca.png | Bin 78 -> 287 bytes mods/ITEMS/mcl_signs/textures/_cedille.png | Bin 854 -> 1834 bytes mods/ITEMS/mcl_signs/textures/_cent.png | Bin 873 -> 1855 bytes mods/ITEMS/mcl_signs/textures/_cl.png | Bin 880 -> 1853 bytes mods/ITEMS/mcl_signs/textures/_cm.png | Bin 871 -> 1795 bytes mods/ITEMS/mcl_signs/textures/_co.png | Bin 873 -> 1838 bytes mods/ITEMS/mcl_signs/textures/_copyright.png | Bin 883 -> 1861 bytes mods/ITEMS/mcl_signs/textures/_cr.png | Bin 878 -> 1855 bytes mods/ITEMS/mcl_signs/textures/_currency.png | Bin 866 -> 1855 bytes mods/ITEMS/mcl_signs/textures/_d.png | Bin 86 -> 298 bytes mods/ITEMS/mcl_signs/textures/_d_.png | Bin 80 -> 291 bytes mods/ITEMS/mcl_signs/textures/_d_dash.png | Bin 876 -> 1862 bytes mods/ITEMS/mcl_signs/textures/_d_dash_.png | Bin 872 -> 1856 bytes mods/ITEMS/mcl_signs/textures/_degree.png | Bin 859 -> 1853 bytes mods/ITEMS/mcl_signs/textures/_diaresis.png | Bin 852 -> 1833 bytes mods/ITEMS/mcl_signs/textures/_div.png | Bin 858 -> 1846 bytes mods/ITEMS/mcl_signs/textures/_dl.png | Bin 884 -> 1859 bytes mods/ITEMS/mcl_signs/textures/_dt.png | Bin 869 -> 1788 bytes mods/ITEMS/mcl_signs/textures/_dv.png | Bin 886 -> 1853 bytes mods/ITEMS/mcl_signs/textures/_e.png | Bin 880 -> 1855 bytes mods/ITEMS/mcl_signs/textures/_e_.png | Bin 85 -> 297 bytes mods/ITEMS/mcl_signs/textures/_e_acute.png | Bin 870 -> 1859 bytes mods/ITEMS/mcl_signs/textures/_e_acute_.png | Bin 871 -> 1861 bytes .../mcl_signs/textures/_e_circumflex.png | Bin 874 -> 1859 bytes .../mcl_signs/textures/_e_circumflex_.png | Bin 872 -> 1861 bytes mods/ITEMS/mcl_signs/textures/_e_grave.png | Bin 869 -> 1857 bytes mods/ITEMS/mcl_signs/textures/_e_grave_.png | Bin 874 -> 1860 bytes mods/ITEMS/mcl_signs/textures/_ee.png | Bin 869 -> 1858 bytes mods/ITEMS/mcl_signs/textures/_ee_.png | Bin 869 -> 1860 bytes mods/ITEMS/mcl_signs/textures/_eq.png | Bin 867 -> 1795 bytes mods/ITEMS/mcl_signs/textures/_ex.png | Bin 875 -> 1839 bytes mods/ITEMS/mcl_signs/textures/_ex_inv.png | Bin 855 -> 1842 bytes mods/ITEMS/mcl_signs/textures/_f.png | Bin 885 -> 1855 bytes mods/ITEMS/mcl_signs/textures/_f_.png | Bin 84 -> 297 bytes mods/ITEMS/mcl_signs/textures/_g.png | Bin 87 -> 295 bytes mods/ITEMS/mcl_signs/textures/_g_.png | Bin 884 -> 1854 bytes mods/ITEMS/mcl_signs/textures/_gr.png | Bin 869 -> 1836 bytes mods/ITEMS/mcl_signs/textures/_gt.png | Bin 872 -> 1852 bytes mods/ITEMS/mcl_signs/textures/_guill_left.png | Bin 856 -> 1853 bytes .../ITEMS/mcl_signs/textures/_guill_right.png | Bin 855 -> 1855 bytes mods/ITEMS/mcl_signs/textures/_h.png | Bin 893 -> 1919 bytes mods/ITEMS/mcl_signs/textures/_h_.png | Bin 86 -> 298 bytes mods/ITEMS/mcl_signs/textures/_ha.png | Bin 80 -> 283 bytes mods/ITEMS/mcl_signs/textures/_hs.png | Bin 1257 -> 2140 bytes mods/ITEMS/mcl_signs/textures/_i.png | Bin 80 -> 293 bytes mods/ITEMS/mcl_signs/textures/_i_.png | Bin 80 -> 288 bytes mods/ITEMS/mcl_signs/textures/_i_acute.png | Bin 863 -> 1853 bytes mods/ITEMS/mcl_signs/textures/_i_acute_.png | Bin 866 -> 1856 bytes .../mcl_signs/textures/_i_circumflex.png | Bin 867 -> 1853 bytes .../mcl_signs/textures/_i_circumflex_.png | Bin 867 -> 1853 bytes mods/ITEMS/mcl_signs/textures/_i_grave.png | Bin 863 -> 1851 bytes mods/ITEMS/mcl_signs/textures/_i_grave_.png | Bin 870 -> 1857 bytes mods/ITEMS/mcl_signs/textures/_j.png | Bin 881 -> 1854 bytes mods/ITEMS/mcl_signs/textures/_j_.png | Bin 83 -> 291 bytes mods/ITEMS/mcl_signs/textures/_k.png | Bin 88 -> 296 bytes mods/ITEMS/mcl_signs/textures/_k_.png | Bin 887 -> 1815 bytes mods/ITEMS/mcl_signs/textures/_l.png | Bin 79 -> 282 bytes mods/ITEMS/mcl_signs/textures/_l_.png | Bin 82 -> 289 bytes mods/ITEMS/mcl_signs/textures/_lt.png | Bin 865 -> 1808 bytes mods/ITEMS/mcl_signs/textures/_m.png | Bin 84 -> 286 bytes mods/ITEMS/mcl_signs/textures/_m_.png | Bin 84 -> 292 bytes mods/ITEMS/mcl_signs/textures/_macron.png | Bin 855 -> 1832 bytes mods/ITEMS/mcl_signs/textures/_mn.png | Bin 873 -> 1836 bytes mods/ITEMS/mcl_signs/textures/_mu.png | Bin 869 -> 1915 bytes mods/ITEMS/mcl_signs/textures/_n.png | Bin 84 -> 287 bytes mods/ITEMS/mcl_signs/textures/_n_.png | Bin 91 -> 298 bytes mods/ITEMS/mcl_signs/textures/_n_tilde.png | Bin 873 -> 1925 bytes mods/ITEMS/mcl_signs/textures/_n_tilde_.png | Bin 879 -> 1929 bytes mods/ITEMS/mcl_signs/textures/_not.png | Bin 1301 -> 2259 bytes mods/ITEMS/mcl_signs/textures/_o.png | Bin 878 -> 1850 bytes mods/ITEMS/mcl_signs/textures/_o_.png | Bin 878 -> 1849 bytes mods/ITEMS/mcl_signs/textures/_o_acute.png | Bin 870 -> 1856 bytes mods/ITEMS/mcl_signs/textures/_o_acute_.png | Bin 867 -> 1855 bytes .../mcl_signs/textures/_o_circumflex.png | Bin 872 -> 1856 bytes .../mcl_signs/textures/_o_circumflex_.png | Bin 875 -> 1856 bytes mods/ITEMS/mcl_signs/textures/_o_dash.png | Bin 874 -> 1921 bytes mods/ITEMS/mcl_signs/textures/_o_dash_.png | Bin 878 -> 1923 bytes mods/ITEMS/mcl_signs/textures/_o_grave.png | Bin 870 -> 1855 bytes mods/ITEMS/mcl_signs/textures/_o_grave_.png | Bin 873 -> 1857 bytes mods/ITEMS/mcl_signs/textures/_o_sup.png | Bin 865 -> 1848 bytes mods/ITEMS/mcl_signs/textures/_o_tilde.png | Bin 867 -> 1856 bytes mods/ITEMS/mcl_signs/textures/_o_tilde_.png | Bin 869 -> 1856 bytes mods/ITEMS/mcl_signs/textures/_oe.png | Bin 865 -> 1853 bytes mods/ITEMS/mcl_signs/textures/_oe_.png | Bin 866 -> 1854 bytes mods/ITEMS/mcl_signs/textures/_p.png | Bin 85 -> 295 bytes mods/ITEMS/mcl_signs/textures/_p_.png | Bin 83 -> 298 bytes mods/ITEMS/mcl_signs/textures/_paragraph.png | Bin 871 -> 1929 bytes mods/ITEMS/mcl_signs/textures/_pilcrow.png | Bin 872 -> 1849 bytes mods/ITEMS/mcl_signs/textures/_plus_minus.png | Bin 858 -> 1841 bytes mods/ITEMS/mcl_signs/textures/_pound.png | Bin 868 -> 1859 bytes mods/ITEMS/mcl_signs/textures/_pr.png | Bin 895 -> 1862 bytes mods/ITEMS/mcl_signs/textures/_ps.png | Bin 78 -> 285 bytes mods/ITEMS/mcl_signs/textures/_q.png | Bin 87 -> 295 bytes mods/ITEMS/mcl_signs/textures/_q_.png | Bin 883 -> 1852 bytes mods/ITEMS/mcl_signs/textures/_qo.png | Bin 873 -> 1837 bytes mods/ITEMS/mcl_signs/textures/_qu.png | Bin 876 -> 1855 bytes mods/ITEMS/mcl_signs/textures/_qu_inv.png | Bin 858 -> 1853 bytes mods/ITEMS/mcl_signs/textures/_r.png | Bin 82 -> 289 bytes mods/ITEMS/mcl_signs/textures/_r_.png | Bin 887 -> 1858 bytes mods/ITEMS/mcl_signs/textures/_rc.png | Bin 902 -> 1861 bytes mods/ITEMS/mcl_signs/textures/_re.png | Bin 75 -> 291 bytes mods/ITEMS/mcl_signs/textures/_registered.png | Bin 882 -> 1861 bytes mods/ITEMS/mcl_signs/textures/_s.png | Bin 881 -> 1855 bytes mods/ITEMS/mcl_signs/textures/_s_.png | Bin 885 -> 1858 bytes mods/ITEMS/mcl_signs/textures/_sl.png | Bin 882 -> 1842 bytes mods/ITEMS/mcl_signs/textures/_sm.png | Bin 871 -> 1798 bytes mods/ITEMS/mcl_signs/textures/_sp.png | Bin 862 -> 1782 bytes mods/ITEMS/mcl_signs/textures/_sr.png | Bin 879 -> 1841 bytes mods/ITEMS/mcl_signs/textures/_sz.png | Bin 874 -> 1857 bytes mods/ITEMS/mcl_signs/textures/_t.png | Bin 83 -> 294 bytes mods/ITEMS/mcl_signs/textures/_t_.png | Bin 82 -> 290 bytes mods/ITEMS/mcl_signs/textures/_thorn.png | Bin 2480 -> 3803 bytes mods/ITEMS/mcl_signs/textures/_thorn_.png | Bin 153 -> 339 bytes .../ITEMS/mcl_signs/textures/_times_cross.png | Bin 860 -> 1854 bytes mods/ITEMS/mcl_signs/textures/_times_dot.png | Bin 849 -> 1839 bytes mods/ITEMS/mcl_signs/textures/_tl.png | Bin 871 -> 1845 bytes mods/ITEMS/mcl_signs/textures/_u.png | Bin 82 -> 292 bytes mods/ITEMS/mcl_signs/textures/_u_.png | Bin 82 -> 295 bytes mods/ITEMS/mcl_signs/textures/_u_acute.png | Bin 873 -> 1924 bytes mods/ITEMS/mcl_signs/textures/_u_acute_.png | Bin 876 -> 1924 bytes .../mcl_signs/textures/_u_circumflex.png | Bin 874 -> 1926 bytes .../mcl_signs/textures/_u_circumflex_.png | Bin 876 -> 1925 bytes mods/ITEMS/mcl_signs/textures/_u_grave.png | Bin 870 -> 1924 bytes mods/ITEMS/mcl_signs/textures/_u_grave_.png | Bin 878 -> 1925 bytes mods/ITEMS/mcl_signs/textures/_ue.png | Bin 870 -> 1923 bytes mods/ITEMS/mcl_signs/textures/_ue_.png | Bin 872 -> 1923 bytes mods/ITEMS/mcl_signs/textures/_un.png | Bin 73 -> 272 bytes mods/ITEMS/mcl_signs/textures/_v.png | Bin 85 -> 298 bytes mods/ITEMS/mcl_signs/textures/_v_.png | Bin 87 -> 295 bytes mods/ITEMS/mcl_signs/textures/_vb.png | Bin 873 -> 1834 bytes mods/ITEMS/mcl_signs/textures/_w.png | Bin 876 -> 1848 bytes mods/ITEMS/mcl_signs/textures/_w_.png | Bin 889 -> 1855 bytes mods/ITEMS/mcl_signs/textures/_x.png | Bin 83 -> 294 bytes mods/ITEMS/mcl_signs/textures/_x_.png | Bin 85 -> 296 bytes mods/ITEMS/mcl_signs/textures/_y.png | Bin 82 -> 294 bytes mods/ITEMS/mcl_signs/textures/_y_.png | Bin 87 -> 295 bytes mods/ITEMS/mcl_signs/textures/_y_acute.png | Bin 875 -> 1861 bytes mods/ITEMS/mcl_signs/textures/_y_acute_.png | Bin 871 -> 1862 bytes mods/ITEMS/mcl_signs/textures/_y_diaresis.png | Bin 874 -> 1860 bytes mods/ITEMS/mcl_signs/textures/_yen.png | Bin 866 -> 1853 bytes mods/ITEMS/mcl_signs/textures/_z.png | Bin 886 -> 1855 bytes mods/ITEMS/mcl_signs/textures/_z_.png | Bin 887 -> 1861 bytes .../mcl_signs/textures/default_sign_dark.png | Bin 0 -> 746 bytes .../textures/mcl_signs_sign_dark.png | Bin 0 -> 1418 bytes 196 files changed, 1290 insertions(+), 551 deletions(-) create mode 100644 mods/ITEMS/mcl_signs/signs_api.lua create mode 100644 mods/ITEMS/mcl_signs/textures/default_sign_dark.png create mode 100644 mods/ITEMS/mcl_signs/textures/mcl_signs_sign_dark.png diff --git a/mods/ITEMS/mcl_signs/README.txt b/mods/ITEMS/mcl_signs/README.txt index ee161fc95..a5887f2a2 100644 --- a/mods/ITEMS/mcl_signs/README.txt +++ b/mods/ITEMS/mcl_signs/README.txt @@ -1,4 +1,21 @@ -Mod based on reworked signs mod by PilzAdam: + +--- +# Mineclone2-Signs +--- +A reworking of MineClone 2's mcl_signs to be colorable and made to glow. Rquires Minetest and Mineclone2. +--- + +Created by Michieal (FaerRaven) @ DateTime: 10/14/22 4:05 PM + + +Reworked to be an API and to allow players to color, and/or make the lettering for the signs glow (be bright at night). +Reworked by Michieal (FaerRaven), including the sign textures batch changed to be white instead of the original black. + +A special thanks to Cora for pointing me in the right direction (as always). + + +The original Mod, MCL_SIGNS is based on reworked signs mod by PilzAdam: + https://forum.minetest.net/viewtopic.php?t=3289 License of code and font: MIT License @@ -9,5 +26,14 @@ Original font license text states: “YOU MAY USE THEM AS YOU LIKE” (in about. License of textures: See README.md in top directory of MineClone 2. License of models: GPLv3 (https://www.gnu.org/licenses/gpl-3.0.html) + Models author: 22i. + Source: https://github.com/22i/amc + +Mineclone 2 source code: +https://git.minetest.land/MineClone2/MineClone2 + +--- +NOTE: This MODule requires Glow Squids in order for all features to work 100% correctly. Glow Squids are currently +in review by the MineClone 2 Team, and should be available soon after this initial release of the new signs. \ No newline at end of file diff --git a/mods/ITEMS/mcl_signs/init.lua b/mods/ITEMS/mcl_signs/init.lua index b6bfb3fe8..10bd909ba 100644 --- a/mods/ITEMS/mcl_signs/init.lua +++ b/mods/ITEMS/mcl_signs/init.lua @@ -1,580 +1,143 @@ +--- +--- Generated by EmmyLua(https://github.com/EmmyLua) +--- Created by Michieal (FaerRaven). +--- DateTime: 10/14/22 4:05 PM +--- + local modname = minetest.get_current_modname() local modpath = minetest.get_modpath(modname) -local S = minetest.get_translator(modname) -local F = minetest.formspec_escape local table = table +local m = -1 / 16 + 1 / 64 --- Load the characters map (characters.txt) ---[[ File format of characters.txt: -It's an UTF-8 encoded text file that contains metadata for all supported characters. It contains a sequence of info blocks, one for each character. Each info block is made out of 3 lines: -Line 1: The literal UTF-8 encoded character -Line 2: Name of the texture file for this character minus the “.png” suffix; found in the “textures/” sub-directory -Line 3: Currently ignored. Previously this was for the character width in pixels +-- Signs API +dofile(modpath .. "/signs_api.lua") -After line 3, another info block may follow. This repeats until the end of the file. +-- LOCALIZATION +local S = minetest.get_translator(modname) -All character files must be 5 or 6 pixels wide (5 pixels are preferred) -]] - -local chars_file = io.open(modpath.."/characters.txt", "r") --- FIXME: Support more characters (many characters are missing). Currently ASCII and Latin-1 Supplement are supported. -local charmap = {} -if not chars_file then - minetest.log("error", "[mcl_signs] : character map file not found") -else - while true do - local char = chars_file:read("*l") - if char == nil then - break - end - local img = chars_file:read("*l") - chars_file:read("*l") - charmap[char] = img - end -end - --- CONSTANTS -local SIGN_WIDTH = 115 - -local LINE_LENGTH = 15 -local NUMBER_OF_LINES = 4 - -local LINE_HEIGHT = 14 -local CHAR_WIDTH = 5 - - --- Helper functions -local function round(num, idp) - local mult = 10^(idp or 0) - return math.floor(num * mult + 0.5) / mult -end - -local function string_to_array(str) - local tab = {} - for i=1,string.len(str) do - table.insert(tab, string.sub(str, i,i)) - end - return tab -end - -local function string_to_line_array(str) - local tab = {} - local current = 1 - local linechar = 1 - tab[1] = "" - for _,char in ipairs(string_to_array(str)) do - -- New line - if char == "\n" then - current = current + 1 - tab[current] = "" - linechar = 1 - else - tab[current] = tab[current]..char - linechar = linechar + 1 - end - end - return tab -end - -local function create_lines(text) - local line_num = 1 - local tab = {} - for _, line in ipairs(string_to_line_array(text)) do - if line_num > NUMBER_OF_LINES then - break - end - table.insert(tab, line) - line_num = line_num + 1 - end - return tab -end - -local function generate_line(s, ypos) - local i = 1 - local parsed = {} - local width = 0 - local chars = 0 - local printed_char_width = CHAR_WIDTH + 1 - while chars < LINE_LENGTH and i <= #s do - local file - -- Get and render character - if charmap[s:sub(i, i)] then - file = charmap[s:sub(i, i)] - i = i + 1 - elseif i < #s and charmap[s:sub(i, i + 1)] then - file = charmap[s:sub(i, i + 1)] - i = i + 2 - else - -- No character image found. - -- Use replacement character: - file = "_rc" - i = i + 1 - minetest.log("verbose", "[mcl_signs] Unknown symbol in '"..s.."' at "..i) - end - if file then - width = width + printed_char_width - table.insert(parsed, file) - chars = chars + 1 - end - end - width = width - 1 - - local texture = "" - local xpos = math.floor((SIGN_WIDTH - width) / 2) - for i = 1, #parsed do - texture = texture..":"..xpos..","..ypos.."="..parsed[i]..".png" - xpos = xpos + printed_char_width - end - return texture -end - -local function generate_texture(lines, signnodename) - local texture = "[combine:"..SIGN_WIDTH.."x"..SIGN_WIDTH - local ypos - if signnodename == "mcl_signs:wall_sign" then - ypos = 30 - else - ypos = 0 - end - for i = 1, #lines do - texture = texture..generate_line(lines[i], ypos) - ypos = ypos + LINE_HEIGHT - end - return texture -end - -local n = 23/56 - 1/128 - -local signtext_info_wall = { - {delta = {x = 0, y = 0, z = n}, yaw = 0}, - {delta = {x = n, y = 0, z = 0}, yaw = math.pi / -2}, - {delta = {x = 0, y = 0, z = -n}, yaw = math.pi}, - {delta = {x = -n, y = 0, z = 0}, yaw = math.pi / 2}, -} - -local signtext_info_standing = {} - -local m = -1/16 + 1/64 - -for rot=0, 15 do - local yaw = math.pi*2 - (((math.pi*2) / 16) * rot) - local delta = vector.multiply(minetest.yaw_to_dir(yaw), m) - -- Offset because sign is a bit above node boundaries - delta.y = delta.y + 2/28 - table.insert(signtext_info_standing, { delta = delta, yaw = yaw }) -end - -local function get_rotation_level(facedir, nodename) - local rl = facedir * 4 - if nodename == "mcl_signs:standing_sign22_5" then - rl = rl + 1 - elseif nodename == "mcl_signs:standing_sign45" then - rl = rl + 2 - elseif nodename == "mcl_signs:standing_sign67_5" then - rl = rl + 3 - end - return rl -end - -local function get_wall_signtext_info(param2, nodename) - local dir = minetest.wallmounted_to_dir(param2) - if dir.x > 0 then - return 2 - elseif dir.z > 0 then - return 1 - elseif dir.x < 0 then - return 4 - else - return 3 - end -end - -local sign_groups = {handy=1,axey=1, deco_block=1, material_wood=1, attached_node=1, dig_by_piston=1, flammable=-1} - -local function destruct_sign(pos) - local objects = minetest.get_objects_inside_radius(pos, 0.5) - for _, v in ipairs(objects) do - local ent = v:get_luaentity() - if ent and ent.name == "mcl_signs:text" then - v:remove() - end - end - local players = minetest.get_connected_players() - for p=1, #players do - if vector.distance(players[p]:get_pos(), pos) <= 30 then - minetest.close_formspec(players[p]:get_player_name(), "mcl_signs:set_text_"..pos.x.."_"..pos.y.."_"..pos.z) - end - end -end - -local function update_sign(pos, fields, sender, force_remove) - local meta = minetest.get_meta(pos) - if not meta then - return - end - local text = meta:get_string("text") - if fields and (text == "" and fields.text) then - meta:set_string("text", fields.text) - text = fields.text - end - if text == nil then - text = "" - end - - local sign_info - local n = minetest.get_node(pos) - local nn = n.name - if nn == "mcl_signs:standing_sign" or nn == "mcl_signs:standing_sign22_5" or nn == "mcl_signs:standing_sign45" or nn == "mcl_signs:standing_sign67_5" then - sign_info = signtext_info_standing[get_rotation_level(n.param2, nn) + 1] - elseif nn == "mcl_signs:wall_sign" then - sign_info = signtext_info_wall[get_wall_signtext_info(n.param2)] - end - if sign_info == nil then - minetest.log("error", "[mcl_signs] Missing sign_info!") - return - end - - local objects = minetest.get_objects_inside_radius(pos, 0.5) - local text_entity - for _, v in ipairs(objects) do - local ent = v:get_luaentity() - if ent and ent.name == "mcl_signs:text" then - if force_remove then - v:remove() - else - text_entity = v - break - end - end - end - - if not text_entity then - text_entity = minetest.add_entity({ - x = pos.x + sign_info.delta.x, - y = pos.y + sign_info.delta.y, - z = pos.z + sign_info.delta.z}, "mcl_signs:text") - end - text_entity:get_luaentity()._signnodename = nn - text_entity:set_properties({textures={generate_texture(create_lines(text), nn)}}) - - text_entity:set_yaw(sign_info.yaw) -end - -local function show_formspec(player, pos) - minetest.show_formspec( - player:get_player_name(), - "mcl_signs:set_text_"..pos.x.."_"..pos.y.."_"..pos.z, - "size[6,3]textarea[0.25,0.25;6,1.5;text;"..F(S("Enter sign text:"))..";]label[0,1.5;"..F(S("Maximum line length: 15")).."\n"..F(S("Maximum lines: 4")).."]button_exit[0,2.5;6,1;submit;"..F(S("Done")).."]" - ) +-- PLACE YAW VALUES INTO THE TABLE. +for rot = 0, 15 do + local yaw = math.pi * 2 - (((math.pi * 2) / 16) * rot) + local delta = vector.multiply(minetest.yaw_to_dir(yaw), m) + -- Offset because sign is a bit above node boundaries + delta.y = delta.y + 2 / 28 + table.insert(mcl_signs.signtext_info_standing, { delta = delta, yaw = yaw }) end +-- HANDLE THE FORMSPEC CALLBACK minetest.register_on_player_receive_fields(function(player, formname, fields) - if formname:find("mcl_signs:set_text_") == 1 then - local x, y, z = formname:match("mcl_signs:set_text_(.-)_(.-)_(.*)") - local pos = {x=tonumber(x), y=tonumber(y), z=tonumber(z)} - if not pos or not pos.x or not pos.y or not pos.z then return end - update_sign(pos, fields, player) - end + if formname:find("mcl_signs:set_text_") == 1 then + local x, y, z = formname:match("mcl_signs:set_text_(.-)_(.-)_(.*)") + local pos = { x = tonumber(x), y = tonumber(y), z = tonumber(z) } + if not pos or not pos.x or not pos.y or not pos.z then + return + end + mcl_signs:update_sign(pos, fields, player) + end end) -local node_sounds -if minetest.get_modpath("mcl_sounds") then - node_sounds = mcl_sounds.node_sound_wood_defaults() -end - -minetest.register_node("mcl_signs:wall_sign", { - description = S("Sign"), - _tt_help = S("Can be written"), - _doc_items_longdesc = S("Signs can be written and come in two variants: Wall sign and sign on a sign post. Signs can be placed on the top and the sides of other blocks, but not below them."), - _doc_items_usagehelp = S("After placing the sign, you can write something on it. You have 4 lines of text with up to 15 characters for each line; anything beyond these limits is lost. Not all characters are supported. The text can not be changed once it has been written; you have to break and place the sign again."), - inventory_image = "default_sign.png", - walkable = false, - is_ground_content = false, - wield_image = "default_sign.png", - node_placement_prediction = "", - paramtype = "light", - sunlight_propagates = true, - paramtype2 = "wallmounted", - drawtype = "mesh", - mesh = "mcl_signs_signonwallmount.obj", - selection_box = {type = "wallmounted", wall_side = {-0.5, -7/28, -0.5, -23/56, 7/28, 0.5}}, - tiles = {"mcl_signs_sign.png"}, - use_texture_alpha = minetest.features.use_texture_alpha_string_modes and "opaque" or false, - groups = sign_groups, - stack_max = 16, - sounds = node_sounds, - - on_place = function(itemstack, placer, pointed_thing) - local above = pointed_thing.above - local under = pointed_thing.under - - -- Use pointed node's on_rightclick function first, if present - local node_under = minetest.get_node(under) - if placer and not placer:get_player_control().sneak then - if minetest.registered_nodes[node_under.name] and minetest.registered_nodes[node_under.name].on_rightclick then - return minetest.registered_nodes[node_under.name].on_rightclick(under, node_under, placer, itemstack) or itemstack - end - end - - local dir = vector.subtract(under, above) - - -- Only build when it's legal - local abovenodedef = minetest.registered_nodes[minetest.get_node(above).name] - if not abovenodedef or abovenodedef.buildable_to == false then - return itemstack - end - - local wdir = minetest.dir_to_wallmounted(dir) - - --local placer_pos = placer:get_pos() - - local fdir = minetest.dir_to_facedir(dir) - - local sign_info - local nodeitem = ItemStack(itemstack) - -- Ceiling - if wdir == 0 then - --how would you add sign to ceiling? - return itemstack - -- Floor - elseif wdir == 1 then - -- Standing sign - - -- Determine the sign rotation based on player's yaw - local yaw = math.pi*2 - placer:get_look_horizontal() - - -- Select one of 16 possible rotations (0-15) - local rotation_level = round((yaw / (math.pi*2)) * 16) - - if rotation_level > 15 then - rotation_level = 0 - elseif rotation_level < 0 then - rotation_level = 15 - end - - -- The actual rotation is a combination of predefined mesh and facedir (see node definition) - if rotation_level % 4 == 0 then - nodeitem:set_name("mcl_signs:standing_sign") - elseif rotation_level % 4 == 1 then - nodeitem:set_name("mcl_signs:standing_sign22_5") - elseif rotation_level % 4 == 2 then - nodeitem:set_name("mcl_signs:standing_sign45") - elseif rotation_level % 4 == 3 then - nodeitem:set_name("mcl_signs:standing_sign67_5") - end - fdir = math.floor(rotation_level / 4) - - -- Place the node! - local _, success = minetest.item_place_node(nodeitem, placer, pointed_thing, fdir) - if not success then - return itemstack - end - if not minetest.is_creative_enabled(placer:get_player_name()) then - itemstack:take_item() - end - sign_info = signtext_info_standing[rotation_level + 1] - -- Side - else - -- Wall sign - local _, success = minetest.item_place_node(itemstack, placer, pointed_thing, wdir) - if not success then - return itemstack - end - sign_info = signtext_info_wall[fdir + 1] - end - - -- Determine spawn position of entity - local place_pos - if minetest.registered_nodes[node_under.name].buildable_to then - place_pos = under - else - place_pos = above - end - - local text_entity = minetest.add_entity({ - x = place_pos.x + sign_info.delta.x, - y = place_pos.y + sign_info.delta.y, - z = place_pos.z + sign_info.delta.z}, "mcl_signs:text") - text_entity:set_yaw(sign_info.yaw) - text_entity:get_luaentity()._signnodename = nodeitem:get_name() - - minetest.sound_play({name="default_place_node_hard", gain=1.0}, {pos = place_pos}, true) - - show_formspec(placer, place_pos) - return itemstack - end, - on_destruct = destruct_sign, - on_punch = function(pos, node, puncher) - update_sign(pos) - end, - on_rotate = function(pos, node, user, mode) - if mode == screwdriver.ROTATE_FACE then - local r = screwdriver.rotate.wallmounted(pos, node, mode) - node.param2 = r - minetest.swap_node(pos, node) - update_sign(pos, nil, nil, true) - return true - else - return false - end - end, - _mcl_hardness = 1, - _mcl_blast_resistance = 1, -}) - --- Standing sign nodes. --- 4 rotations at 0°, 22.5°, 45° and 67.5°. --- These are 4 out of 16 possible rotations. --- With facedir the remaining 12 rotations are constructed. - --- 0° -local ssign = { - paramtype = "light", - use_texture_alpha = minetest.features.use_texture_alpha_string_modes and "opaque" or false, - sunlight_propagates = true, - walkable = false, - is_ground_content = false, - paramtype2 = "facedir", - drawtype = "mesh", - mesh = "mcl_signs_sign.obj", - selection_box = {type = "fixed", fixed = {-0.2, -0.5, -0.2, 0.2, 0.5, 0.2}}, - tiles = {"mcl_signs_sign.png"}, - groups = sign_groups, - drop = "mcl_signs:wall_sign", - stack_max = 16, - sounds = node_sounds, - - on_destruct = destruct_sign, - on_punch = function(pos, node, puncher) - update_sign(pos) - end, - on_rotate = function(pos, node, user, mode) - if mode == screwdriver.ROTATE_FACE then - node.name = "mcl_signs:standing_sign22_5" - minetest.swap_node(pos, node) - elseif mode == screwdriver.ROTATE_AXIS then - return false - end - update_sign(pos, nil, nil, true) - return true - end, - - _mcl_hardness = 1, - _mcl_blast_resistance = 1, -} - -minetest.register_node("mcl_signs:standing_sign", ssign) - --- 22.5° -local ssign22_5 = table.copy(ssign) -ssign22_5.mesh = "mcl_signs_sign22.5.obj" -ssign22_5.on_rotate = function(pos, node, user, mode) - if mode == screwdriver.ROTATE_FACE then - node.name = "mcl_signs:standing_sign45" - minetest.swap_node(pos, node) - elseif mode == screwdriver.ROTATE_AXIS then - return false - end - update_sign(pos, nil, nil, true) - return true -end -minetest.register_node("mcl_signs:standing_sign22_5", ssign22_5) - --- 45° -local ssign45 = table.copy(ssign) -ssign45.mesh = "mcl_signs_sign45.obj" -ssign45.on_rotate = function(pos, node, user, mode) - if mode == screwdriver.ROTATE_FACE then - node.name = "mcl_signs:standing_sign67_5" - minetest.swap_node(pos, node) - elseif mode == screwdriver.ROTATE_AXIS then - return false - end - update_sign(pos, nil, nil, true) - return true -end -minetest.register_node("mcl_signs:standing_sign45", ssign45) - --- 67.5° -local ssign67_5 = table.copy(ssign) -ssign67_5.mesh = "mcl_signs_sign67.5.obj" -ssign67_5.on_rotate = function(pos, node, user, mode) - if mode == screwdriver.ROTATE_FACE then - node.name = "mcl_signs:standing_sign" - node.param2 = (node.param2 + 1) % 4 - minetest.swap_node(pos, node) - elseif mode == screwdriver.ROTATE_AXIS then - return false - end - update_sign(pos, nil, nil, true) - return true -end -minetest.register_node("mcl_signs:standing_sign67_5", ssign67_5) +mcl_signs:generate_signs() -- initialize the nodes for the signs. -- FIXME: Prevent entity destruction by /clearobjects minetest.register_entity("mcl_signs:text", { - pointable = false, - visual = "upright_sprite", - textures = {}, - physical = false, - collide_with_objects = false, + pointable = false, + visual = "upright_sprite", + textures = {}, + physical = false, + collide_with_objects = false, - _signnodename = nil, -- node name of sign node to which the text belongs + _signnodename = nil, -- node name of sign node to which the text belongs - on_activate = function(self, staticdata) - if staticdata and staticdata ~= "" then - local des = minetest.deserialize(staticdata) - if des then - self._signnodename = des._signnodename - end - end - local meta = minetest.get_meta(self.object:get_pos()) - local text = meta:get_string("text") - self.object:set_properties({ - textures={generate_texture(create_lines(text), self._signnodename)}, - }) - self.object:set_armor_groups({ immortal = 1 }) - end, - get_staticdata = function(self) - local out = { _signnodename = self._signnodename } - return minetest.serialize(out) - end, + on_activate = function(self, staticdata) + if staticdata and staticdata ~= "" then + local des = minetest.deserialize(staticdata) + if des then + self._signnodename = des._signnodename + end + end + local meta = minetest.get_meta(self.object:get_pos()) + local text = meta:get_string("text") + self.object:set_properties({ + textures = { mcl_signs:create_lettering(text, self._signnodename) }, + }) + self.object:set_armor_groups({ immortal = 1 }) + end, + get_staticdata = function(self) + local out = { _signnodename = self._signnodename } + return minetest.serialize(out) + end, +}) + +-- Make the wall signs burnable. +minetest.register_craft({ + type = "fuel", + recipe = "mcl_signs:wall_sign", + burntime = 10, }) minetest.register_craft({ - type = "fuel", - recipe = "mcl_signs:wall_sign", - burntime = 10, + type = "fuel", + recipe = "mcl_signs:wall_sign_dark", + burntime = 10, }) +-- register crafts (actual recipes) if minetest.get_modpath("mcl_core") then - minetest.register_craft({ - output = "mcl_signs:wall_sign 3", - recipe = { - {"group:wood", "group:wood", "group:wood"}, - {"group:wood", "group:wood", "group:wood"}, - {"", "mcl_core:stick", ""}, - } - }) + + -- debug step + minetest.log("verbose", "Register Sign Crafts: \n" .. dump(mcl_signs.woods)) + + for w = 1, #mcl_signs.woods do + local itemstring = "" + + if mcl_signs.woods[w] == "mcl_core:sprucewood" or mcl_signs.woods[w] == "mcl_core:darkwood" then + itemstring = "mcl_signs:wall_sign_dark" + else + itemstring = "mcl_signs:wall_sign 3" + end + + local c = mcl_signs.woods[w] + + minetest.register_craft({ + output = itemstring.." 3", + recipe = { + { c, c, c }, + { c, c, c }, + { "", "mcl_core:stick", "" }, + }, + }) + end end if minetest.get_modpath("doc") then - doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign") - doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign22_5") - doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign45") - doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign67_5") + doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign") + doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign22_5") + doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign45") + doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign67_5") + doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:wall_sign_dark") + doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign_dark") + doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign22_5_dark") + doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign45_dark") + doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign67_5_dark") end minetest.register_alias("signs:sign_wall", "mcl_signs:wall_sign") minetest.register_alias("signs:sign_yard", "mcl_signs:standing_sign") +minetest.register_alias("mcl_signs:wall_sign 3", "mcl_signs:wall_sign") minetest.register_lbm({ - name = "mcl_signs:respawn_entities", - label = "Respawn sign text entities", - run_at_every_load = true, - nodenames = { "mcl_signs:wall_sign", "mcl_signs:standing_sign", "mcl_signs:standing_sign22_5", "mcl_signs:standing_sign45", "mcl_signs:standing_sign67_5" }, - action = function(pos, node) - update_sign(pos) - end, -}) + name = "mcl_signs:respawn_entities", + label = "Respawn sign text entities", + run_at_every_load = true, + nodenames = { + "mcl_signs:wall_sign", "mcl_signs:wall_sign_dark", + "mcl_signs:standing_sign", "mcl_signs:standing_sign_dark", + "mcl_signs:standing_sign22_5", "mcl_signs:standing_sign22_5_dark", + "mcl_signs:standing_sign45", "mcl_signs:standing_sign45_dark", + "mcl_signs:standing_sign67_5", "mcl_signs:standing_sign67_5_dark" + }, + action = function(pos, node) + mcl_signs:update_sign(pos) + end, +}) \ No newline at end of file diff --git a/mods/ITEMS/mcl_signs/locale/template.txt b/mods/ITEMS/mcl_signs/locale/template.txt index 6635e989f..7336db4f4 100644 --- a/mods/ITEMS/mcl_signs/locale/template.txt +++ b/mods/ITEMS/mcl_signs/locale/template.txt @@ -1,7 +1,7 @@ # textdomain: mcl_signs Sign= Signs can be written and come in two variants: Wall sign and sign on a sign post. Signs can be placed on the top and the sides of other blocks, but not below them.= -After placing the sign, you can write something on it. You have 4 lines of text with up to 15 characters for each line; anything beyond these limits is lost. Not all characters are supported. The text can not be changed once it has been written; you have to break and place the sign again.= +After placing the sign, you can write something on it. You have 4 lines of text with up to 15 characters for each line; anything beyond these limits is lost. Not all characters are supported. The text can not be changed once it has been written; you have to break and place the sign again. Can be colored and made to glow.= Enter sign text:= Maximum line length: 15= Maximum lines: 4= diff --git a/mods/ITEMS/mcl_signs/mod.conf b/mods/ITEMS/mcl_signs/mod.conf index 1af689d7b..ada0ae58a 100644 --- a/mods/ITEMS/mcl_signs/mod.conf +++ b/mods/ITEMS/mcl_signs/mod.conf @@ -1,2 +1,4 @@ name = mcl_signs -optional_depends = mcl_sounds, mcl_core, doc +description = New and Improved signs - can be colored and made to glow. +depends = mcl_core, mcl_sounds, mcl_dye, mcl_colors +optional_depends = doc diff --git a/mods/ITEMS/mcl_signs/signs_api.lua b/mods/ITEMS/mcl_signs/signs_api.lua new file mode 100644 index 000000000..94f71de13 --- /dev/null +++ b/mods/ITEMS/mcl_signs/signs_api.lua @@ -0,0 +1,1148 @@ +--- +--- Generated by EmmyLua(https://github.com/EmmyLua) +--- Created by Michieal (FaerRaven). +--- DateTime: 10/14/22 4:05 PM +--- + +local DEBUG = false -- special debug setting. +local table = table -- copied from the original signs init file. + +if DEBUG then + minetest.log("Signs API Loading") +end + +-- INITIALIZE THE GLOBAL API FOR SIGNS. +mcl_signs = {} + +-- LOCALIZATION +local S = minetest.get_translator("mcl_signs") +-- Signs form +local F = minetest.formspec_escape + +-- PATHs +local modpath = minetest.get_modpath("mcl_signs") + +-- CONSTANTS +local SIGN_WIDTH = 115 + +local LINE_LENGTH = 15 +local NUMBER_OF_LINES = 4 + +local LINE_HEIGHT = 14 +local CHAR_WIDTH = 5 + +-- SET UP THE CHARACTER MAPPING +-- Load the characters map (characters.txt) +--[[ File format of characters.txt: +It's an UTF-8 encoded text file that contains metadata for all supported characters. It contains a sequence of info + blocks, one for each character. Each info block is made out of 3 lines: +Line 1: The literal UTF-8 encoded character +Line 2: Name of the texture file for this character minus the “.png” suffix; found in the “textures/” sub-directory +Line 3: Currently ignored. Previously this was for the character width in pixels + +After line 3, another info block may follow. This repeats until the end of the file. + +All character files must be 5 or 6 pixels wide (5 pixels are preferred) +]] + +local chars_file = io.open(modpath .. "/characters.txt", "r") +-- FIXME: Support more characters (many characters are missing). Currently ASCII and Latin-1 Supplement are supported. +local charmap = {} +if not chars_file then + minetest.log("error", "[mcl_signs] : character map file not found") +else + while true do + local char = chars_file:read("*l") + if char == nil then + break + end + local img = chars_file:read("*l") + chars_file:read("*l") + charmap[char] = img + end +end + +-- for testing purposes +-- local test_color = "#BC0000" + +local pi = math.pi +local n = 23 / 56 - 1 / 128 + +-- GLOBALS +--- colors used for wools. +mcl_signs.mcl_wool_colors = { + unicolor_white = "#FFFFFF", + unicolor_dark_orange = "#502A00", + unicolor_grey = "#5B5B5B", + unicolor_darkgrey = "#303030", + unicolor_blue = "#0000CC", + unicolor_dark_green = "#005000", + unicolor_green_or_lime = "#50CC00", + unicolor_violet_purple = "#5000CC", + unicolor_light_red_pink = "#FF5050", + unicolor_yellow = "#CCCC00", + unicolor_orange = "#CC5000", + unicolor_red = "#CC0000", + unicolor_cyan = "#00CCCC", + unicolor_red_violet_magenta = "#CC0050", + unicolor_black = "#000000", + unicolor_light_blue = "#5050FF", +} +mcl_colors_official = { + BLACK = "#000000", + DARK_BLUE = "#0000AA", + DARK_GREEN = "#00AA00", + DARK_AQUA = "#00AAAA", + DARK_RED = "#AA0000", + DARK_PURPLE = "#AA00AA", + GOLD = "#FFAA00", + GRAY = "#AAAAAA", + DARK_GRAY = "#555555", + BLUE = "#5555FF", + GREEN = "#55FF55", + AQUA = "#55FFFF", + RED = "#FF5555", + LIGHT_PURPLE = "#FF55FF", + YELLOW = "#FFFF55", + WHITE = "#FFFFFF" +} +mcl_signs.woods = { "mcl_core:sprucewood", "mcl_core:darkwood", "mcl_core:wood", "mcl_core:birchwood", "mcl_core:junglewood", "mcl_core:acaciawood", "mcl_mangrove:mangrove_wood" } + +mcl_signs.signtext_info_wall = { + { delta = { x = 0, y = 0, z = n }, yaw = 0 }, + { delta = { x = n, y = 0, z = 0 }, yaw = pi / -2 }, + { delta = { x = 0, y = 0, z = -n }, yaw = pi }, + { delta = { x = -n, y = 0, z = 0 }, yaw = pi / 2 }, +} +mcl_signs.signtext_info_standing = {} +mcl_signs.sign_groups = { handy = 1, axey = 1, deco_block = 1, material_wood = 1, attached_node = 1, dig_by_piston = 1, flammable = -1 } + +-- HELPER FUNCTIONS' VARIABLES +local sign_glow = 6 +local Dyes_table = { + { "mcl_dye:aqua", mcl_colors_official.AQUA }, + { "mcl_dye:black", mcl_colors_official.BLACK }, + { "mcl_dye:blue", mcl_colors_official.BLUE }, + { "mcl_dye:brown", mcl_colors_official.brown }, + { "mcl_dye:cyan", mcl_signs.mcl_wool_colors.unicolor_cyan }, + { "mcl_dye:cyan 2", mcl_signs.mcl_wool_colors.unicolor_cyan }, + { "mcl_dye:green", mcl_colors_official.GREEN }, + { "mcl_dye:green 2", mcl_colors_official.GREEN }, + { "mcl_dye:dark_green", mcl_colors_official.DARK_GREEN }, + { "mcl_dye:grey", mcl_colors_official.GRAY }, + { "mcl_dye:grey 2", mcl_signs.mcl_wool_colors.unicolor_grey }, + { "mcl_dye:grey 3", mcl_colors_official.GRAY }, + { "mcl_dye:dark_grey", mcl_colors_official.DARK_GRAY }, + { "mcl_dye:dark_grey 2", mcl_signs.mcl_wool_colors.unicolor_darkgrey }, + { "mcl_dye:lightblue", mcl_signs.mcl_wool_colors.unicolor_light_blue }, + { "mcl_dye:lightblue 2", mcl_signs.mcl_wool_colors.unicolor_light_blue }, + { "mcl_dye:lime", mcl_signs.unicolor_green_or_lime }, + { "mcl_dye:magenta", mcl_signs.mcl_wool_colors.unicolor_red_violet_magenta }, + { "mcl_dye:magenta 2", mcl_signs.mcl_wool_colors.unicolor_red_violet_magenta }, + { "mcl_dye:magenta 3", mcl_signs.mcl_wool_colors.unicolor_red_violet_magenta }, + { "mcl_dye:orange", mcl_signs.mcl_wool_colors.unicolor_orange }, + { "mcl_dye:orange 2", mcl_signs.mcl_wool_colors.unicolor_dark_orange }, + { "mcl_dye:pink", mcl_signs.mcl_wool_colors.unicolor_light_red_pink }, + { "mcl_dye:pink 2", mcl_signs.mcl_wool_colors.unicolor_light_red_pink }, + { "mcl_dye:purple", mcl_colors_official.LIGHT_PURPLE }, + { "mcl_dye:red", mcl_signs.mcl_wool_colors.unicolor_red }, + { "mcl_dye:red 2", mcl_colors_official.RED }, + { "mcl_dye:silver", mcl_signs.mcl_wool_colors.unicolor_grey }, + { "mcl_dye:violet", mcl_colors_official.DARK_PURPLE }, + { "mcl_dye:violet 2", mcl_colors_official.DARK_PURPLE }, + { "mcl_dye:white", mcl_colors_official.WHITE }, + { "mcl_dye:white 3", mcl_colors_official.WHITE }, + { "mcl_dye:yellow", mcl_colors_official.YELLOW }, + { "mcl_dye:yellow 2", mcl_signs.mcl_wool_colors.unicolor_yellow }, +} + +--- This allows optional mods and helps prevent breaking. +--- +--- modname: the mod that defines the wood to add; item_name: the item_string of the wood to add. +--- eventually, this will become modname, item_name, coloration_code. +function mcl_signs.register_wood (modname, item_name) + if minetest.get_modpath(modname) then + table.insert(mcl_signs.woods,item_name) + end +end + +function mcl_signs.register_dye (modname, item_name, color_code) + if minetest.get_modpath(modname) then + table.insert(mcl_signs.Dyes_table,{ item_name, color_code }) + end +end + +-- DEFINE SIGN BASE TYPES +mcl_signs.wall_standard={} +mcl_signs.standing_standard ={} + +--- Register a new sign, tint the textures, and gives it an unique node name +--- modname: optional (pass "" or "false" to ignore), for use with other mods to +--- allow the creation of a sign from the mod's wood (if installed). +--- type: "wall", "standing". +--- +--- color: the color code to color the base sign textures. +--- +--- _name: the sign's name suffix, such as "_dark" or "_red", etc. +function mcl_signs.register_sign (modname, type, color, _name) + local mod_name_pass = false + if modname ~= "" and modname ~= "false" then + if minetest.get_modpath(modname) then + mod_name_pass = true + end + if mod_name_pass == false then + return + end + end + local wsign ={} + + if type == "wall" then + wsign = table.copy(mcl_signs.wall_standard) + end + + + +end +--- the same as register_sign, except caller defines the textures. +--- modname: optional (pass "" or "false" to ignore), for use with other mods to +--- allow the creation of a sign from the mod's wood (if installed). +--- type: "wall", "standing". +--- +--- color: the color code to color the base sign textures. (use white or grey to not color the sign) +--- +--- _name: the sign's name suffix, such as "_dark" or "_red", etc. +--- +--- model_texture: the texture file to use for the sign. +--- +--- inventory_image: the image used for in-inventory and in hand. +function mcl_signs.register_sign_and_textures (modname, type, color, _name, model_texture, inventory_image) + local mod_name_pass = false + if modname ~= "" and modname ~= "false" then + if minetest.get_modpath(modname) then + mod_name_pass = true + end + if mod_name_pass == false then + return + end + end + +end + +--- the same as register_sign_and_textures, except uses 1 image for all of the model textures. +--- modname: optional (pass "" or "false" to ignore), for use with other mods to +--- allow the creation of a sign from the mod's wood (if installed). +--- type: "wall", "standing". +--- +--- color: the color code to color the base sign textures. (use white or grey to not color the sign) +--- +--- _name: the sign's name suffix, such as "_dark" or "_red", etc. +--- +--- model_texture: the texture file to use for the sign. +--- +--- inventory_image: the image used for in-inventory and in hand. +function mcl_signs.register_sign_and_tiles (modname, type, color, _name, tiles, inventory_image) + local mod_name_pass = false + if modname ~= "" and modname ~= "false" then + if minetest.get_modpath(modname) then + mod_name_pass = true + end + if mod_name_pass == false then + return + end + end + +end + + +-- Helper functions +local function string_to_array(str) + local tab = {} + for i = 1, string.len(str) do + table.insert(tab, string.sub(str, i, i)) + end + return tab +end + +local function string_to_line_array(str) + local tab = {} + local current = 1 + local linechar = 1 + tab[1] = "" + for _, char in ipairs(string_to_array(str)) do + -- New line + if char == "\n" then + current = current + 1 + tab[current] = "" + linechar = 1 + else + tab[current] = tab[current] .. char + linechar = linechar + 1 + end + end + return tab +end + +local function get_rotation_level(facedir, nodename) + local nnames = { + { "mcl_signs:standing_sign22_5", 1 }, + { "mcl_signs:standing_sign22_5_dark", 1 }, + { "mcl_signs:standing_sign45", 2 }, + { "mcl_signs:standing_sign45_dark", 2 }, + { "mcl_signs:standing_sign67_5", 3 }, + { "mcl_signs:standing_sign67_5_dark", 3 } + } + local rl + local offset = 0 + for x = 1, #nnames do + if nnames[x][1] == nodename then + offset = nnames[x][2] + break + end + end + rl = facedir * 4 + offset + if DEBUG then + minetest.log("NodeName: " .. nodename .. " RL value: " .. rl) + end + return rl +end + +function mcl_signs:round(num, idp) + local mult = 10 ^ (idp or 0) + return math.floor(num * mult + 0.5) / mult +end + +function mcl_signs:get_color_for_sign(item_name) + + for d = 1, #Dyes_table do + if Dyes_table[d][1] == item_name then + return Dyes_table[d][2] + end + end + return "false" +end + +function mcl_signs:color_sign (pos, text_color) + + local success = mcl_signs:update_sign(pos, nil, nil, true, text_color) + + -- debug step + local meta = minetest.get_meta(pos) + if not meta then + if DEBUG then + minetest.log("verbose", "Sign Color Fail - Metadata.") + end + return false + end + if DEBUG then + minetest.log("verbose", "Post-Sign Color: " .. meta:get_string("mcl_signs:text_color") .. " " .. meta:get_string("mcl_signs:glowing_sign") .. ".\n" .. dump(pos)) + end + + return success + +end + +function mcl_signs:glow_sign (pos, remove_glow) + local success = true + -- Get Meta Data for the sign. + local meta = minetest.get_meta(pos) + + if not meta then + return false + end + local text = meta:get_string("text") + if text == nil then + text = "" + end + + -- we can't make the text glow if there isn't any text + if text == "" then + return false + end + + if remove_glow == nil then + remove_glow = false + end + + -- set up text glow + local objects = minetest.get_objects_inside_radius(pos, 0.5) + local text_entity + for _, v in ipairs(objects) do + local ent = v:get_luaentity() + if ent and ent.name == "mcl_signs:text" then + text_entity = v + break + end + end + if remove_glow == true then + text_entity:set_properties({ + glow = nil, + }) + meta:set_string("mcl_signs:glowing_sign", "false") + else + text_entity:set_properties({ + glow = sign_glow, + }) + meta:set_string("mcl_signs:glowing_sign", "true") + end + + -- debug step + if DEBUG then + minetest.log("verbose", "Post-Sign Glow: " .. meta:get_string("mcl_signs:text_color") .. " " .. meta:get_string("mcl_signs:glowing_sign") .. ".\n" .. dump(pos)) + end + return success +end + +function mcl_signs:create_lettering(text, signnodename, sign_color) + if sign_color == nil then + sign_color = mcl_colors.BLACK + end + local texture = mcl_signs:generate_texture(mcl_signs:create_lines(text), signnodename, sign_color) + + return texture +end + +function mcl_signs:create_lines(text) + local line_num = 1 + local tab = {} + for _, line in ipairs(string_to_line_array(text)) do + if line_num > NUMBER_OF_LINES then + break + end + table.insert(tab, line) + line_num = line_num + 1 + end + return tab +end + +function mcl_signs:generate_line(s, ypos) + local i = 1 + local parsed = {} + local width = 0 + local chars = 0 + local printed_char_width = CHAR_WIDTH + 1 + while chars < LINE_LENGTH and i <= #s do + local file + -- Get and render character + if charmap[s:sub(i, i)] then + file = charmap[s:sub(i, i)] + i = i + 1 + elseif i < #s and charmap[s:sub(i, i + 1)] then + file = charmap[s:sub(i, i + 1)] + i = i + 2 + else + -- No character image found. + -- Use replacement character: + file = "_rc" + i = i + 1 + if DEBUG then + minetest.log("verbose", "[mcl_signs] Unknown symbol in '" .. s .. "' at " .. i) + end + end + if file then + width = width + printed_char_width + table.insert(parsed, file) + chars = chars + 1 + end + end + width = width - 1 + + local texture = "" + local xpos = math.floor((SIGN_WIDTH - width) / 2) + for i = 1, #parsed do + texture = texture .. ":" .. xpos .. "," .. ypos .. "=" .. parsed[i] .. ".png" + xpos = xpos + printed_char_width + end + return texture +end + +function mcl_signs:generate_texture(lines, signnodename, letter_color) + local texture = "[combine:" .. SIGN_WIDTH .. "x" .. SIGN_WIDTH + local ypos + if signnodename == "mcl_signs:wall_sign" or signnodename == "mcl_signs:wall_sign_dark" then + ypos = 30 + else + ypos = 0 + end + for i = 1, #lines do + texture = texture .. mcl_signs:generate_line(lines[i], ypos) + ypos = ypos + LINE_HEIGHT + end + + texture = "(" .. texture .. "^[multiply:" .. letter_color .. ")" + return texture +end + +function mcl_signs:get_wall_signtext_info(param2, nodename) + local dir = minetest.wallmounted_to_dir(param2) + if dir.x > 0 then + return 2 + elseif dir.z > 0 then + return 1 + elseif dir.x < 0 then + return 4 + else + return 3 + end +end + +function mcl_signs:destruct_sign(pos) + local objects = minetest.get_objects_inside_radius(pos, 0.5) + for _, v in ipairs(objects) do + local ent = v:get_luaentity() + if ent and ent.name == "mcl_signs:text" then + v:remove() + end + end + local players = minetest.get_connected_players() + for p = 1, #players do + if vector.distance(players[p]:get_pos(), pos) <= 30 then + minetest.close_formspec(players[p]:get_player_name(), "mcl_signs:set_text_" .. pos.x .. "_" .. pos.y .. "_" .. pos.z) + end + end +end + +function mcl_signs:update_sign(pos, fields, sender, force_remove, text_color) + -- Get Meta Data for the sign. + local meta = minetest.get_meta(pos) + + if not meta then + return false + end + local text = meta:get_string("text") + if fields and (text == "" and fields.text) then + meta:set_string("text", fields.text) + text = fields.text + end + if text == nil then + text = "" + end + + --local placer_pos = placer:get_pos() + -- mcl_signs:show_formspec(placer, place_pos) + + -- find text color. + local sign_color + + if meta:get_string("mcl_signs:text_color") == "" then + -- if no sign text color has been assigned, make it black. + sign_color = mcl_colors.BLACK + meta:set_string("mcl_signs:text_color", sign_color) + else + sign_color = meta:get_string("mcl_signs:text_color") + end + + if text_color == nil then + text_color = "false" + end + + if text_color == "false" then + text_color = sign_color --if a new color hasn't been chosen, then keep the existing color. + end + + -- find the sign's glow value + local has_glow = false + + if meta:get_string("mcl_signs:glowing_sign") == "" or meta:get_string("mcl_signs:glowing_sign") == "false" then + has_glow = false + meta:set_string("mcl_signs:glowing_sign", "false") + else + has_glow = true + end + + -- debug step + if DEBUG then + minetest.log("Pre-Sign Update: " .. sign_color .. " " .. meta:get_string("mcl_signs:glowing_sign") .. ".\n" .. dump(pos)) + end + + local sign_info + local n = minetest.get_node(pos) + local nn = n.name + + if nn == "mcl_signs:standing_sign" or nn == "mcl_signs:standing_sign22_5" or nn == "mcl_signs:standing_sign45" or nn == "mcl_signs:standing_sign67_5" then + sign_info = mcl_signs.signtext_info_standing[get_rotation_level(n.param2, nn) + 1] + elseif nn == "mcl_signs:standing_sign_dark" or nn == "mcl_signs:standing_sign22_5_dark" or nn == "mcl_signs:standing_sign45_dark" or nn == "mcl_signs:standing_sign67_5_dark" then + sign_info = mcl_signs.signtext_info_standing[get_rotation_level(n.param2, nn) + 1] + elseif nn == "mcl_signs:wall_sign" or nn == "mcl_signs:wall_sign_dark" then + sign_info = mcl_signs.signtext_info_wall[mcl_signs:get_wall_signtext_info(n.param2)] + end + if sign_info == nil then + if DEBUG then + minetest.log("error", "[mcl_signs::update] Missing sign_info!") + end + return false + end + + local objects = minetest.get_objects_inside_radius(pos, 0.5) + local text_entity + for _, v in ipairs(objects) do + local ent = v:get_luaentity() + if ent and ent.name == "mcl_signs:text" then + if force_remove then + v:remove() + else + text_entity = v + break + end + end + end + + if not text_entity then + text_entity = minetest.add_entity({ + x = pos.x + sign_info.delta.x, + y = pos.y + sign_info.delta.y, + z = pos.z + sign_info.delta.z }, "mcl_signs:text") + end + text_entity:get_luaentity()._signnodename = nn + + -- Set the actual properties for the sign + text_entity:set_properties({ + textures = { mcl_signs:create_lettering(text, nn, text_color) }, + }) + + if has_glow then + text_entity:set_properties({ + glow = sign_glow, + }) + end + + text_entity:set_yaw(sign_info.yaw) + + -- save sign metadata. + meta:set_string("mcl_signs:text_color", text_color) + -- debug step + if DEBUG then + minetest.log("Post-Sign Update: " .. meta:get_string("mcl_signs:text_color") .. " " .. meta:get_string("mcl_signs:glowing_sign") .. ".\n" .. dump(pos)) + end + + return true + +end + +function mcl_signs:show_formspec(player, pos) + minetest.show_formspec( + player:get_player_name(), + "mcl_signs:set_text_" .. pos.x .. "_" .. pos.y .. "_" .. pos.z, + "size[6,3]textarea[0.25,0.25;6,1.5;text;" .. F(S("Enter sign text:")) .. ";]label[0,1.5;" .. F(S("Maximum line length: 15")) .. "\n" .. F(S("Maximum lines: 4")) .. "]button_exit[0,2.5;6,1;submit;" .. F(S("Done")) .. "]" + ) +end + +function mcl_signs:generate_signs() + local node_sounds + if minetest.get_modpath("mcl_sounds") then + node_sounds = mcl_sounds.node_sound_wood_defaults() + end + + -- wall signs' & hanging signs' base + mcl_signs.wall_standard = { + description = S("Sign"), + _tt_help = S("Can be written"), + _doc_items_longdesc = S("Signs can be written and come in two variants: Wall sign and sign on a sign post. Signs can be placed on the top and the sides of other blocks, but not below them."), + _doc_items_usagehelp = S("After placing the sign, you can write something on it. You have 4 lines of text with up to 15 characters for each line; anything beyond these limits is lost. Not all characters are supported. The text can not be changed once it has been written; you have to break and place the sign again. Can be colored and made to glow."), + inventory_image = "default_sign.png", + walkable = false, + is_ground_content = false, + wield_image = "default_sign.png", + node_placement_prediction = "", + paramtype = "light", + sunlight_propagates = true, + paramtype2 = "wallmounted", + drawtype = "mesh", + mesh = "mcl_signs_signonwallmount.obj", + selection_box = { type = "wallmounted", wall_side = { -0.5, -7 / 28, -0.5, -23 / 56, 7 / 28, 0.5 } }, + tiles = { "mcl_signs_sign.png" }, + use_texture_alpha = minetest.features.use_texture_alpha_string_modes and "opaque" or false, + groups = mcl_signs.sign_groups, + stack_max = 16, + sounds = node_sounds, + + on_place = function(itemstack, placer, pointed_thing) + local above = pointed_thing.above + local under = pointed_thing.under + + -- Use pointed node's on_rightclick function first, if present + local node_under = minetest.get_node(under) + if placer and not placer:get_player_control().sneak then + if minetest.registered_nodes[node_under.name] and minetest.registered_nodes[node_under.name].on_rightclick then + return minetest.registered_nodes[node_under.name].on_rightclick(under, node_under, placer, itemstack) or itemstack + end + end + + local dir = vector.subtract(under, above) + + -- Only build when it's legal + local abovenodedef = minetest.registered_nodes[minetest.get_node(above).name] + if not abovenodedef or abovenodedef.buildable_to == false then + return itemstack + end + + local wdir = minetest.dir_to_wallmounted(dir) + + --local placer_pos = placer:get_pos() + + local fdir = minetest.dir_to_facedir(dir) + + local sign_info + local nodeitem = ItemStack(itemstack) + -- Ceiling + if wdir == 0 then + --how would you add sign to ceiling? + return itemstack + -- Floor + end + + if wdir == 1 then + -- Standing sign + + -- Determine the sign rotation based on player's yaw + local yaw = pi * 2 - placer:get_look_horizontal() + + -- Select one of 16 possible rotations (0-15) + local rotation_level = mcl_signs:round((yaw / (pi * 2)) * 16) + + if rotation_level > 15 then + rotation_level = 0 + elseif rotation_level < 0 then + rotation_level = 15 + end + + -- The actual rotation is a combination of predefined mesh and facedir (see node definition) + if rotation_level % 4 == 0 then + nodeitem:set_name("mcl_signs:standing_sign") + elseif rotation_level % 4 == 1 then + nodeitem:set_name("mcl_signs:standing_sign22_5") + elseif rotation_level % 4 == 2 then + nodeitem:set_name("mcl_signs:standing_sign45") + elseif rotation_level % 4 == 3 then + nodeitem:set_name("mcl_signs:standing_sign67_5") + end + fdir = math.floor(rotation_level / 4) + + -- Place the node! + local _, success = minetest.item_place_node(nodeitem, placer, pointed_thing, fdir) + if not success then + return itemstack + end + if not minetest.is_creative_enabled(placer:get_player_name()) then + itemstack:take_item() + end + sign_info = mcl_signs.signtext_info_standing[rotation_level + 1] + -- Side + else + -- Wall sign + local _, success = minetest.item_place_node(itemstack, placer, pointed_thing, wdir) + if not success then + return itemstack + end + sign_info = mcl_signs.signtext_info_wall[fdir + 1] + end + + -- Determine spawn position of entity + local place_pos + if minetest.registered_nodes[node_under.name].buildable_to then + place_pos = under + else + place_pos = above + end + + local text_entity = minetest.add_entity({ + x = place_pos.x + sign_info.delta.x, + y = place_pos.y + sign_info.delta.y, + z = place_pos.z + sign_info.delta.z }, "mcl_signs:text") + text_entity:set_yaw(sign_info.yaw) + text_entity:get_luaentity()._signnodename = nodeitem:get_name() + + minetest.sound_play({ name = "default_place_node_hard", gain = 1.0 }, { pos = place_pos }, true) + + mcl_signs:show_formspec(placer, place_pos) + return itemstack + end, + on_destruct = function(pos) + mcl_signs:destruct_sign(pos) + end, + + -- Not Useless Code. If a sign is created without text, this shows the formspec again for textual entry. + on_punch = function(pos, node, puncher) + mcl_signs:update_sign(pos) + end, + on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_FACE then + local r = screwdriver.rotate.wallmounted(pos, node, mode) + node.param2 = r + minetest.swap_node(pos, node) + mcl_signs:update_sign(pos, nil, nil, true) + return true + else + return false + end + end, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + if DEBUG then + minetest.log("verbose", "MCL_SIGNS::Wall_Sign Right Click event.") + end + + -- make sure player is clicking + if not clicker or not clicker:is_player() then + return + end + + local item = clicker:get_wielded_item() + local iname = item:get_name() + + if node then + if DEBUG then + minetest.log("verbose", "MCL_SIGNS::Wall_Sign Right Click event on valid node.") + end + + -- handle glow from glow_ink_sac *first* + if (iname == "mcl_mobitems:glow_ink_sac") then + clicker:set_wielded_item(item) + local success = mcl_signs:glow_sign(pos) + if success then + if DEBUG then + minetest.log("verbose", "Sign Glow Success.") + end + itemstack:take_item() + end + return + end + + -- "mcl_dye:black" is a special case: it makes the sign's lettering black AND removes glow. + if (iname == "mcl_dye:black") then + clicker:set_wielded_item(item) + local success = mcl_signs:glow_sign(pos, true) + mcl_signs:color_sign(pos, mcl_colors.BLACK) + if success then + if DEBUG then + minetest.log("verbose", "Sign Glow removal Success.") + end + + itemstack:take_item() + end + return + end + + -- check the wielded item to make sure that it is a dye. + local txt_color = mcl_signs:get_color_for_sign(iname) + if txt_color ~= "false" then + clicker:set_wielded_item(item) + local success = mcl_signs:color_sign(pos, txt_color) + if success then + if DEBUG then + minetest.log("verbose", "Sign Color Success.") + end + itemstack:take_item() + end + end + end + end, + + _mcl_hardness = 1, + _mcl_blast_resistance = 1, + } + if DEBUG then + minetest.log(dump(mcl_signs.wall_standard)) + end + + -- Standing sign nodes. + -- 4 rotations at 0°, 22.5°, 45° and 67.5°. + -- These are 4 out of 16 possible rotations. + -- With facedir the remaining 12 rotations are constructed. + + -- standing sign base. + mcl_signs.standing_standard = { + paramtype = "light", + use_texture_alpha = minetest.features.use_texture_alpha_string_modes and "opaque" or false, + sunlight_propagates = true, + walkable = false, + is_ground_content = false, + paramtype2 = "facedir", + drawtype = "mesh", + mesh = "mcl_signs_sign.obj", + selection_box = { type = "fixed", fixed = { -0.2, -0.5, -0.2, 0.2, 0.5, 0.2 } }, + tiles = { "mcl_signs_sign.png" }, + groups = mcl_signs.sign_groups, + drop = "mcl_signs:wall_sign", + stack_max = 16, + sounds = node_sounds, + + on_destruct = function(pos) + mcl_signs:destruct_sign(pos) + end, + + -- Not Useless Code. If a sign is created without text, this shows the formspec again for textual entry. + on_punch = function(pos, node, puncher) + mcl_signs:update_sign(pos) + end, + on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_FACE then + node.name = "mcl_signs:standing_sign22_5" + minetest.swap_node(pos, node) + elseif mode == screwdriver.ROTATE_AXIS then + return false + end + mcl_signs:update_sign(pos, nil, nil, true) + return true + end, + + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + + if DEBUG then + minetest.log("verbose", "MCL_SIGNS::Standing_Sign Right Click event.") + end + + -- make sure player is clicking + if not clicker or not clicker:is_player() then + return + end + + local item = clicker:get_wielded_item() + local iname = item:get_name() + + if node then + -- handle glow from glow_ink_sac *first* + if DEBUG then + minetest.log("verbose", "MCL_SIGNS::Standing_Sign Right Click event on valid node.") + end + + if (iname == "mcl_mobitems:glow_ink_sac") then + clicker:set_wielded_item(item) + local success = mcl_signs:glow_sign(pos) + if success then + if DEBUG then + minetest.log("verbose", "Sign Glow Success.") + end + itemstack:take_item() + end + return + end + + -- check the wielded item to make sure that it is a dye. + local txt_color = mcl_signs:get_color_for_sign(iname) + if txt_color ~= "false" then + clicker:set_wielded_item(item) + local success = mcl_signs:color_sign(pos, txt_color) + if success then + if DEBUG then + minetest.log("verbose", "Sign Color Success.") + end + itemstack:take_item() + end + end + end + end, + + _mcl_hardness = 1, + _mcl_blast_resistance = 1, + } + + minetest.register_node("mcl_signs:wall_sign", mcl_signs.wall_standard) + -- 0° + minetest.register_node("mcl_signs:standing_sign", mcl_signs.standing_standard) + -- 22.5° + local ssign22_5 = table.copy(mcl_signs.standing_standard) + ssign22_5.mesh = "mcl_signs_sign22.5.obj" + ssign22_5.on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_FACE then + node.name = "mcl_signs:standing_sign45" + minetest.swap_node(pos, node) + elseif mode == screwdriver.ROTATE_AXIS then + return false + end + mcl_signs:update_sign(pos, nil, nil, true) + return true + end + minetest.register_node("mcl_signs:standing_sign22_5", ssign22_5) + + -- 45° + local ssign45 = table.copy(mcl_signs.standing_standard) + ssign45.mesh = "mcl_signs_sign45.obj" + ssign45.on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_FACE then + node.name = "mcl_signs:standing_sign67_5" + minetest.swap_node(pos, node) + elseif mode == screwdriver.ROTATE_AXIS then + return false + end + mcl_signs:update_sign(pos, nil, nil, true) + return true + end + minetest.register_node("mcl_signs:standing_sign45", ssign45) + + -- 67.5° + local ssign67_5 = table.copy(mcl_signs.standing_standard) + ssign67_5.mesh = "mcl_signs_sign67.5.obj" + ssign67_5.on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_FACE then + node.name = "mcl_signs:standing_sign" + node.param2 = (node.param2 + 1) % 4 + minetest.swap_node(pos, node) + elseif mode == screwdriver.ROTATE_AXIS then + return false + end + mcl_signs:update_sign(pos, nil, nil, true) + return true + end + minetest.register_node("mcl_signs:standing_sign67_5", ssign67_5) + + -- standard signs, dark: + -- dark standard wall sign / hanging sign base + mcl_signs.wall_standard_dark = table.copy(mcl_signs.wall_standard) + mcl_signs.wall_standard_dark.wield_image = "default_sign_dark.png" + mcl_signs.wall_standard_dark.tiles = { "mcl_signs_sign_dark.png" } + mcl_signs.wall_standard_dark.inventory_image = "default_sign_dark.png" + mcl_signs.wall_standard_dark.on_place = function(itemstack, placer, pointed_thing) + local above = pointed_thing.above + local under = pointed_thing.under + + -- Use pointed node's on_rightclick function first, if present + local node_under = minetest.get_node(under) + if placer and not placer:get_player_control().sneak then + if minetest.registered_nodes[node_under.name] and minetest.registered_nodes[node_under.name].on_rightclick then + return minetest.registered_nodes[node_under.name].on_rightclick(under, node_under, placer, itemstack) or itemstack + end + end + + local dir = vector.subtract(under, above) + + -- Only build when it's legal + local abovenodedef = minetest.registered_nodes[minetest.get_node(above).name] + if not abovenodedef or abovenodedef.buildable_to == false then + return itemstack + end + + local wdir = minetest.dir_to_wallmounted(dir) + local fdir = minetest.dir_to_facedir(dir) + + local sign_info + local nodeitem = ItemStack(itemstack) + -- Ceiling + if wdir == 0 then + --how would you add sign to ceiling? + return itemstack + -- Floor + elseif wdir == 1 then + -- Standing sign + + -- Determine the sign rotation based on player's yaw + local yaw = pi * 2 - placer:get_look_horizontal() + + -- Select one of 16 possible rotations (0-15) + local rotation_level = mcl_signs:round((yaw / (pi * 2)) * 16) + + if rotation_level > 15 then + rotation_level = 0 + elseif rotation_level < 0 then + rotation_level = 15 + end + + -- The actual rotation is a combination of predefined mesh and facedir (see node definition) + if rotation_level % 4 == 0 then + nodeitem:set_name("mcl_signs:standing_sign_dark") + elseif rotation_level % 4 == 1 then + nodeitem:set_name("mcl_signs:standing_sign22_5_dark") + elseif rotation_level % 4 == 2 then + nodeitem:set_name("mcl_signs:standing_sign45_dark") + elseif rotation_level % 4 == 3 then + nodeitem:set_name("mcl_signs:standing_sign67_5_dark") + end + fdir = math.floor(rotation_level / 4) + + -- Place the node! + local _, success = minetest.item_place_node(nodeitem, placer, pointed_thing, fdir) + if not success then + return itemstack + end + if not minetest.is_creative_enabled(placer:get_player_name()) then + itemstack:take_item() + end + sign_info = mcl_signs.signtext_info_standing[rotation_level + 1] + -- Side + else + -- Wall sign + local _, success = minetest.item_place_node(itemstack, placer, pointed_thing, wdir) + if not success then + return itemstack + end + sign_info = mcl_signs.signtext_info_wall[fdir + 1] + end + + -- Determine spawn position of entity + local place_pos + if minetest.registered_nodes[node_under.name].buildable_to then + place_pos = under + else + place_pos = above + end + + local text_entity = minetest.add_entity({ + x = place_pos.x + sign_info.delta.x, + y = place_pos.y + sign_info.delta.y, + z = place_pos.z + sign_info.delta.z }, "mcl_signs:text") + text_entity:set_yaw(sign_info.yaw) + text_entity:get_luaentity()._signnodename = nodeitem:get_name() + + minetest.sound_play({ name = "default_place_node_hard", gain = 1.0 }, { pos = place_pos }, true) + + mcl_signs:show_formspec(placer, place_pos) + return itemstack + end + minetest.register_node("mcl_signs:wall_sign_dark", mcl_signs.wall_standard_dark) + + -- 0° + -- dark standing sign + mcl_signs.standing_standard_dark = table.copy(mcl_signs.standing_standard) + mcl_signs.standing_standard_dark.wield_image = "default_sign_dark.png" + mcl_signs.standing_standard_dark.tiles = { "mcl_signs_sign_dark.png" } + mcl_signs.standing_standard_dark.inventory_image = "default_sign_dark.png" + mcl_signs.standing_standard_dark.drop = "mcl_signs:wall_sign_dark" + minetest.register_node("mcl_signs:standing_sign_dark", mcl_signs.standing_standard_dark) + + -- 22.5° + local ssign22_5d = table.copy(mcl_signs.standing_standard_dark) + ssign22_5d.mesh = "mcl_signs_sign22.5.obj" + ssign22_5d.on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_FACE then + node.name = "mcl_signs:standing_sign45" + minetest.swap_node(pos, node) + elseif mode == screwdriver.ROTATE_AXIS then + return false + end + mcl_signs:update_sign(pos, nil, nil, true) + return true + end + minetest.register_node("mcl_signs:standing_sign22_5_dark", ssign22_5d) + + -- 45° + local ssign45d = table.copy(mcl_signs.standing_standard_dark) + ssign45d.mesh = "mcl_signs_sign45.obj" + ssign45d.on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_FACE then + node.name = "mcl_signs:standing_sign67_5" + minetest.swap_node(pos, node) + elseif mode == screwdriver.ROTATE_AXIS then + return false + end + mcl_signs:update_sign(pos, nil, nil, true) + return true + end + minetest.register_node("mcl_signs:standing_sign45_dark", ssign45d) + + -- 67.5° + local ssign67_5d = table.copy(mcl_signs.standing_standard_dark) + ssign67_5d.mesh = "mcl_signs_sign67.5.obj" + ssign67_5d.on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_FACE then + node.name = "mcl_signs:standing_sign" + node.param2 = (node.param2 + 1) % 4 + minetest.swap_node(pos, node) + elseif mode == screwdriver.ROTATE_AXIS then + return false + end + mcl_signs:update_sign(pos, nil, nil, true) + return true + end + minetest.register_node("mcl_signs:standing_sign67_5_dark", ssign67_5d) + + +end + diff --git a/mods/ITEMS/mcl_signs/textures/_0.png b/mods/ITEMS/mcl_signs/textures/_0.png index e764f3d6a0a224ad3b529855691b012fa69d317c..7ec1aea7a8b3ffb7b5b5a4b6a66a7df0ccd76851 100644 GIT binary patch literal 1851 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}Tgt3cTe8{1tUE}13e1{BLhQAD+6OIBSQs411l3#DoIr{vTiv4D%dIj3MpnL7G_pf7NB<- zYk~3%EP|{;iiVDC!hwnGN`)dujT0AgC_8ODC>nI}gNkudQ4=SZn7D+bl&YG#hNhN@ zshPQjrIoXbtDC!rr&n-DXjpheWK?oWYFc_mW>#@YX<2ziWmR)aYg>CqXV;|3Q>IRv zK4a#rMT?g#UABD1%2k^-Z`rzS`;MKv4jn#n^w{weCr@3veC6u3>o;!Rdidz^lc&#~ zzj*oTbPj7;S~%q+;ls%Xe2hFJSUiEpd$~Nl7e8wMs5Z1yaDW%*aUB&_LJF zIKMt+d3X~Q^l@8BL0m_=jPi@i%N=m{dgY(l$$`gxH8IX!{ U&mI?Gt;fLN>FVdQ&MBb@04$XJT>t<8 delta 840 zcmV-O1GoIU4($ez8Gi-<0063BcP#(_0@8X^SaechcOYwj0s^*+GTmLJdZVA~M; zHbghWtH|^``&-YqA>m6-`#F?7uBM0O?2FqryN$m-Cqpp0!k%#8Q%EB2KD`KLAVn%# z!JUP8N+SA6bV)vlUC8zQ;N5yJv5R%fKw*@85N`nn}dJqSR25JH^-{wNgZ(05tIXriQCKHSi zM!c!vJ>ggC&CnP#b%~;1aY9;PUOaOe)0pJu9a=y@V}Hj~SA16u4|x+Gz)ohm!t7XJ zjmKr;P`c-qEY1QwjVWx%WPKYzh~Qf>84?hP8HWUAipFe2h@*o~#mrd}A0R-g+$jvO z5y^n#Jbhz~(b8q*ON^ssZICPmG}u6Zm69TVEID$h>O7BBHLIy>(V8WvtT|`P^Ngw{ zmP{?1nSWcc>f*`OvzxmYuZ4@?2-A{_h2o`@TH&<9bj9cjjam;rB;YUeH;+rQ^-p?fdAo^&FW&UEUTPdoiAXC273AtMbPdD!q#M!iv^y=|YU z(F?iHsnMo3iKV4ycWMxu{V_rFIMK-r#5fU%+kYg0gyzXCI;F&u++-FDV^b)D8tH`7 zX%Yj$bQ0^J8@oHXPq_t6f5nYIA{QpQ|3NNHber5;Ztqa*b$wA}0h+sT#x%;n!3KrX zD|?;aq%XJOUk!X4`Zn}!X#Q1y{D4^ z0FiARKH~!w2`v;!LaXcm0010GL_t&t*JEHH75s-{6af@A6E1GWRb7k}Ta) z!oUb*f!xdpW%B^pOpMG7%s@I1h@}`=!D>o?Y-uRF2FTU`ssZU`0%Ai(CI*l`pkEn` zfNT*UJpqW905Jy`>Hw93RKsX@Pu~CqBRxX{JqrdS14BzI17j;ALj^+vD-%;IBU2=| zWdU`;+y*iN<~A-Mn;Gf`HlP|dB(^A&4e|pc6U2`KAiYqwF*xpEZu@`Z{{sdAFE>v& zphX~O0*U{(8Jrn7*x1Nsy6Qkn#T!26>=6SsB3q=tnSMWMXDvWn<^y!`fpm!N- zf$|J2f~-P{hK_8)fr;!&g(60c6BlwQJ8e8D8g%i4ig8j=6DOCLxP+vXs+zinrk07R znYo3fm9vYho4bdnS8zyZSa?KaRB}pcT6#uiR&hybS$RceRdY*gTYE=m*QCi)rcRqa zW9F9X@jO*zpr5PhGlv*fm^@Vd2=W@(XT*7|i7cPNJ%;etEe0NDMquPI z3o_U<{QTFYv4Ck557{u_|9_L=(Xwz)VDeNgag8WRNi0dVN-jzTQoypz$Vk`FK-bVX z#L(Qz*x1U{RNKJ7%D^CT%Lh3~h5rIoEm9yG zQY$jktei4SiUU%Mf)jHKa#9&AbQC~H=&hYPP?aKFl?%`nA(^=#mtd5tp=zB%K*hpv z#h$r|>8U=cdFdq?42DMamzQn@N(-V&hi9e$WliI!Ht7Q;CE=36`DrEPiAAXlNJY74 Tj|;HcV_@)f^>bP0l+XkKyU+SE delta 844 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 diff --git a/mods/ITEMS/mcl_signs/textures/_1_sup.png b/mods/ITEMS/mcl_signs/textures/_1_sup.png index 6be5fdcb1c82353b035fc97ce7940222a21d8525..0e20bf3a68cda4c09c044139df3f5063d2145367 100644 GIT binary patch literal 1850 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}T|eac`2 zWQzdl2|&CAh&jLzoIr{vTiv4D%dIj3MpnL7G_pf7NB<-Yk~3% zEP|{;iiVDC!hwnGN`)dujT0AgC_8ODC>nI}gNkudQ4=SZn7D+bl&YG#hNhN@shPQj zrIoXbtDC!rr&n-DXjpheWK?oWYFc_mW>#@YX<2ziWmR)aYg>CqXV;|3Q>IRvK4a#r zMT?g#UABD1%2k^-Z`rzS`;MKv4jn#n^w{weCr@3veC6u3>o;!Rdidz^lc&#~zj*oT zbPj7;S~%q+;ls%Xe2zm0Xkxq=03ak&&*Ufv%x(h@rWa zF|aH%)iyA&GB8No@&QzmAvEOXr(~v8!ZjFJgcuos3O_?jh=yh1zd$xffow>v$V{_x z$}A}kNG%FZ%q_@CWw6ju03o5bcIrS?if~mfKv#rh=7L;;QL6573F!eU7KSVK%uP&B z^-0Z3FUepqG^)S6bSqF=5LG%nGX*GX8b7s3A1EmamkiEND=AMbN@YMQ$~}8rfR!Et NgQu&X%Q~loCIFmR{A2(C delta 845 zcmV-T1G4HWymsmNi}@$H<-F z$%J5p9v@10W&BFH1sY?fE>ZMLC!_`D#WSZdjY)3a;eQ1LG`6O?^j#%9joFBxqk~Vy%vlm2AV8|z zDGaa?$$;ZL$3`Ec<;%*K8Al61sAMsq!3F}Xloa`6$&o`<=Xs>6SxsGw)+{+?%{g11 zXH+$@WPfVe%-o7q7f-I9-Q2x+EnEagn3h~D6fdRJia{$vSM;v%sP*7Oj&$ge4?FxQ zM{P)-mYTNQta&S~cJ9)#{d?{fy7$uSNheb2OsAgtwA0UW)`46bGSbkIhYcTP)EhP0 z+xCeXy(9NIHQLlBv9$c`P7P+Ww-7Xs6P?UJjDHh>xJ?2`Xr9cXQ%XF^O=ht$Hia^% zkxn?BCNU69C$SE?vAdJ|lv~jBSKRnd1GWRb7k}T`sfGcI01HI`f#8B3s$k*AAe2*>r( zvm1FC6d4X5;QsYDoR4*ZIP1C?3$IrOF;THmf~hC&hWX9j&nlm-Um2I9Ch?X_%$7_3 zCeTeTsS%!Oo}O9^96+Ohn308n5y%2LhY`x=0kWAGnHiXYbRG~(F|vZylmOY%P<9QF ztpQX6(#r(IhKx)MAbl-BYy@PB0O<)pyab3jz)%OM6r>tPyLZG(8t7Rt7#SE^ zS{WEy85t@V8d#Z_S{WN6xh)H*3+6VE5iqxL0olw@H?RTKupzNUp=^*J7?~h`6aeXk zvW>yf0(0B{8~-0L2za@9x&bW$ITJ|yzs=yxz`@4G&c@2Y&d$!s$-%`V!pp9XZ3R<7E#dCS&q+js2Tb?ESsqsNY)IC<*Q zuqec!9r-=(U9^_Ou4*DRPRCJL`OvU7(>PL{*z&<0+ zV@+iF4DK<6ziu(`Ff#%pk6Dnxp5f=eE{z3Dqj<=M0ssG-42IsH*@4MZwZt`|BqgyV z)hf9t6-WWgG9x2hLjzqy;}Ao0D`R6TQ&VjN11kfA#4R5{B^g3PZhlH;S|wbAfklWB zu<$dsGPHzfSQh>ZRBK3qY)GxhOtW&zEGZ61EecM|Eyzh_u+UKeA)&W+>OfVBa8)iq zSA=Bdf?R@8s(J_1cmWj)!xekxCZ?zQq~@iUWH1;S)n8t^6(}u;DjlAg0+cn4pW37k jl$3-^2Ir@hlqVLYG9VS@o;@zUKt&9mu6{1-oD!M<9ux5l delta 813 zcmV+|1JeAL4(tYyBYy(bdQ@0+Qek%>aB^>EX>4U6ba`-PAZ2)IW&i+q+U=HGvg9TV zhTmC5mVhLL#Bwl~s_Y=k&ktt$HYZb+NgfZB0jq@s`ULGT{`zxt0>VL;p_6Uj>LMeM%Mm0Q&vF%z=9b0T5)bjSjU% zENwk|QiIs+hY4EOi7sX!#)&}O76BwQFJ{pxC1hUY7PD9whe8?DNEe(=ix>!|L9CM= z?4IO)$t`I5SKRoY$c2UO{~#9@x1GWRb7k}Tnz0ZHQ!iH1$eCxsWKzF;OMtG)qdTKFn0F3}* zMivG}APeMVMkt#H$Yx?>W?%-=c|a`1$O=|d0%S`=*)>4622c%1FG!ssBNGEiAJD4| zMnJX*ke&dY(O<^NNiCgw=pt7{3rm@3uPOFqYmb_|2O_WU=Z+f^K=7R z1ac;j_=$VSiD#0X>vBPS;(4>yklFRz4=qKu*u$>9G120;#>i?Wy* zl^B==8JPtc{~uwH2fCA$5e$HS2LnbXW)@a9b`DN1ZlHp#0-%s$W@2GxWn}?+m$4Qo z&%h$cDx_%W$R-?^$gWfnA zuRebI{N?Mn?>~P20{M#(7^yIT)n9@@e=)JJFtf0O{Kd#r4#doYEUb!#Y(kEK?1_cK zN=A(wB2E(*Zam1TY#j7KG^yw!mzavlL)DKUuYr9=oX48T@)_J?2!GvT;9+J2Mjo>u zgFVB~e_a|2m`3rC4FmrFHyNI+z3T={o~k9T5hW>!C8<`)MX5jvSe6+X=^7g78XAWf znp+tgTbY__8yHv_7$k1_04m848glbfGSe#I8VoE#j0~(yjI9hUAsUv2{{q!4QXm^r zD>BopoH9#_15%5E6LSl4QW-3C6hKJmt(`hhl_Fe~3(yrInYkdBV3ewM%iKW~jxb!Y zXKrG8s!wWOdPxR@p;7(irCWj0f~eBrnJGY7)A*@P`anrZxMXmCT1k0gQ7QvcQSRB} S0<85I7(8A5T-G@yGywphz5ZnY delta 842 zcmV-Q1GW6S4&ern8Gi-<0063BcP#(_0@iv|SaechcOY{ z;K_twgdQJCcxC)bxdobYr7ltQODCiS=EWMnXK;skO*TdCPM-OG2@V+OwpK)2s%3WRLqr?= z%j=A)CV!SpEt{EJvFhT<)w7$s7q5kj;0V)_i-qE)lv*)pMd*s&6&|%7e8`awJ@R3P zALXbG>C;lvmYX$irPa<|I<|k$-9qmP zHPQvA(;^0fX%OqA8@oHXPq_t6f5naeL@q3J|ASmu=r*~J++I-Y_57m9325!YrD>Fj zgAESDD|=nvq%YUuUjuvx`VRCRX#K009e=RGZ;?EAmMeQ;jQ{`u32;bRa{vG?BLDy{ zBawR!K;r`y4JjxENV>BC0016IL_t&t*JEISfd33=;6E-2ysB{vFro=EG7LBX09^eB U{FlHVWdHyG07*qoM6N<$f?d;zZ2$lO diff --git a/mods/ITEMS/mcl_signs/textures/_3.png b/mods/ITEMS/mcl_signs/textures/_3.png index 4e7da566537ef81c92667396758a0e2924262e17..c58caaa8c0ca3a2fab4746e223bd56c3be4747b2 100644 GIT binary patch literal 1861 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}T( z{_pBj%QJ#BEo?Y-uRF2FTU`ssZU` z0%Ai(CI*l`pr;v(fNT*UJpqW905Jy`>Hw93RKsX@Pu~CqBRxX{JqrdS14BzI17j;A zLj^+vD-%;I69Xi-WdU`;+y*iN<~A-Mn;Gf`HlP|dB(^A&4e|pc6U2`KAiYqwF*p)o zZu@`Z{{sdAFE>v&phX~O0*U{(8Jrn7*x1Nsy6Qkn#T!26>=6SsB3q=tnSMWMXDvWn<^y!`fpm!N-f$|J2f~-P{hK_8)fr;!&g(60c6BlwQJ8e8D8g%i4ig8j=6DOCL zxP+vXs+zinrk07RnYo3fm9vYho4bdnS8zyZSa?KaRB}pcT6#uiR&hybS$RceRdY*g zTYE=m*QCi)rcRqaW9F9X@jO*zpr5PhGlv*fm^@Vd2=W@(XT*7|i7cPN zJ%;etEe0NDMquPI3o_U<{QTFYv4Ck557{u_|9_L=tgqiQVDeNgag8WRNi0dVN-jzT zQoypz$Vk`FK-bVX#L(Qz*x1U{RNKJ7%D^CT%Lh3~h5rK8F;XBKQY$jktei4SiUU%Mf)jHKa#9&AbQC~H=&hYPP?aKFl?%`nA(^=# zmtd5t#bURlfr^FUiam1^(^Gv?^U_N)7z~Z-FE8B+lomvl4$n*h%9_ScZPEuyO2Q?B f^V3So6N^$Akcx889v5K!$H3s}>gTe~DWM4fw#Nkt delta 845 zcmV-T1G4 zRB6z;`bG^)OnkDTXKsl5l(`reZVO79l?EH|^dJs44b%i;zO99p-?IEQa(M0pO(qy4 z%y?77d%~~Oo1rmg>Jml2;)Jxox_IU^mNCiA7Fs|+V}Hj~SA16u4|x+Gz)ohm!tB^! zjmKr;P`c-qEY1QwjVWx%WPKYzh~QhX7!nYO8J7fQipFe2h@*o~#mZR{A0R-g+$jvO z5y^n#Jbh!1(b8q*ON^^!9gr*rG&n$jm69TVEID$h>b#FsHLIy>(V8WvtT|`P^Ny+} zmP{?1nSWcc>f*`OvzxmYuZ4@?3e%E{h2o`@TH&<9bj9onjam;rB;YUeH;$G_)pp?fdAo^&FW&UEUTPdoiAXC273AtMbPdD!q#M!iv^eQcko z(F?iHsnMo3iKV4ycWMxu{V_rFI?>4t#5fU%+kYg0gyzXCI;F&u++-FD<4`Dr8tH`7 zX%Yj$bQ0^J8@oHXPq_t6f5nYIA{QpQ|3NNHber5;Ztqa*b^W8r0yIzIjA@jCiwz2= zSN1yplfK-Ce>L!J=-be@q4`xYIzH{fZ*A&!rOoX)#sB~S24YJ`L;(K){{a7>y{D4^ z0FiARL*oM#2`wmQE!S%R001FLL_t&t*JEHH75s-{6aj2(?1KMsse-FyBBbI!19boZ X10f3d*8x&^00000NkvXXu0mjf#QBm^ diff --git a/mods/ITEMS/mcl_signs/textures/_3_4.png b/mods/ITEMS/mcl_signs/textures/_3_4.png index 46e17104995b2f3646af911061a74767533bf36e..31690910825d89b0827067a17fbc532f4de4d202 100644 GIT binary patch literal 1859 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}Tx;Tb#TzBoUeh<=l9OzdnFRR^j;SsJy5A)=!ZXd& zQ;UHEXcQ1LvM?|LSs-W0m6(2=Wa`HH>!m^bJrj(la#BvtTeXFtoHXFt#!>R4_EL zGBLC=G(>V+7Dy-5Z6G6HZsP*7nW1iA1FB&|Vv8cVjgblBM*)ytDBBnug)q1Mzw!S8 zgMgQtryI~BkTZeA|Jw}C3><81>};$Y?Ck8EoE%&{BD_4@+&q#(!u%q#Qu1=LQZh0M zDthV)N;=9iG8*QZItGR&CMNRgmbMl~HhRV;Mj%5NIXO9bxOpUac_oY#WfYA_2LBH* z2yy^jl*P=b#K0uT$SlbC{|JLT(4DM|U;y+x7%(z1v#_$Ub8vET0~Kr)0EHAY6ALpd zD+|!OjI}^{1{Oh9Aw@$+HsQcTcBMiQqsEB~Ih36?9uy6__(8=usi=vQOH5osQc6`# zT|-mL#MI2(!qUpw#nsK-!_zA`Bs45MA~GsDB{eNQBQvYGq_nKOqOz*FrM0cSqqA$$ zPb?HxGHT=yahkYr<3UbkKb$@|Xn~>=}Ok>(W@jG>V6881VnU$uNU`@@!!8R4s9hC`m~yNwrEYN(EBDvdqXx z*U&)M&^W}<+{)P4%G6Zbz`)ADAaTnFP)UZ+kei>9nN|tcU|XVw6UXsCJXjFfB=~ke$AgXkDW(rW&G=6H6K2TB;E*YGkR#Ki= Zl*)iqlzaBL0Bb)622WQ%mvv4FO#p4+{lx$P delta 862 zcmV-k1EKuG4)z9+8Gi-<0063BcP#(_0@r#}SaechcOY$OoCdj*MB^=e}!G|9V~78@oW#a z1F`QwZzJ!3vPNb!wx91n!k3-)dnmhKO%Kc2_iTKA*5ms0{yiDQ=!$s4frpSpJbjHK zn1K|js0B|J;$=x_C)5=;z1A+|`dYkO>z#J7Zo5275n|pB`JG1FPWoEAQ=!Kh(S78n z4qZSzOgz|7GdJkIY%a!yn_LJ`XtDuM58`0cKuuug+g#`zx18fOa*W&w zo=gZv=<%V1SH`cDTc9~t>Jml2bV6ESUc7P|(^%xz6MtSnKyz!Vr@m(i4|x+Gz%FKb z%IsKRjmH(@P`c-qoSX%I8dKPi$@&fei7>WeGRWdYG2@V+OwpK)2s%3WRLqr?= z%j=A)CV!SpEt{EJvFhT<)w7$s7q5kj;0V)_i-qE)lv*)pMd*s&6&|%7e8`awJ@R3P zALXbG>C;lvmYX$irPa<|I<|k$-9qmP zHPQvA(;^0fX%OqA8@oHXPq_t6f5naeL@q3J|ASmu=r*~J++I-Y_54MV6VTd)OVcP5 z2OAuQSN6JolfGPse+}>*=sVDNp!Kg}cKlZhzX3BwcZ{6XkG22+010qNS#tmYE+YT{ zE|Gc0knT!I2v oCI4en{hxt>fq@a9J5h810Hmf8@j2wT9RL6T07*qoM6N<$g4tP>J^%m! diff --git a/mods/ITEMS/mcl_signs/textures/_3_sup.png b/mods/ITEMS/mcl_signs/textures/_3_sup.png index add337326dac50fa418d861b6a470db0df06645e..eae28867daba18b97abb806bfcbca8ae7c0e1372 100644 GIT binary patch literal 1850 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}T$Vkt&eu$mGeTN=u)0kSoKYCw8H>I@l~7(n`fK4mZh zvPFRO1R!1l#2jD<@&rgVjCS|*4Nx%BGc?e%U@$T;w6roXwlXqQFf_3;F#@uY+?EB> z33VID2$u)IvvcDq>wPbh^&;noUD|LjDm`ux`L99vW$#| zxu%YRp^1r!yt<{Wg^`V(v567L5JpZ;P9AO^30__aBSjfSBa*@Y0}O&3Ko?~(Gb%AK z2{JMZGX6ipAP;mWDH{SF3maka3YSZQ|TeofBv2)jxYE#}NLy#lXYN2#h>tK?Zw< zpZ~fv7BG$CAsYt#|8FvE>EVe2CQsE8*NBpo#FA92gwG9lc3=9&td;pbX2o1UUDVb@Na190)Aw~vPCdO8VmJkig!heA(7AcSosTG-N zR!*5E#Q~{B!HKyAIjIa5Itm~p^wv%ts7ev8$_40(kjz|=OE5~+=dXkKfr^FUiam1^ z(^Gv?^U_N)7z~Z-FE8B+lomvl4$n*h%9_ScZPEuyO2Q?B^V3So6N^$Akcx889v5Jx P$H3s}>gTe~DWM4fZw>r9 delta 841 zcmV-P1GfCS4&Mfl8Gi-<0063BcP#(_0@Zp{SaechcOY;T3L6)BjX8JMHnW{|kIi}iRSqQjC;12!Q&k=s$ zBGDM4nx~x7fh*>ixuD_4bzL;xG>z#H-*>-uBA{=Quq<0!^JLzlfmO_s+qWj2C zFR+AoJYJ95jeq82^lNn`CMcD{Uew!CRtt`hGhS*W6vI!^wpB8UV~G{S8fcyCgyBX>5`%oVy%n~QPgDi;D28f?JRf;ebYP?O2!HWyms<~3d=$HAOmJ$eZH<>|~}( zX2$}{ab6)#rF(A4;wGBdYq#l@qmCpUM`UNUFF5vDn13)yqdrC`v4&;`8?p!00009a7bBm001r{001r{ z0g-$SKjQ-x4JreI*$^-Q0013HL_t&t*JEH{VE7NkSiygE4q=r{_*CH3PJaLZCVU6` TR1GWRb7k}TSke;WDV+hCf+FnO41_g#gY5)I!wwfZyQYqDBe2GVHOGfm` zL%ah0N@df$r@d!2V0`njxg HN@xNA`RGpO delta 68 zcmZ3+6h1-Hj*WqVVO2u8E|8M*ba4!+U`$q!{&QUIgZ%8S{~Am)nr28`R`PK?#mHc- W!uweyFnB*uC4;A{pUXO@geCyE)D;&1 diff --git a/mods/ITEMS/mcl_signs/textures/_5.png b/mods/ITEMS/mcl_signs/textures/_5.png index baf23b273e1ad6dec02aeb3a2824a9f5b61936b1..96da18b506110d02cc728614c33bea183feccfe3 100644 GIT binary patch literal 1857 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 diff --git a/mods/ITEMS/mcl_signs/textures/_7.png b/mods/ITEMS/mcl_signs/textures/_7.png index 7594eb9d6e92af86264b85ec6056182aa10e23aa..2b078c1349f29ef1ed420809c262ec21f8f90a35 100644 GIT binary patch literal 1856 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}TD7yy8)&Qyj>16_9Lq;YB zkUpS)8H|8z5g!Am4Z~mXm?NF00kpGLjyev1|tJQODh9oDIOET8a5=hD3lHI10xf}j{+dQP_{7(Pyz@bZu@`Z z{{sdAFE>v&phX~O0*U{(8Jrn7*x1Nsy6Qkn#T!26>=6SsB3q;uVlbnORub*f}`4xPc0`3V=e2nTds& zm6ZkPUB+6VJOhg$tB|6hBb#twBD+$dh*9Ijg&fLG8xM*GUHqV8oK)1r$t5N(At|M* zrmmr>WnyY(ZeeNV?BeR??&0Yb91<+v*#~fzWVs-^OvvRzW@073*;|GV5GtT#Aj&!5(N5-iG_ukg&pKCMy7I*#|2qf z6%E;h90S=C3x$=88aYIqCNA7~kW<+>=!0ld(M2vX6_bamA3?)FKnhrv z85!vs8t57thZve$85>)fnra&uSQ!{3ZutNz$q*WH^HVa@D&ZOoEJBQcg`csNp(RAa zvhZJ^>O~4mdKI;Vst0K@M7+yDRo delta 851 zcmV-Z1FZbO4*3R<8Gi-<0063BcP#(_0@Zp{SaechcOY!RwJb#XUg({}1^gd!2>ygWQC_>CfA%Dc^$Vors@^Hg%Goq*Gw-+KY z#n{24WpFFVq&O5F?tC z5_PIHY3#O9!xR$_HnhwQabGeQ9LQw-7(j^NTQM0D5QrIv1Z9fGY($8ogHOfGSrT6$K&sp+ zOt2BjfaAP;V~o+(W#wCpqXi%oTf~3{8wjvcQsj>%M-Ek8=aH&rHFYgov*eUD=WKbM zQPsqfseffNb1PO|Jh^&ybNAx4a1k6~T5_>ayp&QaoK~2w7+s-J>&2H`>C!7-cKKDV z+K@giHEp?B^Hy5z+@)jt_uMUX@1@s41F1C9(2<7?A7#{uT$?h})S0JEpJmnuH9Fh& zjT(KB`!zK>)E2R{_3TLvVzVD6XdNfIn1L840)KH^1d!0Ym_?_Qc#&JoVqt6wWl$qs za5^nwAeaWRPI|C=lKUmMpy^+6<9{L-7P|j~Tv+H1xu3axL9N&QMUf3??ZOq)C=&-8 z6oyy!y1q%j-G={a;M>r*p>IR$uVQxm+J(OXcTIMtN5CxE00006VoOIv0RI600RN!9 zrva0ZYaU1A0~HA_1b^7*O8@`>B}qg002ovPDHLkV1hU&j*tKV diff --git a/mods/ITEMS/mcl_signs/textures/_8.png b/mods/ITEMS/mcl_signs/textures/_8.png index b61f4e294c2076ddbc94e199619e248ff1778d9e..d4580e83fccf115d3a0b75caf677ba2519eb0bea 100644 GIT binary patch literal 1851 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}T&~V^? z{jmjX&9haQq>m*QWNtBW*~Qe%V9zwa`z*`!U>^SH-+f9zce|uUc&2%JYB6vCjR0as z76wKj3*=-*D4Pe!W@2P!U35+00NkumRPuA+bfFY>*!qnIL`?0O^IYjlod|bKCzL{~s_2c)5AH z0WAVK6G;5O&EU+y!N$hU#>&CY&d$ln!NnuO%frphBPk@zFCr@?FDEM{Bcq_Ar>>x+ zqbwt%VXmoTU}$1uBCl>~Yhh%gXKZ2wGK7(nlaq&=M}n7E!bnj@(THU5{{Vv^2hc@X z%#2D5OoEKef{g!L#-L1fK-%w T_P79RJq89(S3j3^P6>arTWGmY8_3p=WN0`;xgB7j7q%v?@(D;ORjeY#OKu#C%%|oqo&duaU!ZCulOk z7-7bn8r~CrrQQt9xl)%X`V}Xn1=htYr?HGhZne+?0)Lu2rh3Nrtl=SV;se;lOwTYo zHdy0vnK+d0xg{rOfu6<`He|BC4Io7Dtyl~R2*iv_f-*&8HX_8)!KY&7EQt>gAXV-Z zCfJB%z;Rx_F~{iCW#vnZs|6qwN5p^z2MDlIQsj>%M-Ek8_mQe*HFYgov*eUD=WKc1 zQPsqfseffNb1PO|Jh^&ybNAx4a1mT#T5_>ayp&QaoK~2wm|dY!>%oT{>Cht|cKA__ z+K@giHEp?B^Hy5z+@<6A_uMUX@1@s41F1C9(2<7?A7#{uT$?h})S0JEpJmn?HQLAa zi5k6-`1GWRb7k}T1jL4n zObj4>Kp!(00ofuzdIAtH0b&j?)B!35sfN++p1uJJMtX(@dKL^u28Nba2F6xKh6;uT zRwiavhNehv%L3|xxea6l%xzpiHZ#->Y(O<^NNiCk8{`K@CWs#eKzgBUV{i<@-1h&* z{|5{LUT&UlK#M@m1QP#mGdMGFu(7eTv2w7pvvYECaPf%n@^EwWND2w_i^xjJ%gIW~ z$SA1jsVgYyD9gxbm}}}77@C-v$g5l0S{T{r8Jie^3}NKtKT(FjACJG$I-N zKfoZ!0d!FoGoum%lOQ9rAmjfd4DvvCvND1J(2roi$i&RT%Er#Y$;Ay+uvGvQQp`*& z%&e>|K<_fv0_7Q41X+a?4ISBp0~6Vm3Pp?>CobercG`GQH0a_772~9$CQdFfaS2H& zRW)@DO)V2sGjj_|D`yv1H+K(Dui%i-u<(e;sN|H?wDgS3tm2Z=vhs?`s^*r~w)T$B zu1S-pOr17;#>`oZ7B5-4Z25|nt2S-kvUS_`9Xod&I(+2lvEwIBp1O4T%GGPvZ`{1~ z@X_NZPoF)1@$%KjPoKYh{r3IG&tD*aF#;nM2C(`|5a=%^78Yg}c96dqnaY8fS&)TQ z(U48ZF_1m6P*};Rkwe63;=+vwIhBorK8Pk2UE~r|F?p!^5#%+n&xrF_6Inikdko>P zTMRtRjKIia7G$tz`1!9(V*%4B93~ zh5rIoFj62JQY$jktei4SiUU%Mf)jHKa#9&AbQC~H=&hYPP?aKFl?%`nA(^=#mtd5t zIr~cOfr^FUiam1^(^Gv?^U_N)7z~Z-FE8B+lomvl4$n*h%9_ScZPEuyO2Q?B^V3So b6N^$Akcx889v5Kc$H3s}>gTe~DWM4fp?CmL delta 848 zcmV-W1F!tT4)z9+8Gi-<0063BcP#(_0@Zp{SaechcOY@z}uyo|tyFA!2 z#C{CX!|*P$Jg@Q5^J7T(meY9;<;<(;Wjp8LcFZ2*pYO>KjIOXJ9C!#xMC;3oUlqH|7{^T~@xuxLN>0aYPJgaDV_SB}M*Na^z6ebswo}R#VraHA_xebIz96 z9aT*%nSWX~Gq+;Z#gnUNH+L^y3m3r^rX?2(#Y-u*!fA!+irEz!wO)M5l`g&VWtU&& zstxJWQqz{3HE*TW&Rsf=f6v`Q_g;D(G>}Ro4IO#d@KHvc$h9dmO`Un#^jT(oP@{8f z->A_CxnEPGLv0aDThE@!b&}C%Ip83!45FH~uGbVWIm!$c2UOko%e27u0&)|0uEnty8#S8fD^Q zgTnC2Ue|xpZ};K98u&K!ZRp$3`l^^6pLXGIiWzpO*PHBe00006VoOIv0RI600RN!9 zrva0ZYaT@70~HA_59kUp!vFvPB1uF+R0!8&U?3Izhhh`~6gCq!ZH!n{Gh#Cvw|2Z* a$p8R9#Rme%ULBDD00001GWRb7k}TSkdCK|V+hCf-m@Ed859H#AK*^)fnra&uSQ!{3ZuyXfq9HdwB{QuOuED?}#K^$P#MsKv5~5*Q_%D#R89ZJ6T-G@y GGywp7Yf^Fm delta 64 zcmZ3&6g)xFij9GRVO2u8E|8M)ba4!+U`$@1_=Eq@4;4X~lB@qeu4>t=$;_~LBG-$FVF0QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI)Bu8WK%P{_#B#W95AdT*~G7lVPop+^`0*WcvZW+D1YjZOJ7&-zUb z6HX~PSR7q(gY|slCSK9V`b)eMZ*WNVoL*)I)U8_L8c~vxSdwa$T$Bo=7>o>zjC2hR zbPbI|49%^Kjjc>gwG9lc3=9&te8@u4kei>9nN|tcU|j->^{jRt> diff --git a/mods/ITEMS/mcl_signs/textures/_a_acute.png b/mods/ITEMS/mcl_signs/textures/_a_acute.png index b72b4853e2f4f3befbebfb15f04cfc5932320767..552988e317f9df83d0e5b5d21bec6c655d6a5cf6 100644 GIT binary patch literal 1859 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}Tx;Tb#Tu<$F9xH7R6=zf>f2+uT6 zPb~%xpiw}~$ilz~WPzN{2xapC*-VVg49q|}4~V50S;1;bfNW_fy9UVC0IC7$WddSD zMkWT3KA@KwjDTzrAUy$ymjE#b80r9(f>gt3cTe8{1tUE}13e1{BLhQAD+6OIBSQs4 zQ!4{gD zoIr z{vTiv4D%dIj3MpnL z7G_pf7NB<-Yk~3%EP|{;iiVDC!hwnGN`)dujT0AgC_8ODC>nI}gNkudQ4=SZn7D+b zl&YG#hNhN@shPQjrIoXbtDC!rr&n-DXjpheWK?oWYFc_mW>#@YX<2ziWmR)aYg>Cq zXV;|3Q>IRvK4a#rMT?g#UABD1%2k^-Z`rzS`;MKv4jn#n^w{weCr@3veC6u3>o;!R zdidz^lc&#~zj*oTbPj7;S~%q+;l zs%Xe2Hq)$ delta 844 zcmV-S1GD_Y4&DZk8Gi-<0063BcP#(_0?~R@SaechcOYwj0s^*+GTmLJdZVA~M; zHbghWtH|^``&-YqA>m6-`#F?7uBM0O?2FqryN$m-Cqpp0!k%#8Q%EB2KD`KLAVn%# z!JUP8N_0tdNj`{O$o2i;-Fh#vi*?K8ITRu0t&m@0wB@8Pa=E$Try0@R^V18FnBrr3 zh}{_7$2hOm)qj)`sT}sA{w!tnpm-pZvW8_;!=>okss+`t#0Fv=G!N7ks1PICgA#SB zH0WGyqlPIaKH1PRH^hC)T#O611trZ&gAI6k5C@3{Y63Ce=0eMFS^gS1Ja>X76O0i? zys6{wup z$7SMBy62WG&H_D+DQw7OeH%cC;9D^n5)gKIcLlBjH)J< zOf8$4TYs_Y;>p#so4XgUg^S<_(~^sY;-!>Y;k3eZ#pnu+S`R+tNQWNzu)~jX)Q0qF zscFm2nzzzw=Pn)FzvphDdoR77bRw0`bn2N;JN+zY9musIBMlvS*zi$Cy-}mRZJ(&o z3%Sp!(WW+urKM+gY7m?KF+uY<(a8+NI1z~3B!7T}=E*ENrNoomWEKl!Qz(NP>4ej1 z5(B|>66>HFyF0m0xdlys#f?8A7bd#@K`u;mo7`J&?@;S?eNkiqn!9kuG|Iri28Gir zd!65;FSp@e4SXB=HuP<1{#A^QU%T)dWSw@Tr?SE*00009a7bBm001r{001r{0eGc9 zc9DPyLgND!4h0kuP!q!d001CKL_t&t*JEHH0{kZ^fK%Ilyk@cxW5Iu1W)kNL+yDS! W+Y0*r&vfem0000-$FVF0QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fIp-43}M{TKUoY&{c}x6c0MCw6_k_uS$aZpQO6 zFtE0yMtG)qdTKFn01X6UMivG}APeL>Mkt#H$Yx?>W?%-=c|a`1$O=|d0%S`=*)>46 z22c%1FB1?OGBPoM^Z`B2U<71~0O<)pyab3jz)%OM6r>tPyLZG(8t7Rt7#SE^ zS{WEy85t@Vnpl~bS{a%nxvc@H3+6VE5iqxL0olw@H-OyFhQtKGWBn3%|`TiRL}+2|RY7=a97!MAjko9Q3Erh5(ASUBeNjm|04|YKzFh-f&s)UAdfP$u(GjpaB^`2 z6>Jp%g%mRr3o|P#3(&iawLp0W7C}}aMMFn6;lM<8r9u&-#)%6#l$|yn6b-ugLB%+! zsELzHOk6@zN>xo=LsQGd)Xdz%(#qMz)y>_*(val)|vI#i`vL_Y_D;YI%h&WALxbYyTvT@J{(WIh_Tw*FF4^=;cyax6e zaUN?T%V%(pA^dfVfrpt97e0EHVpXx-(>K;^$D1T8B|MLBT7;d zOH!?pi&B9Uuq-q((ls>DH8c(}G`BJ~wlX!!?N&S%YYiBKsKaSWTsg;WtJ2Nq!tAy<`(3nGFa#+fRNBzJ9VHcMYt*# zpesT$b3rb_D3w#Z=D!0f7KSVK%uP&B^-0Z3FUepqG^)S6bSqF=5LG%nGX*GXc5Ke& msX$3dxMXmCT1k0gQ7QvcRp8m<0<1$B7(8A5T-G@yGywo*vmC(y delta 861 zcmV-j1ETzi5Ap_(8Gi-<002Q(%q{=`0@Qj`SaechcOY}yQ6HmJclCOD5RGdZ8_mj=SI+E zf-%C3cQt$@{F8b!G{#I_qQkE^`2x%{r?HGlZnn?@0)HAirn=(0YIw+-;{ohsrYp>j z4VL4)Oq@#h+>*svpr=O+8!}nj1`s0nRxE}D1dc?al;|*KBSIV$HmWPfIE*@}xtS5I#4p1owwf-6jO$`-QcoJ)bz0@DSv3p7eO`IIxBdZyD(Kl52C z(x=9%HC3x#b1jXVG#vkynuX>qx6-L2m3r*jQ@8Ft_cD-cLq;4r(y-wpk8-0%``A8F zqZe|YQ=?675{paE?$jVQdow}vI?>4t#5fX&+kYg0gyzZYaEg&9xykIvj6lJ{sp-((QR_?xqU#bmGwoD1!$ha8Ph`sE;cB1 zFYIN0lm565e{0~&(3hbvL;r)Jf$IW)F2hgnwUx;?)-b>T000SaNLh0L04^f{04^f| zc#(Y!Q{w{_4J{EqA@{!k001#bL_t&-)0K`v3IH$+!qTz-f7zbP6uKNmLSP~cc6=!F nuB1}(3*i0~3E+h1E`3J>z@ZEMz0xmt00000NkvXXu0mjfAi<4y diff --git a/mods/ITEMS/mcl_signs/textures/_a_circumflex.png b/mods/ITEMS/mcl_signs/textures/_a_circumflex.png index f9b80df66dae50b8372c2e7ca46e651482836758..2246753757c05e96f0af698d72f55388f1b4877b 100644 GIT binary patch literal 1859 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}Tx;Tb#T#r3#$aTPhf$8AK z6aV+;bR|sO9F=nPN|8gmsA~Pf`5U%<$~h7^k<-=W`_W$gEN6b61Ap%S0J`5LHNrE^ z(^HFq185WwGqNx+0$CuZGeX%sKsFO2GXpb_&I4j8Mpm$z5+GX|%B}&jHGpbBdYORO zkdcW2qz~w21|uL_1V~Q+;w3=L0fst2r6AQX+TGJPK*31Q&_K_E!N|bS(#pWt%E(Z` z(A3Jn)XLNp$!%FcT`;$SjDWd~3&>`Mx`7R-h7E}=3T1=*z{mvgqX0-Rlx+--LYUkB z-}wK4LBPw+(+y}5$eBRm|7`|m1`akhb~aWHc6N47P7W>}5ndi{ZXQV?VSW)=DS0_r zDH$0B6+LwYB^_lM84Yty9RouX6BBuLOIr&g8$DwaBak7CoSd9I+&mJzyb?x=GKxkd zgZ~E@1UY~%%3@|zVqg+vWEN!ne}q9E=uTEfFaY`y3>cZ1Sy&0Dr^+rDGxu0w~996fgY#K}{aE?>EN?fQ+I zw;n!v{N(Ag=PzEq`uOSdm#^Qx|M>X}8f2KE_o9%~}YXK;@p z{B?_ghnW!=dCYrRfod2jkPWF7nQ2x|nI**msYStwxdl0?3>G>HASCqGP93O95w6Mw=!%fcT#!pJ zO4Yshr)>f%7KSVK%uP&B^-0Z3FUepqG^)S6bSqF=5LG%nGX*GX8b7s3A1EmamkiEN dD=AMbN@YMQ$~}8rfVCe3gQu&X%Q~loCIEg@1%?0s delta 846 zcmV-U1F`(W4&nxo8Gi-<0063BcP#(_0@Hd_SaechcOY@z}uyo|tyFA!2 z#C{CX!|*P$Jg@Q5^J7T(meY9;<;<(;Wjp8LcFZ2*pYO>KjIOXJ9C!#xMC;3oUm(eZ(%-BbWD3gqV*){)o|$lYYqM;fCK zU&~AE=IlP_xPNz7Q%0n6IGg&hl|6#ug;2_#mQf9lVr;t>RL2$@h;`7sP+OovjA&0v z)Tz>>vHM01OH4f2&@(s0eaT#m3%3m=txA&(czO^An+9qEF+bKq+i%(a8aX_7f+iD; z5oY{U!&k!JsSiVQuGA%pe#Z%Efpzi9X)I%rTP?JJfPdzRsqXmh8eZ}yzJOiKbcflo z!5XjI#HIAiE!ms}dKyzWkjeTnfDpmAVlgBj5Hk{+GDTxHBE-?br()$Si7yZ!Rqhlf z*ob7nabCVL$7t)a@-4>I0uU-$3}|qG04pU${#bJ4P}OxGscKeJ*P=B`PFZu#me(Cs zO)QyOHh(j>V%5cyt7kWNFJ225!4;+@7YoHpDYe3Bh3Sgf6&kf(e94tAz4B$3U*)O| z>C;lvmYX$irPa<|I*xzO-9qy|5ldUop41>V`(c9Cb)t(Ih;bqiw|_+d3C)XHbV`XAxy39N#-UIKHPQvA z(;^0fX%OqA2fHV^UvdkY{uMX=Cvst-`#;Eqh3=61ncElCdfophvH`7AxMCV*;$nls z@XB7-f6{OF;lCRAHuP=i+tB)|m>r*X;cu_YcC06%ZnFRY010qNS#tmYE+YT{E+YYW zrICIMMB@V$4h1+Ph<_je001IML_t&t*JEHH0RH0=_|HI$*8h0TWg%n-$FVF0QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI|#RV`k?^5jU9Mz#Fiu47GX#m{?V1NiJ;UA^i*H|{*+&I}$gkCaoF z7#LVvQX@RmJUz7-IDjSsF(V5DBaj919wU^^17tHXGBYp(={z8oVq^uYDFL#jq3jwU zTLY*Dq?ZYZ4H=mjK>C0_XD|Y?MS%1KAYKB*9AKyeR0>iJquo7y0~Cz(3=Q-w7>o=I zEv*cUt&9v63{9*|Os$NKklfY))CF@J$OxF*xPWYCs2f1;XG3C(LfIfcFfu{>C;-w6 zWfy~D5(pq}`+wvA0|o&vH%~X9MIdJaiT}45oEbRS*x1=vIoR3RIXOAFctm)4xVd>G zg@pMFmiHo@^JG= z@bXF+Dat4skqrJHU=ZX0x~PGfQHg;`kdaxC@&6G9d7wL48NmSJ6_7`nSy&0Dr^+rDGxu0w~996fgY#K}{a zE?>EN?fQ+Iw;n!v{N(Ag=PzEq`uOSdm#^Qx|M>X}xYE#}NLy#lXYN2#h>tK?Zw}yQ6HmJclCOD5RGdZ8_mj=SI+E zf-%C3cQt$@{F8b!G{#I_qQkE^`2x%{Yp{$-Znn?@0)HAirn=(0YIw+-;{ohsrYp>j z4VL4)Oq@#h+>*svpr=O+8!}nj1`s0nRxE}D1dc?al;|*KBSIV$HmWPfIE*@}xtS5I#4p1owwf-6jO$`-QcoJ)bz0@DSv3p7eO`IIxBdZyD(Kl52C z(x=9%HC3x#b1jXVG#vkynuX>qx6-L2m3r*jQ@8Ft_cD-cLq;4r(y-wpk8-0%``A8F zqZe|YQ=?675{paE?$jVQdow}vI?>4t#5fX&+kYg0gyzZYaEg&9xykIvj6lJ{sp-((QR_?xqU#bmGwoD1!$ha8Ph`sE;cB1 zFYIN0lm565e{0~&(3hbvL;r)Jf$IW)F2hgK1eL~jp-`Ft000SaNLh0L04^f{04^f| zc#(Y!P2&R<4J{yV|M!Ie001jVL_t&-(_>&jfd33wz<+#_D1Z@*N=BlL`;X3MA=XuJ hHWLn&gq=-1007FR4E$3*^3VVP002ovPDHLkV1hW^i7NmA diff --git a/mods/ITEMS/mcl_signs/textures/_a_grave.png b/mods/ITEMS/mcl_signs/textures/_a_grave.png index 3f0de45a5b02b364dcb3e3c447ca877911893914..6ccb2088e6696f132c721c2787d4bc44ef7c1199 100644 GIT binary patch literal 1856 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}Tf`NX^<(Au72p*{COVhMy{LsZyz3KWm(O~Yj-`#2k3a0)CkWsPfsld z4xl+e%*evP2xNiW%?M@l0NG58%nZyxIuD4Y7+Jw;N`P!>D7yy8)&Qyj>16_9Lq;YB zkUpS)8H|8z5g!Am4Z~mXm?NF00kpGLjyev1|tJQODh9oDIOET8a5=hD3lHI10xf}j{+dQP_{8R{$OtVf8+lH z1_3WOPdA`NAZG%J|F;>O893P3*x6V)*xA`RIXSp^M0k0)xp^dog!x5erR3#grDS9j zRP@vplysD3WHih*bqowmOibj}Ep07~Z1jvxj6jAka&mI=aPvs;@=6#f$|xF<4E`Tr z5aa;5D2tg`H|qMvW5}awt1(JSZA;@q>zSQc)8pmzcPOq?D?f zx`w8fiK&^ng{76Vi>sTvho@I?NN8AiL}XNQN@`kqMrKxVNoiSmMP*fUOKV$uM`zch z$y26In?7UatVN5LEM2yI#mZHiHgDOwZTpU$yAB;ba`f2o6DLnyx_ss8wd*%--g@}x z@sp>|p1*kc>f@)+U%r0({^RE_kiQs#kqQG?{Ur$W7ZVE$GYdP&UyMxUK+G)2!m4P< zCgd2%o>(ZXWYowZ;xuvL#)F*7#z7xMlZq~KiK&=8RQ(9@8rWyVd8~;npTRwb@YgK{ z9%e>hc?zxs|c8m8q$=fq|8QLE@GVppp!sAvZrIGp!P?!N4NK$iT|P*vilnqG4J1 zFHrR&1+pQvA~Vg(DYK+FAhjqsF}ENmmBB(s0fdC!+NlFoDZ*8`09_H1nG13WMyYCW z;af9Mu`pb*XKrG8s!wWOdPxR@p;7(irCWj0f~eBrnJGY7)A*@P`anrZxMXmCT1k0g aQ7QvcQSRB}0<8KN7(8A5T-G@yGywp4%>Uc~ delta 845 zcmV-T1G4@z}uyo|tyFA!2 z#C{CX!|*P$Jg@Q5^J7T(meY9;<;<(;Wjp8LcFZ2*pYO>KjIOXJ9C!#xMC;3oUm(eZ(%-BbWD3gqV*){)o|$lYYqM;fCKngVr;t>RL2$@h;`7sP+OovjA&0v z)Tz>>vHM01OH4f2&@(s0eaT#m3%3m=txA&(czO^An+9qEF+bKq+i%(a8aX_7f+iD; z5oY{U!&k!JsSiVQuGA%pe#Z%Efpzi9X)I%rTP?JJfPdzRsqXmh8eZ}yzJOiKbcflo z!5XjI#HIAiE!ms}dKyzWkjeTnfDpmAVlgBj5Hk{+GDTxHBE-?br()$Si7yZ!Rqhlf z*ob7nabCVL$7t)a@-4>I0uU-$3}|qG04pU${#bJ4P}OxGscKeJ*P=B`PFZu#me(Cs zO)QyOHh(j>V%5cyt7kWNFJ225!4;+@7YoHpDYe3Bh3Sgf6&kf(e94tAz4B$3U*)O| z>C;lvmYX$irPa<|I*xzO-9qy|5ldUop41>V`(c9Cb)t(Ih;bqiw|_+d3C)XHbV`XAxy39N#-UIKHPQvA z(;^0fX%OqA2fHV^UvdkY{uMX=Cvst-`#;Eqh3=61ncElCdfophvH`7AxMCV*;$nls z@XB7-f6{OF;lCRAHuP=i+tB)|m>r*X;cs_kcBabN-ev#*010qNS#tmYE+YT{E+YYW zrICIML*oM#4h0Q$JG%n_001FLL_t&t*JEJ71OAgNfuRb&5iGdO`;W^qWHX6#1#SQU XY10b&$L6G;00000NkvXXu0mjf#$Jrb diff --git a/mods/ITEMS/mcl_signs/textures/_a_grave_.png b/mods/ITEMS/mcl_signs/textures/_a_grave_.png index 8176f51c52e6f3f68a828cf56d6a6e144617d953..f973dec5d87d8dd961b80b656e0a77d0e3103e7b 100644 GIT binary patch literal 1930 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJz!2%>-$FVF0QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fID^B4C<#Wfz)UG;JE!;@dtWB)y1GWyIdE)e`A zfq{XwB{jk`&C^qhfdgnF5HqqcFalX1?=eEzJU})RBQpatkj?{QDMnVXni3#e8p^H# zvNeEeKzf;g*pQKl0i+M;a|RFrw*NQ&KVT5>a`SWpS_E^(PF6}rMnOeST|r4lSw=>~TvNxu(8R<5A1R0qH8UG()kO#Vxl@SaeUIBTOnT3^&or9B$ z8>nEb04SuGnOK-vSy_PIWvm6tGq4D<3Mm>ovIz$!vMUve7&T5@$f4}C@t|nX#SbdR zNkvVZTw>x9l2WQ_>Kd9_CZ=ZQ7M51dF0O9w9-dyoA)#U65s^{JDXD4c8JStdC8cHM z6_r)ZEv;?s9i3g1CQq3GGAU*RJ2VdF$b$$4{OPfBE|D`;VW$K>lI`Mk)+Ie1_&PL7=~wSXh`@ z*g^hcWGV-FT#$uT(U48ZF_1m6P*};Rkwe63;=+vwIhBorK8Pk2UE~r|F?p!^5#%+n z&xrF_6Inikdko>PTMRtRjKIia7G$tz`1!9(V*%4B9`Q( z3Pth|)jZ{t4wRT<=7NqNSGig`;(A^s?UtVH;i&rs!z5^B`+xWCUtrh!0E^pxKHG!s zK$=0@;j zLNLOJcQt%u{F8bMG{#I_qQftpd;#W}(^$qNH=pnV0)HA?Q(gM58XofIcmO+@>5|#8 z!E&5eh*RmFTe3I{{Pc)nLndoG03^cPip7wCz>!Fl5*@~DM9|T}r(oqQkxvjHRc;gp z*oY*+ah`KyjM4IC<;#q#WgUdDRBvzN?SaD{13*+TZ5b19g#Aaud#0*_KoKIM$3p6RsH&wQ4O z^r^9GP1UN`Tub974adKwW}$h@t#s;0r5?NX)UA8Zy$s~qkP(NDG;H|Dqui*`KDJNP z=!M+p)M!(i#NzU^J2jZi-a^p4PINK@F^&Y{Hh&2qp?NYpoMPljZZbPE<4`Dr8tH`7 zXc7a#*ok$}joqExr`&?Z-{QuGCfLmY000SaNLh0L04^f{04^f| zc#(Y!QR4#@4J`(}@^W|p001vZL_t&-(_>(Ofd3450A5KrV8o)D5tmW_ahd<0fq{X6 lg^=YKI+$>%B+lu?0RYIE3;ko@pg#Zr002ovPDHLkV1oR1GWRb7k}Tx;Tb#T#r5L$i<)_!gMjc zf2+uT6 zPb~%xpiw}~$ilz~WPzN{2xapC*-VVg49q|}4~V50S;1;bfNW_fy9UVC0IC7$WddSD zMkWT3KA@KwjDTzrAUy$ymjE#b80r9(f>gt3cTe8{1tUE}13e1{BLhQAD+6OIBSQs4 zQ!4`#D^pV>w`Bo!!Q2Ki0_HX@Ae$NL1~#A?HYBzvlnwF&BNN1r0wBFmwlO#gVQ%|> zoIr z{vTiv4D%dIj3MpnL z7G_pf7NB<-Yk~3%EP|{;iiVDC!hwnGN`)dujT0AgC_8ODC>nI}gNkudQ4=SZn7D+b zl&YG#hNhN@shPQjrIoXbtDC!rr&n-DXjpheWK?oWYFc_mW>#@YX<2ziWmR)aYg>Cq zXV;|3Q>IRvK4a#rMT?g#UABD1%2k^-Z`rzS`;MKv4jn#n^w{weCr@3veC6u3>o;!R zdidz^lc&#~zj*oTbPj7;S~%q+;l zs%Xe2Z8&WGW)2y5_ONs+hi-Hq#3vyB!EOZn=Na(GdI#87&T$KyZ6(O0qAeUg2 zs;tQ$uLBhe!xekxCZ?zQq~@iUWH1;S)n8t^6(}u;DjlAg0+cn4pW37kl$3-^2Ir@h clqVLYG9VS@o;@zW+K++3)78&qol`;+0LR<_5C8xG delta 846 zcmV-U1F`(W4&w%p8Gi-<0063BcP#(_0@Qj`SaechcOY@z}uyo|tyFA!2 z#C{CX!|*P$Jg@Q5^J7T(meY9;<;<(;Wjp8LcFZ2*pYO>KjIOXJ9C!#xMC;3oU$a_B6@m$`#~h8 z_*!0KH)r=b$A7)Mnld7l!`al2t?UsLFN9L|w2W$a6l2@9pgOkLK&*r2h1voYVnlmV zqE3}2jomkDSYqPAhMu`0?n~xkT)1s0X;qqRz|(^`*fdZRi21P=+J4LS*T~_y6EvA% zj4(9@X0flStq0fY#?6^kJOftZollqnjs5h0EaJ{2oxNqm6-sdA?< z!A2wlj`Q-3IYwKTm2WYw7JyL6VnBlf1Xw94^2d@RhpMjoNL90%x)!Zja>|->w!H4B zYGTRMvVWPm6{{|uTs^zFd+}Ph2(B6I_L{3=&% zNS~IPw%n|FE3J0!(sBHI?iRZD((9msR2pgM$is$@GU`OGO_^!x%+sdNGV6mHon!k( zjXuczni?Hyi&)xv_M`@}*$)%6t`l9%K#UWCxPL7INN8TnqEkw|$Sr2EFb;(>sF5x> zofa_=OoLb_J=i_T{gPYI^sl(_KamRy-Ty%@EOdw5&)mMC*6aR9kqu~_!WGjf6Bip4 zhFA8w{*!*Y5C7G`x1n!C--gy##q9XB3x5NqV0Np`bEqZ&000SaNLh0L04^f{04^f| zc#(Y!MB@V$4g@$llTKj(001IML_t&t*JEHH0RH0=z$wANgi8g6Y8HZKp-cY9=K>M| Y06|*|`^f)nF#rGn07*qoM6N<$f&f>NZvX%Q diff --git a/mods/ITEMS/mcl_signs/textures/_a_ring_.png b/mods/ITEMS/mcl_signs/textures/_a_ring_.png index d3e9b7e9646ccca175498207ca8314a91204ad8d..0c28aadcc9dd1c1dba29cc3e6126010db36c9a52 100644 GIT binary patch literal 1929 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJz!2%>-$FVF0QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fILhT}uQqeroXQ1{^ngvb#s*P(!JroY<_^HwQB>?yTFm{{z#4&3r=A@4p>j zU|?-YjqptK^weVD02&Cyj4TX{Ko-b%j8HZYkj=!%%)kt!^MF{2krk|_1jv?#vTJ~B z4WJs3UM3(mWMpCh=>vM4!3f9}0n!tIcnJ`5fT0dhDM&SpcK7rRP%zRnG|;nPFfuT- zv@$TZGBQ*!G_f){@-SBX5e6BV`pRKU}tCNM)G;tLF)@)>x3sk|ve7d(F#;LF$jQmc!_6bX z%PV1|D5GdZGWdUhL68IJq6TJ0B?cxzMrJ|A|3?_)f$n5w1OtdyKptggVP#|I;N;>4 zD%dIj3MpnL7G_pf7NB<-Yk~3%EP|{;iiVDC!hwnGN`)dujT0AgC_8ODC>nI}gNkud zQ4=SZn7D+bl&YG#hNhN@shPQjrIoXbtDC!rr&n-DXjpheWK?oWYFc_mW>#@YX<2zi zWmR)aYg>CqXV;|3Q>IRvK4a#rMT?g#UABD1%2k^-Z`rzS`;MKv4jn#n^w{weCr@3v zeC6u3>o;!Rdidz^lc&#~zj*oTWKS#c@69{ z;yl(wme1fGL-^|!0}nGJF!GoM8SEK;{_E0Mz%+_SY#8wWzsZoae-@~~R4s9hC`m~y zNwrEYN(EBDve3v#*U&)M&^W}<+{)P4%G6Zbz`)ADAaTowEEEm7`6-!cm2eFP79mCk zRwl+)hL#Ww%ff#x18R^0*^pY1nP%mbSyCL3S`?g^Tac5=V4`Q( z3Pth|)jZ{t4wRT<=7NqNSGig`;(A^s?UtVH;i&rs!z5^B`+xWCUtrh!0E^pxKHG!s zKAC zKz24NG^nq(QpFM@cQ&-l6}nHGi*e>E7XnloY{1ikIM`HB6PWq77FzS>HD4vi%#Gm5 zgkXdb?`rtS_$T!iXpEVZ9H9X|a@c?!*(ia7^CIO%9j~e3qUB2hye`_5Mafq$RCT294aargQ_Mqb%T`=Gx_WYR_v|He7F=PPQ?`&j=UfUVEeKsOy1=89lTSJ0sb@Ov^fRBO zB7JJCT2r;^HP_O(NyG7Psaa^=ax0xWQmMzTJ$38eb1wtAHe|%1BMloq@+dcIw2$o* zHF_cUIW^kUCb78u>`o14v$qg5uM?fjK#U`SxPMIoNNAqS4yPD-lAFwq%s3Rvphi03 zG@8UfFm_@cbYpiX_bIoa@wd3~ugHao?q84#6Wu2Fp4$i1T3Np+vH;CfI5j=t<&jfd33wz<**S85kHC7#Oh#G7@Fne{?nr kv95x%nQ*AYs+&vz0Jp{s`^C5YDgXcg07*qoM6N<$f@KYoKmY&$ diff --git a/mods/ITEMS/mcl_signs/textures/_a_sup.png b/mods/ITEMS/mcl_signs/textures/_a_sup.png index 4f4f9801cff3035bae4da6a583afc103b125fe6c..c2a001016d34a976724a1ff051d646f59a9d9f61 100644 GIT binary patch literal 1852 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}TBQJvi&tU_r z7ytElJ73`5#mN-hHGyervc8*Z#D;C>lm0woWmw52)V)}|66kQ3)CkWsPfsld4xkx8 z%*evP2xNiW%m`)k0NG58%nZyxIuD4Y7+Jw;N`P!>D7yy8)&Qyj>16_9Lq;YBkUpSa z8H|8z5g!Am4Z~mXm?NF00kpGLjyev1|tJQODh9oDIOET8a5=hD3lHI10xf}j{+dQP_{8R?qF{Ff8+lH1_3WO zPdA`NAZG%J|F;>O893P3*x6V)*xA`RIXSp^M0k0)xp^dog!x5erR3#grDS9jRP@vp zlysD3WHih*bqowmOibj}Ep07~Z1jvxj6jAka&mI=aPvs;@=6#f$|xF<4E`Tr5aa;5 zD2tg`H|qMvW5}awt1(JSZA;@q>zSQc)8pmzcPOq?D?fx`w8f ziK&^ng{76Vi>sTvho@I?NN8AiL}XNQN@`kqMrKxVNoiSmMP*fUOKV$uM`zch$y26I zn?7UatVN5LEM2yI#mZHiHgDOwZTpU$yAB;ba`f2o6DLnyx_ss8wd*%--g@}x@sp>| zp1*kc>f@)+U%r0({^RE_kiQs#kqQG?{Ur$W7ZVE$GYdP&UyMxUK+G)2!m4P(ZXWYowZ;xuvL#)F*7#z7xMlZq~KiK&=8RQ(9@8rWyVd8~;npTRwb@YgK{9%e>h zc?zxs|c8m8q$=fq|8QLE@GVppp!sAvZrIGp!P?!N4NK$iT`3Som2&G%O4M1*%%4 zKsKaSWTsg;WtJ2Nq!tAy<`(3nGFa#+fRNBzJ9VHcMYt*#pesT$b3rb_C{=45Up4_1 z3&RzA<|d}6`lRNimt-&)8r5H3x)mrbh$!RwJb#XUgi@bn-KHVxDSVt&kpw%@Y-HF9|F1WhIw zBaHZ|hOdObQy+%rT&YVG{f-mT0`uaP)0oC0x9-pa0)Lt(rn=+1Yk0|<_yTq@(;a5V z0&Bc(6PMC6w`6k`=xI#hKql+Q073-ciph|GK+HHKC{r|MBSIVmWn=;eXnWs&kW!48ZI@|V* z8hw!aH8nca7O}MT>`4t`vmYjC9Vfb&ffy$OaerF`kkGuCMW>W_kz34SVQdOzP$OM% zIxS)#m0fc({`-aOh5Ag000SaNLh0L04^f{04^f| zc#(Y!MB@V$4K)%aGd^4Z001IML_t&t*JEISfd5d875rylU|?WD=3vNTlSDQXr`ZDt Y0J!4_`~?0ZhyVZp07*qoM6N<$f)iDRQ~&?~ diff --git a/mods/ITEMS/mcl_signs/textures/_a_tilde.png b/mods/ITEMS/mcl_signs/textures/_a_tilde.png index 567632c37777180fe8fc5e2b033d8698b6c5279a..0600d53ad4994ca96ca2b373b32898df52213783 100644 GIT binary patch literal 1860 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}T$tKNN&pl>VmlqWCYA@TtGH6)D3JvHEc+1Q79Ya2Sz4{9|b^qp=@Jt9Kzi8 z|Hl6Z3<6$mo^C*kK+Xgb|8FxmGjOo6v9qyqu(Pvsa&mC-i16}obMr_F3G<7{O3BN~ zO3BD5sOYIHDCsE6$Y_{r>KGWBn3%|`TiRL}+2|RY7=a97!MAjko9Q5G|!5(ASUBeNjm|04|YKzFh-f&tKvV8F=4%)-jX&cVsW4OFmI02ETp zOf1Z-tSmt9GS&j+8CV2ag%k}P*@OcV*_8@Kj2b5{ECr+Nabot8FYu9hw zy!G(W<0ns_J%91?)yGetzkL1n{m0K=Ab&9eBNYa)`b!Y#FD4ciW)^mkzZjXyftXp4 zg;mjzO~^5jJ+V+&$*7S-#A)KfjR!fEje|ajCKX-e5>qjGsQMA)HL%Z!^H>vEK7)G< z;jdc^Jj{&1$YT~{uxI%BuS;VA(c?zxs|c8m8q$=fq|8QLE@GVppp!sAvZrIGp!P?!N4NK$iT|P*viln zqG4J1FHjXD1+pQvA~Vg(DYK+FAhjqsF}ENmmBB(s0fdC!+NlFoDZ*8`09_H1nG13W zMya}o@yt1(Vqv&q&)mfHRG-wm^pXq)L!zopr07$9-i~s-t delta 847 zcmV-V1F-zW4&(-q8Gi-<0063BcP#(_0@Qj`SaechcOY@z}uyo|tyFA!2 z#C{CX!|*P$Jg@Q5^J7T(meY9;<;<(;Wjp8LcFZ2*pYO>KjIOXJ9C!#xMC;3oUZ1HDyF9hqI|4TiGKhUI?Y^X&KeuxX$s5c6X#wEdRtuaU!ZCulOk z7-7awHGC!fo%%2|=Sp3o=y#lu7FZXroW?R1xz$1o2!CjvnCg!2uHhwb;tSZtOm~*^%prpIcJ48%AQh=1E6fQ077EIOsci`-%s3*%5IgBt0A z(`gX{!8C|<(u3WT+%LHWP5+7;{}Z{e(ET6e!a{e*{mktPYQ64%6xo2*DO@p)GI6m% zVR&V)>p$tY`|w{4d>i^U^lfN;Rm_f0yYM%PHFl^cn&Y+r000SaNLh0L04^f{04^f| zc#(Y!MdJe%4h9a#AGvw}001LNL_t&t*JEHH0RE%Vm;!jU{>N)B3of(%<6xthN!SJW Z0Ra6?4EPZ4bOQhY002ovPDHLkV1k-`mdOAB diff --git a/mods/ITEMS/mcl_signs/textures/_a_tilde_.png b/mods/ITEMS/mcl_signs/textures/_a_tilde_.png index fd3d97784bb99d3064bd7bc4c0b1c135ef27721b..baffca08e4826124e4e9d7a6928c3724e1c639a1 100644 GIT binary patch literal 1929 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJz!2%>-$FVF0QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fInY$ir#24*0g2gFj0tY9@IK(;iLT?1rm z0M&r>G6At6BNGEiAJF3rMnJX*ke&dH83+OF)#@-G7B>PKf)jnbSEn#7(l!N@+dP4D;qlpCl@zR z!BzoKNHH_9Ftf6<0KLmt3zTPI5o8roG<0MW4oqZMDikqloVbuf*=gfJ(V&YTRE(2~ znmD<{#3dx9RMpfqG__1j&CD$c?zxs|c8m8q$=fq|8QLE@GVStuHE^HVa@D&ZOoEJBP7 ztW1op3@srVmWBUX2Gk%0vLUr1GtJ5=v!pm6wJ10-w;(5#!9qs?goNJOsRLCh!d1Bd zT@jL*3vvlYsVr%my&9-k7_QheH!(fcCp9m@t| delta 853 zcmV-b1FHOq59$Vx8Gi-<002Q(%q{=`0@Qj`SaechcOYAwZ?U20Sf@gG~iBftYV=q2)I(f0Z1b8$pu^ z#t1Xs)$ozWc5G;URC12e6Zwt}r_` zSdQ~DaVp(&OBQE=o*pr5$YgCBK#1U5u^18%I1-6cqQjVt2yt}qDOfp6!W-UolOqx=%H1DWl zV$sx+nSZ%uD=r>gJ-NAi_L4aZt}x9hTgaYsE(J~tOc%^9&?x2PQ_gtmnNBalB2-MaVO%RsIT8FA=H!-kJM%8eTBWBWvn zUdVk;jW)GOEG|8}Q-j#-%>>QsL?<&4<47QGlYambnkTcvDMp^;CbJ_m4uvwPkxn>` zCNU6Td_5rn4))z$sOb;2j*r3q8 zu$TEw`r|(Qt${B?UxvO6{SSr)t_%FR3_k%4f0fKA*=EK7000SaNLh0L04^f{04^f| zc#(Y!OXC9-4J|MKK&jfd6PTZb7Vo5sOMjbVYdWfU{X}NaEJP fghM4^XA=(q;hYWonvDGs00000NkvXXu0mjf(>a3? diff --git a/mods/ITEMS/mcl_signs/textures/_acute.png b/mods/ITEMS/mcl_signs/textures/_acute.png index 0655de2dd5011929c6e388d7f88b98ca8d900d00..709cf70fb371793b61394c012dd92513a13e3cdc 100644 GIT binary patch literal 1839 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}Tyf1#{c~8~-0L2za@9x&bW$ITJ|yzs=yxz`@4G z&c@2Y&d$!s$-%`V!pp9XZ3R<7E# zdCS&q+js2Tb?ESsqsNY)IC<*Quqec!9r-=(U9^_Ou z4*DRPRCJL`OvU7(>PL{*z&<0+V@+iF4DK<6ziu(`Ff#%pk6Dnxp5f=eE{z3Dqj<=M z0ssG-49(&TdV$GPwZt`|BqgyV)hf9t6-WWgG9x2hLjzqy;}Ao0D`R6TQ&VjN11kfA z#4R5{B^g3PZhlH;S|wbAfklXsft87|m7yg>!?N&SpxQ(VWJ792W}1~#W=U~CYEf`v zZb42egN2R)2noHlQwOS2gsXA^x*{Yq7vvI*QZ@8^0I2*GhAZ~WO-xVqNzF?y$zU)v zs=vH+D^OYxRXRK~1t@D8Keb68C@Be-49-t0DNig)Wk4#*J$qb$H5~(kr>mdKI;Vst E0OFJNH2?qr delta 829 zcmV-D1H$~T4%G&b8Gi-<0063BcP#(_0@r#}SaechcOY*^(gIWGuFqMz$>W=81`79G@uq*`JBXEZC&)+lr zg^NT}NNS!-&JkBCsc=QZ<9*#V#kBADrKhHMdx-74V3-88+<%XG9RCWtK08=C_Uqjq z>;z&zfj&k)0cDNMXdFL3frM{6o##+aznWf_bAGe&ey!L2>hp6lh|v}CgaZ#DiMab3 zMKA*?Qc(-;EX2!_&`x-&u>M55kn7jtJzAf%i}l#$U5XI%amb%EI(E{pwc854&WN5P zzrDa3QhdE$wSSx4=N$LyYRXV5hqI`UrR)|QA!m}^Eu$EIini@iP#jBaAl5OEzbLpT-mpWU_t&Kq8E-m<$OB#Ee6NGDTxHBIxMgQ!#Uv#1{yV zDt8JKY(z5PIIpqM$7uVq@@>Y^0uU-$3}~={04pU${#bJ4P}OxFscKeJ*P=B`PFZu# zme(0oO@AzzS~fGcV%5cyt7kWNFJ225!4ak<7YoHpDYatIiqI9kD?Dnw_>wDKdgaS5 zzsgk`(x;`SEjMf4N~@i_bZq~gyM^w(^g3uDl|~vm^048fj5?8PQ)Zev^R(%+%=(~4 zXWPC}qfg|1O^pt>~uN<3txT5P#!DAa08Q5}FsY=#&yKa*J6kj7^~o zYNQKJr$r0|(;(JK4|Y#-zvLD){T4U=8M&~~{U7AQLU+jh$n6Viz3wlHY(Q%lE={9M z9BgnHUfJvVCjD_8{%e5mK;MDB1Fe4*v*W*7_!mYRca9!y5X1lg010qNS#tmYE+YT{ zE|Gc1GWRb7k}Tx;Tb#Trcf)>40j1E>b1mkEds z8JQSB`hZ?$Faokgfb;|)UIN4%V5kFB3Q`TD-93E+6pZu?4fHG+j0_AdtqhEoCzfU-)3-T;9z58XJh4HXJ_Z+I1E3$lfRTxrg_Vt+gOiIJs9>uAD5RK~ zSeRK^S%BVUtOd$5un4jWDH=Mm2?r*!D;0_uHBMZ}q3pErplHy=4=Tnkx|JhscGpMnOVgprDf$6l~v6xt!?cc zon4bAPnkMx`iz;g7A;<~blLJ1D_3pWyk+aQ?K^hvI&}ER(PPI?oIG{u@|COCuHU$M z>*1rvPo6$|{^I4UkDoq&`TFhqkDtFl{$d11Dhy!tmmttzOe`$SEbJhEF*20{F|!~G ztD+&BkYgZwVxh2-Q6qGeQ$1KQT&+zkKm&O97Q9NYBfdBtZhCBA_w1LS}wZt`|BqgyV)hf9t6-WWg zG9x2hLjzqy;}Ao0D`R6TQ&VjN11kfA#4R5{B^g3PZhlH;S|wbAfklXsft87|m7yg> z!?N&Spc+OBWJ792W}1~#W=U~CYEf`vZb42egN2R)2noHlQwOS2gsXA^x*{Yq7vvI* zQdLE`*9oXt7_QheH!(fcCp9mw2)_x2Op00i_>zopr0D!XqK>z>% delta 845 zcmV-T1G4!RwJb#XUgRdAQ-X8PU`8+Y78D z#n{24WpFFVq&O5F^@? z5_PIHY3#O9!xR$_HnhwQabGeQ9LQw-7(j^NTQM0D5QrIv1Z9fGY($8ogHOfGSrT6$K&sp+ zOt2BjfaAP;V~o+(W#wCpqXi&TvKY`{0|8b_iu|$U$f2t1JW|!HrmjV6mYlNYoGq_2 zs+w3bwSR18ZpEsLCs)sI?q0kWE`lRWOD-0Qmr`nl(+blSqboFOz4($VU3%rqF2BlE z8`7txrY$#X-b$;TyL4>-p1Xzaz4SV0AeBZMI`XjLql`L{Yg1;LI`g#Yv&{OSMrYf; zQKJuXzotfq+9H;=o;|5SZ1%$ht>Z)&GZ5oMAb)O)01}!Pv*?r(FLH}nER0Q|3~Hnc zPNzi-1k)haNe^~Ua=+vjH2o`X{7>YqUASTzW#V9i z!tlyo*Ei|6+wflvd>i^U^lfPURm_fGyYM%6M|P%X-j<~R000SaNLh0L04^f{04^f| zc#(Y!L*oM#3?33vfvExj001FLL_t&t*JEHH75qn|@vHog*BBODX8p&(Mlth017!dJ XQ0xl&lDj@b00000NkvXXu0mjfSILbZ diff --git a/mods/ITEMS/mcl_signs/textures/_ae_.png b/mods/ITEMS/mcl_signs/textures/_ae_.png index e19fdf1c8501cd8a993f6420b6e698ddfdfd6dd8..2f6a56d00500349128f52d503072a00b0b6fca81 100644 GIT binary patch literal 1927 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJz!2%>-$FVF0QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI zOKOB?ny0500|(GJAZBD?U<9&2eq)5Pd4OytMrHp{c_WTR(nVgxdTk&}~?hnq)&msi3_ zQAW{-Wbpq0gCGacMGef1N(@YbjLd?J|Bo=p1Kr8W2nGwh=DOELf4NWZ*Q!{f5ODks=S2uSLPp{yR(6I1`$f)F$)U@=B%&g*)(z5c3%Btp; z*0%PJ&aO$5r%atTea6gLixw|gx@`H1m8&*w-m-Pu_8mKS9XfpE=&|D`PM*4S`O4L6 z*Kgds_3+W-Cr_U}fAR9w$4{TXeEs(Q$Io9Ne=!0h6$T(aL-Us)&|gd}EX*wIAb&A3 zm4iGk$ik{<$R^|%$evgztYp;4A>uS~;l_iU%Emz-M3agxa*3&!JXHM%@*3D@#CfcV zET6$WhVa)d1|DWcVB|3iGT1Zx{MV(ifN2zu*f8M#f0N<&wyp+X@>VTzjVMV;EJ?LW zE=mPbz_QTDNY~In*U&h`(A>({*viyY+W=T18YFJ{kcFZlH$NpatrD)mz#_!Rz{ zxgeKdl*(4A6;eRO!f?f&xryniKB;->B^eBcM)jAMZUssUqDqHnrT}Hlj?K9|6(}hQ hmkiEND=AMbN@YN*3OsvUfHf!sgQu&X%Q~loCIEY17`gxe delta 851 zcmV-Z1FZaq59kJv8Gi-<002Q(%q{=`0@Qj`SaechcOY`Q( z3Pth|)jZ{t4wRT<=7NqNSGig`;(A^s?UtVH;i&rs!z5^B`+xWCUtrh!0E^pxKHG!s zKrxzwi zJRZw~c4IUjqkmt!D=|T-6!xaxwz7I~JR#+!MnW}w6n$GYqdK-&L9Bu1iCP0?VyHck zos9|&>Z`3(vBb!o4J~tp?$hRCoVhM2aaI~^z|(>_*i=vxnEAFATJz>LUnR%Pjo`_I zV1yCxYWT?bC-oL+jG4MbhhIAR0?ad~v5ZM>KH&ufG=H|Hy7XN&Jmk&s0CqCdC9`9L zlctm`%{!`? zSTwa{W`Azkii<~APj2p>y=2aUD@=3B7P9A@OTnZCp$kSAc$9MTDQ7(OOsAcG=Cf3! zPmNV;s#d+`S{gTLIQ}g)3(Z?@rBg>L_1LwiZrywCWgypvj5u_pVZ%orA8Nq+zd&6C;T6eCY^li86Ohe8?DNGF^| zlNbobPOO7&?C#_~lZ~9pm_?XriTn%Y;fpa z*vtG)`r|hIZGf*pUxB^?{SSc#t_%FR3_k&Qt(CpftG;Of000SaNLh0L04^f{04^f| zc#(Y!N#g?*3?2lgRUA_Q001XRL_t&-(_>&D0RE%VxB(*;m5f9g_aB|jf1GWRb7k}Tn zrT{S`3j-sN1#&ebl+6QVGchtVFazm4AeLfe1*<6mvZbNy8X#K(s0O5$35X3DnHWI& zfWBog0m6(r~_0AQVpZsJ$(ZdjPwi*^eh;R3=A!;42-Re3>6Gbtqjbq z49$?-mIc%Wa~sGAnA^C3Y-Xq%*nn!-kl3P7HpmZ*Ob|Z`fb>Gy#^Bh4x$Xar{|^`h zyxct9fEIzA2_*jCW^iWUU}IxvW949HXXoVP;NlVC<>BV$krWc<7m<~cmy?x}kx@|5 zQ&&*ZQI?U>FxS*EFf=hSkyp30wJ@^LGd3{-8N$fP$;rdbBf-lnVWcRdXhbsje}F-d z1L&eGW=16jCP7AKLB{__803NOWMu>cpdZ12k%^gwm5rT)lZzXuV5L?6mQqXwbzED#l4gO`Kd};u4Zls%q*Q znp!5NX66=_R?aT2ZtfnQUcn)uVc`*xQOPN(Y3Ui6S;Zx#W#tu>Rn0A}ZS5VMU6UqH znL2IyjG40*Enc#8+42=DS8dw7W$U)>J9h3mboj{8W5-XNJay^vm8;jT-?(|};iJb- zo<4j2;^nK4pFV&2`tAFVpT9u>z(JGL-`{vmgtrq9L1* zV<3BCp|FxsBZr97#DyCVaw;1KeGpA5y2vG_V)9V+BgkuDpAqM=CbE16_ZY%ow-|Vs z8G(_Uw|Nl*fWRVpofXP#}#5JNMC9x#cD!C{XNCC?-BO_fy z16@Po5JPh-V`D2*Q*8qSD+7bXEgwK78A3yDeoAIqC0v7nMTn7sm5H&Hp(RAavhZJ^ z%0&ufLuy54nw3*#NpV1GQE*~zK~5@zg^mIU3B9#b2dYwpt8xLlA|x{x@z}uyo|tyFA!2 z#C{CX!|*P$Jg@Q5^J7T(meY9;<;<(;Wjp8LcFZ2*pYO>KjIOXJ9C!#xMC;3oU$a_B6@m$`#~h8 z_*!0KH)r=b$A7)Mnld7l!`al2t?UsLFN9L|w2W$a6l2@9pgOkLK&*r2h1voYVnlmV zqE3}2jomkDSYqPAhMu`0?n~xkT)1s0X;qqRz|(^`*fdZRi21P=+J4LS*T~_y6EvA% zj4(9@X0flStq0fY#?6^kJOftZollqnjs5h0EaJ{2oxNqm6-sdA?< z!A2wlj`Q-3IYwKTm2WYw7JyL6I3&If5MZUG$RA6N9ICqRBUR06>RPmB$ti2j+48!h zs);32%YSC(R;;>sa`o)y?!{~2BDlh|{hF8mFqYIduvNI5G2000SaNLh0L04^f{04^f| zc#(Y!L*oM#4hIoa428}B001FLL_t&t*JEIy4fqem3`jJJBm)Bj!+%DCD)34Cr_hZ6 X=FAHB3JTag00000NkvXXu0mjf1FeoF diff --git a/mods/ITEMS/mcl_signs/textures/_ae_lig_.png b/mods/ITEMS/mcl_signs/textures/_ae_lig_.png index 0eb5d2f5c9130d98fb878cbcdd6910fadd2570aa..8aba2a4bc37d2416c9822338b3a726faf337a0c7 100644 GIT binary patch literal 1922 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJz!2%>-$FVF0QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI8ZuQ0W=AS8Ce(@fh>@>7@=$)Ae)JinSmKd=K--4BP&=<36L!fW!C`N8bCE5y-YxC z$jHP1(g*Z0gAtG|0;DGZ@e&~B07D(1QjlsG?e6ItpkSnDXrO1oU}RuuX=Pw+Wn`#e zXkukzW@Tc5_WTR(nVgxdTk&}~?hnq)&msi3_QAW{- zWbpq0gCGacMGef1N(@YbjLd?J|Bo=p1Kr8W2nGwh= zDOELf4NWZ*Q!{f5ODks=S2uSLPp{yR(6I1`$f)F$)U@=B%&g*)(z5c3%Btp;*0%PJ z&aO$5r%atTea6gLixw|gx@`H1m8&*w-m-Pu_8mKS9XfpE=&|D`PM*4S`O4L6*Kgds z_3+W-Cr_U}fAR9w$4{TXeEs(Q$Io9Ne=!0h6$T(aL-Us)&|gd}EX*wIAb&A3m4iGk z$ik{<$R^|%$evgztYp;4A>uS~;l_iU%Emz-M3agxa*3&!JXHM%@*3D@#CfcVET6$W zhVa)d1|DWcVB|3iGT1Zx{MV(ifN2zu*f8M#f0N;K^5X_z@>VTzjVMV;EJ?LWE=mPb zz_QTDNY~In*U&h`(A>({*viyY+rYrez#wtUhb$Bgx%nxXX_asd1{NVk2397rREdy$h0@;vSk(p-Ylvz?7kXjU+m|KvO%3z_R0761QrMe%+sYb2@kA(PO-rbTpJHsQW>m)(D~L7FJW*?)OpIs` zWM`v7gZk<#RV*=bXG70i5%(!`G0t4&LV!wx4R~4*2b&6N0x{p#Ld$Pn{wg^HmWPfIE*@}xtS5I#4p1owwf-6jO$`-QcoJ)bz0@DSv3p7eO`IIxBdZyD(Kl52C z(x=9%HC3x#b1jXVG#vkynuX>qx6-L2m3r*jQ@8Ft_cD-cLq;4r(y-wpk8-0%``A8F zqZe|YQ=?675{paE?$jVQdow}vI?>4t#5fX&+kYg0gyzZYaEg&9xykIvj6lJ{sp-((QR_?xqU#bmGwoD1!$ha8Ph`sE;cB1 zFYIN0lm565e{0~&(3hbvL;r)Jf$IW)F2heDQ(u8eoLd|FKE_$Hr#DXViaOl30ymA)t^N Z0017a2LgMPK|TNg002ovPDHLkV1oJ?eQN*! diff --git a/mods/ITEMS/mcl_signs/textures/_am.png b/mods/ITEMS/mcl_signs/textures/_am.png index 76a886757c165d1fb5091735f1a04cc1c3cc23b3..15ad80d7378f49c6c702cb572579fa5525611f05 100644 GIT binary patch literal 2854 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 O00001GWRb7k}TSke;WDV+hCf-ZPF|3 Q8K{QA)78&qol`;+09L;goB#j- diff --git a/mods/ITEMS/mcl_signs/textures/_at.png b/mods/ITEMS/mcl_signs/textures/_at.png index 1c7fa502c2e6772f87161d9a3cf0a68f500c03d7..b6b1ebe3107e934f337add8d5023afd4bf11e94f 100644 GIT binary patch literal 304 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJz!2%>-$FVF0QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI)Bu8WK%P{_j5#W95AdTE~{AAm~V(XUg5_bj&a~v(`J9 zp(Ka#;I>yMe3tXdJJ<^;q%q9kep`N!&2=%K=;B#Z>wspcmbgZgq$HN4S|t~y0x1R~ z10y3{Ljzqy;}Ao0D`R6TQ&VjN11kfA#4R7PP&DM`r(~v8!ZjFJgcuoEnHXCcT0%4| T3;(qYsDZ)L)z4*}Q$iB}uJlsM delta 72 zcmdnM6g@%GiH(7Q!7==d9*|P1GWRb7k}TSkiMsjV+hCf(%zkd3|&hGpTuKt5;iboFyt I=akR{0E;M3yZ`_I delta 67 zcmZ3^6gEN9mW_ddVO2u8E|8M-ba4!+U`$rv{KKAH(hw}rR=Dzy|Eve~B0iQ343BE~ VKfdYfssk!y@O1TaS?83{1OTM}73u&0 diff --git a/mods/ITEMS/mcl_signs/textures/_b_.png b/mods/ITEMS/mcl_signs/textures/_b_.png index c89961d1b754e06dd2c50e78cae8a49a0bb6227d..034f595ce0c221977007719469af1cc104165475 100644 GIT binary patch literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}TSkfEoGV+hCf+OvjS2Mk0GUwA&@cl=G+Q|%&NHklg&vbOzs zXx6_ZvgOvkItLwZt`|BqgyV)hf9t6-Y4{85kMq8XD*t z8iyE~TNxW$nVM=F7+4t?ByRbTg`y!hKP5A*60X6(BE-nR%EZ{p&=R6yS@h^T+)#2Pco&Nv(%DKHVDZ3_gkiA3Udr R-v=sU@O1TaS?83{1OO?T5_1GWRb7k}T)3g~c`)CkWsPfsld4xkx8 z%*evP2xNiW%m`)k0NG58%nZyxIuD4Y7+Jw;N`P!>D7yy8)&Qyj>16_9Lq;YBkUpSa z8H|8z5g!Am4Z~mXm?NF00kpGLjyev1|tJQODh9oDIOET8a5=hD3lHI10xf}j{+dQP_{8R?qF{Ff8+lH1_3WO zPdA`NAZG%J|F;>O893P3*x6V)*xA`RIXSp^M0k0)xp^dog!x5erR3#grDS9jRP@vp zlysD3WHih*bqowmOibj}Ep07~Z1jvxj6jAka&mI=aPvs;@=6#f$|xF<4E`Tr5aa;5 zD2tg`H|qMvW5}awt1(JSZA;@q>zSQc)8pmzcPOq?D?fx`w8f ziK&^ng{76Vi>sTvho@I?NN8AiL}XNQN@`kqMrKxVNoiSmMP*fUOKV$uM`zch$y26I zn?7UatVN5LEM2yI#mZHiHgDOwZTpU$yAB;ba`f2o6DLnyx_ss8wd*%--g@}x@sp>| zp1*kc>f@)+U%r0({^RE_kiQs#kqQG?{Ur$W7ZVE$GYdP&UyMxUK+G)2!m4P(ZXWYowZ;xuvL#)F*7#z7xMlZq~KiK&=8RQ(9@8rWyVd8~;npTRwb@YgK{9%e>h zrRfvOfM zkPWF7nQ2x|nI**msYStwxdl0?3>G>HASCqGP93O95w6Mw=!%fcT#!pJN>ycXCv%`; zVYp(?+{E-$pVYkck_-kzqx#EBw*sXFQKiE(Q-HFj@l%`hfs&GN$>997lJdl&R0gD? V+_T38SnV+|c)I$ztaD0e0swNw{3`$e delta 841 zcmV-P1GfCU4)6w$8Gi-<0063BcP#(_0@Qj`SaechcOY!RwJb#XUgY~HDyF9hqI_3OW8drUI?Y^VHwqMDf+f+L3J##fmjF43$+C*#E9mk zM4c*48oO=OFvY}!4J~s++?UM7xNzH0(yBDsfTss>uxX$s5c6X$wEdRtuaU!ZCulOk z7-7UuHGC!fo%%2|=Sp3o=y#lu7MK^WoW?X3xpjvY5P#4-G1VR4UBgS>#22uOneH$< z7FgqTo4Ayoxh0#kKu==|2Qpbd1`s0nR!oKj1Y*V^L7Ad48xi8@;8QVkmc$nbkSccy z6Kq5>;5aYe7-O_`S@{;@XaNY7j7{Qe0|8b_iu|$U$f2t1JW|!HrmjV6mYlNYoGq_2 zs+w3bwSR18ZpEsLCs)sI?q0kWE`lRWOD-0Qmr`nl(+blSqboFOz4($VU3%rqF2BlE z8`7txrY$#X-b$;TyL4>-p1Xzaz4SV0AeBZMI`XjLql`L{Yg1;LI`g#Yv&{OSMrYf; zQKJuXzotfq+9H;=o;|5SZ1%$ht>Z)&GZ5oMAb)O)01}!Pv*?r(FLH}nER0Q|3~Hnc zPNzi-1k)haNe^~Ua=+vjH2o`X{7>YqUASTzW#V9i z!tlyo*Ei|6+wflvd>i^U^lfPURm_fGyYM%h=XR>&z@^6k000JJOGiWi{{a60|De66 zlaXs4KjQ-x2`>l#%80N40013HL_t&t*JEHH7yQR5z(lk*tSXs^wwZ}6cftVxVpatN TL1b;000000NkvXXu0mjfHT;QY diff --git a/mods/ITEMS/mcl_signs/textures/_br.png b/mods/ITEMS/mcl_signs/textures/_br.png index 88b1ba4a3640c74ab3c1095800270e93febb159e..aebe3a025042a20180e8a681ad3a99042e2af2b8 100644 GIT binary patch literal 1852 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}T1jL4nObj4>K)*5= z0ofuzdIAtH0b&j?)B!35sfN++p1uJJMtX(@dKL^u28Nba2F6xKh6;uTRwm|FhGs}^ z%L3|xxea6l%xzpiHZ#->Y(O<^NNiCk8{`K@CWs#eKzgBUV{qKT-1h&*{|5{LUT&Ul zK#M@m1QP#mGdMGFu(7eTv2w7pvvYECaPf%n@^EwWND2w_i^xjJ%gIW~$SA1jsVgYy zD9gxbm}}}77@C-v$g5l0S{T{r8Jie^3}NKtKT(FjACJG$I-NKfoZ!0d!Fo zGoum%lOQ9rAmjfd4DvvCvND1J(2roi$i&RT%Er#Y$;Ay+uvGvQQp`*&%&e>|K<_fv z0_7Q41X+a?4ISBp0~6Vm3Pp?>CobercG`GQH0a_772~9$CQdFfaS2H&RW)@DO)V2s zGjj_|D`yv1H+K(Dui%i-u<(e;sN|H?wDgS3tm2Z=vhs?`s^*r~w)T$Bu1S-pOr17; z#>`oZ7B5-4Z25|nt2S-kvUS_`9Xod&I(+2lvEwIBp1O4T%GGPvZ`{1~@X_NZPoF)1 z@$%KjPoKYh{r3IG&tD*aF#;nM2C(`|5a=%^78Yg}c96dqnaY8fS&)TQ(U48ZF_1m6 zP*};Rkwe63;=+vwIhBorK8Pk2UE~r|F?p!^5#%+n&xrF_6Inikdko>PTMRtRjKIia z7G$tz`1!9(V*%4B93~h5rIoEm9yG zQY$jktei4SiUU%Mf)jHKa#9&AbQC~H=&hYPP?aKFl?%`nA(^=#mtd5tzTD0afQp6T ziam1^(^Gv?^U_N)7z~Z-FE8B+lomvl4$n*h%9_ScZPEuyO2Q?B^V3So6N^$Akcx88 T9v5J>$H3s}>gTe~DWM4fT6g@z}uyo|tyFA!2 z#C{CX!|*P$Jg@Q5^J7T(meY9;<;<(;Wjp8LcFZ2*pYO>KjIOXJ9C!#xMC;3oUA?{1&VqCawC}~xiY{1ilIM_5$6Nve-7TSKx_SeYaxf3** zV2m*1ry9Nz{!V=unscQtQS>`bNDHisS59LYi`;6V1%CuIPfT^kch~TeH}M7RVx~LH zjt$m$-6k%jXKu;nEYQ=K!huZIj{$@Tz7>lh0fCrtNl>O}%tnMbI`~wqoF(xE0;I~F z!UP+U3^>lqH|7{^T~@xuxLN>0CF79zIzWJxk|KXBIdZ7#x{p*ftEp?znkA>KIcLl3 zj;bb>On)t#nOm{y;>p#so4XgUg^S<{(~^sY;-!>Y;k3eZ#q0`=S}(rjN|#>wvdgb> z)rRzGscFm2nzzzw=Pn(`zvphDdoR5X8c3y)hK@XJ_$Z@J1GWRb7k}T$Vkt&eu$mGeTN=u)0kSoKYCw8H>I@l~7(n`fUSlugeNGH^7AR}OI;{vjop>ALU zs$oN7iz2y=kqP2Q0gzrO+ZY^GFt`1`@&5sXfR~%68_*(Jp%g%mRr3o|P#3(&iawLp0W7C}}aMMFn6;lM<8r9u&- z#)%6#l$|yn6b-ugLB%+!sELzHOk6@zN>xo=LsQGd)Xdz%(#qMz)y>_*(@(s#)lOnKGb1qam<1W^8Gioj(pbPWiid0%@c+Nb z;JmpXm?s%jOI#yLQW8s2t&)pUffTSTGcwXOG|)9P4ly*hG6ofA+6D$z1_p^+K7dLx zgofPwl+3hBxCR4@5F-OC6JskwONfSL;lDsNi4@3&)QZeBE2qqo;(*km;Kba5oKyx2 z9R&~)dTXZ+RHX=48U=cdFdq?42DMamzQn@ zN(-V&hi9e$WliI!Ht7Q;CE=36`DrEPiAAXlNJY74j|;GtV_@)f^>bP0l+XkKQy27) delta 835 zcmV-J1HAmJ4%r5f8Gi-<0063BcP#(_0@Zp{SaechcOY43yzR8$?BF-3_nHNRw*csB{mT2pn0IQK!q4; z4@%Uj(x7wIjT)wy_+&%P+@SlkxfmC23rd=W1{?77APzPS)C6X}&4t#uWsTR!F>)t( zG9ehD$A=PL8NX6)fyS7rOBDUm32A|O@yuyVW0IS9cz*!_jjgFJeOCz&c@rPNPG-7f zb}X>Q;|g&o-E&J8XMvx_6gFhCz5_rajIEdq2?)fDLxM6zV>Tk_=-^W^bC$#h2#_jw z3Il9JGT=DRvC+q9`Lgn5#?b;0Dp?F@uz>(8B}M*Na^z6ec^;{1R#VraHA_xebIz9M z8C6XznSWX~Gq+;Z#gnUNH+L^y3m3r=rX?2(#Y-u*V$h1v6}>AwYCZUnBOQ9=!wx^n zQ5({yrKT-6Yu-w$ox5~w|DL;r?!EMS(uq_$)2U}Z?ew#pbs*PT@5p^ljW)GOEG<8~Q-j&;Ed1GWRb7k}Tz(e z!3f9}0n!tIcnJ`5fT0dhDM&SpcK7rRP%zRnG|;nPFfuT-v@$TZGBQ*!G_W!;w=yz8 za$6Qq7tC!SBVcah0C;-w6WgCOz4(7K1H~v3h5b$#I zbOTxhawd@Yf1AOXfrE{WosE@)ot>SNlY@&#gqMe#n@3Vem|sLzN?uM@N=8OOMNeHp zNk>^mM#EfF$H36U#6(`*($>PrM$g#92xJH&CnqNlH;)7_uY{4JjG__A;Qs*zK@Omc zvX~i_7?=bZnFSgDA7PLOx|5X=41j(F14brh7FITP4o)s^pn|Oeppar_Vqs=wWdVAZ zu@)%Lz#_;hq-f~KCLEZ^u2d*u)Hrb=hqBYggQ7tfKd2Zd6*X~kiHS={N~x-;YiMej zn3|beSXw!|xVpJ}czOkggocGjL`Eg2q^6~3WM&nYl$MoOR8}>&w6?W(baqXeJZ0*% z=`&`|TC{k{(q+q6tX#Ee^OmjKw(r=v>(JpNM~@vpaq`rq%U7;myME*5t%r{uKY9A> z`HPpYK7RWAVP*tI z9sCwrl#5k237_JiCaE^N-~6o-29Zxv`V-J1B(zNVBu$MWoQY}uq^x+sA`b{ z*^pY1nP%mbSyCL3S`?g^Tac5=V4mdKI;Vst0Q_V7zW@LL delta 843 zcmV-R1GN0S4)F$%8Gi-<0063BcP#(_0@Zp{SaechcOY!RwJb#XUgRdAQ-X8PU`8+Y6DH z;%j+{-JIR$9Dn!fYRZUI4rft6ma=f! zEU?DwHgPFEb4xa7fu6<`4rH=^3?M}Ct(Xi62*iv-f-*&8HX_8)!KY&8NOHbFfK<6t zm|!E40mpgy#u%fm%gVPHM+-oxWNZ>&8wjvcQsj>%M-Ek8=aH&rHFYgov*eUD=WKbM zQPsqfseffNb1PO|Jh^&ybNAx4a1k6~T5_>ayp&QaoK~2w7+s-J>&2H`>C!7-cKKDV z+K@giHEp?B^Hy5z+@)jt_uMUX@1@s41F1C9(2<7?A7#{uT$?h})S0JEpJmnuH9Fh& zjT(KB`!zK>)E2R{_3TLvVzVD6XdNfIn1L840)KH^1d!0Ym_?_Qc#&JoVqt6wWl$qs za5^nwAeaWRPI|C=lKUmMpy^+6<9{L-7P|j~Tv+H1xu3axL9N&QMUf3??ZOq)C=&-8 z6oyy!y1q%j-G={a;M>r*p>IR$uVQxm+J(OXlZJMw61VuL00006VoOIv0RI600RN!9 zrva0ZYaT!20~HA`7;?geMF0Q*9Z5t%R0!8&V4xlN55*_~80`P(+L*8ygWF6B006T_ V2m26g0fztp002ovPDHLkV1lZ}h-Lr) diff --git a/mods/ITEMS/mcl_signs/textures/_c_.png b/mods/ITEMS/mcl_signs/textures/_c_.png index 1352609136cc971650a74ac57c6709f298a4cf95..bd6d69d71c0eac4ccaac0cba00b8fa6903ecdd49 100644 GIT binary patch literal 1852 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}T(0t&3 z{jq}*;=OYv6imOd>Gz1WdANU=#mc68@cvPj9$rqtw8v^9K!>}eMtG)qdTKFn0L=hm zMivG}APeMXMkt#H$Yx?>W?%-=c|a`1$O=|d0%S`=*)>4622c%1FB1?OGBPoM^a1_K zU<70Xtzwt}#7lsf0}OS5Np@EgDrInEp zlH0O?x?pYt83A(}7m&>ibpsnv4I2_$6v_tqfsqN~M*)ytDBBnucQCj8zw!S8gMgQt zryI~BkTZeA|Jw}C3><81>};$Y?Ck8EoE%&{BD_4@+&q#(!u%q#Qu1=LQZh0MDthV) zN;=9iG8*QZItGR&CMNRgmbMl~HhRV;Mj%5NIXO9bxOpUac_oY#WfYA_2LBH*2yy^j zl*P=b#K0uT$SlbC{|JLT(4DM|U;y+Z7%(z1v#_$Ub8vET0~Kr)0EHAY6ALpdD+|!O zjI}^{1{Oh9Aw@$+HsQcTcBMiQqsEB~Ih36?9uy6__(8=usi=vQOH5osQc6`#T|-mL z#MI2(!qUpw#nsK-!_zA`Bs45MA~GsDB{eNQBQvYGq_nKOqOz*FrM0cSqqA$$ zPb?HxGHT=yahkYr<3UbkKb$ z@|Xn~>=}Ok>(W@jG>V6881VnU$*?=-kqj_-s+PD$l%ynv$V{_x$}A}kNG%FZ%q_@CWw6ju03o5bcIrS?if~mfKv#rh=7L;;QL66w(zO$) zSQxI@GdD3k)h9JCy(ELd(5U|M(yc&gK~(AR%oL!kY5deCeW0WyTrxO6t)x7$D3t-J VDEI7f0akkq44$rjF6*2UngI1-`!RwJb#XUg*^%prN< z2{s}baGaNKj4|4}tbB`cv;c%k76Te=6u?SJkw2CkIaGC>N2;3D)U{~Ml2g{4v*mS0 zRTE35mVeF6typ#O4mb)4v824b8D#D8rOKtl6k7M)V!MQ$;Rg|R7=L5+05 z>9mM}U>d|a>A~(v?w8zxrhmna|A|~!=>89KVWB(Ze&+TCwO;oZMK++d3s+2|OdM=b z7+%@y`X>E$8~&?-Z$saPz74IvirMjN7ybsE|8}ZlLN2%f000JJOGiWi{{a60|De66 zlaXs4LgND!2|E_M)PENM001CKL_t&t*JEIy3iuDjC;}Ml|LEG7u$je##cbRbQ2+oO W=m-6P#y52U00001GWRb7k}TLW-G*g_)I=1?XMI zTA(}wiy*6zqM;+3a9|?4QlW@Z(iUwW$pkka<)WpdpCN3cY31zV>gMj@=@lFj8WtWA8I_!pnwFlCnN?g;T2@|BS=HRq+ScCD*)?hMl&RCE z&zL!D(c&dbmn~nha@D5ITefc7zGLUELx+zXJ$C%W$y1juU%7hi`i+~n9zJ^f&P z778mFHFAhJO`2XKzXfgFz0Zg8%C9V-ADTyViR>?)FKnhrv85!vs8t57t zhZve$85>)fnra&uSQ!{3ZutNz$q*WH^HVa@D&ZOoEJBP7tW1op3@srVmWBTURW4E> z8&WGW)2y5_ONs+hi-Hq#3vyB!EOZn=Na(GdI#87&T$KyZ6(O0qAeUg2s;n24(@vLIOPkZ#aMb9N`BF ziKdX$JeQm!N-C*v#lYiLuAX9A?NxO5^ehjt?H3G@pqJ}0pMP7wLaz4-mbUzOmIvF0 z*telK&)c9(&y2y=^KD4@lGA<;WzVbWVLSUb8n4%ST(90gCqpp0!k%#8Q%E9OpI!tj zkRlbmpk*PRl7z9YHc5INyO8Va;N3>=Vi)U{%X26~%v&M9i_w;ozK-3B(Bq2e?)mA3 zNKEmuJjQNxAAjS#c2`qIq;lAsdfUnxK@s6hvZiHJ!%s1`RST+Piw(p&Xdb97P$5RN z2PNuMY0$a)Mh#0$e6pcuZixGoxfmC2av?ya!3I1%h=WZ7HG!CKYoX=0EPst0o;yL4 z3C0LBKGg6^_?3DyG{#I_qUcwgkQP`M&z#0GCb`){3x5b`?3n6`@2cS;Z{h>k$xK(6 z9UH9ixJ(>M_uP`jS)iveg$U9k%o>uZ1^an-l)+& zwolaP9l6h`(WW+urKM+gY7m>fnV@-{=wt?BoPP+!Z4y92^JEsCQsPN&GK+Ld>7bd#@K`u;mo7_ikFR1mpz9_N)%~LpI8fD;O zgTm>Rz0Pmam;3Oq2EGk_8~Qdh|5c2R|7zhkkyv+@*jI2P00009a7bBm001r{001r{ z0g-$SMB@V$4K^*fctD~6001IML_t&t*JEIy9rzE$C;}Ml|LEG7uo#2eObk^_xXi@> Y00>kG`z6q^t^fc407*qoM6N<$f@Z;wx&QzG diff --git a/mods/ITEMS/mcl_signs/textures/_c_cedille_.png b/mods/ITEMS/mcl_signs/textures/_c_cedille_.png index 7eb654bc43566cbb63aa43d4f85a6934104635db..3dcffc8e429ed8d6c61d605018855840c47f4ffa 100644 GIT binary patch literal 1855 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}T zWic}PKf)jnbSEn#7y$ha28>M1EUawo9GqO-Km}U`Kq1A<#KO$V$^!H* zV=Yjgfklv2NYT)dO*k--U8zvSsBz*#4rQl}2StM}eo!$^Dr(~75)+q@lu}hw*U;25 zF*P%{u(Wb^admU|@bn4}2@MO6h>S{3Nli=7$jmA(DJ?6nsH|#kX>Duo=Zc#u=sIOv0DQqe^&F%^@CsvkjK1N)3Pk2R6yGq}eP{<_7$!^{Yb zJZ3=#dxoF?x-=Frjp8922K@hTGDL;(O97LoYKdz^NlIc#s#S7PDv$z}WkyE2h6cKZ z#vz90R>sD_;!NAXz{B^eBcM)jAMZUssUqDqHnrT}G4$Ld@GCztd>jNndMsD)cxbx{v(y zLL{d6cs*)2yMNC)uGQ6)p;QigQEy8*TX2M&NzQH=#qd+K?JNbwvBU;q9W)P=7N`(I z?MaC`Rhl%;x>3Uv6Aw1j%niCPn~QPbCKmz}nry(+gE-hUP!pK>HWxa_E$4WR93yvv zCli7ZdVDD1mGLX(7HH0ux{v02MCZV zcM211L^9wwud&g`==5df%Z#H1AXKs#&|m`rR!WNevE<01s_Q&b)vTtjMQfIvvgVvE zuQRHeSbs9LY-Vo7s*5LA&u;EsycRBkBTP#!7K)crYQ>-xp(}bT@5p^ljW)GKES-LKrv|gxTL@ami7sX!#(#-G+!g^OG%se+DJ5Ry7PD9wn?f1X zNEe(=ix>!|L9CN*?C#_~~(#UzFdcY4e%Z4JJ5Ha^{--f{8tOV0g+aBmetjAr~m)}32;bRa{vG?BLDy{ zBawR!NaF()4L1ntXQiY7001UQL_t&t*JEIy3iuDjC;}Ml|LEG7u$je##cbRbVW?ul cWf=wl0CDFD{f=(Z!2kdN07*qoM6N<$g8mDPpa1{> diff --git a/mods/ITEMS/mcl_signs/textures/_ca.png b/mods/ITEMS/mcl_signs/textures/_ca.png index 79fa4345fb62cead4fe35a77fa465bd899e845ef..799333fcc07504f6cb080bd89b63c0cf0f1cc180 100644 GIT binary patch literal 287 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}TSkh-UfV+hCfcptAuMXum~|Sure{WGPHzfSQh>Z1GWRb7k}TldiK>C0_V=w};MS%1KAYKB*9AF4?G)Og! zcK7rRP%zRnG|;nPFfuT-v@$TZGBQ*!G_f)@u`)J8a$6QiC)8~qBVcah0>&?1mCfyDpY49*N3Y;5dotQ_p@ z?3|n&Ts$JYJlxzol0w4#BC=BQaIzCa$}%z<=9)SNh9)K^^6Hkh7DhID z#wJD}Ll`+ZIeEBwBzSoxj1*-QjYtOn4=@OF09};D%&5e`B*@4t$oT&VgFMiktc+j) z^g9?ZGBLBTvaxe;a&ZF{Y!v{76f+YGGb<|#(7TMaKzRlhK~^C}Lq|5@z(jVXLJ_0J zi3>TDoi-j64Z8S2#W<;`iIYoATtZSxRZU$(Q_IBE%-q7#%Gt%$&E3P(D>x)HEIcAI zDmf)JEj=SMtGJ}Jth}PKs=1}Lt-YhOYtrN?Q>RUzF>}_U#Y>hhTfSoDs!f}>Y~8kf z$Ie}c4j(ys?D&b3r!HN-a`oEv8#iw~eDwIq(`V0LynOZX)8{W=zkUDl^B2fpjKD~R z0j&NK1p14Kg@u`g9po=Yrg9)=7Gz;nG-MNU3}jC%6jm~7CkWnhrF24(@vLIOPkZ#aMb9N`BF ziKdX$JeQm!N-C*v#lYiLuAX9A?NxO5^ehjt?H3G@pqJ}0pMP7wLaz4-mbUzOmIvF0 z*telK&)c9(&y2y=^KD4@lGA<;WzVbWVLSUb8n4%ST(90gCqpp0!k%#8Q%E9OpI!tj zkRlbmpk*PRl7z9YRwTcUUC8xy@NT1bv5R%fG!N7ks1PIC zgA#SBH0WG?qlP6WKH1PSH^hC)T#O4hxe%bzU;~~W#KES4nn29Awb1fgmcK?0&z+#j z1Y?95A8L3d{7StU8e^s|QS>WLNDHisXHH`oliX~f1%CuIc1(4}ch&HaH}L`NWTq?3 zjt$m$TqX{sdv3|%EYQ=K!iG%Nw*iC*z7>lh0fCrtNl>O}%tnMbI`~wqoF(xA0;I~F z!T=lOJ>WP`-KIcLlB zj;bb>On)t#nOm{y;>p#so4XgUg^S<{(~^sY;-!>Y;k3eZ#q0`=S`R+tNQWNzu)~jX z)Q0qFscFm2nzzzw=Pn(`zvphDdoR77bRw0`bn2N;JN+zY9musIBMlvS*zi$Cy-}lm zY@evnJ93{>qfKoROH0r0)F3u{GePq@(a8+NIDZj{+a!R5=E*ENrNoomWEKnKP$+{M z>4ej15(B|>66>HFyF0m0xdlys#f|?&E=+X)gIt*CHo1@7UQp|GeNkiqnx}BaG|Irm z28Gird!65;FZbbJ4SXB=HuP<1{;L=r|JA~8n!9(Gw}r@R00009a7bBm001r{001r{ z0g-$SHsb>o4K^gfr1%B^000z8L_t&t*JEH9Cg4Ae!Gtb=6952J`vL)b%H47R0000< KMNUMnLSTY^mW8DN diff --git a/mods/ITEMS/mcl_signs/textures/_cent.png b/mods/ITEMS/mcl_signs/textures/_cent.png index ecdb1f1d1473db7942c44e380f44c5aa4c03ce84..ac2265b0522ac42e95f9ed730dc000332f51ee81 100644 GIT binary patch literal 1855 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}Tm6(2=WO?HH>!m^bJrj(la#BvtTeXFtoHXFt#!>R4_EQGBpGu zB)4UObVA(*G6Lo{E+Cs3>IOET8a5=hD3aS4nIL`?0O^IYjlt0ebKCzL{~s_2c)5AH z0WAVK6G;5O&EU+y!N$hU#>&CY&d$ln!NnuO%frphBPk@zFCr@?FDEM{Bcq_Ar>>x+ zqbwt%VXmoTU}$1uBCl>~Yhh%gXKZ2wGK7(nlaq&=M}n7E!bnj@(THU5{{Vv^2hc@X z%#2D5OoEKef{g!L#9fXP#}#5JNMC9x#cD!C{XNCC?-BO_fy16@Po z5JPh-V_CkWnhrFF~@HpsZ>9)FyqPq$FH2I6tkVJh3R10jVhW T>~R6sd<+bpu6{1-oD!M<24(@vLIOPkZ#aMb9N`BF ziKdX$JeQm!N-C*v#lYiLuAX9A?NxO5^ehjt?H3G@pqJ}0pMP7wLaz4-mbUzOmIvF0 z*telK&)c9(&y2y=^KD4@lGA<;WzVbWVLSUb8n4%ST(90gCqpp0!k%#8Q%E9OpI!tj zkRlbmpk*PRk~voNt9>22kn8K<-A3UZXi4R~WGhJbJ zY_P`TGI1!~b4wOyfu6<`He|BC4Io7Dtyl~R2*iv_f-*&8HX_8)!KY&7EQt>gAXV-Z z2H1#Xz;T|wF~?}>vhpRy)dCPISqx}!fB-8cMgCZF4=4n6W=hacsr z4e8TT)0UexZ>81FT{@0`&)q`zUV1(0L@J%>)H9!U`dQ98kZVIm8anc@;iHUtqelDK zK2f807%)a5TJ00001GWRb7k}T>}?kIfnpU?vfhenda%K#lQhH z1c(_~7#M*pkfRx)Y#tz+iIJIs8A#^=u@oaKSWO9#Ee&PY0NENqH6XoAKy1j!!~oI< z^elrBkSzkFCjjvhAm#u=9iUQ>Y8dVA=^LP6q-SWLXTe}(U}$M&U~FY%s9u)IvvcDq>wPbh^&;noUD|LjDm`u zx`L99vW$#|xu%YRp^1r!yt<{Wg^`V(v567L5JpZ;P9AO^30__aBSjfSBa*@Y0}O&3 zKo?~(Gb%AK2{JMZGX6ipAP;mWDH{Rjq(Ow25-Z0sDIT--nfTLnNN#mvOQ%*x6F z^e$s9P@aKBkX1<0(2-3zFp*uUP{gQl;zAB(r;P_igD!qhF-|IK;^Yz&myncFRa4i{ z)G{$OGqmaka3YSZQ|TeofBv2)jxYE#}NLy#lXYN z2#h>tK?ZwgwG9lc3=9&td;pbX2o1UUDVb@Na190)Ax6N$&)CY)5~5*Q_%Bf1 zA_cM`wIVak$|%CzZiMM*)O{-rA`HRVl(%xd2@el9>x~2}Y^9vh*3S z++YxfEB4GyOi%Sm%}X!IU@$bQzr1uSP+AaGIy^H4C~F!&wMic+DG8Sh&QB{TPb^Ah XKq|^Tdt89^9s`4?tDnm{r-UW|pV|Nj delta 842 zcmV-Q1GW6U4)6w$8Gi-<0063BcP#(_0@Zp{SaechcOY@z}uyo|tyFA!2 z#C{CX!|*P$Jg@Q5^J7T(meY9;<;<(;Wjp8LcFZ2*pYO>KjIOXJ9C!#xMC;3oUZ1HDyF9hqI|4TiGKhUI?Y^X&KeuxX$s5c6X#wEdRtuaU!ZCulOk z7-7awHGC!fo%%2|=Sp3o=y#lu7FZXroW?R1xz$1o2!CjvnCg!2uHhwb;tSZtOm~*^%prN< z2{s}baGaNK%rV-!tbB`cwXCBd8HdEz0RpU)6!~MxkwaD2eWa>cO;v`dhsP!y7bDIU4E6T zHl$BWOivcj-9(J$DP;d+Bx1Kq`$ibmU>fM;Ub@*QU%gb>?Z)XPNaujn1)s zqedU(eoc)IwM8s#J$q7v*zAW1TGxp#W+29iK!4m80VFgpX3;4nUgQ?DSQv*w8PrG@ zoKA}v2&O@-lOF7zr*p>IR$t73M1+J(OXueo-tg=G$i00006VoOIv0RI600RN!9 zrva0ZYaTx10~HA`EhKS4W&i*H97#k$R0!8&U?3O#$0@*sO*s=uW>LXRf@U)S0Af}J U1VQ11?*IS*07*qoM6N<$f=KU)^Z)<= diff --git a/mods/ITEMS/mcl_signs/textures/_cm.png b/mods/ITEMS/mcl_signs/textures/_cm.png index 6b2b10a17eb252b67aeb35b9e152145475c6fa23..6a6a8bc5ae289a08d9430b24b1aa949d4adaf526 100644 GIT binary patch literal 1795 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}T`sfGcI01HI`f#8B3s$oTrOp2*>s0 zKj#^keR!@U{yVPpYkuRzMj#Meoy+k0GK!~oLQ0>nl@wg`}( z0K`jxm;($!E(fWG(e9qU0SZQXh6Z{T3`PcqmR1JFRz`*jh6Yw9=2oWWNN&pl>4drs zWCYA@TtGH6)D3JvHEc+1Q6#r9GC}+(0MZL(8-t?&=C=Pg{y$(4@N)BX16l-fCXo1l zo57iZgN==yjg^C)ot=}DgNsLmmxr61M^Z?bUqn_)UQSj@Mn*wJPhCMtM_EQj!(3Cx zz|h3RL|)y}*22g}&)CEWWC$ZCCnpa#j|4BTgps0*q7lj9{{aR;4xo#&m>HEAm;@P_ z1sVSzVUP#9la&z+fPM!9MkZz!RyKAHPA+bsf~^9ekYZ+HVP<7z0eY9Q7AViaBFHMF zXz0i$9GJ+iR48K9IB_9|veU+cqCpows2C>|HF0u@iAzXIsj8`KXlj|5nweWzS~We&gn?hmRgVdHU@6i$mSee*OaaixC*9Fo4xxf#!_R+R z8Vi_4@sJGz{{J@_63>2q227r+C9V-ADTyViR>?)FKnhrv85!vs8t57thZve$85>)f znra&uSQ!{3ZutNz$q*WH^HVa@D&ZOoEJBQcg`csNp(RAavhZJ^8bS(WLuy54nw3*# zNpV1GQE*~zK~5@zg^mIU3B9#b2dYwpt8xLlA|x{xIt27{qd{pF=wfzpDg(&3pYKv~oHsZIJoNlCb5aDG}zd16s215#1$+2i61RK(!v L>gTe~DWM4f@Cxt~ delta 808 zcmV+@1K0e64(A4tBYy(cdQ@0+Qek%>aB^>EX>4U6ba`-PAZ2)IW&i+q+U=HYa@-&c zhW~Sl9sx-RiQ`}}Grd8N-xo~wBiUxAX@3T00n0)HJpykyfBhWc2MUR%kkmYvoFhsq zsc^-><5jMnVp{E0bocZu53%hR43VIh>oK2Oze29}36{3}cz>1$+lJV;p*PRlpiIw< z!PfI_NcfV|ehy{NtLb4o`!^b|*Lqy9-ajWpFuKB?aNtu&B3hqb1S^mt6}_NkA)b6i4n>H0E97@E+H%s@v0D*(ToK(pKfMr%DL$6R*p2RE zoY(GZ%7|1Bdw)}JTUjG0BAiLqw2W%_DaN*HL3M1gfmjF41GNPz#E9mgM4c)PI#=JQ zVTp-PHuTI5ai205j4c2&ECJv>0 zZpq>-(9@X0hD_GC0fY#?6^kJOftYbgP^M_iMua#z_*AT%CGi0Qq{^Mb02`4EIL^~I z<`^wqR=&izS^z>NX}bF{VZo4$h9FO4IO#d@KHv+QKNlqpQzD0a-UP9 zO>GiOOV94qAU1n5LGwD%$qd9e5s2F)fQ07BEM+>S#FN})77OE0D1#d5gwtsf1Hp6> z>!2IEJGoD}1xi^U^lfPVs~8>s)xvM1{&$$=rojx6F)TRa0~HA`IX1GWRb7k}TH=a$76wKj3*<^hD4Pe!W@2P! zU=i zKs9VgY*8e)F)~5?C;-w6WgCNI3+A@}H~v3h5b$#IbOTxhawd@Yf1AOXfrE{WosE@) zot>SNlY@&#gqMe#n@3Vem|sLzN?uM@N=8OOMNeHpNk>^mM#EfF$H36U#6(`*($>Pr zM$g#92xJH&CnqNlH;)7_uY{4JjG__A;Qs*zK@OmcvX~i_7?=bZnFSgDA7PLOx|5X= z41j(I14brh7FITP4o)s^pn|Oeppar_Vqs=wWdVAZu@)%Lz#_;hq-f~KCLEZ^u2d*u z)Hrb=hqBYggQ7tfKd2Zd6*X~kiHS={N~x-;YiMejn3|beSXw!|xVpJ}czOkggocGj zL`Eg2q^6~3WM&nYl$MoOR8}>&w6?W(baqXeJZ0*%=`&`|TC{k{(q+q6tX#Ee^OmjK zw(r=v>(JpNM~@vpaq`rq%U7;myME*5t%r{uKY9A>`HPpYK7RWAVP*tI9!?N&SpvpuFWJ792W}1~#W=U~CYEf`vZb42e zgN2R)2noHlQwOS2gsXA^x*{Yq7vvI*QkADT={r!dFkG=`Zen_>PikIzNd|+VQT^qm zTY=JosM6t?DL`4%_^D0$KuJlsWN?03NqJ&XDg#nc?%Cr4tmqgRJYD@<);T3K0RUS& B^)Ubd delta 835 zcmV-J1HAmM4(SGv8Gi-<0063BcP#(_0@iv|SaechcOYxG>|~}( zX2$|+JgyLj(ml6iaTfS#OkqPN>pK7>!q|$*kbpqUI3y@jG-e}$jt)K*GiOPBfB>m- zr!c@qBm<7~92A4rl7FdXGjl6eT|BvZc60aQwQvy}VOnyrP`s2 zy#l9`k!v0{;{z25Fa|}JwzvQQ02E0?K~xCWV_={f_zz<+4Q?~x000m50s|w8amN4v N002ovPDHLkV1n1Xf|URO diff --git a/mods/ITEMS/mcl_signs/textures/_copyright.png b/mods/ITEMS/mcl_signs/textures/_copyright.png index 7cfdf217ea3ef1e22be1112389d363244d1633a7..1f0e3c9343b507e308823ba889ff2511f8a9d8a1 100644 GIT binary patch literal 1861 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 WsVMjCaRJtR3=E#GelF{r5}E)G;QdJe delta 839 zcmV-N1GxOZ4(@z}uyo|tyFA!2 z#C{CX!|*P$Jg@Q5^J7T(meY9;<;<(;Wjp8LcFZ2*pYO>KjIOXJ9C!#xMC;3oUI0%HeG4$5!?TiWfpDds;>{Jc_aHT2LKZY#`P_^FnQb3NfNN zDN(0Nlg92FH7qglU_;N`5cef>F)rLTl(Z^MHsI+2ELa+-3B>$Z3vIt;`)lOz+zFaY zFa~lz*YK6_ck08?oGW#SqTg{sT3}tgvIfgotUAb+5FVyZj7yM~v%i7#LmGu>f! zY_P`bHgPFEb4xa7fu6<`4rH=^3?M}Ctyl~R2*iv_f-*&8HX_8)!KY&7EQv1=AXV-Z zCfJB%z;Rx_F~?}@vhpp))dCPISqx}!fB-8cMgCZF81FT{@0`&)q`zUV0rgkV+#B9eLRBQAVA}wJ9@Aoq5{yS!R7uqjPNE zsL=qQ@COpW#VFk z!tlyo*MHJ)_u;=9_%`%y=-bfxs+b+0cHwV;z;>roQM2{{000JJOGiWi{{a60|De66 zlaXs4J>vrv2`~($LSLo;000|FL_t&t*JEHH75pbC!Gukgi7c}zF!Mh_+W=}#1q9e{ R52*kE002ovPDHLkV1nP5gV+E7 diff --git a/mods/ITEMS/mcl_signs/textures/_currency.png b/mods/ITEMS/mcl_signs/textures/_currency.png index 1264c89455a54773697b10452fc7b9cdeed0c288..45806c12b977d752c5fc3fc3cd2d30149d815b35 100644 GIT binary patch literal 1855 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}T zK<_db0ofuzdIAtH0b&j?1o;G{8b-T&`UWT%=@}a6SuhwG7+P8x7+V<`Di|7DnHpP} zSR%PC3#1e3Hjoi8w{Zd4%uqM50oAY}u|<*G#>fQmqX0-Rlx+--KA7A7-}wK4LBPw+ z(+y}5$eBRm|7`|m1`akhb~aWHc6N47P7W>}5ndi{ZXQV?VSW)=DS0_rDH$0B6+LwY zB^_lM84Yty9RouX6BBuLOIr&g8$DwaBak7CoSd9I+&mJzyb?x=GKxkdgZ~E@1UY~% z%3@|zVqg+vWEN!ne}q9E=uTEfFaY`;3>cZ1Sy&0Dr^+rDGxu0w~996fgY#K}{aE?>EN?fQ+Iw;n!v{N(Ag z=PzEq`uOSdm#^Qx|M>X}8f2KE_o9%~}YXK;@p{B?_ghnW!= zdCYrRfoc~i zkPWF7nQ2x|nI**msYStwxdl0?3>G>HASCqGP93O95w6Mw=!%fcT#!pJN>yb|K0lyh zVYp(?+{E-$pVYkck_-kzqx#EBw*sXFQKiE(Q-HFj@l%`hfs&GN$>997lJdl&R0gD? V+_T38So1M3c)I$ztaD0e0stH|`q%&f delta 844 zcmV-S1GD_U4&nxo8Gi-<0063BcP#(_0@Zp{SaechcOY24(@vLIOPkZ#aMb9N`BF ziKdX$JeQm!N-C*v#lYiLuAX9A?NxO5^ehjt?H3G@pqJ}0pMP7wLaz4-mbUzOmIvF0 z*telK&)c9(&y2y=^KD4@lGA<;WzVbWVLSUb8n4%ST(90gCqpp0!k%#8Q%E9OpI!tj zkRlbmpk*PRk~!AZCMmCD7jk_ayxZtq>|)(=c@9O0c`M|1G1_v{*Rfj>dR!6RJwLq= zi77so$JmYTV}G32?rO@2R1SMnZ(CU-C?cFm*0hXj_$kJ=YC&~uv4L0z%>%UsD#VEP zphTT24LVofs9}kTPd4<-4RN0`7vsWhK}oaHU;~~W#KES4nn29Awb1fgmcK?0&z+#j z1Y?95A8L3d{7StU8e^s|QS>WLNDHisXHH`oliX~f1%CuIc1(4}ch&HaH}L`NWTq?3 zjt$m$TqX{sdv3|%EYQ=K!iG%Nw*iC*z7>lh0fCrtNl>O}%tnMbI`~wqoF(xA0;I~F z!T=kQ3^>lyH|7{ET~@xtxLN>0C5r(K4iI3aq{tsjjvT5w?;};sYU*0FX2~gQ&e`(3 zqpFD|Q-8~5=2on_cyjgZ=I+I7;Uc)gwB%x;cqye;IIS>UF}p&e)`Jf@(xFE_?C_%; zwIO|4YT9zM=B>2axl70K@3~v(-b=41ok*oKoqFcePCv_82Xbx5NJB>+Hhh#(Z`5cX z+b3%Dj@;+eXj7ZS($cd#HHgjLOwhbebTR`mPJaaAHVGi1c`}PmDe)vXnZ?356w07R zI^lGh#6U2e#5(B4?oRGgZb8#uapOOc3lrV{AQvXOP3|MN7u0%PUldt@<|&*pjWTet zLE-euUgtOI%YFD)1K)ogE00001GWRb7k}TSkddd0V+hCf+Ov*a2OI>L4jMiAA8*#4s23UG-@9eTEt|TC zSe`vExTa?I-{i5%Gnvl)fwAi#r*K|CODj;fYKdz^NlIc#s#S7PDv)9@GB7gIH8jvQ zG!8K|w=y=iGBwpUFt9Q(NZj%v3q?b2eoAIqC0v7nMTn7sm5H&Hp(RAavhZIZ&og+s L`njxgN@xNAR_;<4 delta 67 zcmZ3*6gEN9mW_ddVO2u8E|8M-ba4!+U`$rv{?nf1!zseYlYC;5YKMXFxn(>I41E{) VKA9WYJOL_X@O1TaS?83{1OQ?f6Hx#F diff --git a/mods/ITEMS/mcl_signs/textures/_d_.png b/mods/ITEMS/mcl_signs/textures/_d_.png index 8803ea0368ee7ca333d12de4192f5e3f28dd02eb..da46423c93d9559dc8ed9c506945089c9644b918 100644 GIT binary patch literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}TSkhZ6bV+hCf{$h%6%ZDk10;}A+)cq|mCO|`@|q9i4;B-JXpC>2OC7#SED=^7g78XAWfnp+tg zTbY__8yHv_7$k1_kcFZlH$NpatrD)mz#_!Rz{h^T+)#2WN^|Ytsy|Kt6_pbNN4RsHi#u PRKnot>gTe~DWM4f6weaY diff --git a/mods/ITEMS/mcl_signs/textures/_d_dash.png b/mods/ITEMS/mcl_signs/textures/_d_dash.png index 73f5a1246c1951aefe727c9a3aa4622c92ca2390..3f9b1e460b5606888c917ce7ca23372b207f43ff 100644 GIT binary patch literal 1862 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}Tb9heI z|9CTJ&7=jBMJ+Q^)(J2wGI=cEyD_6IygJzXdFl3!@DsluwM*xH<>l|tD31hs!6h}q zGtJXei-7}Z8W1zGFfamHAlEZO**rit6C*PNGmy>$Vkt&eu$mGeTN=u)0kSoKYCw9K zfY^|ci2FlDNYBtf&w|0oz|hjlz}U*j zP{GjD%D}?P*bK>SSwLMdw}Fg+xs40RW`??f4XB0U_b4?usLlYAdd38%$3nLpnV-q8gA&i`yoIKn-61=<;Mv5|u zMkIs(2N(o7fG)~nW>jKe5@ci+Wc+`GK_2K%Rz@%Y`VkBmnV4Bv+1NQaxwwG}whDkk zikXRpnU$3V=v~HIpgaSMAghp~p(C4cU?RIxp@>oA#DyHnP8$!323`E1Vw_ae#K|Ql zE+HwUs-~`?sbyknW^Q3==I-I?6&w;879J59m7J2AmY$KBRa{b9R$ftA)!fqB z*51+CHEHscsne#9glAUcUPH>GPMb-@gC&`3vMPMqs4E09Jnq0{z9r!otkL4)PZxQ#lYb z3$m~(8nOvF2C^p>3M&~ka)>xhT)6Qdr?PR-2hpUWi(FzVCJ$9Vg1iRy8F3zKBFkrR zk0JbZi-Cuk5g2*Qf(-TyKmT=UEMOYNLpBWf|KDUt-|Z6uOrEMGt`Q|Ei6yC4$wjF^ z3RspI8R;4t=o%V_7@Aud8(W#0Y8x0>85ksP`2Z@(5E^pxQ!>*k;TjAqLW~ToOpL7z zEg>3~h5rIoGEyKLQY$jktei4SiUU%Mf)jHKa#9&AbQC~H=&hYPP?aKFl?%`nA(^=# zmtd5t4bOH20~HIy6?^6;rl@z}uyo|tyFA!2 z#C{CX!|*P$Jg@Q5^J7T(meY9;<;<(;Wjp8LcFZ2*pYO>KjIOXJ9C!#xMC;3oU$a_B6@m$`#~h8 z_*!0KH)r=b$A7)Mnld7l!`al2t?UsLFN9L|w2W$a6l2@9pgOkLK&*r2h1voYVnlmV zqE3}2jomkDSYqPAhMu`0?n~xkT)1s0X;qqRz|#X*uryE;i21P=+J4LS*T~_y6EvA% zj4(9@X0flStq0fY#?6^kJOftZollqnjs5h0EaJ{2oxNqm6-sdA?< z!3KE`IL^yA<``{VR=&l!S^z>NivbM|5MZUG$RA6N9ICqRBUR06>RPmB$ti2j+48!h zs);32%YSC(R;;>sa`o)y?!{~2BDlh|{hF8mF`qjs+Kv2<|&000SaNLh0L04^f{04^f| zc#(Y!P2&R<4hSTICtV@{001jVL_t&t*JEJ70sccV0}_oQiB;e~E~6M&h%xIw0|NsC h6E-s#@mWA7000%g3jMN(12+Hw002ovPDHLkV1iD5jmZE2 diff --git a/mods/ITEMS/mcl_signs/textures/_d_dash_.png b/mods/ITEMS/mcl_signs/textures/_d_dash_.png index e9c9e69c7071cc30dde88764e54c8b91032ae2a1..57e424f37adbe89ad5c7f8b63985ac1b488ecbf1 100644 GIT binary patch literal 1856 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}TClMHYsoMtfeBxCCjvNImW5Ea0*J=JzDV%Mn~c?;;}HfsS`cjqptK^weVD z0Gb2Dj4TX{Ko-c|j8HZYkj=!%%)kt!^MF{2krk|_1jv?#vTJ~B4WJs3UM3(mWMpCh z=>z(g!3f9}0n!tIcnJ`5fT0dhDM&SpcK7rRP%zRnG|;nPFfuT-v@$TZGBQ*!G_^9Y zurjeka$6Qq7tC!SBVcah0C;-w6WgCOz59YT2H~v3h z5b$#IbOTxhawd@Yf1AOXfrE{WosE@)ot>SNlY@&#gqMe#n@3Vem|sLzN?uM@N=8OO zMNeHpNk>^mM#EfF$H36U#6(`*($>PrM$g#92xJH&CnqNlH;)7_uY{4JjG__A;Qs*z zK@OmcvX~i_7?=bZnFSgDA7PLOx|5X=41j(F14brh7FITP4o)s^pn|Oeppar_Vqs=w zWdVAZu@)%Lz#_;hq-f~KCLEZ^u2d*u)Hrb=hqBYggQ7tfKd2Zd6*X~kiHS={N~x-; zYiMejn3|beSXw!|xVpJ}czOkggocGjL`Eg2q^6~3WM&nYl$MoOR8}>&w6?W(baqXe zJZ0*%=`&`|TC{k{(q+q6tX#Ee^OmjKw(r=v>(JpNM~@vpaq`rq%U7;myME*5t%r{u zKY9A>`HPpYK7RWA zVP*tI9sCwrl#5k237_JiCaE^N-~6o-29Zxv`V-J1B(zN11l3_D?>|&hGpTu zK-G&B$cEI4%rq;f%#z}O)S}?T+=84`1`8bp5E6Q8rw&x52v_9-bVW#JF32SqrE0u{ zF{q>$hAZ~WO-xVqNzF?y$zU)vs=vH+D^OYxRXRK~1t@D8Keb68C@Be-49-t0DNig) YWk4#*J$qb$RUZR`r>mdKI;Vst06EtDQ~&?~ delta 851 zcmV-Z1FZbO4(JAu8Gi-<0063BcP#(_0@Qj`SaechcOY@z}uyo|tyFA!2 z#C{CX!|*P$Jg@Q5^J7T(meY9;<;<(;Wjp8LcFZ2*pYO>KjIOXJ9C!#xMC;3oUZ1HDyF9hqI|4TiGKhUI?Y^X&KeNx5c6X#wEdRtuaU!ZCulOk z7-7awHGC!fo%%2|=Sp3o=y#lu7FZXroW?R1xz$1o2!CjvnCg!2uHhwb;tSZtOm~*^%prmWn=;eXnWs&kW!48ZI>+{n z8hw!aH8nca7O}MT>`4t`vmYjCT_?Jjffy$OaerF`kkGuCMW>W_kz34SVH^r&P$OM% zIxS)#m0fc;g)62}CN4H8 z46p2U{U`l)AO5R>Z$saPz74IfirMjj75)b3Id-xK<}wHX000SaNLh0L04^f{04^f| zc#(Y!N#g?*4hS-K^XPK`001XRL_t&t*JEIy2rx1*F#N|N#=w9k@t+Bsb|xfM=*FOG d$7>Op007`-2muV8vfKaw002ovPDHLkV1np;iM{{; diff --git a/mods/ITEMS/mcl_signs/textures/_degree.png b/mods/ITEMS/mcl_signs/textures/_degree.png index 64a7ee2b13725713bc529b63a0b164351a484132..95b6c0800fdb38f280982d6e729e2364a6fb1bff 100644 GIT binary patch literal 1853 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}T9g%JU})RBQpatkj?{QDMnVXni3#e8p^H#vNeEeKzc#y3>ldiK>C25 zWiSG=MS%1KAYKB*9AF6Y2S_!HcK7rRP%zRnG|;nPFfuT-v@$TZGBQ*!G_f+aure`5 za$6QiC)8~qBVcah0> z&?1mCfyDpY49*N3Y;5dotQ_p@?3|n&Ts$JYJlxzol0w4#BC=BQaIzCa z$}%z<=9)SNh9)K^^6Hkh7DhID#wJD}Ll`+ZIeEBwBzSoxj1*-QjYtOn4=@OF09};D z%&5e`B*@4t$oT&VgFMiktc+j)^g9?ZGBLBTvaxe;a&ZF{Y!v{76f+YGGb<|#(7TMa zKzRlhK~^C}Lq|5@z(jVXLJ_0Ji3>TDoi-j64Z8S2#W<;`iIYoATtZSxRZU$(Q_IBE z%-q7#%Gt%$&E3P(D>x)HEIcAIDmf)JEj=SMtGJ}Jth}PKs=1}Lt-YhOYtrN?Q>RUz zF>}_U#Y>hhTfSoDs!f}>Y~8kf$Ie}c4j(ys?D&b3r!HN-a`oEv8#iw~eDwIq(`V0L zynOZX)8{W=zkUDl^B2fpjKD~R0j&NK1p14Kg@u`g9po=Yrg9)=7Gz;nG-MNU3}jC% z6jm~7CkWnhrF8U=cdFdq?42DMamzQn@N(-V&hi9e$WliI!Ht7Q;CE=36`DrEPiAAXlNJY74 Tj|;HgV_@)f^>bP0l+XkK^xyoF delta 836 zcmV-K1H1ga4%-Hh8Gi-<0063BcP#(_0@iv|SaechcOY}FHuDZBYi34g`}qzeeA#K=hqA}j^st@%n~l%MdR&j*-zS3@T@g<>@DP%StFKuE zE07`;t>DT+yetWQ5yv%&yw)z{`dYkO@11tBZo5275n|pB`JG1FPWoEAQ=!Kd(S7Ep z2iQW2kL6Lj*?)b`aqX_A45f0|n|j;I*@GkGOqUuN)$mjF?W_gWvBd^r9W)Qr7N`(I z?MaC`Rhl%;wo$_p6Aw1D%niCPn~QPbCKm!!nry(+16Z&$P!pK>wiY_)E$4iV95Z)< zCli7ZMtrE@mGLX}7HH0uxs##54i`FbTWz9KT zUT0J_v43Q0+05LERTodLp55HNcr9E6N0^peEEF%L)QU+fLRXBg@Tm3RLymOlkqV(Ij=J2jZi-a^niPINH?F@H`3;1GWRb7k}T60cTe^{1azfKYJ_K+r>7PJ2T%hLGqNx+0$CsjGD6urKsFO2GXpb_ z&I4j8Mpm$z5+GX|%B}&jHGpbBdO_+88JQSB`hXr|Faokgfb;|)UIN4%UGE^`$u`)KdGBHMSTNX$s)NLRmU~c0AvYDZ7U<0aQ zLt={}xs8zt;zt3HUMSlb98oa0{lD@50fT^-o2MJlB9JqI#Q)n2&I}xEZ0u~T9PI4u zoSYn7JR-b2+}u2pLc;tavQqMLvQjcK3MzW)3Q9W4GBO(GnmPuCCMG8G>Xx<^MmBoJ zCPpAb7&$pPdANBbczGp^6lD~RNCy88FbHx0U6jSlsKme|$jB_n`2PrlJkXu2j9>ut zI~XuBF|)9;v2$>8aRU`>6##`4GZPClD=Q1oyNtC!c?K3iRv|@0M>gTWM0TY@5u?V5 z3ptdXHXalWy7)oGIH{I3zSIJR&kG zIVCkMJtH%#xTLhKyrQzIxuvzOy`!^h(&Q;qr%j(RbJn88OO`HMzGCI7O`ErD-L`$l z&RvHNA31vL_=%IJE?vHI_1g6tH*YWKS#c@69{;yl(wme1fGL-^|!0}nGJF!GoM8SEK;{_E0Mz%+`7Y#8wWzsaz( zg5xSMd8(GUMwFx^mZVxG7o`FzU|D8lq-$uPYiJx|Xl`X}Y-MVyZD3$!V34@w1E?fJ zXvob^$xN$+YcQ|~F){#_d{%~*5Dm-1e}U=|DUc1R6`5&PPMIae0jWj7iMa(isSFl6 z3Lqr()=nL$N)fKg1?Y;9%v_L5FiKUn%H5hk#lmpKp1FzXsXnQB=_MHqhDP<5mu>}0 y3!+MgXQlvUP2;CF=>sJt;gZ4mX(i=}MX3x(MY(5>3$Tu3VDNPHb6Mw<&;$V3g!4xL delta 829 zcmV-D1H$~N4%7ya8Gi-<0063BcP#(_0@iv|SaechcOY;u)>ud3Dy?5Hhy6y5TMTmJj!5j{v_ORz zYEMeksnVozwv8I5n0Tl?>fttX~x4F)qJIXMgbG^Vg2ll2_{5@Bq`WJo|DW*icfDH^j8K}QFlikY({K0ts} zxl@>6Ba#8fd5w*Cj80!xzRWmU074~Wlla;|fR&OWe=Iq2sOmb8R5h!qYtfn|r>r?= z%j=A)CV!SpEt{EJvFhT<)w7$s7q5kj;0V)_i-qE)lv*)pMd*sRD?DmF_>dzVdgQ|n zKgv-X(x;`SEjMf4N~@i_bZq~gyM^w(^g3uDl|~vm^048fj5?8PQ)Zev^R(%+%zC3n zd)q!yqj%&!r$(FFB9=}+yHkVN>@5VX<3txT5P#!DAa08Q5}FsY=#&yKa*J6kj7^~o zYNQKJr$r0|(;(JKH+FY&pK=SD{)!v_iCkFd{s+0R&~0)bxxJv)>-j~I6VTd)OVcP5 z2OAuQSN6KTNndWmzXtdY^d0Cs(E3*~JN~PM-;r8(meKmWaR2}S32;bRa{vG?BLDy{ zBawR!Gvfml4J9iu^rQs<000q5L_t&t*JEJ71OB7Y!wdibwN(NCmh*%P00000NkvXX Hu0mjfvEzj- diff --git a/mods/ITEMS/mcl_signs/textures/_div.png b/mods/ITEMS/mcl_signs/textures/_div.png index 808343753996aa8a028d996058e9d3ea8d235acb..ab688814607605c41f0f03f00d6c7bb97eedc039 100644 GIT binary patch literal 1846 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}ThTXlH;Z|o4d(w4}|3<3Wic}P zKf)jnbSEn#7y$ha28>M1EUawo9GqO-Km}U`Kq1A<#KO$V$^!H*V=Yjgfklv2NYT)d zO*k--U8zvSsBz*#4rQl}2StM}eo!$^Dr(~75)+q@lu}hw*U;25F*P%{u(Wb^admU| z@bn4}2@MO6h>S{3Nli=7$jmA(DJ?6nsH|#kX>Duo=Z zc#u=sIOv0DQqe^&F%^@CsvkjK1N)3Pk2R6yGq}eP{<_7$!^{YbJZ3=#dxoF?x-=Fr zjp8922K@hTGA#6~I08(bswJ)wB`Jv|saDBFsXz)?mKho88XD*t8iyE~TNxW$nVM=F z7+4t?ByRZtD#;KUa`RI%(<xgeKdl&V3SOtOKBh2e@la}(23eNyw% zOEMS?jp{Ei-3pWzM3oNDOaaQ8#!qe12TDr9C4=+RO3D+9QW=nna?c(YV1>uP;OXk; Jvd$@?2>=-B_d@^x delta 837 zcmV-L1G@aS4%!Bg8Gi-<0063BcP#(_0@Qj`SaechcOY24(@vLIOPkZ#aMb9N`BF ziKdX$JeQm!N-C*v#lYiLuAX9A?NxO5^ehjt?H3G@pqJ}0pMP7wLaz4-mbUzOmIvF0 z*telK&)c9(&y2y=^KD4@lGA<;WzVbWVLSUb8n4%ST(90gCqpp0!k%#8Q%E9OpI!tj zkRlbmpk*PRlC&hYT7Dh7kn8K<-A3U*svprN< z0X8BTaGa-a%rRQJtbB=awE%=l#v$=}fB-8cMgCZF4=4n6W=hacsr z4e8TT)0UexZ>81FT{@0`&)q`zUV1(0L@J%>)H9!U`dQ98kZVIm8anc@;iHUtqelDK zK2f807%)|%^m<7E000?DL_t&t*JEHH2mFUIn26TGh^&p477-5sv1GWRb7k}Tx;Tb#Tu<$FnY$ir#24*0g2gFj0tY9@IK(;iLT?1rm0M&r>G6At6 zBNGEiAJEGTMnJX*ke&dVVU~U5$0dpG{kj)Hr0~=5c8xmU-$_Dv?kqP2Q0gzrO+ZY^$Ft`1` z@&5sXfR~%68_*(Jp%g%mRr z3o|P#3(&iawLp0W7C}}aMMFn6;lM<8r9u&-#)%6#l$|yn6b-ugLB%+!sELzHOk6@z zN>xo=LsQGd)Xdz%(#qMz)y>_*(@(s#)lOnKGb1qam<1W^8Gioj(pbPWiid0%@c+Nb5cWEA7chCMmbgZgq$HN4S|t~y0x4iw zW@MymXrOCo9Aap0Wo&F^YN~BuU}a#Cxa9+=BtvM(%}>cptAuMXum~{%7JkN7hL#Ww z%ff$wY8WYy4XG8GX;w~|CB*@$MZt-=1v#k<7CH(bB=pu!9jHnXuF3`Iijd4)kV`O1 zRZEQ{IY7n2aK)aviRr06sd?!o84QL-^_Q1!1xgE|N{45r0A)?%r#9&WB_-jK!TD(= c<%vb93`j+}XO9c8_G4i1boFyt=akR{0Hj0yDF6Tf delta 845 zcmV-T1G4!RwJb#XUgY~HDyF9hqI_3OW8drUI?Y^VHwqMDf+f+L3J##fmjF43$+C*#E9mk zM4c*48oO=OFvY}!4J~s++?UM7xNzH0(yBDsfTstrU}>Nx5c6X$wEdRtuaU!ZCulOk z7%g_6HGC!fo%%2|=Sp3o=y#lu7MK^Wtid!ExpjvY5P#4-G1VR4UBgS>#22uOneH$< z7FgqTo4Ayoxh0#kKu==|2Qpbd1`s0nR!oKj1Y*V^L7Ad48xi8@;8QVkmc$nbkSccy z6Kq5>;5aYe7-O_`S@{;@XaNY7ECw{#K!BB!B7ZD7a;WM$k5o0QscX@iC8w-8XUpr1 zswS39Eq|MtTe0fm$;l8c4nrIcFXw8C`7=n9QmFTUhTmtOg@%dc|P zhV*HvY0J%;x6*3oE*;yy=Wd~UFTD;LNTrd6jy!DmD5Fl~+LW25&OB}UEVDkS(b=|d z)aZlUuc^_Ywuq&zXHRMnoBc3B>p0QH48%AQh=1E6fQ077EIOsci`-%s3u99#gBt0A z(`gX{!8C|<(u3WT+%LHWP5+7;{}Z{e(ET6e!a{e*{mktPYQ63+iflk@7p|B_nK;;> zFubzY^-cQiHvCru--f;oeH&VT6|>{lF8mFOCw8cp-PTwD000JJOGiWi{{a60|De66 zlaXs4L*oM#2{0B|Ag0^^001FLL_t&t*JEHH2mFUI7|{h_V*l}J#Vg6cM3(mdr27H@ X$)ySVYSYZ-00000NkvXXu0mjf&^?#@ diff --git a/mods/ITEMS/mcl_signs/textures/_dt.png b/mods/ITEMS/mcl_signs/textures/_dt.png index 5dfa75349e3d10546bce4f0ac7377ec524528e31..b9a53650d58cd0050df3cc37d90b22580c95a0a7 100644 GIT binary patch literal 1788 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}T`sfGcI01HI`f#8B3s$xTlL_2*>s0 zKj#^keR!@U{&N>jRY_rGxVfKMZH!D1KMH{KLfOXPu!p(r|Be3-7zDiBJl%j6ft(2>{@-SBX5e6B zV`pRKU}tCNM)G;tLF)@)> zx3sk|ve7d(F#;LF$jQmc!_6bX%PV1|D5GdZGWdUhL68IJqAX@cB?cxzMrJ|A|3?_) zf$n5w1OuSo!GMv8nT3^&or9B$8>nEb04SuGnOK-vSy_PIWvm6tGq4D<3Mm>ovIz$! zvMUve7&T5@$f4}C@t|nX#SbdRNkvVZTw>x9l2WQ_>Kd9_CZ=ZQ7M51dF0O9w9-dyo zA)#U65s^{JDXD4c8JStdC8cHM6_r)ZEv;?s9i3g1CQq3GGAU*RJ2VdF$b$$4{OPfBE|D`;VW$ zK>lI`Mk)+o^_L*fUra14%q;96e=#zZ12MB83#+0bn~-B5dt#xml2Idvh||P{8xL|S z8wY(5O)9#`C8lEXQ1v6oYha%d=dmWTd2Nn%Q7P)T|)z1L*o!bb1P$GD^pW#0|P4q zgTyT#KqVPMLvDUbW?Cg&gMmee5wP$xwlcJYXjm5h3sf~ofow>v$V{_x$}A}kNG%FZ z%q_@CWw6ju03o5bcIrS?if~mfKv#rh=7L;;QL65=S~4A|SQxI@GdD3k)h9JCy(ELd z(5U|M(yc&gK~(AR%oL!kY5deCeW0WyTrxO6t)x7$D3t-JDEI7f@dYYk@O1TaS?83{ F1OVWt>9zm> delta 806 zcmV+>1KIri4dn)qBYy(cdQ@0+Qek%>aB^>EX>4U6ba`-PAZ2)IW&i+q+U=HYa@-&c zhW~Sl9sx-RiQ`}}Grd8N-xo~wBiUxAX@3T00n0)HJpykyfBhWc2MUR%kkmYvoFhsq zsc^-><5jMnVp{E0bocZu53%hR43VIh>oK2Oze29}36{3}cz>1$+lJV;p*PRlpiIw< z!PfI_NcfV|ehy{NtLb4o`!^b|*Lqy9-ajWpFuKB?aNtu&B3hqb1S^mt6}_NkA)bLa$>Na(x}V+vr{FV%>6i4n>H0E97@E+H%s@v0D*(ToK(pKfMr%DL$6R*p2RE zoY(GZ%7|1Bdw)}JTUjG0BAiLqw2W%_DaN*HL3M1gfmjF41GNPz#E9mgM4c)PI#=JQ zVTp-PHuTI5ai205j4c2&ECJv>0 zZpq>-(9@X0hD_GC0fY#?6^kJOftYbgP^M_iMua#z_*AT%CGi0Qq{^Mb02`4EIL^~I z<`^wqR=&izS^z>NivbM|5MZUG$RA6N9I86+BUR06>RPmB$ti2j+48)js);32%Vy?Q zth#t|^?&T+Lq{Gqe3Vgd)My{uCu;PL+~?G2 zQ=7!n(z81?h|S(i(7aA`G6OMA1mZRcAfb6Oi)BtJ@gz5y#lkog%AiI%;dGkBKro%e zI_SpkPVQ4~LDOGx<3EuL6W#wH7bdz*?jyGs)OuZC6j^}gDV#BlGH|g$;q=O0=Qrug zefU=c--f;oeH)tpDn`eDweTBaJ$I42pms5lF)TLY0~HA{A0hl6cmMzZ6iGxuR0!8& kV4ynq&%nUIz(j%u05Pip0&z;@p8x;=07*qoM6N<$f@g$$oB#j- diff --git a/mods/ITEMS/mcl_signs/textures/_dv.png b/mods/ITEMS/mcl_signs/textures/_dv.png index 2989d93db1c61427560471a6723725fcb7a7ff74..86d22fea41da54ec16c60050a4b4f688f76c221f 100644 GIT binary patch literal 1853 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}Tovje^c!?3tA}nX#$OkeHW zn308n5y%2Lni0wds%KzgWM*In(s@8E#mEX)Qvzg5L)kSzwgylQNG}r*8!|F6fb;=9 z%U}d#ivZ~fK)eKqIlxc{s1&3cM!S3Z1}GTm85-zWFc=vaT3Q(xTNxQD7#diaSXh~w zAh|6Is0-#ckP$GqaRJ%PP&cpv)vzJ4MWJkv9~hY+eiQ)dg|dyokq2|z{~P}wFbH_L zdAb2D0yz^%{J+iM%)r6M#?Hpd!OqUk$;rXRBf`tW&CMezB+M@&D_WTR(nVgxdTk&}~?hnq)&msi3_QAW{-Wbpq0gCGac zMOn;@N(@YbjLd?J|Bo=p1Kr8W2nIkuf&n8FGYcylI|nBhH&DS=0Z>RWGqEtUva$fZ z%UBDPXJ8Rz6;d>GWD^cdWLGK_F>0K+kVDyN<3Z7&iyu^slZu)+xx~aJB&Af<)HO7< zOiazpEiA2^U0mJVJv_aFLqfyCBO;@cQ&Q8?GcvP^OG?YiD=Mp+TUy)NJ36~2O`bA! z+VmMSXDwR1Wa+ZyD^{-Bw0XMuc{znEB9m|56C{$gY*2V!PH7FI<=HX+AA z_QXPAC8I_T5vPd@Hy-3vHV*nAnpAX=OH9S&q3TDF*T6m_&SOnv`3&wcguiYv@Gvt1 zBac~-!Jgsgzb=ghOrvsCwrl#5k237_JiCaE^N-~6o-29Zxv`V-J1B(zNVBu$MWoQY}uq^x+$Ob8p z4XG8GX;w~|CB*@$MZt-=1v#k<7CH(bB=pu!9jHnXuF3`Iijd4)kV`O1)%jfC=K&Q9 z!xekxCZ?zQq~@iUWH1;S)n8t^6(}u;DjlAg0+cn4pW37kl$3-^2Ir@hlqVLYG9VS@ Uo;@zWdXIs@)78&qol`;+07uaI6951J delta 848 zcmV-W1F!tO4)z9+8Gi-<0063BcP#(_0@Zp{SaechcOY@z}uyo|tyFA!2 z#C{CX!|*P$Jg@Q5^J7T(meY9;<;<(;Wjp8LcFZ2*pYO>KjIOXJ9C!#xMC;3oUA?{1&VqCawC}~xiY{1h4Sg`bNDHisS59LYi`;6V1%CuIPfT^kch~TeH}M7RVx~LH zjt$m$-6k%jXKu;nEYQ=K!huZIj{$@Tz7>lh0fCrtNl>O}%tnMbI`~wqoF(xE0;I~F z!UP+U3^>lqH|7{^T~@xuxLN>0C5r(K4iI3aq{tsjjvT7G?ju#rYU*0FX2~gQ&e`(1 zqpFD|Q-8~5=2on_cyjgZ=I+I7;Uc)gwB%x;cqye;IIS>UF}p&e){8H>(xq3v?DDHz zwIO|4YT9zM=B>2axl70K@3~v(-b=5822yFHp(76)KFX*Qxi)2{sWVTTKFh2RYIKh6 z8#VeM_iJi&s4Ze?>)DeU#AZKC(7H}^F#|D91b^bT2q2+(F^f(q@gldF#lkog%AiKN z;B;EVKrjtro%CS$B=<{hLDRqD#{WbvEOh?|xv>-tan?LPch1K)1GWRb7k}TnY$ir#24*0g2gFj0tY9@IK(;iLT?1rm0M&r>G6At6BNGEi zAJDrDMnJX*ke&dVVU~U5$0dpG{kj)Hr0~=5c8xmU-$_Dv?kqP2Q0gzrO+ZY^uFt`1`@&5sX zfR~%68_*(Jp%g%mRr3o|P# z3(&iawLp0W7C}}aMMFn6;lM<8r9u&-#)%6#l$|yn6b-ugLB%+!sELzHOk6@zN>xo= zLsQGd)Xdz%(#qMz)y>_*(@(s#)lOnK zGb1qam<1W^8Gioj(pbPWiid0%@c+Nb@YPKCH86RqmbgZgq$HN4S|t~y0x4iwW@Mym zXrOCo9Aap0Wo&F^YN~BuU}a#Cxa9+=BtvM(%}>cptAuMXum~{%7JkN7hL#Ww%ff$w zY8NSx4XG8GX;w~|CB*@$MZt-=1v#k<7CH(bB=pu!9jHnXuF3`Iijd4)kV`O1)wNel zE&~+{!xekxCZ?zQq~@iUWH1;S)n8t^6(}u;DjlAg0+cn4pW37kl$3-^2Ir@hlqVLY YG9VS@o;@zWnva3O)78&qol`;+05*>Pb^rhX delta 841 zcmV-P1GfCX4)6w$8Gi-<0063BcP#(_0@Qj`SaechcOY!RwJb#XUgRdAQ-X8PU`8+Y6DH z;%j+{-JIR$9Dn!fYRZUI4rft6ma=f! zEU?DwHgPFEb4xa7fu6<`4rH=^3?M}Ct(Xi62*iv-f-*&8HX_8)!KY&8EQv1=AXV-Z zCfJB%z;Rx_F~(@?vhpp)(E<=ESqx~fQ2;9?MgCZF81FT{^aZ&)q`zUV0rgkV+#B9eLRBQAVA}wJ9@Aoq5{yS!R7uqqA+_ zsL=znl3ZTPPSz72gF`Zl!wDrU#8UHBWXzjmxEVwm>;000JJOGiWi{{a60|De66 zlaXs4KjQ-x2{90;STd*p0013HL_t&t*JEIy9rzE$C;}*KMl?Z2Y%1}aNdW)=zf=eN T&w`D700000NkvXXu0mjf&x(Q| diff --git a/mods/ITEMS/mcl_signs/textures/_e_.png b/mods/ITEMS/mcl_signs/textures/_e_.png index 5ef88d28276ecf56091a3a7af9535e518388daac..f9b674b1564ad71f8e9feb552b28f9dd3f3af38a 100644 GIT binary patch literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}TSkfEoGV+hCf*0YXW2NW2X4|e|euYbJxMv%sg%R&)mrDlH~ zUir?ec3|Cp$rP?os3jj5%mbgZgq$HN4S|t~y0x1R~10y3{Ljzqy z;}Ao0D`R6TQ&VjN11kfA#4R7PP&DM`r(~v8!ZjFJgcuoEnHXCcT0%4|3;zZ3JAh^XK>x4$cy@Wm;?{e130dhy}7SoLVIK U-miq!8mNxJ)78&qol`;+0CzVNssI20 diff --git a/mods/ITEMS/mcl_signs/textures/_e_acute.png b/mods/ITEMS/mcl_signs/textures/_e_acute.png index 911207f866bf9e089cdd352f8ac3f0f545fe1d0c..4566f2dbcc0291c5aef680eb0b9c74525de464f8 100644 GIT binary patch literal 1859 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}Tx;Tb#Tu<$F6Gb ztqd%I3?#Q@fpkLM1~LNXHZCBW8R`Z$pc*zLwkVR@7?~h`6aeXkvW>w}2y@&28~-0L z2za@9x&bW$ITJ|yzs=yxz`@4G&c@2Y&d$!s$-%`V!pp9XZ3R<7E#dCS&q+js2Tb?ESsqsNY)IC<*Quqec!9r-=(U9^_Ou4*DRPRCJL`OvU7(>PL{*z&<0+V@+iF4DK<6ziu(` zFf#%pk6Dnxp5f=eE{z3Dqj<=M0ssG-3|pUi-2^62)e_f;l9a@fRIB8oR3HT`%Z!Y4 z4GnY+jYAC0t&EMWOii^746FrR zfod2jkPWF7nQ2x|nI**msYStwxdl0?3>G>HASCqGP93O95w6Mw=!%fcT#!pJO4a?U z)mMOuh2e@la}(23eNyw%OEMS?jp{Ei-3pWzM3oNDOaaQ8#!qe12TDr9C4=+RO3D+9 ZQW=nna?c(YVC~1i;OXk;vd$@?2>{d00qg(( delta 849 zcmV-X1FrnT4(0}s8Gi-<0063BcP#(_0@Qj`SaechcOYkBR{T1eRDu=zOx23EW93f|t)h(kKeu}oOQcxUAY#`P_^FV2V3Nh3k zl&DjsLFcL)HB2$_$%dM_LFH+4F)rK|lr#$sHel#M93&d33Cw((3$1a>8n2OKN< z0X8BTaGdAZ=wq~eS@|;KXaNY7ECw{#D1eocB7ZD7a;WM&k5o0QscX@iC8w-8XUp@9 zswS39Eq|MtTe0fm$;l8c4nrIcDRXhrCX-W49T9(>4=4n6W=hacsr z4e8TT)0UexZ>81FT{^aZ&)q`zUV1(0L@J%>)H9!U`dQ98kZVIm8anc@;iHUtqegq% zK2f807%)s)xvLU!grF?;%r#}001RPL_t&t*JEHH0{kZ^fK%IlT-yFKFfcGMq6sn*wBSF{ bwi5;bTGa{p9hgXi00000NkvXXu0mjfYSxOC diff --git a/mods/ITEMS/mcl_signs/textures/_e_acute_.png b/mods/ITEMS/mcl_signs/textures/_e_acute_.png index b6019374024b953e0b19fe8913bd52b851bb207f..70502e82f7190d7fdc9dd5034f9271e4e4d8c5f2 100644 GIT binary patch literal 1861 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}T3;c1z-7kUNxe4@c`kkT#=81YKevH1mqd5?szX2@xTHpS zrg?g5F>nA417b!N21XzY|J4mb5!I21a z+y5K?A20}bxp}$)Edn_cNc_Le;LO0m#>URZ%E8Xg&dJHa#UsMY!_CbjDJ0AX!XqN1l2cOC(lau%ic3n%$}1|Xnp;}i z+B-VCCQY6)b=ve9GiNPYykzOJeA&aSFc^a zar4&0M~|O8efIpt%U2&ieg5+G+xH(oe}VkP2#i!1!0InSpud<{SeRMZLH=T7DhFa_ zK^9g;LpCADK=#B!VI`wR4iTq`3pXC*R5lL!AevNkkxNX)?MniLsTT zB}Bur@L!-hMhav@YDH$6l~ZO(aX@NOaAIyjPAY?ijsge?y|q&Zs#1ijasj#`Br_M} z5{y#yW&IscJthoS?3tUGp6ZjDmtK;=U}#i-dFfW5v>>W epH@ delta 851 zcmV-Z1FZbT4(A4t8Gi-<0063BcP#(_0@Hd_SaechcOY!RwJb#XUg)3@{zYgA`_Yu2Tk6hkE5n?_H`6EV0PWmC2hZ}yI5j{P>y%32h zzLuBR&DnjU5nN%Ic3c`TV7{W zHL+xB*?-L3id7d+uAbf8y?8BL1V@;bTr3nXrPK zq)$stTW;38l~y}<>Dc}~cMIKn>2=URDvdOBT=4sPsne{=9&bED{ zMjzyUO^pt?3XKr6m>vexoWCL2eaK$vr#K8uI z;g!9vZ_;nK;lCRAHuP=i+tB)}m>s`%;cupVcB`EJo}d5#010qNS#tmYE+YT{E+YYW zrICIMN#g?*4hbrJgh6Bg001XRL_t&t*JEHn1^*cc37`N*d@7J7{xf0`WW;I-6E>q5 d2|9&z003Cx2>#&g(UbrH002ovPDHLkV1j`Ah2Q`H diff --git a/mods/ITEMS/mcl_signs/textures/_e_circumflex.png b/mods/ITEMS/mcl_signs/textures/_e_circumflex.png index 2b5ace3c42076e0e01204f226569fe002344daf6..0aca71f43382c7c338ad7783628a718930844c6f 100644 GIT binary patch literal 1859 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}Tx;Tb#T#xN_hc;ui+K?xAATc(ETo{5uRzD zo>~kXK%;<|k%fT~$O1W?5z6KPvY8l}8JK}|9uP}0vVzr=0NK(|b`6lN0aOFh3sPsu z$ix8B2lO(75s)ncq$dFJ5+LRPLy&Jks$sOdr*D9Qk)EM}o&|%EfuW_9fw7g5p@N~Q zm4T&|kvWpvvOqeaZUY$sa~l_s%?xz|8&C}!5?d6>ZH!D1KMH{KLfOXPD1^D~|Be3- z7zDiBJl%j6ft(2>{@-SBX5e6BV`pRKU}tCNM)G;tLF)@)>x3sk|ve7d(F#;LF$jQmc!_6bX%PV1|D5GdZGWdUh zL68IJqAX@cB?cxzMrJ|A|3?_)f$n5w1OuSo!GMv8nT3^&or9B$8>nEb04SuGnOK-v zSy_PIWvm6tGq4D<3Mm>ovIz$!vMUve7&T5@$f4}C@t|nX#SbdRNkvVZTw>x9l2WQ_ z>Kd9_CZ=ZQ7M51dF0O9w9-dyoA)#U65s^{JDXD4c8JStdC8cHM6_r)ZEv;?s9i3g1 zCQq3GGAU*RJ2VdF$b$ z$4{OPfBE|D`;VW$K>lI`Mk)+o^_L*fUra14%q;96e=#zZ12MB83#+0b zn~-B5dt#xml2Idvh||P{8xL|S8wY(5O)9#`C8lEXQ1v6oYha%d=dmWTd2Nn%Q7P) zT|)z1L*o!bb1P$GD^pW#0|P4qgTyT#KqVPMLvDUbW?Cg&gMmeek%5(ov6Z1EM8mT1 zU!WRB3S>iSMP{0nQ)WqVKx$ENVs1fBDuacN0tgAcwNnSGQiQ8=0lFe2GZ*9%j8Zks z?cPJ6Vqv&q&)mfHRG-wm^pXq)L!ib?REVMW zphTT24LVods9}nUPd3!d4Z2U8i*ez$prl!7umM94;vmsLO-;8txeost;5*QFpzlEQU&ZM7uNHm-q#$>g7AfCZ00009a7bBm001r{001r{ z0g-$SO5+0+4hbByKGgjH001aSL_t&t*Nu&_2><{LgUtU&+r3a4MjzU diff --git a/mods/ITEMS/mcl_signs/textures/_e_circumflex_.png b/mods/ITEMS/mcl_signs/textures/_e_circumflex_.png index c17d9dc29c385c007c5e105273f742d3bce7bc5f..02148554a39e9bde40c8453048a9d8e1a76a7df6 100644 GIT binary patch literal 1861 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}TE^#4UcWnyY(ZeeNV?BeR??&0Yb91<+v*#~fzWVs-^OvvRzW@073*;|GV5GtTR(}Zs{l&z>!py=B@)sjhIS?}o zval)|vI#i`vL_Y_D;YI%h&WALxbYyTvT@J{(WIh_Tw*FF4^=;cyax6eaUN?T%V%(p zA^dfVfrpt97e0kHVpXx-(+~aXipO`d8(GUMwFx^mZVxG7o`Fz zU|D8lq-$uPYiJx|Xl`X}3@ppE4GgRd3=+3|0F`724Y~O#nQ4`94F(n=Mg~?U##V-w z5Dm-1e}U>4DUc1R6`5&PPMIae0jWj7iMa(isSFl63Lqr()=nL$N)fKg1?Y;9%v_L5 zFiO?$oSLBeOc<`%GdD3k)h9JCy(ELd(5U|M(yc&gK~(AR%oL!kY5deCeW0WyTrxO6 dt)x7$D3t-JDEI7f0oH#E44$rjF6*2UngI3b0?q&c delta 852 zcmV-a1FQVS4(JAu8Gi-<0063BcP#(_0@Hd_SaechcOY!RwJb#XUg>vD-!sQ%pSA&@wl~eaT#m3%3m=txA&(7sWs1gZM2Mq%ds@y3| zuo20Cv&09Hzh{ITT7p{naVQq`=cu0?B>oU-PeEw3}G znpiTmY=35M#j1-ZSI=(lUc44Af+I{zE*6THQfh_M3ey#%D>Q1o_>wDKdgaS5zsgk` z(x;`SEjMf4N~@i_bZq~gyM^w(^g3uDl|~vm^048fj5?8PQ)Zev^R(%+%=(~4XWPC} zqYrYwrbdU_B9^wEJ*h!#_QM3N<3txT5aUE3Zhwma5}FsY=#&yKa*J6kj7^~oYNQKJ zr$r0|(;(JK4|Y#-zvLD){VQ(#PvpWv_kWNJ3*902Gq*3O^}4?(vH`7KxMCV*;$VZq z@XB7-H|e+A@Lvsl8~Qf%ZD{>f%#L5X@Hf?WcCe$R8>|2T010qNS#tmYE+YT{E+YYW zrICIMO5+0+4hc6Of-SuO001aSL_t&t*JEHnfd33=;6E-2IAFvli!AY<5sM%rR-2iy e8HLv(G64WL5()i;Xeu2500001GWRb7k}T-j%fS8emff2|8Ih+y7<^i&q7?~NEfpi`aOEI#7)sz6)(ol8{kgWk!1JVmpXUNFJ z0MZBaFoO}0Edrz`0Pzwa<^V&GUqGs1w7aKofP#^pp@E(SgOP!urImrPm64%>p{bPt zkZpwIwk(iNsM|nBz}&_KWHUqEzy?&qhQt;{avLKP#E$|Xy->C>I09jA`+wvA0|o&v zH%~X9MIdJaiT}45oEbRS*x1=vIoR3RIXOAFctm)4xVd>Gg@pMFmiHo@^JG=@bXF+Dat4skqrJHU=ZX0 zx+sg8QHg;`kdaxC@&6G9d7wL48NmSPcQ9aNVrF4wW9Q)H;sz?%DgX*8W+oP9R#q0E zcNuGe@(e73tU`*0j%>n#iR?;+B1Vl97jh^&Z9FI%bn%0VaZ*teCzqJGgrtbvx}>nyN9P&a7buactm7Wa!P7idPZheaY<=ec|~Pab4zPmdq-#2q{&mJ zPMbbs=B!1Fmn>bje8tLDn>KIRx^4T8ox2VlK63Qf@e?OcUAlbb>b2`PZr*zM=<$=M z&z`?{`Re1R&tJZN`~KtSFOa_&fsqOWSp6jk^cNEg3o{El$X|?1uS~;l_iU%Emz-M3agxa*3&!JXHM%@*3D@#CfcVET6$WhVa)d1|DWc zVB|3iGT1Zx{MV(ifN2yD*)ZV$f0JRo^WHtcUvB{QuOuED?}#K^$P#MsKv5~5*Q_%BfX zA_cM`wIVak$|%CzZiMM*)O{-rA`HRVl(%xd2@el9>x~2}Y?ZBIWT0 zs8|@T*fTdVJ=G^QFTEs#!O*Dw^3tt9X+c!!@XQpTtZDqzCVil!BwR8$Kdq!Zu_%=R WsVMjCaRJtS3=E#GelF{r5}E*5TK|{; delta 848 zcmV-W1F!tS4&?@r8Gi-<0063BcP#(_0@Qj`SaechcOYXuOqKSkSCDJYI5HW2Hed7!jFg&1lN zO4O;+pmWuY8m5@|WJAr|p!>AB7#D5}N}7cR8!+@B4mJ(c1ZKX?h1R%bjn~LAawm8) zAsC^@hZ0^Hzfx|2#+a!~6#dc(X@Pn1%ooy^f6k#tbCbqv;c%k76Te=6u?SJkw2CkIaGC?N2;3D)U{~Ml2g{4v*me4 zRTE35mVeF6typ#OX}bF{VZo4$h9FO4IO#d@KHv+QKP+W zpQzD0a-UP9O>GiO%g^rAU^aUTLGw7#$qd9e5r2r=B!GnG$t*gh#FN})77JrjD1#d5 zgwtsf1Hp6>>!2IEJGoD}1x+r7uz5{&+`VKVzRg8}RYT-9xS$C09mRH39000SaNLh0L04^f{04^f| zc#(Y!M&kn&4haK3HrWUO001OOL_t&t*JEJ71OAgNfuZU@E^YrA7#J8B(F7TZvY9yB a2?GFP%?bG$LzA@t00001GWRb7k}TC1wW-tP>MS%1KAYKB*9AKyeR0>iJquo7y0~Cz(3=Q-w7>o=IEv*cUt&9v6 z3{9;JEUiq;k=&LA)CF@J$OxF*xPWYCs2kXTYS@t2qEI%-4~$F@KMH{KLfOXPIE1{@-SBX5e6BV`pRKU}tCNM)G;tLF)@)>x3sk|ve7d(F#;LF$jQmc!_6bX%PV1|D5GdZ zGWdUhL68IJqAX@cB?cxzMrJ|A|3?_)f$n5w1OuQS!GMv8nT3^&or9B$8>nEb04SuG znOK-vSy_PIWvm6tGq4D<3Mm>ovIz$!vMUve7&T5@$f4}C@t|nX#SbdRNkvVZTw>x9 zl2WQ_>Kd9_CZ=ZQ7M51dF0O9w9-dyoA)#U65s^{JDXD4c8JStdC8cHM6_r)ZEv;?s z9i3g1CQq3GGAU*RJ2V zdF$b$$4{OPfBE|D`;VW$K>lI`Mk)+o^_L*fUra14%q;96e=#zZ12MB8 z3#+0bn~-B5dt#xml2Idvh||P{8xL|S8wY(5O)9#`C8lEXQ1v6oYha%d=dmWTd`$txQd|4GgRd3=+3|0F`724Y~O#nQ4`94F(n=Mg~?U##V-w z5Dm-1e}SqPDUc1R6`5&PPMIae0jWj7iMa(isSFl63Lqr()=nL$N)fKg1?Y;9%v_L5 zFiTaL%5997 dlJdl&R0gD?+_T38Sp6|Dc)I$ztaD0e0svyF0k!}D delta 854 zcmV-c1F8JP4(bMw8Gi-<0063BcP#(_0@Hd_SaechcOY!RwJb#XUg)3@{zYgA`_Yu2Tk6hkE5n?_H`6EV0PWmC2hZ}yI5j{P>y%32h zzLuBR&DnjU5nN%Ic3c`TV7{W zHL+xB*?-L3id7d+uAbf8y?8BL1V@;bTr3nXrPK zq)$stTW;38l~y}<>Dc}~cMIKn>2=URDvdOBT=4sPsne{=9&bED{ zMjzyUO^pt?3XKr6m>vexoWCL2eaK$vr#K8uI z;g!9vZ_;nK;lCRAHuP=i+tB)}m>s`%;cwpBcCmDUG!Os)010qNS#tmYE+YT{E+YYW zrICIMOydI;4hb&|?zQUx001gUL_t&t*JEISfd33Q08R-81_lNOMq;)8XT&1Nh}9A% gY(_B>bPDMJ0ASh({sxkPVgLXD07*qoM6N<$f&-X_7ytkO diff --git a/mods/ITEMS/mcl_signs/textures/_ee.png b/mods/ITEMS/mcl_signs/textures/_ee.png index 646c19e14109fa090f90a46f59a083f07ea38807..4871c31be87a9c2fcd59074e789e0ce3cd8482ce 100644 GIT binary patch literal 1858 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}To=IEv*cUt&9v642`Xf zEv<|!kldC9(g}4N$OxF*xPWYCs2kXTYS@t2qDXFIWP6M4GWKmj7m;PO-s+n%qlJ^Ei136tZHs)ZENr7?3y%r z%G7DoXUv?nXz`Mz%a*TLxoXqqEnBy3-?4Mop~FXx9y@;G=!0ld(M2vX6_bamA3Im5iohGmbgZgq$HN4S|t~y0x4iwW@Mym zXrOCo9Aap0Wo&F^YN~BuU}a#Cxa9+=BtvM(%}>cptAuMXum~|Sure{WGPHzfSQh>Z zRKZArY)GxhOtW&zEGZ61EecM|Eyzh_u+UKeA)&W+>OfVBa8)iqSA=Bdf?R@8sy^!M znFUlV3|H)#o0y*JlbV-alEGkTRDXHtR-m*Xs&sf}3Q*QGerl6GP*M^u8JwS1Ql40p Y%79dqd-k{hD?bJXPgg&ebxsLQ03!4N5dZ)H delta 847 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 O5re0zpUXO@geCy)CFvRf delta 804 zcmV+<1Ka$A4&w%pBYy(adQ@0+Qek%>aB^>EX>4U6ba`-PAZ2)IW&i+q+U=HGvg9TV zhTmC5mVhLL#Bwl~s_Y=k&ktt$HYZb+NgfZB0jq@s`ULGT{`zx|#A~c@IU1`6%R%7#%t3hg=?R_-#e>^!)aNNKEmyyu@zK?sJZN zcQs{1Du=VFAAeifBPd=7rR-@L)$l0BwrfFkY_Wk@2h9t$1uDdd=A=ZODoq-@Z`82F z#Dfhzb3@#h%*D8H+fdS~G}(Zs2e4pipe7LWV=c7(mhG>R!*eHSGQk*O#!oeTCH$TG zFf`{%U83lBoRAh+7q6VgG8VbjLJJ6Jo|x*6@2=q`Z-3$o*u_kDm>nCe@w!c1O3&Pq z%~_zQF@*z}tRDji5qv8aLjnRZudI%pu3MjATuu;HVOI+1HrW|}(lwCS_V`k+SV*uGJt4|2bzMu*xW zmbRWfsX=V^!vwACL>Ds<<3u2CivSXu7qjS;5@RoNi&-p;L!k_6qzg``MGOSfAl69_ zc29D@L!J=-be@q4iZUJ3j5g-_>1qur#CeT#+#>Hsb>o2|74_8AF)>000z8L_t&t*JEHH i9xyWehqDNYk^%si4gv#(YqLcF00001GWRb7k}TY8dVA=^LP6q-SWLXTe}(U}$M&U~FY%s9u)IvvcDq>wPbh^&;noUD|LjDm`ux`L99vW$#|xu%YRp^1r! zyt<{Wg^`V(v567L5JpZ;P9AO^30__aBSjfSBa*@Y0}O&3Ko?~(Gb%AK2{JMZGX6ip zAP;mWDH{Rjq(Ow25-Z0sDIT--nfTLnNN#mvOQ%*x6F^e$s9P@aKBkX1<0(2-3z zFp*uUP{gQl;zAB(r;P_igD!qhF-|IK;^Yz&myncFRa4i{)G{$OGqmaka3 zYSZQ|TeofBv2)jxYE#}NLy#lXYN2#h>tK?Zw z85ksP`2Z@(5E^pxQ!>*k;TjAqLX3cgpRtvpB}Bur@L!YDH$6l~ZO(aX@NO zaAIyjPAY?ijsge?y|q&Zs#1ijasj#`Br_M}5{y!{@QrybP_Zyvv1e{#da6%qUV2Fe zgP~FV<)vGJ(t@bc;h8BwS=0EbP5MAdNw{Qiep*R+Vo@psQc>>N;{vSd7#KWV{an^L HB{Ts5{YCYX delta 836 zcmV-K1H1gM4(kSx8Gi-<0063BcP#(_0@Qj`SaechcOY!RwJb#XUgRdAQ-X8PU`8+Y6DH z;%j+{-JIR$9Dn!fYRZUI4rft6ma=Ow7|T0ivcj?&vJ$DP;d+Bx1Kq`$ibmU>fM;Ub@*QU%gb>?Z)XPNaujn1}x zqedU(eoc)IwM8s#J$q7v*zAW1TE~elW+29iK!4m80VFgpX3;4nUgQ?DSQwi^8PrG@ zoKA}v2&O@-lOF7ziAJo!&M8 O00001GWRb7k}TLW-G*g_)I=1?XMITA(}wiy*6zqM;+3a9|?4 zQlW@Z(iUwW$pkka<)WpdpCN3cY31zV>gMj@=@lFj z8WtWA8I_!pnwFlCnN?g;T2@|BS=HRq+ScCD*)?hMl&RCE&zL!D(c&dbmn~nha@D5I zTefc7zGLUELx+zXJ$C%W$y1juU%7hi`i+~n9zJ^f&P778mFHFAhJO z`2XKz_%~zYA7JuSEpd$~Nl7e8wMs5Z1yaDW%*aUB&_LJFIKdJ3pm7_QheH!(fcCp9mw2R(1>wp00i_>zopr E0Ko(Jm;e9( delta 834 zcmV-I1HJsR4%Y^d8Gi-<0063BcP#(_0@Qj`SaechcOYj9%n@Nk)K|O z#1tQ|N9|_!Ie*8sx|%YS%3&|+Z7F99j*v6S*)5|Oeu}o8rJy*L*g&j<=7G`z6=JA8 zDN(0Nlg3#$YM5f;!G@Z-LHA{IF)rNXLV!Y(4S0GG2b%_J;30gQ3!USZbG$~5kvqYY z3Bd?GK9umv_?2=CH0MfPqUe`SNDIu1S59LZi`=@y3x5b`ZcX*n_blNdZ{h>k#Y|6` z9Sf}SxI!FC_uP_`v%pVd3L7$6-vJ;I##T&*1O#HnAwij(8B}M*Na^z6ebsni|R#VraHA_xebIz96 z8C6XznSWX~Gq+;Z#gnUNH+L^y3m3r=rX?2(#Y-u*V$h1v6}>AwYCZUnBOQ9=!wx^n zQ5({yrKT-6Yu-w$ox5~w|DL;r?!ELnXdsnF8anc@;iHT?k!w?CnmY5e>9fpwqegq% zK2f801GWRb7k}TnY$ir#24*0g2gFj0tY9@IK(;iLT?1rm0M&r>G6At6BNGEi zAJDrDMnJX*ke&dVVU~U5$0dpG{kj)Hr0~=5c8xmU-$_Dv?kqP2Q0gzrO+ZY^uFt`1`@&5sX zfR~%68_*(Jp%g%mRr3o|P# z3(&iawLp0W7C}}aMMFn6;lM<8r9u&-#)%6#l$|yn6b-ugLB%+!sELzHOk6@zN>xo= zLsQGd)Xdz%(#qMz)y>_*(@(s#)lOnK zGb1qam<1W^8Gioj(pbPWiid0%@c+NbFiG!bE--njmbgZgq$HN4S|t~y0x4iwW@Mym zXrOCo9Aap0Wo&F^YN~BuU}a#Cxa9+=BtvM(%}>cptAuMXum~{%7JkN7hL#Ww%ff$w zY8NSx4XG8GX;w~|CB*@$MZt-=1v#k<7CH(bB=pu!9jHnXuF3`Iijd4)kV`O1)$8Y2 z`hkjt;fg(T6Vp?DQuESFG8hbv>Mt+d3X~Q^l@8BL0m_=jPi@i%N=m{dgY(l$$`gxH Y8IX!{&mI?G&Bwst>FVdQ&MBb@0OB|PDgXcg delta 846 zcmV-U1F`(S4)q3*8Gi-<0063BcP#(_0@Qj`SaechcOY!RwJb#XUgRdAQ-X8PU`8+Y6DH z;%j+{-JIR$9Dn!fYRZUI4rft6ma=f! zEU?DwHgPFEb4xa7fu6<`4rH=^3?M}Ct(Xi62*iv-f-*&8HX_8)!KY&8EQv1=AXV-Z zCfJB%z;Rx_F~(@?vhpp)(E<=ESqx~fQ2;9?MgCZF81FT{^aZ&)q`zUV0rgkV+#B9eLRBQAVA}wJ9@Aoq5{yS!R7uqqA+_ zsL=znl3ZTPPSz72gF`Zl!wDrU#8UHBWOV0NpIs3OGx000JJOGiWi{{a60|De66 zlaXs4MB@V$2{9^eRO=c5001IML_t&t*JEHH2mFU(6ahG3L>GXHVX9=pW;j+syk?RK Y0KE$a10?L;@c;k-07*qoM6N<$f?hC#mH+?% diff --git a/mods/ITEMS/mcl_signs/textures/_f_.png b/mods/ITEMS/mcl_signs/textures/_f_.png index d0dec2b358ba4b2a7c42cf3919a43e397f93ac1b..9c234f7c0427428e99e78df84c8a5f33be2484b7 100644 GIT binary patch literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}TSkfEoGV+hCf*0Y9O3$BXu zt#SnxHajhwT`e{%s_Bm&+hSfe>1lkMcLO!6mbgZgq$HN4S|t~y0x1R~10y3{Ljzqy z;}Ao0D`R6TQ&VjN11kfA#4R7PP&DM`r(~v8!ZjFJgcuoEnHXCcT0%4|3;zZ3JAhVO2u8E|8M;ba4!+U`$>h^XK>x4o(Z{VAEYXZ3=naE0`G)c=1GWRb7k}TSkiMsjV+hCf-m`{W3>9LcOJ6_PvMmMzCijaP^)T*YeY#(Vo9o1a#1RfVlXl=GSW3P&^0s; zF*LU_HnuV~)iyA&GB8No@*xXFLvDUbW?Cg&gMmeek%5(ov6Z1EM8mT1Um%||c)I$z JtaD0e0szneR4xDj delta 68 zcmZ3^6h1-Hj*WqVVO2u8E|8M*ba4!+U`$@1_=EothglPIy0Cu70|kR+tut1AU}X3Z W#Q(8C>9ZhEC4;A{pUXO@geCy6D;16a diff --git a/mods/ITEMS/mcl_signs/textures/_g_.png b/mods/ITEMS/mcl_signs/textures/_g_.png index bfe05463823d72b814da4549e7f7baf6bb63c549..881d06842248d6a1d96578b28ac750c944018267 100644 GIT binary patch literal 1854 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}Twz-eqCoy08&LtS25O)dabeGf!&ooa@Ed~yt zDL~A~!oUb*fn3c9W%B^pOpMG7%s@I1h@}`=!D>o?Y-uRF2FTU`ssZU`0%Ai(CI*l` zpl=zBfNT*UJpqW905Jy`>Hw93RKsX@Pu~CqBRxX{JqrdS14BzI17j;ALj^+vD-%mA zQ)48zWdU`;+y*iN<~A-Mn;Gf`HlP|dB(^A&4e|pc6U2`KAiYqwF*x>MZu@`Z{{sdA zFE>v&phX~O0*U{(8Jrn7*x1Nsy6Qkn#T!26>=6SsB3q=tnSMWMXDvWn<^y!`f zpm!N-f$|J2f~-P{hK_8)fr;!&g(60c6BlwQJ8e8D8g%i4ig8j=6DOCLxP+vXs+zin zrk07RnYo3fm9vYho4bdnS8zyZSa?KaRB}pcT6#uiR&hybS$RceRdY*gTYE=m*QCi) zrcRqaW9F9X@jO*zpr5PhGlv*fm^@Vd2=W@(XT*7|i7cPNJ%;etEe0ND zMquPI3o_U<{QTFYv4Ck557{u_|9_LAVfkJKVDeNgag8WRNi0dVN-jzTQoypz$Vk`F zK-bVX#L(Qz*x1U{RNKJ7%D^CT%Lh3~h5rIo zE>a*HQY$jktei4SiUU%Mf)jHKa#9&AbQC~H=&hYPP?aKFl?%`nA(^=#mtd5tJ1?1MZVT9N!KQ(lz|4=e(4M#K`5HN9?gURJ z1S5?2sfMqNzf&K9=3J>u6#do-X@Pa|%4sZPky}rA0e=C_qp5CvcMUIj6JNkCX1Zl| zY_P`b4sj_xb4xa7fuF_{4rH=^0ze|ntyl~R2*iv_f-*&8HX`Wg;8U@3mc$nbkSccy z6Kq5>;5e_jF~(^7vhr=l)dCPISqx}!Pyj0>MgCZFYg~`00006VoOIv0RI600RN!9 zrva0ZYaT-50~HA|HRD|7?*IS*AW1|)R0!8&V4w>455*_~80`P(+L*8zfh@>K&>{)| Y0HeML{o#NNJ^%m!07*qoM6N<$f`wIuh5!Hn diff --git a/mods/ITEMS/mcl_signs/textures/_gr.png b/mods/ITEMS/mcl_signs/textures/_gr.png index 3f806499abd107f9723b6be41a887676f8c88df6..92832f94e6f353eeab75d0b3c8fcca5051c93abb 100644 GIT binary patch literal 1836 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 LNkvXXu0mjfY88^+ diff --git a/mods/ITEMS/mcl_signs/textures/_guill_left.png b/mods/ITEMS/mcl_signs/textures/_guill_left.png index 32b90c3e214514f6bf2e78a1ef31adf9f32e94cc..a9cf7c7244dd5a8a07787d119810eb4a3b76aaeb 100644 GIT binary patch literal 1853 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}T$Vkt&eu$mGeTN=u)0kSoKYCw8H>I@l~7(n`f zo@FosvPFRO1R!1l#2jD<@&`yYjCS|*4Nx%BGc?e%U@$T;w6roXwlXqQFf_I@v9vNV zMRHpfNGH^7AR}OI;{vjop>ALUs$oN7iz2y=kqP2Q0gzrO+ZY^qFt`1`@&5sXfR~%6 z8_*(Jp%g%mRr3o|P#3(&ia zwLp0W7C}}aMMFn6;lM<8r9u&-#)%6#l$|yn6b-ugLB%+!sELzHOk6@zN>xo=LsQGd z)Xdz%(#qMz)y>_*(@(s#)lOnKGb1qa zm<1W^8Gioj(pbPWiid0%@c+NbaALz-6=3pIEpd$~Nl7e8wMs5Z1yaDW%*aUB&_LJF zIKpcbrPgg&ebxsLQ09L>Og8%>k delta 833 zcmV-H1HSyd4%h~e8Gi-<0063BcP#(_0@iv|SaechcOYw#%~=A?EFn-)Xe%q_4GG3O&wH} z>{wup#}(pGy62WG&H_J;DQw7OeFuO<7+WzJ5)gu+Y4&Ft}lu#Kyw#PO`{AP zY;ZWeve)@d`f?rqHNbbE??B&y=D&*3@n0?c2DbKhnuAmd(*OVf32;bRa{vG?BLDy{ zBawR!H{$~p3^6Wm^6lsV000$9L_t&t*JEIy8u*V!6Cpsp1T_EvItdB)m(oow00000 LNkvXXu0mjfJ=}#A diff --git a/mods/ITEMS/mcl_signs/textures/_guill_right.png b/mods/ITEMS/mcl_signs/textures/_guill_right.png index d372e6a8558f1c8e7684ccda0174989f30f95037..f4433eca423343155e2210e32f9c50cd74fa4114 100644 GIT binary patch literal 1855 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}TW?%-=c|a`1$O=|d0%S`=*)>4622c%1FG!ssBNGEi zAJDrDMnJX*ke&dY(O<^NNiCgw=pt7{3rm@3uPOFqYvh`|2O_WU=Z+f z^K=7R1ac;j_=$VSiD#0X>vBPS;(4>yklFRz4=qKu*u$>9G120;#> zi?Wy*l^B==8JPtc{~uwH2fCA$5e$HS2LnbXW)@a9b`DN1ZlHp#0-%s$W@2GxWn}?+ zm$4Qo&%h$cDx_%W$R-?^$gWfnAuRebI{N?Mn?>~P20{M#(7^yIT)n9@@e=)JJFtf0O{Kd#r4#doYEUb!#Y(kEK z?1_cKN=A(wB2E(*Zam1TY#j7KG^yw!mzavlL)DKUuYr9=oX48T@)_J?2!GvT;9+J2 zMjo>ugFVB~e_a|2m`3rC4FmrFHyPe+3u^!-Pt_9Fh?11Vl2ohYqEsLSEX$0HbPWx3 z4UIz#&8>`$txQd|4GgRd3=+3|0F`724Y~O#nQ4`94F(n=Mg~?U##V-w5Dm-1e}QTj zDUc1R6`5&PPMIae0jWj7iMa(isSFl63Lqr()=nL$N)fKg1?Y;9%v_L5FiKU=O^K(0 ziiP2dJ#!P&Q+-nN(n~TJ42|k9FWm~17DSZ}&rAWzn#NCU(g#XP!X<43yzR8$?BF-3_nHNRw*csB{mT2pn0IQK!q4; z4@%Uj(x7wIjT)wy_+&%P+@SlkxfmC23rd=W1{*N+APzPS)C6X}&4t#uWsTR!F>)t( zG9ehD$A=PL8NX6)fyS7rOBDUm32A|O@yuyVW0IS9cz*!_jjgFJeOCz&c@rPNPG-7f zb}X>Q;|g&o-E&J8XMvx_6gFhCz5_rajIEdq2?)fDLxM6zV>Tk_=-^W^bC$#h2#_jw z3Il9JGT=DRvC+q9`Lgn5#?b;0Dp?F@uu%XjB}M*Na^z6ec^;{1R#VraHA_xebIz9M z8C6XznSWX~Gq+;Z#gnUNH+L^y3m3r=rX?2(#Y-u*V$h1v6}>AwYCZUnBOQ9=!wx^n zQ5({yrKT-6Yu-w$ox5~w|DL;r?!EMS(uq_$)2U}Z?ew#pbs*PT@5p^ljW)GOEG<8~Q-j&;Ed%nb000$9L_t&t*JEIy82m@0$&er{Knnl>N%;x)T;x0M00000 LNkvXXu0mjf$BupF diff --git a/mods/ITEMS/mcl_signs/textures/_h.png b/mods/ITEMS/mcl_signs/textures/_h.png index bd6f1891c030f1d24e8d159912c139d5ca4ca7a7..b4c9cf2cb2775aa3466c88989a55de6c03e36053 100644 GIT binary patch literal 1919 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJz!2%>-$FVF0QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fIC2*WiSG=MS%1KAYKB*9AKyeR0>iJquo7y0~Cz(3=Q-w7>o=IEv*cUt&9v63=OPI z4Xlhzk=)h*)CF@J$OxF*xPWYCs2f1;XG3C(LfIfcFfu{>C;-w6Wfy~@4+tP``+wvA z0|o&vH%~X9MIdJaiT}45oEbRS*x1=vIoR3RIXOAFctm)4xVd>Gg@pMFmiHo@^JG=@bXF+Dat4skqrJH zU=ZX0x~PGfQHg;`kdaxC@&6G9d7wL48NmSJ6_7`nSy&0Dr^+rDGxu0w~996fgY#K}{aE?>EN?fQ+Iw;n!v z{N(Ag=PzEq`uOSdm#^Qx|M>X}xYE#}NLy z#lXYN2#h>tK?ZwgwG9lc3=9&te8@u4kei>9nN|tcU|!5rT|6kRX39btPGvuKC{QYj?RC&&up-+yNK zhC+!vBsI?^=ZKO@DqJz}cq_M_V%qJkvJfvx#8`LBqMyeue8lxVc=yp;>|#A~c@0IlQ^;>II&#uCx!m3G%ZljX`Q?R4 zO!2uq#cs~-bAOK8?rO@2R1RlTA6wZYC|(Gq>}eU*@KcO!*MjQUVgs=bnipydREQDH ziR|oDY0}tzqlP6W9&G5D8{)oXF2;r1hLTpL$p$<|->w!H4B zYGTRMvVWPm6{{|uTs^zFd+}Ph2(B6I_L{3=&% zNS~IPw%n|FE3J0!(sBHI?iRZD((9msR2pgM$is$@GU`OGO_^!x%+sdNGV7fhon!k# zjo!%pni?Hyi&)xv_Mir_*@p>Q*NHA>AjXM6+7a`)JPYc zPKy`_ra`Qe?(81qe#tFp`Ymq!Gjd^}`!C3ah3=61k=rNKdfi_X*?`t5TrrI@aj`*R zcxA8aoAk$h_*(;ChQ17a8TvmMnz%0T=Q4Z;mQt0#B$b6a00006VoOIv0RI600RN!9 zrva0ZYaUDE0~HA}8TzT&&j0`bDM>^@R2b7^U?2zlhhm(PD1Z@*1S2jT{}~t<7?^OG hjaTA7E(cHv004Vt2m#~)kK+IU002ovPDHLkV1l%OjfMaK diff --git a/mods/ITEMS/mcl_signs/textures/_h_.png b/mods/ITEMS/mcl_signs/textures/_h_.png index 08cb5d8b03f6088c103e53b6b41ff56e78e4350a..cdea246450df3cec305218ad4c0bbf92468e3d51 100644 GIT binary patch literal 298 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJz!2%>-$FVF0QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI)Bu8WK%P{_#B#W95AdT*~I7lQ%Mp`@4p_rKw5>*(W6u; zW+t9iu@#AzN=*Jlou2r$yow?03%lgJyOwT1-Kr(75hW>!C8<`)MX5lF!N|bKNY~In z*U&h`(A>({*viyY+rYrez#wtUhb$Bgx%nxXX_asd1{NVk2397rREdy#` N@O1TaS?83{1ON`?Q)&PJ delta 67 zcmZ3*6gEN9mW_dd!7==d9*~mtba4!+U`$@1_k;iFj2a$J6F#Qo;MQ=a{ZFqjGc;NV VzUN$977kR%;OXk;vd$@?2>^Ny6W{;< diff --git a/mods/ITEMS/mcl_signs/textures/_ha.png b/mods/ITEMS/mcl_signs/textures/_ha.png index 946ae4e5ec708d57b935db70d8547198e6ed4d3a..48323a28f3d243e7ff7e74d49ccd50d1e8cab96c 100644 GIT binary patch literal 283 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}TSkg}(XV+hCfT>u3F+6QIe8al4_M)lnSI6j0}v7bPWx34UIz#&8>`$txQd|4GgRd v3=+3|$U@POo1c=IRteW&U=dB~g*?ZbE@*jX(md6ibwfkD10GA;uOTm;zcTm10pU zg0HHbK}AJtr=z8n);dt*>-1-Da_;?h&v)+q zzTITb%9P0o3Q|J?fPzi5Ou?%Vhg>4SGq~$^;aT8{Nsa-iDVKFPxFjzL+fbDWH6d2<73+9;i^7u+!lS>NR0Wt8bp{QdJOyZ zV$K7>>+$Hr)%M~7&M+Q5+Rz1b6?`Vev+?*KP9~nvWrzcbNF){sC1SByDwU9OwL&hF z$%m?Z2dal_{6`GeXtlcF@K9Y~Sddn$j~o?7(MF@uKQ#J>?>SXz-Asnvjv9 z`cb2e5zj|PMVsO**7$@(cGA?;m#3vopD}YzhBMPO*FA5s=k=W2yd_KDE?)jl$%>Vw zYuByc@ZQEvo8RBQV`ufQ-5>1v@RLvX*M9c-fiDgotv~klHx0*6oIHKz?78pHU$}Uw z@#kwz*Kgdsb^Di=yZ7$@(fa3uwsy`JfnRFh=yCRhFD3TH6A1VMG3Sfm<#NWA0$~6x zQpMQBjzzwK%rc2Oc1=~y5owTNO0!>jwwD|fY-|i^;jDE#dpcu9&*ZG%*dt$;K+Y%d z%i}A-3~gPd`fa>tigpBD>W%f^wGXbln{y4pY8wJFsqto~?5DPIix4#E`Ay`QD-$9* z#x?IN&L8F~th#N_IJhn)aYmOnY;&Bpc-1)NxrFPl44f!br+E>`-W>EG@>t;jW96)A z-oxGkbLEYs);;TTE>uU0NuQ;3$FDykXk_!pBdB@xo-xn-%g9+!>A__})thKK`h%ee}$>qQhG|chog)aU*E;D@R~WvQsI9-QJ->ur{u$ z@Nz@fde*K>JC8t6*Hm%K-r9noT9qQ+X0xh^W}(_Pam0~_Q3y`Noi+dF7ur=;dU)%; zO=g#Wn|^6YXVFds-kP*C_o1K8mHZ$7%`@;v7a?{<<(K%69^$c1_hdLcPSc!hCth$@ zV3@HqHI_D{(vc>E!4wfOhN4Uq<=EfM^@K+SSqn1UnM?W$sHjwiG8qjfI=ZJ|S6VyQ zdNte$&OCRfDc0>-oZ`%$>d0F7niHbJblg{UXF@1u1@yBlSVgKki&OHC{-k+#Hty5l z+fQb*94_aJ&iO9ST%ei4Gu5>?t^9jB&7Fa>5%vv5&*9|I{^ZmJnVwunwi6y}itH*& PGA03Qoov|~JGaB^>EX>4U6ba`-PAZ2)IW&i+q+U=KZaw91W zhW~SlJpz&tg5&U|s=dJ;e_!Yxdz^TuHmUhJjoq}>AS68!Bw_vYw}-!QQ7$PYwUTSj z5m&0Ia>GN3*LC$2)45-l-aWm_Lmc-DhDgxM^)s(~e1lw{6Mrn-^8P9hb}Qm?E24+u zbID$LKi}iZtw{Ki)BQWtdtOUFxpRMc+-h&-AAcu9Fs4GEaNs2*5%;oJ5m+Eq8hXK< zg?LLMo<-7;r}wc7xxEkGFoptM3Z&1O?lQ5DA$_O() zweU{(o%T@VzEhVdmMcz33)sawr(wn>x9=DQAmn#U^?$_owD42j#Gk+l2f}r!Ys4SwrC-hR$999vQ<`H&5>&^o?Jb@w0j(I9qDO4W1sF-x*hody9n1~<314s zQGXxOJvJ}N2K4|SP`WAtk$S6w+yXyelX%pcu)%^7rVvd{wp3Siq@EJ~Xqea1-4^BG z*o8+jk4sXW+BHw=P-9cP&IRqBTdiVw);g2LhSLKd8pwCVciirVcm96E-4gJP$8VMu zn-%RTJ0brD=nv7+#k>gla3LbTtYf4^a$G#BSwXI zE!EY|NM{WAv(kl600000 LNkvXXu0mjf8Gk^; diff --git a/mods/ITEMS/mcl_signs/textures/_i.png b/mods/ITEMS/mcl_signs/textures/_i.png index 9ba3e01a329af8d25272c896dda95d8f325cfdaf..4abe22825e871af661013273d362104e16f82e0c 100644 GIT binary patch literal 293 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}TSkglhTV+hCf(zA|S3<^BV2Uq_8Uu+{H*!pZsi_S`mNIRY@ z)*jorO*5iSAN|Rclf%rxC$4yYB~YVkiEBhjN@7W>RdP`(kYX@0Ff!6LG|)9P4ly*h zGB&m{HPtpSure@6-0~p{MMG|WN@iLmT!Vo{h>?MniLsTTB}Bur@LwQ*GkCiCxvXS4<2`ud@AilGgPA PDq-++^>bP0l+XkK`D_to diff --git a/mods/ITEMS/mcl_signs/textures/_i_.png b/mods/ITEMS/mcl_signs/textures/_i_.png index ffe090aa8e0136eb5efd103ba306fa00874b02ff..e8e5e1b58f2dd75bdb3f967e8152f1f2e232227d 100644 GIT binary patch literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}TSkcOv=V+hCf8&)DEmQ1_9P zKmE&i`=c1x9oYro>zjC2hRbPbI|49%^Kjjc>g zwG9lc3=9&te8@u4kei>9nN|tcU|zopr00hEJ Ah^XK>xj)n&TdL5a9sSFG!+j&37?sRkn PDq-++^>bP0l+XkKDqIr= diff --git a/mods/ITEMS/mcl_signs/textures/_i_acute.png b/mods/ITEMS/mcl_signs/textures/_i_acute.png index 20bdafb62980f1139aff953d1720a53bc505d1b2..b1ceff3436c89e6ad30d647b1a2405d0b50afa37 100644 GIT binary patch literal 1853 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}Tx$Os!Gv4{Z$rs`$-wJfOOKOB?ny0500|(F$ zAZBD?U<9&2j%I|id4OytMrHXx<^MmBoJCPpAb7&$pPdANBbczGp^6lD~RNCy88FbHx0 zU6jSlsKme|$jB_n`2PrlJkXu2j9>utBN#9;F|)9;v2$>8aRU`>6##`4GZPClD=Q1o zyNtC!c?K3iRv|@0M>gTWM0TY@5u?V53ptdXHXalWy7)oGIH{I3zSIJR&kGIVCkMJtH%#xTLhKyrQzIxuvzOy`!^h(&Q;q zr%j(RbJn88OO`HMzGCI7O`ErD-L`$l&RvHNA31vL_=%IJE?vHI_1g6tH*Y zWKS#c@69{;yl(wme1fGL-^|!0}nGJ zF!GoM8SEK;{_E0Mz%+`7Y#8wWzscaz`eQLLd8(GUMwFx^mZVxG7o`FzU|D8lq-$uP zYiJx|Xl`X}Y-MVyZD3$!V34@w1E?fJXvob^$xN$+YcQ|~F*2|+F}5^_z4oEEuPRuRHNoBCmQ2-&Kw|444Rf=#`EEmeP`LRW zs8|@T*fTdVJ=G^QFTEs#!O*Dw^3tt9X+c!!@XQpTtZDqzCVil!BwR8$Kdq!Zu_%=R WsVMjCaRJtQ3=E#GelF{r5}E)}xc$=r delta 843 zcmV-R1GN0T4&Mfl8Gi-<0063BcP#(_0@Hd_SaechcOY!RwJb#XUg)3@{zYgA`_Yu2Tk6hkE5n?_H`6EV0PWmC2hZ}yI5j{P>y%32h zzLuBR&DnjU5nN%Ic3c`TV7{W zHL+xB*?-L3id7d+uAbf8y?8BL1V@;bTr3nXrPK zq)$stTW;38l~y}<>Dc}~cMIKn>2=URDvdOBT=4sPsne{=9&bED{ zMjzyUO^pt?3XKr6m>vexoWCL2eaK$vr#K8uI z;g!9vZ_;nK;lCRAHuP=i+tB)}m>s`%;csp1cBK%7AC>?B010qNS#tmYE+YT{E+YYW zrICIMLE{4z4hk9Qd2_J<0019JL_t&t*JEHH0{kZ^fK%Ilyyh`slf^2?NVKiQ0|2j^ V1^{@C761SM002ovPDHLkV1jyAgEasE diff --git a/mods/ITEMS/mcl_signs/textures/_i_acute_.png b/mods/ITEMS/mcl_signs/textures/_i_acute_.png index 4cdc943d9c206194d9fe4cf81df8560f1010f7ac..d59d863985c5affb13b43574469367d9e9c1bedb 100644 GIT binary patch literal 1856 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}TXudGpH{k_x%_9iq-903Gj=8sVAd>8ZuQ z0W=4Q8Ce(@fh>@_8KG<*Ae)JinSmKd=K--4BP&=<36L!fW!C`N8bCE5y-YxC$jHP1 z(g*Y}gAtG|0;DGZ@e&~B07D(1QjlsG?e6ItpkSnDXrO1oU}RuuX=Pw+Wn`#eXli9> zU}b8C$Q2?YD$~FeaAIxq4Z~TA2 zAmHWZ=?1h2Wic}PKf)jnbSEn#7y$hU28>M1EUawo9GqO-Km}U`Kq1A<#KO$V z$^!H*V=Yjgfklv2NYT)dO*k--U8zvSsBz*#4rQl}2StM}eo!$^Dr(~75)+q@lu}hw z*U;25F*P%{u(Wb^admU|@bn4}2@MO6h>S{3Nli=7$jmA(DJ?6nsH|#kX>Duo=Zc#u=sIOv0DQqe^&F%^@CsvkjK1N)3Pk2R6yGq}eP{<_7$ z!^{YbJZ3=#dxoF?x-=Frjp8922K@hTG8}(xwFj6yRZCnWN>UO_QmvAUQh^k(EHg6F zH8jvQG!8K|w=y=iGBwpUFt9Q(NZj%PRFWYy0h2e@la}(23eNyw%OEMS?jp{Ei-3pWzM3oNDOaaQ8#!qe12TDr9C4=+RO3D+9 ZQW=nna?c(YVAaRK;OXk;vd$@?2>`Xc{XqZ# delta 844 zcmV-S1GD_V4&nxo8Gi-<0063BcP#(_0@Zp{SaechcOY@z}uyo|tyFA!2 z#C{CX!|*P$Jg@Q5^J7T(meY9;<;<(;Wjp8LcFZ2*pYO>KjIOXJ9C!#xMC;3oU7|kRzy$FZ$F5{ z6kp3r?B?t~=YP0&S5ro$ayXm%v6Vf7;)PJko|aJ!k78`Q7F5R;8;Et#yii-9LX0?0 zO4O;+q_O)(4NFWs*w8aK#C^$Jj0?97C9O)64S0GG2b%_J0x>_DBnbFS1SihjolX@Pa|%4sZPky|aafPaAIiK*`R?iyb5Ccc1O%yfs@ zvB4Uz+r*{x%q`iR1$r7&IFQNuF@O-kw_-6QAP_SWn=(aXHX_8)!KY&7EQv1=AXV-Z zCfJB%z;Rx_F~?}@vhpp))dCPW9AZF&0|ZzpDe}jXBZsQ4`$$!@nz|OPS#rvnbGE$h zsA^)#)PJ&>xfQD}o?Jbde!o&ob+S8l7YN zMvXqm{hAsbYKvIfdiJCSvDpt3w5}6f%s`A2fq%Fy0!V0H%%W3DyvQwPu`mvWGN_R* zIGq+T5KMzuCq39b$^DXB(Dbjk@jsCZ3*G-gE-ZA1+|S&;pw{dDN0AL^ox&Bz_+1qL*IthSH1GWRb7k}TyhmLVaqX@cwx$7gR-xBTR0(|4QC#e0AEnukD_yQD^Vrg?g5F>nA4 z0b)iL21XzY| zJ4mb5!I1}Z+y5K?A20}b zxp}$)Edn_cNc_Le;LO0m#>URZ%E8Xg&dJHa#UsMY!_CbjDJ0AX!XqN1l2cOC(lau%ic3n%$}1|Xnp;}i+B-VCCQY6) zb=ve9GiNPYykzOJeA&aSFc^aar4&0M~|O8 zefIpt%U2&ieg5+G+xH(oe}VkP2#i!1!0InSpud<{SeRMZLH=T7DhFa_K^9g;LpCAD zK=#B!VI`wR4iTq`3pXC*R5lL!AevNkkxNX)?MniLsTTB}Bur@L!<1 zMG9m?YDH$6l~ZO(aX@NOaAIyjPAY?ijsge?y|q&Zs#1ijasj#`Br_M}5{y!{!e}R` zlop07_RLL8PxVR7OE1Y_Ff^*aymTv2S`bw_JTnC-YZ^bbNgpUF36~7cPb(=;EJ|fS WD#|^3T!8f+1B0ilpUXO@geCwK@BRG% delta 845 zcmV-T1G4@z}uyo|tyFA!2 z#C{CX!|*P$Jg@Q5^J7T(meY9;<;<(;Wjp8LcFZ2*pYO>KjIOXJ9C!#xMC;3oU7|kRzy$FZ$F5{ z6kp3r?B?t~=YP0&S5ro$ayXm%v6Vf7;)PJko|aJ!k78`Q7F5R;8;Et#yii-9LX0?0 zO4O;+q_O)(4NFWs*w8aK#C^$Jj0?97C9O)64S0GG2b%_J0x>_DBnbFS1SihjolX@Pa|%4sZPky|aafPaAIiK*`R?iyb5Ccc1O%yfs@ zvB4Uz+r*{x%q`iR1$r7&IFQNuF@O-kw_-6QAP_SWn=(aXHX_8)!KY&7EQv1=AXV-Z zCfFeF0mpgy#vG%q%gVPHR|`O>WHF$@0RpU)6!~MxkwaD2eWa>cO;v`dhsP!y7bDIU4E6T zHl$BWOivcj-9(J$DP;d+Bx1Kq`$ibmU>fM;Ub@*QU%gb>?Z)XPNaujn1)s zqedU(eoc)IwM8s#J$q7v*zAW1TGxp#W+29iK!4m80VFgpX3;4nUgQ?DSQv*w8PrG@ zoKA}v2&O@-lOF7zr*p>IR$t73M1+J(OXfVg(2G}V+q00009a7bBm001r{001r{ z0g-$SL*oM#4hkj577sQ6001FLL_t&t*JEHH0RH0=_|HI$*8h0TWWpwkRgjS=8%YBI Xc;E*ACs$hi00000NkvXXu0mjf5HpLP diff --git a/mods/ITEMS/mcl_signs/textures/_i_circumflex_.png b/mods/ITEMS/mcl_signs/textures/_i_circumflex_.png index dc46f3ff55b170ee73561da372b24f19169a3681..a15c15336d0f7dba0030f597278c0a0a0c142494 100644 GIT binary patch literal 1853 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}T_vt~h7F7yhcq}PW}PfMzpY~R&Tam?8Ll&M^Zl24bPMQmm(&Q)G*3@01`ePh zK+MR(zzAf49L)%2^8ndQjLZzoKspbIr5IVkYD$1?X(+n}$kqU=0qJD|VnaqI29Q3W zXBmuuY!M(m0f?6XF$Wmx0F{DN!)SL;-v9+8JwpRM3kD+tLrW_IV=E&=1w&ISLqi}N z$!%FcT`;$SjDWd~3&>`Mx`7R-h7E}=3T1=*z{mvgqX0-Rlx+--Jeb@5-}wK4LBPw+ z(+y}5$eBRm|7`|m1`akhb~aWHc6N47P7W>}5ndi{ZXQV?VSW)=DS0_rDH$0B6+LwY zB^_lM84Yty9RouX6BBuLOIr&g8$DwaBak7CoSd9I+&mJzyb?x=GKxkdgZ~E@1UY~% z%3@|zVqg+vWEN!ne}q9E=uTEfFaY`y3>cZ1Sy&0Dr^+rDGxu0w~996fgY#K}{aE?>EN?fQ+Iw;n!v{N(Ag z=PzEq`uOSdm#^Qx|M>X}8f2KE_o9%~}YXK;@p{B?_ghnW!= zdCYv$V{_x$}A}kNG%FZ%q_@CWw6ju03o5bcIrS?if~mfKv#rh=7L;;QL4^9S*Z$C zEDTrdnVXoN>XVw6UXsCJXjFfB=~ke$AgXkDW(rW&G=6H6K2TB;E*YGkR#Ki=l*)iq VlzaBL0P8&l22WQ%mvv4FO#qwk{UiVY delta 846 zcmV-U1F`(Q4&w%p8Gi-<0063BcP#(_0@Qj`SaechcOYYDh{PR5-lF=3ZgaZ#DiFo>oB3OYG zspthy7UHE*j0v*!U*|65`gQUiqmSIhdi3(1iV*WL$R9a6deRTQJi_qXis%{n?F(!n z#n<+dyE(hhIe+fm)s&H`9L}bGY-NvNcp;T{HZsKUQH*U%fjG9SLqT(zw?B$z`A(VG?uZ*ttYI2fPd!6sqXx42`_aMU%)PAy3_2~ zV2#)9;!=9nmTb-fJB=wE$YlLEK#CAsu^7~HqL@+Glqnjs5h0HbJ{2oxNqm6-sdA?< z!A2wlj`NC*IY!%-m2Wk!7JyL6VnBlf1Xw94>c^6!hN`anNL90%x)!Zja>|->w!H4B zYGTRMvVWPm6{{|uTs^zFd+}Ph2(B6I_L{3=&% zD4&*^w%n|FE3J0!(sBHI?iRZD((9msQW|OK$is$@GU`OFO_^!x%+sdNGV6mHon!k( zjXuczni?Hyi&)xr_M`^2*$)@At`l9%K#UWCxPL7IC}>{HqEkw|$Sr2EFb;(>sF5x> zofa_=OoLb_J=i_T{gPYI^sl(_KamRy-Ty%@EOdw5&)mMC*6aR7kqu~_!j;n~6Bio{ zhFA8wev^K?5C7G{x1(=I-;UP5irMkkF8mEqzjmTWK%PGU000SaNLh0L04^f{04^f| zc#(Y!MB@V$4hsa5WG*QH001IML_t&t*JEHnfd33=;6E-2IAFvpi!8~6O_q2;f)1GWRb7k}Tyx2PfatwdO~F?siFy@J#dc)MDTO8Ue(N zEDVf57RbqrP&N;c&BVyezzn4GfLMx=6|ANN$d-n(Yk+JGpc;@~CLlIsWMTm61A3Lg z2*?%z(i4Dq2@rFDp$GE^`$wK6oYGPFQ) zTNY3k%xxeeU~c0AvYDZ7U<0aQLt=|U*&shKGC}+(0MZL(8?yi=$VSiD#0X>vBPS;(4>yklFRz4=qKu*u$>9G120;#> zi?Wy*l^B==8JPtc{~uwH2fCA$5ey(+0eO^}g_Vt+gOiIJs9>uAD5RK~SeRK^S%BVU ztOd$5un4jWDH=Mm2?r*!D;0_uHBMZ}q3pErplHy=4=Tnkx|JhscGpMnOVgprDf$6l~v6xt!?ccon4bAPnkMx z`iz;g7A;<~blLJ1D_3pWyk+aQ?K^hvI&}ER(PPI?oIG{u@|COCuHU$M>*1rvPo6$| z{^I4UkDoq&`TFhqkDtFl{$d11Dhxn;hUPCppud<{SeRMZLH=T7DhGL7kcCyzkWI)j zkUgUvB{QuOuED?}#K^$P#MsKv5~5*Q_%Be+ zA_cM`wIVak$|%CzZiMM*)O{-rA`HRVl(%xd2@el9>x~2}Y^9cF(s? zpkiUTV$a;f^i-eJy!4U`21BFz%S*Qcr3F!?!!uKWvZnD@z}uyo|tyFA!2 z#C{CX!|*P$Jg@Q5^J7T(meY9;<;<(;Wjp8LcFZ2*pYO>KjIOXJ9C!#xMC;3oUsWs1gZM2Mq%ds@y3| zuo20CoU-PeEw4MO znpiTmY=35M#j1-ZSI=(lUc44Af-6i*E*6THQfh_M3ey#{D>Q1o_>wDKdgaS5zsgk` z(x;`SEjMf4N~@i_bR7SlyM^w(^g3uDl|~vm^048fj5?8PQ)Zev^R(%+%=(~4=h(hc zqYrYwrbdU_B9^wEJ*h!#_QM3N>qHkb5aUE3Zhwma5}FsY=#&yKa*J6kj6 V1^}z&hams}002ovPDHLkV1l@NkWl~t diff --git a/mods/ITEMS/mcl_signs/textures/_i_grave_.png b/mods/ITEMS/mcl_signs/textures/_i_grave_.png index 1e22126791698a919a29b070ea8dc01555a03930..7c68cb968c9f5d7b14111b6e632f2a7ac7032e11 100644 GIT binary patch literal 1857 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}TnA40%ArM21XzY|J4mb5!4U{^+y5K? zA20}bxp}$)Edn_cNc_Le;LO0m#>URZ%E8Xg&dJHa#UsMY!_CbjDJ0AX!XqN1l2cOC(lau%ic3n%$}1|Xnp;}i+B-VC zCQY6)b=ve9GiNPYykzOJeA&aSFc^aar4&0 zM~|O8efIpt%U2&ieg5+G+xH(oe}VkP2#i!1!0InSpud<{SeRMZLH=T7DhFa_K^9g; zLpCADK=#B!VI`wR4iTq`3pXC*R5lL!AevNkkxNX)UvB{QuOuED?}#0XgO8Cw}zLNqK3 z{{^aFq(C;LR%E7GIc1g<2c#ASC*~I9q%v6OD1eaATRU~2Dn+;|7oaObGIK#L!6;Ri zpD~I8Di($-_RLL8PxVR7OE1Y_Ff^*aymTv2S`bw_JTnC-YZ^bbNgpUF36~7cPb(=; aEJ|fSD#|^3T!3{S1B0ilpUXO@geCx3JpPmb delta 849 zcmV-X1FrnR4(0}s8Gi-<0063BcP#(_0@Qj`SaechcOY@z}uyo|tyFA!2 z#C{CX!|*P$Jg@Q5^J7T(meY9;<;<(;Wjp8LcFZ2*pYO>KjIOXJ9C!#xMC;3oUv&pEvSwyHW2Hed7-vIg&1+1 zl&DjsNn`ho8kU%Nu%Tyei2IVc7#D6EN?MgB8}RfX4mJ(c1Y&-yg|^?a{WWrU?gULH z7$eO1sfMqFzf&KE=3J>u6#b49(gN$^mD5Y1GWRb7k}T ze|#CcB=frxBb8I{{e%5 zmz$>>&?1mCfyDpY49*N3Y;5dotQ_p@?3|n&Ts$JYJlxzol0w4#BC=BQaIzCa$}%z<=9)SNh9)K^^6Hkh7DhID#wJD}Ll`+ZIeEBwBzSoxj1*-QjYtOn4=@OF z09};D%&5e`B*@4t$oT&VgFMiktc+j)^dlHBGBLBTvaxe;a&ZF{Y!v{76f+YGGb<|# z(7TMaKzRlhK~^C}Lq|5@z(jVXLJ_0Ji3>TDoi-j64Z8S2#W<;`iIYoATtZSxRZU$( zQ_IBE%-q7#%Gt%$&E3P(D>x)HEIcAIDmf)JEj=SMtGJ}Jth}PKs=1}Lt-YhOYtrN? zQ>RUzF>}_U#Y>hhTfSoDs!f}>Y~8kf$Ie}c4j(ys?D&b3r!HN-a`oEv8#iw~eDwIq z(`V0LynOZX)8{W=zkUDl^B2fpjKD~R0j&NK1p14Kg@u`g9po=Yrg9)=7Gz;nG-MNU z3}jC%6jm~7?MniLsTTB}Bur@L!8U=cdFdq?42DMamzQn@N(-V&hi9e$WliI!Ht7Q;CE=36`DrEPiAAXl XNJY74j|;HkV_@)f^>bP0l+XkKlfL`H delta 844 zcmV-S1GD_T4)F$%8Gi-<0063BcP#(_0@8X^SaechcOYy&72Pd8%R_AY1w$lg<$BCx>wj0s^*+GTmLJdZVA~M; zHbghWXOZQ3^|zjHL&BGw_H!tETul$l*%!BMb{l_vPKID~g+1ZGLr5a-zPt!#AVn%# z!JUP8Nh11+cF8}8UC8zQ;N5yJv5R%fVIm=h*S=HQGb?l_MmtmlyVNssD?|?x3d;h#}XTebU5nN%Ic3c`TV7{W zHL+xB*?-L3id7d+uAbf8y?8BL1V@;bTr3nXrPKDc}~cMIKn>2=URDvdOBT=4sPsne|4E_O^YZ zMla+(r$(FFB9=})yHkVM?2idr$B8axAjXM6+y{D4^ z0FiARLgND!2{QnP*+5PJ001CKL_t&t*JEHH2mHq?%ZR3e5vO)0Y}zRlgjw*Ppf3PC W6$J(y#D*XM00001GWRb7k}TSkhZ6bV+hCfUO_QmvAUQh^kMk%5tsuAzahp>c?zxs|c8 zm8q$=fq|8QLE@GVStuHE^HVa@D&ZOoEJBP7tW1op3@srVmWBTU`I^Dg)z4*}Q$iB} DMfXfm delta 64 zcmZ3?6g)xFij9GRVO2u8E|8M)ba4!+U`$@X_oKhdP}Q*XfFuj6q3$9+1_mBi?yn1f S#h3wAF?hQAxvX1GWRb7k}TSkb$R*V+hCf3pXlQ@LxX$Dzy3ATCUR;W z;}A}5(P)tTGheV>w19!3^#i9!#0evi!&FOLBT7;dOH!?pi&B9UgOP!ek*=YEuAy;= zp}Cc@v6ZQ*wt<0_fkEPy4_PQ0a`RI%(<FVdQ I&MBb@0463-TL1t6 delta 69 zcmZ3%6fr^4o{fQlVO2u8E|8M$zklT5}gq<_A{wL4ylw@Fd XRKx$VcIjUcpi%};S3j3^P61GWRb7k}T`sfGcI01HI`f#8B3s$k*AAe2*>r- zvyNN`90ZsS7Tx$?e^X{tG53+lX1vSH9

joidU8GuPD8^$Eu{xPI=gU`RgADfa1b z=t7{ITv8)E(>y)37&w4N0Wl*B10#?Hat!gJF)}kS1L-^hz%K;7(n`3fY=Dg76H-|fOrWIbAX`^P$@_?jCS|*4Nx%BGc?e%U@$T; zw6roXwlXqQFf_0-HMBA`LvmXdP#4T?AR}OI;{vjop>ALUs$oN7i$d8TKQJ;u{3rm@ z3uPOFqXp)+|2O_WU=Z+f^K=7R1ac;j_=$VSiD#0X>vBPS;(4>ykl zFRz4=qKu*u$>9G120;#>i?Wy*l^B==8JPtc{~uwH2fCA$5e$HS1OrAUW)@a9b`DN1 zZlHp#0-%s$W@2GxWn}?+m$4Qo&%h$cDx_%W$R-?^$gWfnAuRebI{N?Mn?>~P20{M#(7^yIT)n9@@e=)JJFtf0O z{Kd#r4#doYEUb!#Y(kEK?1_cKN=A(wB2E(*Zam1TY#j7KG^yw!mzavlL)DKUuYr9= zoX48T@)_J?2!GvT;9+J2Mjo>ugFVB~e_a|2m`3rC4FmrFHyL)n+_N5-JXK3vBT7;d zOH!?pi&B9Uuq-n&(ls>DH8c(}G`BJ~wlX! delta 824 zcmV-81IPTA4)+F-BYy(adQ@0+Qek%>aB^>EX>4U6ba`-PAZ2)IW&i+q+U=HGvgIZW zMgJK^hJYl5#BeZ=s>~q6&j!=y)i+(0PChS`4VHxjS^_(azy6%z4-^tjA*p#TIY*RK zQsIh@$GhAu#kB8t(bLkqJj8ZhFhqh@?#DcieuZ4011uf+^?xo8b_}r}L-a7bi!9Hp zfAstq629eho?m_WFC}j`JsD?|?w_OXWV~GvKI%r;~El?pwG$$qMRB6)KZKH-M zCLU~PnH%E1WG=>q+lG=>rO5_7J&1!%12ut|A9JDYw`_ln9G*KtlL^KMBYvvkE8*|d zhoL!F>Jml28dErs$@(#X5W%-%G9(}nGY$#L6ph)45Jv}}ikY({zCeIfxl@>6Ba#8fdHKc| zqpi!zw-`qYK&WIfpuq+Ltdtb_W66<2Ro8i>s##54i`FbTWz9KTUT0J_v1Dr5%-o7q z7f-I9-GAJ@cr9E6N0^peEEF%L)C#8+rYlBQXw-V~C0Dxi%9mY!m8&+SPfJZ(Zq~e& zRy%j;*#13t3*CF^bbjSjU% zENwk|QiIs+hY4E8i7sX!#)&}O76BwQFJ{pxC1YOX7PD9wn?f1XNEe(=ix>!|L9CM= z?4IO)$t`I5SKRoY$c2UO{~#9@xrn zzZ&>9^lj+d(E6*G9lv(rZ*A0erSG1c%#krHO5+0+2{RCyZcr)!001aSL_t&t*JEHH z02mqm!$}4PhW}8^z`*by#y}HgU|?YQ&x9;S0000Mu?zXvflZqL00001GWRb7k}TSkdmj1V+hCf3pXlSZhU1GWRb7k}TSkfx`LV+hCfm@vQ#X z|AJ;o&PYavo}Fx>2~Xz#25M3*ag8WRNi0dVN-jzTQVd20Mn<}Z2D*mEA%^Bw#>Q5r zrrHJuRt5%%TRvo=Xvob^$xN$+YcQ|~F*2|+F}5h^T$2Ghm-9U$G>zI?f`KHhC|0Vey){t RxCT_j;OXk;vd$@?2>>Q25`h2! diff --git a/mods/ITEMS/mcl_signs/textures/_lt.png b/mods/ITEMS/mcl_signs/textures/_lt.png index 54295121ea5a25b72bbb81978df98aee5649543f..a1b9d2ff8e93d895a6ee838e28f10e73ee763ff3 100644 GIT binary patch literal 1808 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}T`sfGcI01HI`f#8B3s$wx^3@2*>r_ zGaGps6a)@C%>G+$##(hzF(@|i=nUPs90|ELVUO)o58RJWU>2FnF2c+)^90Z_E~yco zX`Y^13>-i+fS8emff2|8xq}hP<^i&q7?~NEfpi`aOEI#7)sz6)(ol8{kgWk!1JcU` z#D_WTR(nVgxdTk&}~?hnq)&msi3_QAW{- zWbpq0gCGacMOn;@N(@YbjLd?J|Bo=p1Kr8W2nIkuf&n8FGYcylI|nBhH&DS=0Z>RW zGqEtUva$fZ%UBDPXJ8Rz6;d>GWD^cdWLGK_F>0K+kVDyN<3Z7&iyu^slZu)+xx~aJ zB&Af<)HO7Muc{znEB9m|56C{$gY*2V!PH z7FI<=HX+AA_QXPAC8I_T5vPd@Hy-3vHV*nAnpAX=OH9S&q3TDF*T6m_&SOnv`3&wc zguiYv@Gvt1Bac~-!Jgsgzb=ghOrv2Nn z%Q7P)T|)z1L*o!bb1P$GD^pW#0|P4qgTyT#KqVPMLvDUbW?Cg&gMmeek%5(ov6Z1E zM8mT1U!dwj3S>iSMP{0nQ)WqVKx$ENVs1fBDuacN0tgAcwNnSGQiQ8=0lFe2GZ*9% zj8c_TE9@pvu`pb*XKrG8s!wWOdPxR@p;7(irCWj0f~eBrnJGY7)A*@P`anrZxMXmC dT1k0gQ7QvcQSRB};tN#7;OXk;vd$@?2>`X2?{feE delta 802 zcmV+-1Ks?P4&ernBYy(adQ@0+Qek%>aB^>EX>4U6ba`-PAZ2)IW&i+q+U=HGvgIZW zMgJK^hJYl5#BeZ=s>~q6&j!=y)i+(0PChS`4VHxjS^_(azy6%z4-^tjA*p#TIY*RK zQsIh@$GhAu#kB8t(bLkqJj8ZhFhqh@?#DcieuZ4011uf+^?xo8b_}r}L-a7bi!9Hp zfAstq629ehoG|!2NKEmyyu@zK?sJZN zbv0!~Du=VEAAd{PJt$rXrR-rD)o>~LwrfFkEU|%D2h9t$1uDdd=A=ZODoq-@ZPYNu z#Dfhjb3@#h%*D8H+fdS~G}(Zs2XT;Spe7LWV=lD)mhG>R!*eHSGQk*O#7{MRCH$TG zFf`{%U83lBoRAin7q6VgG#0sahZYdfJTcWB-(AB?-hadwu#1`QFgq4l<8_<3l%BaI zo3lVqV+sc{Sw994BKTHJh6Ds+#vwtOqA?p0;^^R0F>{v07YL9lcM211L^9wwFW(qr zv~^ke7UO6E2$d`bG}u6Zm69TVEID$h>N<~9HLIy>(V8WvtT|`P>x`-p#sn}53(uZ4@?2-A{_h2o`@TH&<9bj9cjjao0hB; zYUeH;+rQ^-p?fdA4jM?Mk%o>uZ1^anPUPB@nWoM>ZTc*;KB&>zwr|wvgWRvF(V@18 zrLAXAY7m?KFhT1$(ZvkJI1z~3B7lVE#Vk6d#AA!xVipTyQz(NP>4MW~5d*M0g*8*G~)vm2{RiFyosU!000t6L_t&t*JEHH g68y)_z|SEJ0AMl%{LIQM{Qv*}07*qoM6N<$f@XJwG5`Po diff --git a/mods/ITEMS/mcl_signs/textures/_m.png b/mods/ITEMS/mcl_signs/textures/_m.png index e4110bbb03996ea54ae61aa66cebd6e9e0c84b96..9c9c691d8f02532816bbc62ac50540b80302bec5 100644 GIT binary patch literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJz!2%>-$FVF0QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI)Bu8WK%P)NDH8c(}G`BJ~wlX!< zHZZU!?N&S%YYgfJYD@<);T3K0RVM; BPFVl| delta 65 zcmbQo6f!~5nvH>h!7==d9*~muba4!+U`$Rqz_>!^qkQjKj^_!BSE@Ls)-y1qt>)v& TIOe7bRL0=x>gTe~DWM4fW^@yW diff --git a/mods/ITEMS/mcl_signs/textures/_m_.png b/mods/ITEMS/mcl_signs/textures/_m_.png index ac516a053cd726a5905ed8c4585132069f1fa849..c7e9fa0443f0067127b7e752a1b6930aa2bc5520 100644 GIT binary patch literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}TSkdCK|V+hCf)?Py{1_z!)i~j%LY`!J0Rk(#mP*kcoxmV)E zl?D#0G_7^3?;mBJafegTF@4cYpgz?S*NBpo#FA92CkWnhrFhVO2u8E|8M;ba4!+U`$>h^XK@n|NKWe%%(UjoT*_l*@%I`MuG23 TLxHR~P#J@#tDnm{r-UW|diE2g diff --git a/mods/ITEMS/mcl_signs/textures/_macron.png b/mods/ITEMS/mcl_signs/textures/_macron.png index ffb9dfd77c16545a593c7054314a9164f4b54932..738a4374eada562157956e792dc82b85a9f59c58 100644 GIT binary patch literal 1832 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}TWic}PKf)jnbSEn#7y$ha z28>M1EUawo9GqO-Km}U`Kq1A<#KO$V$^!H*V=Yjgfklv2NYT)dO*k--U8zvSsBz*# z4rQl}2StM}eo!$^Dr(~75)+q@lu}hw*U;25F*P%{u(Wb^admU|@bn4}2@MO6h>S{3 zNli=7$jmA(DJ?6nsH|#kX>Duo=Zc#u=sIOv0DQqe^& zF%^@CsvkjK1N)3Pk2R6yGq}eP{<_7$!^{YbJZ3=#dxoF?x-=Frjp8922K@hTGTblO zmxgeKdl&TX~CoKdj7KSVK%uP&B^-0Z3FUepqG^)S6bSqF= x5LG%nGX*GX8b7s3A1EmamkiEND=AMbN@YMQ$~}8rfK?m=gQu&X%Q~loCIDv$^bi05 delta 832 zcmV-G1Hb&J4%Y^d8Gi-<0063BcP#(_0@iv|SaechcOYJ)3ZFpwqGzrf?lr2Jb$)+gHa=hLalLx~oD9L}3VXtVhmb_HzPt!l zAVn&ALCZqCBne{?Lz~23$1ddhI(WCyyV%9L5`Z#n%na(M0p zO(qy4%=l2lE8$n_&Cr}Hb%~;1aY9;PUA%G{%UI-A3x6#jpt)nJXME2Z9`YtWfL+Y= z46|c{H6E9VL+PGda&i{vX-r{5ChOY(LImH6#gKqN%(x^dQ#58HLL41@Dpt;t_y7S? zkoY=4fR&OWe=Iq2sOq|pR5h!qYtfn|r>r?= z%j=G+CV!SpEt{EJvFhT<)w7$s7q5kj;0n`{i-qE)lv?4m!gRXNJ1KIBM;9{I4t zk8;$8^l7PS%gvg%(rV`}9ml`tZlQZGy$%{krICh?JZ$(VqfX@7l$oZ^JZ<_cv)-uD zKDJNP=pDJwsnMpkh^14{?$jVQdow}nI?=@p#D6#uh}$B7gyzL8I;F&m++r3B<4`Dr z8tH=5X%Pd#G>CQ5joqExr`&?3zv9M!A{Q3A|3NM+ber5qZZD|ydVW#l1hh`!ifNRI ziwz3HD|=nvq%Zg3Uk!X4`Zn}!X#K009skwBZ@^P`n`ftCi2wiq32;bRa{vG?BLDy{ zBawR!Hsb>o4J9$nmR)}U000z8L_t&t*JEJ70vH(>82&R1djJ6B009B}ib2@`0000< KMNUMnLSTXk^M?EY diff --git a/mods/ITEMS/mcl_signs/textures/_mn.png b/mods/ITEMS/mcl_signs/textures/_mn.png index 2230e10653a4fa79ac8c4f82e661fbe6f52c4893..63a9e67baef733490046c575f5b05432510b6db9 100644 GIT binary patch literal 1836 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}TH%U#76wKj3*<&dD4Pe!W@2P! zU35+00Nk zumRPuA+bfFY>*!qnIL`?0O^IYjlppRbKCzL{~s_2c)5AH0WAVK6G;5O&EU+y!N$hU z#>&CY&d$ln!NnuO%frphBPk@zFCr@?FDEM{Bcq_Ar>>x+qbwt%VXmoTU}$1uBCl>~ zYhh%gXKZ2wGK7(nlaq&=M}n7E!bnj@(THU5{{Vv^2hc@X%#2D5OoEKef{g!L#8U=cdFdq?42DMa zmzQn@N(-V&hi9e$WliI!Ht7Q;CE=36`DrEPiAAXlNJY74j|;GxV_@)f^>bP0l+XkK Dwh!=l delta 835 zcmV-J1HAmK4(SGv8Gi-<0063BcP#(_0@Zp{SaechcOY!RwJb#XUgI0%Hb^P$5M6=iWfpDdss#_T#CN!T2LKJY#`P_^FnQb3NfNN zDN(0Nlg4fvHB2$_U_;B?5cef>F)rLTl(Z^MHsI+&9Bdk>3B>%E3vIt;`)lOz+zFaY zFh&^hQw?7Uf2TeS&AC#SDEb{Iqy^^1E2lAyMQ+`p1%CuIPfT^kch~TeH}M7RVx~LH zjs@0u-6k%jXKu;nEYQ=K!huZIj{$@Tz7>-p0fCrtNKmF|%tnMbI`~w~oF(xE0;I~F z!UP+U3^>lqH^vxkT~@xuI9dQgC5r(KHV|N?q{tsjjvT7G&LdULYU*0FX2~gQ&e`%h zqpFD|Q-8~5=2on_cyjgZ=I+I7;UYM~wB%x;cqye;IIS>UF}gyd){8H>(xq3v?DDHz zwIO|4YT9zM=B>2axl70P@3~v(-b=5822yFHp(76)KFX*Qxi)2{sWVTTKFh2RYIL^k z8#VeM_iJi&s4Ze?>)DeU#AZKC&^k_ZF#|D91b^bT2q2+(F^f(q@gldF#lqMW%AiKN z;B;EVKrjtro%CS$B=<{hLDRqD#{WbvEOh?|xv&H zC=9Rcb$ye5yAA)-$FVF0QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI8ZuQ0W<=L z8Ce(@fh>@J7@=$)Ae)JinSmKd=K--4BP&=<36L!fW!C`N8bCE5y-YxC$jHP1(g*Y^ zgAtG|0;DGZ@e&~B07D(1QjlsG?e6ItpkSnDXrO1oU}RuuX=Pw+Wn`#eXkukxWMyiE z_WTR(nVgxdTk&}~?hnq)&msi3_QAW{-Wbpq0gCGac zMGef1N(@YbjLd?J|Bo=p1Kr8W2nGwh=DOELf4NWZ* zQ!{f5ODks=S2uSLPp{yR(6I1`$f)F$)U@=B%&g*)(z5c3%Btp;*0%PJ&aO$5r%atT zea6gLixw|gx@`H1m8&*w-m-Pu_8mKS9XfpE=&|D`PM*4S`O4L6*Kgds_3+W-Cr_U} zfAR9w$4{TXeEs(Q$Io9Ne=!0h6$T(aL-Us)&|gd}EX*wIAb&A3m4iGk$ik{<$R^|% z$evgztYp;4A>uS~;l_iU%Emz-M3agxa*3&!JXHM%@*3D@#CfcVET6$WhVa)d1|DWc zVB|3iGT1Zx{MV(ifN2zu*f8M#f0Kd#?!r)D@>VTzjVMV;EJ?LWE=mPbz_QTDNY~In z*U&h`(A>({*viyY+rYrez#wtUhb$Bgx%nxXX_asd1{NVk2397rREdy$h z0@;vSk(p-Ylvz?7kXjU+m|KvO%3z_R0761J delta 848 zcmV-W1F!u14&?@r8Gi-<002Q(%q{=`0@Qj`SaechcOY4nJ= zkH_*5yD^%N(SNVqm6#Bz6!xaxwz5W0JP}G+(-NxTrx@F+8P&1H3Std3Pt+PH6C>IK z+1aSjpuYM_6-$iV+0Zjr#C^(Kj5Alc5TMdv1D+PdL8F42K+Lzb(DIv?ze*0zjiAW{ zV}u#+YWPU_C-r7%jG4MbhhK5>1(;{nU>TF#Y@r1NG=FwXb;Wnp@Q^ph1K7z-SC}0e zEXR47IF;_XC5y8_PmdTjWU{smAVl!3SPTgW9En6J(P7L+gg83*6s(*j@(BW@%8kMR z8<7M!&eJ#M7%g2^zQnj%074~+0SyiiV8y7&AB&D0Dk>U-swOpc&03PAm^7tiY2H!A z#G?Ly+Tw$71wvavNTnd~Pm@b%Ipi#=nr=0QBGo5z&na@&@ zJ~dXYsao}#YiZo1;rO@IEHrPql};V0)MMA4x^?flmw{XxGUCvYh7BKilp8hL$M%UD zy^#By8f|KmSX_E`rv|avn+clNiB4u9#*skWCVv4WG*4!SQ;a;xO=d@C913MnBb{&> zO=2JzJFyPBvAdJ|lv~jFTip0px24u|c7G zVK4KW^v8YpTLWK)z6^aC`X3ApTo?Fr8GZtwQ(uANY^XX2PYCbO}Z*b}%CI{}XK#R@Dp) a3=9Bwas~yNChPYA0000-$FVF0QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI)Bu8WK%P)Oa=#W95AdhgkVf((WXEeH0#-=D6eY;VDGxag;im&b+^ z6aJcCxVMbG`~)}eZH-zfpcd5<*NBpo#FA92CkWnhrF CEKaom delta 65 zcmbQw6f!~5nvH>h!7==d9*~muba4!+U`$>h{G;FH|M3YfX_HkO4Wtk2y<%h#s^$G$ TWoG>!sEonW)z4*}Q$iB}gvu1u diff --git a/mods/ITEMS/mcl_signs/textures/_n_.png b/mods/ITEMS/mcl_signs/textures/_n_.png index b96f27c626b54e45bf4dbc8144990c4270848556..430227892f830b83cf072c0751b42004f345c4d9 100644 GIT binary patch literal 298 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJz!2%>-$FVF0QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI)Bu8WK%P{_#B#W95Adhc07E(Qew=7XI-{_D?gEx5(8jQi#WP4&a8 zeOg!SWnsA)ad-YPle8T!KPT&z6|zfI1Q*grjVMV;EJ?LWE=mPb3`Pb*|0 delta 72 zcmZ3*6g@%GiH(7Q!7==d9*|PQ{7( aWng%7M)3VJsgj#O)eN4lelF{r5}E)}`WXHI diff --git a/mods/ITEMS/mcl_signs/textures/_n_tilde.png b/mods/ITEMS/mcl_signs/textures/_n_tilde.png index 47166911691819df67bcb65375f3992fddf7c767..cfc1c626c9e3bb7c758f228ffa7fb9799738fcad 100644 GIT binary patch literal 1925 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 delta 856 zcmV-e1E>6n5AOz$8Gi-<002Q(%q{=`0@iv|SaechcOY!5rT|6kRX39btPGvuG5RP)Z?zK0#F&|Nb+> zH#AD*A*p#TIY+cqQsIh$$6LGg6w`j*T0T9!>O*Yj1w$q1<$u_ZV_%`y#{^49f4%C1 z9Y^fP5#1f{CM)t9A3Hyegl~E}-$Oa`YI@qv`EWaKkMsBM$&ie$@FyI22uZ}#R}{et zq)0_Cc(M>LjbcoYrLoU*7e4a(p1k|$EqAdVy}YI(+$rR@934IBn_li=_+>@(i2U-x zB&PV>o^m&5_kTIZZFerOBb1^R5Hk7o4CL8edAPy1@)C6k2uZ4Epvg0*!MD7Gj zCO9L^_(8&F%0H32qd8aU5=Fn|$v0qLHH~E~a_b2zAb+5Fa;iJOTf$S_#3!(eneH?@ zHdy0zb8#s>YD+d}ft|(_4rH=^93VxAtym0dIZ@0gY|0dk*@%!w2cL?Svn0MifK<6t zm|!E40mpg8#vG$<%gQ%3t`>k$$zni*0|ZzpDeA|PqlT)Arl6`>O;9$dhsP!y7bDIU4E6T zHk40GOivcj-9(J$DP;d+Bx1Kq-whbmU>fM;UdZ)~3ufb>?Z)XPNa*jn1)s zp+;}yeoc)IwM8s#J9|)r+U&yxt?NV=GZ5oMAb)O)01BEHv*?r(FLH}nEQ~{;3~Hnc zPNzi-1k)haNq2S+a=+vjH2oGg{u#Nj(ES(W!a{e*{mAVTYQ64X6xo2*DO@>?GI6oN zV0dM(>o@6-`|!68z8rly`f~Jta5QmU;Lm0F4!#hT#I12$CIA2c32;bRa{vG?BLDy{ zBawR!PU8a=4htNC2)2I!001mWL_t&-(_>&jfd6PTZb7Vo5lIyzHXZ-b*-SVjQ6x}| iV!~o4T!OF@DFXoTtP2A824Ua;0000sQ9d%*3n9>wqtx-oL01=B95a7Qf%uK1TDmv?YX?9?T=c2u*umy_nzbjuvfYokccGU@JI>LqHbro zd^c+dO>AqeDo5=YHB4~QExRx>rDD`+tnT2f)V?rSYhrF-^n0kxS-$P`f&pT^NpeVJ z43fJR{=viOTI72e+1xN{Z_qaG{a%LACa@Pj&SMo z!du5Gbj@{j2A>Mu#?|Rzg_*OPywAkgJ7jHFCn+%6y{!x*YYRqA##L9fPm`aCUvOxQ z_NE;<*h;pDyRu~7)@xH?c3X$F{jj!i=L!=>x^ZGBMn7S6>5Ip9`D?;ZRk^(1$Ol4s z)#{0BpXXszS$4=;Kj!V1BfM5>=ZlJRFKTK_mimNuPN+RLkCv3~xPfb$ z(~~hOz1uE!u9G<`Pk>;H_1u##$cYm>>33m2Pa(Uryqk0m&%L0vdt0AQxsOrBb&On2 zJe0i@X}g1SL2xVin?1By+%=Cmf>zjznoz4V@{M`L4E0qU%4`2$Yl-ol@cT96;Ug1l ziBGj;m@H;ZdcGM3s7MqwPN^8DR2h|#8kI^D5fQ3TKwUB&Z)57wtAw1~jO@(i0||;K zBc;%&RT^bt1{Gv_qdo~hh>oAG|0;Gt@n8P;@%sP( delta 1256 zcmVaB^>EX>4U6ba`-PAZ2)IW&i+q+U-_bk|n1O z{AU$j0zwFhd})6-{rh~s&XU}E%qZ_9e-H`wL<1%J(ty??d`eH({mr{^Ippzmh=4kNawNi`{?U^RwQEz{Ba6tF>%Dzb`%BzuH4Ww zu8ApaOU9U4kNqdP3#EOZyw~VU?qYlF{5cgNmS;lwlB35?@_p`3hCU*q_sE|fczY53 zWA1#K`?{-Zxql#2B|M9ITgn+>BGQ@pyjIW@|AMieR?!Sg9AIpM&5kw#RZ7UVQ>ICc zoYv_F4M5CkB}JdoK;E~_SW``dF9m4iNkPvHY~W^qHHJC8u+WKHPrQLGFykc5Oay0y zH-2d0JL9jkmm~KrU7~0=Pml$0rLAee*v#!KW`Pj$Cx54M@_SnNpqu!CSO$Y~(rj2@ zi~YLjLhst*!!u)^#2n(?8l>}afD|FN01Po0h=o|FP}G!^2zfN{(||m2P8|%8NSYKJ z+%OlAV`<06J4$D6l61`|Eg(X;V3XM1Kp-n;fqpa_G}MG82N5ZvVp63QF1bi4Ma!;H zOjyBWeiS0kj)G%$<*%mEGY2_uWEM2zhY7VVAdv@{S>gLtki#2+-?I+gg z3v++Y8a=FS#`2k`@2tVB`sRXmIg!m77)zPJxPNX2An3F?i$*!8&D`cJ)`U$V39ON9 zawcuYz+hgK#OcM|J9B@^Taf&hcuPNHE^O-l3FgA4?qTjn-o9aNwsWHJA!zTyozuvU z!iEXUTC%p!q+jmC-*xbRcI5rFO6VF@XEuf@*Hx1GWRb7k}T<5a4#AfZ8IOU^c1ex!O!M^AV&DLp0K|+e z42(b)$i<9MHV=@^#K_FR45agbSc;JqtfmCWmWHxxfNTw*8jxNlAU0%VVgTs_`jo*4 z$QA+86M%RL5OaW`4p1pbHH>!m^bJrj(la#BvtTeXFtoHXFt#!>R4_EKGBva^HAZq< z7El+=Z6G6HZsP*7nW1iA1FB&|Vv9oAAU`lNLHsBH(hFr9gJTZnw*NQ&KVT5>a`SWp zS_E^(PF6}rMnOeST|r4l zSw=>~TvNxu(8R<5A1R0qH8UG()kO#Vxl@Sbpegp$XCT12^Hg*n9E^eTLtpcEsVrF7tW@TjodY7>l zD9^wm$SS00=*T7bFC}Pw&aUqAY)5e3MK^H%$7$+4qadL@?OGrwos;O&eYMGdt znOj&|IlH*JxqEne1&4%&g-1k2C8wmOrDtSj6_=Ejl~+_&HMg|3wRd!OO`1Gq>a^)I zX3ko)c*)Xb%U7&iwQ2K~t=qQm*tzS_;UhlG{sQ@n5g4g3fYo1uKz}i@urRZ*gZ#zFR1U<>N T;{vSo7#KWV{an^LB{Ts5lNtGT delta 839 zcmV-N1GxOU4(>6(3_M=t>M5qPy^8Lhp5-C7{R2ZJ=;eCNV}I*c$n`$K(v~03@?hH# z`!+;3!)KA@d5yQ8Z$rYDoc4PtdtOZs+u0AdZFU=feNTp9bcH?Pz(YtPT3=oSE07`; zy`W_wUXqBhqF=3i9J`R~$HBXeUSb#PmdkS}Ld;tszr<+ENnhl0bHh(7qPyp(AFzcK zAIn4R=IlP_xPNw6Q%0n6*qeIW$~l7Kflyx2$f$-#F}AZ7RL2$@h;`6BP+OovjA%|u z)Tz>>arTWGmY8_3p=WN0`;xgB7j7q%v?@(D;ORjeY#OKu#C%%|oqo&duaU!ZCulOk z7-7b{8a@(!rQQt9xl)%X`V}Xn1=htYr?HGhZne+?0)Lu2rh3Nrtl=SV;se;lOwTYo zHdy0vnK+d0xg{rOfu6<`He|BC4Io7Dtyl~R2*iv_f-*&8HX_8)!KY&7EQt>gAXV-Z zCfJB%z;Rx_F~{iCW#vnZs|6rbvKY|d00CA?iu|$U$f2t1K2p`JrmjV6mYlNYoGq_A zs+w3bwSR18ZpEsLCs)sI?q0kWE`lpeOD-0Qmr`nl(+blSvnw=eJ@}9#9eU)$4nN9K z8`7txrY$#X-b$;TyL24?p1Xzaz4SV0AeBZMI`XjLql`L{Yg1;LI`g#Yv&?#z(L3XApwSRH|000JJOGiWi{{a60|De66 zlaXs4J>vrv2{Sd(YJ_b7000|FL_t&t*JEIy9rzE$C;}*KCT!Z6NHUWG0080!1^=-o RiTwZo002ovPDHLkV1h{rijV*R diff --git a/mods/ITEMS/mcl_signs/textures/_o_.png b/mods/ITEMS/mcl_signs/textures/_o_.png index 44ac3cbcaf725b13c606e472bc7a1b638e8b7f04..967c240b2f3da2b84b3d2bb56fb4caf4e606c5ec 100644 GIT binary patch literal 1849 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}TXk{aQe=IN=$zyUM>h#6TJ z7=bL1gBhW09w3{Ek(q%RNaq2u6eBBGO$m@K4Q1B=*&0AKAiYdLY{>Qk2+&~3e1wbLi%*4XX%E|)tE@LfF zo`FS>RY=j$kxe)-kzJ`!#HexNLJno8jR!@8E`CrkPAY2R|V^&07y2J$~}^+4C1K zUw!=a`ODXD-+%o41@adoFj8RvtG@(+{$gTbVP;_m`HPXM9Eh0(Sy&Yf*@PSe*%J$e zm5drWM4Tor+<1^v**NHfXj0KdE-@98hpHbzUIY7#IFB`vDH8c(} zG`BJ~wlX!}03!+MgXQlvUP2;CF=>sJt;gZ4mX(i=}MX3x(MY(5> S3$V^(VDNPHb6Mw<&;$VaX8Rfd delta 840 zcmV-O1GoIS4(y&72Pd8%R_AY1w$lg<$BCx>wj0s^*+GTmLJdZVA~M; zHbghWXOZQ3^|zjHL&BGw_H!tETul$l*%!BMb{l_vPKID~g+1ZGLr5a-zPt!#AVn%# z!JUP8Nh11+rzQU&b|KgIgLmt_#4gq?m*-G~n72ZHiP4smzR2a~hM#6cch65RL}H4M z$9EdZgC#efDI2(VI8mWn=;eXnWs&kW!4)t+S~St z8oiMFoEmLviK>`o10vp*(i9Vfb&ffy$OaerF`kkGuCMW>W_kz34SVQdOzP$OM% zIxS)#mH`;=SI^jF;YBXVJ(`yb@OLbu7i<@OG>Ue7OzoPgFYTrrI@aj-#Q zcxA8aoAl*2{HuX)L*ItJ4XwY5+3{-^egidncAxsyFTVf)00v@9M??Vs0RI60puMM) z0Fi7RKH~!w2{Zu6nAV8^0010GL_t&t*JEIy3iuDjC;}*KCT!Y>7sP211pojx=LP|V Sj5A&U00001GWRb7k}Tb6Doz z|C>BZokUYQ+0`eWv&vn}V#K;Jz-gVe+=`hWDk}<^vz~DCshP^l10C;@8sVAd>8ZuQ z0W=4Q8Ce(@fh>@_8KG<*Ae)JinSmKd=K--4BP&=<36L!fW!C`N8bCE5y&!dlj7$t5 zeL(**7y;QLKzafYF9Bi>Fa&u8q#8!Md-?__80i@r=vgor85mkx85mm`87df>S{WKz znV2HEEeoU*>Nb!OFt>35+00NkumRPuA+be~+{VZR@uL7pFO+Qzjz5^&{@?ijfI+~^ z&C?BN5y+W9;{R<1X9f;7Hg+~v4t92SPEHOk9uZz1Zf+h)Az^+ISt)rrSt%JA1rutI~XuBF|)9;v2$>8aRU`>6##`4GZPClD=Q1o zyNtC!c?K3iRv|@0M>gTWM0TY@5u?V53ptdXHXalWy7)oGIH{I3zSIJR&kGIVCkMJtH%#xTLhKyrQzIxuvzOy`!^h(&Q;q zr%j(RbJn88OO`HMzGCI7O`ErD-L`$l&RvHNA31vL_=%IJE?vHI_1g6tH*Y zWKS#c@69{;yl(wme1fGL-^|!0}nGJ zF!GoM8SEK;{_E0Mz%+`7Y#8wWzsc}A_3&9>@>DHxjVMV;EJ?LWE=mPbz_QH9NY~In z*U&h`(A>({*viyY+rYrez#wtU2T)0d(2$#-l9^Ts*I-}~Vq{=tVr*q-3DK}D{1>Qt zkpkI}T9KJ%<&;@c9FSTRoS0jXlgePBqX0reZ|&59suba>T!5|!$;<`01fx_HJ0=M# znT6qsJ#!P&Q+-nN(n~TJ42|k9FWm~17DSZ}&rAWzn#NCU(g#XP!X<ud3Dt#{hRy6y5TMTmJjP8JyOnkDTW^T}Z+FXnaw*@85LW2!>dJqSj25JH`-{wMV+_J`N4dbvym;m`rZLIQJAb@@fX3ETm%ginhrEdoU?($O zGCLMn<8g&JlFL55ynth-AQVo@1kr(eh>G%Z#ICZVky|K!XhgSScy;$C4w5s?PIBRkND97Oh!w%9?Yw zJkO|VVt>ihvYELRt1g~gJ-fMk@mjbDjxa5`SSVgfsTG4(gs$ja;Zf_shaBn9BOiA7 zQI6V>J}otExmoj8TJ7AWWBd2qEp+dt*ON}9(wR;@^J%A_<*Wm_He{rsBM%!s%BVML zw72aOHF`(xb857yO=4;J*_|59W^W;A9w$1Pfqxh$0&$xJkkCAtMW>W_lAFw8VQdOz zP$QjiI!$6Am`-9HbYpiX_bIoa>94r)pU8!Y?thRA6Wu2Fk=qMuy{<2cEI@M?PEDf> z9Bgnny|UN&P5N>j{x!gNpzlE6f#$!8(eYm`{03qN*0x0e001IML_t&t*JEHH0{kZ^fK%IlT-yFKFfcGMVbjJ$l9?0$ Y0DXrC{c&W3p8x;=07*qoM6N<$f`GD%Pyhe` diff --git a/mods/ITEMS/mcl_signs/textures/_o_acute_.png b/mods/ITEMS/mcl_signs/textures/_o_acute_.png index e25a3a7f4bc6539faa439be3823ee92cd263c5f7..9279670faf48cd148ffae3d773555842d5d4d7ec 100644 GIT binary patch literal 1855 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}T92+uT6Pb~%x zpfNzq$ilz~WPzN`2xapC*-VVg49q|}4~V50S;1;bfNW_fy9UVC0IC7$1*tP+WMTm6 z1A3Ri2*?%z(i4Dq2@rFDA;>2n)iB!K(>FlDNYBtf&w|0oz|hjlz}U*jP{GjD%FxKl z&;-eCSsKGWBn3%|`TiRL}+2|RY7=a97!MAjko9 zQ5G|!5(ASUBeNjm|04|YKzFh-f&tL)V8F=4%)-jX&cVsW4OFmI02ETpOf1Z-tSmt9 zGS&j+8CV2ag%k}P*@OcV*_8@Kj2b5{ECr+Nabot8FYu9hwy!G(W<0ns_ zJ%91?)yGetzkL1n{m0K=Ab&9eBNYa)`b!Y#FD4ciW)^mkzZjXyftXp4g;mjzO~^5j zJ+V+&$*7S-#A)KfjR!fEje|ajCKX-e5>qjGsQMA)HL%Z!^H>vEK7)G<;jdc^Jj{&1 z$YT~{uxI%BuS;VA(c?zxs|c8m8q$=fq|8QLE@GVppp!sAvZrIGp!P?!N4NK$iT|P*vilnqG4J1FHr3w z1+pQvA~Vg(DYK+FAhjqsF}ENmmBB(s0fdC!+NlFoDZ*8`09_H1nG13WMybljT%-w9 zEDTrdnVXoN>XVw6UXsCJXjFfB=~ke$AgXkDW(rW&G=6H6K2TB;E*YGkR#Ki=l*)iq VlzaBL0Bb%522WQ%mvv4FO#nhJ{-OW? delta 845 zcmV-T1G424(@vLIOPkZ#aMb9N`BF ziKdX$JeQm!N-C*v#lYiLuAX9A?NxO5^ehjt?H3G@pqJ}0pMP7wLaz4-mbUzOmIvF0 z*telK&)c9(&y2y=^KD4@lGA<;WzVbWVLSUb8n4%ST(90gCqpp0!k%#8Q%E9OpI!tj zkRlbmpk*PR62+MCG~4t#b|Kf-!Mly##V*z@m*-G~n72ZH7o#mFeI2_Mp~n@`-Sg86 zk(lCRd5qoYK7Yn}?XISbNae6M^|qBYf+E71WKGMchM!_=s}@wp78{6l&^%CEphApj z4@%Uj(x7wojT)Ai_+&%R+z|IEb1^R57L+tA4L0EEK^!z1s0qY;TMI3}W%+C5@Z1TS zOfWY2eW>A;@GJFZXpEVlyH|7{ET~@xtxLN>0C5r(K4iI3aq{tsjjvT5w?;};sYU*0FX2~gQ&e`(3 zqpFD|Q-8~5=2on_cyjgZ=I+I7;Uc)gwB%x;cqye;IIS>UF}p&e)`Jf@(xFE_?C_%; zwIO|4YT9zM=B>2axl70K@3~v(-b=41ok*oKoqFcePCv_82Xbx5NJB>+Hhh#(Z`5cX z+b3%Dj@;+eXj7ZS($cd#HHgjLOwhbebTR`mPJaaAHVGi1c`}PmDe)vXnZ?356w07R zI^lGh#6U2e#5(B4?oRGgZb8#uapOOc3lrV{AQvXOP3|MN7u0%PUldt@<|&*pjWTet zLE-euUgtOI%YFD)1K)1GWRb7k}T4mb5!SM%k+y5K?A20}b zxp}$)Edn_cNc_Le;LO0m#>URZ%E8Xg&dJHa#UsMY!_CbjDJ0AlI6Eh1d8#@Ol7dKGBRsm2*F*C6+v$C=P zy~|h&lxJWOWEE00bYv3_Ok`Io6ftU?xR68HY2!iBpoX!XqN1l2cOC(lau%ic3n%$}1|Xnp;}i+B-VCCQY6) zb=ve9GiNPYykzOJeA&aSFc^aar4&0M~|O8 zefIpt%U2&ieg5+G+xH(oe}VkP2#i!1!0InSpud<{SeRMZLH=T7DhFa_K^9g;LpCAD zK=#B!VI`wR4iTq`3pXC*R5lL!AevNkkxNX)?MniLsTTB}Bur@L!8U=cdFdq?42DMamzQn@N(-V&hi9e$WliI!Ht7Q;CE=36`DrEPiAAXl XNJY74j|;HsV_@)f^>bP0l+XkKcPaqA delta 848 zcmV-W1F!tR4(JAu8Gi-<0063BcP#(_0@r#}SaechcOYz#J7Zo5275n|pB`JG1FPWoEArO@My=sxn( z3z3-O3Uv6Q69TnHzMUHW%Zl?>fttX~x4F<7x2*9RIY#aT zPbLH-^!QN1E8|znEzlSq#e4=}f1d`Lxr|a@K)d8#2<+k%tW*Wz-ur z+S~St8oeX;IW^kUCb6{q>`o14v$qg5j}x8DK!1!Afw)ZqNNAqSqEkvd$xUXlFgArU zsF6-MohC65Oee7py0N>H`;=SI^jF;YPvpWx_dm#miEfko$n6ESUe^~z7NEHcr>0Q` z4mLQPUfJvXCVjaM{~F*s(08EkK=WV4==iS|egky{ca!Yx_#6NL010qNS#tmYE+YT{ zE|Gc|?z`%q}8xu)p aQUCx(%n1AnUTBz diff --git a/mods/ITEMS/mcl_signs/textures/_o_circumflex_.png b/mods/ITEMS/mcl_signs/textures/_o_circumflex_.png index 5e4c6be6a65885ae0fb7db04e18482b2e3e9d79b..8acca66c97562b301187863b928ff48f2cca0e24 100644 GIT binary patch literal 1856 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}TBlkAsr7R}Q2esD8;qJCo8R!!+;q-NU*{+f-$hoo&p^k!q(*qAd3tIw zZ~)B#Vn!AQMj#91Zbm4Z2gqh(WM*In(s@8E#mEX)Qvzg5L)kSzwgylQNH0j8AtMt5 zNFUI@3`Rh<2#}rt#7lsf0}Mf40jY-3?w-B@3PyT{26`3@Mh1qKRtCmaMurN8rdEbV zRz?;`Zp#Acgt`r61k7z*KsGbf4QxO)Y)EWTB)2g#LHsBH(hFr9gX0h8w*NQ&KVT5> za`SWpS_E^(PF6}rMnOeS zT|r4lSw=>~TvNxu(8R<5A1R0qH8UG()kO#Vxl@Sbpeg^|aCT12^Hg*n9E^eTLtpcEsVrF7tW@Tjo zdY7>lD9^wm$SS00=*T7bFC}Pw&aUqAY)5e3MK^H%$7$+4qadL@?OGrwos;O&e zYMGdtnOj&|IlH*JxqEne1&4%&g-1k2C8wmOrDtSj6_=Ejl~+_&HMg|3wRd!OO`1Gq z>a^)IX3ko)c*)Xb%U7&iwQ2K~t=qQm*tzS_;UhlG{sQ@n5g4g3fYo1uKz}i@urRZ*gZ#zFR1U<gwG9lc3=9&td;pbX2o1UUDVb@Na190)Aw~vPCdO8VmJkig!heCP z7b%bpsTG-NR!*5E#Q~{B!HKyAIjIa5Itm~p^wv%ts7ev8$_40(kjz|=OE5}Rof)|Y zfr^FUiam1^(^Gv?^U_N)7z~Z-FE8B+lomvl4$n*h%9_ScZPEuyO2Q?B^V3So6N^$A Xkcx889v5KM$H3s}>gTe~DWM4fV}=2_ delta 853 zcmV-b1FHPM4(kSx8Gi-<0063BcP#(_0@Zp{SaechcOYZMLC!_`D#WSZdjY)3a;eQ1LG`6O?^j#%9Tk_=-^W^bC$#h2#_jw z3Il9JGT=DRvC+q9`Lgn5#?b;0Dp?F@uz>(8B}M*Na^z6ec^;{1R#VraHA_xebIz9M z8C6XznSWX~Gq+;Z#gnUNH+L^y3m3r=rX?2(#Y-u*V$h1v6}>AwYCZUnBOQ9=!wx^n zQ5({yrKT-6Yu-w$ox5~w|DL;r?!EMS(uq_$)2U}Z?ew#pbs*PT@5p^ljW)GOEG<8~Q-j&;Ed~mZZahv00009a7bBm001r{001r{ z0g-$SOXC9-4h$U5Ng%iY001dTL_t&t*JEHnfd33=;6E-225c(-GvF}mKLY~;0~0oF f#0%oIhynlr+FuC%4+V)B00000NkvXXu0mjf(+GcQ diff --git a/mods/ITEMS/mcl_signs/textures/_o_dash.png b/mods/ITEMS/mcl_signs/textures/_o_dash.png index 9e5de53d13e2b0d8818c647647cd49f1c18afdfd..0f0d638ffa4a390c840cd033694e931e98f77915 100644 GIT binary patch literal 1921 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJz!2%>-$FVF0QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fIw1U~Nf_@J#dc z)MDTO8U)0QEDVf57RXnOP&N;c&BVyezzn4GfLMx=6|ANN$d-n(Yk+JGpc;@~kUB#~ zCI*l`pobZZfNT*UJpqW905Jy`g8Twf4Wr#XeFGGX^b8I3EEtRo3@xn;jIE3e6%0** zq?M65lG_?UI-za@83A(}7m&>ibpy!#Y)EWTB)2g#LHsBH(hFr5gCYoIr{vTiv zfk}{&S&;Gn5e9jnJ6RdQ0OA!OpNW};m5rT)lZzXuV5L?6mQqXwbzED#l4gO`Kd};u4Zls%q*Q znp!5NX66=_R?aT2ZtfnQUcn)uVc`*xQOPN(Y3Ui6S;Zx#W#tu>Rn0A}ZS5VMU6UqH znL2IyjG40*Enc#8+42=DS8dw7W$U)>J9h3mboj{8W5-XNJay^vm8;jT-?(|};iJb- zo<4j2;^nK4pFV&2`tAFVpT9uqjGsQMA)HL%Z!^H>vEK7)G<;jdc^ zJj{&1$YT~{uxI%BuS;VA(c?zxs|c8m8q$=fq|8QLE@GVStuHE^HVa@D&ZOoEJBP7tW1op3@srVmWBUX z2Gk%0vLUr1GtJ5=v!pm6wJ10-w;(5#!9qs?goNJOsRLCh!d1BdT@jL*3vvlYsr=Gt zDX2yehAZ~WO-xVqNzF?y$zU)vs=vH+D^OYxRXRK~1t@EFY|iDWKuJlsWN?03NqJ&X ZDg#ng;MwB>tUDPPJYD@<);T3K0RW5-6@>r* delta 852 zcmV-a1FQUj59$Vx8Gi-<002Q(%q{=`0@Zp{SaechcOY`Q( z9*X24s(H#O9e84nnF~68T+h|g5m$XZX}9!j4@ccE7$!k0+kd}r{{p+-2Uy(p^VuG3 z2V&oW-e%qbWzNj#Y(L+DgfBbo?;-DTB|dCte@5l?TF>j%>-T67qbcGE2kt_0p!PY7 zU|I$A9S8?n+EhDuunNx2>!m93f|vH7ubRK8n7rl2II6tRU7v^F*nEGBMO1 z$j(NE2KCies#s#=&W4t`LhEUBG0t2UlsF3wHsEPN93(2J3Cw(33$1zcny->$=0@;j zLNLOJcO`se{F8DEG{#I_qQftpd;#W}(^$qNH*0tS0e_9HsV;q22@iR5Jb<0dbjj@4 zU^&h!#Hn=8Em@oeetN{PA(OQo01{zt#bQW6;7CYpN^}^r5kW@>pMsUML_R@)RJlIhTS-3qlu+F7PPjX}YE{mf^n zNS_+3)>N%}&9yXc(s2A+Y8INe+)Ag8RO+#7Pu;rr+{-|&4H@5V%>qI9r5aUQ7Zhw;i5}GHo!zo6d(uIrz_r%t2x^G9d{fD`H?m)4_;Mf)T?a eB>F!MJOTj5Ee8c%%d#r~0000-$FVF0QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI@Em&d z;{X0RvZr47CCjmxCZuesU>DrL;Q9ODo{c^p=UZ8JpSb^$?GyvInB}LXq6`eIEvXTn zX`Y^13>-kCfS8emff2|8`HK zp(&8GGO$E)TLVZZ)NLRmU~c0AvYDZ70J)zHi7krcHby3h9|b^qq3mK%6aoRnZU1ll zf50H%<>u)IvvcDq>wPbh^&;noUD|L zjDm`ux`L99vW$#|xu%YRp^1r!yt<{Wg^`V(v567L5JpZ;P9AO^30__aBSjfSBa*@Y z0}O&3Ko>PIGb%AK2{JMZGX6ipAP;mWD{yaMDiF|)9;v2$>8aRU`>6##`4GZPCl zD=Q1oyNtC!c?K3iRv|@0M>gTWM0TY@5u?V53ptdXHXalWy7)oGIH{I3zSIJR&kGIVCkMJtH%#xTLhKyrQzIxuvzOy`!^h z(&Q;qr%j(RbJn88OO`HMzGCI7O`ErD-L`$l&RvHNA31vL_=%IJE?vHI_1g6tH*YbPj7;Sqj|;M} zDjKp0IR>&P778mFHFAhJO?MniLsTTB}Bur z@L$V-8l*rrq*i36Svh5v6bGah1t;bf6h5AFt#8Gi-<002Q(%q{=`0@Zp{SaechcOY`Q( z3Pth|)jZ{t4wRT<=7NqNSGig`;(A^s?UtVH;i&rs!z5^B`+xWCUtrh!0E^pxKHG!s zK)&E#E0$dg!>v_F;{T>ZsG(|k&z+FfVJblh0 zSb=0IXa!Fe;%U*VzwG&A?ZTU`uj1W$FWMbt+vQn`aHEi3G}?C3kF{G0J+6rEGe5mB zIpXnH9<>|I$A9S8?n+EhDuunNx2>!m93f|vH7ubTK8n7rno%8FtRU7v^F*zIGBMO1 z$j(NE2KCies#s#=&W4t`LhEUBG0t2UlsGF5HsEPN96Tzh3Cw(33$1zcny->$=0@;j zLNLOJcQt%u{F8bMG{#I_qQftpd;#W}(^$qNH=pnV0)HA?Q(gM58XofIcmO+@>5|#8 z!E&5eh*RmFTe3I{{Pc)nLndoG03^cPip7wCz>$#Hl;|*KBZ7_&J_RdhiF|?psdA$* zz(ynij`N%wV~mzBD_>?@EdZgC#DE3|2(V&Q%b1nsw7KAPsUEop5$)}w0)H9uS`kBvC zkv=t6t*Kh|nrms?q~Z9t)GRb_xs^^GsnlcFp1O7KxtD=l8#3b1k%kQ)d6XM9+Q;^Z z8oiMFoEmLvlUQ7ScBclj*;@#j*NIMMAjXkE+H`;=SI_*>lgSLDJ(_b(u3HT4i3`jJB0b?^^(Zzr+@t=W#ff1Vo iBLfcY|IzHC761Sj=?VXtm+e;o00001GWRb7k}T zK<_db0ofuzdIAtH0b&j?1o;G{8b-T&`UWT%=@}a6SuhwG7+P8x7+V<`Dj1qt85&xd zSR%PC3#1e3Hjoi8w{Zd4%uqM50oAY}u|<*G#>fQmqX0-Rlx+--KA7A7-}wK4LBPw+ z(+y}5$eBRm|7`|m1`akhb~aWHc6N47P7W>}5ndi{ZXQV?VSW)=DS0_rDH$0B6+LwY zB^_lM84Yty9RouX6BBuLOIr&g8$DwaBak7CoSd9I+&mJzyb?x=GKxkdgZ~E@1UY~% z%3@|zVqg+vWEN!ne}q9E=uTEfFaY`;3>cZ1Sy&0Dr^+rDGxu0w~996fgY#K}{aE?>EN?fQ+Iw;n!v{N(Ag z=PzEq`uOSdm#^Qx|M>X}8f2KE_o9%~}YXK;@p{B?_ghnW!= zdCYxgeKdl&bOtq4q$< z!f?f&xryniKB;->B^eBcM)jAMZUssUqDqHnrT}G4!5j{v_ORz zY7a`(snVcx)r}ganD}Hv&D@~-w7D1;ZVO79g$5h&^dJs44b%i?zRiW!xMhvk$T4y! zcrqavp~r_3UKzhqZh^*_sY?|7(g|sSdGX9?Okq#e4=}f1d`Lxr|a@K)d8#2<+k%tW*Wz-ur z+S~St8oeX;IW^kUCb6{q>`o14v$qg5j}x8DK!1!Afw)ZqNNAqSqEkvd$xUXlFgArU zsF6-MohC65Oee7py0N>H`;=SI^jF;YPvpWx_dm#miEfko$n6ESUe^~z7NEHcr>0Q` z4mLQPUfJvXCVjaM{~F*s(08EkK=WV4==g&beglWica;DPB3u9f010qNS#tmYE+YT{ zE|Gc001IML_t&t*JEJ71OAgNfuZU@E^YrA7#J9suxVo=$xI3W Y0EK@C{a1GWRb7k}Tldi zK>C0lW-tP>MS%1KAYKB*9AF6Y3rIDLcK7rRP%zRnG|;nPFfuT-v@$TZGBQ*!G_^7` zvNAG2a$6QiC)8~qBVcah0>&?1mCfyDpY49*N3Y;5dotQ_p@?3|n&Ts$JYJlxzol0w4#BC=BQaIzCa$}%z<=9)SNh9)K^^6Hkh7DhID#wJD}Ll`+ZIeEBwBzSoxj1*-QjYtOn4=@OF z09};D%&5e`B*@4t$oT&VgFMiktc+j)^g9?ZGBLBTvaxe;a&ZF{Y!v{76f+YGGb<|# z(7TMaKzRlhK~^C}Lq|5@z(jVXLJ_0Ji3>TDoi-j64Z8S2#W<;`iIYoATtZSxRZU$( zQ_IBE%-q7#%Gt%$&E3P(D>x)HEIcAIDmf)JEj=SMtGJ}Jth}PKs=1}Lt-YhOYtrN? zQ>RUzF>}_U#Y>hhTfSoDs!f}>Y~8kf$Ie}c4j(ys?D&b3r!HN-a`oEv8#iw~eDwIq z(`V0LynOZX)8{W=zkUDl^B2fpjKD~R0j&NK1p14Kg@u`g9po=Yrg9)=7Gz;nG-MNU z3}jC%6jm~7CkWnhrFNUg|BvvSHTDGo?23Qo)|$Vp|e&`|&(p|^JGKvjxxRW3kRgk z3{)%(SL~Uan4apBnwMUZ!C+`qe|hOvptK;Wba-Y8P}VelYLh-tQW7p1oS#-wo>-L1 XfK-%w_P7A+J_ZI)S3j3^P6*^(gIWGuFqMz$>W=81`79G@uq*`JBXEZC&)+lr zg^NT}NNS!-&JkBCsc=QZ<9*#V#kBADrKhHMdx-74V3-88+<%XG9RCWtK08=C_Uqjq z>;z&zfj&k)0cDNMXdFL3frM{6o##+aznWf_bAGe&ey!L2>hp6lh|v}CgaZ#DiMab3 zMKA*?Qc(-;EX2#AXcL~6vamyaBkz?de z@MJ=;#qWm_zB2wvc?6nsr7ltQTPLIi=EWGPy7k>9yyQ)M0lS## zmf5ku8m~LVrS!}#*_;J_8dErs$@&QZi7>WeG9(}nGZLFJMPoK1=;+{6F>{v07YL9l zcM211L^9wwud&g`X#2AAZN||85Gq*=Xt03*Do z*BMn!EPt6=HZ!+k)y0#mXE%2*UJDn&5vC;<3&l$*wPMhU&=tKaJZio8k}F+$<;yO= z%2gZEr=_MXH*4NXtDU=aZ2z9Sh3>udI%pu3MjATuu;HVOI+1HrW|}(lwCS_V`k+Q< z+rCkwPvm}0jSjU%ENwq~QiIv-BLuDEL>Ds<<9|dTZi@gCnisR^loBs;i&-p;O`!~G zqzg``MGOSfAl69_c29D@;M1&07*qoM6N<$f-?7tPyhe` diff --git a/mods/ITEMS/mcl_signs/textures/_o_sup.png b/mods/ITEMS/mcl_signs/textures/_o_sup.png index eeff0a2959aace16dc63543f2b8dbd3bb98080d8..bbabcf8c085475cec30e28ada3ec9d0e65f8d849 100644 GIT binary patch literal 1848 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}TV;;P8ew z|NcLJ$k4b*Ymug_glOQgcS+}F?`!kdd-k7Qc+1MdJfNdpQX@RmJUz7-IDqZG(8t7Rt7#SE^S{WEy85t@Vnpl|{TN#)kxh)H% z6Y4gQ5iqxL0olw@H?RTKupzNUk=(|}1o5K)NH3Ia430OL+y3A9|A0Zj%gxgbXc5Sn zK;r*x24@BiHa2!PRt|P{c1}(XE*=qH9&TU_ zb4?usLlYAdd38%$3nLpnV-q8gA&i`yoIKn-61=<;Mv5|uMkIs(2N(o7fG)~nW>jKe z5@ci+Wc+`GK_2K%Rz@%Y`W*}ynV4Bv+1NQaxwwG}whDkkikXRpnU$3V=v~HIpgaSM zAghp~p(C4cU?RIxp@>oA#DyHnP8$!323`E1Vw_ae#K|QlE+HwUs-~`?sbyknW^Q3= z=I-I?6&w;879J59m7J2AmY$KBRa{b9R$ftA)!fqB*51+CHEHscsne#9glAUcUPH z>GPMb-@gC&`3vMPMqs4E09Jnq0{z9r!otkL4)PZxQ#lYb3$m~(8nOvF2C^p>3M&~k za)>xhT)6Qdr?PR-2hpUWi(FzVCJ$9Vg1iRy8F3zKBFkrRk0JbZi-Cuk5g2*Qf(-Ty zKmT=UEMOYNLpBWf|KDVo5%2yVm^@WWTq89x6?^6; zrlHWymsmNi}@$H<-F z$%J5p9v@10W&BFH1sY?fE>ZMLC!_`D#WSZdjY)3a;eQ1LG`6O?^j#%9joFBxqk~Vy%vlm2AV8|z zDGaa?$$;ZL$3`Ec<;%*K8Al61sAMsq!3F}Xloa`6$&o`<=Xs>6SxsGw)+{+?%{g11 zXH+$@WPfVe%-o7q7f-I9-Q2x+EnEagn3h~D6fdRJia{$vSM;v%sP*7Oj&$ge4?FxQ zM{P)-mYTNQta&S~cJ9)#{d?{fy7$uSNheb2OsAgtwA0UW)`46bGSbkIhYcTP)EhP0 z+xCeXy(9NIHQLlBv9$c`P7P+Ww-7Xs6P?UJjDHh>xJ?2`Xr9cXQ%XF^O=ht$Hia^% zkxn?BCNU69C$SE?vAdJ|lv~jBSKRndFOZ>0016IL_t&t*JEISfd5bo2mjI8Obl26RzU__W)3m{0NH#6 U|BDQF>i_@%07*qoM6N<$g6gq`n*aa+ diff --git a/mods/ITEMS/mcl_signs/textures/_o_tilde.png b/mods/ITEMS/mcl_signs/textures/_o_tilde.png index 6cbd7cec0b3957394fef658eef240d1e1d27d560..3c95094bb71ecbc8bfcf0ac4767941e93d5df028 100644 GIT binary patch literal 1856 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}T7PJ z2hbcKW@KSt1hPQxW`weNfNUm4W(H;;od?8HjI3ZaB|x?`lwAX4YXH@N^n%nGGBPoM z^a1_LU<71~0O<)pyab3jz!2mWkZKt1?&%w#V5Dbgpl88gWMF7%WngS&WT;?hYGr5y zWFxsP3#1e3Hjoi8w{Zd4%uqM50oAY}u|<*G#>fQmqX0-Rlx+--KbYJ8-}wK4LBPw+ z(+y}5$eBRm|7`|m1`akhb~aWHc6N47P7W>}5ndi{ZXQV?VSW)=DS0_rDH$0B6+LwY zB^_lM84Yty9RouX6BBuLOIr&g8$DwaBak7CoSd9I+&mJzyb?x=GKxkdgZ~E@1UY~% z%3@|zVqg+vWEN!ne}q9E=uTEfFaY`;3>cZ1Sy&0Dr^+rDGxu0w~996fgY#K}{aE?>EN?fQ+Iw;n!v{N(Ag z=PzEq`uOSdm#^Qx|M>X}8f2KE_o9%~}YXK;@p{B?_ghnW!= zdCYRs+PD$l%ynv$V{_x$}A}kNG%FZ%q_@CWw6ju03o5bcIrS?if~mfKv#rh=7L;;QL1*XVw6UXsCJXjFfB=~ke$AgXkDW(rW&G=6H6K2TB;E*YGkR#Ki=l*)iq VlzaBL0INO*22WQ%mvv4FO#oDp|H}XX delta 845 zcmV-T1G4;T3L6)BjX8JMHnW{|kIZ$n|EDN|t;12!Q&k=s0 zkZ251%~MY4K#4hKF6j7im8+#AuIp8FxAbfeN8Jw?CP6FLZGY<9zre2d7c6f3`D_oi z1F`QwZzJ!3GDl`~wx91n!k3-)eaQR05+9bcf1~nxtmpOU{e3iu(G>B719u@gaP>Kg zU$!jZN^dZ*F0lfKq&DfBoax{v(y z085C+V|mnWG=CqXU#lxIL8%n>qTZIWdT@lC@lqq98h(ntt(s9CORON)K=VYcfif}F z9u%ojp+SAMl`5tfxwD~VuF!qjT#Pf<1trc(gAI6E5C@G4Y63Ig=0a=SyvD2K7`YKV znGkI9`%uFx<5%h}&=@myi4MPXLRw&6JaZb;nB?XaUVlJ9V{58Q-&Mmy-W(5LCo^3# zI~G`u^9pe)-E&J8XMvv{F>J_WZ3lov7+WzJ5)e2N5}Oho#%x5;(ZQ!+<}8s<5Fk}< z6b9IcB*1Z=W8)p8<;%*K8Al61s3b96Nljg|mLw@AO(|KL zXH+q-HCC;uTJ@T1Y22h?`?u6AG;g_;P93S#W7nR#b?>>Cfm|Ch;?R+X4Ig=w8#UV7 z_K6z3BlkHq+SDeoxcux+4Q8{q5Hybyoy*bFN!Qca~Doc4;eVv z;LyFWm-$WlavT0Nz;~eUK;MDpzlzcDUoHFwGd_2WvV#eo00009a7bBm001r{001r{ z0g-$SL*oM#4h#cBK`l)H001FLL_t&t*JEJ71OB7Ym;wxhwExFu9-PgDO&b$QW>NqE XDEJBca<~b>00000NkvXXu0mjfRt1GWRb7k}T(nlV(#-+3YdYqAlk{0O<^0VjZ0n79`Hz2<`weuwOKOB?ny050 z0|(F?AZBD?U<9&2?q-Ctd4OytMrH zWMyoL^JM!?+01!OZr-M|J^!-m8bMRFS>6U2`KAiYqwF*yEUZu@`Z{{sdA zFE>v&phX~O0*U{(8Jrn7*x1Nsy6Qkn#T!26>=6SsB3q=yxz+WMXDvWn<^y!`f zpm!N-f$|J2f~-P{hK_8)fr;!&g(60c6BlwQJ8e8D8g%i4ig8j=6DOCLxP+vXs+zin zrk07RnYo3fm9vYho4bdnS8zyZSa?KaRB}pcT6#uiR&hybS$RceRdY*gTYE=m*QCi) zrcRqaW9F9X@jO*zpr5PhGlv*fm^@Vd2=W@(XT*7|i7cPNJ%;etEe0ND zMquPI3o_U<{QTFYv4Ck557{u_|9_LAkMoZ-FnOw$xJHzuB$lLFB^RXvDPUPCkWnhrF delta 846 zcmV-U1F`(T4&?@r8Gi-<0063BcP#(_0@iv|SaechcOY!5j{v_ORz zY7a`(snVcx)r}ganD}Hv&D@~-w7D1;ZVO79g$5h&^dJrz4b%i?zRiW!xMhvk$T4y! zcrqc_Jml2bV6ESUOaOe)0pJu9e-XxKx1pFOW#$(L*B#(u#=fC znH>wP@wh@9O84B7#aZB|F@+78tnUDj2xBWILjnRZBe5w{G-e}$jt)K*GiOPBfB>m- zr!c@qBm<7~92A4rl7FdXGjl6eT|BvZc60aQwQvy}VOnyrP`s2A6?~tbT$( diff --git a/mods/ITEMS/mcl_signs/textures/_oe.png b/mods/ITEMS/mcl_signs/textures/_oe.png index 9b68921555abe765aa5925be6be41fae7e41e1ba..693838ce7d421498c25b816150d3f57ca899cf45 100644 GIT binary patch literal 1853 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}TNC~7?0^l1fe-P%y+j^wffb_R0G@)Fy*dDs1`z6Er-OKOB?ny0500|(F$ zAZBD?U<9&2j%I|id4OytMrH^JM!?+01!OZr-M|J^!-m8bMRFS>6U2`KAiYqwF*x#IZu@`Z{{sdAFE>v& zphX~O0*U{(8Jrn7*x1Nsy6Qkn#T!26>=6SsB3q=yxz+WMXDvWn<^y!`fpm!N- zf$|J2f~-P{hK_8)fr;!&g(60c6BlwQJ8e8D8g%i4ig8j=6DOCLxP+vXs+zinrk07R znYo3fm9vYho4bdnS8zyZSa?KaRB}pcT6#uiR&hybS$RceRdY*gTYE=m*QCi)rcRqa zW9F9X@jO*zpr5PhGlv*fm^@Vd2=W@(XT*7|i7cPNJ%;etEe0NDMquPI z3o_U<{QTFYv4Ck557{u_|9_L=ZVwNzL}ySfag8WRNi0dVN-jzTQoypz$Vk`FK-bVX z#L(Qz*x1U{RNKJ7%D^CT%LhN*B zT(M_vVtT4iYF>It27{qd{pF=wfzpDg(&3pYKv~oHsZIJoNlCb5aDG}zd16s215#1$ U+2aDN_ZS#FUHx3vIVCg!0P7(D5&!@I delta 842 zcmV-Q1GW6U4&ern8Gi-<0063BcP#(_0@iv|SaechcOY<;=uIbqxV%r}WCP6LNYkxkse}!G|9V~78@oW#a z1F`QwZzJ!3GDl`Kwx91n!k3-)dnmhKO%Kc2_h`I6>v4U0|DFtDbVWSjz^9NzJbjKL zn1K|js0B|J;%S*}L0xgD*V=_#UyFBZz0)q%ZI@>$Ld@GCztd>jNndNX6ndNy-A8`< zAQDr2ydJe1-G9e8uhrF*p;QigQEy9GEjU8XB&%CSG2Du_tx`}NOKc$4LGwUqfeJCy z9+aq4r9tPa8#PQZ@yUjoxk2}7b1^R57L+s#4L0EEK^$xvs0qw`n+vUR%NnndW8_Zo zWI`}Pj}IlhGJd7p0*x_KmnizB6Vd|n;+fN!#w0hN@P7gV8e3Cc`mPcl@+Lljoy>H} z>{wup#}(pGy62WG&H_J;DQw7OeFuO<7+WzJ5)g_P#haG;D zqc)^ZOHEsD*1VNgJ9p{W{yldK-FxZvq!X!hrc=*++UaLG>p-pz8ENRq!-kJC>Wv!h zZTm!x-jVy98f|KmSXzE|rv|gxTL_xRiB4u9#(#-G+$I4eG*4#HDJ7odCbL)=n?f1X zNGF_5lNbo5lUN7c*xku}$}MR6D{lNJa$%zTALPPBx5<6v_JUfk>lZ~9pt%dDrcnkC zHaMJK+3WmG`f?rqHNbbE??B&y=D&*3@n0?c20WK{jkkq@JOBUy32;bRa{vG?BLDy{ zBawR!K;r`y3?B|(o5TzN0016IL_t&t*JEHH75qn|@vHogO)H$ugiRY0NoG<20Bo2C U{b>C~=Kufz07*qoM6N<$g6EloWdHyG diff --git a/mods/ITEMS/mcl_signs/textures/_oe_.png b/mods/ITEMS/mcl_signs/textures/_oe_.png index 73b4da80ed711d15fa30bcc5b4b58d64030d7ac6..c66b72ba2437e291f7dc9eaf7a823308233e390a 100644 GIT binary patch literal 1854 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}Tv^ubN_mv(_K;{JkvZqwHP>n zrT{S`3j-sN1#&ebl+6QVGchtVFazm4AeLfe1*<6mvZbNy8X#K(s0O4Lq|T6$i2y92Xov18~-0L2za@9 zx&bW$ITJ|yzs=yxz`@4G&c@2Y&d$!s$-%`V!pp9XZ3R<7E#dCS&q+js2Tb?ESsqsNY)IC<*Quqec!9r-=(U9^_Ou4*DRPRCJL`OvU7(>PL{*z&<0+V@+iF4DK<6ziu(`Ff#%p zk6Dnxp5f=eE{z3Dqj<=M0ssG-4E;AXK!uxXiEBhjN@7W>RdP`(kOG!vMn<}Z2D*mE zA%^Bw#>Q5rrrHJuRt5%%TRwnFGK7ZQ{FKbJO1K6Cix49ND-&ZYLraK;W#PX-m5UU} zhSZA8G%KgflH!2WqTs~bf}B(a3mpXz5_)T=4pgNGSLFh9MM!2Y$R!x1>Zi@GKL8aA z!xekxCZ?zQq~@iUWH1;S)n8t^6(}u;DjlAg0+cn4pW37kl$3-^2Ir@hlqVLYG9VS@ Uo;@zWijRT8)78&qol`;+03OBx@c;k- delta 843 zcmV-R1GN0U4&nxo8Gi-<0063BcP#(_0@iv|SaechcOYw#%~=A?EFn-)Xe%q_4GG3O&wH} z>{wup#}(pGy62WG&H_J;DQw7OeFuO<7+WzJ5)g_P#haG;D zqc)^ZOHEsD*1VNgJ9p{W{yldK-FxZvq!X!hrc=*++UaLG>p-pz8ENRq!-kJC>Wv!h zZTm!x-jVy98f|KmSXzE|rv|gxTL_xRiB4u9#(#-G+$I4eG*4#HDJ7odCbL)=n?f1X zNGF_5lNbo5lUN7c*xku}$}MR6D{lNJa$%zTALPPBx5<6v_JUfk>x&`_(A~(&VzFdcY4e%Z4JJ5Ha`LAMh{8tOV0Y&1GWRb7k}TSkiMsjV+hCf*0Y9O3?Qdbi%yYqT}2f9&rmDSTyMyP^)T*YeY#(Vo9o1a#1RfVlXl=GSW3P&^0s; zF*LU_HnuV~)iyA&GB8No@*xXFLvDUbW?Cg&gMmeek%5(ov6Z1EM8mT1Um%||c)I$z JtaD0e0svpnQ%?W@ delta 66 zcmZ3^6golDhK+%NVO2u8E|8M(ba4!+U`$>h_@m$Dzx!l|4JQRu64aa+8Vea2nEVAk U^i{{!0o5^hy85}Sb4q9e0Dhzs)&Kwi diff --git a/mods/ITEMS/mcl_signs/textures/_p_.png b/mods/ITEMS/mcl_signs/textures/_p_.png index 2ff300509d79e16a5434102035d4986f2f7e0665..964387e6421e6608f271dcdc0c87e295895f4fbf 100644 GIT binary patch literal 298 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}TSkddd0V+hCf*0YXW2Mk1*E~dZuyFN$kWV{Ghsp*LYD^GrE z?Khkh`$txQd|4GgRd3=+3|$U@POo1c=IRteW&U=dh^T+)#2WN^|o@3K3!_Yu>28MYD_&&MF SW;_R~V(@hJb6Mw<&;$TNmJ-$FVF0QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI~kXKm&o8k%fT~$O8F}5z6KPvY8l}8JK}|9uP}0vVzr=0NK(|b`6lN z0aOFh3sPsu$ix8B2lP0D5s)ncq$dFJ5+LRPLy(_9s$sOdr*D9Qk)EM}o&|%EfuW_9 zfw7g5p@N~Ym8qGPkr|TP8bCUsZUY$sa~l_s%?xz|$o*_cY*8e)F)~5?C;-w6Wfy}Y z5(pq}`+wvA0|o&vH%~X9MIdJaiT}45oEbRS*x1=vIoR3RIXOAFctm)4xVd>Gg@pM< zWToWgWTj+e6jb!o6_j+8Wn?tWHFXROO-xMW)h%r;jBNCbO^iT>FmiHo@^JG=@bXF+ zDat4skqrJHU=ZX0x~PGfQHg;`kdaxC@&6G9d7wL48NmSJ6(FC9nT3^&or9B$8>nEb z04SuGnOK-vSy_PIWvm6tGq4D<3Mm>ovIz$!vMUve7&T5@$f4}C@t|nX#SbdRNkvVZ zTw>x9l2WQ_>Kd9_CZ=ZQ7M51dF0O9w9-dyoA)#U65s^{JDXD4c8JStdC8cHM6_r)Z zEv;?s9i3g1CQq3GGAU z*RJ2VdF$b$$4{OPfBE|D`;VW$K>lI`Mk)+Ie1_&PL7=~wSXh`@*g^hc zWGV-FT#$uT(U48ZF_1m6P*};Rkwe63;=+vwIhBorK8Pk2UE~r|F?p!^5#%+n&xrF_ z6Inikdko>PTMRtRjKIia7G$tz`1!9(V*%4B9WTb0oplfIxVrXt<3@i>!wG9lc3=9&te8@u4kei>9nN|tcU|}03!+MgXQlvU&5q5vJQXM@ i36~7cPb(=;EJ|fSstP=NT!3{b1B0ilpUXO@geCy<1{r?< delta 848 zcmV-W1F!sv59bDu8Gi-<002Q(%q{=`0@iv|SaechcOY`Q( z3Pth|)jZ{t4wRT<=7NqNSGig`;(A^s?UtVH;i&rs!z5^B`+xWCUtrh!0E^pxKHG!s zK)&E#E0$dg!>v_F;{T>ZsG(|k&z+FfVJblh0 zSb=0IXa!Fe;%S+Em9#ABW9`D5uCL~r{g$DK2R;pNHJoQYcoqp!C zRHRRhRcoqNz2;gPH)%NjEj0_xTW+OOM=JH$wWn^~d+uc**M^KZbfjU!M;_%yjrOs9 zqDC*|KBq>T+9Vd2pWUg!Z1xs{=5?Zz8HjNt5P!Ex013^L+2Ir;PjZvlkr{_V8PrH8 zoJNxv2*ysVgKq5Z&D0RBTUh9EXJrb>cFA?x~2k}ee8OcXhQ aH~;|Hn-26X_6=D800001GWRb7k}T4ZU2hi0nsS%!Oo}O9^96$qrn308n z5y%2Lm=Vh60kWAGnHiXYbRG~(F|vZylmOY%P<9QFtpQX6(#r(IhKx)MAbmiOG8h5b zB0zcq5HA5@4lvXKDg~*A(e9qU0SZQXh6Z{T3`PcqmR1JFRz`*jh9*`f##V;LNN&pl z>VmlqWCYA@TtGH6)D3JvHEc+1Q79Ya2Sz4{9|b^qp=@Jt#KGM5|Hl6Z3<6$mo^C*k zK+Xgb|8FxmGjOo6v9qyqu(Pvsa&mC-i16}obMr_F3G<7{O3BN~O3BD5sOYIHDCsE6 z$Y_{r>KGWBn3%|`TiRL}+2|RY7=a97!MAjko9Q5G|! z5(ASUBeNjm|04|YKzFh-f&tKvV8F=4%)-jX&cVsW4OFmI02ETpOf1Z-tSmt9GS&j+ z8CV2ag%k}P*@OcV*_8@Kj2b5{ECr+Nabot8FYu9hwy!G(W<0ns_J%91? z)yGetzkL1n{m0K=Ab&9eBNYa)`b!Y#FD4ciW)^mkzZjXyftXp4g;mjzO~^5jJ+V+& z$*7S-#A)KfjR!fEje|ajCKX-e5>qjGsQMA)HL%Z!^H>vEK7)G<;jdc^Jj{&1$YT~{ zuxI%BuS;VA(2Nn%Q7P)T|)z1L*o!b zb1P$GD^pW#0|P4qgTyT#KqVPMLvDUbW?Cg&gMmeekpZ~yvxI0^7XAxVuSkJxNUg|B zvvSHTDGo?23Qo)|$Vp|e&`|&(p|^JGKvjxxRW3kRgk%C|f>$c0Y6d~sAkY6;~cG4HS+@|5D714d>r!TOD z6d%ijc5`;0bAMdBt0_aN9QLN(wsQ91ctFZajf`seDEfBRg6h~}1F;U82Wksch@tkR zM4c*48fV+6VTp+c8(QWD-IvY9xNwsT0V+*4;ORjeY#OKu%zRr5o%5D+zDACjJHe9) z!3ZPX)$oz=EA5P#6zn(C?VS;Ir##0Rj8nVvE` zHdy0vg*cS%xg{rOfuF_{He|BC13)6otyl~R2*iv_f-*&8HX`Wg;8U@3mc$1LkSccy z6Kq5>;5e_jF~;chW#!9^s|6rbvKY|d00CA?iu|$U$f2t1K2p`JrmjV6mYlNYoGq_A zs+w3bwSR18ZpEsLCs)sI?q0kWE`lpeOD-0Qmr`oQq!pnnMpt;$dhj7fI`qhg9e$Lf zHl$BWOivcj-9(J$DP;d+Bx1Kq`$ibmU>fM;Ub@*QU%gb>?Z)XPNazjrOs9 zqDC*|KBq>T+9H-tKf67+}u+VLC@401GWRb7k}Tp|O>zrIn#ElH0O?x?pYt83A(} z7m&>ibpsnv4I2_$6v_tqfsqN~M*)ytDBBnuVKBG-zw!S8gMgQtryI~BkTZeA|Jw}C z3><81>};$Y?Ck8EoE%&{BD_4@+&q#(!u%q#Qu1=LQZh0MDthV)N;=9iG8*QZItGR& zCMNRgmbMl~HhRV;Mj%5NIXO9bxOpUac_oY#WfYA_2LBH*2yy^jl*P=b#K0uT$SlbC z{|JLT(4DM|U;y+Z7%(z1v#_$Ub8vET0~Kr)0EHAY6ALpdD+|!OjI}^{1{Oh9Aw@$+ zHsQcTcBMiQqsEB~Ih36?9uy6__(8=usi=vQOH5osQc6`#T|-mL#MI2(!qUpw#nsK- z!_zA`Bs45MA~GsDB{eNQBQvYGq_nKOqOz*FrM0cSqqA$$Pb?HxGHT=yahkYr z<3UbkKb$@|Xn~>=}Ok>(W@j zG>V6881VnU$xtI!?N&Sp!!4#WJ792W}1~#W=U~C zYEf`vZb42egN2R)2noHlQwOS2gsXA^x*{Yq7vvI*QuU(Q=R%-jVYp(?+{E-$pVYkc zk_-kzqx#EBw*sXFQKiE(Q-HFj@l%`hfs&GN$>997lJdl&R0gD?+_T38Sl2Nyc)I$z JtaD0e0su~D^`HO% delta 837 zcmV-L1G@aN4%!Bg8Gi-<0063BcP#(_0@Qj`SaechcOYy3P|603{>(}BvdLP=wdhGHpMTq%0drHN50ad;z6Y2C z!5XhS#HIAiE!ms}ei~CakjeT90EsZSVlgBj5Hl_b$`p;+h@hi`PsPev5?>%ds@y3| zuo20CU5nN%Ic3c`TV8im zHL+xB*?-L3id7d+uAbf8y?8BL1Xq}rTr3nXrPPW^D?(R{uJEY!;!Cb{>6I_L{3=&% zNS~IPw%n|FE3J0!(sBHI?iRZD((9msR2pgM$is$@GU`OGO_^!x%+sdNGV6mHon!k( zjXuczni?Hyi&)xz_M`^0*^dykt`l9%K#UWCxPL7INN8TnqEkw|$Sr2EFb;(>sF5x> zofa_=OoLb_J=i_T{gPYI^sl(_KamRy-Ty%@EOdw5&)mMC*6aR7kqu~_!lh}HiHi*m z!z+7Tze&H{hW{GiJJ5Ha??CHc#q9WN7ybshPoq?PLG|1R(?i0qcN! P00000NkvXXu0mjfWlD$# diff --git a/mods/ITEMS/mcl_signs/textures/_pound.png b/mods/ITEMS/mcl_signs/textures/_pound.png index 31d38d392878a7f52cc31750687a8b4c660ee09c..04a02d462622961d652d32899161aff2e2f06914 100644 GIT binary patch literal 1859 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}Tx;Tb#T+cmg$aTO#( z7kya%3`_;_`3Pm{;4ZSfKpmx!7NW6N28>71h;@_hxbl^{jmH59ofE)CkWs zPfsld4xmv$%*evP2xNhr&Io1m0NG58%nZyxIuD4Y7+Jw;N`P!>D7yy8)&Qyj=>@4X zWMpCh=>vM1!3f9}0n!tIcnJ`5fFZ~?Ak{G1-P1Qf!AQ^0K+l4~$iUFj%D~vl$WX!1 z*viz{%FqDGZCN0lP`81MfVqte$YzGRfeomJ4T&v^AI5Tjtv9YtUaQU@rdy9aC7rW3JLRz$V$n}$x6w{ zD5&VED=6tG%gAV$Yw8#nnwXf#t6SPy7}@9R;@QBE$5`HGdRHf`Rrb=&qGJ9iyAeB|h{<0np@x^(%<)oa&p+`RSh z(c>pipFMx^^3}&rpTB(l_Wj4tUm$-m0wWa$u=-07=r1M~7G@T9kiQt2%7K_!kcCyz zkWI)jkUgDHxjVMV;EJ?LWE=mPbz_QH9 zNY~In*U&h`(A>%xSe%(^8yHv_7$k1_04m848glbfGSe#I8VoE#j0~(yfQ6qWM8mT1 zU!WRB3S>iSMP{0nQ)WqVKx$ENVs1fBDuacN0tgAcwNnSGQiQ8=0lFe2GZ*9%j8av- z$!R@Mu`pb*XKrG8s!wWOdPxR@p;7(irCWj0f~eBrnJGY7)A*@P`anrZxMXmCT1k0g aQ7QvcQSRB}0<8TQ7(8A5T-G@yGywqq1_RXq delta 846 zcmV-U1F`(W4&(-q8Gi-<0063BcP#(_0@Zp{SaechcOYNg^m8nkS5Z{+{74 z6cSA#sd+9rN0d}j;fjIByWBm+wA;Jr>FHe_VmmJwB0(?rV}Bk;ze29h36_rhdY1<~ zhS-mx56{P-EYFO=(eq18|THyiKQdfl%+KPN*ly274t;2|UttuHTv z6-beaUeK}-FUcC~Zb^O;yO8VG!F!B8#V*z(m-kSFn2$pK6r&?2{W^9#La!^Lr{}j9 zA~D6+@*2C@eSgkz@2;kdNab)g^|6&bf+E71WKYYehM!_=yB1W(78{6l(7aGvphAoY zPD<3N(xkEbMh#0$JlN1PH^hC(T#O614JEBglMQ%!5C@wEY63Ao)X7 z6O0jN{7}PJ!au1GLvyawC5nE>32A|K@ycl|W06}ew10qr=8389`0g5B@+Q83UCeZc z*|EVIuiM0>^vo^UoCSIsQ#g>x`Z0hI!M9>DBp?toE(yvMjoFA0M+cvZm9r$iK!8-a zQp5%VXEok~JZu~QHVWIm!$c2UOko%F_7u0&)UliGZ)+t;ujWThu zL1B1huj`xi$9?#(2EGk_8~Qf1{#DG5|7zi1JhOL=Hh&uh00009a7bBm001r{001r{ z0g-$SMB@V$3^fWjoy1GWRb7k}T1M`nSQi>>%-sCGTR!iKBA@X3D8F4mFSw*e zc&2%JYB6vCO#@;^76wKj3*>r6D4Pe!W@2P!U35+00NkumRPuA+bfFY>*!qnIL`?0O^IYjlr=9 zbKCzL{~s_2c)5AH0WAVK6G;5O&EU+y!N$hU#>&CY&d$ln!NnuO%frphBPk@zFCr@? zFDEM{Bcq_Ar>>x+qbwt%VXmoTU}$1uBCl>~Yhh%gXKZ2wGK7(nlaq&=M}n7E!bnj@ z(THU5{{Vv^2hc@X%#2D5OoEKef{g!L#RdP`( zkOG!vMn<}Z2D*mEA%^Bw#>Q5rrrHJuRt5%%TRwnFGK7ZQ{FKbJO1K6Cix49ND-&ZY zLraK;W#PX-m5da~hSZA8G%KgflH!2WqTs~bf}B(a3mpXz5_)T=4pgNGSLFh9MM!2Y z$R!x1>g9!}g@B5M;fg(T6Vp?DQuESFG8hbv>Mt+d3X~Q^l@8BL0m_=jPi@i%N=m{d ggY(l$$`gxH8IX!{&mI?G1<1hQ>FVdQ&MBb@0GK%fa{vGU delta 857 zcmV-f1E&1O4*v#_8Gi-<0063BcP#(_0@Hd_SaechcOYy&72Pd8%R_AY1w$lg<$BCx>wj0s^*+GTmLJdZVA~M; zHbghWXOZQ3^|zjHL&BGw_H!tETul$l*%!BMb{l_vPKID~g+1ZGLr5a-zPt!#AVn%# z!JUP8Nh11+rz%N4h+W9_{ovhtFR_bt%jG!~A?B@+Ut+Z7q%U&0x#6c7(cSaY3z3-O zV|j?(oZaUf*MI72%7|1Bdr^Oua`vEjAe3?r%czD+(YLb}RL2q>akh;brkHrJp=EA}`;xgB7j7q%v?@(D;ORjeG#aQ0#C)3zoqo&duaU!ZCulOk z7-7Vl8r~CrrQQt9xl)%X`V}Xn1?I&or!kF1Zrz~;1b;MlO!bWKS;Ir##0Rj8nVw;G zEU?DoGI1!~b4yOn0zHi>Y{+DN8$gKQTQM0D5QrIv1Z9fGY($8ogHOfGSrQ*0K&sp+ zOt2BjfaAP;V~o+M%gUD+M+-oxWHF$@1_G><6!~MxkwaD2d8DdYOivcj?&vJ$DP;d+Bx1Kq`$ibmU>fM;Ub@*QU%gb>?Z)XPNazjrO*E zqDC*|KBq>T+9H-tJ-btb*zAu9TE~elW+29iK!4m80VFgpX3;4nUgQ?DSQwi^8PrG@ zoKA}v2&O@-lWy$p7+}u+VLCZ@Ilgt=IF5A}64=3s+2|OdM=b z7+%@y`X+t34gYH3+t9b6Z$s;^Vs`x6h2L8icB554t}y@r00v@9M??Vs0RI60puMM) z0Fi7RPvZj>2{b7EEq-$V001pXL_t&t*JEHH7BDg}F#Jd3GcX}@px{4@_>U~WfUW|Y jz<*@zC^REJ?PLM~h2{+U9?>?#00000NkvXXu0mjf##E2j diff --git a/mods/ITEMS/mcl_signs/textures/_ps.png b/mods/ITEMS/mcl_signs/textures/_ps.png index 74b1f5b8e03b92593cbc7acab1dbe00ee1838534..37527155ffb251278950c2836fa9797619727428 100644 GIT binary patch literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}TSkgBJPV+hCfh_rpKngFTztnz?NZ47)2ien{NpdjwR# N;OXk;vd$@?2>|nq5*Yvh diff --git a/mods/ITEMS/mcl_signs/textures/_q.png b/mods/ITEMS/mcl_signs/textures/_q.png index b5fbcc27d4921c19f71a7e922a527aa7bbd4f543..a48222e28c1c7c726396d36a18b07b4cf621d2e0 100644 GIT binary patch literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}TSkiMsjV+hCf-m`{W3|&hGpTuKt5;iboFyt I=akR{0Kh~~#{d8T delta 68 zcmZ3^6h1-Hj*WqVVO2u8E|8M*ba4!+U`$@1_=EothglPI`ec<317TNzSk;TGBpGgG W@qb*FFl8rDC4;A{pUXO@geCx%4;0`4 diff --git a/mods/ITEMS/mcl_signs/textures/_q_.png b/mods/ITEMS/mcl_signs/textures/_q_.png index 67479941363fa703edd3fa35b2673a4d9b37c011..50f00af20f0881a17f682d2ef0a1166314509592 100644 GIT binary patch literal 1852 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}T3VTP8lqKjU)=g}a}gZHaD6efhPy>*{A>kFqqX7wIJpu=5KBRtbQJ+&A(fMx(O zBMSo~kOguxBb3bpWHT``GcW_`JRp{0WCg1!0kWl`>>40j1E>b1mkEds8JQSB`hb3A zFaokgfb;|)UIN4%V5kFB3Q`TD-93E+6pZu?4fHG+j0_AdtqhEoCzfU-)3-T;9z58XJh4HXJ_Z+I1E3$lfRTxrg_Vt+gOiIJs9>uAD5RK~SeRK^S%BVU ztOd$5un4jWDH=Mm2?r*!D;0_uHBMZ}q3pErplHy=4=Tnkx|JhscGpMnOVgprDf$6l~v6xt!?ccon4bAPnkMx z`iz;g7A;<~blLJ1D_3pWyk+aQ?K^hvI&}ER(PPI?oIG{u@|COCuHU$M>*1rvPo6$| z{^I4UkDoq&`TFhqkDtFl{$d11Dhy!tmmttzOe`$SEbJhEF*20{F|!~GtD+&BkYgZw zVxh2-Q6qGeQ z$1KQT&+zkKm&O97Q9NYBfdBtZh9k-)GQi}iTH+c}l9E`GYL#4+3Z#H#nURsMp@FWU zafqS0m9epvsj0Ssft7(l;+7Afk_@3CH$NpatrD)mz#_!Rz{PikIzNd|+VQT^qmTY=JosM6t?DL`4%_^D0$KuJlsWN?03NqJ&XDg#nc V?%Cr4to9ffJYD@<);T3K0RRej`*r{T delta 845 zcmV-T1G4!RwJb#XUgsJ$fIpi}lFmJrp74qmVyhbmXKTa(TGnw;9pX^VT1e}R1RlRKbEq4P`nUI*~2ob;ZpQ%*MjO;Vgs=bnipydREQDH zNr^gDnlyIXs9}nU2OC=EhPW@8i*ez$p`=x5vH?#I;-Jw$O(5pSTxk0(+g~Gx=T6XM zf-%B~pKAC@_&fDsXwH?oMA7d!AuTX3UOA0vEOP4(Eq@@Od19(NzPpB(yooPh7c<>q zb}X>Q>o##IJ#$MoXMvu^6b@vveheT)@U55(2?)fDLxM6zV>Tkh(ZQ!;<}8UX5Fl0V z6eie+WWaG=zA?sV>$37K#?b;0Dp?F@uz>(8B}M*Na^z6ebsni|R#VraHA_xebIz96 z8C6XznSWX~Gq+;Z#gnUNH+L^y3m3r=rX?2(#Y-u*!fA!+iqRDswO)M5l`g&VWtU&& zstxJWQqz{3HE*TW&RsgTf6v`Q_g;D(G>}Ro4IO#d@KHvc$h9dmO`Un#^jT(oP@}VL z->A_CxnEPGLv0aDThE@!b&}C%Ip83!45FH~uGbVWIm!$c2UOko%e27u0&)UliGZ)-GHzjWTht zL1B1huj`xi+im!-2EGk_8~Qf1{wik24_5daucLOX2S4;o00006VoOIv0RI600RN!9 zrva0ZYaT)40~HB0F_}izvj6}9A4x<(R0!8&V4w>455*_~C~PKd+K3m#Y7r9_NfH16 XW;O=`rHj)N00000NkvXXu0mjf>;8a> diff --git a/mods/ITEMS/mcl_signs/textures/_qo.png b/mods/ITEMS/mcl_signs/textures/_qo.png index c7b87be683ec2176864799569e095e54e935b823..9eaca2bd70febfa108a0124a3dba2932e0ef6212 100644 GIT binary patch literal 1837 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}T7PJ2apHEj4TX{AaNjOgtB>nY$ir# z24*0g2gFj0tY9@IK(;iLT?1rm0M&r>G6At6BNGEiAJB6QMnJX*ke&dVVU~U5$0dpG{kj)Hr z0~=5c8xmU-$_Dv?kqP2Q0gzrO+ZY^KFt`1`@&5sXfR~%68_*(Jp%g%mRr3o|P#3(&iawLp0W7C}}aMMFn6;lM<8 zr9u&-#)%6#l$|yn6b-ugLB%+!sELzHOk6@zN>xo=LsQGd)Xdz%(#qMz)y>_*(@(s#)lOnKGb1qam<1W^8Gioj(pbPWiid0% z@c+NbaBY=9ATW8VmbgZgq$HN4S|t~y0x4iwW@MymXrOCo9Aap0Wo&F^YN~BuU}a#C zxa9+=BtvM(%}>cptAuMXum~|Sure{WGPHzfSQh>ZRF_DBY)GxhOtW&zEGZ61EecM| zEyzh_u+UKeA)&W+>OfVBa8)iqSA=Bdf?R@8svb!!N(3qvhAZ~WO-xVqNzF?y$zU)v zs=vH+D^OYxRXRK~1t@D8Keb68C@Be-49-t0DNig)Wk4#*J$qb$^&A6(r>mdKI;Vst E0HTldkpKVy delta 834 zcmV-I1HJsM4(SGv8Gi-<0063BcP#(_0@Qj`SaechcOY@z}uyo|tyFA!2 z#C{CX!|*P$Jg@Q5^J7T(meY9;<;<(;Wjp8LcFZ2*pYO>KjIOXJ9C!#xMC;3oURdAQ-X717i4+Ycf! z#n|24WpFFVq&O5F?tC z5_PIHY3#mH!x9q@HuTI5abGeQtUAb+5FVyZj7yM~v%i7#LmGu>f! zY_P`bHgPFEb4xa7fu6<`4rH=^3?M}Ctyl~R2*iv_f-*&8HX_8)!KY&7EQv1=AXV-Z zCfJB%z;Rx_F~?}@vhpp))dCPISqx}!fB-8cMgCZF81FT{@0`&)q`zUV0rgkV+#B9eLRBQAVA}wJ9@Aoq5{yS!R7uqjPNE zsL=qQ@COpW#VFk z!tlyo*MHJ)_u;=9_%`%y=-bfxs+b+0cHwWYrFN|9d(Wo;000JJOGiWi{{a60|De66 zlaXs4IO78q2{bwmln*-q000(AL_t&t*JEHH75qo0nXsu~Vi+0#0FFrl1B%7lcmMzZ M07*qoM6N<$g1ktG{r~^~ diff --git a/mods/ITEMS/mcl_signs/textures/_qu.png b/mods/ITEMS/mcl_signs/textures/_qu.png index 1458c7e104af8c9b9a0e996d310ecde3b4383080..51dff64f374451f15bbc617e2bb8a6d9492c6b8d 100644 GIT binary patch literal 1855 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}TnY$ir#24*0g2gFj0tY9@IK(;iLT?1rm0M&r>G6At6BNGEi zAJDrDMnJX*ke&dVVU~U5$0dpG{kj)Hr0~=5c8xmU-$_Dv?kqP2Q0gzrO+ZY^uFt`1`@&5sX zfR~%68_*(Jp%g%mRr3o|P# z3(&iawLp0W7C}}aMMFn6;lM<8r9u&-#)%6#l$|yn6b-ugLB%+!sELzHOk6@zN>xo= zLsQGd)Xdz%(#qMz)y>_*(@(s#)lOnK zGb1qam<1W^8Gioj(pbPWiid0%@c+Nb@b?QBsE|`Fag8WRNi0dVN-jzTQoypz$Vk`F zK-bVX#L(Qz*x1U{RNKJ7%D^CT%LhIt27{qd{pF=wfzpDg(&3pYKv~oHsZIJoNlCb5aDG}zd16s2 Y15#1$+2aDN`4|{HUHx3vIVCg!063HVqyPW_ delta 837 zcmV-L1G@ab4(tYy8Gi-<0063BcP#(_0@Qj`SaechcOY!RwJb#XUgY~HDyF9hqI_3OW8drUI?Y^VHwqMDf+f+L3J##fmjF43$+C*#E9mk zM4c*48oO=OFvY}!4J~s++?UM7xNzH0(yBDsfTss>uxX$s5c6X$wEdRtuaU!ZCulOk z7-7UuHGC!fo%%2|=Sp3o=y#lu7MK^WoW?X3xpjvY5P#4-G1VR4UBgS>#22uOneH$< z7FgqTo4Ayoxh0#kKu==|2Qpbd1`s0nR!oKj1Y*V^L7Ad48xi8@;8QVkmc$nbkSccy z6Kq5>;5aYe7-O_`S@{;@XaNY7ECw{#K!BB!B7ZD7a;WM$k5o0QscX@iC8w-8XUpr1 zswS39Eq|MtTe0fm$;l8c4nrIcFXw8C`7=n9QmFTUhTmtOg@%dc|P zhV*HvY0J%;x6*3oE*;yy=Wd~UFTD;LNTrd6jy!DmD5Fl~+LW25&OB}UEVDkS(b=|d z)aZlUuc^_Ywuq&zXHRMnoBc3B>p0QH48%AQh=1E6fQ077EIOsci`-%s3u99#gBt0A z(`gX{!8C|<(u3WT+%LHWP5+7;{}Z{e(ET6e!a{e*{mktPYQ63+iflk@7p|B_nK;;> zFubzY^-cQiHvCru--f;oeH&VT6|>{lF8mFEsCK6c4F=u-000JJOGiWi{{a60|De66 zlaXs4JL3Zt2{i{#=W=TR000?DL_t&t*JEIy3iuDjC<55nL<-=wh*|&u=spJe=xkbP P00000NkvXXu0mjf+nA5L diff --git a/mods/ITEMS/mcl_signs/textures/_qu_inv.png b/mods/ITEMS/mcl_signs/textures/_qu_inv.png index 757bd06db7251fe0f4abd65c2054d932d12d695b..b2fa4275e68c425229da9b7af4555e18b98242e3 100644 GIT binary patch literal 1853 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}TMo$mT~Z@F(>y)37&w52 z05KyA10#?Hax^29%>!gJF)}kS1L-^IOET8a5=hD3aS4nIL`?0O^IYjlq!zbKCzL{~s_2c)5AH z0WAVK6G;5O&EU+y!N$hU#>&CY&d$ln!NnuO%frphBPk@zFCr@?FDEM{Bcq_Ar>>x+ zqbwt%VXmoTU}$1uBCl>~Yhh%gXKZ2wGK7(nlaq&=M}n7E!bnj@(THU5{{Vv^2hc@X z%#2D5OoEKef{g!L#F~@HpsZ>9)FyqPq$FH2I6tkVJh3R10jVhW T>~R6sdkhSou6{1-oD!M<$AA7{ delta 836 zcmV-K1H1ga4%!Bg8Gi-<0063BcP#(_0@Zp{SaechcOY;T3L6)BjX8JMHnW{|kIi}iRSqQjC;12!Q&k=s$ zBGDM4nx~x7fh*>ixuD_4bzLX}+b+*igd=T-^iHE~Cw;BmQs{9;bRYTY z1(pzx$LmqM(SLl5eyy&=1f^2gi+WqiYQYh5#!HQaV)!ZAwn|2EEU|)E1I-hq2Fk=x zdr+iCg$DIiSE`s|)4K`qCK^$xC}-*J$CJ>Tlb!O8OXIEBMu#D*zl1@xlyCN zZJ(&oJ93{>qfKoRi_6dM)L=Gy3qkWZ(a8+NIDZm|+a!R5=E>}EijgO|$?V9CO`!~G zq!Uh~Nel#IC)PnXc6V~0atj*&iW~olT$t$o2e~lOZE_#Ey`a|0`l84JG1GWRb7k}TSkfx`LV+hCf*4~Z03d(U=z4>s{^a%_+ zhxTU+UwiwA(W-z$Nb@J#YoI3864!{5l*E!$tK_0oAjM#0U}U6gXrOCo9Aap0Wo&F^ zYN~BuU}a#CxaC6@iiX_$l+3hBxCR4@5F-OC6JskwONfSL;lDtBX7F_Nb6Mw<&;$Ub CIZfLD delta 63 zcmZ3;6f{B7l8u3ZVO2u8E|8M+ba4!+U`$>h_=A7(LkYzOh9#W;+z(D+X87d9^=1GWRb7k}T( z6Mo0vl>KEa!u3(5$6@8>r~KQKRhBl@v1ojH#4$HKuakXGK9|^}X!AWl=ewjvc&2%J zYB6vCO#)&@76wKj3*>S}D4Pe!W@2P!U=iKs9VgY*8p1AI5Tjtv9YtUaQU@rdy9aC7rW3JLRz$V$n}$x6w{ zD5&VED=6tG%gAV$Yw8#nnwXf#t6SPy7}@9R;@QBE$5`HGdRHf`Rrb=&qGJ9iyAeB|h{<0np@x^(%<)oa&p+`RSh z(c>pipFMx^^3}&rpTB(l_Wj4tUm$-m0wWa$u=-07=r1M~7G@T9kiQt2%7K_!kcCyz zkWI)jkUg?MniLsTTB}Bur z@L!+`Mhav@YDH$6l~ZO(aX@NOaAIyjPAY?ijsge?y|q&Zs#1ijasj#`Br_M}5{y#S zSNDG%P_Zyvv1e{#da6%qUV2FegP~FV<)vGJ(t@bc;h8BwS=0EbP5MAdNw{Qiep*R+ bVo@psQc>>N;{vSw7#KWV{an^LB{Ts5JYWIS delta 849 zcmV-X1FrnS4)+F-8Gi-<0063BcP#(_0@Hd_SaechcOY!RwJb#XUg}>4#h%Zuo6R^z{7pLL{d6 zT3%u|XZJbBy??rzG9s13S=5iE>>d;^gi`jfjB2W=TO;U#b43)sa>cbFXu ztns={TuRT}lFeD5r!j>CnXDfJ2oZcMCPM-OG2@V+OwpK)2yt}qshBxS;tK>wl{e1GWRb7k}T-kifS8emff2|8Ii3;9<^i&q7?~NEfpi`aOEI#7)sz6)(ol8{kgWk!1JVmp zXUNFJ0MZBaG=mY4Edrz`0Pzwa<^V&Ge?Y2Xw7aKofP#^pp@E(SgOP!urImrPm64%> zp`n$bnU#?dlH0OCI-za@83A(}7m&>ibpsnv4I2_$6v=IjOb|Z`fb>Gy#^6YVx$Xar z{|^`hyxct9fEIzA2_*jCW^iWUU}IxvW949HXXoVP;NlVC<>BV$krWc<7m<~cmy?x} zkx@|5Q&&*ZQI?U>FxS*EFf=hSkyp30wJ@^LGd3{-8N$fP$;rdbBf-lnVWcRdXhbsj ze}F-d1L&eGW=16jCP7AKLB{__803NOWMu>cpx?oOk%^gwm5rT)lZzXuV5L?6mQqXwbzED#l4gO`Kd};u4Zl zs%q*Qnp!5NX66=_R?aT2ZtfnQUcn)uVc`*xQOPN(Y3Ui6S;Zx#W#tu>Rn0A}ZS5VM zU6UqHnL2IyjG40*Enc#8+42=DS8dw7W$U)>J9h3mboj{8W5-XNJay^vm8;jT-?(|} z;iJb-o<4j2;^nK4pFV&2`tAFVpT9u>z(JGL-`{vmgtr zq9L1*V<3BCp|FxsBZr97#DyCVaw;1KeGpA5y2vG_V)9V+BgkuDpAqM=CbE16_ZY%o zw-|Vs8G(_Uw|Nl*fSZ${OVDeNgag8WRNi0dVN-jzTQoypz z$Vk`FK-bVX#L(Qz*x1U{RNKJ7%D^CT%LhmF~@HpsZ>9)FyqPq$FH2I6tkV bJh3R10jVhW>~R6se+&$su6{1-oD!MDeA)+bf(0$rmj0?8~CCx&E4S0GG2Z;u10yE#{LTlWz#%tslxf48@ z5R4|f*Am_t|EAmmjWJV~DEg%n(gO41nKhWkBscHy0)GM;TT@;7t`Z*dCO&|j%yh}@ zSYVCE72;63=awwa0zZu@Y{+DN2Y^HvTQM1AbfTDXNKmF|%tizq9egTg&XV{50aE2o zVStTD1{~)(Hu@MXUsk@%I9dQgu|*7Muz>(8B}M*Na^z6ec^;{1R#VraHA_xebIz9M z8C6XznSWX~Gq+;Z#gnUNH+L^y3m3r=rX?2(#Y-u*V$h1v6}>AwYCZUnBOQ9=!wx^n zQ5({yrKT-6Yu-w$ox5~w|DL;r?!EMS(uq_$)2U}Z?ew#pbs*PTFXTR_Mw{9smX@F0sljaa5rXD%qLUejaepEZw@CmA&68PlN{J`A$t)Jerceeo z(g~;2BnE=%B-TMUc6V~0atoUNh#UWoT$t$o2e~lOZF0YIdqb_)^+k~dXzs$PX_SG3 z4GyPQ_By{we_e-v4e%A{E6`V<`LAMh{8tM<0X&a)jp1Vo0ssI224YJ`L;(K){{a7> zy#l9`k!v1P;{z265EjqkJSPAE05M5KK~xCWV_+Z${D(0Z(FGV77#JCm1d!Qq2ApQX qqMd;W*({hOBf2VVDsejrtK$Ke%M1jchgUfO0000LGI diff --git a/mods/ITEMS/mcl_signs/textures/_re.png b/mods/ITEMS/mcl_signs/textures/_re.png index 8fdaf4d2441c2fc2407ddf2bad1447fe13844fcd..3f7dda14da1a71b3bfbd5e62c4d965e92655bbea 100644 GIT binary patch literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}TSkhZ6bV+hCf}bzJ)2G#(Bfzg!QkcUtw3$6C9V-ADTyViR>?)FK#IZ0z{p6~&_LJFIKd}PVO2u8E|3!Pba4!+U`#&1`Y%~j#%UENGsEFRjvwA-&If_A44$rj JF6*2UngE~L56S=l diff --git a/mods/ITEMS/mcl_signs/textures/_registered.png b/mods/ITEMS/mcl_signs/textures/_registered.png index 9a78dda3c273acd778edc3de7730f0d5b8235921..0e510a2a725a3e1759aa7449ff83a89783b58a4b 100644 GIT binary patch literal 1861 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}T|P)KbXtD@rZfNp4$fWflF$H zXPT#{76S*+Fd$}RVPFKZK#pgGvUz}PCProkW+0sh#8Ql`U^OK`wltJo17vFe)qwPZ z)EP1|F@W>|J zoIr z{vTiv4D%dIj3MpnL z7G_pf7NB<-Yk~3%EP|{;iiVDC!hwnGN`)dujT0AgC_8ODC>nI}gNkudQ4=SZn7D+b zl&YG#hNhN@shPQjrIoXbtDC!rr&n-DXjpheWK?oWYFc_mW>#@YX<2ziWmR)aYg>Cq zXV;|3Q>IRvK4a#rMT?g#UABD1%2k^-Z`rzS`;MKv4jn#n^w{weCr@3veC6u3>o;!R zdidz^lc&#~zj*oTbPj7;S~%q+;l zs%Xe2mdKI;Vst0F{sfsQ>@~ delta 860 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 V1Pdqj;?Mv9002ovPDHLkV1fxzjhp}g diff --git a/mods/ITEMS/mcl_signs/textures/_sm.png b/mods/ITEMS/mcl_signs/textures/_sm.png index 460c5d6ddadc8c8b027ff53e5669b7bda91d06cb..2d7dc7310e6e6bd07245b4d5b8633877edf4b4a3 100644 GIT binary patch literal 1798 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}T`sfGcI01HI`f#8B3s$qNj^v2*>s0 zKj#^keRy`v{D09!^1tx>&?1mC zfyDpY49*N3Y;5dotQ_p@?3|n&Ts$JYJlxzol0w4#BC=BQaIzCa$}%z< z=9)SNh9)K^^6Hkh7DhID#wJD}Ll`+ZIeEBwBzSoxj1*-QjYtOn4=@OF09};D%&5e` zB*@4t$oT&VgFMiktc+j)^g9?ZGBLBTvaxe;a&ZF{Y!v{76f+YGGb<|#(7TMaKzRlh zK~^C}Lq|5@z(jVXLJ_0Ji3>TDoi-j64Z8S2#W<;`iIYoATtZSxRZU$(Q_IBE%-q7# z%Gt%$&E3P(D>x)HEIcAIDmf)JEj=SMtGJ}Jth}PKs=1}Lt-YhOYtrN?Q>RUzF>}_U z#Y>hhTfSoDs!f}>Y~8kf$Ie}c4j(ys?D&b3r!HN-a`oEv8#iw~eDwIq(`V0LynOZX z)8{W=zkUDl^B2fpjKD~R0j&NK1p14Kg@u`g9po=Yrg9)=7Gz;nG-MNU3}jC%6jm~7 zCkWnhrFaB^>EX>4U6ba`-PAZ2)IW&i+q+U=HGlH4E+ zMgLhvmVhLL#Bwl?s_Y=k&&6i?G1Hl(X7*vpvMNUocF9TCT@Dwtt0P?;R{{`+xCl54Hob??7)O?|`yK zW;C{+??A$ro%VAmyI)NY%h|u#_~;rJOA|Le6xlkx>jkMcd9&P#jBaAl5*o#U2syhe_ZJHe9)!3aG*l<>;< zm2wL-=Sp3o=$B4N3(SjGPGcI2+`7XH2xx9i_0;z);eR1-;se;lOi!5|3#{?DLL5r> z+>(>Cz)xce8!}nn0U!~^R!oKj1Y*V^L7Ad48xeGL@Tr(NOX33rNR>N<2{s}baGclJ z=wo#Hvhrod(E<=ESqx~ffdDHdMgCZFIwJ@}9#9eU)$4nN9K8`7txrY$#X z-b$;TyL4>-p1Xzaz4SV0AeBZMI`XjLql`L{Yg1;LI`g#Yv&?#nQKNU{KBq>T z+9H-tKf6Z)&GZ5oMAa08Q5}FsY=wy@7+}u+VLCAGy7t*6aC2krU9`g-g>Y69*d{hFA8wzDZxM z!@maj4)h)9JJ9-9F+2XNh2K1rca4(E%(Rg)EIH!?6$v&2W2fb@0000NNklR0&;R6D%SkC$Y00001GWRb7k}T`sfGcI01HI`f#8B3s$pr?yt2*>s0 zKj#^keR!CUurPEQGK%ZIX#5Ve(j_&*GtJXei-7~E5{MaD7#M*pkZp`mHV=@^#K_FR z45agbSc;JqtfmCWmWHxxfNTw*8jxO)IzvV#29UlMAT|QBMS%1KAYKB*9AF4?EJ!ts zcK7rRP%zRnG|;nPFfuT-v@$TZGBQ*!G_W!?u`)D3a$6QiC)8~qBVcah0>&?1mCfyDpY49*N3Y;5dotQ_p@ z?3|n&Ts$JYJlxzol0w4#BC=BQaIzCa$}%z<=9)SNh9)K^^6Hkh7DhID z#wJD}Ll`+ZIeEBwBzSoxj1*-QjYtOn4=@OF09};D%&5e`B*@4t$oT&VgFMiktc+j) z^g9?ZGBLBTvaxe;a&ZF{Y!v{76f+YGGb<|#(7TMaKzRlhK~^C}Lq|5@z(jVXLJ_0J zi3>TDoi-j64Z8S2#W<;`iIYoATtZSxRZU$(Q_IBE%-q7#%Gt%$&E3P(D>x)HEIcAI zDmf)JEj=SMtGJ}Jth}PKs=1}Lt-YhOYtrN?Q>RUzF>}_U#Y>hhTfSoDs!f}>Y~8kf z$Ie}c4j(ys?D&b3r!HN-a`oEv8#iw~eDwIq(`V0LynOZX)8{W=zkUDl^B2fpjKD~R z0j&NK1p14Kg@u`g9po=Yrg9)=7Gz;nG-MNU3}jC%6jm~7}~F delta 799 zcmV+)1K|Aj4c-QjBYy(ddQ@0+Qek%>aB^>EX>4U6ba`-PAZ2)IW&i+q+U=HGk|ik! zhTmPqEI~j7mt%T~m>taW=hw8(rMkK!x@R6stO(CgyE;&b( zR8rxJfycYtJ;k)!yXfiZT^?dPFBl?0FZW{}N54X@&k2@}{C|3v2Rnw?kD(9G$Dl0F zjKR_KV@UXx(|Hc%%&X~TJLfkW@7H?WuRcE~Lom9+o^aqHBoVDIFM<_Fk&0f>vJfvx z#8@SvCHYD0Latv2?=kumyI7B0-a`>$J_`9$jE)7oGy{?F!p5I=G#1vo4YwTwC zImf-bnld7l!++V-$5!?TiU?F)rLTl(Z^MHsI+&9Bdk>3B>$Z3vIt;`)lOz+zFaYFh-d1Lk(XE z|D-+)&AC#SDEb{Iqy^T+E2puHMQ*jw0s@*Rrn=+1YkzpjoA?5DG1DDp#|CS>ZWEW% zGq+@O7U*eA;Xo$q#{fbE--^YMfI!T+Bq&ofW+Orz9egTQ&XV{70aE2oVS%M-Ek8_mQe*HFYgov*eUD=WKc1QPsqfsbw>B zD^^`Rxqo_gbNAx4a1mT#T5_>ayp&QaoK~2wm|dY!>&2H`>C!7-cKKDV+K@giHEp?B z^Hy5z+@<6A_uMUX@1@s41F1C9(2<7?A7#{uT$?h})S0JEpJmnuH9E)kjT(I-_iJi& zs4Ze?>)DeU#AY8RXk90|n1L840&!aekkGuCMP{dzc#&JoVqqK#Wl$qsa5^nwAeaWR zPI|C=lKUmMpy{``@z2PGh3@|#7Z$oh?niE4Q0sMnQDg&Jr*OqI%EZM6h2fRGu5Z#G z_u;=9_%`%y=-bfxS1~*OtA&37Da&_@@!HSxkufYT;{z25HVPVhT@?TT01Qb)K~xCW dV_+C~0001l00HfVWCj2L002ovPDHLkV1g)~cLe|d diff --git a/mods/ITEMS/mcl_signs/textures/_sr.png b/mods/ITEMS/mcl_signs/textures/_sr.png index afefa91b214957091a690c366a991c17c8a6bb89..b40144656c51479987dc3c618e7089ac3c9452c9 100644 GIT binary patch literal 1841 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}Ty)CkWsPfsld4xmOLW@KSt1hPO5WrVVM zfNUm4W(H;;od?8HjI3ZaB|x?`lwAX4YXH@N^fCdlAtMt5NFUIH3`Rh<2#}rt#7lsf z0}OS5Np@EgDiItH7lH0O?x?pYt83A(} z7m&>ibpsnv4I2_$6v_tqfsqN~M*)ytDBBnuVKBG-zw!S8gMgQtryI~BkTZeA|Jw}C z3><81>};$Y?Ck8EoE%&{BD_4@+&q#(!u%q#Qu1=LQZh0MDthV)N;=9iG8*QZItGR& zCMNRgmbMl~HhRV;Mj%5NIXO9bxOpUac_oY#WfYA_2LBH*2yy^jl*P=b#K0uT$SlbC z{|JLT(4DM|U;y+Z7%(z1v#_$Ub8vET0~Kr)0EHAY6ALpdD+|!OjI}^{1{Oh9Aw@$+ zHsQcTcBMiQqsEB~Ih36?9uy6__(8=usi=vQOH5osQc6`#T|-mL#MI2(!qUpw#nsK- z!_zA`Bs45MA~GsDB{eNQBQvYGq_nKOqOz*FrM0cSqqA$$Pb?HxGHT=yahkYr z<3UbkKb$@|Xn~>=}Ok>(W@j zG>V6881VnU$#AYz<_$1;s+PD$l%ynv$V{_x$}A}k zNG%FZ%q_@CWw6ju03o5bcIrS?if~mfKv#rh=7L;;QK~MOVC(@@EDTrdnVXoN>XVw6 zUXsCJXjFfB=~ke$AgXkDW(rW&G=6H6K2TB;E*YGkR#Ki=l*)iqlzaBL0P8vi22WQ% Jmvv4FO#n_#_DBE# delta 842 zcmV-Q1GW6I4(|q#8Gi-<0063BcP#(_0@8X^SaechcOYwj0s^*+GTmLJdZVA~M; zHbghWtH|^``&-YqA>m6-`#F?7uBM0O?2FqryN$m-Cqpp0!k%#8Q%EB2KD`KLAVn%# z!JUP8N+S9yX-PhaUC8zQ;N5yJv5R%fKw*@85N`nn}dJqSR25JH^-{wNgZ(05tIXriQCKHSi zM!c!vJ>ggC&CnP#b%~;1aY9;PUOaOe)0pJu9a=y@V}Hj~SA16u4|x+Gz)ohm!t7XJ zjmKr;P`c-qEY1QwjVWx%WPKYzh~Qf>84?hP8HWUAipFe2h@*o~#mrd}A0R-g+$jvO z5y^n#Jbhz~(b8q*ON^rhAXKs#&|m`rR!WNevE<01s`ETj)vTtjMQfIvvgVvE&oio; zSTeP2W`AzQs*5LA&u;EsycRBkBTP#!7K)crYK7AZ(-osDG-^HgkRu&>%26BA zr=_MXH*4NXtDU=aZ2z9Sh3>uddeVthI@76VKJE0goOK}AhKw|HL!J=-be@q4`%aI)3fKZ(AOAqxxy{D4^ z0FiARK;r`y2{shqbYOM>0016IL_t&t*JEHH75s-{tP%_i3=9lR*ktK0_@AIp0B3as U3+WKiwEzGB07*qoM6N<$f@*4s@c;k- diff --git a/mods/ITEMS/mcl_signs/textures/_sz.png b/mods/ITEMS/mcl_signs/textures/_sz.png index 56d2847a1517a7346a218bf19d413c17be8525e3..6e323629a848fc00c331667650e5800b6bbf1741 100644 GIT binary patch literal 1857 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}TK+MR(zzAf49L@-3^8ndQjLZzoKspbIr5IVkYD$1?X(+n}$kqU=0qF&)Gh}39 z0O`Mx`7R-h7E}=isUv%CWs#eKzgBUV{in*-1h&*{|5{L zUT&UlK#M@m1QP#mGdMGFu(7eTv2w7pvvYECaPf%n@^EwWND2w_i^xjJ%gIW~$SA1j zsVgYyD9gxbm}}}77@C-v$g5l0S{T{r8Jie^3}NKtKT(FjACJG$I-NKfoZ! z0d!FoGoum%lOQ9rAmjfd4DvvCvND1J(C=Wt$i&RT%Er#Y$;Ay+uvGvQQp`*&%&e>| zK<_fv0_7Q41X+a?4ISBp0~6Vm3Pp?>CobercG`GQH0a_772~9$CQdFfaS2H&RW)@D zO)V2sGjj_|D`yv1H+K(Dui%i-u<(e;sN|H?wDgS3tm2Z=vhs?`s^*r~w)T$Bu1S-p zOr17;#>`oZ7B5-4Z25|nt2S-kvUS_`9Xod&I(+2lvEwIBp1O4T%GGPvZ`{1~@X_NZ zPoF)1@$%KjPoKYh{r3IG&tD*aF#;nM2C(`|5a=%^78Yg}c96dqnaY8fS&)TQ(U48Z zF_1m6P*};Rkwe63;=+vwIhBorK8Pk2UE~r|F?p!^5#%+n&xrF_6Inikdko>PTMRtR zjKIia7G$tz`1!9(V*%4B9RdP`(kOG!vMn<}Z z2D*mEA%^Bw#>Q5rrrHJuRt5%%TRwnFGK7ZQ{FKbJO1K6Cix49ND-&ZYLraK;W#PX- z^@|k9hSZA8G%KgflH!2WqTs~bf}B(a3mpXz5_)T=4pgNGSLFh9MM!2Y$R!x1YSqcP zF+jz_aK)aviRr06sd?!o84QL-^_Q1!1xgE|N{45r0A)?%r#9&WB_-jK!TD(=<%vb9 Y3`j+}XO9c8?qgu^boFyt=akR{0AO4IJOBUy delta 851 zcmV-Z1FZbP4(bMw8Gi-<0063BcP#(_0@iv|SaechcOYud3Dt#{hRy6y5TMTmJjP8JyOnkDTW^T}Z+FXnaw*@85LW2!>dJqSV25JH`-{wMV+_J`N4dbvym;m`rZLIQJAb@@fX3ETm%ginhrEdoU?($O zGCLMn<8g&JlFL55ynO7BBHLIy>(V8WvtT|`P z^Ngw{mVZnwo0(g&>f*`OvzxmYuZ4@?2-A{_h2o`@S}|xv=!)JI9BBx)y`cywtvsvLib*JJ?TU$o$1swpLY6L&N`55Lq-}p^048fjC!L+ zd)q!yqj%&!r$(FFB$k$+-KoKB_7;NXaiWtMh<|Y+5VuJH3C)vPbV`XQxydXR#->mP zHPQ*E(-wU|0yKBw)HKS# z!3KxZD|?;aq%YUuUjuvx`VRCRX#T4h9skwBZ;>*0mQgp&od5s;32;bRa{vG?BLDy{ zBawR!N#g?*3?MsE_9_zq001XRL_t&t*JEHH7BDg}F#Jd3GcceD{zqrP1(zH&k`@2}002ovPDHLkV1o3kj(Y$A diff --git a/mods/ITEMS/mcl_signs/textures/_t.png b/mods/ITEMS/mcl_signs/textures/_t.png index e750dd98e690a2402e87fa38f57d569521494be8..e175268c3489430f977a955409f9ede9735eef69 100644 GIT binary patch literal 294 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}TSke;WDV+hCf(q2nG1_hqON&o(*8(-iPeW2M@lrU?m;@+4y z1~Vk&wl>eW)$rbRBjbfrT)cZ)8&rTgRZCnWN>UO_QmvAUQh^kMk%5tsuAzahp>c?z zxs|c8m8q$=fq|8QLE@GVStuHE^HVa@D&ZOoEJBP7tW1op3@srVmWBTUd7Q!1)z4*} HQ$iB}L_bl2 delta 64 zcmZ3+6g)xFij9GRVO2u8E|8M)ba4!+U`$q!{G;ym!CuPEV?ye)dY{dj>1GWRb7k}TSkd~*5V+hCfh^XK@10H(=q&nM`0Y-lNBU?_OU`}yj- R$n8Ky44$rjF6*2UngD+~76bqQ diff --git a/mods/ITEMS/mcl_signs/textures/_thorn.png b/mods/ITEMS/mcl_signs/textures/_thorn.png index e44f23d85c2fa28674b065a72d3b16979249b15b..3d3b4359d12abd3fd094181184c568a16f25316b 100644 GIT binary patch literal 3803 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 delta 2455 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 V6$Q-3F(m*1002ovPDHLkV1lBR-QfTL diff --git a/mods/ITEMS/mcl_signs/textures/_thorn_.png b/mods/ITEMS/mcl_signs/textures/_thorn_.png index 1b6d2558b2890962c89006ef4365a45ea3cfd3ab..add982bc1be6af1556df77f6dea950036bdd12df 100644 GIT binary patch literal 339 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e#0(^_^UdD}q*&4&eH|GXHuiJ>Nd!qMBzpw; zGB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpaf@tPl)S(AYfns60@{b znt_5$B|(0{3=CzH&sqR^j7i?^E({&4vK}Dy1s;*b3=De8Ak0{?)V>TT$X?><>&pI& zi&s#MCD%p95-6nN>Eal|aXmR9A%P<`VaBNg8@d`7E@W(R;9+BPV`B?6;7Vm+$ok1@ zzkY>W6;QouiEBhjN@7W>RdP`(kYX@0Ff!6LG|)9P4ly*hGB&m{HPtpSure@6-0~p{ rMMG|WN@iLmT!Vo{h>?MniLsTTB}Bur@L$V-8W=oX{an^LB{Ts5DiK%o delta 110 zcmcc2G?Q_H1Sba@0|UdVgmT@9y>d~HnML^o#V&qWx(g_1;pyTS!g0N~-;j^NfP;zu z^8fmoe7=+2Bu^dF6jJoK(c9tl=?)9K*#d3x+GD@B8pp5S+2v|#$7I&q&&RPMF)0{m O27{-opUXO@geCygrX_R$ diff --git a/mods/ITEMS/mcl_signs/textures/_times_cross.png b/mods/ITEMS/mcl_signs/textures/_times_cross.png index 25af91b680ac4f48163cdbaa80c50d692d8f81db..f6c6cd310257d3a84da0366873f14cd27ace5b61 100644 GIT binary patch literal 1854 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}T4z z|M@bG>nj7)6(^lA+EdEiuAtBva_g3=*R5y&t1UO(;^hs~yXpXRx=U(=XPT#{76S*+ z6d-0~VPFKZK(1zlvUz}PCProkW+0sh#8Ql`U^OK`wltJo17vFe)qwPZ)EP1|F@W>| zeam13WQzdl2|&CAh&jLzoIr{vTiv4D%dIj3MpnL7G_pf7NB<- zYk~3%EP|{;iiVDC!hwnGN`)dujT0AgC_8ODC>nI}gNkudQ4=SZn7D+bl&YG#hNhN@ zshPQjrIoXbtDC!rr&n-DXjpheWK?oWYFc_mW>#@YX<2ziWmR)aYg>CqXV;|3Q>IRv zK4a#rMT?g#UABD1%2k^-Z`rzS`;MKv4jn#n^w{weCr@3veC6u3>o;!Rdidz^lc&#~ zzj*oTbPj7;S~%q+;ls%Xe2cptAuMXum~|Sure{WGPHzfSQh>ZRJllj zY)GxhOtW&zEGZ61EecM|Eyzh_u+UKeA)&W+>OfVBa8)iqSA=Bdf?R@8stUYYlm=8R z3|H)#o0y*JlbV-alEGkTRDXHtR-m*Xs&sf}3Q*QGerl6GP*M^u8JwS1Ql40p%79dq Ud-k{hD?SDWPgg&ebxsLQ00D3Qr~m)} delta 838 zcmV-M1G)UZ4%`Ni8Gi-<0063BcP#(_0@Zp{SaechcOYib?REVMW zphTT24LVods9}nUPd3!d4Z2U8i*ey57XlO-Y{1ilI7l>56PWon7h2<%HC`jf$erNH zgkXdoA4+&-{7Sh68e^s|QS?hEqy^^1Gp8|)Np9ZZ1%CuIwx+uDT_rr^O?&`5ndy?* zvA`OSE5xC6&n;P;1%4V+*pSKk4giTTwqi0QAP_SS3Ca|W*@&Q{gHOfGSrQ*0K&sp+ z46qT&fa5&JMjxZ)%gUD-M+-oxWNZ?j8wjvcQsj>%M-Ek;=aH&rHFYgov*eUD=WKbN zQPsqfseffNb1PO|Jh^&ybNAx4a1k6~T5_>ayp&Qa2CWEP(YwN<)`Jf@(xFE_?C_%; zwIO|4YT9zM=B>2axl70P@3~v(-b=41ok*oKoqFcePCv_82Xbx5NJB>+Hhh#(Z`5dS z+b3%Dj@;+eXj7ZS((v(0K0hz_?*=n QW&i*H07*qoM6N<$f>)!3D*ylh diff --git a/mods/ITEMS/mcl_signs/textures/_times_dot.png b/mods/ITEMS/mcl_signs/textures/_times_dot.png index 42dac52bc914c5f80d60c198f3c247f43aba869b..92b5dae140241b6b9ce94af9f38885b8d388e895 100644 GIT binary patch literal 1839 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}TnC20Wl*B10#?Hawa2`%>!gJF)}kS z1L-^hz%K;7(n`f-eWKVvPFRO1R!1l#2jF#15^r9 z4Wr#XeFGGX^b8I3EEtRo3@xn;jIE3e6%0+R49u)dO_1D{1=Iy|8^{Ql+qi&iW~dw3 zfNI!~*rHH2$PbK65I+il^g`Lj;OK(6?f;Gc4;Tcz+&tZY7J-}zB>vxKaAx3OV`FDy z$}_MCvI;30I#U-U>$dGXcJ4ZK_{h;?$4{I*b?NeztJkjIxOwa0qsLF4K70P+<*SdMK7aZ8?fZ|Pzd-(C z1V$;%eAPcLaA)An6AbVn=u#!j7{Xt-7UvB{QuOuED?}#K^$P#MsKv5~5*Q_%BdxA_cM`wIVak$|% zCzZiMM*)O{-rA`HRVl(%xd2@el9>x~2}Y?}C&dJEv@l$;XKrG8s!wWOdPxR@p;7(i zrCWj0f~eBrnJGY7)A*@P`anrZxMXmCT1k0gQ7QvcQSRB}0<7s67(8A5T-G@yGywpq C7VtR$ delta 828 zcmV-C1H=5U4$%gX8Gi-<0063BcP#(_0@Qj`SaechcOY@z}uyo|tyFA!2 z#C{CX!|*P$Jg@Q5^J7T(meY9;<;<(;Wjp8LcFZ2*pYO>KjIOXJ9C!#xMC;3oU(9@X0flStq0fY#?6^kJOftYbgP^M_iMua#z_*AT%CGiCUq{^Mb z1RIeIIL^yA<``{VR=&l!S^z?EL=0$ffB-8cMgCZF81FT{@0`&)q`zUV0rgkV+#B9eLRBQAVA}wJ9@Aoq5{yS!R7uqjPNE zsL=qQ@COpW#VFk z!tlyo*MHJ)_u;=9_%`%y=-bfxs+b+0cHwWPV0Nox$)@!H000SaNLh0L04^f{04^f| zc#(Y!GUEdk4F)%wT#qXN000n4L_t&t*JEH90Pvq-PyhgjbpZg^Js6At00001GWRb7k}T{1;^tu48oH2XwJZYJ_K+r>7PJ2T(H*GqNx+0$Cu( zGD6urKsFO2GXpb_&I4j8Mpm$z5+GX|%B}&jHGpbBdYOROkdcW2qz~vx1|uL_1V~Q+ z;w3=L0fst2r6AQX+TGJPK*31Q&_K_E!N|bS(#pWt%E(Z`(7?*n#LCzN$!%FcT`;$S zjDWd~3&>`Mx`7R-h7E}=3T1=*z{mvgqX0-Rlx+--G??4|-}wK4LBPw+(+y}5$eBRm z|7`|m1`akhb~aWHc6N47P7W>}5ndi{ZXQV?VSW)=DS0_rDH$0B6+LwYB^_lM84Yty z9RouX6BBuLOIr&g8$DwaBak7CoSd9I+&mJzyb?x=GKxkdgZ~E@1UY~%%3@|zVqg+v zWEN!ne}q9E=uTEfFaY`y3>cZ1Sy&0Dr^+rDGxu0w~996fgY#K}{aE?>EN?fQ+Iw;n!v{N(Ag=PzEq`uOSd zm#^Qx|M>X}8f2KE_o9%~}YXK;@p{B?_ghnW!=dCYv$V{_x z$}A}kNG%FZ%q_@CWw6ju03o5bcIrS?if~mfKv#rh=7L;;QL65Hc1!@MSQxI@GdD3k z)h9JCy(ELd(5U|M(yc&gK~(AR%oL!kY5deCeW0WyTrxO6t)x7$D3t-JDEI7f0oHd6 N44$rjF6*2UngApk_geq} delta 833 zcmV-H1HSyV4(A4t8Gi-<0063BcP#(_0@Zp{SaechcOY@z}uyo|tyFA!2 z#C{CX!|*P$Jg@Q5^J7T(meY9;<;<(;Wjp8LcFZ2*pYO>KjIOXJ9C!#xMC;3oUA?{1&VqCawC}~xiY{1ilIM_5$0}tWHT4?(%+g~Gx=T6XM zf-%C3pKAC@_&fDsXwH?oMA7d!AuX^jUOA0rEOM)b7Jm@XJTcWB-(AB?-ozKMi<#~) zJ2qJ3b(^@9p1CEPvp`Q{3I{S-KL!vY_*N{21O#HnB|({@F&h!$=-^Yaa+bsw2#_jw z3KMKZGT=Bb-KIcLl3 zj;bb>On)t#nOm{y;>p#so4XgUg^S<{(~^sY;-!>Y;k3eZ#q0`=S}(rjN|#>wvdgb> z)rRzGscFm2nzzzw=Pn(`zvphDdoR5X8c3y)hK@XJ_$Z@J-$FVF0QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI)Bu8WK%P)Ntq#W95AdhgkdoD2p6hYu8gyMI%2pND9LD3j>1mB%;s zXgyXo_?I7~vFPU9xa*ra1%A#p)B);KEpd$~Nl7e8wMs5Z1yT$~21Z7@h6cKZ#vz90 zR>sCwrl#5k237_JiCaEop=ij>PsvQHgljOc2r)9SGBLI?w1j9_7XE7)Py>UftDnm{ Hr-UW|K`~Ls delta 63 zcmZ3&6f{B7l8u3Z!7==d9*~msba4!+U`$>h{Dc1}hZ&QC#T4&^TduYY3_`U$U-)Al RSOOI>c)I$ztaD0e0ssep5kUX| diff --git a/mods/ITEMS/mcl_signs/textures/_u_.png b/mods/ITEMS/mcl_signs/textures/_u_.png index d04ff5481972caaeb76ba61abb5cc2f57ce1b338..06bac7dd9742ee77d0846fb062e615cbe3e3a0fe 100644 GIT binary patch literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJz!2%>-$FVF0QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI)Bu8WK%P)Og?#W95Adh2ONE(QgG!v|76{*PbB9{6#?joSf9JG8BM zm^fIt&L`ftF<2vEzV9px`xiDbZ#8}?pjOoq*NBpo#FA92CkWnhrF>cS62<@k diff --git a/mods/ITEMS/mcl_signs/textures/_u_acute.png b/mods/ITEMS/mcl_signs/textures/_u_acute.png index 580f61042dfd10bfa2d861a7707511d7bed9cab6..04fe159d8b442569aa4953ec3de7586c905910c4 100644 GIT binary patch literal 1924 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJz!2%>-$FVF0QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI$^uEkI8VbJob++VDOFS;T3-=>c+sp+L9XK znda%K#lQhH3y2w67#M*pkjEIIY#tz+iIJIs8A#^=u@oaKSWO9#Ee&PY0NENqH6XoA zKy1j!!~oI<^fQAIkSzkFCjjvhAm#u=9iUQ>Y8dVA=^LP6q-SWLXTe}(U}$M&U~FY% zs9&CY&d$ln!NnuO%frphBPk@zFCr@? zFDEM{Bcq_Ar>>x+qbwt%VXmoTU}$1uBCl>~Yhh%gXKZ2wGK7(nlaq&=M}n7E!bnj@ z(THU5{{Vv^2hc?g%#2D5OoEKef{g!R;@QBE$5`HGdRHf`Rrb=&qGJ9iyAeB|h{<0np@x^(%<)oa&p z+`RSh(c>pipFMx^^3}&rpTB(l_Wj4tUm$-m0wWa$AU;F$mmttzOe`$SEbJhEF*22d zJTAz>s%Xe2NbB$Ypx9bvl%Jt&BL@RUNpJ%Y?I{{3f$ zZzz<=LsIixa*imeq{0;)kGFDbDW?6rm3&%ywTIZw7Yvi2m4D+uj(>$+9|J5M`}JxM zb^@`VKy(khi>#Sf|M>X{Bz&{ec@O1`tLbSw=fmxUJ;C4KlR=EGh$kF)2uZ}#*DQh+ zNRf(G@MIxg7Db=%R?*YXwF@7*zKeJ7y=fQgvCFFz;Z7mHX>{zQZ+5v)!!IkM$ILHZ zn8XyH%ae9hVTfttX~_qEWTx9s^EIcDwz zPbLIg{C=q6GvlAsd!RX2>Jml2>Es(Qubjp*7P<9=7k?1YJeum(ch~TgH}MJVVy0VW z#|CS>ZXqtEM{ddHEb!Bq!huZIPXI`SxfP2c0fCs2*pw+6vk^f@2cL?Svn0MifK<6t zm|!E40mpgGjWI^smz8g3TrB{hlEr`q2MDlIQsj>%M-Ek-n-o+vtEp?znkA>KIcLl3 zj;bb>On)t#nOm{y;>p#so4XgUg^S<{(~^sY;-!>YF=<8UiqRDwwO)M5l`g&VWtU&& zstxJWQqz{3HE*TW&Rsf=f6v`Q_g;D(G>}Ro4IO#d@KHvc$h9dmO`Un#^jT)TQ=@Zi zU#QU=xnEPGLv0aD+s_`*LF+ov#SFwa5r2r=B7lVE#Vk6d#EaZw77OE0D1#d5 zg41ac1Hm+ib<&;PgWNB<1x>%jjekZiEOh?`xv&D68tAx5U2M4SlAfG{AXZbU|_;!3==ta bQ40V77oZCIR}YC~00000NkvXXu0mjfxuJ{b diff --git a/mods/ITEMS/mcl_signs/textures/_u_acute_.png b/mods/ITEMS/mcl_signs/textures/_u_acute_.png index 9237d3caff35c6f167cfd02a9a543c57dd48b812..26673198180c595b6e5fbc1ef94312398b1efe7e 100644 GIT binary patch literal 1924 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJz!2%>-$FVF0QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI|m%&9Jijlm6*#s{OzI&s_3{QzZE6YHbDv)|S)= z&ooa@Ed~ytSwPIl!oUb*fjq_tW%B^pOpMG7%s@I1h@}`=!D>o?Y-uRF2FTU`ssZU` z0%Ai(CI*l`pr09xfNT*UJpqW905Jy`>Hw93RKsX@Pu~CqBRxX{JqrdS14BzI17j;A zLj^-qD??)|V?!jjH2`(N+y*iN<~A-Mn;Gf`ko(z?*rHH2$PbK65I+il^g`Lipg05q zh}-_(`2T=Gz{}0k4QLU_nLy(IZ3brs4mLJ+HdYRHc6Lrq4lW)MULJ049!Vi#ei2zI zc{y1r85so?J#_^o9c39A4RcK$149!N6M1z@TMHu_J!2CikRgnmoSZz|JQBRT5=M$L zibf=Z{|6WZIe;!|U}jWeU=n0x7G(T?gh3wYPF6-RfOrMuQDzoaHg*n9E^eTLtpcEs zVrF7tW@TjodY7>lD9^wm$SS00=*T7bFC}Pw&aUqAY)5e3MK^H%$7$+4qadL@? zOGrwos;O&eYMGdtnOj&|IlH*JxqEne1&4%&g-1k2C8wmOrDtSj6_=Ejl~+_&HMg|3 zwRd!OO`1Gq>a^)IX3ko)c*)Xb%U7&iwQ2K~t=qQm*tzS_;UhlG{sQ@n5g4g30Pz``zXXB)Vq#%oW?={Ui;<}u zuqec!9r-=(U9^_Ou4*DRPRCJL`OvU7(>PL{*z&<0+V@+iF z4DK<6ziu(`Ff#%pk6Dnxp5f=eE{z3DqjsCwrl#5k237_JiCaEop=ij>PsvQHgljOc2r)9SGBLI? zw1j9_7XE7)P=gf6hSZA8G%KgflH!2WqTs~bf}B(a3mpXz5_)T=4pgNGSLFh9MM!2Y z$R!x1@|VZWjzGo2aK)aviRr06sd?!o84QL-^_Q1!1xgE|N{45r0AmdKI;Vst0K9J*D*ylh delta 853 zcmV-b1FHOl59|hz8Gi-<002Q(%q{=`0@iv|SaechcOYNbB$Ypx9bvl%Jt&BLka|MEJ%Y?I{{3f$ zZzz<=LsIixa*imeq{0;)kGFDbDW?6rm3&%ywTIZw3x-M1%75`6$G^g^j{%mB{d%tFGPuk7deSgkz+g(i=O671i^|6)RgX0A$We>}!hL56eyB1W(78{6l(7aGvph66_ zC$h6srAcGAjT)Aic(9>mZqR+%T#O614JEBglMQ%!5C@wEY63Ig*Ft;Vvgd2$n7I=? znGlRH;)fbOGyX}v2by!GE>ZNGPQC&2%4sZPky}rA0e=C_qp5CvcMVT@6Q95?X1Zl| zY_P`b7UEKRN< z2{s}baGclN7-O`3S@~wh)dCPISqx}!fB-8cMgCZF81FT{@0`&)q`zUV0rgkV+#B9eLRBQAVA}wJ9@Aoq5{yS!TUcqjPLu zsL>m_UsIz)Z4pb`&mPoZHv0%c>pIcJ48%AQh=1E6fQ077EIOsci`-%s3*%5IgBt0A z(`gX{!8C|<(w*Id+%LHWO~1vBe?~4WbpHjpu+SZHKXUtoTCe*TMK+*y3YVr)CN4HO z46p2U{U-f!8~!%HSD>#zUxEG)fhMjC{J9L@0ibD>!9Hxm9smFU32;bRa{vG?BLDy{ zBawR!OXC9-4h&j1^*ea0IY%-fDuV0BQ~A?(b-J6j3QkE f-5%ncOd0?H?ZgNHExW_Z00000NkvXXu0mjfj^Kb= diff --git a/mods/ITEMS/mcl_signs/textures/_u_circumflex.png b/mods/ITEMS/mcl_signs/textures/_u_circumflex.png index 2b238be12fdcc71e59c6e7067bd08c755e20832d..b402d9083c28f560ac68bb5ff8b12f11ce8bb509 100644 GIT binary patch literal 1926 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJz!2%>-$FVF0QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fIxoXL#S--}Tot#=yYZ zk{aQe=IN=$zyUN3h#6TJ7=bL1*BGH}9w3{Ek(q%RNaq2u6eBBGO$m@K4Q1B=*&0AK zAiYdLY{h5Edrz`0Pzwa<^V$-pi+=(813%q8=zpMXK0{j!C+)yXlZ3& zY-MDqU}$P(Xl!L*f#kLZpe~r(Kt{ma#sy?EL)`#!KN}KT6v_tqfsqN~M*)ytD7zRG zi$DNz+y5K?A20}bxp}$)Edn_cNc_Le;LO0m#>URZ%E8Xg&dJHa#UsMY!_CbjDJ0A< zA}b{?Co3f*qoAUvuAro&EF+^~uBl^SXkua_uWo5;VPvCcY+?j5gprezlZTr}f|pmq zNKr=7h-C2p0D~Y0&_xZ*j7khlf{e_9jQ@`?$OGNU$_NG!uYf$t%)-jX&cVsW4OFmI z02ETpOf1Z-tSmt9GS&j+8CV2ag%k}P*@OcV*_8@Kj2b5{ECr+Nabot8F zYu9hwy!G(W<0ns_J%91?)yGetzkL1n{m0K=Ab&9eBNYZ9K11`DAkbe-EG*0{>>z(J zGL?foF37^FXviky7|5PjD6C}E$RXl1apA^;oXW;QA4HRiE^>*fm^@Vd2=W@(XT*7| zi7cPNJ%;etEe0NDMquPI3o_U<{QTFYv4Ck5kJvEa|9_Jq_kZjLVDeTiag8WRNi0dV zN-jzTQoyp%$Vk`FK-bVX#L(Qz*x1U{RNKJ7%D^CT%ZDr!4Y~O#nQ4`94F(n=Mg~?U z##V-w5Dm-1e=P%QkOJ9|T9KJ%<&;@c9FSTRoS0jXlgePBqX0reZ|&59suba>T!5|! z$;<`01fx`5CX@lJ+Zcr5iam1^(^Gv?^U_N)7z~Z-FE8B+lomvl4$n*h%9-L1fK(ND_P78mPzDB1S3j3^P6NbB$Ypx9bvl%Jt&BLka|MEJ%Y?I{{3f$ zZzz<=LsIixa*imeq{0;)kGFDbDW?6rm3&%ywTIZw3x-M1%75`6$G^g^j{%mB{d%44g zB&PUWp0t~@`+uC{w!4}#l*-|3>SHUr2geIi${v@z) zG9egY#1A!mX8eadWU83kWoqPl4mD5^*Ow_-6QAP_SWn=(aXHX`Wg;8U@3mc$nbkSccy z6Kq5>;5e_jF~(^7vhvN0s|6rbvKY|d00CA?iu|$U$f2sDDX3~zQ`e$3OHNsH&X(65 zRZT3JT7Nb(w_?@BldESpcQ0NG7r_;#B^L|DODVNt(u&X(qbodWz4($VU3%rqF2BlE z8`7txrY$#X-b$;TyL24?p1Xzaz4SV0AeBZMI`XjLql`L{Yg1;LI`g#Yv&?#@M(5bR zP@^|;zotfq+9H;=pFOC-Z1xd?)^(zb8HjNr5P!Et013^DS#(N?7rDhO7RI4a1~t+J zr_&+^f@u)zq&vF@xnFV%ntqEL|BPH%=>7|GVWB(Ze&qHEwO;oxiflmZ6fRApOk8Ym z7+%@y`c3-dHvDaXuRvdcz5@Lp0!>^O_;VS)1IPcB#qNG(vj6}932;bRa{vG?BLDy{ zBawR!N#g?*4h;y+h{c2e001XRL_t&-(_>&D0{q7(_@9ATBmQGyV;J$Dfq{X6370WU d-$FVF0QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fIuo=AmDWI z`Gw!{H}#}4IF3v`6dt_dfKIf>-zpKunf+`tdyDuZ?VrrpS01O|!X>OLni0#uz}k`; z;hE;?sl~tnGz^FtSr{0BERfF_p==%?n~9N`ff-2W0kIS#D_BhlkSz^m*8tfXKs6w} zOh9bN$ix8B2lO<95s)ncq$dFJ5+LRPLmi+}kZKt1?&%w#V5Dbgpl88gWMF7%WngS& zWT;?hYGr6_Wo(J$wg#XsnA<=`z}&_KWHUqE0CGPY5?d6?2Kj-J3F1cqkX|Ue7!-*> z0CC&@8~-0L2za@9x&bW$ITJ|yzs=yxz`@4G&c@2Y&d$!s$-%`V!pp|K<_fv0_7Q41X+a?4ISBp0~6Vm3Pp?>CobercG`GQH0a_772~9$CQdFf zaS2H&RW)@DO)V2sGjj_|D`yv1H+K(Dui%i-u<(e;sN|H?wDgS3tm2Z=vhs?`s^*r~ zw)T$Bu1S-pOr17;#>`oZ7B5-4Z25|nt2S-kvUS_`9Xod&I(+2lvEwIBp1O4T%GGPv zZ`{1~@X_NZPoF)1@$%KjPoKYh{r3IG&tD*aF#;nM1|U8|^OqpdUra14%q;96e=#zZ zgFG(C!m4P(ZXWYowZ;xuvL#)F*7#z7xMlZq~KiK&=8RQ(9@8rWyVd8~;n zpTRwb@YgK{9%e>hzt delta 853 zcmV-b1FHOm59|hz8Gi-<002Q(%q{=`0@iv|SaechcOYNbB$Ypx9bvl%Jt&BLka|MEJ%Y?I{{3f$ zZzz<=LsIixa*imeq{0;)kGFDbDW?6rm3&%ywTIZw3x-M1%75`6$G^g^j{%mB{d%44g zB&PUWp0t~@`+uC{w!4}#l*-|3>SHUr2geIi${v@z) zG9egY#1A!mX8eadWU83kWoqPl4mD5^*Ow_-6QAP_SWn=(aXHX`Wg;8U@3mc$nbkSccy z6Kq5>;5e_jF~(^7vhvN0s|6rbvKY|d00CA?iu|$U$f2sDDX3~zQ`e$3OHNsH&X(65 zRZT3JT7Nb(w_?@BldESpcQ0NG7r_;#B^L|DODVNt(u&X(qbodWz4($VU3%rqF2BlE z8`7txrY$#X-b$;TyL24?p1Xzaz4SV0AeBZMI`XjLql`L{Yg1;LI`g#Yv&?#@M(5bR zP@^|;zotfq+9H;=pFOC-Z1xd?)^(zb8HjNr5P!Et013^DS#(N?7rDhO7RI4a1~t+J zr_&+^f@u)zq&vF@xnFV%ntqEL|BPH%=>7|GVWB(Ze&qHEwO;oxiflmZ6fRApOk8Ym z7+%@y`c3-dHvDaXuRvdcz5@Lp0!>^O_=^|51Mi`g$uL=tzW@LL32;bRa{vG?BLDy{ zBawR!OXC9-4h<(}S@_)m001dTL_t&-(_>&jfd33wz<+#_D1Z@36(crX|Iyh@xQrrQ f0^Oef4Achz_s9tV6Dpcr00000NkvXXu0mjfX!?va diff --git a/mods/ITEMS/mcl_signs/textures/_u_grave.png b/mods/ITEMS/mcl_signs/textures/_u_grave.png index 0512804284990f15fe4abceb07db1a97a607be2d..51fff9c2ee02421ff801eb9f0352039f367996c3 100644 GIT binary patch literal 1924 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJz!2%>-$FVF0QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fIpao{43wbL_n}%kYU<*G2o)X5I%fPub@lWDJbw;r$YD>pcSlYfEZ` zXPT#{76S*+EFflNVPFKZKpta+vUz}PCProkW+0sh#8Ql`U^OK`wltJo17vFe)qwOe z0kI(?69Y&e(9aA;K(+{wo&dy4fS3aeb%07is$sOdr*D9Qk)EM}o&|%EfuW_9fw7g5 zp@N~Qm7%effdP`+8i2ZBZUY$sa~l_s%?xz|$o*_cY*8p1X!XqN1l2cOC(lau%ic3n%$}1|Xnp;}i z+B-VCCQY6)b=ve9GiNPYykzOJeA&aSFc^a zar4&0M~|O8efIpt%U2&ieg5+G+xH(oe}VkP2#i!1fcOl}UxGk?F|n{Pv#^8w#mH0+ z^0*)itD+&BkYgZwVxh2-Q6qGeQ$1KQT&+zkKm&O97Q9NS9fdBtZ2FI75O@PT;wZt`|BqgyV)hf9t z6-WWgLL(zxLjzqy;}Ao0D`R6TQ&VjN17L}mxaC6@iiX_$l+3hBxCR4@5F-OC6Jskw zONfSL;lGvvHAsPMNUg|BvvSHTDGo?23Qo)|$Vp|e&`|&(p|^JGKvjxxRW3kRgkStRI&@h6?^6;rl~R5Bp9~D1u6{1-oD!M<3`7{n delta 848 zcmV-W1F!sq59S7t8Gi-<002Q(%q{=`0@Zp{SaechcOY`Q( z3Pth|)jZ{t4wRT<=7NqNSGig`;(A^s?UtVH;i&rs!z5^B`+xWCUtrh!0E^pxKHG!s zK& zj(9wl2kpjaK7U5Pc2{D8QYq|By=`Un;CMnxS;G>l;iKr=su|U>#R_5#G*8qTC=)~N zf$VHlXi#5mrHUm+?rdn8D|DYW7vs!zL5Z`{U;~~O#KES5n!wDrwa}V3ulXuDW^M#e zCIlmlcvr(m#y_dIKx53*B|7}l$roUrIgMpZa`Oos^KATjt8)lnJ$?f z8!X3pg*cV&xh0FUz)z1DHe|B413)6otyl~R2pkECO^FU;HX`Wg;8U=2mdGavkSaF{ z18hVR;5g5@F~(^5vhrod)dCPINepOkfB-8-MgCZHscY7fB*mmDB}?;; zDkc_9Eq|GrTejlj(bbciyJs(%v)~HToU(=NIp{vqkU|j zsL>0#&#BR-Hi^aMXLo8ao4tjgd7bEF24Wlu#D8rPKtl6mb~wezliXx>WX7RT1~t+N zr_m$^g0U0ppc}h8xlg$Tjlac>e?=}#bpL`}nCLdS_uM|9*2?-tkp*a;!l~&Y0~Z?{ zx)=5`f0O>W4SyTpE6`VZGe=fsMc*m8!aljDO00009a7bBm001r{001r{ z0g-$SM&kn&4h;dcRDB=-001OOL_t&-(_>&D0REFLiJ|g87B+@4{}~t<7?^Mw!$gi< a)B*q>mclt diff --git a/mods/ITEMS/mcl_signs/textures/_u_grave_.png b/mods/ITEMS/mcl_signs/textures/_u_grave_.png index 6686857933c5b2e7741c29f45afa4a3491eb5361..2605b3ecaa0b3a6dfa9f5265667bac7dc1031ebb 100644 GIT binary patch literal 1925 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 delta 849 zcmV-X1Frmo59kJv8Gi-<002Q(%q{=`0@iv|SaechcOYNbB$Ypx9bvl%Jt&BLka|MEJ%Y?I{{3f$ zZzz<=LsIixa*imeq{0;)kGFDbDW?6rm3&%ywTIZw3x-M1%75`6$G^g^j{%mB{d%l?>fttX~_qEWTx9s^EIcDwz zPbLH-jQF93&y0Uk?}6rAsY?|7rju{LymA`LSmf3dUVlJ9^JuDD-(AB~-oz)ciS=2k3*1O#FxQOXpJ*@&Q{gHOfESrT6$K&sp+ zOt2BjfaAR8#u%gR%gQ%1t`>k$$zni*0|ZzpDe}jXBZsPrrl6`>Ode!o&ob+s8l7YN zLXFqQ@AvZGI6oN zVR&V)>o@6-+wivmz5;y(`U>=a2sCkB;Lm0F4$;(=#uc}I4*&oF32;bRa{vG?BLDy{ zBawR!N8&D0RH1(V**Ab6^z()U>L=O%P7(%(Czup bKz#rJ)ZGXHSBK}400000NkvXXu0mjf>erMB diff --git a/mods/ITEMS/mcl_signs/textures/_un.png b/mods/ITEMS/mcl_signs/textures/_un.png index d65f12d4e4f5dd8f99b5dd6058a6c6650ee5d57c..5da6b09a74cafd5116f981ee1230968e8e243a9b 100644 GIT binary patch literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJz!2%>-$FVF0QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI)Bu8WK%P)Nel#W95Adh(z14Gca!%m)$^9g3KgHx)A+3t<*hcpzN^ zRHItr8c~vxSdwa$T$Bo=7>o>zjC2hRbPbI|49%^Kjjc>gwG9lc3=9&te8@u4kei>9 lnN|tcU|{_`p7_hns=nMhNTg1+Jz6Ksg3aS3j3^ HP6-$FVF0QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI)Bu8WK%P{_#B#W95Adhc07E(S#g=7XJg{_mIJX5Hy^IoIRHm6IP> z<|}D9m(4ZpUi9gAO0^cd-aO9oiyUHKU9x0=x>ZYDBT7;dOH!?pi&B9UgOP!ek*=YE zuAy;=p}Cc@v6ZQ*wt<0_fkEPy4_PQ0a`RI%(< N;OXk;vd$@?2>_X!Qhopc delta 66 zcmZ3*6golDhK+%N!7==d9*~mpba4!+U`$>h{Dc4Kj2acTuz&R_vlg&8P5Q;a5Us}b UE!U{yDNr4Qr>mdKI;Vst0FdDo7ytkO diff --git a/mods/ITEMS/mcl_signs/textures/_v_.png b/mods/ITEMS/mcl_signs/textures/_v_.png index f2ecbf143bc9ca9b246cf858e737cad29b57e2cb..5e27b773ec7ee352face89dc319ae005f9d7c037 100644 GIT binary patch literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJz!2%>-$FVF0QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI)Bu8WK%P)Og?#W95AdTXyW7lQ$h)BJ_s_iu{TnmLPuuP$Jw+ecw` z=0lz$*NS_WG0vQ#bnPCkWnhrF1GWRb7k}TWnyY(ZeeNV?BeR??&0Yb91<+v*#~fzWVs-^OvvRzW@073*;|G zV5GtTR(}Zs{l&z>!py=B@)sjhIS?}oval)|vI#i`vL_Y_D;YI%h&WALxbYyTvT@J{ z(WIh_Tw*FF4^=;cyax6eaUN?T%V%(pA^dfVfrpt97e0kHVpXx z-(>KWzV{iJJXK3vBT7;dOH!?pi&B9Uuq-n&(ls>DH8c(}G`BJ~wlX!bP0l+XkK DhQIY& delta 834 zcmV-I1HJsJ4(SGv8Gi-<0063BcP#(_0@Qj`SaechcOY@z}uyo|tyFA!2 z#C{CX!|*P$Jg@Q5^J7T(meY9;<;<(;Wjp8LcFZ2*pYO>KjIOXJ9C!#xMC;3oUuxX$s5c6X#wEdRtuaU!ZCulOk z7-7awHGC!fo%%2|=Sp3o=y#lu7FZXroW?R1xz$1o2!CjvnCg!2uHhwb;tSZtOm~*^%prN< z2{s}baGaNK%rV-!tbB`cwE%=l76Td_AizpVkw2CkIaGDsN2;3D)U{~Ml2g{4v*mS1 zRTE35mVeF6typ#O4mb)D#924b8D#D8rOKtl6k7M)V!MQ$;Rg>fj9L5+05 z>9mM}U>d|a>A~(v?w8zxrhmna|A|~!=>89KVWB(Ze&+TCwO;o>iflmZ6t0*?nYh@X zFubzY^`G?HefX~iz72gF`Zlz_DrU#0UHBW5f_AB=nCY4T000JJOGiWi{{a60|De66 zlaXs4IO78q2{tvX9dIZB000(AL_t&t*JEHH2mFUIn6SwXLP4wm0L^Xz5TCjJO8@`> M07*qoM6N<$f`bH;vj6}9 diff --git a/mods/ITEMS/mcl_signs/textures/_w.png b/mods/ITEMS/mcl_signs/textures/_w.png index 6c2eea3e192fe2119135539a1a14318795baa54e..1b8dc528e26ea620c6ea29243e8b30ab1362949d 100644 GIT binary patch literal 1848 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}T+^Y8$flK+ei7Ii){6=yJA&LP0}`Nnaeqg_%XJkvZqwHP>n`hl2{g@F;s z0=btF%H{#GnHZTFn1OU25KA$#g4L7&+0syU4Unw?R0Gn>1jL4nObj4>Kz}kA0ofuz zdIAtH0b&j?)B!35sfN++p1uJJMtX(@dKL^u28Nba2F6xKh6;uTR;H#_1|~>u%L3|x zxea6l%xzpiHZ#->Y(O<^NNiCk8{`K@CWs#eKzgBUV{p8|-1h&*{|5{LUT&UlK#M@m z1QP#mGdMGFu(7eTv2w7pvvYECaPf%n@^EwWND2w_i^xjJ%gIW~$SA1jsVgYyD9gxb zm}}}77@C-v$g5l0S{T{r8Jie^3}NKtKT(FjACJG$I-NKfoZ!0d!FoGoum% zlOQ9rAmjfd4DvvCvND1J(2roi$i&RT%Er#Y$;Ay+uvGvQQp`*&%&e>|K<_fv0_7Q4 z1X+a?4ISBp0~6Vm3Pp?>CobercG`GQH0a_772~9$CQdFfaS2H&RW)@DO)V2sGjj_| zD`yv1H+K(Dui%i-u<(e;sN|H?wDgS3tm2Z=vhs?`s^*r~w)T$Bu1S-pOr17;#>`oZ z7B5-4Z25|nt2S-kvUS_`9Xod&I(+2lvEwIBp1O4T%GGPvZ`{1~@X_NZPoF)1@$%Kj zPoKYh{r3IG&tD*aF#;nM2C(`|5a=%^78Yg}c96dqnaY8fS&)TQ(U48ZF_1m6P*};R zkwe63;=+vwIhBorK8Pk2UE~r|F?p!^5#%+n&xrF_6Inikdko>PTMRtRjKIia7G$tz z`1!9(V*%4B9*k;TjAqLW~ToOpL7zEg>3~h5rIoD^egEQY$jk ztei4SiUU%Mf)jHKa#9&AbQC~H=&hYPP?aKFl?%`nA(^=#mtd5ty5*m?0Tm0w6?^6; zrlYDh{PR5-lF=3ZgaZ#DiFo>oB3OYG zspthy7UHFe7%ODy)7QBRxqh9z$LJ$>u^zp=ry|6B4Dv^gj-K>GFOM+%wjz2)e)~cs zruf=kayMu9Ie*8!yP7gGmBZQ8kFD$x3@@Zo_OuK!d=z8bQXq~kHW2Hec|lsBLX2!q zO4O;+q_O)(4NFWs*w8aK;5e_?m}9hUS@~AuY5@q9ECw_>pIcJ48%AQh=1E6fP&`5EIOsci`-%s3*%5IgBt0A z(`gX{!8C|<(u3WT+%LHWP5+7;{}Z{e(ET6e!a{e*{mktPYQ64X6xo2*DO@>?GI6oN zV0dM(>o@7Q`|w{Kd^`Gf^zCT1GWRb7k}TA@D4Pe!W@2P!U35+00NkumRPuA+bfFY>*!qnIL`?0O^IYjlt0ebKCzL{~s_2 zc)5AH0WAVK6G;5O&EU+y!N$hU#>&CY&d$ln!NnuO%frphBPk@zFCr@?FDEM{Bcq_A zr>>x+qbwt%VXmoTU}$1uBCl>~Yhh%gXKZ2wGK7(nlaq&=M}n7E!bnj@(THU5{{Vv^ z2hc@X%#2D5OoEKef{g!L#mF~@HpsZ>9)FyqPq$FH2I6tkVJh3R1 X0jVhW>~R6sd<+bpu6{1-oD!M<>_hz3 delta 851 zcmV-Z1FZbN4*3R<8Gi-<0063BcP#(_0@Zp{SaechcOYYDh{PR5-lF=3ZgaZ#DiFo>oB3OYG zspthy7UHFe7%QY=oWIUp$o1>wJw_k7i}mQ`JryD5V~{^`bo8VjdU=H5w-wPd^4k|8 zF~!&RlDj#(&wn}Y-PM$lsT|Ixer#orV0a;wvZrN;;iDMamI85Xv4L0z%?r{36=Gy_ zQld_kCXL-UYFJ|8!G@l>A@57)VqCawC}{~zHsI+&9Bdk>3Do>p3+=dN$7|$>+zFOU za7LK%lZ3C7zatMvbFR`Qihkz_Wr20^s%b1^ky}q#0e=C_lT+RK-4b5vCcc1O%yg&O zvB4Uz+r_2ytS#A`1$G)!IFQNuaex#dwqh|PAP_Sy3Ca|W*@%!w2cL?Svn0MifK<6t zm|!E40mpg8#vG$<%gVPJR|`O>WHF$@0RpU)6!l}tQA1VNeWa>cO;9$dhsP!y7bDIU4E6T zHk40GOivcj-9(J$DP;d+Bx1Kq-whbmU>fM;UdZ)~3ufb>?Z)XPNaujn1)s zqedU(eoc)IwM8s#J9|=t+U$o5TGxp#W+29iK!4m80TeVZX3;4nUgQ?DSQv*w8PrG@ zoKA}v2&O@-lOF7zu+qi;v+U&ZYBYZv|olYn-q0^XUU00006VoOIv0RI600RN!9 zrva0ZYaU1A0~HB35dH#{E&u=kB}qg1GWRb7k}TSke;WDV+hCf*0Y9u3`njxg HN@xNA>%>ma delta 64 zcmZ3+6g)xFij9GRVO2u8E|8M)ba4!+U`$>h_=EqDM2?7~go4Tk`Ry~OFftsi<@xe) S#~MzcDh5wiKbLh*2~7Y^brawK diff --git a/mods/ITEMS/mcl_signs/textures/_x_.png b/mods/ITEMS/mcl_signs/textures/_x_.png index bcb351d56334a38a1e155e644acfbdffa82883c3..05300eca7036bf363922a830cae06f2f78e8c8c8 100644 GIT binary patch literal 296 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}TSkb$R*V+hCf*0Y9O2OI>PE)fnra&uSQ!{3ZuyXfq9HdwB{QuOuED?}#K^$P#MsKv5~5*Q_%D#x89ZJ6 KT-G@yGywojO;k+) delta 66 zcmZ3%6golDhK+%NVO2u8E|8M(ba4!+U`$>h^M^f=$841XQv#Pj&{z5Gu2UEpPPX%Y U7RflY8>o)K)78&qol`;+09o-9jQ{`u diff --git a/mods/ITEMS/mcl_signs/textures/_y.png b/mods/ITEMS/mcl_signs/textures/_y.png index 7cd1d87b72dc21b13fb6a0a303faf810bd3ea9c9..87b45d413c7d8f5a9da5d6df2e5420ab26b49555 100644 GIT binary patch literal 294 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}TSke;WDV+hCf)-#4&3<^BV2fBa!*T3$#YVr)t7G=%34}+IG zi8wpNnYF&HK3i+Spfm3;yQG+*;02&g)e_f;l9a@fRIB8oR3OD*WME{ZYiOWrXdGf_ zZe?t2WooKzU|?lnkhtYT7K(=4{FKbJO1K6Cix49ND-&ZYLraK;W#PX-9%t}$^>bP0 Hl+XkKQ9Vy} delta 63 zcmZ3+6f{B7l8u3ZVO2u8E|8M+ba4!+U`$>h_=Er0j2xEc5=WoSA6F}|FbLW6eTv;{ Ry%4B~!PC{xWt~$(697eX6J7uS diff --git a/mods/ITEMS/mcl_signs/textures/_y_.png b/mods/ITEMS/mcl_signs/textures/_y_.png index b5f49850cd4ad52d81e7792b1f3dde04226a0023..de9a88db4d1dec2a0542308c51794cf69b28303f 100644 GIT binary patch literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}TSkiMsjV+hCf)?P<01_c48^lAV8r&@a~Z(?y|3p{-BLsvJ$ zq@dTDiWwO@#G($|KgzbpgG(gt^A9PYR@D;Mh?11Vl2ohYqEsNoU}Ruqq-$uPYiJx| zXl`X}Y-MVyZD3$!V34@wLl%mL-29Zxv`V-J1B(zN11l3_D?>|&hGpTuKt5;iboFyt I=akR{00j$B&;S4c delta 68 zcmZ3^6h1-Hj*WqVVO2u8E|8M*ba4!+U`$>h^M^gL1GWRb7k}T_WTR(nVgxdTk&}~?hnq)&msi3_QAW{- zWbpq0gCGacMOn;@N(@YbjLd?J|Bo=p1Kr8W2nIkuf&n8FGYcylI|nBhH&DS=0Z>RW zGqEtUva$fZ%UBDPXJ8Rz6;d>GWD^cdWLGK_F>0K+kVDyN<3Z7&iyu^slZu)+xx~aJ zB&Af<)HO7Muc{znEB9m|56C{$gY*2V!PH z7FI<=HX+AA_QXPAC8I_T5vPd@Hy-3vHV*nAnpAX=OH9S&q3TDF*T6m_&SOnv`3&wc zguiYv@Gvt1Bac~-!Jgsgzb=ghOrv!C8<`)MX5jv zSe6+X=^7g78XAWfnp+uz$}(*O11kfA#4R5{B^g3PZhlH;S|wbAfklXsft87|m7yg> z!?N&SpgKkhWJ792W}1~#W=U~CYEf`vZb42egN2R)2noHlQwOS2gsXA^x*{Yq7vvI* zQg!K-2ls%Ah2e@la}(23eNyw%OEMS?jp{Ei-3pWzM3oNDOaaQ8#!qe12TDr9C4=+R dO3D+9QW=nna?c(YVExCy;OXk;vd$@?2>><`1!RwJb#XUg$ZaBYJv%dm$22 zd@V1ro3s0z<9}XVO&O8O;VkOMQg#oD7eXm}SVlEmioWeyP#sHbAl5!mOfm6bL(AL{_a$>NF5EVhv?@(D;ORjeY#OKu#Qc~GZNFvvYvl0U37SkW zMi}u^4POa=r#=kLxl)%X`W+{v1?I&or!kF1Zrz~;1b;M7Om)Y1*YJ`z@dfN+raR1z z1=e`oCN8CCZpr2>(9@X0flStq0fY#?6_X(WftZollqnjs5h0EaJ{2=(Nqm6-sdA?< z!A2wlj`Q-3F-BXLm2WYQ7JyL6VnBlp1Xw94^2d@RhpMjgNL90%x)!Zja>|->w!F@$ zYGTRMvVWPm6{{|uTs^zFd+}Ph2#zo6I_L{3=&% zNS~IPw%n|FE3J0!(y{$}?iRZD((9msR2pgM$is$@GU`OGO_^!x%+sdNGV6mHoo)L@ zjXuczni?Hyi&)xv_M`@}*$)%6juTzXK#UWCxPL7INN8TnqEkw|$Sr2EFgArUsF5x> zofa_=OoLb_J=i_T{gPYI^sl(_KamRy-Ty%@EOdw5&)mMC*6aSF$Og1_;fiULiGvLa z!z+7T-=yDe!+$mKZRp$3x1se{F*|x80X-3 h(tm<(WME)m008M=3jBf4sp9|u002ovPDHLkV1iYKi`f7G diff --git a/mods/ITEMS/mcl_signs/textures/_y_acute_.png b/mods/ITEMS/mcl_signs/textures/_y_acute_.png index bcc15c41c725e58f5c34b0e7f18c35aa15be6dd1..18c5a552848329f986975cbb7f44b93b852b3c13 100644 GIT binary patch literal 1862 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 WMY(5>3$Wf}VDNPHb6Mw<&;$S*YW?K^ delta 844 zcmV-S1GD_S4&nxo8Gi-<0063BcP#(_0@Zp{SaechcOY@z}uyo|tyFA!2 z#C{CX!|*P$Jg@Q5^J7T(meY9;<;<(;Wjp8LcFZ2*pYO>KjIOXJ9C!#xMC;3oU7|kRzy$FZ$F5{ z6kp3r?B?t~=YP0&S5ro$ayXm%v6Vf7;)PJko|aJ!k78`Q7F5R;8;Et#yii-9LX2on zO4O;+q_O)(4NFWs*w8aK#C^$Jj0?97C9O)64S0GG2b%_J0x>_DBnbFS1SihjolX@Pa|%4sZPky|aafPaAIiK*`R?iyb5Ccc1O%yfs@ zvB4Uz+r*{x%q`iR1$r7&IFQNuF@O-kw_-6QAP_Sy3Ca|W*@zHF2cL?Svn0MifK<6t zm|%mv2OQ_+8*_}dE-T++TrB{hlEr`q2MDlIQsj>%M-Ek8_mQe*HFYgov*eUD=WKc1 zQPsqfseffNb1PO|Jh^&ybNAx4a1mT#T5_>ayp&QaoK~2wm|dY!>&2H`>C!7-cKKDV z+K@giHEp?B^Hy5z+@<6A_uMUX@1@s41F1C9(2<7?A7#{uT$?h})S0JEpJmnuH9E)k zjT(KB`!zK>)E2R{_3TLvVzVD6Xk90|n1L840)KH^1d!0Ym_?_Qc#&JoVqqK#Wl$qs za5^nwAeaWRPI|C=lKUmMpy^+6<9{L-7P|j~Tv+H1xu3axL9N&Qk0Kk;I)y8yQ6?@n zC=9Rcb^Ry(b|3z$fp0_KhQ1B0uZr36X&3$mxi)sKA9EoJ00009a7bBm001r{001r{ z0g-$SLgND!3^paVVWOu1001CKL_t&t*JEHH1^h?nGhtK3M2r#tahlDDO_oBHSOEYM Wm1GWRb7k}TC2*WiSG=MS%1KAYKB*9AKyeR0>iJquo7y0~Cz(3=Q-w7>o=IEv*cUt&9v63=OPI zO|6W~k=&LA)CF@J$OxF*xPWYCs2kXTYS@t2qEI%-4~$F@KMH{KLfOVFKnWm#xb6Rq z{|^`hyxct9fEIzA2_*jCW^iWUU}IxvW949HXXoVP;NlVC<>BV$krWc<7m<~cmy?x} zkx@|5Q&&*ZQI?U>FxS*EFf=hSkyp30wJ@^LGd3{-8N$fP$;rdbBf-lnVWcRdXhbsj ze}F-d1L&eGW=16jCP7AKLB{__803NOWMu>ch*v-!WoBVzW9Q)H;sz?%DgX*8W+oP9 zR#q0EcNuGe@(e73tU`*0j%>n#iR?;+B1Vl97jh^&Z9FI%bn%0VaZ*teCzqJGgrtbvx}>nyN9P&a7buactm7Wa!P7idPZheaY<=ec|~Pab4zPmdq-#2 zq{&mJPMbbs=B!1Fmn>bje8tLDn>KIRx^4T8ox2VlK63Qf@e?OcUAlbb>b2`PZr*zM z=<$=M&z`?{`Re1R&tJZN`~KtSFOa_&fsqOW5TBv>OAzQUCKeWE7Iu)o7@5jJ9v5U` zRWxK1atvfoEEHBUYUB`cnz(S|K~81kpbw%+MHjimR7@VKegt_9>@(s#)lOnKGb1qam<1W^8Gioj(pbPWiid0%@c+Nb5M_J{R4}QQxJHzuB$lLFB^RXvDPUP< zWTb0oplfIxVrXtUv<(cb3=9&td_dKZo1c=IRteW&U=dS^xk5 delta 847 zcmV-V1F-zR4)z9+8Gi-<0063BcP#(_0@Qj`SaechcOYYDh{PR5-lF=3ZgaZ#DiFo>oB3OYG zspthy7UHFe7%OCH?CacxT)$4I8%HeG4$5!?Th8I#Pds>DVK8mqzDGN< z2{s}baGY0c%rV-wtbD6+wE%=l76Td_AizpVQ9qU(HB@!oN2;3D)U{~Ml2g{4v*mS1 zRTE35mVeF6typ#Ofj9L5+05 z>9mM}U>d|a>A~(v?w8zxrhmna|A|~!=>89KVWB(Ze&+TCwO;oxiflmZ6t0{`nYh?s zFubzY^_%qDefX~qz8!r#`gXMbRm_gRcHwWPOm?ev$KJsJ000JJOGiWi{{a60|De66 zlaXs4MdJe%2{#*Q&`hQP001LNL_t&t*JEIyK44^EVEB(k3=YsG@eBNCU|?Wi!KIP{ Z0067|1_1?-IdA{~002ovPDHLkV1g0glBECu diff --git a/mods/ITEMS/mcl_signs/textures/_z_.png b/mods/ITEMS/mcl_signs/textures/_z_.png index 6192800b4c98ae11b552c46f7c91c06534182442..dcdf0ab8de5cb4b3c0d44c00610dae06f0465494 100644 GIT binary patch literal 1861 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1e!2%>1GWRb7k}Tdk42(b)$nlI&HV=@^#K_FR45agbSc;JqtfmCWmWHxxfNTw*8jxNl zAU0%VVgTs_dYZuq$QA+86M%RL5OaW`4p1pbHH>!m^bJrj(la#BvtTeXFtoHXFt#!> zR4_EKGBvd_HbHV*7El+=Z6G6HZsP*7nW1iA1FB&|Vv9oAAU`lNLHsBH(hFr9gCh~< zw*NQ&KVT5>a`SWpS_E^( zPF6}rMnOeST|r4lSw=>~TvNxu(8R<5A1R0qH8UG()kO#Vxl@Sbpegp$XCT12^Hg*n9E^eTLtpcEs zVrF7tW@TjodY7>lD9^wm$SS00=*T7bFC}Pw&aUqAY)5e3MK^H%$7$+4qadL@? zOGrwos;O&eYMGdtnOj&|IlH*JxqEne1&4%&g-1k2C8wmOrDtSj6_=Ejl~+_&HMg|3 zwRd!OO`1Gq>a^)IX3ko)c*)Xb%U7&iwQ2K~t=qQm*tzS_;UhlG{sQ@n5g4g3fYo1uKz}i@urRZ*gZ#zFR1U<< zf-J0xhHOHPf$WKe!b(Ps93oB=7j8VrscandK{To8BA1wo$wSqTAg_UaMx4i*$nqK7 zV+eoUV&GwB1V$dSAcH-_&wpJS3z$ankPQR=|2G-TFI~I|OrEMGt`Q|Ei6yC4$wjF^ z3RspI8R;4t=o%V_7@Aud8v~0oZ36=<1B1jZA3!A;LPKtTN@iLmT!Vo{h>?MniLsTT zB}Bur@L!-hMhav@YDH$6l~ZO(aX@NOaAIyjPAY?ijsge?y|q&Zs#1ijasj#`Br_M} z5{y!nEoxyYP_Zyvv1e{#da6%qUV2FegP~FV<)vGJ(t@bc;h8BwS=0EbP5MAdNw{Qi fep*R+Vo@psQc>>N;{vSz7#KWV{an^LB{Ts5T(1Hg delta 849 zcmV-X1FrnV4)+F-8Gi-<0063BcP#(_0@Zp{SaechcOYYDh{PR5-lF=3ZgaZ#DiFo>oB3OYG zspthy7UHFe7%QYgo4(Fn$o1>wJw_k7i}mQ`JryD5V~{^`bo8VjdU=H5w-wPd^4k|8 zF~!&RlDj#(&wn}Y-PM$lsT|Ixer#orV0a;wvZrN;;iDMamI85Xv4L0z%?r{36=Gy_ zQld_kCXL-UYFJ|8!G@l>A@57)VqCawC}{~zHsI+&9Bdk>frs#8Ewtm79j}oiawk|a z!5Lx3PZGXT{*F8x&ACdKDEgfzlm*tstERDxMQ%M|1%CuIPfm5`cT0GwoA?5DG1Hx9 z#|CS>ZWou*v$kY&7T9S_;Xo$q#{p7=*owuFfI!T+Bq&ofW+Or#9egTQ&XV{70aE2o zVSayp&Qaf>yY$m|bB}>&2H`>C!7-cKKDV z+E6|%HEp?B^Hy5z+@<6A_uMUX@1@s41En<5(2<7?A7#{uTAMP{)S0JEpJmnuH9E)k zjT(KB`!zK>)E2R{?d(YnYO^0MXk90|n1L840)KH^1W?etm_?_Qc#&JoVqqK#Wl$qs za5^nwAeaWRPI|C=lKUmMpy^+6<9{L-7P|j~Tv+H1xu3axL9N&Qiy|A)I)y8zQ6?@n z7!0rMb^Rv&b|3z$gKtOQj=mkOe-*RiuU+^XlZ1AuNZE*-00006VoOIv0RI600RN!9 zrva0ZYaT`80~HB3A~w~;t^fc4BS}O-R0!8&V4w&vGB7aw$0CLzh^~M{f&UB)3=Ax| bR8jx{`{M`y19;H900000NkvXXu0mjfqZElv diff --git a/mods/ITEMS/mcl_signs/textures/default_sign_dark.png b/mods/ITEMS/mcl_signs/textures/default_sign_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..aedab6f06e72414bebd70305b6a0a014289b1800 GIT binary patch literal 746 zcmV&2A#>Cd=*y3ATcbg+*`50Q}q5TRP7t2|FuXA(@Gpq7Mm$0)7eX_rG=@Yz=XX`@< zARGVy010qNS#tmY3labT3lag+-G2N400AONL_t(I%e7OnPQx$|eRXXT5-^3TFd$$k z45$O@zw|%&7XE{uU}1)Vi4_DD10^L%Z8r(nk<+B2?ojchobK+~ckd+%upwGHT#v4b zaEmpFSg0xwJqE_wRjpKpSSsAyKDLN%$XRZP`=>W^v3}VOn|#mAbNBF4@~pW7%r2sJpB7r`U;TP6 zg;)%DAE&=D#dsPU8`eT8Jq72~Sk!oa{ldlZUeiMVl$)Xtj?YNoup1Z^)>>UbuM;%B z60ybdoA2!SE9EbrU5UY2w-}!H3fCFpB14}-s@%DRx=7z^LuKv(WSxz53dp8ElXJi{ cQTTWK0L8n0wECK-8vp#b^#i(XLQdbPphV4K&iC-nydN{~fIXPia%S5EmHk`cjKzp|NH(N9f_o=fvsJ5TGNf9@T_ofqo^z15$@G8 zv4rrE@R%V76uwq^yv{F*({=t(Y(&EIU{^i8=@yQ+u$D1$!Xv`IT(+b&&ZBPPN#>Up zr4Gm(#3W1rKVIULSSL%7ajAL9>~G&h&9^{7JevG<${6BElM(Njs3qx|l$sJfDPNYd z%KdkqW@>7(-reH|=d)$K4}ohJsuj!nKDMmt2{@kMGT-zUB&V5A(JM{OcL-fuaDLU) z;(Kth4gHUL%!t(_hfI4a1#f528HJu(aIe<0YOHhm0Fh03q8r#hfMMC+we|zwyl4B? z?bJO0000SaNLh0L01FZT01FZU(%pXi000BQNklfgc5Z&18+HKl=s8mo6 zAfXOoE_V(qYK}ie*x3JewuYK1MXYELsEb!dSZ}QKxd9DBc^Y4=;3 z00dd7TvuBzAFMcc)soQjuDJ1X(Zp6Q4hAhEu%<>rCr!1b_lwTlI2j4WCZf z7xjvt-ZvTi8wahpnXLuhu(`=xT5s26(j2>@zTu_!O$Ps2&7qD=%?W`bSv4{By0#vS z=;=EX`vQ)XvdMdpJd#xtQ?IM*Zn6`|iG2Zwtx0S(RMD7H72nwCJmyR610brQZveQf zRwSx{msT`>&xU7gbkIJ0SBK965Y^B(037_SBmk|SG_EqbRi)864>SFMe0jg%J%jJv zYtZ;bl+i6|8Pz_GvU(=p+cJqkgD741N7dh|T~nW`mv-f$&x&wn+W%F?(4a#}qS9ai zRZy*-j`n%`zbykC9`MJ#!;I#svYh4w3Jzic9lU2?rT}p2)J6gSJh~ifY@Ftl5RRBJ z!-Mw>%oKV3!pHzVX7a%W%}xb@u66T)T6JOu%@n+e^1Yi^T?L^kTpm@q6cuz()B!KKuxs>=5Wn=u9H^I zrh-U(9y`jy0MIo+O2CEzYT||H0bH~5ngxntj!v_nzUMkt5-7si;M2}SKD5?m)sOFg`hL8SZwSdX%eODg z21uGGf!`+Tt2>JNKY&yRF?!FuzDcGA0D<%F4Ipg43T>ZTxCENvxMt~G1pVIGo!#92 Y152xNvN(?epa1{>07*qoM6N<$f|jkdGynhq literal 0 HcmV?d00001 From 724105bb61856c26c6ce06ba38fdd5362bb954fb Mon Sep 17 00:00:00 2001 From: cora Date: Sat, 22 Oct 2022 01:05:53 +0200 Subject: [PATCH 03/65] Fix redstone ore not calling on_punchnode callbacks --- mods/ITEMS/mcl_core/nodes_base.lua | 10 ++++++++-- mods/ITEMS/mcl_deepslate/init.lua | 10 ++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/mods/ITEMS/mcl_core/nodes_base.lua b/mods/ITEMS/mcl_core/nodes_base.lua index 2f464a2fc..c99e306ad 100644 --- a/mods/ITEMS/mcl_core/nodes_base.lua +++ b/mods/ITEMS/mcl_core/nodes_base.lua @@ -88,10 +88,13 @@ minetest.register_node("mcl_core:stone_with_gold", { }) local redstone_timer = 68.28 -local function redstone_ore_activate(pos) +local function redstone_ore_activate(pos, node, puncher, pointed_thing) minetest.swap_node(pos, {name="mcl_core:stone_with_redstone_lit"}) local t = minetest.get_node_timer(pos) t:start(redstone_timer) + if puncher and pointed_thing then + return minetest.node_punch(pos, node, puncher, pointed_thing) + end end minetest.register_node("mcl_core:stone_with_redstone", { description = S("Redstone Ore"), @@ -126,9 +129,12 @@ minetest.register_node("mcl_core:stone_with_redstone", { } }) -local function redstone_ore_reactivate(pos) +local function redstone_ore_reactivate(pos, node, puncher, pointed_thing) local t = minetest.get_node_timer(pos) t:start(redstone_timer) + if puncher and pointed_thing then + return minetest.node_punch(pos, node, puncher, pointed_thing) + end end -- Light the redstone ore up when it has been touched minetest.register_node("mcl_core:stone_with_redstone_lit", { diff --git a/mods/ITEMS/mcl_deepslate/init.lua b/mods/ITEMS/mcl_deepslate/init.lua index 3df4abc51..17beb6b52 100644 --- a/mods/ITEMS/mcl_deepslate/init.lua +++ b/mods/ITEMS/mcl_deepslate/init.lua @@ -116,15 +116,21 @@ end local redstone_timer = 68.28 -local function redstone_ore_activate(pos) +local function redstone_ore_activate(pos, node, puncher, pointed_thing) minetest.swap_node(pos, { name = "mcl_deepslate:deepslate_with_redstone_lit" }) local t = minetest.get_node_timer(pos) t:start(redstone_timer) + if puncher and pointed_thing then + return minetest.node_punch(pos, node, puncher, pointed_thing) + end end -local function redstone_ore_reactivate(pos) +local function redstone_ore_reactivate(pos, node, puncher, pointed_thing) local t = minetest.get_node_timer(pos) t:start(redstone_timer) + if puncher and pointed_thing then + return minetest.node_punch(pos, node, puncher, pointed_thing) + end end minetest.register_node("mcl_deepslate:deepslate_with_redstone", { From 78c7ec6121d6a8b686a48515fc324ad1a0517fb3 Mon Sep 17 00:00:00 2001 From: Michieal Date: Fri, 21 Oct 2022 19:22:33 -0400 Subject: [PATCH 04/65] Added in MCL_SIGNS' debug setting. --- settingtypes.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/settingtypes.txt b/settingtypes.txt index 832025a77..d2d5130d8 100644 --- a/settingtypes.txt +++ b/settingtypes.txt @@ -219,3 +219,6 @@ mcl_logging_mapgen (Chunk generation logging) bool false # If enabled generated structures will be logged mcl_logging_structures (Structure generation logging) bool true + +#Complete debug logging for mcl_signs events. Use this if you have issues with signs. +mcl_logging_mcl_signs (Complete debug logging for mcl_signs) bool true From 23654916cf39a783d724da05eb9b0c998ab72d82 Mon Sep 17 00:00:00 2001 From: Michieal Date: Fri, 21 Oct 2022 23:31:00 +0000 Subject: [PATCH 05/65] Update DEBUG to use the global variable. Added in a debug variable entry into settings. This commit uses that variable for all of the Signs API's debugging needs. --- mods/ITEMS/mcl_signs/signs_api.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/ITEMS/mcl_signs/signs_api.lua b/mods/ITEMS/mcl_signs/signs_api.lua index 94f71de13..8b42e9ce2 100644 --- a/mods/ITEMS/mcl_signs/signs_api.lua +++ b/mods/ITEMS/mcl_signs/signs_api.lua @@ -4,7 +4,7 @@ --- DateTime: 10/14/22 4:05 PM --- -local DEBUG = false -- special debug setting. +local DEBUG = minetest.settings:get_bool("mcl_logging_mcl_signs",true) -- special debug setting. local table = table -- copied from the original signs init file. if DEBUG then From c0e4c96d879c693a00d5edd26637aa4f64fbce8b Mon Sep 17 00:00:00 2001 From: Michieal Date: Fri, 21 Oct 2022 23:54:26 +0000 Subject: [PATCH 06/65] set up for new api. Setting up for the NEW inclusive API. (prelude to). --- mods/ITEMS/mcl_signs/signs_api.lua | 531 +++++++++++++++++++++++++---- 1 file changed, 461 insertions(+), 70 deletions(-) diff --git a/mods/ITEMS/mcl_signs/signs_api.lua b/mods/ITEMS/mcl_signs/signs_api.lua index 8b42e9ce2..38f74a6a3 100644 --- a/mods/ITEMS/mcl_signs/signs_api.lua +++ b/mods/ITEMS/mcl_signs/signs_api.lua @@ -8,7 +8,7 @@ local DEBUG = minetest.settings:get_bool("mcl_logging_mcl_signs",true) -- specia local table = table -- copied from the original signs init file. if DEBUG then - minetest.log("Signs API Loading") + minetest.log("Action","Signs API Loading") end -- INITIALIZE THE GLOBAL API FOR SIGNS. @@ -62,13 +62,12 @@ else end end --- for testing purposes --- local test_color = "#BC0000" - local pi = math.pi local n = 23 / 56 - 1 / 128 -- GLOBALS +mcl_signs.sign_groups = { handy = 1, axey = 1, deco_block = 1, material_wood = 1, attached_node = 1, dig_by_piston = 1, flammable = -1 } + --- colors used for wools. mcl_signs.mcl_wool_colors = { unicolor_white = "#FFFFFF", @@ -88,24 +87,26 @@ mcl_signs.mcl_wool_colors = { unicolor_black = "#000000", unicolor_light_blue = "#5050FF", } -mcl_colors_official = { - BLACK = "#000000", - DARK_BLUE = "#0000AA", - DARK_GREEN = "#00AA00", - DARK_AQUA = "#00AAAA", - DARK_RED = "#AA0000", - DARK_PURPLE = "#AA00AA", - GOLD = "#FFAA00", - GRAY = "#AAAAAA", - DARK_GRAY = "#555555", - BLUE = "#5555FF", - GREEN = "#55FF55", - AQUA = "#55FFFF", - RED = "#FF5555", - LIGHT_PURPLE = "#FF55FF", - YELLOW = "#FFFF55", - WHITE = "#FFFFFF" -} +mcl_signs.signtext_info_wall = {} +mcl_signs.signtext_info_standing = {} -- built in build_signs_info(). + +-- data structure block for dynamically registered signs. +mcl_signs.registered_signs = {} +mcl_signs.registered_signs.wall_signs = {} +mcl_signs.registered_signs.standing_signs = {} +mcl_signs.registered_signs.hanging_signs = {} -- unused. prepping for future use. +-- DEFINE SIGN BASE TYPES +mcl_signs.wall_standard = {} -- initialize +mcl_signs.standing_standard = {} -- initialize + +mcl_signs.registered_sign_nodenames = {} + +-- locally cached copy of the official colors; this way, it updates as mcl_colors updates. +local mcl_colors_official = mcl_colors +if DEBUG then + minetest.log("Official MCL_Colors:\n" .. dump(mcl_colors_official)) +end + mcl_signs.woods = { "mcl_core:sprucewood", "mcl_core:darkwood", "mcl_core:wood", "mcl_core:birchwood", "mcl_core:junglewood", "mcl_core:acaciawood", "mcl_mangrove:mangrove_wood" } mcl_signs.signtext_info_wall = { @@ -125,37 +126,42 @@ local Dyes_table = { { "mcl_dye:blue", mcl_colors_official.BLUE }, { "mcl_dye:brown", mcl_colors_official.brown }, { "mcl_dye:cyan", mcl_signs.mcl_wool_colors.unicolor_cyan }, - { "mcl_dye:cyan 2", mcl_signs.mcl_wool_colors.unicolor_cyan }, { "mcl_dye:green", mcl_colors_official.GREEN }, - { "mcl_dye:green 2", mcl_colors_official.GREEN }, { "mcl_dye:dark_green", mcl_colors_official.DARK_GREEN }, { "mcl_dye:grey", mcl_colors_official.GRAY }, - { "mcl_dye:grey 2", mcl_signs.mcl_wool_colors.unicolor_grey }, - { "mcl_dye:grey 3", mcl_colors_official.GRAY }, { "mcl_dye:dark_grey", mcl_colors_official.DARK_GRAY }, - { "mcl_dye:dark_grey 2", mcl_signs.mcl_wool_colors.unicolor_darkgrey }, { "mcl_dye:lightblue", mcl_signs.mcl_wool_colors.unicolor_light_blue }, - { "mcl_dye:lightblue 2", mcl_signs.mcl_wool_colors.unicolor_light_blue }, { "mcl_dye:lime", mcl_signs.unicolor_green_or_lime }, - { "mcl_dye:magenta", mcl_signs.mcl_wool_colors.unicolor_red_violet_magenta }, - { "mcl_dye:magenta 2", mcl_signs.mcl_wool_colors.unicolor_red_violet_magenta }, - { "mcl_dye:magenta 3", mcl_signs.mcl_wool_colors.unicolor_red_violet_magenta }, + { "mcl_dye:magenta", mcl_colors_official.LIGHT_PURPLE }, { "mcl_dye:orange", mcl_signs.mcl_wool_colors.unicolor_orange }, - { "mcl_dye:orange 2", mcl_signs.mcl_wool_colors.unicolor_dark_orange }, { "mcl_dye:pink", mcl_signs.mcl_wool_colors.unicolor_light_red_pink }, - { "mcl_dye:pink 2", mcl_signs.mcl_wool_colors.unicolor_light_red_pink }, { "mcl_dye:purple", mcl_colors_official.LIGHT_PURPLE }, { "mcl_dye:red", mcl_signs.mcl_wool_colors.unicolor_red }, - { "mcl_dye:red 2", mcl_colors_official.RED }, { "mcl_dye:silver", mcl_signs.mcl_wool_colors.unicolor_grey }, { "mcl_dye:violet", mcl_colors_official.DARK_PURPLE }, - { "mcl_dye:violet 2", mcl_colors_official.DARK_PURPLE }, { "mcl_dye:white", mcl_colors_official.WHITE }, - { "mcl_dye:white 3", mcl_colors_official.WHITE }, { "mcl_dye:yellow", mcl_colors_official.YELLOW }, - { "mcl_dye:yellow 2", mcl_signs.mcl_wool_colors.unicolor_yellow }, } +--- Registers a new dye to use for sign text coloring. Is 100% functional. +function mcl_signs.register_dye (modname, item_name, color_code) + if minetest.get_modpath(modname) then + table.insert(Dyes_table, { item_name, color_code }) + end +end + +local function update_sign_registry(type, name) + if type == "wall" then + table.insert(mcl_signs.registered_signs.wall_signs, name) + end + if type == "standing" then + table.insert(mcl_signs.registered_signs.standing_signs, name) + end + if type == "hanging" then + table.insert(mcl_signs.registered_signs.hanging_signs, name) + end +end + --- This allows optional mods and helps prevent breaking. --- --- modname: the mod that defines the wood to add; item_name: the item_string of the wood to add. @@ -166,25 +172,19 @@ function mcl_signs.register_wood (modname, item_name) end end -function mcl_signs.register_dye (modname, item_name, color_code) - if minetest.get_modpath(modname) then - table.insert(mcl_signs.Dyes_table,{ item_name, color_code }) - end -end +-- the Reigister_sign* functions aren't yet in use, due to an error with them that is currently being debugged. Added here for the forthcoming use. --- DEFINE SIGN BASE TYPES -mcl_signs.wall_standard={} -mcl_signs.standing_standard ={} - ---- Register a new sign, tint the textures, and gives it an unique node name +--- Register a new sign, tint the textures, and gives it an unique node name. Creates both wall and standing signs. --- modname: optional (pass "" or "false" to ignore), for use with other mods to --- allow the creation of a sign from the mod's wood (if installed). ---- type: "wall", "standing". --- ---- color: the color code to color the base sign textures. +--- color: the color code to color the base sign textures. must be a valid html color code. --- ---- _name: the sign's name suffix, such as "_dark" or "_red", etc. -function mcl_signs.register_sign (modname, type, color, _name) +--- _name: the sign's name suffix, such as "_dark" or "_red", etc., appended to "wall_sign" or "standing_sign" +--- +--- ttsign: the tool tip of the sign that gets translated. Shown when the mouse hovers the inventory sign. +--- For example: the basic, default oak (wood) sign is just "Sign"; and a spruce sign would be "Spruce Sign" +function mcl_signs.register_sign (modname, color, _name, ttsign) local mod_name_pass = false if modname ~= "" and modname ~= "false" then if minetest.get_modpath(modname) then @@ -194,28 +194,221 @@ function mcl_signs.register_sign (modname, type, color, _name) return end end - local wsign ={} + local new_sign = {} - if type == "wall" then - wsign = table.copy(mcl_signs.wall_standard) + if color == nil or color == "" then + color = "#FFFFFF" end - + new_sign = table.copy(mcl_signs.wall_standard) + new_sign.description = S(ttsign) + new_sign.wield_image = "(default_sign.png^[multiply:" .. color .. ")" + new_sign.tiles = { "(mcl_signs_sign.png^[multiply:" .. color .. ")" } + new_sign.inventory_image = "(default_sign.png^[multiply:" .. color .. ")" + + -- currently have to do this, because of how the base node placement works. + new_sign.on_place = function(itemstack, placer, pointed_thing) + local above = pointed_thing.above + local under = pointed_thing.under + + -- Use pointed node's on_rightclick function first, if present + local node_under = minetest.get_node(under) + if placer and not placer:get_player_control().sneak then + if minetest.registered_nodes[node_under.name] and minetest.registered_nodes[node_under.name].on_rightclick then + return minetest.registered_nodes[node_under.name].on_rightclick(under, node_under, placer, itemstack) or itemstack + end + end + + local dir = vector.subtract(under, above) + + -- Only build when it's legal + local abovenodedef = minetest.registered_nodes[minetest.get_node(above).name] + if not abovenodedef or abovenodedef.buildable_to == false then + return itemstack + end + + local wdir = minetest.dir_to_wallmounted(dir) + local fdir = minetest.dir_to_facedir(dir) + + local sign_info + local nodeitem = ItemStack(itemstack) + -- Ceiling + if wdir == 0 then + --how would you add sign to ceiling? + return itemstack + -- Floor + elseif wdir == 1 then + -- Standing sign + + -- Determine the sign rotation based on player's yaw + local yaw = pi * 2 - placer:get_look_horizontal() + + -- Select one of 16 possible rotations (0-15) + local rotation_level = mcl_signs:round((yaw / (pi * 2)) * 16) + + if rotation_level > 15 then + rotation_level = 0 + elseif rotation_level < 0 then + rotation_level = 15 + end + + -- The actual rotation is a combination of predefined mesh and facedir (see node definition) + if rotation_level % 4 == 0 then + nodeitem:set_name("mcl_signs:standing_sign" .. _name) + elseif rotation_level % 4 == 1 then + nodeitem:set_name("mcl_signs:standing_sign22_5" .. _name) + elseif rotation_level % 4 == 2 then + nodeitem:set_name("mcl_signs:standing_sign45" .. _name) + elseif rotation_level % 4 == 3 then + nodeitem:set_name("mcl_signs:standing_sign67_5" .. _name) + end + fdir = math.floor(rotation_level / 4) + + -- Place the node! + local _, success = minetest.item_place_node(nodeitem, placer, pointed_thing, fdir) + if not success then + return itemstack + end + if not minetest.is_creative_enabled(placer:get_player_name()) then + itemstack:take_item() + end + sign_info = mcl_signs.signtext_info_standing[rotation_level + 1] + -- Side + else + -- Wall sign + local _, success = minetest.item_place_node(itemstack, placer, pointed_thing, wdir) + if not success then + return itemstack + end + sign_info = mcl_signs.signtext_info_wall[fdir + 1] + end + + -- Determine spawn position of entity + local place_pos + if minetest.registered_nodes[node_under.name].buildable_to then + place_pos = under + else + place_pos = above + end + + if DEBUG then + minetest.log("Register_Sign::Placed position:" .. dump(place_pos) .. "\nSign_info: " .. dump(sign_info)) + end + + local text_entity = minetest.add_entity({ + x = place_pos.x + sign_info.delta.x, + y = place_pos.y + sign_info.delta.y, + z = place_pos.z + sign_info.delta.z }, "mcl_signs:text") + text_entity:set_yaw(sign_info.yaw) + text_entity:get_luaentity()._signnodename = nodeitem:get_name() + + minetest.sound_play({ name = "default_place_node_hard", gain = 1.0 }, { pos = place_pos }, true) + + mcl_signs:show_formspec(placer, place_pos) + return itemstack + end + + minetest.register_node("mcl_signs:wall_sign" .. _name, new_sign) + update_sign_registry("wall", "mcl_signs:wall_sign" .. _name) + + -- debug step + if DEBUG then + minetest.log("Registered: mcl_signs:wall_sign" .. _name .. color .. "\n" .. dump(new_sign)) + minetest.log("mcl_signs:wall_sign_standard\n" .. dump(mcl_signs.wall_standard)) + end + + -- standing sign base. + local new_sign_standing = {} + new_sign_standing = table.copy(mcl_signs.standing_standard) + new_sign_standing.drop = "mcl_signs:wall_sign" .. _name + new_sign_standing.wield_image = "(default_sign.png^[multiply:" .. color .. ")" + new_sign_standing.tiles = { "(mcl_signs_sign.png^[multiply:" .. color .. ")" } + new_sign_standing.inventory_image = "(default_sign.png^[multiply:" .. color .. ")" + minetest.register_node("mcl_signs:standing_sign" .. _name, new_sign_standing) + update_sign_registry("standing", "mcl_signs:standing_sign" .. _name) + -- debug step + if DEBUG then + minetest.log("Registered: mcl_signs:standing_sign" .. _name .. color .. "\n" .. dump(new_sign_standing)) + end + + -- 22.5° + local ssign22_5d = table.copy(new_sign_standing) + ssign22_5d.mesh = "mcl_signs_sign22.5.obj" + ssign22_5d.on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_FACE then + node.name = "mcl_signs:standing_sign45" .. _name + minetest.swap_node(pos, node) + elseif mode == screwdriver.ROTATE_AXIS then + return false + end + mcl_signs:update_sign(pos, nil, nil, true) + return true + end + minetest.register_node("mcl_signs:standing_sign22_5" .. _name, ssign22_5d) + update_sign_registry("standing", "mcl_signs:standing_sign22_5" .. _name) + + -- 45° + local ssign45d = table.copy(new_sign_standing) + ssign45d.mesh = "mcl_signs_sign45.obj" + ssign45d.on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_FACE then + node.name = "mcl_signs:standing_sign67_5" .. _name + minetest.swap_node(pos, node) + elseif mode == screwdriver.ROTATE_AXIS then + return false + end + mcl_signs:update_sign(pos, nil, nil, true) + return true + end + minetest.register_node("mcl_signs:standing_sign45" .. _name, ssign45d) + update_sign_registry("standing", "mcl_signs:standing_sign45" .. _name) + + -- 67.5° + local ssign67_5d = table.copy(new_sign_standing) + ssign67_5d.mesh = "mcl_signs_sign67.5.obj" + ssign67_5d.on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_FACE then + node.name = "mcl_signs:standing_sign" .. _name + node.param2 = (node.param2 + 1) % 4 + minetest.swap_node(pos, node) + elseif mode == screwdriver.ROTATE_AXIS then + return false + end + mcl_signs:update_sign(pos, nil, nil, true) + return true + end + minetest.register_node("mcl_signs:standing_sign67_5" .. _name, ssign67_5d) + update_sign_registry("standing", "mcl_signs:standing_sign67_5" .. _name) + + -- register Doc entry + if minetest.get_modpath("doc") then + doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:wall_sign" .. _name) + doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign" .. _name) + doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign22_5" .. _name) + doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign45" .. _name) + doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign67_5" .. _name) + end end + --- the same as register_sign, except caller defines the textures. --- modname: optional (pass "" or "false" to ignore), for use with other mods to --- allow the creation of a sign from the mod's wood (if installed). --- type: "wall", "standing". --- ---- color: the color code to color the base sign textures. (use white or grey to not color the sign) +--- _name: the sign's name suffix, such as "_dark" or "_red", etc., appended to "wall_sign" or "standing_sign" --- ---- _name: the sign's name suffix, such as "_dark" or "_red", etc. +--- tiles: the texture file to use for the sign. --- ---- model_texture: the texture file to use for the sign. +--- inventory_image: the texture file to use for the sign's display in inventory. +--- +--- wield_image: the texture file to use for the sign's weilded (in hand) object. --- --- inventory_image: the image used for in-inventory and in hand. -function mcl_signs.register_sign_and_textures (modname, type, color, _name, model_texture, inventory_image) +--- +--- ttsign: the tool tip of the sign that gets translated. Shown when the mouse hovers the inventory sign. +--- For example: the basic, default oak (wood) sign is just "Sign"; and a spruce sign would be "Spruce Sign" +function mcl_signs.register_sign_custom (modname, _name, tiles, inventory_image, wield_image, ttsign) local mod_name_pass = false if modname ~= "" and modname ~= "false" then if minetest.get_modpath(modname) then @@ -225,22 +418,195 @@ function mcl_signs.register_sign_and_textures (modname, type, color, _name, mode return end end + local new_sign = {} + + new_sign = table.copy(mcl_signs.wall_standard) + + new_sign.wield_image = wield_image + new_sign.tiles = { tiles } + new_sign.inventory_image = inventory_image + new_sign.description = S(ttsign) + -- currently have to do this, because of how the base node placement works. + new_sign.on_place = function(itemstack, placer, pointed_thing) + local above = pointed_thing.above + local under = pointed_thing.under + + -- Use pointed node's on_rightclick function first, if present + local node_under = minetest.get_node(under) + if placer and not placer:get_player_control().sneak then + if minetest.registered_nodes[node_under.name] and minetest.registered_nodes[node_under.name].on_rightclick then + return minetest.registered_nodes[node_under.name].on_rightclick(under, node_under, placer, itemstack) or itemstack + end + end + + local dir = vector.subtract(under, above) + + -- Only build when it's legal + local abovenodedef = minetest.registered_nodes[minetest.get_node(above).name] + if not abovenodedef or abovenodedef.buildable_to == false then + return itemstack + end + + local wdir = minetest.dir_to_wallmounted(dir) + local fdir = minetest.dir_to_facedir(dir) + + local sign_info + local nodeitem = ItemStack(itemstack) + -- Ceiling + if wdir == 0 then + --how would you add sign to ceiling? + return itemstack + -- Floor + elseif wdir == 1 then + -- Standing sign + + -- Determine the sign rotation based on player's yaw + local yaw = pi * 2 - placer:get_look_horizontal() + + -- Select one of 16 possible rotations (0-15) + local rotation_level = mcl_signs:round((yaw / (pi * 2)) * 16) + + if rotation_level > 15 then + rotation_level = 0 + elseif rotation_level < 0 then + rotation_level = 15 + end + + -- The actual rotation is a combination of predefined mesh and facedir (see node definition) + if rotation_level % 4 == 0 then + nodeitem:set_name("mcl_signs:standing_sign" .. _name) + elseif rotation_level % 4 == 1 then + nodeitem:set_name("mcl_signs:standing_sign22_5" .. _name) + elseif rotation_level % 4 == 2 then + nodeitem:set_name("mcl_signs:standing_sign45" .. _name) + elseif rotation_level % 4 == 3 then + nodeitem:set_name("mcl_signs:standing_sign67_5" .. _name) + end + fdir = math.floor(rotation_level / 4) + + -- Place the node! + local _, success = minetest.item_place_node(nodeitem, placer, pointed_thing, fdir) + if not success then + return itemstack + end + if not minetest.is_creative_enabled(placer:get_player_name()) then + itemstack:take_item() + end + sign_info = mcl_signs.signtext_info_standing[rotation_level + 1] + -- Side + else + -- Wall sign + local _, success = minetest.item_place_node(itemstack, placer, pointed_thing, wdir) + if not success then + return itemstack + end + sign_info = mcl_signs.signtext_info_wall[fdir + 1] + end + + -- Determine spawn position of entity + local place_pos + if minetest.registered_nodes[node_under.name].buildable_to then + place_pos = under + else + place_pos = above + end + + local text_entity = minetest.add_entity({ + x = place_pos.x + sign_info.delta.x, + y = place_pos.y + sign_info.delta.y, + z = place_pos.z + sign_info.delta.z }, "mcl_signs:text") + text_entity:set_yaw(sign_info.yaw) + text_entity:get_luaentity()._signnodename = nodeitem:get_name() + + minetest.sound_play({ name = "default_place_node_hard", gain = 1.0 }, { pos = place_pos }, true) + + mcl_signs:show_formspec(placer, place_pos) + return itemstack + end + minetest.register_node("mcl_signs:wall_sign" .. _name, new_sign) + update_sign_registry("wall", "mcl_signs:wall_sign" .. _name) + + -- standing sign base. + local new_sign_standing = {} + new_sign_standing = table.copy(mcl_signs.standing_standard) + new_sign_standing.drop = "mcl_signs:wall_sign" .. _name + new_sign_standing.wield_image = wield_image + new_sign_standing.tiles = { tiles } + new_sign_standing.inventory_image = inventory_image + minetest.register_node("mcl_signs:standing_sign" .. _name, new_sign_standing) + update_sign_registry("standing", "mcl_signs:standing_sign" .. _name) + + -- 22.5° + local ssign22_5d = table.copy(new_sign_standing) + ssign22_5d.mesh = "mcl_signs_sign22.5.obj" + ssign22_5d.on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_FACE then + node.name = "mcl_signs:standing_sign45" .. _name + minetest.swap_node(pos, node) + elseif mode == screwdriver.ROTATE_AXIS then + return false + end + mcl_signs:update_sign(pos, nil, nil, true) + return true + end + minetest.register_node("mcl_signs:standing_sign22_5" .. _name, ssign22_5d) + update_sign_registry("standing", "mcl_signs:standing_sign22_5" .. _name) + + -- 45° + local ssign45d = table.copy(new_sign_standing) + ssign45d.mesh = "mcl_signs_sign45.obj" + ssign45d.on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_FACE then + node.name = "mcl_signs:standing_sign67_5" .. _name + minetest.swap_node(pos, node) + elseif mode == screwdriver.ROTATE_AXIS then + return false + end + mcl_signs:update_sign(pos, nil, nil, true) + return true + end + minetest.register_node("mcl_signs:standing_sign45" .. _name, ssign45d) + update_sign_registry("standing", "mcl_signs:standing_sign45" .. _name) + + -- 67.5° + local ssign67_5d = table.copy(new_sign_standing) + ssign67_5d.mesh = "mcl_signs_sign67.5.obj" + ssign67_5d.on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_FACE then + node.name = "mcl_signs:standing_sign" .. _name + node.param2 = (node.param2 + 1) % 4 + minetest.swap_node(pos, node) + elseif mode == screwdriver.ROTATE_AXIS then + return false + end + mcl_signs:update_sign(pos, nil, nil, true) + return true + end + minetest.register_node("mcl_signs:standing_sign67_5" .. _name, ssign67_5d) + update_sign_registry("standing", "mcl_signs:standing_sign67_5" .. _name) + + -- register Doc entry + if minetest.get_modpath("doc") then + doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:wall_sign" .. _name) + doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign" .. _name) + doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign22_5" .. _name) + doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign45" .. _name) + doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign67_5" .. _name) + end end ---- the same as register_sign_and_textures, except uses 1 image for all of the model textures. +--- Usage: Call this with the mod's name, the wood's item string (for the planks), and with the sign's suffix. +--- Registers the crafting recipe for that sign. for every registered sign, call this function to register the +--- standard recipe for the sign. Otherwise, you have to do your own register craft call. +--- --- modname: optional (pass "" or "false" to ignore), for use with other mods to ---- allow the creation of a sign from the mod's wood (if installed). ---- type: "wall", "standing". +--- allow the creation of a sign from the mod's wood (if installed). Example: "mcl_core". --- ---- color: the color code to color the base sign textures. (use white or grey to not color the sign) +--- wood_item_string: example: "mcl_core:wood" or "mcl_core:sprucewood" --- ---- _name: the sign's name suffix, such as "_dark" or "_red", etc. ---- ---- model_texture: the texture file to use for the sign. ---- ---- inventory_image: the image used for in-inventory and in hand. -function mcl_signs.register_sign_and_tiles (modname, type, color, _name, tiles, inventory_image) +--- _name: the sign's name suffix, such as "_dark" or "_red", etc., appended to "wall_sign" or "standing_sign" +function mcl_signs.register_sign_craft(modname, wood_item_string, _name) local mod_name_pass = false if modname ~= "" and modname ~= "false" then if minetest.get_modpath(modname) then @@ -251,8 +617,33 @@ function mcl_signs.register_sign_and_tiles (modname, type, color, _name, tiles, end end -end + minetest.register_craft({ + type = "fuel", + recipe = "mcl_signs:wall_sign" .. _name, + burntime = 10, + }) + -- debug step + if DEBUG then + minetest.log("Action", "Register Sign Crafts: \n" .. modname .. "\n" .. wood_item_string .. "\n" .. _name) + end + + -- register crafts (actual recipe) + if minetest.get_modpath(modname) then + + local itemstring = "mcl_signs:wall_sign" + + minetest.register_craft({ + output = itemstring .. _name .. " 3", + recipe = { + { wood_item_string, wood_item_string, wood_item_string }, + { wood_item_string, wood_item_string, wood_item_string }, + { "", "mcl_core:stick", "" }, + }, + }) + end + +end -- Helper functions local function string_to_array(str) From a8b336381d7828f7e4d1bc6a4eeec9247c01e3a6 Mon Sep 17 00:00:00 2001 From: ancientmarinerdev Date: Sat, 22 Oct 2022 01:28:45 +0100 Subject: [PATCH 07/65] Villagers - On die, clear job and bed. Get same job if already traded. Thunderstorms go to bed --- mods/ENTITIES/mcl_mobs/api.lua | 61 ++++- mods/ENTITIES/mobs_mc/villager.lua | 377 ++++++++++++++++++++--------- 2 files changed, 317 insertions(+), 121 deletions(-) diff --git a/mods/ENTITIES/mcl_mobs/api.lua b/mods/ENTITIES/mcl_mobs/api.lua index 3577783c5..41a23a9de 100644 --- a/mods/ENTITIES/mcl_mobs/api.lua +++ b/mods/ENTITIES/mcl_mobs/api.lua @@ -16,6 +16,14 @@ local CRAMMING_DAMAGE = 3 -- Localize local S = minetest.get_translator("mcl_mobs") +local LOGGING_ON = minetest.settings:get_bool("mcl_logging_mobs_villager",false) +local LOG_MODULE = "[Mobs]" +local function mcl_log (message) + if LOGGING_ON and message then + minetest.log(LOG_MODULE .. " " .. message) + end +end + local function shortest_term_of_yaw_rotatoin(self, rot_origin, rot_target, nums) if not rot_origin or not rot_target then @@ -1562,6 +1570,7 @@ end -- find two animals of same type and breed if nearby and horny local breed = function(self) + --mcl_log("In breed function") -- child takes a long time before growing into adult if self.child == true then @@ -1619,6 +1628,8 @@ local breed = function(self) if self.horny == true and self.hornytimer <= HORNY_TIME then + mcl_log("In breed function. All good. Do the magic.") + local pos = self.object:get_pos() effect({x = pos.x, y = pos.y + 1, z = pos.z}, 8, "heart.png", 3, 4, 1, 0.1) @@ -1653,6 +1664,8 @@ local breed = function(self) end end + if canmate then mcl_log("In breed function. Can mate.") end + if ent and canmate == true and ent.horny == true @@ -1667,6 +1680,8 @@ local breed = function(self) ent.hornytimer = HORNY_TIME + 1 -- spawn baby + + minetest.after(5, function(parent1, parent2, pos) if not parent1.object:get_luaentity() then return @@ -2480,20 +2495,42 @@ local function check_gowp(self,dtime) if gowp_etime < 0.2 then return end gowp_etime = 0 local p = self.object:get_pos() - if not p or not self._target then return end - if vector.distance(p,self._target) < 1 then + + -- no destination + if not p or not self._target then + mcl_log("p: ".. tostring(p)) + mcl_log("self._target: ".. tostring(self._target)) + return + end + + -- arrived at location + local distance_to_targ = vector.distance(p,self._target) + mcl_log("Distance to targ: ".. tostring(distance_to_targ)) + if distance_to_targ < 2 then + mcl_log("Arrived at _target") self.waypoints = nil self._target = nil self.current_target = nil self.state = "stand" + self.order = "stand" self.object:set_velocity({x = 0, y = 0, z = 0}) self.object:set_acceleration({x = 0, y = 0, z = 0}) if self.callback_arrived then return self.callback_arrived(self) end return true end + if self.waypoints and ( not self.current_target or vector.distance(p,self.current_target) < 2 ) then + if not self.current_target then + for i, j in pairs (self.waypoints) do + mcl_log("Way: ".. tostring(i)) + mcl_log("Val: ".. tostring(j)) + end + --mcl_log("nextwp:".. tostring(self.waypoints) ) + end + self.current_target = table.remove(self.waypoints, 1) - --minetest.log("nextwp:".. tostring(self.current_target) ) + mcl_log("current target:".. tostring(self.current_target) ) + --mcl_log("type:".. type(self.current_target) ) go_to_pos(self,self.current_target) return elseif self.current_target then @@ -2507,7 +2544,7 @@ local function check_gowp(self,dtime) return end if not self.current_target then - --minetest.log("no path") + --mcl_log("no path") self.state = "walk" end end @@ -2558,9 +2595,9 @@ local do_states = function(self, dtime) end -- npc's ordered to stand stay standing - if self.type ~= "npc" or - (self.order ~= "stand" and self.order ~= "sleep" and self.order ~= "work") then + if self.type == "npc" or (self.order == "stand" or self.order == "sleep" or self.order == "work") then + else if self.walk_chance ~= 0 and self.facing_fence ~= true and random(1, 100) <= self.walk_chance @@ -3073,6 +3110,8 @@ local do_states = function(self, dtime) end end end + else + end end end @@ -3087,13 +3126,21 @@ local plane_adjacents = { local gopath_last = os.time() function mcl_mobs:gopath(self,target,callback_arrived) + if self.state == "gowp" then mcl_log("Already set as gowp, don't set another path until done.") return end + if os.time() - gopath_last < 15 then return end gopath_last = os.time() - --minetest.log("gowp") + + self.order = nil + + mcl_log("gowp target: " .. minetest.pos_to_string(target)) local p = self.object:get_pos() local t = vector.offset(target,0,1,0) local wp = minetest.find_path(p,t,150,1,4) + + --Path to door first if not wp then + --mcl_log("gowp. no wp. Look for door") local d = minetest.find_node_near(target,16,{"group:door"}) if d then for _,v in pairs(plane_adjacents) do diff --git a/mods/ENTITIES/mobs_mc/villager.lua b/mods/ENTITIES/mobs_mc/villager.lua index 074977d14..bd5173d23 100644 --- a/mods/ENTITIES/mobs_mc/villager.lua +++ b/mods/ENTITIES/mobs_mc/villager.lua @@ -15,6 +15,8 @@ -- TODO: Internal inventory, trade with other villagers -- TODO: Schedule stuff (work,sleep,father) +local weather_mod = minetest.get_modpath("mcl_weather") + local S = minetest.get_translator("mobs_mc") local N = function(s) return s end local F = minetest.formspec_escape @@ -40,6 +42,14 @@ local PLAYER_SCAN_RADIUS = 4 -- scan radius for looking for nearby players -- these items should be implemented as single items, then everything -- will be much easier. +local LOGGING_ON = minetest.settings:get_bool("mcl_logging_mobs_villager",false) +local LOG_MODULE = "[Mobs - Villager]" +local function mcl_log (message) + if LOGGING_ON and message then + minetest.log(LOG_MODULE .. " " .. message) + end +end + local COMPASS = "mcl_compass:compass" if minetest.registered_aliases[COMPASS] then COMPASS = minetest.registered_aliases[COMPASS] @@ -500,15 +510,24 @@ for id, _ in pairs(professions) do table.insert(profession_names, id) end -local jobsites={} -for _,n in pairs(profession_names) do - if n then - if professions[n].jobsite then - table.insert(jobsites,professions[n].jobsite) +local function populate_jobsites (profession) + if profession then + mcl_log("populate_jobsites: ".. tostring(profession)) + end + local jobsites_requested={} + for _,n in pairs(profession_names) do + if n and professions[n].jobsite then + if not profession or (profession and profession == n) then + --minetest.log("populate_jobsites. Adding: ".. tostring(n)) + table.insert(jobsites_requested,professions[n].jobsite) + end end end + return jobsites_requested end +jobsites = populate_jobsites() + local spawnable_bed={} table.insert(spawnable_bed, "mcl_beds:bed_red_bottom") @@ -539,10 +558,11 @@ local function get_badge_textures(self) end local function set_textures(self) - self.object:set_properties({textures=get_badge_textures(self)}) + local badge_textures = get_badge_textures(self) + mcl_log("Setting textures: " .. tostring(badge_textures)) + self.object:set_properties({textures=badge_textures}) end - function get_activity(tod) -- night hours = tod > 18541 or tod < 5458 if not tod then @@ -551,9 +571,15 @@ function get_activity(tod) tod = ( tod * 24000 ) % 24000 local lunch_start = 12000 - local lunch_end = 13300 - local work_start = 8300 - local work_end = 16300 + local lunch_end = 13000 + local work_start = 6500 + local work_end = 18000 + + --local lunch_start = 12000 + --local lunch_end = 13300 + --local work_start = 8300 + --local work_end = 16300 + local activity = nil if (tod > work_start and tod < lunch_start) or (tod > lunch_end and tod < work_end) then @@ -561,11 +587,11 @@ function get_activity(tod) elseif mcl_beds.is_night() then activity = SLEEP elseif tod > lunch_start and tod < lunch_end then - activity = "chill" + activity = "lunch" else - activity = "undefined" + activity = "chill" end - --minetest.log("Time is " .. tod ..". Activity is: ".. activity) + mcl_log("Time is " .. tod ..". Activity is: ".. activity) return activity end @@ -580,7 +606,7 @@ local function go_home(entity, sleep) local bed_node = minetest.get_node(b) if not bed_node then entity._bed = nil - --minetest.log("Cannot find bed. Unset it") + mcl_log("Cannot find bed. Unset it") return end @@ -588,7 +614,7 @@ local function go_home(entity, sleep) if vector.distance(entity.object:get_pos(),b) < 2 then if sleep then entity.order = SLEEP - --minetest.log("Sleep time!") + mcl_log("Sleep time!") end else if sleep and entity.order == SLEEP then @@ -628,7 +654,7 @@ local function check_bed (entity) local n = minetest.get_node(b) if n and n.name ~= "mcl_beds:bed_red_bottom" then - --minetest.log("Where did my bed go?!") + mcl_log("Where did my bed go?!") entity._bed = nil --the stormtroopers have killed uncle owen return false else @@ -644,20 +670,27 @@ local function take_bed (entity) for _,n in pairs(nn) do local m=minetest.get_meta(n) - --minetest.log("Bed owner: ".. m:get_string("villager")) - if m:get_string("villager") == "" then - --minetest.log("Can we path to bed: "..minetest.pos_to_string(n) ) - local gp = mcl_mobs:gopath(entity,n,function() - --minetest.log("We did path to bed. This is great: "..minetest.pos_to_string(n) ) + mcl_log("Bed owner: ".. m:get_string("villager")) + if m:get_string("villager") == "" and not entity.state == "gowp" then + mcl_log("Can we path to bed: "..minetest.pos_to_string(n) ) + local gp = mcl_mobs:gopath(entity,n,function(self) + if self then + self.order = "sleep" + mcl_log("Sleepy time" ) + else + mcl_log("Can't sleep, no self in the callback" ) + end end) if gp then - --minetest.log("Nice bed. I'll defintely take it as I can path") + mcl_log("Nice bed. I'll defintely take it as I can path") m:set_string("villager", entity._id) entity._bed = n break else - --minetest.log("Awww. I can't find my bed.") + mcl_log("Awww. I can't find my bed.") end + else + mcl_log("Currently gowp, or it's taken.") end end end @@ -707,6 +740,37 @@ local function check_summon(self,dtime) self._summon_timer = self._summon_timer + dtime end +local function has_traded (self) + --mcl_log("Checking name: " .. self._trades) + local cur_trades_tab = minetest.deserialize(self._trades) + + if cur_trades_tab and type(cur_trades_tab) == "table" then + for trader, trades in pairs(cur_trades_tab) do + --mcl_log("Current record: ".. tostring(trader)) + --for tr3, tr4 in pairs (tab_val) do + --mcl_log("Key: ".. tostring(tr3)) + --mcl_log("Value: ".. tostring(tr4)) + --end + --mcl_log("traded once: ".. tostring(trades.traded_once)) + + if trades.traded_once then + mcl_log("Villager has traded before. Returning true") + return true + end + end + end + mcl_log("Villager has not traded before") + return false +end + +local function unlock_trades (self) + if self then + mcl_log("We should now try to unlock trades") + else + mcl_log("Missing self") + end +end + ----- JOBSITE LOGIC local function get_profession_by_jobsite(js) for k,v in pairs(professions) do @@ -719,80 +783,133 @@ local function employ(self,jobsite_pos) local m = minetest.get_meta(jobsite_pos) local p = get_profession_by_jobsite(n.name) if p and m:get_string("villager") == "" then - minetest.log("Taking this job") - self._profession=p + mcl_log("Taking this jobsite") + m:set_string("villager",self._id) self._jobsite = jobsite_pos - set_textures(self) + + if not self.traded then + self._profession=p + set_textures(self) + end + return true else - --minetest.log("I can not steal someone's job!") + mcl_log("I can not steal someone's job!") end end -local function look_for_job(self) - if self.last_jobhunt and os.time() - self.last_jobhunt < 360 then return end - self.last_jobhunt = os.time() + math.random(0,60) + +local function look_for_job(self, requested_jobsites) + if self.last_jobhunt and os.time() - self.last_jobhunt < 40 then return end + self.last_jobhunt = os.time() + math.random(0,30) + + mcl_log("Looking for jobs") + + local looking_for_type = jobsites + if requested_jobsites then + mcl_log("Looking for jobs of my type") + local looking_for_type = requested_jobsites + else + mcl_log("Looking for any job type") + end + local p = self.object:get_pos() - local nn = minetest.find_nodes_in_area(vector.offset(p,-48,-48,-48),vector.offset(p,48,48,48),jobsites) - --minetest.log("Looking for jobs") + local nn = minetest.find_nodes_in_area(vector.offset(p,-48,-48,-48),vector.offset(p,48,48,48), looking_for_type) + for _,n in pairs(nn) do - local m=minetest.get_meta(n) - --minetest.log("Job owner: ".. m:get_string("villager")) + local m = minetest.get_meta(n) + --mcl_log("Job owner: ".. m:get_string("villager")) + if m:get_string("villager") == "" then - --minetest.log("It's a free job for me (".. minetest.pos_to_string(p) .. ")! I'll take: "..minetest.pos_to_string(n) ) - local gp = mcl_mobs:gopath(self,n,function() - --minetest.log("arrived jobsite "..minetest.pos_to_string(n) ) + mcl_log("It's a free job for me (".. minetest.pos_to_string(p) .. ")! I might be interested: "..minetest.pos_to_string(n) ) + + local gp = mcl_mobs:gopath(self,n,function(self) + mcl_log("Arrived at block callback") + if self and self.state == "stand" then + self.order = WORK + else + mcl_log("no self. passing param to callback failed") + end + end) - if gp then return end + if gp then + if n then + mcl_log("We can path to this block.. " .. tostring(n)) + end + return n + else + mcl_log("We could not path to block") + end end end + + return nil end + local function get_a_job(self) - --minetest.log("In get a job") - if self.child then return end + mcl_log("I'm unemployed or lost my job block and have traded. Can I get a job?") + --self.order = JOB_HUNTING + + local requested_jobsites = jobsites + if has_traded (self) then + --mcl_log("Has traded") + requested_jobsites = populate_jobsites(self._profession) + -- Only pass in my jobsite to two functions here + else + mcl_log("Has not traded") + end + local p = self.object:get_pos() - local n = minetest.find_node_near(p,1,jobsites) + + local n = minetest.find_node_near(p,1,requested_jobsites) + + --Ideally should check for closest available. It'll make pathing easier. + --local n = look_for_job(self) if not n then - --minetest.log("Job hunt failed. No job block near.") - else - --minetest.log("Found job block near. Is it free though?") + --mcl_log("Job hunt failed. Could not find block I have walked to") end if n and employ(self,n) then return true end - if self.state ~= "gowp" then look_for_job(self) end + if self.state ~= "gowp" then + mcl_log("Nothing near. Need to look for a job") + look_for_job(self, requested_jobsites) + end end -local function find_jobsite (self) +local function retrieve_my_jobsite (self) if not self or not self._jobsite then - --minetest.log("find_jobsite. Invalid params") + --mcl_log("find_jobsite. Invalid params") return end local n = mcl_vars.get_node(self._jobsite) local m = minetest.get_meta(self._jobsite) if m:get_string("villager") == self._id then - --minetest.log("find_jobsite. is my job.") + --mcl_log("find_jobsite. is my job.") return n else - --minetest.log("find_jobsite. Not my job") + --mcl_log("find_jobsite. Not my job") end return end -local function check_jobsite(self) - if self._traded then - return false - end - - if not find_jobsite (self) then - self._profession = "unemployed" - self._trades = nil - set_textures(self) +local function validate_jobsite(self) + if not retrieve_my_jobsite (self) then + if not self._traded then + mcl_log("Cannot retrieve my jobsite. I am now unemployed.") + self._jobsite = nil + self._profession = "unemployed" + self._trades = nil + set_textures(self) + if self.order == WORK then + self.order = nil + end + end return false else return true @@ -802,45 +919,67 @@ end local function do_work (self) - local jobsite2 = find_jobsite (self) - local jobsite = self._jobsite + if self.child then return end + --mcl_log("Time for work") - if self and jobsite2 and self._jobsite then - if self.order == WORK then - --minetest.log("I'm already working, boss!") + -- Don't try if looking_for_work, or gowp possibly + if validate_jobsite(self) then + mcl_log("My jobsite is valid. Do i need to travel?") - self.object:set_velocity({x = 0, y = 0, z = 0}) - --minetest.log("[mobs_mc] Villager velocity is: ".. minetest.pos_to_string(self.object:get_velocity())) - return - end + local jobsite2 = retrieve_my_jobsite (self) + local jobsite = self._jobsite - if vector.distance(self.object:get_pos(),self._jobsite) < 2 then - --minetest.log("Made it to work ok!") - self.order = WORK - else - --self.state = "go_to_work" - mcl_mobs:gopath(self, jobsite, function(self,jobsite) - if not self then - --minetest.log("missing self. not good") - return false - end - if not self._jobsite then - --minetest.log("Jobsite not valid") - return false - end - if vector.distance(self.object:get_pos(),self._jobsite) < 2 then - --minetest.log("Made it to work ok callback!") - return true + if self and jobsite2 and self._jobsite then + + mcl_log("Villager: ".. minetest.pos_to_string(self.object:get_pos()) .. ", jobsite: " .. minetest.pos_to_string(self._jobsite)) + if vector.distance(self.object:get_pos(),self._jobsite) < 2 then + mcl_log("Made it to work ok!") + + if not (self.state == "gowp") then + mcl_log("Setting order to work.") + self.order = WORK else - --minetest.log("Need to walk to work. Not sure we can get here.") + mcl_log("Not gowp. What is it: " .. self.state) end + -- Once we arrive at job block, we should unlock trades + unlock_trades(self) - end) + --self.state = "stand" + --self.object:set_velocity({x = 0, y = 0, z = 0}) + else + mcl_log("Not at job block. Need to commute.") + if self.order == WORK then + self.order = nil + return + end + --self.state = "go_to_work" + mcl_mobs:gopath(self, jobsite, function(self,jobsite) + if not self then + --mcl_log("missing self. not good") + return false + end + if not self._jobsite then + --mcl_log("Jobsite not valid") + return false + end + if vector.distance(self.object:get_pos(),self._jobsite) < 2 then + --mcl_log("Made it to work ok callback!") + return true + else + --mcl_log("Need to walk to work. Not sure we can get here.") + end + + end) + end end - else - --minetest.log("Cannot find the jobsite in do_work. Do nothing.") + elseif self._profession == "unemployed" then + --self.order == JOB_HUNTING + get_a_job(self) + elseif has_traded(self) then + mcl_log("My job site is invalid or gone. I cannot work.") + if self.order == WORK then self.order = nil end + get_a_job(self) end - end local function update_max_tradenum(self) @@ -915,7 +1054,7 @@ local function set_trade(trader, player, inv, concrete_tradenum) init_trades(trader) trades = minetest.deserialize(trader._trades) if not trades then - --minetest.log("error", "[mobs_mc] Failed to select villager trade!") + --minetest.log("error", "Failed to select villager trade!") return end end @@ -1490,11 +1629,20 @@ mcl_mobs:register_mob("mobs_mc:villager", { return it end, on_rightclick = function(self, clicker) - if self._jobsite then + if self.state == "attack" then + mcl_log("Somehow villager got into an invalid attack state. Removed.") + -- Need to stop villager getting in attack state. This is a workaround to allow players to fix broken villager. + self.state = "stand" + self.attack = nil + end + if validate_jobsite(self) then mcl_mobs:gopath(self,self._jobsite,function() --minetest.log("arrived at jobsite") end) + else + self.state = "stand" -- cancel gowp in case it has messed up end + if self.child or self._profession == "unemployed" or self._profession == "nitwit" then return end @@ -1567,48 +1715,36 @@ mcl_mobs:register_mob("mobs_mc:villager", { end if not self._bed then - --minetest.log("[mobs_mc] Villager has no bed. Currently at location: "..minetest.pos_to_string(self.object:get_pos())) + --mcl_log("Villager has no bed. Currently at location: "..minetest.pos_to_string(self.object:get_pos())) take_bed (self) end + if check_bed (self) then --self.state ~= "go_home" local wandered_too_far = ( self.state ~= "gowp" ) and (vector.distance(self.object:get_pos(),self._bed) > 50 ) - if wandered_too_far then minetest.log("[mobs_mc] Wandered too far! Return home ") end + --if wandered_too_far then minetest.log("Wandered too far! Return home ") end if wandered_too_far then go_home(self, false) return - elseif mcl_beds.is_night() then - --minetest.log("[mobs_mc] It's night. Better get to bed ") + elseif mcl_beds.is_night() or (weather_mod and mcl_weather.get_weather() == "thunder") then + mcl_log("It's night or thunderstorm. Better get to bed ") go_home(self, true) return - else - -- work - -- or gossip at town bell end else - --minetest.log("[mobs_mc] check bed failed ") + --mcl_log("check bed failed ") end -- Daytime is work and play time if not mcl_beds.is_night() then if self.order == SLEEP then self.order = nil end - if self._profession == "unemployed" then - --minetest.log("[mobs_mc] I'm unemployed. Can I get a job?") - get_a_job(self) + + if get_activity() == WORK then + do_work(self) else - if get_activity() == WORK then - --minetest.log("[mobs_mc] Time for work") - if check_jobsite(self) then - --minetest.log("[mobs_mc] My jobsite is valid. Let's do work ") - do_work(self) - -- at night or thunder, go to safety (bed) - else - --minetest.log("[mobs_mc] My job site is invalid or i'm already working. I cannot work.") - end - else - self.order = nil - end + -- gossip at town bell or stroll around + self.order = nil end else if self.order == WORK then self.order = nil end @@ -1643,6 +1779,19 @@ mcl_mobs:register_mob("mobs_mc:villager", { end end end + + local bed = self._bed + if bed then + local bed_meta = minetest.get_meta(bed) + bed_meta:set_string("villager", nil) + mcl_log("Died, so bye bye bed") + end + local jobsite = self._jobsite + if jobsite then + local jobsite_meta = minetest.get_meta(jobsite) + jobsite_meta:set_string("villager", nil) + mcl_log("Died, so bye bye jobsite") + end end, }) From 9bbb065967ec520d2217b6cd8abd3c9a975b1534 Mon Sep 17 00:00:00 2001 From: Michieal Date: Fri, 21 Oct 2022 22:50:39 -0400 Subject: [PATCH 08/65] Complete signs acess using new API. Has compatibility layer for signs_dark, the original signs, etc. Has added greyscale sign for making your own signs. :) TODO: add in translations, tweak the sign colors. --- mods/ITEMS/mcl_signs/init.lua | 158 ++-- mods/ITEMS/mcl_signs/signs_api.lua | 1140 +++++++++++++--------------- 2 files changed, 601 insertions(+), 697 deletions(-) diff --git a/mods/ITEMS/mcl_signs/init.lua b/mods/ITEMS/mcl_signs/init.lua index 10bd909ba..d07b36a65 100644 --- a/mods/ITEMS/mcl_signs/init.lua +++ b/mods/ITEMS/mcl_signs/init.lua @@ -7,24 +7,12 @@ local modname = minetest.get_current_modname() local modpath = minetest.get_modpath(modname) -local table = table -local m = -1 / 16 + 1 / 64 - -- Signs API dofile(modpath .. "/signs_api.lua") -- LOCALIZATION local S = minetest.get_translator(modname) --- PLACE YAW VALUES INTO THE TABLE. -for rot = 0, 15 do - local yaw = math.pi * 2 - (((math.pi * 2) / 16) * rot) - local delta = vector.multiply(minetest.yaw_to_dir(yaw), m) - -- Offset because sign is a bit above node boundaries - delta.y = delta.y + 2 / 28 - table.insert(mcl_signs.signtext_info_standing, { delta = delta, yaw = yaw }) -end - -- HANDLE THE FORMSPEC CALLBACK minetest.register_on_player_receive_fields(function(player, formname, fields) if formname:find("mcl_signs:set_text_") == 1 then @@ -37,8 +25,6 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) end end) -mcl_signs:generate_signs() -- initialize the nodes for the signs. - -- FIXME: Prevent entity destruction by /clearobjects minetest.register_entity("mcl_signs:text", { pointable = false, @@ -50,94 +36,108 @@ minetest.register_entity("mcl_signs:text", { _signnodename = nil, -- node name of sign node to which the text belongs on_activate = function(self, staticdata) + + local meta = minetest.get_meta(self.object:get_pos()) + local text = meta:get_string("text") + local text_color = meta:get_string("mcl_signs:text_color") + local glowing_sign = meta:get_string("mcl_signs:glowing_sign") if staticdata and staticdata ~= "" then local des = minetest.deserialize(staticdata) if des then self._signnodename = des._signnodename + if des._text_color ~= nil and des._text_color ~= "" then + self.text_color = des._text_color + end + if des._glowing_sign ~= nil and des._glowing_sign ~= "" then + self.glowing_sign = des._glowing_sign + end end end - local meta = minetest.get_meta(self.object:get_pos()) - local text = meta:get_string("text") + + if text_color == "" or text_color == nil then + text_color = "#000000" -- default to black text. + meta:set_string("mcl_signs:text_color", text_color) + end + + if glowing_sign == "" or glowing_sign == nil then + glowing_sign = "false" -- default to not glowing. + meta:set_string("mcl_signs:glowing_sign", glowing_sign) + end + self.object:set_properties({ - textures = { mcl_signs:create_lettering(text, self._signnodename) }, + textures = { mcl_signs:create_lettering(text, self._signnodename, text_color) }, }) + if glowing_sign == "true" then + self.object:set_properties({ + glow = 6, --sign_glow, + }) + end + self.object:set_armor_groups({ immortal = 1 }) + end, get_staticdata = function(self) - local out = { _signnodename = self._signnodename } + local out = { + _signnodename = self._signnodename, + } return minetest.serialize(out) end, }) --- Make the wall signs burnable. -minetest.register_craft({ - type = "fuel", - recipe = "mcl_signs:wall_sign", - burntime = 10, -}) +-- Build the signs x,y,z & rotations so that they work. (IE, do not remove!) +mcl_signs.build_signs_info() -minetest.register_craft({ - type = "fuel", - recipe = "mcl_signs:wall_sign_dark", - burntime = 10, -}) +-- ---------------------------- -- +-- Register Signs for use. -- +-- ---------------------------- -- +local mcl_colors_official = mcl_colors --- register crafts (actual recipes) -if minetest.get_modpath("mcl_core") then +-- Standard (original) Sign +mcl_signs.register_sign("mcl_core", "#ffffff", "", "Sign") +mcl_signs.register_sign_craft("mcl_core", "mcl_core:wood", "") - -- debug step - minetest.log("verbose", "Register Sign Crafts: \n" .. dump(mcl_signs.woods)) +-- birchwood Sign +--mcl_signs.register_sign("mcl_core", "#d5cb8d", "_birchwood", "Birch Sign") +mcl_signs.register_sign_custom("mcl_core", "_birchwood", + "mcl_signs_sign_greyscale.png",mcl_colors_official.YELLOW, "default_sign_greyscale.png", + "default_sign_greyscale.png", "Birch Sign" +) - for w = 1, #mcl_signs.woods do - local itemstring = "" +mcl_signs.register_sign_craft("mcl_core", "mcl_core:birchwood", "_birchwood") - if mcl_signs.woods[w] == "mcl_core:sprucewood" or mcl_signs.woods[w] == "mcl_core:darkwood" then - itemstring = "mcl_signs:wall_sign_dark" - else - itemstring = "mcl_signs:wall_sign 3" - end +-- sprucewood Sign +mcl_signs.register_sign_custom("mcl_core", "_sprucewood", + "mcl_signs_sign_dark.png","#ffffff", "default_sign_dark.png", + "default_sign_dark.png", "Spruce Sign" +) +mcl_signs.register_sign_craft("mcl_core", "mcl_core:sprucewood", "_sprucewood") - local c = mcl_signs.woods[w] +-- darkwood Sign +--mcl_signs.register_sign("mcl_core","#291f1a", "_darkwood", "Dark Oak Sign") +mcl_signs.register_sign_custom("mcl_core", "_darkwood", + "mcl_signs_sign_greyscale.png","#856443", "default_sign_greyscale.png", + "default_sign_greyscale.png", "Dark Oak Sign" +) - minetest.register_craft({ - output = itemstring.." 3", - recipe = { - { c, c, c }, - { c, c, c }, - { "", "mcl_core:stick", "" }, - }, - }) - end -end +mcl_signs.register_sign_craft("mcl_core", "mcl_core:darkwood", "_darkwood") -if minetest.get_modpath("doc") then - doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign") - doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign22_5") - doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign45") - doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign67_5") - doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:wall_sign_dark") - doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign_dark") - doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign22_5_dark") - doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign45_dark") - doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign67_5_dark") -end +-- junglewood Sign +mcl_signs.register_sign("mcl_core", "#866249", "_junglewood", "Jungle Sign") +mcl_signs.register_sign_craft("mcl_core", "mcl_core:junglewood", "_junglewood") +-- acaciawood Sign "b8693d" +mcl_signs.register_sign("mcl_core", "#ea7479", "_acaciawood", "Acacia Sign") +mcl_signs.register_sign_craft("mcl_core", "mcl_core:acaciawood", "_acaciawood") + +-- mangrove_wood Sign "#c7545c" +mcl_signs.register_sign("mcl_core", "#b8693d", "_mangrove_wood", "Mangrove Sign") +mcl_signs.register_sign_craft("mcl_core", "mcl_core:mangrove_wood", "_mangrove_wood") + +-- Register the LBMs for the created signs. +mcl_signs.make_lbm() + +-- really ancient compatibility. minetest.register_alias("signs:sign_wall", "mcl_signs:wall_sign") minetest.register_alias("signs:sign_yard", "mcl_signs:standing_sign") -minetest.register_alias("mcl_signs:wall_sign 3", "mcl_signs:wall_sign") - -minetest.register_lbm({ - name = "mcl_signs:respawn_entities", - label = "Respawn sign text entities", - run_at_every_load = true, - nodenames = { - "mcl_signs:wall_sign", "mcl_signs:wall_sign_dark", - "mcl_signs:standing_sign", "mcl_signs:standing_sign_dark", - "mcl_signs:standing_sign22_5", "mcl_signs:standing_sign22_5_dark", - "mcl_signs:standing_sign45", "mcl_signs:standing_sign45_dark", - "mcl_signs:standing_sign67_5", "mcl_signs:standing_sign67_5_dark" - }, - action = function(pos, node) - mcl_signs:update_sign(pos) - end, -}) \ No newline at end of file +minetest.register_alias("mcl_signs:wall_sign_dark", "mcl_signs:wall_sign_sprucewood") +minetest.register_alias("mcl_signs:standing_sign_dark", "mcl_signs:standing_sign_sprucewood") diff --git a/mods/ITEMS/mcl_signs/signs_api.lua b/mods/ITEMS/mcl_signs/signs_api.lua index 38f74a6a3..0931e419f 100644 --- a/mods/ITEMS/mcl_signs/signs_api.lua +++ b/mods/ITEMS/mcl_signs/signs_api.lua @@ -4,16 +4,15 @@ --- DateTime: 10/14/22 4:05 PM --- -local DEBUG = minetest.settings:get_bool("mcl_logging_mcl_signs",true) -- special debug setting. +--local logging = minetest.settings:get_bool("mcl_logging_mcl_signs",true) + +local DEBUG = minetest.settings:get_bool("mcl_logging_mcl_signs", true) -- special debug setting. local table = table -- copied from the original signs init file. if DEBUG then - minetest.log("Action","Signs API Loading") + minetest.log("action", "[mcl_signs] Signs API Loading") end --- INITIALIZE THE GLOBAL API FOR SIGNS. -mcl_signs = {} - -- LOCALIZATION local S = minetest.get_translator("mcl_signs") -- Signs form @@ -30,6 +29,13 @@ local NUMBER_OF_LINES = 4 local LINE_HEIGHT = 14 local CHAR_WIDTH = 5 +-- ----------------------- + +-- CACHE NODE_SOUNDS +local node_sounds +if minetest.get_modpath("mcl_sounds") then + node_sounds = mcl_sounds.node_sound_wood_defaults() +end -- SET UP THE CHARACTER MAPPING -- Load the characters map (characters.txt) @@ -62,12 +68,19 @@ else end end -local pi = math.pi -local n = 23 / 56 - 1 / 128 +local pi = 3.1415926 -- enough accuracy, to build an engine for a car. + +-- locally cached copy of the official colors; this way, it updates as mcl_colors updates. +local mcl_colors_official = mcl_colors +if DEBUG then + minetest.log("verbose", "[mcl_signs]Official MCL_Colors:\n" .. dump(mcl_colors_official)) +end + +-- INITIALIZE THE GLOBAL API FOR SIGNS. +mcl_signs = {} -- GLOBALS mcl_signs.sign_groups = { handy = 1, axey = 1, deco_block = 1, material_wood = 1, attached_node = 1, dig_by_piston = 1, flammable = -1 } - --- colors used for wools. mcl_signs.mcl_wool_colors = { unicolor_white = "#FFFFFF", @@ -89,6 +102,8 @@ mcl_signs.mcl_wool_colors = { } mcl_signs.signtext_info_wall = {} mcl_signs.signtext_info_standing = {} -- built in build_signs_info(). +-- the rotational levels for all of the standing signs. +mcl_signs.standing_rotation_levels = {} -- data structure block for dynamically registered signs. mcl_signs.registered_signs = {} @@ -99,24 +114,359 @@ mcl_signs.registered_signs.hanging_signs = {} -- unused. prepping for future use mcl_signs.wall_standard = {} -- initialize mcl_signs.standing_standard = {} -- initialize -mcl_signs.registered_sign_nodenames = {} +function mcl_signs.build_signs_info() + local n = 23 / 56 - 1 / 128 -- some required magic number from the original code. + local m = -1 / 16 + 1 / 64 -- " " " " " " " " + + mcl_signs.signtext_info_wall = { + { delta = { x = 0, y = 0, z = n }, yaw = 0 }, + { delta = { x = n, y = 0, z = 0 }, yaw = pi / -2 }, + { delta = { x = 0, y = 0, z = -n }, yaw = pi }, + { delta = { x = -n, y = 0, z = 0 }, yaw = pi / 2 }, + } + + -- PLACE YAW VALUES INTO THE TABLE. + for rot = 0, 15 do + local yaw = pi * 2 - (((pi * 2) / 16) * rot) + local delta = vector.multiply(minetest.yaw_to_dir(yaw), m) + -- Offset because sign is a bit above node boundaries + delta.y = delta.y + 2 / 28 + table.insert(mcl_signs.signtext_info_standing, { delta = delta, yaw = yaw }) + end --- locally cached copy of the official colors; this way, it updates as mcl_colors updates. -local mcl_colors_official = mcl_colors -if DEBUG then - minetest.log("Official MCL_Colors:\n" .. dump(mcl_colors_official)) end -mcl_signs.woods = { "mcl_core:sprucewood", "mcl_core:darkwood", "mcl_core:wood", "mcl_core:birchwood", "mcl_core:junglewood", "mcl_core:acaciawood", "mcl_mangrove:mangrove_wood" } +-- wall signs' & hanging signs' base (definition) +mcl_signs.wall_standard = { + description = S("Sign"), + _tt_help = S("Can be written"), + _doc_items_longdesc = S("Signs can be written and come in two variants: Wall sign and sign on a sign post. Signs can be placed on the top and the sides of other blocks, but not below them."), + _doc_items_usagehelp = S("After placing the sign, you can write something on it. You have 4 lines of text with up to 15 characters for each line; anything beyond these limits is lost. Not all characters are supported. The text can not be changed once it has been written; you have to break and place the sign again. Can be colored and made to glow."), + inventory_image = "default_sign.png", + walkable = false, + is_ground_content = false, + wield_image = "default_sign.png", + node_placement_prediction = "", + paramtype = "light", + sunlight_propagates = true, + paramtype2 = "wallmounted", + drawtype = "mesh", + mesh = "mcl_signs_signonwallmount.obj", + selection_box = { type = "wallmounted", wall_side = { -0.5, -7 / 28, -0.5, -23 / 56, 7 / 28, 0.5 } }, + tiles = { "mcl_signs_sign.png" }, + use_texture_alpha = minetest.features.use_texture_alpha_string_modes and "opaque" or false, + groups = mcl_signs.sign_groups, + stack_max = 16, + sounds = node_sounds, -mcl_signs.signtext_info_wall = { - { delta = { x = 0, y = 0, z = n }, yaw = 0 }, - { delta = { x = n, y = 0, z = 0 }, yaw = pi / -2 }, - { delta = { x = 0, y = 0, z = -n }, yaw = pi }, - { delta = { x = -n, y = 0, z = 0 }, yaw = pi / 2 }, + on_place = function(itemstack, placer, pointed_thing) + local above = pointed_thing.above + local under = pointed_thing.under + + -- Use pointed node's on_rightclick function first, if present + local node_under = minetest.get_node(under) + if placer and not placer:get_player_control().sneak then + if minetest.registered_nodes[node_under.name] and minetest.registered_nodes[node_under.name].on_rightclick then + return minetest.registered_nodes[node_under.name].on_rightclick(under, node_under, placer, itemstack) or itemstack + end + end + + local dir = vector.subtract(under, above) + + -- Only build when it's legal + local abovenodedef = minetest.registered_nodes[minetest.get_node(above).name] + if not abovenodedef or abovenodedef.buildable_to == false then + return itemstack + end + + local wdir = minetest.dir_to_wallmounted(dir) + + --local placer_pos = placer:get_pos() + + local fdir = minetest.dir_to_facedir(dir) + + local sign_info + local nodeitem = ItemStack(itemstack) + -- Ceiling + if wdir == 0 then + --how would you add sign to ceiling? + return itemstack + -- Floor + end + + if wdir == 1 then + -- Standing sign + + -- Determine the sign rotation based on player's yaw + local yaw = pi * 2 - placer:get_look_horizontal() + + -- Select one of 16 possible rotations (0-15) + local rotation_level = mcl_signs:round((yaw / (pi * 2)) * 16) + + if rotation_level > 15 then + rotation_level = 0 + elseif rotation_level < 0 then + rotation_level = 15 + end + + -- The actual rotation is a combination of predefined mesh and facedir (see node definition) + if rotation_level % 4 == 0 then + nodeitem:set_name("mcl_signs:standing_sign") + elseif rotation_level % 4 == 1 then + nodeitem:set_name("mcl_signs:standing_sign22_5") + elseif rotation_level % 4 == 2 then + nodeitem:set_name("mcl_signs:standing_sign45") + elseif rotation_level % 4 == 3 then + nodeitem:set_name("mcl_signs:standing_sign67_5") + end + fdir = math.floor(rotation_level / 4) + + -- Place the node! + local _, success = minetest.item_place_node(nodeitem, placer, pointed_thing, fdir) + if not success then + return itemstack + end + if not minetest.is_creative_enabled(placer:get_player_name()) then + itemstack:take_item() + end + sign_info = mcl_signs.signtext_info_standing[rotation_level + 1] + -- Side + else + -- Wall sign + local _, success = minetest.item_place_node(itemstack, placer, pointed_thing, wdir) + if not success then + return itemstack + end + sign_info = mcl_signs.signtext_info_wall[fdir + 1] + end + + -- Determine spawn position of entity + local place_pos + if minetest.registered_nodes[node_under.name].buildable_to then + place_pos = under + else + place_pos = above + end + + local text_entity = minetest.add_entity({ + x = place_pos.x + sign_info.delta.x, + y = place_pos.y + sign_info.delta.y, + z = place_pos.z + sign_info.delta.z }, "mcl_signs:text") + text_entity:set_yaw(sign_info.yaw) + text_entity:get_luaentity()._signnodename = nodeitem:get_name() + if DEBUG then + minetest.log("verbose", "[mcl_signs]Placed position:" .. dump(place_pos) .. "\nSign_info: " .. dump(sign_info)) + end + + minetest.sound_play({ name = "default_place_node_hard", gain = 1.0 }, { pos = place_pos }, true) + + mcl_signs:show_formspec(placer, place_pos) + return itemstack + end, + on_destruct = function(pos) + mcl_signs:destruct_sign(pos) + end, + + -- Not Useless Code. force updates the sign. + on_punch = function(pos, node, puncher) + mcl_signs:update_sign(pos) + if DISINTEGRATE then + mcl_signs:destruct_sign(pos) + end + end, + on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_FACE then + local r = screwdriver.rotate.wallmounted(pos, node, mode) + node.param2 = r + minetest.swap_node(pos, node) + mcl_signs:update_sign(pos, nil, nil, true) + return true + else + return false + end + end, + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + if DEBUG then + minetest.log("verbose", "[mcl_signs] Wall_Sign Right Click event.") + end + + -- make sure player is clicking + if not clicker or not clicker:is_player() then + return + end + + local item = clicker:get_wielded_item() + local iname = item:get_name() + + if node then + if DEBUG then + minetest.log("verbose", "[mcl_signs] Wall_Sign Right Click event on valid node.") + end + + -- handle glow from glow_ink_sac *first* + if (iname == "mcl_mobitems:glow_ink_sac") then + clicker:set_wielded_item(item) + local success = mcl_signs:glow_sign(pos) + if success then + if DEBUG then + minetest.log("verbose", "[mcl_signs] Sign Glow Success.") + end + itemstack:take_item() + end + return + end + + -- "mcl_dye:black" is a special case: it makes the sign's lettering black AND removes glow. + if (iname == "mcl_dye:black") then + clicker:set_wielded_item(item) + local success = mcl_signs:glow_sign(pos, true) + mcl_signs:color_sign(pos, mcl_colors.BLACK) + if success then + if DEBUG then + minetest.log("verbose", "[mcl_signs] Sign Glow removal Success.") + end + + itemstack:take_item() + end + return + end + + -- check the wielded item to make sure that it is a dye. + local txt_color = mcl_signs:get_color_for_sign(iname) + if txt_color ~= "false" then + clicker:set_wielded_item(item) + local success = mcl_signs:color_sign(pos, txt_color) + if success then + if DEBUG then + minetest.log("verbose", "[mcl_signs] Sign Color Success.") + end + itemstack:take_item() + end + end + end + end, + + _mcl_hardness = 1, + _mcl_blast_resistance = 1, } -mcl_signs.signtext_info_standing = {} -mcl_signs.sign_groups = { handy = 1, axey = 1, deco_block = 1, material_wood = 1, attached_node = 1, dig_by_piston = 1, flammable = -1 } +-- standing sign base (definition) +mcl_signs.standing_standard = { + paramtype = "light", + use_texture_alpha = minetest.features.use_texture_alpha_string_modes and "opaque" or false, + sunlight_propagates = true, + walkable = false, + is_ground_content = false, + paramtype2 = "facedir", + drawtype = "mesh", + mesh = "mcl_signs_sign.obj", + selection_box = { type = "fixed", fixed = { -0.2, -0.5, -0.2, 0.2, 0.5, 0.2 } }, + tiles = { "mcl_signs_sign.png" }, + groups = mcl_signs.sign_groups, + drop = "mcl_signs:wall_sign", + stack_max = 16, + sounds = node_sounds, + + on_destruct = function(pos) + mcl_signs:destruct_sign(pos) + end, + + -- Not Useless Code. this force updates the sign. + on_punch = function(pos, node, puncher) + mcl_signs:update_sign(pos) + if DISINTEGRATE then + mcl_signs:destruct_sign(pos) + end + end, + on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_FACE then + node.name = "mcl_signs:standing_sign22_5" + minetest.swap_node(pos, node) + elseif mode == screwdriver.ROTATE_AXIS then + return false + end + mcl_signs:update_sign(pos, nil, nil, true) + return true + end, + + on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) + + if DEBUG then + minetest.log("verbose", "[mcl_signs] Standing_Sign Right Click event.") + end + + -- make sure player is clicking + if not clicker or not clicker:is_player() then + return + end + + local item = clicker:get_wielded_item() + local iname = item:get_name() + + if node then + -- handle glow from glow_ink_sac *first* + if DEBUG then + minetest.log("verbose", "[mcl_signs] Standing_Sign Right Click event on valid node.") + end + + if (iname == "mcl_mobitems:glow_ink_sac") then + clicker:set_wielded_item(item) + local success = mcl_signs:glow_sign(pos) + if success then + if DEBUG then + minetest.log("verbose", "[mcl_signs] Sign Glow Success.") + end + itemstack:take_item() + end + return + end + + -- check the wielded item to make sure that it is a dye. + local txt_color = mcl_signs:get_color_for_sign(iname) + if txt_color ~= "false" then + clicker:set_wielded_item(item) + local success = mcl_signs:color_sign(pos, txt_color) + if success then + if DEBUG then + minetest.log("verbose", "[mcl_signs] Sign Color Success.") + end + itemstack:take_item() + end + end + end + end, + + _mcl_hardness = 1, + _mcl_blast_resistance = 1, +} + +function mcl_signs.make_lbm() + + local registered_sign_nodenames = {} + + for i = 0, #mcl_signs.registered_signs.wall_signs do + table.insert(registered_sign_nodenames, mcl_signs.registered_signs.wall_signs[i]) + end + + for i = 0, #mcl_signs.registered_signs.standing_signs do + table.insert(registered_sign_nodenames, mcl_signs.registered_signs.standing_signs[i]) + end + + for i = 0, #mcl_signs.registered_signs.hanging_signs do + table.insert(registered_sign_nodenames, mcl_signs.registered_signs.hanging_signs[i]) + end + + -- the above is not yet used. + minetest.register_lbm({ + name = "mcl_signs:respawn_entities", + label = "Respawn sign text entities", + run_at_every_load = true, + nodenames = registered_sign_nodenames , + action = function(pos, node) + mcl_signs:update_sign(pos) + end, + }) + +end -- HELPER FUNCTIONS' VARIABLES local sign_glow = 6 @@ -143,7 +493,6 @@ local Dyes_table = { { "mcl_dye:yellow", mcl_colors_official.YELLOW }, } ---- Registers a new dye to use for sign text coloring. Is 100% functional. function mcl_signs.register_dye (modname, item_name, color_code) if minetest.get_modpath(modname) then table.insert(Dyes_table, { item_name, color_code }) @@ -162,18 +511,6 @@ local function update_sign_registry(type, name) end end ---- This allows optional mods and helps prevent breaking. ---- ---- modname: the mod that defines the wood to add; item_name: the item_string of the wood to add. ---- eventually, this will become modname, item_name, coloration_code. -function mcl_signs.register_wood (modname, item_name) - if minetest.get_modpath(modname) then - table.insert(mcl_signs.woods,item_name) - end -end - --- the Reigister_sign* functions aren't yet in use, due to an error with them that is currently being debugged. Added here for the forthcoming use. - --- Register a new sign, tint the textures, and gives it an unique node name. Creates both wall and standing signs. --- modname: optional (pass "" or "false" to ignore), for use with other mods to --- allow the creation of a sign from the mod's wood (if installed). @@ -293,7 +630,7 @@ function mcl_signs.register_sign (modname, color, _name, ttsign) end if DEBUG then - minetest.log("Register_Sign::Placed position:" .. dump(place_pos) .. "\nSign_info: " .. dump(sign_info)) + minetest.log("action", "[mcl_signs] Register_Sign::Placed position:" .. dump(place_pos) .. "\nSign_info: " .. dump(sign_info)) end local text_entity = minetest.add_entity({ @@ -314,8 +651,8 @@ function mcl_signs.register_sign (modname, color, _name, ttsign) -- debug step if DEBUG then - minetest.log("Registered: mcl_signs:wall_sign" .. _name .. color .. "\n" .. dump(new_sign)) - minetest.log("mcl_signs:wall_sign_standard\n" .. dump(mcl_signs.wall_standard)) + minetest.log("action", "[mcl_signs] Registered: mcl_signs:wall_sign" .. _name .. color .. "\n" .. dump(new_sign)) + minetest.log("action", "[mcl_signs] mcl_signs:wall_sign_standard\n" .. dump(mcl_signs.wall_standard)) end -- standing sign base. @@ -329,7 +666,7 @@ function mcl_signs.register_sign (modname, color, _name, ttsign) update_sign_registry("standing", "mcl_signs:standing_sign" .. _name) -- debug step if DEBUG then - minetest.log("Registered: mcl_signs:standing_sign" .. _name .. color .. "\n" .. dump(new_sign_standing)) + minetest.log("action", "[mcl_signs] Registered: mcl_signs:standing_sign" .. _name .. color .. "\n" .. dump(new_sign_standing)) end -- 22.5° @@ -389,9 +726,16 @@ function mcl_signs.register_sign (modname, color, _name, ttsign) doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign45" .. _name) doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign67_5" .. _name) end + + --register standing sign's rotation_levels + table.insert(mcl_signs.standing_rotation_levels, {"mcl_signs:standing_sign22_5" .. _name , 1}) + table.insert(mcl_signs.standing_rotation_levels, {"mcl_signs:standing_sign45" .. _name , 2}) + table.insert(mcl_signs.standing_rotation_levels, {"mcl_signs:standing_sign67_5" .. _name , 3}) end ---- the same as register_sign, except caller defines the textures. +--- The same as register_sign, except caller defines the textures. Note, there is a greyscale version of the sign, +--- called "default_sign_greyscale.png" and "mcl_signs_sign_greyscale.png" for optional use in the textures directory. +--- --- modname: optional (pass "" or "false" to ignore), for use with other mods to --- allow the creation of a sign from the mod's wood (if installed). --- type: "wall", "standing". @@ -400,6 +744,9 @@ end --- --- tiles: the texture file to use for the sign. --- +--- color: color the texture file to use with this color. Use white (#FFFFFF) to negate the color, +--- and just use the texture as is +--- --- inventory_image: the texture file to use for the sign's display in inventory. --- --- wield_image: the texture file to use for the sign's weilded (in hand) object. @@ -408,7 +755,7 @@ end --- --- ttsign: the tool tip of the sign that gets translated. Shown when the mouse hovers the inventory sign. --- For example: the basic, default oak (wood) sign is just "Sign"; and a spruce sign would be "Spruce Sign" -function mcl_signs.register_sign_custom (modname, _name, tiles, inventory_image, wield_image, ttsign) +function mcl_signs.register_sign_custom (modname, _name, tiles, color, inventory_image, wield_image, ttsign) local mod_name_pass = false if modname ~= "" and modname ~= "false" then if minetest.get_modpath(modname) then @@ -422,9 +769,9 @@ function mcl_signs.register_sign_custom (modname, _name, tiles, inventory_image, new_sign = table.copy(mcl_signs.wall_standard) - new_sign.wield_image = wield_image - new_sign.tiles = { tiles } - new_sign.inventory_image = inventory_image + new_sign.wield_image ="("..wield_image.."^[multiply:" .. color .. ")" + new_sign.tiles = { "("..tiles.."^[multiply:" .. color .. ")" } + new_sign.inventory_image = "("..inventory_image.."^[multiply:" .. color .. ")" new_sign.description = S(ttsign) -- currently have to do this, because of how the base node placement works. new_sign.on_place = function(itemstack, placer, pointed_thing) @@ -530,9 +877,9 @@ function mcl_signs.register_sign_custom (modname, _name, tiles, inventory_image, local new_sign_standing = {} new_sign_standing = table.copy(mcl_signs.standing_standard) new_sign_standing.drop = "mcl_signs:wall_sign" .. _name - new_sign_standing.wield_image = wield_image - new_sign_standing.tiles = { tiles } - new_sign_standing.inventory_image = inventory_image + new_sign_standing.wield_image ="("..wield_image.."^[multiply:" .. color .. ")" + new_sign_standing.tiles = { "("..tiles.."^[multiply:" .. color .. ")" } + new_sign_standing.inventory_image = "("..inventory_image.."^[multiply:" .. color .. ")" minetest.register_node("mcl_signs:standing_sign" .. _name, new_sign_standing) update_sign_registry("standing", "mcl_signs:standing_sign" .. _name) @@ -594,6 +941,11 @@ function mcl_signs.register_sign_custom (modname, _name, tiles, inventory_image, doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign67_5" .. _name) end + --register standing sign's rotation_levels + table.insert(mcl_signs.standing_rotation_levels, {"mcl_signs:standing_sign22_5" .. _name , 1}) + table.insert(mcl_signs.standing_rotation_levels, {"mcl_signs:standing_sign45" .. _name , 2}) + table.insert(mcl_signs.standing_rotation_levels, {"mcl_signs:standing_sign67_5" .. _name , 3}) + end --- Usage: Call this with the mod's name, the wood's item string (for the planks), and with the sign's suffix. @@ -625,7 +977,7 @@ function mcl_signs.register_sign_craft(modname, wood_item_string, _name) -- debug step if DEBUG then - minetest.log("Action", "Register Sign Crafts: \n" .. modname .. "\n" .. wood_item_string .. "\n" .. _name) + minetest.log("action", "[mcl_signs] Register Sign Crafts: \n" .. modname .. "\n" .. wood_item_string .. "\n" .. _name) end -- register crafts (actual recipe) @@ -647,41 +999,35 @@ end -- Helper functions local function string_to_array(str) - local tab = {} + local string_table = {} for i = 1, string.len(str) do - table.insert(tab, string.sub(str, i, i)) + table.insert(string_table, string.sub(str, i, i)) end - return tab + return string_table end local function string_to_line_array(str) - local tab = {} + local linechar_table = {} local current = 1 local linechar = 1 - tab[1] = "" + linechar_table[1] = "" for _, char in ipairs(string_to_array(str)) do -- New line if char == "\n" then current = current + 1 - tab[current] = "" + linechar_table[current] = "" linechar = 1 else - tab[current] = tab[current] .. char + linechar_table[current] = linechar_table[current] .. char linechar = linechar + 1 end end - return tab + return linechar_table end local function get_rotation_level(facedir, nodename) - local nnames = { - { "mcl_signs:standing_sign22_5", 1 }, - { "mcl_signs:standing_sign22_5_dark", 1 }, - { "mcl_signs:standing_sign45", 2 }, - { "mcl_signs:standing_sign45_dark", 2 }, - { "mcl_signs:standing_sign67_5", 3 }, - { "mcl_signs:standing_sign67_5_dark", 3 } - } + local nnames = mcl_signs.standing_rotation_levels -- functional copy... was easier this way. #LazyAF :P + local rl local offset = 0 for x = 1, #nnames do @@ -691,8 +1037,8 @@ local function get_rotation_level(facedir, nodename) end end rl = facedir * 4 + offset - if DEBUG then - minetest.log("NodeName: " .. nodename .. " RL value: " .. rl) + if 1 == 1 then + minetest.log("action", "[mcl_signs] GetRotationLevel: NodeName: " .. nodename .. " RL value: " .. rl) end return rl end @@ -719,13 +1065,12 @@ function mcl_signs:color_sign (pos, text_color) -- debug step local meta = minetest.get_meta(pos) if not meta then - if DEBUG then - minetest.log("verbose", "Sign Color Fail - Metadata.") - end + minetest.log("error", "[mcl_signs] Sign Color Fail - Metadata.") + return false end if DEBUG then - minetest.log("verbose", "Post-Sign Color: " .. meta:get_string("mcl_signs:text_color") .. " " .. meta:get_string("mcl_signs:glowing_sign") .. ".\n" .. dump(pos)) + minetest.log("verbose", "[mcl_signs] Post-Sign Color: " .. meta:get_string("mcl_signs:text_color") .. " " .. meta:get_string("mcl_signs:glowing_sign") .. ".\n" .. dump(pos)) end return success @@ -775,10 +1120,14 @@ function mcl_signs:glow_sign (pos, remove_glow) }) meta:set_string("mcl_signs:glowing_sign", "true") end + if not text_entity then + return false + end + text_entity:get_luaentity()._glowing_sign = meta:get_string("mcl_signs:glowing_sign") -- debug step if DEBUG then - minetest.log("verbose", "Post-Sign Glow: " .. meta:get_string("mcl_signs:text_color") .. " " .. meta:get_string("mcl_signs:glowing_sign") .. ".\n" .. dump(pos)) + minetest.log("verbose", "[mcl_signs] Post-Sign Glow: " .. meta:get_string("mcl_signs:text_color") .. " " .. meta:get_string("mcl_signs:glowing_sign") .. ".\n" .. dump(pos)) end return success end @@ -789,20 +1138,25 @@ function mcl_signs:create_lettering(text, signnodename, sign_color) end local texture = mcl_signs:generate_texture(mcl_signs:create_lines(text), signnodename, sign_color) + -- debug step + if DEBUG then + minetest.log("action", "[mcl_signs] Creating sign text; text:" .. text) + end + return texture end function mcl_signs:create_lines(text) local line_num = 1 - local tab = {} + local text_table = {} for _, line in ipairs(string_to_line_array(text)) do if line_num > NUMBER_OF_LINES then break end - table.insert(tab, line) + table.insert(text_table, line) line_num = line_num + 1 end - return tab + return text_table end function mcl_signs:generate_line(s, ypos) @@ -839,8 +1193,9 @@ function mcl_signs:generate_line(s, ypos) local texture = "" local xpos = math.floor((SIGN_WIDTH - width) / 2) - for i = 1, #parsed do - texture = texture .. ":" .. xpos .. "," .. ypos .. "=" .. parsed[i] .. ".png" + + for j = 1, #parsed do + texture = texture .. ":" .. xpos .. "," .. ypos .. "=" .. parsed[j] .. ".png" xpos = xpos + printed_char_width end return texture @@ -848,12 +1203,41 @@ end function mcl_signs:generate_texture(lines, signnodename, letter_color) local texture = "[combine:" .. SIGN_WIDTH .. "x" .. SIGN_WIDTH - local ypos + local ypos = 0 + + -- Handle all of the dynamically created signs. + for x = 1, #mcl_signs.registered_signs.wall_signs do + if signnodename == mcl_signs.registered_signs.wall_signs[x] then + ypos = 30 + break + end + end + for x = 1, #mcl_signs.registered_signs.standing_signs do + if signnodename == mcl_signs.registered_signs.standing_signs[x] then + ypos = 0 + break + end + end + -- for future inclusion, when the hanging sings are made. + --[[ + for x = 1, #mcl_signs.registered_signs.hanging_signs do + if signnodename == mcl_signs.registered_signs.hanging_signs[x] then + ypos = 30 + break + end + end + ]] + + -- kept in for now, compatibility with existing hard coded signs. TODO: Remove after done with api. if signnodename == "mcl_signs:wall_sign" or signnodename == "mcl_signs:wall_sign_dark" then ypos = 30 - else - ypos = 0 end + + -- debug step + if DEBUG then + minetest.log("action", "[mcl_signs] Generate_Texture::Debug_Data:\nSignNodeName: " .. dump(signnodename) .. "\nYPOS: " .. ypos) + end + for i = 1, #lines do texture = texture .. mcl_signs:generate_line(lines[i], ypos) ypos = ypos + LINE_HEIGHT @@ -908,9 +1292,6 @@ function mcl_signs:update_sign(pos, fields, sender, force_remove, text_color) text = "" end - --local placer_pos = placer:get_pos() - -- mcl_signs:show_formspec(placer, place_pos) - -- find text color. local sign_color @@ -922,7 +1303,7 @@ function mcl_signs:update_sign(pos, fields, sender, force_remove, text_color) sign_color = meta:get_string("mcl_signs:text_color") end - if text_color == nil then + if text_color == nil or text == "" then text_color = "false" end @@ -942,24 +1323,44 @@ function mcl_signs:update_sign(pos, fields, sender, force_remove, text_color) -- debug step if DEBUG then - minetest.log("Pre-Sign Update: " .. sign_color .. " " .. meta:get_string("mcl_signs:glowing_sign") .. ".\n" .. dump(pos)) + minetest.log("action", "[mcl_signs] Update_Signs: Pre-Sign Update: " .. sign_color .. " " .. meta:get_string("mcl_signs:glowing_sign") .. ".\n" .. dump(pos)) end local sign_info - local n = minetest.get_node(pos) - local nn = n.name + local npos = minetest.get_node(pos) + local npos_name = npos.name - if nn == "mcl_signs:standing_sign" or nn == "mcl_signs:standing_sign22_5" or nn == "mcl_signs:standing_sign45" or nn == "mcl_signs:standing_sign67_5" then - sign_info = mcl_signs.signtext_info_standing[get_rotation_level(n.param2, nn) + 1] - elseif nn == "mcl_signs:standing_sign_dark" or nn == "mcl_signs:standing_sign22_5_dark" or nn == "mcl_signs:standing_sign45_dark" or nn == "mcl_signs:standing_sign67_5_dark" then - sign_info = mcl_signs.signtext_info_standing[get_rotation_level(n.param2, nn) + 1] - elseif nn == "mcl_signs:wall_sign" or nn == "mcl_signs:wall_sign_dark" then - sign_info = mcl_signs.signtext_info_wall[mcl_signs:get_wall_signtext_info(n.param2)] + -- Handle all of the dynamically created signs. + for x = 1, #mcl_signs.registered_signs.wall_signs do + if npos_name == mcl_signs.registered_signs.wall_signs[x] then + sign_info = mcl_signs.signtext_info_wall[mcl_signs:get_wall_signtext_info(npos.param2)] + break + end + end + for x = 1, #mcl_signs.registered_signs.standing_signs do + if npos_name == mcl_signs.registered_signs.standing_signs[x] then + sign_info = mcl_signs.signtext_info_standing[get_rotation_level(npos.param2, npos_name) + 1] + break + end + end + -- for future inclusion, when the hanging sings are made. + --[[ + for x = 1, #mcl_signs.registered_signs.hanging_signs do + if nn == mcl_signs.registered_signs.hanging_signs[x] then + sign_info = mcl_signs.signtext_info_wall[mcl_signs:get_wall_signtext_info(n.param2)] + break + end + end + ]] + + -- the following if..elseif..end block is here for compatibility with the old code. TODO: remove this block after the new api is complete. + if npos_name == "mcl_signs:standing_sign_dark" or npos_name == "mcl_signs:standing_sign22_5_dark" or npos_name == "mcl_signs:standing_sign45_dark" or npos_name == "mcl_signs:standing_sign67_5_dark" then + sign_info = mcl_signs.signtext_info_standing[get_rotation_level(npos.param2, npos_name) + 1] + elseif npos_name == "mcl_signs:wall_sign_dark" then + sign_info = mcl_signs.signtext_info_wall[mcl_signs:get_wall_signtext_info(npos.param2)] end if sign_info == nil then - if DEBUG then - minetest.log("error", "[mcl_signs::update] Missing sign_info!") - end + minetest.log("error", "[mcl_signs] Update_Signs: Missing sign_info!") return false end @@ -978,16 +1379,36 @@ function mcl_signs:update_sign(pos, fields, sender, force_remove, text_color) end if not text_entity then + if DEBUG then + minetest.log("action", "[mcl_signs] Update_Sign: Text_Entity - does not exist, creating it now.") + end text_entity = minetest.add_entity({ x = pos.x + sign_info.delta.x, y = pos.y + sign_info.delta.y, z = pos.z + sign_info.delta.z }, "mcl_signs:text") + + if DEBUG then + minetest.log("action", "[mcl_signs] Update_Sign: Placed position:" .. dump(pos) .. "\nSign_info: " .. dump(sign_info)) + end + end + text_entity:get_luaentity()._signnodename = npos_name + + -- set up special case: Dark Oak Sign. Dark Oak signs are soooo dark, they start off with white lettering. + if npos_name == "mcl_signs:wall_sign_darkwood" or + npos_name == "mcl_signs:standing_sign67_5_darkwood" or + npos_name == "mcl_signs:standing_sign45_darkwood" or + npos_name == "mcl_signs:standing_sign22_5_darkwood" or + npos_name == "mcl_signs:standing_sign_darkwood" + then + if text_color == "#000000" then + text_color = "#ffffff" + end end - text_entity:get_luaentity()._signnodename = nn -- Set the actual properties for the sign + text_entity:set_properties({ - textures = { mcl_signs:create_lettering(text, nn, text_color) }, + textures = { mcl_signs:create_lettering(text, npos_name, text_color) }, }) if has_glow then @@ -997,12 +1418,16 @@ function mcl_signs:update_sign(pos, fields, sender, force_remove, text_color) end text_entity:set_yaw(sign_info.yaw) + if DEBUG then + minetest.log("verbose", "[mcl_signs] Update_Sign: After texture recreation.") + minetest.log("action","[mcl_signs] Update_Sign: " .. npos_name .. "\nPlaced position:" .. dump(pos) .. "\nSign_info: " .. dump(sign_info)) + end -- save sign metadata. meta:set_string("mcl_signs:text_color", text_color) -- debug step if DEBUG then - minetest.log("Post-Sign Update: " .. meta:get_string("mcl_signs:text_color") .. " " .. meta:get_string("mcl_signs:glowing_sign") .. ".\n" .. dump(pos)) + minetest.log("action", "[mcl_signs] Update_Sign: Post-Sign Update: " .. meta:get_string("mcl_signs:text_color") .. " " .. meta:get_string("mcl_signs:glowing_sign") .. ".\n" .. dump(pos)) end return true @@ -1016,524 +1441,3 @@ function mcl_signs:show_formspec(player, pos) "size[6,3]textarea[0.25,0.25;6,1.5;text;" .. F(S("Enter sign text:")) .. ";]label[0,1.5;" .. F(S("Maximum line length: 15")) .. "\n" .. F(S("Maximum lines: 4")) .. "]button_exit[0,2.5;6,1;submit;" .. F(S("Done")) .. "]" ) end - -function mcl_signs:generate_signs() - local node_sounds - if minetest.get_modpath("mcl_sounds") then - node_sounds = mcl_sounds.node_sound_wood_defaults() - end - - -- wall signs' & hanging signs' base - mcl_signs.wall_standard = { - description = S("Sign"), - _tt_help = S("Can be written"), - _doc_items_longdesc = S("Signs can be written and come in two variants: Wall sign and sign on a sign post. Signs can be placed on the top and the sides of other blocks, but not below them."), - _doc_items_usagehelp = S("After placing the sign, you can write something on it. You have 4 lines of text with up to 15 characters for each line; anything beyond these limits is lost. Not all characters are supported. The text can not be changed once it has been written; you have to break and place the sign again. Can be colored and made to glow."), - inventory_image = "default_sign.png", - walkable = false, - is_ground_content = false, - wield_image = "default_sign.png", - node_placement_prediction = "", - paramtype = "light", - sunlight_propagates = true, - paramtype2 = "wallmounted", - drawtype = "mesh", - mesh = "mcl_signs_signonwallmount.obj", - selection_box = { type = "wallmounted", wall_side = { -0.5, -7 / 28, -0.5, -23 / 56, 7 / 28, 0.5 } }, - tiles = { "mcl_signs_sign.png" }, - use_texture_alpha = minetest.features.use_texture_alpha_string_modes and "opaque" or false, - groups = mcl_signs.sign_groups, - stack_max = 16, - sounds = node_sounds, - - on_place = function(itemstack, placer, pointed_thing) - local above = pointed_thing.above - local under = pointed_thing.under - - -- Use pointed node's on_rightclick function first, if present - local node_under = minetest.get_node(under) - if placer and not placer:get_player_control().sneak then - if minetest.registered_nodes[node_under.name] and minetest.registered_nodes[node_under.name].on_rightclick then - return minetest.registered_nodes[node_under.name].on_rightclick(under, node_under, placer, itemstack) or itemstack - end - end - - local dir = vector.subtract(under, above) - - -- Only build when it's legal - local abovenodedef = minetest.registered_nodes[minetest.get_node(above).name] - if not abovenodedef or abovenodedef.buildable_to == false then - return itemstack - end - - local wdir = minetest.dir_to_wallmounted(dir) - - --local placer_pos = placer:get_pos() - - local fdir = minetest.dir_to_facedir(dir) - - local sign_info - local nodeitem = ItemStack(itemstack) - -- Ceiling - if wdir == 0 then - --how would you add sign to ceiling? - return itemstack - -- Floor - end - - if wdir == 1 then - -- Standing sign - - -- Determine the sign rotation based on player's yaw - local yaw = pi * 2 - placer:get_look_horizontal() - - -- Select one of 16 possible rotations (0-15) - local rotation_level = mcl_signs:round((yaw / (pi * 2)) * 16) - - if rotation_level > 15 then - rotation_level = 0 - elseif rotation_level < 0 then - rotation_level = 15 - end - - -- The actual rotation is a combination of predefined mesh and facedir (see node definition) - if rotation_level % 4 == 0 then - nodeitem:set_name("mcl_signs:standing_sign") - elseif rotation_level % 4 == 1 then - nodeitem:set_name("mcl_signs:standing_sign22_5") - elseif rotation_level % 4 == 2 then - nodeitem:set_name("mcl_signs:standing_sign45") - elseif rotation_level % 4 == 3 then - nodeitem:set_name("mcl_signs:standing_sign67_5") - end - fdir = math.floor(rotation_level / 4) - - -- Place the node! - local _, success = minetest.item_place_node(nodeitem, placer, pointed_thing, fdir) - if not success then - return itemstack - end - if not minetest.is_creative_enabled(placer:get_player_name()) then - itemstack:take_item() - end - sign_info = mcl_signs.signtext_info_standing[rotation_level + 1] - -- Side - else - -- Wall sign - local _, success = minetest.item_place_node(itemstack, placer, pointed_thing, wdir) - if not success then - return itemstack - end - sign_info = mcl_signs.signtext_info_wall[fdir + 1] - end - - -- Determine spawn position of entity - local place_pos - if minetest.registered_nodes[node_under.name].buildable_to then - place_pos = under - else - place_pos = above - end - - local text_entity = minetest.add_entity({ - x = place_pos.x + sign_info.delta.x, - y = place_pos.y + sign_info.delta.y, - z = place_pos.z + sign_info.delta.z }, "mcl_signs:text") - text_entity:set_yaw(sign_info.yaw) - text_entity:get_luaentity()._signnodename = nodeitem:get_name() - - minetest.sound_play({ name = "default_place_node_hard", gain = 1.0 }, { pos = place_pos }, true) - - mcl_signs:show_formspec(placer, place_pos) - return itemstack - end, - on_destruct = function(pos) - mcl_signs:destruct_sign(pos) - end, - - -- Not Useless Code. If a sign is created without text, this shows the formspec again for textual entry. - on_punch = function(pos, node, puncher) - mcl_signs:update_sign(pos) - end, - on_rotate = function(pos, node, user, mode) - if mode == screwdriver.ROTATE_FACE then - local r = screwdriver.rotate.wallmounted(pos, node, mode) - node.param2 = r - minetest.swap_node(pos, node) - mcl_signs:update_sign(pos, nil, nil, true) - return true - else - return false - end - end, - on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) - if DEBUG then - minetest.log("verbose", "MCL_SIGNS::Wall_Sign Right Click event.") - end - - -- make sure player is clicking - if not clicker or not clicker:is_player() then - return - end - - local item = clicker:get_wielded_item() - local iname = item:get_name() - - if node then - if DEBUG then - minetest.log("verbose", "MCL_SIGNS::Wall_Sign Right Click event on valid node.") - end - - -- handle glow from glow_ink_sac *first* - if (iname == "mcl_mobitems:glow_ink_sac") then - clicker:set_wielded_item(item) - local success = mcl_signs:glow_sign(pos) - if success then - if DEBUG then - minetest.log("verbose", "Sign Glow Success.") - end - itemstack:take_item() - end - return - end - - -- "mcl_dye:black" is a special case: it makes the sign's lettering black AND removes glow. - if (iname == "mcl_dye:black") then - clicker:set_wielded_item(item) - local success = mcl_signs:glow_sign(pos, true) - mcl_signs:color_sign(pos, mcl_colors.BLACK) - if success then - if DEBUG then - minetest.log("verbose", "Sign Glow removal Success.") - end - - itemstack:take_item() - end - return - end - - -- check the wielded item to make sure that it is a dye. - local txt_color = mcl_signs:get_color_for_sign(iname) - if txt_color ~= "false" then - clicker:set_wielded_item(item) - local success = mcl_signs:color_sign(pos, txt_color) - if success then - if DEBUG then - minetest.log("verbose", "Sign Color Success.") - end - itemstack:take_item() - end - end - end - end, - - _mcl_hardness = 1, - _mcl_blast_resistance = 1, - } - if DEBUG then - minetest.log(dump(mcl_signs.wall_standard)) - end - - -- Standing sign nodes. - -- 4 rotations at 0°, 22.5°, 45° and 67.5°. - -- These are 4 out of 16 possible rotations. - -- With facedir the remaining 12 rotations are constructed. - - -- standing sign base. - mcl_signs.standing_standard = { - paramtype = "light", - use_texture_alpha = minetest.features.use_texture_alpha_string_modes and "opaque" or false, - sunlight_propagates = true, - walkable = false, - is_ground_content = false, - paramtype2 = "facedir", - drawtype = "mesh", - mesh = "mcl_signs_sign.obj", - selection_box = { type = "fixed", fixed = { -0.2, -0.5, -0.2, 0.2, 0.5, 0.2 } }, - tiles = { "mcl_signs_sign.png" }, - groups = mcl_signs.sign_groups, - drop = "mcl_signs:wall_sign", - stack_max = 16, - sounds = node_sounds, - - on_destruct = function(pos) - mcl_signs:destruct_sign(pos) - end, - - -- Not Useless Code. If a sign is created without text, this shows the formspec again for textual entry. - on_punch = function(pos, node, puncher) - mcl_signs:update_sign(pos) - end, - on_rotate = function(pos, node, user, mode) - if mode == screwdriver.ROTATE_FACE then - node.name = "mcl_signs:standing_sign22_5" - minetest.swap_node(pos, node) - elseif mode == screwdriver.ROTATE_AXIS then - return false - end - mcl_signs:update_sign(pos, nil, nil, true) - return true - end, - - on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) - - if DEBUG then - minetest.log("verbose", "MCL_SIGNS::Standing_Sign Right Click event.") - end - - -- make sure player is clicking - if not clicker or not clicker:is_player() then - return - end - - local item = clicker:get_wielded_item() - local iname = item:get_name() - - if node then - -- handle glow from glow_ink_sac *first* - if DEBUG then - minetest.log("verbose", "MCL_SIGNS::Standing_Sign Right Click event on valid node.") - end - - if (iname == "mcl_mobitems:glow_ink_sac") then - clicker:set_wielded_item(item) - local success = mcl_signs:glow_sign(pos) - if success then - if DEBUG then - minetest.log("verbose", "Sign Glow Success.") - end - itemstack:take_item() - end - return - end - - -- check the wielded item to make sure that it is a dye. - local txt_color = mcl_signs:get_color_for_sign(iname) - if txt_color ~= "false" then - clicker:set_wielded_item(item) - local success = mcl_signs:color_sign(pos, txt_color) - if success then - if DEBUG then - minetest.log("verbose", "Sign Color Success.") - end - itemstack:take_item() - end - end - end - end, - - _mcl_hardness = 1, - _mcl_blast_resistance = 1, - } - - minetest.register_node("mcl_signs:wall_sign", mcl_signs.wall_standard) - -- 0° - minetest.register_node("mcl_signs:standing_sign", mcl_signs.standing_standard) - -- 22.5° - local ssign22_5 = table.copy(mcl_signs.standing_standard) - ssign22_5.mesh = "mcl_signs_sign22.5.obj" - ssign22_5.on_rotate = function(pos, node, user, mode) - if mode == screwdriver.ROTATE_FACE then - node.name = "mcl_signs:standing_sign45" - minetest.swap_node(pos, node) - elseif mode == screwdriver.ROTATE_AXIS then - return false - end - mcl_signs:update_sign(pos, nil, nil, true) - return true - end - minetest.register_node("mcl_signs:standing_sign22_5", ssign22_5) - - -- 45° - local ssign45 = table.copy(mcl_signs.standing_standard) - ssign45.mesh = "mcl_signs_sign45.obj" - ssign45.on_rotate = function(pos, node, user, mode) - if mode == screwdriver.ROTATE_FACE then - node.name = "mcl_signs:standing_sign67_5" - minetest.swap_node(pos, node) - elseif mode == screwdriver.ROTATE_AXIS then - return false - end - mcl_signs:update_sign(pos, nil, nil, true) - return true - end - minetest.register_node("mcl_signs:standing_sign45", ssign45) - - -- 67.5° - local ssign67_5 = table.copy(mcl_signs.standing_standard) - ssign67_5.mesh = "mcl_signs_sign67.5.obj" - ssign67_5.on_rotate = function(pos, node, user, mode) - if mode == screwdriver.ROTATE_FACE then - node.name = "mcl_signs:standing_sign" - node.param2 = (node.param2 + 1) % 4 - minetest.swap_node(pos, node) - elseif mode == screwdriver.ROTATE_AXIS then - return false - end - mcl_signs:update_sign(pos, nil, nil, true) - return true - end - minetest.register_node("mcl_signs:standing_sign67_5", ssign67_5) - - -- standard signs, dark: - -- dark standard wall sign / hanging sign base - mcl_signs.wall_standard_dark = table.copy(mcl_signs.wall_standard) - mcl_signs.wall_standard_dark.wield_image = "default_sign_dark.png" - mcl_signs.wall_standard_dark.tiles = { "mcl_signs_sign_dark.png" } - mcl_signs.wall_standard_dark.inventory_image = "default_sign_dark.png" - mcl_signs.wall_standard_dark.on_place = function(itemstack, placer, pointed_thing) - local above = pointed_thing.above - local under = pointed_thing.under - - -- Use pointed node's on_rightclick function first, if present - local node_under = minetest.get_node(under) - if placer and not placer:get_player_control().sneak then - if minetest.registered_nodes[node_under.name] and minetest.registered_nodes[node_under.name].on_rightclick then - return minetest.registered_nodes[node_under.name].on_rightclick(under, node_under, placer, itemstack) or itemstack - end - end - - local dir = vector.subtract(under, above) - - -- Only build when it's legal - local abovenodedef = minetest.registered_nodes[minetest.get_node(above).name] - if not abovenodedef or abovenodedef.buildable_to == false then - return itemstack - end - - local wdir = minetest.dir_to_wallmounted(dir) - local fdir = minetest.dir_to_facedir(dir) - - local sign_info - local nodeitem = ItemStack(itemstack) - -- Ceiling - if wdir == 0 then - --how would you add sign to ceiling? - return itemstack - -- Floor - elseif wdir == 1 then - -- Standing sign - - -- Determine the sign rotation based on player's yaw - local yaw = pi * 2 - placer:get_look_horizontal() - - -- Select one of 16 possible rotations (0-15) - local rotation_level = mcl_signs:round((yaw / (pi * 2)) * 16) - - if rotation_level > 15 then - rotation_level = 0 - elseif rotation_level < 0 then - rotation_level = 15 - end - - -- The actual rotation is a combination of predefined mesh and facedir (see node definition) - if rotation_level % 4 == 0 then - nodeitem:set_name("mcl_signs:standing_sign_dark") - elseif rotation_level % 4 == 1 then - nodeitem:set_name("mcl_signs:standing_sign22_5_dark") - elseif rotation_level % 4 == 2 then - nodeitem:set_name("mcl_signs:standing_sign45_dark") - elseif rotation_level % 4 == 3 then - nodeitem:set_name("mcl_signs:standing_sign67_5_dark") - end - fdir = math.floor(rotation_level / 4) - - -- Place the node! - local _, success = minetest.item_place_node(nodeitem, placer, pointed_thing, fdir) - if not success then - return itemstack - end - if not minetest.is_creative_enabled(placer:get_player_name()) then - itemstack:take_item() - end - sign_info = mcl_signs.signtext_info_standing[rotation_level + 1] - -- Side - else - -- Wall sign - local _, success = minetest.item_place_node(itemstack, placer, pointed_thing, wdir) - if not success then - return itemstack - end - sign_info = mcl_signs.signtext_info_wall[fdir + 1] - end - - -- Determine spawn position of entity - local place_pos - if minetest.registered_nodes[node_under.name].buildable_to then - place_pos = under - else - place_pos = above - end - - local text_entity = minetest.add_entity({ - x = place_pos.x + sign_info.delta.x, - y = place_pos.y + sign_info.delta.y, - z = place_pos.z + sign_info.delta.z }, "mcl_signs:text") - text_entity:set_yaw(sign_info.yaw) - text_entity:get_luaentity()._signnodename = nodeitem:get_name() - - minetest.sound_play({ name = "default_place_node_hard", gain = 1.0 }, { pos = place_pos }, true) - - mcl_signs:show_formspec(placer, place_pos) - return itemstack - end - minetest.register_node("mcl_signs:wall_sign_dark", mcl_signs.wall_standard_dark) - - -- 0° - -- dark standing sign - mcl_signs.standing_standard_dark = table.copy(mcl_signs.standing_standard) - mcl_signs.standing_standard_dark.wield_image = "default_sign_dark.png" - mcl_signs.standing_standard_dark.tiles = { "mcl_signs_sign_dark.png" } - mcl_signs.standing_standard_dark.inventory_image = "default_sign_dark.png" - mcl_signs.standing_standard_dark.drop = "mcl_signs:wall_sign_dark" - minetest.register_node("mcl_signs:standing_sign_dark", mcl_signs.standing_standard_dark) - - -- 22.5° - local ssign22_5d = table.copy(mcl_signs.standing_standard_dark) - ssign22_5d.mesh = "mcl_signs_sign22.5.obj" - ssign22_5d.on_rotate = function(pos, node, user, mode) - if mode == screwdriver.ROTATE_FACE then - node.name = "mcl_signs:standing_sign45" - minetest.swap_node(pos, node) - elseif mode == screwdriver.ROTATE_AXIS then - return false - end - mcl_signs:update_sign(pos, nil, nil, true) - return true - end - minetest.register_node("mcl_signs:standing_sign22_5_dark", ssign22_5d) - - -- 45° - local ssign45d = table.copy(mcl_signs.standing_standard_dark) - ssign45d.mesh = "mcl_signs_sign45.obj" - ssign45d.on_rotate = function(pos, node, user, mode) - if mode == screwdriver.ROTATE_FACE then - node.name = "mcl_signs:standing_sign67_5" - minetest.swap_node(pos, node) - elseif mode == screwdriver.ROTATE_AXIS then - return false - end - mcl_signs:update_sign(pos, nil, nil, true) - return true - end - minetest.register_node("mcl_signs:standing_sign45_dark", ssign45d) - - -- 67.5° - local ssign67_5d = table.copy(mcl_signs.standing_standard_dark) - ssign67_5d.mesh = "mcl_signs_sign67.5.obj" - ssign67_5d.on_rotate = function(pos, node, user, mode) - if mode == screwdriver.ROTATE_FACE then - node.name = "mcl_signs:standing_sign" - node.param2 = (node.param2 + 1) % 4 - minetest.swap_node(pos, node) - elseif mode == screwdriver.ROTATE_AXIS then - return false - end - mcl_signs:update_sign(pos, nil, nil, true) - return true - end - minetest.register_node("mcl_signs:standing_sign67_5_dark", ssign67_5d) - - -end - From 7095876af1ba2dbe8fdf0473b430e3321cce4305 Mon Sep 17 00:00:00 2001 From: Michieal Date: Fri, 21 Oct 2022 22:55:26 -0400 Subject: [PATCH 09/65] Forgot to add in the greysacle images. --- .../textures/default_sign_greyscale.png | Bin 0 -> 717 bytes .../textures/mcl_signs_sign_greyscale.png | Bin 0 -> 1309 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 mods/ITEMS/mcl_signs/textures/default_sign_greyscale.png create mode 100644 mods/ITEMS/mcl_signs/textures/mcl_signs_sign_greyscale.png diff --git a/mods/ITEMS/mcl_signs/textures/default_sign_greyscale.png b/mods/ITEMS/mcl_signs/textures/default_sign_greyscale.png new file mode 100644 index 0000000000000000000000000000000000000000..2809447aa851e062d15eb42ccb2816fb22f49a46 GIT binary patch literal 717 zcmV;;0y6!HP)gO zl<<+T-;e_eUn@P?;1|W&27f3vV$nIUtDfHMA5Q*ZEoT&j$Ao=_d|CTFkGhE`U0hs{ zIw*4plPDpAcu7)bjXWg+Qj3yVYu|X?H_y6wH2LdPFvO81Ctkm(W$Buhnh`xMU!ID} z{ePZjW^$s@-4le)XUlpY0p~8%s+RSAY+1Dva6G|fvFTrzoTfiTuQoN`A@pp)`BhU( z?!m=23_R)yBT<(eGVPfRyq!UJ9Qtm-wbIDycb(G*h;7Of-N60DK@N010qNS#tmY3labT3lag+-G2N4009L_L_t(I%e7Ozs)aBNj#9**K|%2a6m<8M zd@SF_$-%|l(M>@?5k)wcvKd>hK+T=@{0(=PrhpMVxj^k*=zVFgT&ay1& zpXW(@S(b*06UT87(KHPa>ShkMEDL>gU2D9+;kqsu#}TqDlfiI~G0(HK!!U$x+w=gQ z=SisumWxtpkq{6BftHyQ3AIiJO1+y`Z7sks4CGAHL}hRZEFH6BiHN@MAxRRwgfvZo z|F|iRV^YDTsS2Vf(r(FQ=kLk;zW*p+T}ypX6vb_m*XNP)gO zl<<+T-;e_eUn@P?;1|W&27f3vV$nIUtDfHMA5Q*ZEoT&j$Ao=_d|CTFkGhE`U0hs{ zIw*4plPDpAcu7)bjXWg+Qj3yVYu|X?H_y6wH2LdPFvO81Ctkm(W$Buhnh`xMU!ID} z{ePZjW^$s@-4le)XUlpY0p~8%s+RSAY+1Dva6G|fvFTrzoTfiTuQoN`A@pp)`BhU( z?!m=23_R)yBT<(eGVPfRyq!UJ9Qtm-wbIDycb(G*h;7Of-N60DK@N010qNS#tmY3labT3lag+-G2N400UJ?L_t(&-tAbs?-B0s zCzDBQx7%4xluoB#euLkO!jeB23}U#CMk6Z-CFEx0CaCm$K0hzrhIEEPmNf2v$~UD1 zBj0Yf9hp+8)XVS9X7k3A&1N0fACE_CI-NeB>-D-LpEPv4-TKzkXf*E7^T>dhaRxxZ zWHPZ@t=5|XPNdrq`E|1ReYsp(wOTC{Jvv!|9YA5-ZucePm&?U7Bb>5>#xE9&w@p7H z_7ZVjI=j^nH9KfL9AWGLZn9i1|NEHu`}uae+3(itwJ*VxBl)?>QmN#+UI#NBQI21J zM+acT`F!3p-N=K2g*9$ztMVgah-faCvx}RX9!Ax#9#aU!QIU~;+$cApDpa58aoLh2 zUU`wIM_uQpr&uf+=?RyTL}X=}!zsLw1-K-ZIaAOeHTw8A zpU>Y4n@n>~hq#ahxO95hS={P{V+P1xD+d<}Rh@um-F%=%0};ba;WXgLs!cu82~Oj# zss}TL*C6G44$zU?x1i)Ute6ZkAJ+h$qI$jF{d786hr{9dVK$q^OawNY%{#gUG6eSr z3}V(7lU)N~d?u6mSRe)+7|;8+Qvwmg10v7pGm<8m04K5y!U^9_aSk`!EPuNlc)SRa zha*&neyszDRcw~nW%`;rK|1rR9Uw7_JDl+eh8g)t)BuTDJcj`T6xAqDTw)fJA0uZH zK^h)LNBJ=a=n5bVFv$Sb@JQ4EiP^Abfv8Yihgqh+dc+L^fhe>;+W}!?md4{BpvZIq zZdzg%?;oebJ7)rQHehzhXmfJpB#HIpl}@Jf(RsiFS(QrV`F=be|Hv64Au%i47iR++ zEsfxBr_@(Fiu#?7R0lEW3F}Pa+X39Ttlo5l>8a3k-H$^+hgsaCfZt#GrO)XPz0q Date: Thu, 13 Oct 2022 23:01:48 +0200 Subject: [PATCH 10/65] Fix possible crash in v6 / singlenode mapgen --- mods/MAPGEN/mcl_mapgen_core/init.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/mods/MAPGEN/mcl_mapgen_core/init.lua b/mods/MAPGEN/mcl_mapgen_core/init.lua index baa3151de..37d885798 100644 --- a/mods/MAPGEN/mcl_mapgen_core/init.lua +++ b/mods/MAPGEN/mcl_mapgen_core/init.lua @@ -251,6 +251,7 @@ end local function set_palette(minp,maxp,data2,area,biomemap,nodes) -- Flat area at y=0 to read biome 3 times faster than 5.3.0.get_biome_data(pos).biome: 43us vs 125us per iteration: + if not biomemap then return end local aream = VoxelArea:new({MinEdge={x=minp.x, y=0, z=minp.z}, MaxEdge={x=maxp.x, y=0, z=maxp.z}}) local nodes = minetest.find_nodes_in_area(minp, maxp, nodes) for n=1, #nodes do From a8a55f9d6e3d8568a1dfae1b2987a2ffcedc6afd Mon Sep 17 00:00:00 2001 From: cora Date: Thu, 13 Oct 2022 23:08:05 +0200 Subject: [PATCH 11/65] don't run block fixes at all in singlenode --- mods/MAPGEN/mcl_mapgen_core/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/MAPGEN/mcl_mapgen_core/init.lua b/mods/MAPGEN/mcl_mapgen_core/init.lua index 37d885798..3cd355b14 100644 --- a/mods/MAPGEN/mcl_mapgen_core/init.lua +++ b/mods/MAPGEN/mcl_mapgen_core/init.lua @@ -354,7 +354,7 @@ mcl_mapgen_core.register_generator("end_fixes", end_basic, function(minp,maxp) if maxp.y < mcl_vars.mg_end_min or minp.y > mcl_vars.mg_end_max then return end end, 9999, true) -if mg_name ~= "v6" then +if mg_name ~= "v6" and mg_name ~= "singlenode" then mcl_mapgen_core.register_generator("block_fixes", block_fixes, nil, 9999, true) end From e1b685429d947bb676ffe1a27d5d99febf809ecd Mon Sep 17 00:00:00 2001 From: ancientmarinerdev Date: Sun, 23 Oct 2022 01:12:19 +0100 Subject: [PATCH 12/65] Texture now changes when villager loses job. --- mods/ENTITIES/mcl_mobs/api.lua | 19 +++++++++- mods/ENTITIES/mobs_mc/villager.lua | 59 ++++++++++++++++++++---------- 2 files changed, 56 insertions(+), 22 deletions(-) diff --git a/mods/ENTITIES/mcl_mobs/api.lua b/mods/ENTITIES/mcl_mobs/api.lua index 41a23a9de..1ef8a9ab0 100644 --- a/mods/ENTITIES/mcl_mobs/api.lua +++ b/mods/ENTITIES/mcl_mobs/api.lua @@ -3128,7 +3128,10 @@ local gopath_last = os.time() function mcl_mobs:gopath(self,target,callback_arrived) if self.state == "gowp" then mcl_log("Already set as gowp, don't set another path until done.") return end - if os.time() - gopath_last < 15 then return end + if os.time() - gopath_last < 15 then + mcl_log("Not ready to path yet") + return + end gopath_last = os.time() self.order = nil @@ -3143,14 +3146,26 @@ function mcl_mobs:gopath(self,target,callback_arrived) --mcl_log("gowp. no wp. Look for door") local d = minetest.find_node_near(target,16,{"group:door"}) if d then + --mcl_log("Found a door near") for _,v in pairs(plane_adjacents) do local pos = vector.add(d,v) local n = minetest.get_node(pos) if n.name == "air" then wp = minetest.find_path(p,pos,150,1,4) - if wp then break end + if wp then + --mcl_log("Found a path to next to door".. minetest.pos_to_string(pos)) + break + + else + --mcl_log("This block next to door doesn't work.") + end + else + --mcl_log("Block is not air, it is: ".. n.name) end + end + else + mcl_log("No door found") end end if wp and #wp > 0 then diff --git a/mods/ENTITIES/mobs_mc/villager.lua b/mods/ENTITIES/mobs_mc/villager.lua index bd5173d23..885792995 100644 --- a/mods/ENTITIES/mobs_mc/villager.lua +++ b/mods/ENTITIES/mobs_mc/villager.lua @@ -550,6 +550,11 @@ end local function get_badge_textures(self) local t = professions[self._profession].texture + if self._profession == "unemployed" then + t = professions[self._profession].textures -- ideally both scenarios should be textures with a list containing 1 or multiple + --mcl_log("t: " .. tostring(t)) + end + if self._profession == "unemployed" or self._profession == "nitwit" then return t end local tier = self._max_trade_tier or 1 return { @@ -670,8 +675,8 @@ local function take_bed (entity) for _,n in pairs(nn) do local m=minetest.get_meta(n) - mcl_log("Bed owner: ".. m:get_string("villager")) - if m:get_string("villager") == "" and not entity.state == "gowp" then + --mcl_log("Bed owner: ".. m:get_string("villager")) + if m:get_string("villager") == "" and not (entity.state == "gowp") then mcl_log("Can we path to bed: "..minetest.pos_to_string(n) ) local gp = mcl_mobs:gopath(entity,n,function(self) if self then @@ -690,7 +695,7 @@ local function take_bed (entity) mcl_log("Awww. I can't find my bed.") end else - mcl_log("Currently gowp, or it's taken.") + mcl_log("Currently gowp, or it's taken: ".. m:get_string("villager")) end end end @@ -742,6 +747,12 @@ end local function has_traded (self) --mcl_log("Checking name: " .. self._trades) + + if not self._trades then + mcl_log("No trades set. has_traded is false") + return false + end + local cur_trades_tab = minetest.deserialize(self._trades) if cur_trades_tab and type(cur_trades_tab) == "table" then @@ -765,7 +776,7 @@ end local function unlock_trades (self) if self then - mcl_log("We should now try to unlock trades") + --mcl_log("We should now try to unlock trades") else mcl_log("Missing self") end @@ -784,15 +795,14 @@ local function employ(self,jobsite_pos) local p = get_profession_by_jobsite(n.name) if p and m:get_string("villager") == "" then mcl_log("Taking this jobsite") - + m:set_string("villager",self._id) self._jobsite = jobsite_pos - if not self.traded then + if not has_traded(self) then self._profession=p set_textures(self) end - return true else mcl_log("I can not steal someone's job!") @@ -801,15 +811,19 @@ end local function look_for_job(self, requested_jobsites) - if self.last_jobhunt and os.time() - self.last_jobhunt < 40 then return end - self.last_jobhunt = os.time() + math.random(0,30) + + --if self.last_jobhunt and os.time() - self.last_jobhunt < 15 then + -- mcl_log("Is time less than 40?" .. tostring(os.time() - self.last_jobhunt)) + -- return + --end + --self.last_jobhunt = os.time() + math.random(0,30) mcl_log("Looking for jobs") local looking_for_type = jobsites if requested_jobsites then - mcl_log("Looking for jobs of my type") - local looking_for_type = requested_jobsites + mcl_log("Looking for jobs of my type: " .. tostring(requested_jobsites)) + looking_for_type = requested_jobsites else mcl_log("Looking for any job type") end @@ -839,7 +853,7 @@ local function look_for_job(self, requested_jobsites) end return n else - mcl_log("We could not path to block") + mcl_log("We could not path to block or it's not ready to path yet.") end end end @@ -899,16 +913,21 @@ local function retrieve_my_jobsite (self) end local function validate_jobsite(self) + if self._profession == "unemployed" then return false end + if not retrieve_my_jobsite (self) then - if not self._traded then + self._jobsite = nil + if self.order == WORK then + self.order = nil + end + + if not has_traded(self) then mcl_log("Cannot retrieve my jobsite. I am now unemployed.") - self._jobsite = nil self._profession = "unemployed" self._trades = nil set_textures(self) - if self.order == WORK then - self.order = nil - end + else + mcl_log("Cannot retrieve my jobsite but I've traded so only remove jobsite.") end return false else @@ -931,12 +950,12 @@ local function do_work (self) if self and jobsite2 and self._jobsite then - mcl_log("Villager: ".. minetest.pos_to_string(self.object:get_pos()) .. ", jobsite: " .. minetest.pos_to_string(self._jobsite)) + --mcl_log("Villager: ".. minetest.pos_to_string(self.object:get_pos()) .. ", jobsite: " .. minetest.pos_to_string(self._jobsite)) if vector.distance(self.object:get_pos(),self._jobsite) < 2 then mcl_log("Made it to work ok!") if not (self.state == "gowp") then - mcl_log("Setting order to work.") + --mcl_log("Setting order to work.") self.order = WORK else mcl_log("Not gowp. What is it: " .. self.state) @@ -1728,7 +1747,7 @@ mcl_mobs:register_mob("mobs_mc:villager", { go_home(self, false) return elseif mcl_beds.is_night() or (weather_mod and mcl_weather.get_weather() == "thunder") then - mcl_log("It's night or thunderstorm. Better get to bed ") + mcl_log("It's night or thunderstorm. Better get to bed. Weather is: " .. mcl_weather.get_weather()) go_home(self, true) return end From ccf7b5448120cd3722e056a13b94b23f232f658c Mon Sep 17 00:00:00 2001 From: ancientmarinerdev Date: Sun, 23 Oct 2022 01:17:51 +0100 Subject: [PATCH 13/65] Fix work times --- mods/ENTITIES/mobs_mc/villager.lua | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/mods/ENTITIES/mobs_mc/villager.lua b/mods/ENTITIES/mobs_mc/villager.lua index 885792995..87650e128 100644 --- a/mods/ENTITIES/mobs_mc/villager.lua +++ b/mods/ENTITIES/mobs_mc/villager.lua @@ -575,15 +575,11 @@ function get_activity(tod) end tod = ( tod * 24000 ) % 24000 - local lunch_start = 12000 - local lunch_end = 13000 - local work_start = 6500 - local work_end = 18000 - --local lunch_start = 12000 - --local lunch_end = 13300 - --local work_start = 8300 - --local work_end = 16300 + local lunch_start = 12000 + local lunch_end = 13500 + local work_start = 8500 + local work_end = 16300 local activity = nil @@ -614,8 +610,7 @@ local function go_home(entity, sleep) mcl_log("Cannot find bed. Unset it") return end - - + if vector.distance(entity.object:get_pos(),b) < 2 then if sleep then entity.order = SLEEP @@ -795,7 +790,7 @@ local function employ(self,jobsite_pos) local p = get_profession_by_jobsite(n.name) if p and m:get_string("villager") == "" then mcl_log("Taking this jobsite") - + m:set_string("villager",self._id) self._jobsite = jobsite_pos @@ -992,7 +987,6 @@ local function do_work (self) end end elseif self._profession == "unemployed" then - --self.order == JOB_HUNTING get_a_job(self) elseif has_traded(self) then mcl_log("My job site is invalid or gone. I cannot work.") From d4b9918ed42f0888ee17dc351606742e8fd6ca06 Mon Sep 17 00:00:00 2001 From: Michieal Date: Sun, 23 Oct 2022 03:20:34 -0400 Subject: [PATCH 14/65] Added in Documentation, changed the inventory image to be more minecraft-like (hand made), changed some licensing, and tracked down an out of place debug log line. --- mods/ITEMS/mcl_signs/README.txt | 7 +- mods/ITEMS/mcl_signs/SIGNS_API_DOC.txt | 122 +++++ mods/ITEMS/mcl_signs/init.lua | 14 +- mods/ITEMS/mcl_signs/signs_api.lua | 515 ++++++++++++++++-- .../ITEMS/mcl_signs/textures/default_sign.png | Bin 243 -> 5305 bytes .../mcl_signs/textures/default_sign_dark.png | Bin 746 -> 5459 bytes .../textures/default_sign_greyscale.png | Bin 717 -> 5286 bytes 7 files changed, 608 insertions(+), 50 deletions(-) create mode 100644 mods/ITEMS/mcl_signs/SIGNS_API_DOC.txt diff --git a/mods/ITEMS/mcl_signs/README.txt b/mods/ITEMS/mcl_signs/README.txt index a5887f2a2..5ef65481c 100644 --- a/mods/ITEMS/mcl_signs/README.txt +++ b/mods/ITEMS/mcl_signs/README.txt @@ -23,7 +23,12 @@ License of code and font: MIT License Font source: 04.jp.org, some modifications and additions were made (added support for Latin-1 Supplement) Original font license text states: “YOU MAY USE THEM AS YOU LIKE” (in about.gif file distributed with the font) -License of textures: See README.md in top directory of MineClone 2. +License of textures: See README.md in top directory of MineClone 2, with the exception of the following: +default_sign.png, default_sign_dark.png, default_sign_greyscale.png, mcl_signs_sign_dark.png, +mcl_signs_sign_greyscale.png are licensed as follows: +Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) (https://creativecommons.org/licenses/by-sa/4.0/). +Credit Michieal (Faerraven). The extra sign textures are provided for you to use, modify, etc., with the goal being to +make the game better. (All of these textures were changed / created by me, to make them usable / better.) License of models: GPLv3 (https://www.gnu.org/licenses/gpl-3.0.html) diff --git a/mods/ITEMS/mcl_signs/SIGNS_API_DOC.txt b/mods/ITEMS/mcl_signs/SIGNS_API_DOC.txt new file mode 100644 index 000000000..e98741137 --- /dev/null +++ b/mods/ITEMS/mcl_signs/SIGNS_API_DOC.txt @@ -0,0 +1,122 @@ +--- +--- Generated by EmmyLua. +--- Created by Michieal (FaerRaven). +--- DateTime: 10/22/22 3:44 PM +--- + +SIGNS API + +--- How to Use: + +The simplest way to create a new sign is to use mcl_signs.register_sign [mcl_signs.register_sign (modname, color, _name, +ttsign)]. It's an all-in-one sign creator. It makes use of the standard textures for the signs, and colors them based on +the color code that you give it, and names it "mcl_signs:wall_sign" + _name. So, using the spruce sign to illustrate, it +would be named "mcl_signs:wall_sign_sprucewood", as we made _name equal to "_sprucewood" after the name of the +registered wood. + +To create a sign with specific textures: use the mcl_signs.register_sign_custom [mcl_signs.register_sign_custom +(modname, _name, tiles, color, inventory_image, wield_image, ttsign)]. Like the register_sign() function, this is also an +all-in-one sign creation function. With this function you can designate what textures to use, and give them a specified +color. This function follows the same naming conventions. + +If you wish to override / recreate one of the predefined signs, you may also do that. The reregister_sign() and +reregister_sign_custom() functions will replace an existing sign's definition with a new one. Caution, ONLY use this on +existing signs. If the sign doesn't exist, use the regular register_sign* functions. + +--- What the parameters mean, and what they do: + +* modname: optional (pass "" or "false" to ignore), for using mcl_signs with other mods to allow the creation of a sign +from the mod's wood (if installed). Use this to prevent failures of the specific mod is not installed that has the needed +information (textures, wood, etc.) Setting this is important, because it prevents items from being registered if the +mod in not installed. + +* tiles: the texture file to use for the sign's node. + +* color: color the texture file to use with this color. Use white (#FFFFFF) to negate the color, and just use the +texture as is. + +* inventory_image: the texture file to use for the sign's display in inventory. + +* wield_image: the texture file to use for the sign's weilded (in hand) object. + +* _name: the sign's name suffix, such as "_dark" or "_sprucewood", etc., appended to "wall_sign" or "standing_sign" + +* ttsign: the tool tip of the sign that gets translated. Shown when the mouse hovers the inventory sign. ttsign stands +for translated tooltip sign. + +* wood_item_string: example: "mcl_core:wood", "mcl_core:sprucewood" or "mymod:mywood". This is used when defining the +recipe for the sign. + +--- Other Functions of Importance: + +* register_dye [mcl_signs.register_dye (modname, item_name, color_code)] -- this registers a new dye that the sign knows +about so that the player can color their signs with the dye. +Parameters: + modname: your mod / module's name. make sure to use this for compatibility. + item_name: the item_string of the dye to register. + color_code: the hex code for the color to make the lettering. Also called HTML color code. Ex. "#FFFFFF" is white. + +* register_sign_craft [mcl_signs.register_sign_craft(modname, wood_item_string, _name)] -- this is what creates the +recipes for the sign, and makes the sign "burnable". Typically called right after the register_sign* functions. +Parameters: + _name: MUST be the same name as used for the sign. So, if your sign _name is "_sprucewood" then this should be too. + wood_item_string: the item_string of the wood to use for the sign's recipe. Example: "mcl_core:wood" (default oak). + modname: like with the other functions that has this parameter, used to make sure that nothing breaks. + +* make_lbm() [mcl_signs.make_lbm()] -- This innocuous function is very important. This is the function that makes the +signs work after reloading the game. This function is the last to be called in your sign creation work flow. Note, you +do not need to call this function after every definition, just at the end of the last definition. +(See Example WorkFlow below.) + +--- Example Workflow for sign creation. + +* these are, at the time of writing, a selection of the actual signs' definitions. Note the functions called, and when. + +-- ---------------------------- -- +-- Register Signs for use. -- +-- ---------------------------- -- + +-- sprucewood Sign +mcl_signs.register_sign_custom("mcl_core", "_sprucewood", + "mcl_signs_sign_dark.png","#ffffff", "default_sign_dark.png", + "default_sign_dark.png", "Spruce Sign" +) +mcl_signs.register_sign_craft("mcl_core", "mcl_core:sprucewood", "_sprucewood") + +-- darkwood Sign +mcl_signs.register_sign_custom("mcl_core", "_darkwood", + "mcl_signs_sign_greyscale.png","#856443", "default_sign_greyscale.png", + "default_sign_greyscale.png", "Dark Oak Sign" +) +mcl_signs.register_sign_craft("mcl_core", "mcl_core:darkwood", "_darkwood") + +-- acaciawood Sign +mcl_signs.register_sign("mcl_core", "#ea7479", "_acaciawood", "Acacia Sign") +mcl_signs.register_sign_craft("mcl_core", "mcl_core:acaciawood", "_acaciawood") + +-- junglewood Sign +mcl_signs.register_sign("mcl_core", "#866249", "_junglewood", "Jungle Sign") +mcl_signs.register_sign_craft("mcl_core", "mcl_core:junglewood", "_junglewood") + +-- Register the LBMs for the created signs. +mcl_signs.make_lbm() + +--- ----------------------------------------------------------------------------- + +* If you wish to use a recipe other than the standard sign recipe, you will need to define your own recipe. In doing so, +use this output line: + output = "mcl_signs:wall_sign" .. _name .. " 3", +where _name is the same string that you have used throughout your sign's workflow. That way, when players make the recipe, +they get your sign (x3). + +--- Future landmarks on the horizon for the Signs API: + +* Once the forthcoming Hanging Signs are in Minecraft, and we implement the code for them in here, hanging signs will +automatically exist as part of the signs' package. You won't have to change any of your code, it'll just be more +functional. :) + +* if you have suggestions, comments, etc., please contact me on MineClone 2's Discord server. + +And that... is all there is to it! + +-- written by Michieal. \ No newline at end of file diff --git a/mods/ITEMS/mcl_signs/init.lua b/mods/ITEMS/mcl_signs/init.lua index d07b36a65..6643b978a 100644 --- a/mods/ITEMS/mcl_signs/init.lua +++ b/mods/ITEMS/mcl_signs/init.lua @@ -1,5 +1,5 @@ --- ---- Generated by EmmyLua(https://github.com/EmmyLua) +--- Generated by EmmyLua. --- Created by Michieal (FaerRaven). --- DateTime: 10/14/22 4:05 PM --- @@ -25,6 +25,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) end end) +-- This defines the text entity for the lettering of the sign. -- FIXME: Prevent entity destruction by /clearobjects minetest.register_entity("mcl_signs:text", { pointable = false, @@ -90,19 +91,16 @@ mcl_signs.build_signs_info() -- ---------------------------- -- -- Register Signs for use. -- -- ---------------------------- -- -local mcl_colors_official = mcl_colors -- Standard (original) Sign mcl_signs.register_sign("mcl_core", "#ffffff", "", "Sign") mcl_signs.register_sign_craft("mcl_core", "mcl_core:wood", "") --- birchwood Sign ---mcl_signs.register_sign("mcl_core", "#d5cb8d", "_birchwood", "Birch Sign") +-- birchwood Sign "#d5cb8d" / "#ffdba7" mcl_signs.register_sign_custom("mcl_core", "_birchwood", - "mcl_signs_sign_greyscale.png",mcl_colors_official.YELLOW, "default_sign_greyscale.png", + "mcl_signs_sign_greyscale.png","#ffdba7", "default_sign_greyscale.png", "default_sign_greyscale.png", "Birch Sign" ) - mcl_signs.register_sign_craft("mcl_core", "mcl_core:birchwood", "_birchwood") -- sprucewood Sign @@ -112,13 +110,11 @@ mcl_signs.register_sign_custom("mcl_core", "_sprucewood", ) mcl_signs.register_sign_craft("mcl_core", "mcl_core:sprucewood", "_sprucewood") --- darkwood Sign ---mcl_signs.register_sign("mcl_core","#291f1a", "_darkwood", "Dark Oak Sign") +-- darkwood Sign "#291f1a" / "#856443" mcl_signs.register_sign_custom("mcl_core", "_darkwood", "mcl_signs_sign_greyscale.png","#856443", "default_sign_greyscale.png", "default_sign_greyscale.png", "Dark Oak Sign" ) - mcl_signs.register_sign_craft("mcl_core", "mcl_core:darkwood", "_darkwood") -- junglewood Sign diff --git a/mods/ITEMS/mcl_signs/signs_api.lua b/mods/ITEMS/mcl_signs/signs_api.lua index 0931e419f..b5643a1c2 100644 --- a/mods/ITEMS/mcl_signs/signs_api.lua +++ b/mods/ITEMS/mcl_signs/signs_api.lua @@ -1,5 +1,5 @@ --- ---- Generated by EmmyLua(https://github.com/EmmyLua) +--- Generated by EmmyLua. --- Created by Michieal (FaerRaven). --- DateTime: 10/14/22 4:05 PM --- @@ -439,6 +439,43 @@ mcl_signs.standing_standard = { _mcl_blast_resistance = 1, } +-- HELPER FUNCTIONS' VARIABLES +local sign_glow = 6 +local Dyes_table = { + { "mcl_dye:aqua", mcl_colors_official.AQUA }, + { "mcl_dye:black", mcl_colors_official.BLACK }, + { "mcl_dye:blue", mcl_colors_official.BLUE }, + { "mcl_dye:brown", mcl_colors_official.brown }, + { "mcl_dye:cyan", mcl_signs.mcl_wool_colors.unicolor_cyan }, + { "mcl_dye:green", mcl_colors_official.GREEN }, + { "mcl_dye:dark_green", mcl_colors_official.DARK_GREEN }, + { "mcl_dye:grey", mcl_colors_official.GRAY }, + { "mcl_dye:dark_grey", mcl_colors_official.DARK_GRAY }, + { "mcl_dye:lightblue", mcl_signs.mcl_wool_colors.unicolor_light_blue }, + { "mcl_dye:lime", mcl_signs.unicolor_green_or_lime }, + { "mcl_dye:magenta", mcl_colors_official.LIGHT_PURPLE }, + { "mcl_dye:orange", mcl_signs.mcl_wool_colors.unicolor_orange }, + { "mcl_dye:pink", mcl_signs.mcl_wool_colors.unicolor_light_red_pink }, + { "mcl_dye:purple", mcl_colors_official.LIGHT_PURPLE }, + { "mcl_dye:red", mcl_signs.mcl_wool_colors.unicolor_red }, + { "mcl_dye:silver", mcl_signs.mcl_wool_colors.unicolor_grey }, + { "mcl_dye:violet", mcl_colors_official.DARK_PURPLE }, + { "mcl_dye:white", mcl_colors_official.WHITE }, + { "mcl_dye:yellow", mcl_colors_official.YELLOW }, +} + +local function update_sign_registry(type, name) + if type == "wall" then + table.insert(mcl_signs.registered_signs.wall_signs, name) + end + if type == "standing" then + table.insert(mcl_signs.registered_signs.standing_signs, name) + end + if type == "hanging" then + table.insert(mcl_signs.registered_signs.hanging_signs, name) + end +end + function mcl_signs.make_lbm() local registered_sign_nodenames = {} @@ -468,49 +505,12 @@ function mcl_signs.make_lbm() end --- HELPER FUNCTIONS' VARIABLES -local sign_glow = 6 -local Dyes_table = { - { "mcl_dye:aqua", mcl_colors_official.AQUA }, - { "mcl_dye:black", mcl_colors_official.BLACK }, - { "mcl_dye:blue", mcl_colors_official.BLUE }, - { "mcl_dye:brown", mcl_colors_official.brown }, - { "mcl_dye:cyan", mcl_signs.mcl_wool_colors.unicolor_cyan }, - { "mcl_dye:green", mcl_colors_official.GREEN }, - { "mcl_dye:dark_green", mcl_colors_official.DARK_GREEN }, - { "mcl_dye:grey", mcl_colors_official.GRAY }, - { "mcl_dye:dark_grey", mcl_colors_official.DARK_GRAY }, - { "mcl_dye:lightblue", mcl_signs.mcl_wool_colors.unicolor_light_blue }, - { "mcl_dye:lime", mcl_signs.unicolor_green_or_lime }, - { "mcl_dye:magenta", mcl_colors_official.LIGHT_PURPLE }, - { "mcl_dye:orange", mcl_signs.mcl_wool_colors.unicolor_orange }, - { "mcl_dye:pink", mcl_signs.mcl_wool_colors.unicolor_light_red_pink }, - { "mcl_dye:purple", mcl_colors_official.LIGHT_PURPLE }, - { "mcl_dye:red", mcl_signs.mcl_wool_colors.unicolor_red }, - { "mcl_dye:silver", mcl_signs.mcl_wool_colors.unicolor_grey }, - { "mcl_dye:violet", mcl_colors_official.DARK_PURPLE }, - { "mcl_dye:white", mcl_colors_official.WHITE }, - { "mcl_dye:yellow", mcl_colors_official.YELLOW }, -} - function mcl_signs.register_dye (modname, item_name, color_code) if minetest.get_modpath(modname) then table.insert(Dyes_table, { item_name, color_code }) end end -local function update_sign_registry(type, name) - if type == "wall" then - table.insert(mcl_signs.registered_signs.wall_signs, name) - end - if type == "standing" then - table.insert(mcl_signs.registered_signs.standing_signs, name) - end - if type == "hanging" then - table.insert(mcl_signs.registered_signs.hanging_signs, name) - end -end - --- Register a new sign, tint the textures, and gives it an unique node name. Creates both wall and standing signs. --- modname: optional (pass "" or "false" to ignore), for use with other mods to --- allow the creation of a sign from the mod's wood (if installed). @@ -738,7 +738,6 @@ end --- --- modname: optional (pass "" or "false" to ignore), for use with other mods to --- allow the creation of a sign from the mod's wood (if installed). ---- type: "wall", "standing". --- --- _name: the sign's name suffix, such as "_dark" or "_red", etc., appended to "wall_sign" or "standing_sign" --- @@ -948,6 +947,442 @@ function mcl_signs.register_sign_custom (modname, _name, tiles, color, inventory end +--- Override an existing sign, tint the textures, and gives it an unique node name. Creates both wall and standing signs. +--- modname: optional (pass "" or "false" to ignore), for use with other mods to +--- allow the creation of a sign from the mod's wood (if installed). +--- +--- color: the color code to color the base sign textures. must be a valid html color code. +--- +--- _name: the sign's name suffix, such as "_dark" or "_red", etc., appended to "wall_sign" or "standing_sign" +--- +--- ttsign: the tool tip of the sign that gets translated. Shown when the mouse hovers the inventory sign. +--- For example: the basic, default oak (wood) sign is just "Sign"; and a spruce sign would be "Spruce Sign" +function mcl_signs.reregister_sign (modname, color, _name, ttsign) + local mod_name_pass = false + if modname ~= "" and modname ~= "false" then + if minetest.get_modpath(modname) then + mod_name_pass = true + end + if mod_name_pass == false then + return + end + end + local new_sign = {} + + if color == nil or color == "" then + color = "#FFFFFF" + end + + new_sign = table.copy(mcl_signs.wall_standard) + new_sign.description = S(ttsign) + + new_sign.wield_image = "(default_sign.png^[multiply:" .. color .. ")" + new_sign.tiles = { "(mcl_signs_sign.png^[multiply:" .. color .. ")" } + new_sign.inventory_image = "(default_sign.png^[multiply:" .. color .. ")" + + -- currently have to do this, because of how the base node placement works. + new_sign.on_place = function(itemstack, placer, pointed_thing) + local above = pointed_thing.above + local under = pointed_thing.under + + -- Use pointed node's on_rightclick function first, if present + local node_under = minetest.get_node(under) + if placer and not placer:get_player_control().sneak then + if minetest.registered_nodes[node_under.name] and minetest.registered_nodes[node_under.name].on_rightclick then + return minetest.registered_nodes[node_under.name].on_rightclick(under, node_under, placer, itemstack) or itemstack + end + end + + local dir = vector.subtract(under, above) + + -- Only build when it's legal + local abovenodedef = minetest.registered_nodes[minetest.get_node(above).name] + if not abovenodedef or abovenodedef.buildable_to == false then + return itemstack + end + + local wdir = minetest.dir_to_wallmounted(dir) + local fdir = minetest.dir_to_facedir(dir) + + local sign_info + local nodeitem = ItemStack(itemstack) + -- Ceiling + if wdir == 0 then + --how would you add sign to ceiling? + return itemstack + -- Floor + elseif wdir == 1 then + -- Standing sign + + -- Determine the sign rotation based on player's yaw + local yaw = pi * 2 - placer:get_look_horizontal() + + -- Select one of 16 possible rotations (0-15) + local rotation_level = mcl_signs:round((yaw / (pi * 2)) * 16) + + if rotation_level > 15 then + rotation_level = 0 + elseif rotation_level < 0 then + rotation_level = 15 + end + + -- The actual rotation is a combination of predefined mesh and facedir (see node definition) + if rotation_level % 4 == 0 then + nodeitem:set_name("mcl_signs:standing_sign" .. _name) + elseif rotation_level % 4 == 1 then + nodeitem:set_name("mcl_signs:standing_sign22_5" .. _name) + elseif rotation_level % 4 == 2 then + nodeitem:set_name("mcl_signs:standing_sign45" .. _name) + elseif rotation_level % 4 == 3 then + nodeitem:set_name("mcl_signs:standing_sign67_5" .. _name) + end + fdir = math.floor(rotation_level / 4) + + -- Place the node! + local _, success = minetest.item_place_node(nodeitem, placer, pointed_thing, fdir) + if not success then + return itemstack + end + if not minetest.is_creative_enabled(placer:get_player_name()) then + itemstack:take_item() + end + sign_info = mcl_signs.signtext_info_standing[rotation_level + 1] + -- Side + else + -- Wall sign + local _, success = minetest.item_place_node(itemstack, placer, pointed_thing, wdir) + if not success then + return itemstack + end + sign_info = mcl_signs.signtext_info_wall[fdir + 1] + end + + -- Determine spawn position of entity + local place_pos + if minetest.registered_nodes[node_under.name].buildable_to then + place_pos = under + else + place_pos = above + end + + if DEBUG then + minetest.log("action", "[mcl_signs] Register_Sign::Placed position:" .. dump(place_pos) .. "\nSign_info: " .. dump(sign_info)) + end + + local text_entity = minetest.add_entity({ + x = place_pos.x + sign_info.delta.x, + y = place_pos.y + sign_info.delta.y, + z = place_pos.z + sign_info.delta.z }, "mcl_signs:text") + text_entity:set_yaw(sign_info.yaw) + text_entity:get_luaentity()._signnodename = nodeitem:get_name() + + minetest.sound_play({ name = "default_place_node_hard", gain = 1.0 }, { pos = place_pos }, true) + + mcl_signs:show_formspec(placer, place_pos) + return itemstack + end + + minetest.override_item("mcl_signs:wall_sign" .. _name, new_sign) + update_sign_registry("wall", "mcl_signs:wall_sign" .. _name) + + -- debug step + if DEBUG then + minetest.log("action", "[mcl_signs] Registered: mcl_signs:wall_sign" .. _name .. color .. "\n" .. dump(new_sign)) + minetest.log("action", "[mcl_signs] mcl_signs:wall_sign_standard\n" .. dump(mcl_signs.wall_standard)) + end + + -- standing sign base. + local new_sign_standing = {} + new_sign_standing = table.copy(mcl_signs.standing_standard) + new_sign_standing.drop = "mcl_signs:wall_sign" .. _name + new_sign_standing.wield_image = "(default_sign.png^[multiply:" .. color .. ")" + new_sign_standing.tiles = { "(mcl_signs_sign.png^[multiply:" .. color .. ")" } + new_sign_standing.inventory_image = "(default_sign.png^[multiply:" .. color .. ")" + minetest.override_item("mcl_signs:standing_sign" .. _name, new_sign_standing) + update_sign_registry("standing", "mcl_signs:standing_sign" .. _name) + -- debug step + if DEBUG then + minetest.log("action", "[mcl_signs] Registered: mcl_signs:standing_sign" .. _name .. color .. "\n" .. dump(new_sign_standing)) + end + + -- 22.5° + local ssign22_5d = table.copy(new_sign_standing) + ssign22_5d.mesh = "mcl_signs_sign22.5.obj" + ssign22_5d.on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_FACE then + node.name = "mcl_signs:standing_sign45" .. _name + minetest.swap_node(pos, node) + elseif mode == screwdriver.ROTATE_AXIS then + return false + end + mcl_signs:update_sign(pos, nil, nil, true) + return true + end + minetest.override_item("mcl_signs:standing_sign22_5" .. _name, ssign22_5d) + update_sign_registry("standing", "mcl_signs:standing_sign22_5" .. _name) + + -- 45° + local ssign45d = table.copy(new_sign_standing) + ssign45d.mesh = "mcl_signs_sign45.obj" + ssign45d.on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_FACE then + node.name = "mcl_signs:standing_sign67_5" .. _name + minetest.swap_node(pos, node) + elseif mode == screwdriver.ROTATE_AXIS then + return false + end + mcl_signs:update_sign(pos, nil, nil, true) + return true + end + minetest.override_item("mcl_signs:standing_sign45" .. _name, ssign45d) + update_sign_registry("standing", "mcl_signs:standing_sign45" .. _name) + + -- 67.5° + local ssign67_5d = table.copy(new_sign_standing) + ssign67_5d.mesh = "mcl_signs_sign67.5.obj" + ssign67_5d.on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_FACE then + node.name = "mcl_signs:standing_sign" .. _name + node.param2 = (node.param2 + 1) % 4 + minetest.swap_node(pos, node) + elseif mode == screwdriver.ROTATE_AXIS then + return false + end + mcl_signs:update_sign(pos, nil, nil, true) + return true + end + minetest.override_item("mcl_signs:standing_sign67_5" .. _name, ssign67_5d) + update_sign_registry("standing", "mcl_signs:standing_sign67_5" .. _name) + + -- register Doc entry + if minetest.get_modpath("doc") then + doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:wall_sign" .. _name) + doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign" .. _name) + doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign22_5" .. _name) + doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign45" .. _name) + doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign67_5" .. _name) + end + + --register standing sign's rotation_levels + table.insert(mcl_signs.standing_rotation_levels, {"mcl_signs:standing_sign22_5" .. _name , 1}) + table.insert(mcl_signs.standing_rotation_levels, {"mcl_signs:standing_sign45" .. _name , 2}) + table.insert(mcl_signs.standing_rotation_levels, {"mcl_signs:standing_sign67_5" .. _name , 3}) +end + +--- The same as reregister_sign, except caller defines the textures. Note, there is a greyscale version of the sign, +--- called "default_sign_greyscale.png" and "mcl_signs_sign_greyscale.png" for optional use in the textures directory. +--- +--- modname: optional (pass "" or "false" to ignore), for use with other mods to +--- allow the creation of a sign from the mod's wood (if installed). +--- +--- _name: the sign's name suffix, such as "_dark" or "_red", etc., appended to "wall_sign" or "standing_sign" +--- +--- tiles: the texture file to use for the sign. +--- +--- color: color the texture file to use with this color. Use white (#FFFFFF) to negate the color, +--- and just use the texture as is +--- +--- inventory_image: the texture file to use for the sign's display in inventory. +--- +--- wield_image: the texture file to use for the sign's weilded (in hand) object. +--- +--- inventory_image: the image used for in-inventory and in hand. +--- +--- ttsign: the tool tip of the sign that gets translated. Shown when the mouse hovers the inventory sign. +--- For example: the basic, default oak (wood) sign is just "Sign"; and a spruce sign would be "Spruce Sign" +function mcl_signs.reregister_sign_custom (modname, _name, tiles, color, inventory_image, wield_image, ttsign) + local mod_name_pass = false + if modname ~= "" and modname ~= "false" then + if minetest.get_modpath(modname) then + mod_name_pass = true + end + if mod_name_pass == false then + return + end + end + local new_sign = {} + + new_sign = table.copy(mcl_signs.wall_standard) + + new_sign.wield_image ="("..wield_image.."^[multiply:" .. color .. ")" + new_sign.tiles = { "("..tiles.."^[multiply:" .. color .. ")" } + new_sign.inventory_image = "("..inventory_image.."^[multiply:" .. color .. ")" + new_sign.description = S(ttsign) + -- currently have to do this, because of how the base node placement works. + new_sign.on_place = function(itemstack, placer, pointed_thing) + local above = pointed_thing.above + local under = pointed_thing.under + + -- Use pointed node's on_rightclick function first, if present + local node_under = minetest.get_node(under) + if placer and not placer:get_player_control().sneak then + if minetest.registered_nodes[node_under.name] and minetest.registered_nodes[node_under.name].on_rightclick then + return minetest.registered_nodes[node_under.name].on_rightclick(under, node_under, placer, itemstack) or itemstack + end + end + + local dir = vector.subtract(under, above) + + -- Only build when it's legal + local abovenodedef = minetest.registered_nodes[minetest.get_node(above).name] + if not abovenodedef or abovenodedef.buildable_to == false then + return itemstack + end + + local wdir = minetest.dir_to_wallmounted(dir) + local fdir = minetest.dir_to_facedir(dir) + + local sign_info + local nodeitem = ItemStack(itemstack) + -- Ceiling + if wdir == 0 then + --how would you add sign to ceiling? + return itemstack + -- Floor + elseif wdir == 1 then + -- Standing sign + + -- Determine the sign rotation based on player's yaw + local yaw = pi * 2 - placer:get_look_horizontal() + + -- Select one of 16 possible rotations (0-15) + local rotation_level = mcl_signs:round((yaw / (pi * 2)) * 16) + + if rotation_level > 15 then + rotation_level = 0 + elseif rotation_level < 0 then + rotation_level = 15 + end + + -- The actual rotation is a combination of predefined mesh and facedir (see node definition) + if rotation_level % 4 == 0 then + nodeitem:set_name("mcl_signs:standing_sign" .. _name) + elseif rotation_level % 4 == 1 then + nodeitem:set_name("mcl_signs:standing_sign22_5" .. _name) + elseif rotation_level % 4 == 2 then + nodeitem:set_name("mcl_signs:standing_sign45" .. _name) + elseif rotation_level % 4 == 3 then + nodeitem:set_name("mcl_signs:standing_sign67_5" .. _name) + end + fdir = math.floor(rotation_level / 4) + + -- Place the node! + local _, success = minetest.item_place_node(nodeitem, placer, pointed_thing, fdir) + if not success then + return itemstack + end + if not minetest.is_creative_enabled(placer:get_player_name()) then + itemstack:take_item() + end + sign_info = mcl_signs.signtext_info_standing[rotation_level + 1] + -- Side + else + -- Wall sign + local _, success = minetest.item_place_node(itemstack, placer, pointed_thing, wdir) + if not success then + return itemstack + end + sign_info = mcl_signs.signtext_info_wall[fdir + 1] + end + + -- Determine spawn position of entity + local place_pos + if minetest.registered_nodes[node_under.name].buildable_to then + place_pos = under + else + place_pos = above + end + + local text_entity = minetest.add_entity({ + x = place_pos.x + sign_info.delta.x, + y = place_pos.y + sign_info.delta.y, + z = place_pos.z + sign_info.delta.z }, "mcl_signs:text") + text_entity:set_yaw(sign_info.yaw) + text_entity:get_luaentity()._signnodename = nodeitem:get_name() + + minetest.sound_play({ name = "default_place_node_hard", gain = 1.0 }, { pos = place_pos }, true) + + mcl_signs:show_formspec(placer, place_pos) + return itemstack + end + minetest.override_item("mcl_signs:wall_sign" .. _name, new_sign) + update_sign_registry("wall", "mcl_signs:wall_sign" .. _name) + + -- standing sign base. + local new_sign_standing = {} + new_sign_standing = table.copy(mcl_signs.standing_standard) + new_sign_standing.drop = "mcl_signs:wall_sign" .. _name + new_sign_standing.wield_image ="("..wield_image.."^[multiply:" .. color .. ")" + new_sign_standing.tiles = { "("..tiles.."^[multiply:" .. color .. ")" } + new_sign_standing.inventory_image = "("..inventory_image.."^[multiply:" .. color .. ")" + minetest.override_item("mcl_signs:standing_sign" .. _name, new_sign_standing) + update_sign_registry("standing", "mcl_signs:standing_sign" .. _name) + + -- 22.5° + local ssign22_5d = table.copy(new_sign_standing) + ssign22_5d.mesh = "mcl_signs_sign22.5.obj" + ssign22_5d.on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_FACE then + node.name = "mcl_signs:standing_sign45" .. _name + minetest.swap_node(pos, node) + elseif mode == screwdriver.ROTATE_AXIS then + return false + end + mcl_signs:update_sign(pos, nil, nil, true) + return true + end + minetest.override_item("mcl_signs:standing_sign22_5" .. _name, ssign22_5d) + update_sign_registry("standing", "mcl_signs:standing_sign22_5" .. _name) + + -- 45° + local ssign45d = table.copy(new_sign_standing) + ssign45d.mesh = "mcl_signs_sign45.obj" + ssign45d.on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_FACE then + node.name = "mcl_signs:standing_sign67_5" .. _name + minetest.swap_node(pos, node) + elseif mode == screwdriver.ROTATE_AXIS then + return false + end + mcl_signs:update_sign(pos, nil, nil, true) + return true + end + minetest.override_item("mcl_signs:standing_sign45" .. _name, ssign45d) + update_sign_registry("standing", "mcl_signs:standing_sign45" .. _name) + + -- 67.5° + local ssign67_5d = table.copy(new_sign_standing) + ssign67_5d.mesh = "mcl_signs_sign67.5.obj" + ssign67_5d.on_rotate = function(pos, node, user, mode) + if mode == screwdriver.ROTATE_FACE then + node.name = "mcl_signs:standing_sign" .. _name + node.param2 = (node.param2 + 1) % 4 + minetest.swap_node(pos, node) + elseif mode == screwdriver.ROTATE_AXIS then + return false + end + mcl_signs:update_sign(pos, nil, nil, true) + return true + end + minetest.override_item("mcl_signs:standing_sign67_5" .. _name, ssign67_5d) + update_sign_registry("standing", "mcl_signs:standing_sign67_5" .. _name) + + -- register Doc entry + if minetest.get_modpath("doc") then + doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:wall_sign" .. _name) + doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign" .. _name) + doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign22_5" .. _name) + doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign45" .. _name) + doc.add_entry_alias("nodes", "mcl_signs:wall_sign", "nodes", "mcl_signs:standing_sign67_5" .. _name) + end + + --register standing sign's rotation_levels + table.insert(mcl_signs.standing_rotation_levels, {"mcl_signs:standing_sign22_5" .. _name , 1}) + table.insert(mcl_signs.standing_rotation_levels, {"mcl_signs:standing_sign45" .. _name , 2}) + table.insert(mcl_signs.standing_rotation_levels, {"mcl_signs:standing_sign67_5" .. _name , 3}) + +end + --- Usage: Call this with the mod's name, the wood's item string (for the planks), and with the sign's suffix. --- Registers the crafting recipe for that sign. for every registered sign, call this function to register the --- standard recipe for the sign. Otherwise, you have to do your own register craft call. @@ -1037,7 +1472,7 @@ local function get_rotation_level(facedir, nodename) end end rl = facedir * 4 + offset - if 1 == 1 then + if DEBUG then minetest.log("action", "[mcl_signs] GetRotationLevel: NodeName: " .. nodename .. " RL value: " .. rl) end return rl diff --git a/mods/ITEMS/mcl_signs/textures/default_sign.png b/mods/ITEMS/mcl_signs/textures/default_sign.png index 077983118274db82bad1d7abca17690112131857..8fcee7e9fb1a247f26a17bf4cc5eaa0c94c9d02e 100644 GIT binary patch literal 5305 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 ZmE-0ubBlZZT3evC44$rjF6*2UngG1rNMHZ} diff --git a/mods/ITEMS/mcl_signs/textures/default_sign_dark.png b/mods/ITEMS/mcl_signs/textures/default_sign_dark.png index aedab6f06e72414bebd70305b6a0a014289b1800..016098238767b45fac28853f80e92d5c8e6d063a 100644 GIT binary patch literal 5459 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 aaR>#w%mt2j7Y4!WeD%U@Rj delta 709 zcmV;$0y_QED(VH0BYy#IX+uL$X=7sm04R}lkvmHRK@^2Q;}ahUY9V5gLd7D%pdgkS z3!5Mk6?`?>&2A#>Cd=*y3ATcbgAJbdL320{@?fK zXi6KN4pj}p!@A@8!lS~872i?3A>5&7Q)%IS;fN~-6uwZpR^~^=nKHjBc4v~~5K=wE znIEkEU_I;F!u`TMwpGx-&!cYAY~*IArFO~e#v{oDal&X6SjNI9Dm5pW{q2i=`6kJW zN0+}t5my`;vVY=@h+2@YhE!8@Lq3b5%Kdkqo;fsF?%o`S+J_)`>4o|&C~XG8$3YO3 z4x#!U&TLkJ)o00009aFg^C5`O_ANklc8|q_!jV z*>~?H3a}wsI$V#gig1fHh*+p94?PCP+EuMohFB`x+&;F5Zpc|~i2J8EbFqHe4x4<> z%yakfQu0N~QGXrgd4`Wkg3FTwNKp>cJ&P!sSNYLyh$LMsFav^ZR!P;cazcIyl8XFtdLMc53=hRr#cz*rD#qnO#LjRPTq7RPG zNZ_y=7!}r9T|uuCG`L!Uyb+_{9hNZ)Hi rW$poFosD%0$fiG&bHFrF_;>sO#k+pA`kJR300000NkvXXu0mjfi7!!c diff --git a/mods/ITEMS/mcl_signs/textures/default_sign_greyscale.png b/mods/ITEMS/mcl_signs/textures/default_sign_greyscale.png index 2809447aa851e062d15eb42ccb2816fb22f49a46..570851a6a2a6a6003b01e81b437cdecf189c41c4 100644 GIT binary patch literal 5286 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 IW9=RNUjvmLng9R* delta 694 zcmV;n0!jU*Da{3tBYy#IX+uL$X=7sm04R}lk-bYoQ5eR5YGJ4mR6|68gGGZv6hvd$ z;36Srkkz8suR!f`uM*N4v@{3}QA=M#|3R%mYe5hcK}1u3KwnG9?L8V8q33e$`{Oz1 zc{%4fU=QcDg4r<+g<{EwhJxOu__Ejeii=*{I2lf8ral{qgnwx}zV5N9dKXZ=+V5*Q z+^Mvwfvrn;O4E&!@QiSHqoga|5$@M=iInh>u-}ja3STQd+29w&*#>_oHe%5^u&bWl z>>p14VJ&AAgvW$^g?w52J&(GHCtX}zkUA)H2$Luwf_O<%W{o^00#b{TS!>^T-8av= zcr^LzR4~MmC4VPgzo=#DnwFXoJuP3Jipu?eo@QopqS4(GgwAKndLIGjF4U@)^?htv zwG(hW!DX@OUzePwKSi%LHQyohY{B_eQ%ml_#WoB)>IoxJmmD(fnGC$0L3bSbZo#$E z$m(~U(+7xc$`jqd{sD~2{+`tzugGWReOc+(00009aDPZya{vGf5&!@T5&_cPe*6Fc z0R>4!K~y-)wNt&Sg)j_`QpBG@LGc9?boZ5fEZ@e-!NuLtO+i5sML3t_lG0xEoZ)ak zuqOT5Sh#}TqDlfiI~G0(HK!!U$x+w=gQ=SisumWxtpkq{6BftHyQ3AIiJO1+y` zZ7sks4CGAHL}hRZEFH6BiHN@MAxRRwgfvZo|F|iRV^YDTsS2Vf(r(FQ=kLk;zW*p+ zT}ypX6vb_mH(`r!`dr(XZ0!2I?xy$!Ig cEBrft01*d%>;`QcuK)l507*qoM6N<$f?dl^lmGw# From 34dcba0b709b9fc1c93414b055ce88503754db88 Mon Sep 17 00:00:00 2001 From: cora Date: Sun, 23 Oct 2022 13:46:27 +0200 Subject: [PATCH 15/65] Protect on_pick_up against unsafe usage --- mods/ENTITIES/mcl_mobs/api.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mods/ENTITIES/mcl_mobs/api.lua b/mods/ENTITIES/mcl_mobs/api.lua index 7102e3d3d..e1192c37a 100644 --- a/mods/ENTITIES/mcl_mobs/api.lua +++ b/mods/ENTITIES/mcl_mobs/api.lua @@ -3134,9 +3134,9 @@ local function check_item_pickup(self) for k,v in pairs(self.pick_up) do if not player_near(p) and self.on_pick_up and l.itemstring:find(v) then local r = self.on_pick_up(self,l) - if r and r:get_count() > 0 then + if r and r.is_empty and not r:is_empty() then l.itemstring = r:to_string() - else + elseif r and r.is_empty and r:is_empty() then o:remove() end end From f5e8f8716c8d8ebea8e5e8a06fbc8519e111eb22 Mon Sep 17 00:00:00 2001 From: cora Date: Tue, 11 Oct 2022 12:58:46 +0200 Subject: [PATCH 16/65] Add Faerraven and FossFanatic to credits --- CREDITS.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CREDITS.md b/CREDITS.md index 63cd24155..8c049c97e 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -85,6 +85,8 @@ * opfromthestart * snowyu * FaceDeer +* Faerraven +* FossFanatic ## MineClone5 * kay27 From 730debb0a64deafa16007f0575977a06e10fd55a Mon Sep 17 00:00:00 2001 From: cora Date: Thu, 13 Oct 2022 06:33:08 +0200 Subject: [PATCH 17/65] Add Herbert West to contributors --- CREDITS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CREDITS.md b/CREDITS.md index 8c049c97e..66e78819a 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -87,6 +87,7 @@ * FaceDeer * Faerraven * FossFanatic +* Herbert West ## MineClone5 * kay27 From 2b769ad2ff2c18d7f753cef9da5b51ecf6806930 Mon Sep 17 00:00:00 2001 From: cora Date: Sun, 16 Oct 2022 01:50:58 +0200 Subject: [PATCH 18/65] Add GuyLiner to credits --- CREDITS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CREDITS.md b/CREDITS.md index 66e78819a..691f69ea0 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -88,6 +88,7 @@ * Faerraven * FossFanatic * Herbert West +* GuyLiner ## MineClone5 * kay27 From ace47f8bf5b0a8c8e6edd1fa1f47ace036c58a07 Mon Sep 17 00:00:00 2001 From: cora Date: Mon, 17 Oct 2022 12:46:33 +0200 Subject: [PATCH 19/65] Add talamh to devs --- CREDITS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CREDITS.md b/CREDITS.md index 691f69ea0..d59b89d2b 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -33,6 +33,7 @@ * RandomLegoBrick * SumianVoice * MrRar +* talamh ## Contributors * Laurent Rocher @@ -66,7 +67,6 @@ * Benjamin Schötz * Doloment * Sydney Gems -* talamh * Emily2255 * Emojigit * FinishedFragment From 1ffcc98ba82757a83560d697c35db536a372f7e4 Mon Sep 17 00:00:00 2001 From: cora Date: Tue, 18 Oct 2022 11:51:37 +0200 Subject: [PATCH 20/65] Update end credits --- mods/HUD/mcl_credits/people.lua | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mods/HUD/mcl_credits/people.lua b/mods/HUD/mcl_credits/people.lua index 8c0d45485..46eb7d543 100644 --- a/mods/HUD/mcl_credits/people.lua +++ b/mods/HUD/mcl_credits/people.lua @@ -34,6 +34,7 @@ return { "RandomLegoBrick", "SumianVoice", "MrRar", + "talamh", }}, {S("Contributors"), 0x52FF00, { "Laurent Rocher", @@ -67,7 +68,6 @@ return { "Benjamin Schötz", "Doloment", "Sydney Gems", - "talamh", "Emily2255", "Emojigit", "FinishedFragment", @@ -86,6 +86,10 @@ return { "opfromthestart", "snowyu", "FaceDeer", + "Faerraven", + "FossFanatic", + "Herbert West", + "GuyLiner", }}, {S("MineClone5"), 0xA60014, { "kay27", From 1ba57b5c6e14ce6c52ee6f7cd720cb0537444719 Mon Sep 17 00:00:00 2001 From: cora Date: Thu, 20 Oct 2022 02:00:26 +0200 Subject: [PATCH 21/65] Add Fearraven alt "Michieal" to credits --- CREDITS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CREDITS.md b/CREDITS.md index d59b89d2b..afbb936a5 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -85,7 +85,7 @@ * opfromthestart * snowyu * FaceDeer -* Faerraven +* Faerraven / Michieal * FossFanatic * Herbert West * GuyLiner From 6325b892f14d4036ab239a4ff339f10a577824ee Mon Sep 17 00:00:00 2001 From: cora Date: Fri, 21 Oct 2022 16:38:26 +0200 Subject: [PATCH 22/65] Change to the correct gustavo in mcl5 credits --- CREDITS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CREDITS.md b/CREDITS.md index afbb936a5..665f35c57 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -99,7 +99,7 @@ * chmodsayshello * 3raven * PrairieWind -* Gustavo1 +* Gustavo6046 / wallabra * CableGuy67 * MrRar From 05bd2b0e83d9ab2cbf4a3bf3338b4262be05cd9f Mon Sep 17 00:00:00 2001 From: cora Date: Sat, 22 Oct 2022 16:49:28 +0200 Subject: [PATCH 23/65] Update end credits again --- mods/HUD/mcl_credits/people.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mods/HUD/mcl_credits/people.lua b/mods/HUD/mcl_credits/people.lua index 46eb7d543..5b814d941 100644 --- a/mods/HUD/mcl_credits/people.lua +++ b/mods/HUD/mcl_credits/people.lua @@ -86,7 +86,7 @@ return { "opfromthestart", "snowyu", "FaceDeer", - "Faerraven", + "Faerraven / Michieal", "FossFanatic", "Herbert West", "GuyLiner", @@ -100,7 +100,7 @@ return { "chmodsayshello", "3raven", "PrairieWind", - "Gustavo1", + "Gustavo6046 / wallabra", "CableGuy67", "MrRar", }}, @@ -183,4 +183,4 @@ return { "The workaholics who spent way too much time writing for the Minecraft Wiki. It's an invaluable resource for creating this game", "Notch and Jeb for being the major forces behind Minecraft", }}, -} \ No newline at end of file +} From 3d5c653263bd99d92cacc8cdab4d7f3e979cb8cb Mon Sep 17 00:00:00 2001 From: cora Date: Sun, 23 Oct 2022 05:00:03 +0200 Subject: [PATCH 24/65] Set version to 0.80 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ccda4de7a..dfa80bdd2 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ An unofficial Minecraft-like game for Minetest. Forked from MineClone by davedevils. Developed by many people. Not developed or endorsed by Mojang AB. -Version: 0.80 (in development) +Version: 0.80 ### Gameplay You start in a randomly-generated world made entirely of cubes. You can explore From 6032cfb744af40ace6642de48529f7dffb581077 Mon Sep 17 00:00:00 2001 From: cora Date: Sun, 23 Oct 2022 18:03:46 +0200 Subject: [PATCH 25/65] version -> 0.81 indev --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dfa80bdd2..40d079a7b 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ An unofficial Minecraft-like game for Minetest. Forked from MineClone by davedevils. Developed by many people. Not developed or endorsed by Mojang AB. -Version: 0.80 +Version: 0.81 (in development) ### Gameplay You start in a randomly-generated world made entirely of cubes. You can explore From 7579e430c80bb11ec445ef3c70b5d0c422a00f6b Mon Sep 17 00:00:00 2001 From: Johannes Fritz Date: Tue, 18 Oct 2022 10:25:25 -0500 Subject: [PATCH 26/65] Remove unnecessary media files from mcl_chests --- mods/ITEMS/mcl_chests/init.lua | 45 +---- .../mcl_chests/models/mcl_chests_chest.b3d | Bin 6075 -> 5200 bytes .../mcl_chests/models/mcl_chests_chest.obj | 91 ---------- .../models/mcl_chests_chest_double.b3d | Bin 6074 -> 5210 bytes .../mcl_chests/models/mcl_chests_shulker.b3d | Bin 25624 -> 24473 bytes .../mcl_chests/models/mcl_chests_shulker.obj | 159 ------------------ .../textures/default_chest_front.png | Bin 220 -> 0 bytes .../textures/default_chest_front_big.png | Bin 224 -> 0 bytes .../textures/default_chest_side_big.png | Bin 210 -> 0 bytes .../mcl_chests/textures/default_chest_top.png | Bin 194 -> 0 bytes .../textures/default_chest_top_big.png | Bin 200 -> 0 bytes .../mcl_chests_black_shulker_box_top.png | Bin 160 -> 0 bytes .../mcl_chests/textures/mcl_chests_blank.png | Bin 570 -> 0 bytes .../mcl_chests_blue_shulker_box_top.png | Bin 160 -> 0 bytes .../mcl_chests_brown_shulker_box_top.png | Bin 160 -> 0 bytes .../textures/mcl_chests_chest_back.png | Bin 218 -> 0 bytes .../textures/mcl_chests_chest_bottom.png | Bin 168 -> 0 bytes .../textures/mcl_chests_chest_left.png | Bin 196 -> 0 bytes .../textures/mcl_chests_chest_right.png | Bin 209 -> 0 bytes .../mcl_chests_chest_trapped_back.png | Bin 218 -> 0 bytes .../mcl_chests_chest_trapped_bottom.png | Bin 168 -> 0 bytes .../mcl_chests_chest_trapped_front.png | Bin 239 -> 0 bytes .../mcl_chests_chest_trapped_front_big.png | Bin 239 -> 0 bytes .../mcl_chests_chest_trapped_left.png | Bin 196 -> 0 bytes .../mcl_chests_chest_trapped_right.png | Bin 209 -> 0 bytes .../mcl_chests_chest_trapped_side_big.png | Bin 210 -> 0 bytes .../textures/mcl_chests_chest_trapped_top.png | Bin 194 -> 0 bytes .../mcl_chests_chest_trapped_top_big.png | Bin 200 -> 0 bytes .../mcl_chests_cyan_shulker_box_top.png | Bin 160 -> 0 bytes .../mcl_chests_dark_green_shulker_box_top.png | Bin 160 -> 0 bytes .../mcl_chests_dark_grey_shulker_box_top.png | Bin 160 -> 0 bytes .../textures/mcl_chests_ender_chest_back.png | Bin 189 -> 0 bytes .../mcl_chests_ender_chest_bottom.png | Bin 161 -> 0 bytes .../textures/mcl_chests_ender_chest_front.png | Bin 199 -> 0 bytes .../textures/mcl_chests_ender_chest_left.png | Bin 189 -> 0 bytes .../textures/mcl_chests_ender_chest_right.png | Bin 189 -> 0 bytes .../textures/mcl_chests_ender_chest_top.png | Bin 191 -> 0 bytes .../mcl_chests_green_shulker_box_top.png | Bin 160 -> 0 bytes .../mcl_chests_grey_shulker_box_top.png | Bin 160 -> 0 bytes .../mcl_chests_lightblue_shulker_box_top.png | Bin 160 -> 0 bytes .../mcl_chests_magenta_shulker_box_top.png | Bin 160 -> 0 bytes .../mcl_chests_orange_shulker_box_top.png | Bin 160 -> 0 bytes .../mcl_chests_pink_shulker_box_top.png | Bin 160 -> 0 bytes .../mcl_chests_red_shulker_box_top.png | Bin 160 -> 0 bytes .../mcl_chests_violet_shulker_box_top.png | Bin 160 -> 0 bytes .../mcl_chests_white_shulker_box_top.png | Bin 160 -> 0 bytes .../mcl_chests_yellow_shulker_box_top.png | Bin 160 -> 0 bytes 47 files changed, 8 insertions(+), 287 deletions(-) delete mode 100644 mods/ITEMS/mcl_chests/models/mcl_chests_chest.obj delete mode 100644 mods/ITEMS/mcl_chests/models/mcl_chests_shulker.obj delete mode 100644 mods/ITEMS/mcl_chests/textures/default_chest_front.png delete mode 100644 mods/ITEMS/mcl_chests/textures/default_chest_front_big.png delete mode 100644 mods/ITEMS/mcl_chests/textures/default_chest_side_big.png delete mode 100644 mods/ITEMS/mcl_chests/textures/default_chest_top.png delete mode 100644 mods/ITEMS/mcl_chests/textures/default_chest_top_big.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_black_shulker_box_top.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_blank.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_blue_shulker_box_top.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_brown_shulker_box_top.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_chest_back.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_chest_bottom.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_chest_left.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_chest_right.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_chest_trapped_back.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_chest_trapped_bottom.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_chest_trapped_front.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_chest_trapped_front_big.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_chest_trapped_left.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_chest_trapped_right.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_chest_trapped_side_big.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_chest_trapped_top.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_chest_trapped_top_big.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_cyan_shulker_box_top.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_dark_green_shulker_box_top.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_dark_grey_shulker_box_top.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_ender_chest_back.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_ender_chest_bottom.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_ender_chest_front.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_ender_chest_left.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_ender_chest_right.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_ender_chest_top.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_green_shulker_box_top.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_grey_shulker_box_top.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_lightblue_shulker_box_top.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_magenta_shulker_box_top.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_orange_shulker_box_top.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_pink_shulker_box_top.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_red_shulker_box_top.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_violet_shulker_box_top.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_white_shulker_box_top.png delete mode 100644 mods/ITEMS/mcl_chests/textures/mcl_chests_yellow_shulker_box_top.png diff --git a/mods/ITEMS/mcl_chests/init.lua b/mods/ITEMS/mcl_chests/init.lua index 9fe3a81e2..9926906e2 100644 --- a/mods/ITEMS/mcl_chests/init.lua +++ b/mods/ITEMS/mcl_chests/init.lua @@ -54,7 +54,6 @@ local entity_animations = { minetest.register_entity("mcl_chests:chest", { initial_properties = { visual = "mesh", - visual_size = {x = 3, y = 3}, pointable = false, physical = false, static_save = false, @@ -140,7 +139,6 @@ minetest.register_entity("mcl_chests:chest", { local function get_entity_pos(pos, dir, double) pos = vector.new(pos) - pos.y = pos.y - 0.49 if double then local add, mul, vec, cross = vector.add, vector.multiply, vector.new, vector.cross pos = add(pos, mul(cross(dir, vec(0, 1, 0)), -0.5)) @@ -363,7 +361,7 @@ local function register_chest(basename, desc, longdesc, usagehelp, tt_help, tile _doc_items_usagehelp = usagehelp, _doc_items_hidden = hidden, drawtype = "mesh", - mesh = "mcl_chests_chest.obj", + mesh = "mcl_chests_chest.b3d", tiles = small_textures, use_texture_alpha = minetest.features.use_texture_alpha_string_modes and "opaque" or false, paramtype = "light", @@ -401,7 +399,7 @@ local function register_chest(basename, desc, longdesc, usagehelp, tt_help, tile type = "fixed", fixed = {-0.4375, -0.5, -0.4375, 0.4375, 0.375, 0.4375}, }, - tiles = {"mcl_chests_blank.png"}, + tiles = {"blank.png^[resize:16x16"}, use_texture_alpha = minetest.features.use_texture_alpha_string_modes and "clip" or true, _chest_entity_textures = small_textures, _chest_entity_sound = "default_chest", @@ -527,7 +525,7 @@ local function register_chest(basename, desc, longdesc, usagehelp, tt_help, tile type = "fixed", fixed = {-0.4375, -0.5, -0.4375, 0.5, 0.375, 0.4375}, }, - tiles = {"mcl_chests_blank.png"}, + tiles = {"blank.png^[resize:16x16"}, use_texture_alpha = minetest.features.use_texture_alpha_string_modes and "clip" or true, _chest_entity_textures = left_textures, _chest_entity_sound = "default_chest", @@ -684,7 +682,7 @@ local function register_chest(basename, desc, longdesc, usagehelp, tt_help, tile type = "fixed", fixed = {-0.5, -0.5, -0.4375, 0.4375, 0.375, 0.4375}, }, - tiles = {"mcl_chests_blank.png"}, + tiles = {"blank.png^[resize:16x16"}, use_texture_alpha = minetest.features.use_texture_alpha_string_modes and "clip" or true, groups = {handy=1,axey=1, container=6,not_in_creative_inventory=1, material_wood=1,flammable=-1,double_chest=2}, drop = drop, @@ -842,15 +840,6 @@ register_chest("chest", { small = tiles_chest_normal_small, double = tiles_chest_normal_double, - inv = {"default_chest_top.png", "mcl_chests_chest_bottom.png", - "mcl_chests_chest_right.png", "mcl_chests_chest_left.png", - "mcl_chests_chest_back.png", "default_chest_front.png"}, - --[[left = {"default_chest_top_big.png", "default_chest_top_big.png", - "mcl_chests_chest_right.png", "mcl_chests_chest_left.png", - "default_chest_side_big.png^[transformFX", "default_chest_front_big.png"}, - right = {"default_chest_top_big.png^[transformFX", "default_chest_top_big.png^[transformFX", - "mcl_chests_chest_right.png", "mcl_chests_chest_left.png", - "default_chest_side_big.png", "default_chest_front_big.png^[transformFX"},]]-- }, false ) @@ -858,15 +847,6 @@ register_chest("chest", local traptiles = { small = tiles_chest_trapped_small, double = tiles_chest_trapped_double, - inv = {"mcl_chests_chest_trapped_top.png", "mcl_chests_chest_trapped_bottom.png", - "mcl_chests_chest_trapped_right.png", "mcl_chests_chest_trapped_left.png", - "mcl_chests_chest_trapped_back.png", "mcl_chests_chest_trapped_front.png"}, - --[[left = {"mcl_chests_chest_trapped_top_big.png", "mcl_chests_chest_trapped_top_big.png", - "mcl_chests_chest_trapped_right.png", "mcl_chests_chest_trapped_left.png", - "mcl_chests_chest_trapped_side_big.png^[transformFX", "mcl_chests_chest_trapped_front_big.png"}, - right = {"mcl_chests_chest_trapped_top_big.png^[transformFX", "mcl_chests_chest_trapped_top_big.png^[transformFX", - "mcl_chests_chest_trapped_right.png", "mcl_chests_chest_trapped_left.png", - "mcl_chests_chest_trapped_side_big.png", "mcl_chests_chest_trapped_front_big.png^[transformFX"},]]-- } register_chest("trapped_chest", @@ -992,7 +972,7 @@ minetest.register_node("mcl_chests:ender_chest", { _doc_items_longdesc = S("Ender chests grant you access to a single personal interdimensional inventory with 27 slots. This inventory is the same no matter from which ender chest you access it from. If you put one item into one ender chest, you will find it in all other ender chests. Each player will only see their own items, but not the items of other players."), _doc_items_usagehelp = S("Rightclick the ender chest to access your personal interdimensional inventory."), drawtype = "mesh", - mesh = "mcl_chests_chest.obj", + mesh = "mcl_chests_chest.b3d", tiles = tiles_chest_ender_small, use_texture_alpha = minetest.features.use_texture_alpha_string_modes and "opaque" or false, paramtype = "light", @@ -1034,11 +1014,8 @@ minetest.register_node("mcl_chests:ender_chest_small", { _chest_entity_sound = "mcl_chests_enderchest", _chest_entity_mesh = "mcl_chests_chest", _chest_entity_animation_type = "chest", - tiles = {"mcl_chests_blank.png"}, + tiles = {"blank.png^[resize:16x16"}, use_texture_alpha = minetest.features.use_texture_alpha_string_modes and "clip" or true, - --[[{"mcl_chests_ender_chest_top.png", "mcl_chests_ender_chest_bottom.png", - "mcl_chests_ender_chest_right.png", "mcl_chests_ender_chest_left.png", - "mcl_chests_ender_chest_back.png", "mcl_chests_ender_chest_front.png"},]]-- -- Note: The “container” group is missing here because the ender chest does not -- have an inventory on its own groups = {pickaxey=1, deco_block=1, material_stone=1, chest_entity=1, not_in_creative_inventory=1}, @@ -1188,13 +1165,7 @@ for color, desc in pairs(boxtypes) do tiles = {mob_texture}, use_texture_alpha = minetest.features.use_texture_alpha_string_modes and "opaque" or false, drawtype = "mesh", - mesh = "mcl_chests_shulker.obj", - --[["mcl_chests_"..color.."_shulker_box_top.png", -- top - "[combine:16x16:-32,-28="..mob_texture, -- bottom - "[combine:16x16:0,-36="..mob_texture..":0,-16="..mob_texture, -- side - "[combine:16x16:-32,-36="..mob_texture..":-32,-16="..mob_texture, -- side - "[combine:16x16:-16,-36="..mob_texture..":-16,-16="..mob_texture, -- side - "[combine:16x16:-48,-36="..mob_texture..":-48,-16="..mob_texture, -- side]]-- + mesh = "mcl_chests_shulker.b3d", groups = {handy=1,pickaxey=1, container=3, deco_block=1, dig_by_piston=1, shulker_box=1, old_shulker_box_node=1}, is_ground_content = false, sounds = mcl_sounds.node_sound_stone_defaults(), @@ -1250,7 +1221,7 @@ for color, desc in pairs(boxtypes) do _doc_items_longdesc = longdesc, _doc_items_usagehelp = usagehelp, drawtype = "nodebox", - tiles = {"mcl_chests_blank.png"}, + tiles = {"blank.png^[resize:16x16"}, use_texture_alpha = minetest.features.use_texture_alpha_string_modes and "clip" or true, _chest_entity_textures = {mob_texture}, _chest_entity_sound = "mcl_chests_shulker", diff --git a/mods/ITEMS/mcl_chests/models/mcl_chests_chest.b3d b/mods/ITEMS/mcl_chests/models/mcl_chests_chest.b3d index e82c7e3639236824597be75b0126f74156f491a7..435761069feac283ec21750521bd23e15f9ec95e 100644 GIT binary patch literal 5200 zcma)8Z-`V?6u;(_<)2K;buF{ewAIquo!6?lJ9FNSyZ$L%$u%`7T8R}uSS@MvLESwV z8Au@*NEXs4fk=G_M>H$i5z_(-i#}9R(AT2GjWP`Xbbj~TJ8$0djCbJ7z2`UQ+;`u7 zzk7eTSPa^i++oZxV@z@76J7U9i~hn5J)1V0ufJMG-i=|BKkUC~uZeZ8Xzv&))tU`7 zGGy0!^w08+t|gmC=m@JWM*R=Zy+M5a`W=p_p?ij4Gpkrs3(VGrNmx>CH0NLBJ@gr_wqgvh*myB4 zp*C?1qVb}&iqG$@f~;T7oblWk=AIi{Kf$6kh~BMQ>*o^c_psx6OlmQg*qT&5SKG5S-)?-rjdevgaMpC&$4JS%>$IAZkg6Q3bIUA)1?=tCc8iO&>&z{Ti4C_YDg zw)jIXMn5OsB;F_2jKK?|0k z1sl+UC1}AIv|tNbeM=^=1u>X|7OX)FcEG?I7#IWtdthJ*4D5k{NieVombJgiB6O#@ z7;J)pH88LV24=y)Dj3)U1FK+Q7!2%!fkiN|3kIgaz%m%v1Ov-pU>po=gMn2runh+0 z!N58g*aZXYU|=8&?1O=2Fe??(f{8G&5Ej~BWg)sn7lVy3unq<`!oW-zSP6TqgvfqnYh(GuAU3&a`o&;m#gPXx?DYj(&g$ol`dD$vUIt6-lfac zGcjE*RAP#d_@&-nRS7=Vdom>R`miP37ZrLaNWsa<`gzuAj%}ODK5u zx9#Qbqn)%MGm*SX`1#`5K9?)?!Jgr}%3pr7jz%;M7Q9OMT%U(_){HN5b<5r^zqfxA zU7o+M;8nusUUlQ5U9%?0eY(3;-oA4iJ-=s6!K;MN#T<|aKe(>G@zLyoa_iN8TKLX| z7OxVuxjz5f%cq;N2lofR7WxOKPTH6ED&ceee35@@_>^4udnx#FV&A|jzLfVW;d5)( zVR}Pj?p&!9oGEP^7(ISe!K;MN#kj-VcWyg0Irqk3DVUq>8)$s`pS)Lzp}ENK-g&%f z^0ECv!`l9VXSVFldzJ9H{=Kfqe7Al$*f_K9KzYIWetP}vXRTf(d@kmIe0ax|p4{PG z@0R-px6seKn+skge6AlC>$`RN-?@(`>?vRPcO!jw=tRM*gwOSBhIYeG%|W(hNBNaM zyXf$nW8G~w&NGaO@$;Qe1>?>?SN`Pt7CQXL9Czc5=lZdSp37b({2Vae^>V#R_*|cd IcIdeO0f%jZegFUf literal 6075 zcma)8Yiw0T5I#VQATI@_JOoO46$Dyt<<-KSOKFQlfym_{Cd8tGgdiY~m`I>2|9r$B zDvA$GN%&((4CNpRfl`QxAp*gu@s)@|)Px`MP@+_kI^WJt_uR{E@0sMgvvX$d?4H?g z&un#dMNL=~1YLq4s9wA@J(;x~Z{D_L?d0n%^|w+)7h5Na|2pl z8ubBPxK(hH7c?sf8fU}5|HIxX^)IDy59 zY5jBTk6nK!`E7mF@Aog?`Wkuto$&+z_kP_UU*F99x z{??zx&raX}W;$%?cKTO>&g6f6G6?o0@x1FViIn<%{ot=}_qV1)!vFpHusZQ0zxw_A z!!P-B`|J6m;OE!>`~2|R{Dk#6zvZ8tuhMpZB!7he@Z0>9&z~=Uq&{|jssGPfADiFR zFT#KL{rsKz^W@LFKX^agKYxDw{zl%v#qSU569oLf4(fyTdw=fr`~AOje!oAt>)W2+ zzF&_0*ZK3kzvYLn&+`}g>ys4~VN3AW>|@Y(@_!=XdEve`tCiofzo=h9)Su0Nqkfm) z`h9%^_DlZUe(*bE{;d4)+xf|@5B@Cvi$9V-i~lx1<@4vuAE{3k|1;)q!TLP^Q2&hi zJM`ztpLc)U`ys#Ox8J|c>M!31-v18jgZ1wLf7G92{lbsj^CN#}``4ad-;b1k@_hsU z?ELDt@8|gqe@1@0KJQ2V0$Q?oe)=#jLoB!txna=F*?8WaQOGD@+~sVH`C1k5bt>q= z=;dsT`!f14dNcYt8{__rdl~mI1~?nzfsFeZ_c8dMXKjp!Fa|RQF@`!D*%&7nxUQBnDx8h+ zG{#iMLyYOp#<-F(lQDx)J*-G_h`5HJJ+c0hEsU0h1sjL|L|AIMUfAPJ>Mlum%D)LBK2sSOo!lAYc^)41<7O5U>aW zc0s^22v`OIo3Kw{88jFN4YompRnTA?G?)hs)`J?2yIEg zI^}Gz5YMZf1{-06bVSXj6aG1##fo)Yj1}wn z8Y{Liuo5fQ@jh0pI~%cL-T8?X>&{rLSa%L%#k#W^E7qOoSh4QR$BK2|g;=rf+Yu|) zeP3e5x^GadSofWZ73;obv0~l#E>Cm4M7HVMtE6AvwK<Q)fs{lp#4ShU6p|5|$eh1{)G~8WQFi5>^=! z#uySd7?PbfB)e!xcF2%a-;h++kW|f(RK$>U2}9B)3`v(TBwfOgbO}S!B@9WIFeF{V zkaP({(j^QPbD>Zt=@N#dOBfpEo{x4~x`d&z&K~EqbO}S!B@9WIFeF{VkaP({(j^Q@ zmoOwy6bMeDcBg)=cFsyU-Jg0MY3CBN<=$L=nC8DuyZ4CrmJ>IpVyIp?%7P-tX&;N6 z8r%2c!NjWf#)PN8SVcXiTu%z`eJtX14UO-vNenxX2>0*XLbqn@O=_3Wcf0NKLiadu ze#*;NXNJ38*+CoL?vvCmp|Qw`IAF$>gJlTaPqNSzZ}_U$m2!n$~9R5*mvbjlbM_rs-1K%FU!#O_aLggdWqr%P{4O=_3WSmaeq z=>B@*xz8ts*Zx^gUww2csa-;2wFc1t?*20I*@mIvu0PUr_|1OqJC(@?>=|;WhqNWu ooaz}K`?iV>{XWTk%Q9m%clLK#yM(R*`8tZ#E}^j+2c4bwe+Tu<9RL6T diff --git a/mods/ITEMS/mcl_chests/models/mcl_chests_chest.obj b/mods/ITEMS/mcl_chests/models/mcl_chests_chest.obj deleted file mode 100644 index 36268146f..000000000 --- a/mods/ITEMS/mcl_chests/models/mcl_chests_chest.obj +++ /dev/null @@ -1,91 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'chest.small.facedir.blend' -# www.blender.org -mtllib chest.small.facedir.mtl -o chest_upper_upper -v 0.062513 -0.063134 -0.500468 -v 0.062513 0.186920 -0.500468 -v 0.062514 -0.063134 -0.437955 -v 0.062514 0.186920 -0.437955 -v -0.062514 -0.063134 -0.500468 -v -0.062514 0.186920 -0.500468 -v -0.062514 -0.063134 -0.437955 -v -0.062514 0.186920 -0.437955 -v 0.437907 0.061263 -0.438085 -v 0.437907 0.373830 -0.438085 -v 0.437907 0.061263 0.437729 -v 0.437907 0.373830 0.437729 -v -0.437907 0.061263 -0.438085 -v -0.437907 0.373830 -0.438085 -v -0.437907 0.061263 0.437729 -v -0.437907 0.373830 0.437729 -v 0.437595 -0.500754 -0.437772 -v 0.437595 0.124381 -0.437772 -v 0.437595 -0.500754 0.437417 -v 0.437595 0.124381 0.437417 -v -0.437595 -0.500754 -0.437772 -v -0.437595 0.124381 -0.437772 -v -0.437595 -0.500754 0.437417 -v -0.437595 0.124381 0.437417 -vt 0.015625 0.921875 -vt 0.015625 0.984375 -vt 0.000000 0.984375 -vt 0.000000 0.921875 -vt 0.093750 0.921875 -vt 0.093750 0.984375 -vt 0.062500 0.984375 -vt 0.062500 0.921875 -vt 0.046875 0.984375 -vt 0.046875 0.921875 -vt 0.078125 0.984375 -vt 0.078125 1.000000 -vt 0.046875 1.000000 -vt 0.015625 1.000000 -vt 0.218750 0.703125 -vt 0.218750 0.781250 -vt 0.000000 0.781250 -vt 0.000000 0.703125 -vt 0.875000 0.703125 -vt 0.875000 0.781250 -vt 0.656250 0.781250 -vt 0.656250 0.703125 -vt 0.437500 0.781250 -vt 0.437500 0.703125 -vt 0.656250 1.000000 -vt 0.437500 1.000000 -vt 0.218750 1.000000 -vt 0.218750 0.328125 -vt 0.218750 0.484375 -vt -0.000000 0.484375 -vt -0.000000 0.328125 -vt 0.875000 0.328125 -vt 0.875000 0.484375 -vt 0.656250 0.484375 -vt 0.656250 0.328125 -vt 0.437500 0.484375 -vt 0.437500 0.328125 -vn 1.000000 0.000000 -0.000000 -vn 0.000000 0.000000 1.000000 -vn -1.000000 0.000000 0.000000 -vn 0.000000 0.000000 -1.000000 -vn 0.000000 -1.000000 0.000000 -vn 0.000000 1.000000 0.000000 -usemtl None -s off -f 1/1/1 2/2/1 4/3/1 3/4/1 -f 3/5/2 4/6/2 8/7/2 7/8/2 -f 7/8/3 8/7/3 6/9/3 5/10/3 -f 5/10/4 6/9/4 2/2/4 1/1/4 -f 3/9/5 7/11/5 5/12/5 1/13/5 -f 8/13/6 4/14/6 2/2/6 6/9/6 -f 9/15/1 10/16/1 12/17/1 11/18/1 -f 11/19/2 12/20/2 16/21/2 15/22/2 -f 15/22/3 16/21/3 14/23/3 13/24/3 -f 13/24/4 14/23/4 10/16/4 9/15/4 -f 11/25/5 15/26/5 13/23/5 9/21/5 -f 16/26/6 12/27/6 10/16/6 14/23/6 -f 17/28/1 18/29/1 20/30/1 19/31/1 -f 19/32/2 20/33/2 24/34/2 23/35/2 -f 23/35/3 24/34/3 22/36/3 21/37/3 -f 21/37/4 22/36/4 18/29/4 17/28/4 -f 19/22/5 23/24/5 21/36/5 17/34/5 -f 24/24/6 20/15/6 18/29/6 22/36/6 diff --git a/mods/ITEMS/mcl_chests/models/mcl_chests_chest_double.b3d b/mods/ITEMS/mcl_chests/models/mcl_chests_chest_double.b3d index 8d79b8ff79a0c3af2eb9fbd211c391404b8fbca9..87c69b4a7b0d8b80e6ffb21db8b1d7f96447ca77 100644 GIT binary patch literal 5210 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 OeAC|7Rtf8yEbjlLThJQ- diff --git a/mods/ITEMS/mcl_chests/models/mcl_chests_shulker.b3d b/mods/ITEMS/mcl_chests/models/mcl_chests_shulker.b3d index 2592f86a0c299a010b242645a50ae98584eeab64..58508348a84fb38a46d28fcd6909c46132ba412b 100644 GIT binary patch literal 24473 zcmds;d3;sXwZ{(-kVyyvl7x9m!W^bBY0f1CFhCd*WC%(aWeB4Tf(+SAGKI0A4RyqK zBRsJ!l&U}`E7ni7<%1$mtDg$gzVeE7rb-`zZ?C<6H|Hid^{oA8-}Cm=a32#g$7ki=!JpB0SJ&F@L_yinRgKHY>ON8&=W^7a4d$$#V|FU{r^iA* zZd=87g!%(###iM%sN&iJp0E5nLT&Y!={hRkQ}R`~4t#F~pKeS2nYN+tsLEHSkx+kS z-dO0lnf^jP-IjcgbEu%8EcW0tWn|em)(!J%j-D_3`mDK-qCbN#$#C$Maa;DGKg}sU z7SlH1`RIDt=k-Uv3jLw2@m1N@8#7&Rh5qzd$j5D~_>NG2;7r>p??DyU7Vv!K-w|r7 z$4u98neI`@r@w=I6|Mu{TfwK>Qh%mx=sT+Ng|{v9#zN21^cV8!wj8TbFBOz6$!T0h zHr#jd>XQM_r&6d)z6q~{o-g~Tt>?RJIM1idm@Bp=pGu)NUVn5C*ypt+-(|y9<*TZ# zH)f|oe|#O}^ZKjotK2p;X686Ps7zz=e3h@4#_TwBZQhvadp#ew%$*)}`{hf4Gq1`I5?gXP*u|U-nU3&&O>& zpVDLY`eTlKNiLP?JJ=T}_jzr}H`Z`f`KoH`joGQtA72Ogy#6ZtD!2Vt_khOY-IvPO zOJlxluE`rSeXr;9zSp~d?4!1o?+dpLjRp75?4cnax25OnwPhc*O>)O)re~$mMy!Pl z?aL%Jw8HJw(&d_3qqNfYO?4{Q)vC94r?%F5s8hLt);qP<*V+(uD&M8Gk=AIfjZvra z-CCP!ZKAaq>Qs)?8ml!%Yjf18+)8Uptu3^+MxDy-w6@jSMr(VmRHt&h){a^`XiY$! z%AK`#(weBX3+hzvuC<$1IwSQ!oyxtm_SBlBwKwWiPS)C2YagxsP^a=htpl|7*E$Gw zD(i>g+^h8-t@UP_1cNhoesA5n9u=-lugW>Qo-BHACwt ztz%H9a;DaCTE}Y5LY>MJwBE0Eyw-`RQ#o7fWUZ65PC=c@Q?)**^#QFps8f0H==6;G z+LG)uKbNG^xiMCEK6m!?S;lofd332MIDvq^JScng0z>!1NgXqKsF{IqSA(q%OOul% zijA3^RHTVXf-|O>m{g}pN1n z$w_E3lh7n5p$Shylbxh18#CFdNE4rgCOrvFZW5aGBoqK7H2Fzrl9SNnC!s(fp&%fk z$xcE+KtcgQLcu^nlb(cvfrJ8s#7qKh160vMK|zwr#smiyDF{d?I7lc^NGM21C>Tg6 zNJuDPNGMoHC@4rMSV$;vNGNDXC^$$cXhsct|LaNGOO%C|F1+h)5`) zNGO;{C}>D1m`EtFNOIUXBZp4TY7xux88M)KBz{yVeh?=j7O^B^5pN=vHViEy7I7KALVh{bv> zVw+lw7wf*LU+fJc7W;>Y)yo8lh{Zl6VzF0=SnOvawxz{*u`i1H#oj4m+gOYNd$6cq z?9(C^d%1|kelKF_z^g^X;@lu&akdb#IDd#(oKZw9&M_huXB`oX^N@(`W^sRUt`hZ& zvzLg)`Ao#(3@2i7&J(dX3yN5r7ey@2lp+@AP7#Z=27FAm0%6i=0HnB5x6~$ZbR{@*fe497)6? zj}o!SwL~oPF%gTLO~fLv6S2tsL@e?{5sMsB#3IiWvB*V5Eb>(mi=0-(BJUNk$c;rT z@@El?99zU94;Qh>)kQ4wc@c}8U&P|QfQZGr0}(sTV(pu5!OpN?XIikcEZEr=>_Zmp z91C`?1v}4zoo~VBTCfW&*o7ACA`5o01-rz8U24HTY{4$GV3%94D=gTR7VIMy>?#X( zwFUdA1-r(AU2DOvvtZX-uz41&vS2q@up2GdO&08C3wDbI`q-!EU!;cUZ7H zE!cbuc9#Xa+k)L=!S1zS_gS#}Em-;m<0Sp!art7i8>s!~3n&Fu`k%Jp%AL~Bioah} zZZ-3fa;wAEfQ^E!30n*H4%phTbztkl)`P7NdnarI*oLstu#I5vg5`JG%H{Xf%H?;_ z%H{XW%H?;+%EkNPfAiljDz_)DyB93KQ&KL!FH$bQ3sNq>=TR=d!%;53pHVKqdr>aG zS5Yp%Gf^(T4^b|^>rgJg$51X!5SkkSSbn#lTz+q$Tz)5@+%$a7xx8{YPggGI;L1gQ z{r~Fsi-;d{e=5a~GPgtj;5czYvG$`Z$C8ZYc$2XllQNd$R>pE{%UF(o8Ov*gjOBGi z#`0PtV|hK2vAkx(oodA*jgyr#=oUiW1z?+r2* z`-dowV>$RmY@7w#9PEeZe#Xmkg+1H+e;~z3`Tv(ukDq(amu-oD5AAu;mu&_1z_?d^ z+16m^zVTaMwhh>O23+)I+k#ELdBvA)2X zc=_DvsHrK>__BO9b=2wi{MRTxzdEW-V$io=KI1xS(a58|ET4lN<&65dFUx0TN8L_3 z>C5tY+EJM|Py4cb=62Nh!r%C^d@gs?dx>xRvLRr`%J)J=ZNulVzHUf>t;$y)`?8z^ z=y}%fZ@w(&366@|b={ZcT*6T~1FDCHQ$F7AujEmC)wj;zVj5~1{m}JG(;Eb+@WT)E zxpK+=W6T=EW=0Pwq0cxcan!BkmI11V--CI>at-_Sx!)O<^A<;KDeV$4XxROFqhPFI zUzy#cls@C!#!-JO>Sx$$V99932+-`6TbThWRL2;| z&id+SDZl?odR*#%Ei>#$0yO*26WIY%0!#Pfqjk;9)cUCVy3*Qu45I)9XUvFT`6HS; zW(`cpV22vqG}o{Z8U877{Z<#J-_%&u-9MlXS2XYJ>}1i2it$CKYKseFZ=nk6TsI0 zj_<>dUE4&ki7)%JlfYhH>(5RG+hm+Sn+>)@vOhZoY*IIW_5q82AG8?nRIrl!kONk7 zf2V|xlECkDESo6f|~1@PAoc$<|uc?;q&qH!9F`c1yC#>!}6OoOuwIHPjPo{yAq!Zpk=@H zh7Dh?bY`34RF>LsLanIXnDbEIn9LgEE#w~j-Dq$hm zf^Dk|8y@pFYwf!Cy9_6G$*jE6%*l0LSOm6x>(+RTFBwuo!Ho z;Y$r0zWyGW7~^({c|Y!SQAX*}23HH0fIZ%Hp+{xp0m9VpjFo5r+dMGk;OH@DZ>buMCUm_m6L{ zHU0i}ecO_~^REY2fqiXNAcF0AYMo(UPpw_@=Ocd%t_FMQ?*k&(DG#nUY~5B@i{Cr; zdhk)OV}|#RV1IX>+2l9R7N_MN53T{*cYoIiHo85Z&mO6Dr1)CP!@;#+KY71n1Uq#q zvxTL5ig)!m7+eST&33H~8~)rjY|nG23{uTb^;ub*(tSs8J=lKhVj|d>qj~P8E~;7k zOPR%geoY1Qz)tw8Q3N}sEYJP0wbN|k>ORGP8L>2|z<#~0o?*kE@s4+RynpW#S9~mO zW^e=8ITvbFN%sz-8Uq-8SLJFUX5T+f5U8W=hH<42M!8u0Xr%GPZ8{@@0dL> zXmgRDw{rG{#!98FfU&48Jc)#Ck zwz~eay6Ru_JAF9&uHas<@8(A4^W4r+#~U6#HEMmM;6AXm`u*$o1Q)(|_SFw>MhEwU zmAo$r{eE%5VzaU-rzrolZmwv~hsI9b>72-1JK2iAU-bT{R$rTu8n98YHDPPP-T_-1 zwhnAv*m|(_Vef=(0NW5Y8nzMaU9gQ|@xI#U?-!LDYk1|x!8V6&0oxL`6>MwRHn44B z+rhSn?Eu>mHXb$sHW9WHY-iXmuw7xh!FGr30h?s(zx&@WDmNY1GXi!b>?qg_*wL_K zV8_CagXO$Wxml=lzNTEx#gxl=mU20VQZDC5%H`Zgx!GvPIg4^1K%H|9h(+9rSj4u7Mf{6ctPvs>>xhWOS|ehy z9*J12St1tenux{PCt|Taidd|nA{Ohch{akgVzFL}*rpUrv`_JVMa9bdRe8MKZBQB8 z%z}-vV0n*`je++e8OwW>jOG1I#`2ygV|ibcvAlQ6*ftjTm-k>8}ii!InC7VJ_B z_F)TlnFYJtf?Z+3uC!nuv0ztOu&XWDM=jVj7VKIJcAW*g-h$1uV3h^C!Ghgr!EUl( wH(RhLfQA7unDqc*aRVAE3^t~6`wbv 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 diff --git a/mods/ITEMS/mcl_chests/models/mcl_chests_shulker.obj b/mods/ITEMS/mcl_chests/models/mcl_chests_shulker.obj deleted file mode 100644 index ca12b682e..000000000 --- a/mods/ITEMS/mcl_chests/models/mcl_chests_shulker.obj +++ /dev/null @@ -1,159 +0,0 @@ -# Blender v2.79 (sub 0) OBJ File: 'shulkerbox2.blend' -# www.blender.org -mtllib shulkerbox2.mtl -o low1_Cube.006 -v -0.500000 -0.500001 0.500000 -v -0.500000 0.062499 0.500000 -v -0.500000 -0.500001 -0.500000 -v -0.500000 0.062499 -0.500000 -v 0.500000 -0.500001 0.500000 -v 0.500000 0.062499 0.500000 -v 0.500000 -0.500001 -0.500000 -v 0.500000 0.062499 -0.500000 -vt 0.250000 0.187500 -vt -0.000000 0.187500 -vt -0.000000 0.312500 -vt 0.250000 0.312500 -vt 1.000000 0.187500 -vt 0.750000 0.187500 -vt 0.750000 0.312500 -vt 1.000000 0.312500 -vt 0.500000 0.187500 -vt 0.500000 0.312500 -vt 0.750000 0.562500 -vt 0.750000 0.312500 -vt 0.500000 0.312500 -vt 0.500000 0.562500 -vt 0.500000 0.562500 -vt 0.250000 0.562500 -vn 1.0000 0.0000 0.0000 -vn 0.0000 0.0000 1.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 1.0000 0.0000 -vn 0.0000 -1.0000 0.0000 -usemtl None -s off -f 1/1/1 3/2/1 4/3/1 2/4/1 -f 3/5/2 7/6/2 8/7/2 4/8/2 -f 7/6/3 5/9/3 6/10/3 8/7/3 -f 5/9/4 1/1/4 2/4/4 6/10/4 -f 3/11/5 1/12/5 5/13/5 7/14/5 -f 8/15/6 6/10/6 2/4/6 4/16/6 -o top1_Cube.005 -v -0.500313 -0.220552 0.500313 -v -0.500313 0.530073 0.500313 -v -0.500313 -0.220552 -0.500313 -v -0.500313 0.530073 -0.500313 -v 0.500313 -0.220552 0.500313 -v 0.500313 0.530073 0.500313 -v 0.500313 -0.220552 -0.500313 -v 0.500313 0.530073 -0.500313 -vt 0.250000 0.562500 -vt -0.000000 0.562500 -vt -0.000000 0.750000 -vt 0.250000 0.750000 -vt 1.000000 0.562500 -vt 0.750000 0.562500 -vt 0.750000 0.750000 -vt 1.000000 0.750000 -vt 0.500000 0.562500 -vt 0.500000 0.750000 -vt 0.750000 1.000000 -vt 0.750000 0.750000 -vt 0.500000 0.750000 -vt 0.500000 1.000000 -vt 0.500000 1.000000 -vt 0.250000 1.000000 -vn 1.0000 0.0000 0.0000 -vn 0.0000 0.0000 1.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 1.0000 0.0000 -vn 0.0000 -1.0000 0.0000 -usemtl None -s off -f 9/17/7 11/18/7 12/19/7 10/20/7 -f 11/21/8 15/22/8 16/23/8 12/24/8 -f 15/22/9 13/25/9 14/26/9 16/23/9 -f 13/25/10 9/17/10 10/20/10 14/26/10 -f 11/27/11 9/28/11 13/29/11 15/30/11 -f 16/31/12 14/26/12 10/20/12 12/32/12 -o top2_Cube.002 -v -0.500247 -0.220392 0.500247 -v -0.500247 0.530234 0.500247 -v -0.500247 -0.220392 -0.500378 -v -0.500247 0.530234 -0.500378 -v 0.500378 -0.220392 0.500247 -v 0.500378 0.530234 0.500247 -v 0.500378 -0.220392 -0.500378 -v 0.500378 0.530234 -0.500378 -vt 0.250000 0.562500 -vt 0.250000 0.750000 -vt -0.000000 0.750000 -vt -0.000000 0.562500 -vt 1.000000 0.562500 -vt 1.000000 0.750000 -vt 0.750000 0.750000 -vt 0.750000 0.562500 -vt 0.500000 0.750000 -vt 0.500000 0.562500 -vt 0.750000 1.000000 -vt 0.500000 1.000000 -vt 0.500000 0.750000 -vt 0.750000 0.750000 -vt 0.500000 1.000000 -vt 0.250000 1.000000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0000 0.0000 1.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 1.0000 0.0000 -usemtl None -s off -f 17/33/13 18/34/13 20/35/13 19/36/13 -f 19/37/14 20/38/14 24/39/14 23/40/14 -f 23/40/15 24/39/15 22/41/15 21/42/15 -f 21/42/16 22/41/16 18/34/16 17/33/16 -f 19/43/17 23/44/17 21/45/17 17/46/17 -f 24/47/18 20/48/18 18/34/18 22/41/18 -o low2_Cube.001 -v -0.499935 -0.499936 0.499935 -v -0.499935 0.062565 0.499935 -v -0.499935 -0.499936 -0.500066 -v -0.499935 0.062565 -0.500066 -v 0.500066 -0.499936 0.499935 -v 0.500066 0.062565 0.499935 -v 0.500066 -0.499936 -0.500066 -v 0.500066 0.062565 -0.500066 -vt 0.250000 0.187500 -vt 0.250000 0.312500 -vt -0.000000 0.312500 -vt -0.000000 0.187500 -vt 1.000000 0.187500 -vt 1.000000 0.312500 -vt 0.750000 0.312500 -vt 0.750000 0.187500 -vt 0.500000 0.312500 -vt 0.500000 0.187500 -vt 0.750000 0.562500 -vt 0.500000 0.562500 -vt 0.500000 0.312500 -vt 0.750000 0.312500 -vt 0.500000 0.562500 -vt 0.250000 0.562500 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0000 0.0000 1.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 1.0000 0.0000 -usemtl None -s off -f 25/49/19 26/50/19 28/51/19 27/52/19 -f 27/53/20 28/54/20 32/55/20 31/56/20 -f 31/56/21 32/55/21 30/57/21 29/58/21 -f 29/58/22 30/57/22 26/50/22 25/49/22 -f 27/59/23 31/60/23 29/61/23 25/62/23 -f 32/63/24 28/64/24 26/50/24 30/57/24 diff --git a/mods/ITEMS/mcl_chests/textures/default_chest_front.png b/mods/ITEMS/mcl_chests/textures/default_chest_front.png deleted file mode 100644 index 866a33984935daa1f97dd6ff0673b0ce26d15eda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^d_c_4!VDzUtRA}qDa8Pv5LaboWgQ(IPfyRnFqcR- zb6Z>6ns}eiEI&y}Nk2P-i3LID*4T6d6_J zad7P^owY}9%s7}kbz|YlRVi%SOTIsvv_^z&`7(ABSpz`i$ QD9{BAp00i_>zopr0QFTx;{X5v diff --git a/mods/ITEMS/mcl_chests/textures/default_chest_front_big.png b/mods/ITEMS/mcl_chests/textures/default_chest_front_big.png deleted file mode 100644 index bde28667376f63f8d8767f7d2e5b9f738ce27214..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^{2iEWDwvSq z^Hrlvzl^18$(f8Y&N7b#0by_ECLNVyt5|syCLDMm#B+%+f^>9rY;A2NB_%)cPL2mE&hd0{45?sDP6#n8G72!_OGxlE)GjP2W;49f z*t3LzO<6rzH9dJLLtDp8g$uVD64pdX0m0TRMxWgv6j9w2EyUdHxy#FI(Tc$%Gj?oHX%v;#HrAFj(3ECi*c7Fd$ry0&2hd&yPgg&ebxsLQ033im A3S$>|Lo)Zg#UP$~}1yq*g>Eakt!6vEw&#NZR}fB!eo=SzVh!iPlsqbxua*# q$R_(=ziX+K{qOJAf+^8|{xFFA6W4n!DfAs^8-u5-pUXO@geCxaHAZFt diff --git a/mods/ITEMS/mcl_chests/textures/default_chest_top_big.png b/mods/ITEMS/mcl_chests/textures/default_chest_top_big.png deleted file mode 100644 index de56e2cabff2009d5a2f76bcbbf9e1cff39d5525..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^{6Ngd!VDytmPFqHQqloFA+E~G$~rnawzjsBZsvty zE)xraIDneZoGc?#%rJ^NDxtU%y@PfH7&eT=tZu`mI1a89ZJ6T-G@yGywo7okfZO diff --git a/mods/ITEMS/mcl_chests/textures/mcl_chests_black_shulker_box_top.png b/mods/ITEMS/mcl_chests/textures/mcl_chests_black_shulker_box_top.png deleted file mode 100644 index a8564e42e7f78ca08161c7a570242c1950c35dce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-t_FstHg?Wx>e`-OA*zou3Ufn!(f6&t;uc GLK6U%A_P)EX>4Tx04R}tkv&MmP!xqvQ;Q-MhjtKg$WWauNELC^DionYs1;guFnQ@8G-*gu zTpR`0f`dPcRRQHpmtPfoUlBkM5rmMCnPtpLQX0PXbx++?cX6KO-}h$?s0E7w0g-r?8KzCVK|H-_ z8=UuvqpU2e#OK80CS8#Dk?V@bZ=6dm3p_JwW;64|QDU*w#Yz{mvZ)bI5yw=bb>jVfs16O*-Uuyz0pQJZB zTI>iI+y*YLJDRcwT zjFl*R-RIqX-E;f5r#-(PFD!D5_eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{000t6L_t(I%VS^|1*2dTi~T%77XSbN diff --git a/mods/ITEMS/mcl_chests/textures/mcl_chests_blue_shulker_box_top.png b/mods/ITEMS/mcl_chests/textures/mcl_chests_blue_shulker_box_top.png deleted file mode 100644 index 608887df42c6eeede558e45a9ae57c5ad4ebb7fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-u6Eu99?>;c_Srr;O(EC5 zfW-YhT^vIy7?Tr31vwKgBr!Do`MxfBtKqc<|XYWJ2T9tQ8E* z-kK8%7z<<9wMiLmXlct!C`e4Wb>e}P)PLb6wX8QZ7?h<&ByYK$pA9sc!PC{xWt~$( F69A)LHJtze diff --git a/mods/ITEMS/mcl_chests/textures/mcl_chests_brown_shulker_box_top.png b/mods/ITEMS/mcl_chests/textures/mcl_chests_brown_shulker_box_top.png deleted file mode 100644 index 95b6cbdc859cf90f3f33092d43bd013c8febfda6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-u8x+5KF&541{!g`uA7^u zUk8f&d%8G=R4^tdhzfEhTu5SQ`tyHbBabByPZN*L|Nq6ns}dy1woxzev*=ses%`_9Z4sFic36Q978G?lM_P93=0i~5)wj-^|L*>5)yh0 zva=0YKQ;Hp`ou6xxVSnyJ2Nvs{Bnkqhlgj5vE;NF7V6cKyA5=*KWm&m<-vIAS!%50 zS)RPN4u6jwt^?3nJ;lRSBna%Xj4YVzb|o}T6SD#mA;M76FNBLml0#XtLeyPAOZ OGkCiCxvXbP0l+XkKDTYG% diff --git a/mods/ITEMS/mcl_chests/textures/mcl_chests_chest_right.png b/mods/ITEMS/mcl_chests/textures/mcl_chests_chest_right.png deleted file mode 100644 index 4536ada868f20bab059136cbc2554c8e12246833..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^d_c_4!VDzUtRA}qDY*cj5LZ7tgGe{?!Z4Sbc%RNJ zzljAw%F4<*Iy$ztwvv*Pi&wjH09EFBx;TbZFxq;DGBP;|)ShOI;5X2||NQ=Q)(IRD zj79+r-ra|P*f0i9S~A&#ZTE{+d{tkZ#buThO)^QWt~vT}fBy5cX`A;qPSiSbJ6$Yt zs(pFPmQa3M+rQ@=*Uxz!##)m4Yu&kpr6ns}dy1woxzev*=ses%`_9Z4sFic36Q978G?lM_P93=0i~5)wj-^|L*>5)yh0 zva=0YKQ;Hp`ou6xxVSnyJ2Nvs{Bnkqhlgj5vE;NF7V6cKyA5=*KWm&m<-vIAS!%50 zS)RPN4u6jwt^?3nJ;lRSBna%Xj4YVzb|o}T6SD#mA;M76FNBLml0#XtLeyPAOZ OGkCiCxvXavnrv1J)omqZa=30`Hl74muaR#cf&L$HJf)eMPwE}7{_jGX#sbGxl z4QFCj;BcNOxc%$D<+&T`OKr>qHM8E;Iq0KHcHG*)2Zm5juje zZFl{D81>p$;ALLd8J_+?Uo*C}JiC&*hw0m{z2Ff(zJo1c$47%b=5rr@Z%P!qVK$>Z koue;O$(bv#=f)B7Q*tbeBHnFy0(1g{r>mdKI;Vst0GrlQzyJUM diff --git a/mods/ITEMS/mcl_chests/textures/mcl_chests_chest_trapped_front_big.png b/mods/ITEMS/mcl_chests/textures/mcl_chests_chest_trapped_front_big.png deleted file mode 100644 index b65bfc2319006a0d0f7a8e484d1ba9b58c1bccee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^{2hbEm6-h|&`Knc>KaWGi^XAqYsufO5%`+mT1fD1uo|8#nXk=lVo-pAXHz&`! zW9OEhTPiLoVK%#3v|W7vT!xf4Q8H3*l=nw`^S3j3^P6bP0l+XkKDTYG% diff --git a/mods/ITEMS/mcl_chests/textures/mcl_chests_chest_trapped_right.png b/mods/ITEMS/mcl_chests/textures/mcl_chests_chest_trapped_right.png deleted file mode 100644 index 4536ada868f20bab059136cbc2554c8e12246833..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^d_c_4!VDzUtRA}qDY*cj5LZ7tgGe{?!Z4Sbc%RNJ zzljAw%F4<*Iy$ztwvv*Pi&wjH09EFBx;TbZFxq;DGBP;|)ShOI;5X2||NQ=Q)(IRD zj79+r-ra|P*f0i9S~A&#ZTE{+d{tkZ#buThO)^QWt~vT}fBy5cX`A;qPSiSbJ6$Yt zs(pFPmQa3M+rQ@=*Uxz!##)m4Yu&kprf^>9rY;A2NB_%)cPL2mE&hd0{45?sDP6#n8G72!_OGxlE)GjP2W;49f z*t3LzO<6rzH9dJLLtDp8g$uVD64pdX0m0TRMxWgv6j9w2EyUdHxy#FI(Tc$%Gj?oHX%v;#HrAFj(3ECi*c7Fd$ry0&2hd&yPgg&ebxsLQ033im A3S$>|Lo)Zg#UP$~}1yq*g>Eakt!6vEw&#NZR}fB!eo=SzVh!iPlsqbxua*# q$R_(=ziX+K{qOJAf+^8|{xFFA6W4n!DfAs^8-u5-pUXO@geCxaHAZFt diff --git a/mods/ITEMS/mcl_chests/textures/mcl_chests_chest_trapped_top_big.png b/mods/ITEMS/mcl_chests/textures/mcl_chests_chest_trapped_top_big.png deleted file mode 100644 index de56e2cabff2009d5a2f76bcbbf9e1cff39d5525..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^{6Ngd!VDytmPFqHQqloFA+E~G$~rnawzjsBZsvty zE)xraIDneZoGc?#%rJ^NDxtU%y@PfH7&eT=tZu`mI1a89ZJ6T-G@yGywo7okfZO diff --git a/mods/ITEMS/mcl_chests/textures/mcl_chests_cyan_shulker_box_top.png b/mods/ITEMS/mcl_chests/textures/mcl_chests_cyan_shulker_box_top.png deleted file mode 100644 index d8fe60f50880bb5e87e44349fbb16a93213fbbae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-u6EG{9@#Zk{@FgY{j0<8 zr~$?OJzX3_Dj1U!L*zou3Ufn!(f6&t;uc GLK6U3wlv=W diff --git a/mods/ITEMS/mcl_chests/textures/mcl_chests_dark_green_shulker_box_top.png b/mods/ITEMS/mcl_chests/textures/mcl_chests_dark_green_shulker_box_top.png deleted file mode 100644 index a0d32088b96cebed97815314574d1c58ed9fbcc2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-t~P1T?#1p#k)ENg{tI5; zuLFwvd%8G=R4^tdhzfEhTu5SQ`tyHbBabByPZN*L|Nq;AFb!}2c8(P}(5(*L%Zk>1_CG}r;NiFLQ4F+Xt5y@L_=Vt?rX7F_Nb6Mw< G&;$Sp!!#rS diff --git a/mods/ITEMS/mcl_chests/textures/mcl_chests_ender_chest_back.png b/mods/ITEMS/mcl_chests/textures/mcl_chests_ender_chest_back.png deleted file mode 100644 index 7cfbe1d7d0518c5235007907599185a9b49d05ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^d_c_4!VDzUtRA}qDbWC*5Z8kAnEHy0kiY;dV`FV) z6&HK^9ZPt7&C@O)mAd`*`q%u+PpnO@U5E)-9}sV`H11TB{Jc!QvdY`C mi;vu740AIxd_KkQH}fU~G1irq{YQb;F?hQAxvXt<8 diff --git a/mods/ITEMS/mcl_chests/textures/mcl_chests_ender_chest_front.png b/mods/ITEMS/mcl_chests/textures/mcl_chests_ender_chest_front.png deleted file mode 100644 index bbc68e78baa2027de6a2e4e1137dc6c10abdae3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^d_c_4!VDzUtRA}qDTx4|5Z8kAnEHwgD`R7AWfd2D z`;fqZ4Ynk{_%GaTw&~#6-Da&Vv(FrMSDPYrUE2M` wYMz502CkmZ_(WHye0m^JqtJG3SI|QFEfYlbPYZPN0BvRPboFyt=akR{03pyrH2?qr diff --git a/mods/ITEMS/mcl_chests/textures/mcl_chests_ender_chest_left.png b/mods/ITEMS/mcl_chests/textures/mcl_chests_ender_chest_left.png deleted file mode 100644 index 1a0ceaef2138483cce59c3c770661f08ccd3b5cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^d_c_4!VDzUtRA}qDbWC*5Z8kAnEHwgD`R7AWfd2D z`;fqZ5@kTu{2|$6@|y n-^Dc=F#^jL$t67d^isaXKxD!mrP&vO)-iax`njxgN@xNA$-qQH diff --git a/mods/ITEMS/mcl_chests/textures/mcl_chests_ender_chest_right.png b/mods/ITEMS/mcl_chests/textures/mcl_chests_ender_chest_right.png deleted file mode 100644 index f547532f2c65062d8d6e55a608fa098e1541a94f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^d_c_4!VDzUtRA}qDbWC*5Z8kAnEHwgD`R7AWfd2D z`;fqZz76W(Xq6kZ(K mcwvvq3J!BqwyO6>yX6bEi6pkX-7E~Wj=|H_&t;ucLK6UN)J1y$ diff --git a/mods/ITEMS/mcl_chests/textures/mcl_chests_ender_chest_top.png b/mods/ITEMS/mcl_chests/textures/mcl_chests_ender_chest_top.png deleted file mode 100644 index c109aa826e57f79e906869f5822ff6f7baa8d771..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^d?3ui3?$#C89V|~q5(c3t_A5a^%WV~$|_dI#>t^> zF81~zfdOnrLDoP8sh%#5Ar*|aXE*XPD+;(=blk-xAbTfi8-v?+!y--v4Th9o`Ufov zO)l=?f3Dj7nPdIN-@n~Dj;WdJ-IZCb5P5Es)|S`Hzp*Xdxar`EIddw?q_XFjcE$)_ nFRt6H;4$g(pV;S**MDZ6TqG*|pCMfvXd#2AtDnm{r-UW|l`lek diff --git a/mods/ITEMS/mcl_chests/textures/mcl_chests_green_shulker_box_top.png b/mods/ITEMS/mcl_chests/textures/mcl_chests_green_shulker_box_top.png deleted file mode 100644 index 513612da937cd6fafbf9199fe0c2f3d3b33b7fe2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-uHJ>NadrOIsqSU{VOQT4 zNdm?FJzX3_Dj1U!L*zou3Ufn!(f6&t;uc GLK6UPyfqR4 diff --git a/mods/ITEMS/mcl_chests/textures/mcl_chests_grey_shulker_box_top.png b/mods/ITEMS/mcl_chests/textures/mcl_chests_grey_shulker_box_top.png deleted file mode 100644 index e483f6ed7e9e361eef2bd103d1ab2ffabffef987..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-u0CgX#jXah-JWV_{|NnCv{P^=<`^1CKrXdp=pJuIK zVD{FWP{3FiyRJ>jXhTa|UP3`)!mSezq@?}}FR5j{p~0XmEh2f#?fh(@(F~rhelF{r G5}E+Qt~J8| diff --git a/mods/ITEMS/mcl_chests/textures/mcl_chests_lightblue_shulker_box_top.png b/mods/ITEMS/mcl_chests/textures/mcl_chests_lightblue_shulker_box_top.png deleted file mode 100644 index 9efc68fe02943fa4897a6aa53af5214364853144..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-uF;iKQ#uw!X7{B{U&Q(T zu0BxQ-_yl0q=GRyK~#`4;X)Ea)1Utf8+j~wc$#=@{{QDT`0?kz_K63dO+zL$KFwOe z!0fF#p@6Y4c3qp4(T0|`yo7?pgj**bNJ;${UQ)|?LxVwCT14`e+xgi*qZvG1{an^L HB{Ts5_Bu90 diff --git a/mods/ITEMS/mcl_chests/textures/mcl_chests_magenta_shulker_box_top.png b/mods/ITEMS/mcl_chests/textures/mcl_chests_magenta_shulker_box_top.png deleted file mode 100644 index 9f167d4d9008df4128ddc28b88ba5bfc38c8626c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-uI0XEt)We&E-6zYTOWtm zO#+Jhd%8G=R4^tdhzfEhTu5SQ`tyHbBabByPZN*L|Nq*zou3Ufn!(f6&t;uc GLK6VqmNU2j diff --git a/mods/ITEMS/mcl_chests/textures/mcl_chests_pink_shulker_box_top.png b/mods/ITEMS/mcl_chests/textures/mcl_chests_pink_shulker_box_top.png deleted file mode 100644 index a69548c31a1b7ae93f1dcea41676d7184f777ca6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-t~2vztf*KzEwy!5-Lhx) zf-iyM{+=$5Ar*|t38I3W2^W$Wn*RJ>*vMna!_&lL^Z!4$!H+-xwNE_wY#K75@oCly z24-)~2?dOWvFqBTj5f5igTe~ HDWM4fW572# diff --git a/mods/ITEMS/mcl_chests/textures/mcl_chests_red_shulker_box_top.png b/mods/ITEMS/mcl_chests/textures/mcl_chests_red_shulker_box_top.png deleted file mode 100644 index 8c458cdd9a69e900655e84a7c322f44ddc951a4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-t~KT+UDnpc1}c+1J=F`{ zZGqzco-U3d6^zLVqJo?W7m^s7{`_Cq$YaUF)5K%*|3A0Ek3avlPdxZ+8Zx2rY1Rq` zW^c_21&oEU>)ND@HngwWJzX3_Dj1U!L*zou3Ufn!(f6&t;uc GLK6UTm^B>$ diff --git a/mods/ITEMS/mcl_chests/textures/mcl_chests_white_shulker_box_top.png b/mods/ITEMS/mcl_chests/textures/mcl_chests_white_shulker_box_top.png deleted file mode 100644 index 8c12525bdf596b33881e2bde1d6c6c503f096d13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-u8Wqe+P>>Z--PMsFFxeW zea8V5_xE&h45?sDP7oF3Ot_H5(Ddj3!bToT9-by1oB#j04SxLjuYKadXVZ`gjZd>y zFfe;-PAFh3j9u3zWwfECEia)UG2zyU2U1f1g_qQ_-q2uBmKKq`<#v8H&}arvS3j3^ HP65%I< z^%YRu-_yl0q=GRyK~#`4;X)Ea)1Utf8+j~wc$#=@{{QDT`0?kz_K63dO+zL$KFwOe z!0fF#p@6Y4c3qp4(T0|`yo7?pgj**bNJ;${UQ)|?LxVwCT14`e+xgi*qZvG1{an^L HB{Ts5x!pCo From 8da8040324016bc1f60ef858831e0efd1d2e0105 Mon Sep 17 00:00:00 2001 From: AFCMS Date: Sat, 15 Oct 2022 15:32:03 +0200 Subject: [PATCH 27/65] mcl_explosions_fixes - use new vectors - remove deprecated use of vector.new() - add some type annotations --- mods/CORE/mcl_explosions/init.lua | 51 ++++++++++++++++++------------- 1 file changed, 29 insertions(+), 22 deletions(-) diff --git a/mods/CORE/mcl_explosions/init.lua b/mods/CORE/mcl_explosions/init.lua index cb9af5c79..b67c7c6a2 100644 --- a/mods/CORE/mcl_explosions/init.lua +++ b/mods/CORE/mcl_explosions/init.lua @@ -130,10 +130,10 @@ local function add_particles(pos, radius) time = 0.125, minpos = pos, maxpos = pos, - minvel = {x = -radius, y = -radius, z = -radius}, - maxvel = {x = radius, y = radius, z = radius}, - minacc = vector.new(), - maxacc = vector.new(), + minvel = vector.new(-radius, -radius, -radius), + maxvel = vector.new(radius, radius, radius), + minacc = vector.zero(), + maxacc = vector.zero(), minexptime = 0.5, maxexptime = 1.0, minsize = radius * 0.5, @@ -207,7 +207,7 @@ local function trace_explode(pos, strength, raydirs, radius, info, direct, sourc local npos_z = math.floor(rpos_z + 0.5) local npos = { x = npos_x, y = npos_y, z = npos_z } local idx = (npos_z - emin_z) * zstride + (npos_y - emin_y) * ystride + - npos_x - emin_x + 1 + npos_x - emin_x + 1 local cid = data[idx] local br = node_blastres[cid] or INDESTRUCT_BLASTRES @@ -288,7 +288,7 @@ local function trace_explode(pos, strength, raydirs, radius, info, direct, sourc rdir_y = rdir_y / rdir_len rdir_z = rdir_z / rdir_len - for i=0, rdir_len / STEP_LENGTH do + for i = 0, rdir_len / STEP_LENGTH do rpos_x = rpos_x + rdir_x * STEP_LENGTH rpos_y = rpos_y + rdir_y * STEP_LENGTH rpos_z = rpos_z + rdir_z * STEP_LENGTH @@ -296,7 +296,7 @@ local function trace_explode(pos, strength, raydirs, radius, info, direct, sourc local npos_y = math.floor(rpos_y + 0.5) local npos_z = math.floor(rpos_z + 0.5) local idx = (npos_z - emin_z) * zstride + (npos_y - emin_y) * ystride + - npos_x - emin_x + 1 + npos_x - emin_x + 1 local cid = data[idx] @@ -333,16 +333,17 @@ local function trace_explode(pos, strength, raydirs, radius, info, direct, sourc end if sleep_formspec_doesnt_close_mt53 then - minetest.after(0.3, function() -- 0.2 is minimum delay for closing old formspec and open died formspec -- TODO: REMOVE THIS IN THE FUTURE - if not obj:is_player() then - return - end - mcl_util.deal_damage(obj, damage, {type = "explosion", direct = direct, source = source}) + minetest.after(0.3, + function() -- 0.2 is minimum delay for closing old formspec and open died formspec -- TODO: REMOVE THIS IN THE FUTURE + if not obj:is_player() then + return + end + mcl_util.deal_damage(obj, damage, { type = "explosion", direct = direct, source = source }) - obj:add_velocity(vector.multiply(punch_dir, impact * 20)) - end) + obj:add_velocity(vector.multiply(punch_dir, impact * 20)) + end) else - mcl_util.deal_damage(obj, damage, {type = "explosion", direct = direct, source = source}) + mcl_util.deal_damage(obj, damage, { type = "explosion", direct = direct, source = source }) if obj:is_player() or ent.tnt_knockback then obj:add_velocity(vector.multiply(punch_dir, impact * 20)) @@ -388,23 +389,24 @@ local function trace_explode(pos, strength, raydirs, radius, info, direct, sourc -- We use bulk_set_node instead of LVM because we want to have on_destruct and -- on_construct being called if #airs > 0 then - bulk_set_node(airs, {name="air"}) + bulk_set_node(airs, { name = "air" }) end if #fires > 0 then - bulk_set_node(fires, {name="mcl_fire:fire"}) + bulk_set_node(fires, { name = "mcl_fire:fire" }) end -- Update falling nodes - for a=1, #airs do + for a = 1, #airs do local p = airs[a] - check_for_falling({x=p.x, y=p.y+1, z=p.z}) + check_for_falling(vector.offset(p, 0, 1, 0)) end - for f=1, #fires do + for f = 1, #fires do local p = fires[f] - check_for_falling({x=p.x, y=p.y+1, z=p.z}) + check_for_falling(vector.offset(p, 0, 1, 0)) end -- Log explosion - minetest.log("action", "Explosion at "..pos_to_string(pos).." with strength "..strength.." and radius "..radius) + minetest.log("action", "Explosion at " .. pos_to_string(pos) .. " with strength " .. strength .. " and radius " .. + radius) end -- Create an explosion with strength at pos. @@ -428,6 +430,11 @@ end -- griefing - If true, the explosion will destroy nodes (default: true) -- grief_protected - If true, the explosion will also destroy nodes which have -- been protected (default: false) +---@param pos Vector +---@param strength number +---@param info {drop_chance: number, max_blast_resistance: number, sound: boolean, particles: boolean, fire: boolean, griefing: boolean, grief_protected: boolean} +---@param direct? ObjectRef +---@param source? ObjectRef function mcl_explosions.explode(pos, strength, info, direct, source) if info == nil then info = {} From 9f16bfe6c5af16d424f2cfd5186d5624f27128fd Mon Sep 17 00:00:00 2001 From: AFCMS Date: Sat, 15 Oct 2022 15:21:01 +0200 Subject: [PATCH 28/65] mcl_attached fixes - deprecated usage of vector.new() - use new vectors everywhere - use `minetest` instead of `core` - make some more functions local --- mods/CORE/mcl_attached/init.lua | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/mods/CORE/mcl_attached/init.lua b/mods/CORE/mcl_attached/init.lua index c4a7a3337..2013dbde2 100644 --- a/mods/CORE/mcl_attached/init.lua +++ b/mods/CORE/mcl_attached/init.lua @@ -5,6 +5,8 @@ -- Nodes in group "supported_node" can be placed on any node that does not -- have the "airlike" drawtype. Carpets are an example of this type. +local pairs = pairs +local math = math local vector = vector local facedir_to_dir = minetest.facedir_to_dir @@ -22,15 +24,17 @@ local add_item = minetest.add_item -- We need this to do the exact same dropping node handling in our override -- minetest.check_single_for_falling() function as in the builtin function. -- +---@param p Vector local function drop_attached_node(p) local n = get_node(p) local drops = get_node_drops(n, "") local def = registered_nodes[n.name] + if def and def.preserve_metadata then local oldmeta = get_meta(p):to_table().fields -- Copy pos and node because the callback can modify them. - local pos_copy = vector.new(p) - local node_copy = {name=n.name, param1=n.param1, param2=n.param2} + local pos_copy = vector.copy(p) + local node_copy = { name = n.name, param1 = n.param1, param2 = n.param2 } local drop_stacks = {} for k, v in pairs(drops) do drop_stacks[k] = ItemStack(v) @@ -38,16 +42,18 @@ local function drop_attached_node(p) drops = drop_stacks def.preserve_metadata(pos_copy, node_copy, oldmeta, drops) end + if def and def.sounds and def.sounds.fall then - core.sound_play(def.sounds.fall, {pos = p}, true) + minetest.sound_play(def.sounds.fall, { pos = p }, true) end + remove_node(p) for _, item in pairs(drops) do - local pos = { - x = p.x + math.random()/2 - 0.25, - y = p.y + math.random()/2 - 0.25, - z = p.z + math.random()/2 - 0.25, - } + local pos = vector.offset(p, + math.random() / 2 - 0.25, + math.random() / 2 - 0.25, + math.random() / 2 - 0.25 + ) add_item(pos, item) end end @@ -90,4 +96,3 @@ function minetest.check_single_for_falling(pos) return false end - From ddb64421d0aaf6dc692eb038324db7d432445cbe Mon Sep 17 00:00:00 2001 From: cora Date: Sat, 22 Oct 2022 13:01:33 +0200 Subject: [PATCH 29/65] Add missing texture for zombie horse the one in pixelperfection seems to be the mc one - this one is made from horse_grey and horse_skeleton by me, cora, cc0 --- .../mobs_mc/textures/mobs_mc_horse_zombie.png | Bin 0 -> 1587 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_zombie.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_zombie.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_zombie.png new file mode 100644 index 0000000000000000000000000000000000000000..b6f3522f3cc31c834dff6ee4042bddeb782e830d GIT binary patch literal 1587 zcmV-32F&@1P)%fG7DH>frM0004WQchCk7C}j&BK^u%lIidrc8o-41F(HKl|-UHaOrU zaQDI_jx2pz?XI*d=0M*8ls?;%Bi%FK2{7jLSiz35LztjYXQ=hWUrhjaV*!FQ<|RxS z(iHoJjey~ucmX&mH5en{G*L<=Ap%f=M!@HPzq;E1t~KZ80Y4$pd66VL04Po%zp@J8 zIP~d@jOHHraKs@D(FW7~08uT$amDEQO^nUAxNNjRINbvfdRYP7SoEIXjK}>O2RuL< zgk;1pnZC9`Af?ogvTSyJp8$@>>1)9I>#41;Y~{)~tISRRG3n0PyIe>KNj<0k=QOZ?l9s0{$$(MiiPt0IkFTxW{e|17`O> zj@8O&0OWQG3D@u2L8MK62?@mmdufL#Wv+1tHusooG%&FZq=CZ@O1Q89v^oiC&@+)` z6eYkz)w5LLh4k6hG^odzxk3ns1G{k}GRA%lXv+FVKw(Fm`wk2k>)e`__W)1>1o%RD zH0}ce^rwgS00!I}419spqD{FU9X2AmTvW49hBYGr_k<6J0i3zjH1K)&M_m{0Z3lk% z$_u#=zAbLjguP4hA_H1%Xm=b0N&33ezE!L-{s;iwbY%dks*mhHf9}#i|2BZM z)Bwo$TP}sY^w!QvmLjZUEtA$JLn``-9aVq0cZq>QAb$~ zngOr}kn2AT;2*8-vFC7j(Qh>3(G&JKNv>;M7AAp>IwBl<^l~`tHyZJI-s6`VSU{$} z8$j~+#nz$qba-{-&w)AdyQog>=vT#p2@y-QfsZefRWjWP;3eR=4#2Dccy`E4UJ^j9 zl5g(>;9fw0h~(JEF!+3tTt(0f_|*sy6+jRmz_cL|Kmmy<4HNS(5C+IPvxOaZtV&YD zo`E2kT;Tu;NDG+ctTP6)(z)J%0q=@60*EN4?CeCL$_o)OP`NGv*(AB9Je#W36;3c{ z1b8KYMdw5({8(qSsVBt@}FxNpvRTeyKr0fMBAOaVstiItGw0=n!uPpn6jF z-4fsu;8GV?)S0}^G;W-eCEE?aMczx3)atFHDqNVzgt*L{KK5t^po^p&8Gt)tWw6-j zAwVEZ#O;X#)PM|4X~rGdfvzZ{jvmMcbO!f!pN}Xf3)Wq;RIRB}LD#MAWN!i#7-czT z9{fK?8xo*f*fPb8%NK9apkN8h*|~Njs&Y>>8<-Hw+?Y2yne$V7 z0Wf9Qu7U?o0rY~^V5WY5F-P9&r|texJ=h2S@nIK$s@7aN1~5r2fT!hrr_}>b_W=r> z-@O1lyaN0l>;lB|Tz4(tQrW2HioaOGN2QlL0I?k1Xhz%rN?hV41J5xb)Y4SZ5U8av z4`7P^M!=brUA(-|-kTVY=#2AEx-7#v7uCa#&B*BTqB3(^oG2Qvesb}bCbw}O2yPz$ zwj7CLa5Aj4P-1C+X(?yerfk!JDotu>wSCNl0cbrhl$ue~+7-cJ!2EHpErEt({?Vk7 zS%GHRn*caqMG%>d&tyU4bulZodJ_OI##hpG_X1UD^q*SI%)0Kg+T~~`V1wxx;?3jy zF@vD1^>?!8nN+CMH`;uM0PpIH`38OJL755;0E8Hgy;|Ksa=Km$)A$xZE3LHBN-M3j l(n>3>w9-l|t+cXN{s(91=v`0cXm|hs002ovPDHLkV1nl;)@uL& literal 0 HcmV?d00001 From b9d58c2f79d93f3d30194f4246da1200d8d05d4b Mon Sep 17 00:00:00 2001 From: ancientmarinerdev Date: Sun, 23 Oct 2022 22:16:35 +0100 Subject: [PATCH 30/65] Cows and villagers can go into attack state and become non-functional --- mods/ENTITIES/mobs_mc/cow+mooshroom.lua | 1 + mods/ENTITIES/mobs_mc/villager.lua | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/mods/ENTITIES/mobs_mc/cow+mooshroom.lua b/mods/ENTITIES/mobs_mc/cow+mooshroom.lua index eebe16f98..d0f7178bd 100644 --- a/mods/ENTITIES/mobs_mc/cow+mooshroom.lua +++ b/mods/ENTITIES/mobs_mc/cow+mooshroom.lua @@ -6,6 +6,7 @@ local cow_def = { description = S("Cow"), type = "animal", spawn_class = "passive", + passive = true, hp_min = 10, hp_max = 10, xp_min = 1, diff --git a/mods/ENTITIES/mobs_mc/villager.lua b/mods/ENTITIES/mobs_mc/villager.lua index 87650e128..7df4c6ea7 100644 --- a/mods/ENTITIES/mobs_mc/villager.lua +++ b/mods/ENTITIES/mobs_mc/villager.lua @@ -610,7 +610,7 @@ local function go_home(entity, sleep) mcl_log("Cannot find bed. Unset it") return end - + if vector.distance(entity.object:get_pos(),b) < 2 then if sleep then entity.order = SLEEP @@ -1576,6 +1576,7 @@ mcl_mobs:register_mob("mobs_mc:villager", { description = S("Villager"), type = "npc", spawn_class = "passive", + passive = true, hp_min = 20, hp_max = 20, head_swivel = "head.control", From 063325082dca076acc89fe08f14eeb74b790ae6b Mon Sep 17 00:00:00 2001 From: epCode Date: Sun, 23 Oct 2022 21:23:50 +0000 Subject: [PATCH 31/65] undelcared global yaw in mob api fix Fixes #2839 --- mods/ENTITIES/mcl_mobs/api.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/ENTITIES/mcl_mobs/api.lua b/mods/ENTITIES/mcl_mobs/api.lua index e1192c37a..48f1517bb 100644 --- a/mods/ENTITIES/mcl_mobs/api.lua +++ b/mods/ENTITIES/mcl_mobs/api.lua @@ -3525,7 +3525,7 @@ local mob_punch = function(self, hitter, tflp, tool_capabilities, dir) -- if skittish then run away if hitter and is_player and hitter:get_pos() and not die and self.runaway == true and self.state ~= "flop" then - yaw = set_yaw(self, minetest.dir_to_yaw(vector.direction(hitter:get_pos(), self.object:get_pos()))) + local yaw = set_yaw(self, minetest.dir_to_yaw(vector.direction(hitter:get_pos(), self.object:get_pos()))) minetest.after(0.2,function() if self and self.object and self.object:get_pos() and hitter and is_player and hitter:get_pos() then yaw = set_yaw(self, minetest.dir_to_yaw(vector.direction(hitter:get_pos(), self.object:get_pos()))) From 58a4a9d048ee17dc585f5700a35b8c97f2606d38 Mon Sep 17 00:00:00 2001 From: cora Date: Mon, 24 Oct 2022 02:47:56 +0200 Subject: [PATCH 32/65] Set signs debug output to default to false --- mods/ITEMS/mcl_signs/signs_api.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/ITEMS/mcl_signs/signs_api.lua b/mods/ITEMS/mcl_signs/signs_api.lua index b5643a1c2..b189caa01 100644 --- a/mods/ITEMS/mcl_signs/signs_api.lua +++ b/mods/ITEMS/mcl_signs/signs_api.lua @@ -6,7 +6,7 @@ --local logging = minetest.settings:get_bool("mcl_logging_mcl_signs",true) -local DEBUG = minetest.settings:get_bool("mcl_logging_mcl_signs", true) -- special debug setting. +local DEBUG = minetest.settings:get_bool("mcl_logging_mcl_signs", false) -- special debug setting. local table = table -- copied from the original signs init file. if DEBUG then From 97c062a1ef26671de08e3a28ff7b875881d58bd6 Mon Sep 17 00:00:00 2001 From: epCode Date: Mon, 24 Oct 2022 20:14:37 +0000 Subject: [PATCH 33/65] fix cave spiders not the correct size/eyes being damageable --- mods/ENTITIES/mobs_mc/spider.lua | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/mods/ENTITIES/mobs_mc/spider.lua b/mods/ENTITIES/mobs_mc/spider.lua index e94f804d6..1d68256b3 100644 --- a/mods/ENTITIES/mobs_mc/spider.lua +++ b/mods/ENTITIES/mobs_mc/spider.lua @@ -12,6 +12,7 @@ local S = minetest.get_translator("mobs_mc") -- Spider by AspireMint (fishyWET (CC-BY-SA 3.0 license for texture) minetest.register_entity("mobs_mc:spider_eyes", { + pointable = false, visual = "mesh", mesh = "mobs_mc_spider.b3d", visual_size = {x=1.01/3, y=1.01/3}, @@ -121,8 +122,21 @@ cave_spider.textures = { {"mobs_mc_cave_spider.png^(mobs_mc_spider_eyes.png^[mak cave_spider.damage = 3 -- damage increased to undo non-existing poison cave_spider.hp_min = 1 cave_spider.hp_max = 12 -cave_spider.collisionbox = {-0.35, -0.01, -0.35, 0.35, 0.49, 0.35} -cave_spider.visual_size = {x=1.66666, y=1.5} +cave_spider.collisionbox = {-0.35, -0.01, -0.35, 0.35, 0.46, 0.35} +cave_spider.visual_size = {x=0.55,y=0.5} +cave_spider.on_spawn = function(self) + self.object:set_properties({visual_size={x=0.55,y=0.5}}) + local spider_eyes=false + for n = 1, #self.object:get_children() do + local obj = self.object:get_children()[n] + if obj:get_luaentity() and self.object:get_luaentity().name == "mobs_mc:spider_eyes" then + spider_eyes = true + end + end + if not spider_eyes then + minetest.add_entity(self.object:get_pos(), "mobs_mc:spider_eyes"):set_attach(self.object, "body.head", vector.new(0,-0.98,2), vector.new(90,180,180)) + end +end cave_spider.walk_velocity = 1.3 cave_spider.run_velocity = 3.2 cave_spider.sounds = table.copy(spider.sounds) From 970011e02b13cbc23084f78b649bd5a7097e7ac3 Mon Sep 17 00:00:00 2001 From: epCode Date: Mon, 24 Oct 2022 19:27:07 +0000 Subject: [PATCH 34/65] make mob constant for velocity rotate with mob. this simply makes the constant value for continually adding velocity to a mob rotate when the mob rotates. this is because the constant velocity value was not called often enough. --- mods/ENTITIES/mcl_mobs/api.lua | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mods/ENTITIES/mcl_mobs/api.lua b/mods/ENTITIES/mcl_mobs/api.lua index 6ea40b40c..45245622e 100644 --- a/mods/ENTITIES/mcl_mobs/api.lua +++ b/mods/ENTITIES/mcl_mobs/api.lua @@ -443,8 +443,14 @@ local set_yaw = function(self, yaw, delay, dtime) if math.abs(target_shortest_path) > 280*ddtime then if target_shortest_path > 0 then self.object:set_yaw(self.object:get_yaw()+3.6*ddtime) + if self.acc then + self.acc=vector.rotate_around_axis(self.acc,vector.new(0,1,0), 3.6*ddtime) + end else self.object:set_yaw(self.object:get_yaw()-3.6*ddtime) + if self.acc then + self.acc=vector.rotate_around_axis(self.acc,vector.new(0,1,0), -3.6*ddtime) + end end end From 3432734c37388d2adbcdfe398e906988bfefbfae Mon Sep 17 00:00:00 2001 From: AFCMS Date: Mon, 24 Oct 2022 23:38:51 +0200 Subject: [PATCH 35/65] Refactor mcl_dripping --- mods/ENTITIES/mcl_dripping/init.lua | 91 +++++++++++++++++++++-------- 1 file changed, 68 insertions(+), 23 deletions(-) diff --git a/mods/ENTITIES/mcl_dripping/init.lua b/mods/ENTITIES/mcl_dripping/init.lua index 0a5b3d08c..f03ba3b24 100644 --- a/mods/ENTITIES/mcl_dripping/init.lua +++ b/mods/ENTITIES/mcl_dripping/init.lua @@ -3,53 +3,98 @@ -- License of code, textures & sounds: CC0 local math = math -local function make_drop(pos,liquid,sound,interval) + +mcl_dripping = {} + + +---@param pos Vector +---@param liquid string +---@param sound SimpleSoundSpec +---@param interval integer +---@param texture string +local function make_drop(pos, liquid, sound, interval, texture) local pt = { - velocity = vector.new(0,0,0), + velocity = vector.zero(), collision_removal = false, } + local t = math.random() + math.random(1, interval) - minetest.after(t,function() + + minetest.after(t, function() local x, z = math.random(-45, 45) / 100, math.random(-45, 45) / 100 - pt.pos = vector.offset(pos,x,-0.52,z) - pt.acceleration = vector.new(0,0,0) + + pt.pos = vector.offset(pos, x, -0.52, z) + pt.acceleration = vector.zero() pt.collisiondetection = false pt.expirationtime = t - pt.texture="[combine:2x2:" .. -math.random(1, 16) .. "," .. -math.random(1, 16) .. "=default_" .. liquid .. "_source_animated.png" + pt.texture = "[combine:2x2:" .. + -math.random(1, 16) .. "," .. -math.random(1, 16) .. "=" .. texture + minetest.add_particle(pt) - minetest.after(t,function() - pt.acceleration = vector.new(0,-5,0) + + minetest.after(t, function() + pt.acceleration = vector.new(0, -5, 0) pt.collisiondetection = true - pt.expirationtime = math.random() + math.random(1, interval/2) + pt.expirationtime = math.random() + math.random(1, interval / 2) + minetest.add_particle(pt) - minetest.sound_play({name = "drippingwater_" .. sound .. "drip"}, {pos = pos, gain = 0.5, max_hear_distance = 8}, true) + + minetest.sound_play(sound, { pos = pos, gain = 0.5, max_hear_distance = 8 }, + true) end) end) end -local function register_drop(liquid, glow, sound, nodes, interval, chance) +---@class mcl_dripping_drop_definition +---@field liquid string The group the liquid's nodes belong to +---@field texture string The texture used (particles will take a random 2x2 area of it) +---@field light integer Define particle glow, ranges from `0` to `minetest.LIGHT_MAX` +---@field nodes string[] The nodes (or node group) the particles will spawn under +---@field interval integer The interval for the ABM to run +---@field chance integer The chance of the ABM +---@field sound SimpleSoundSpec The sound that will be played then the particle detaches from the roof + +---@param def mcl_dripping_drop_definition +function mcl_dripping.register_drop(def) minetest.register_abm({ label = "Create drops", - nodenames = nodes, - neighbors = {"group:" .. liquid}, - interval = interval, - chance = chance, + nodenames = def.nodes, + neighbors = { "group:" .. def.liquid }, + interval = def.interval, + chance = def.chance, action = function(pos) - local r = math.ceil(interval / 20) - local nn=minetest.find_nodes_in_area(vector.offset(pos,-r,0,-r),vector.offset(pos,r,0,r),nodes) + local r = math.ceil(def.interval / 20) + local nn = minetest.find_nodes_in_area(vector.offset(pos, -r, 0, -r), vector.offset(pos, r, 0, r), def.nodes) --start a bunch of particle cycles to be able to get away --with longer abm cycles table.shuffle(nn) - for i=1,math.random(#nn) do - if minetest.get_item_group(minetest.get_node(vector.offset(nn[i], 0, 1, 0)).name, liquid) ~= 0 - and minetest.get_node(vector.offset(nn[i], 0, -1, 0)).name == "air" then - make_drop(nn[i],liquid,sound,interval) + for i = 1, math.random(#nn) do + if minetest.get_item_group(minetest.get_node(vector.offset(nn[i], 0, 1, 0)).name, def.liquid) ~= 0 + and minetest.get_node(vector.offset(nn[i], 0, -1, 0)).name == "air" then + make_drop(nn[i], def.liquid, def.sound, def.interval, def.texture) end end end, }) end -register_drop("water", 1, "", {"group:opaque", "group:leaves"},60,10) -register_drop("lava", math.max(7, minetest.registered_nodes["mcl_core:lava_source"].light_source - 3), "lava", {"group:opaque"},60,10) +mcl_dripping.register_drop({ + liquid = "water", + texture = "default_water_source_animated.png", + light = 1, + nodes = { "group:opaque", "group:leaves" }, + sound = "drippingwater_drip", + interval = 60, + chance = 10, +}) + +mcl_dripping.register_drop({ + liquid = "lava", + texture = "default_lava_source_animated.png", + light = math.max(7, minetest.registered_nodes["mcl_core:lava_source"].light_source - 3), + nodes = { "group:opaque" }, + sound = "drippingwater_lavadrip", + interval = 60, + chance = 10, +}) From 4d6e79b07f467fc7e2b38967ca77816b2bf312df Mon Sep 17 00:00:00 2001 From: AFCMS Date: Mon, 24 Oct 2022 23:50:16 +0200 Subject: [PATCH 36/65] Rewrite mcl_dripping README to Markdown, add API exemple and update infos --- mods/ENTITIES/mcl_dripping/README.md | 36 +++++++++++++++++++++++++++ mods/ENTITIES/mcl_dripping/readme.txt | 29 --------------------- 2 files changed, 36 insertions(+), 29 deletions(-) create mode 100644 mods/ENTITIES/mcl_dripping/README.md delete mode 100644 mods/ENTITIES/mcl_dripping/readme.txt diff --git a/mods/ENTITIES/mcl_dripping/README.md b/mods/ENTITIES/mcl_dripping/README.md new file mode 100644 index 000000000..d6ff75ff1 --- /dev/null +++ b/mods/ENTITIES/mcl_dripping/README.md @@ -0,0 +1,36 @@ +# mcl_dripping + +Dripping Mod by kddekadenz, modified for MineClone 2 by Wuzzy, NO11 and AFCM + +## Manual + +- drops are generated rarely under solid nodes +- they will stay some time at the generated block and than they fall down +- when they collide with the ground, a sound is played and they are destroyed + +Water and Lava have builtin drops registered. + +## License + +code & sounds: CC0 + +## API + +```lua +mcl_dripping.register_drop({ + -- The group the liquid's nodes belong to + liquid = "water", + -- The texture used (particles will take a random 2x2 area of it) + texture = "default_water_source_animated.png", + -- Define particle glow, ranges from `0` to `minetest.LIGHT_MAX` + light = 1, + -- The nodes (or node group) the particles will spawn under + nodes = { "group:opaque", "group:leaves" }, + -- The sound that will be played then the particle detaches from the roof, see SimpleSoundSpec in lua_api.txt + sound = "drippingwater_drip", + -- The interval for the ABM to run + interval = 60, + -- The chance of the ABM + chance = 10, +}) +``` diff --git a/mods/ENTITIES/mcl_dripping/readme.txt b/mods/ENTITIES/mcl_dripping/readme.txt deleted file mode 100644 index afe35608e..000000000 --- a/mods/ENTITIES/mcl_dripping/readme.txt +++ /dev/null @@ -1,29 +0,0 @@ -Dripping Mod -by kddekadenz - -modified for MineClone 2 by Wuzzy and NO11 - - -Installing instructions: - - 1. Copy the mcl_dripping mod folder into games/gamemode/mods - - 2. Start game and enjoy :) - - -Manual: - --> drops are generated rarely under solid nodes --> they will stay some time at the generated block and than they fall down --> when they collide with the ground, a sound is played and they are destroyed - - -License: - -code & sounds: CC0 - - -Changelog: - -16.04.2012 - first release -28.04.2012 - drops are now 3D; added lava drops; fixed generating of drops (not at edges now) From b89a9375da4127ee0fe9508019a187b0eb0d49e2 Mon Sep 17 00:00:00 2001 From: epCode Date: Tue, 25 Oct 2022 18:51:40 +0000 Subject: [PATCH 37/65] Some performance improvements also add a bit to make mobs look at any player getting too close --- mods/ENTITIES/mcl_mobs/api.lua | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/mods/ENTITIES/mcl_mobs/api.lua b/mods/ENTITIES/mcl_mobs/api.lua index 45245622e..1d67f5f72 100644 --- a/mods/ENTITIES/mcl_mobs/api.lua +++ b/mods/ENTITIES/mcl_mobs/api.lua @@ -4059,12 +4059,13 @@ local mob_step = function(self, dtime) -- end rotation if self.head_swivel and type(self.head_swivel) == "string" then + local final_rotation = vector.new(0,0,0) local oldp,oldr = self.object:get_bone_position(self.head_swivel) for _, obj in pairs(minetest.get_objects_inside_radius(pos, 10)) do if obj:is_player() and not self.attack or obj:get_luaentity() and obj:get_luaentity().name == self.name and self ~= obj:get_luaentity() then if not self._locked_object then - if math.random(5000/self.curiosity) == 1 then + if math.random(5000/self.curiosity) == 1 or vector.distance(pos,obj:get_pos())<4 and obj:is_player() then self._locked_object = obj end else @@ -4096,30 +4097,36 @@ local mob_step = function(self, dtime) local direction_player = vector.direction(vector.add(self.object:get_pos(), vector.new(0, self.head_eye_height*.7, 0)), vector.add(player_pos, vector.new(0, _locked_object_eye_height, 0))) local mob_yaw = math.deg(-(-(self_rot.y)-(-minetest.dir_to_yaw(direction_player))))+self.head_yaw_offset local mob_pitch = math.deg(-dir_to_pitch(direction_player))*self.head_pitch_multiplier - if (mob_yaw < -60 or mob_yaw > 60) and not (self.attack and self.type == "monster") then - mcl_util.set_bone_position(self.object,self.head_swivel, vector.new(0,self.bone_eye_height,self.horrizonatal_head_height), vector.multiply(oldr, 0.9)) - elseif self.attack and self.type == "monster" then + + if (mob_yaw < -60 or mob_yaw > 60) and not (self.attack and self.state == "attack") then + final_rotation = vector.multiply(oldr, 0.9) + elseif self.attack and self.state == "attack" then if self.head_yaw == "y" then - mcl_util.set_bone_position(self.object,self.head_swivel, vector.new(0,self.bone_eye_height,self.horrizonatal_head_height), vector.new(mob_pitch, mob_yaw, 0)) + final_rotation = vector.new(mob_pitch, mob_yaw, 0) elseif self.head_yaw == "z" then - mcl_util.set_bone_position(self.object,self.head_swivel, vector.new(0,self.bone_eye_height,self.horrizonatal_head_height), vector.new(mob_pitch, 0, -mob_yaw)) + final_rotation = vector.new(mob_pitch, 0, -mob_yaw) end + else + if self.head_yaw == "y" then - mcl_util.set_bone_position(self.object,self.head_swivel, vector.new(0,self.bone_eye_height,self.horrizonatal_head_height), vector.new(((mob_pitch-oldr.x)*.3)+oldr.x, ((mob_yaw-oldr.y)*.3)+oldr.y, 0)) + final_rotation = vector.new(((mob_pitch-oldr.x)*.3)+oldr.x, ((mob_yaw-oldr.y)*.3)+oldr.y, 0) elseif self.head_yaw == "z" then - mcl_util.set_bone_position(self.object,self.head_swivel, vector.new(0,self.bone_eye_height,self.horrizonatal_head_height), vector.new(((mob_pitch-oldr.x)*.3)+oldr.x, 0, -(((mob_yaw-oldr.y)*.3)+oldr.y)*3)) + final_rotation = vector.new(((mob_pitch-oldr.x)*.3)+oldr.x, 0, -(((mob_yaw-oldr.y)*.3)+oldr.y)*3) end end end elseif not self._locked_object and math.abs(oldr.y) > 3 and math.abs(oldr.x) < 3 then - mcl_util.set_bone_position(self.object,self.head_swivel, vector.new(0,self.bone_eye_height,self.horrizonatal_head_height), vector.multiply(oldr, 0.9)) + final_rotation = vector.multiply(oldr, 0.9) else - mcl_util.set_bone_position(self.object,self.head_swivel, vector.new(0,self.bone_eye_height,self.horrizonatal_head_height), vector.new(0,0,0)) + final_rotation = vector.new(0,0,0) end + mcl_util.set_bone_position(self.object,self.head_swivel, vector.new(0,self.bone_eye_height,self.horrizonatal_head_height), final_rotation) + end + -- run custom function (defined in mob lua file) if self.do_custom then From 70beaf6b3d7ee541264d0d9be9d345c15134154a Mon Sep 17 00:00:00 2001 From: epCode Date: Tue, 25 Oct 2022 18:52:51 +0000 Subject: [PATCH 38/65] Give mobs more room to judge a jump --- mods/ENTITIES/mcl_mobs/api.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mods/ENTITIES/mcl_mobs/api.lua b/mods/ENTITIES/mcl_mobs/api.lua index 1d67f5f72..83520589e 100644 --- a/mods/ENTITIES/mcl_mobs/api.lua +++ b/mods/ENTITIES/mcl_mobs/api.lua @@ -1429,8 +1429,8 @@ local do_jump = function(self) end -- where is front - local dir_x = -sin(yaw) * (self.collisionbox[4] + 0.5)*jump_c_multiplier+.4 - local dir_z = cos(yaw) * (self.collisionbox[4] + 0.5)*jump_c_multiplier+.4 + local dir_x = -sin(yaw) * (self.collisionbox[4] + 0.5)*jump_c_multiplier+0.6 + local dir_z = cos(yaw) * (self.collisionbox[4] + 0.5)*jump_c_multiplier+0.6 -- what is in front of mob? nod = node_ok({ From 636e5545a74c7468713094bb66395a5e5f3ffc72 Mon Sep 17 00:00:00 2001 From: epCode Date: Tue, 25 Oct 2022 18:54:57 +0000 Subject: [PATCH 39/65] Attacking mobs don't care if they cant make a jump. they try anyway --- mods/ENTITIES/mcl_mobs/api.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/ENTITIES/mcl_mobs/api.lua b/mods/ENTITIES/mcl_mobs/api.lua index 83520589e..f2016f69c 100644 --- a/mods/ENTITIES/mcl_mobs/api.lua +++ b/mods/ENTITIES/mcl_mobs/api.lua @@ -1448,7 +1448,7 @@ local do_jump = function(self) }, "air") -- we don't attempt to jump if there's a stack of blocks blocking - if minetest.registered_nodes[nodTop.name].walkable == true then + if minetest.registered_nodes[nodTop.name].walkable == true and not (self.attack and self.state == "attack") then return false end From de4c40f60aedb54db747c7a8fbb07b481e16c91e Mon Sep 17 00:00:00 2001 From: epCode Date: Tue, 25 Oct 2022 18:57:58 +0000 Subject: [PATCH 40/65] When mobs stop, don't stop animations easier fixes mob punch animation. --- mods/ENTITIES/mcl_mobs/api.lua | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mods/ENTITIES/mcl_mobs/api.lua b/mods/ENTITIES/mcl_mobs/api.lua index f2016f69c..77740a548 100644 --- a/mods/ENTITIES/mcl_mobs/api.lua +++ b/mods/ENTITIES/mcl_mobs/api.lua @@ -4001,7 +4001,11 @@ local mob_step = function(self, dtime) if not self.animation.walk_speed then self.animation.walk_speed = 25 end - self.object:set_animation_frame_speed((v2/math.max(1,self.run_velocity))*self.animation.walk_speed*self.frame_speed_multiplier) + if abs(v.x)+abs(v.z) > 0.5 then + self.object:set_animation_frame_speed((v2/math.max(1,self.run_velocity))*self.animation.walk_speed*self.frame_speed_multiplier) + else + self.object:set_animation_frame_speed(25) + end end --set_speed From 6fa85a3a0c797b0961fc4bbbd581f8be1316aba7 Mon Sep 17 00:00:00 2001 From: epCode Date: Tue, 25 Oct 2022 19:18:08 +0000 Subject: [PATCH 41/65] fix passive mobs twisting their heads unnaturally --- mods/ENTITIES/mcl_mobs/api.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mods/ENTITIES/mcl_mobs/api.lua b/mods/ENTITIES/mcl_mobs/api.lua index 77740a548..3a79fc8ce 100644 --- a/mods/ENTITIES/mcl_mobs/api.lua +++ b/mods/ENTITIES/mcl_mobs/api.lua @@ -4102,9 +4102,9 @@ local mob_step = function(self, dtime) local mob_yaw = math.deg(-(-(self_rot.y)-(-minetest.dir_to_yaw(direction_player))))+self.head_yaw_offset local mob_pitch = math.deg(-dir_to_pitch(direction_player))*self.head_pitch_multiplier - if (mob_yaw < -60 or mob_yaw > 60) and not (self.attack and self.state == "attack") then + if (mob_yaw < -60 or mob_yaw > 60) and not (self.attack and self.state == "attack" and not self.runaway) then final_rotation = vector.multiply(oldr, 0.9) - elseif self.attack and self.state == "attack" then + elseif self.attack and self.state == "attack" and not self.runaway then if self.head_yaw == "y" then final_rotation = vector.new(mob_pitch, mob_yaw, 0) elseif self.head_yaw == "z" then From 65289de86e2c079801ec740494115efb692350c6 Mon Sep 17 00:00:00 2001 From: epCode Date: Tue, 25 Oct 2022 23:00:03 +0000 Subject: [PATCH 42/65] Mobs jump over 1-2 block pits --- mods/ENTITIES/mcl_mobs/api.lua | 105 ++++++++++++++++++++++++++------- 1 file changed, 83 insertions(+), 22 deletions(-) diff --git a/mods/ENTITIES/mcl_mobs/api.lua b/mods/ENTITIES/mcl_mobs/api.lua index 3a79fc8ce..e7b0c45ea 100644 --- a/mods/ENTITIES/mcl_mobs/api.lua +++ b/mods/ENTITIES/mcl_mobs/api.lua @@ -1073,17 +1073,87 @@ local function within_limits(pos, radius) return true end +-- get node but use fallback for nil or unknown +local node_ok = function(pos, fallback) + + fallback = fallback or mcl_mobs.fallback_node + + local node = minetest.get_node_or_nil(pos) + + if node and minetest.registered_nodes[node.name] then + return node + end + + return minetest.registered_nodes[fallback] +end + + +local can_jump_cliff = function(self) + local yaw = self.object:get_yaw() + local pos = self.object:get_pos() + local v = self.object:get_velocity() + + local v2 = abs(v.x)+abs(v.z)*.833 + local jump_c_multiplier = 1 + if v2/self.walk_velocity/2>1 then + jump_c_multiplier = v2/self.walk_velocity/2 + end + + -- where is front + local dir_x = -sin(yaw) * (self.collisionbox[4] + 0.5)*jump_c_multiplier+0.6 + local dir_z = cos(yaw) * (self.collisionbox[4] + 0.5)*jump_c_multiplier+0.6 + + --is there nothing under the block in front? if so jump the gap. + local nodLow = node_ok({ + x = pos.x + dir_x-0.6, + y = pos.y - 0.5, + z = pos.z + dir_z-0.6 + }, "air") + + local nodFar = node_ok({ + x = pos.x + dir_x*2, + y = pos.y - 0.5, + z = pos.z + dir_z*2 + }, "air") + + local nodFar2 = node_ok({ + x = pos.x + dir_x*2.5, + y = pos.y - 0.5, + z = pos.z + dir_z*2.5 + }, "air") + + + if minetest.registered_nodes[nodLow.name] + and minetest.registered_nodes[nodLow.name].walkable ~= true + + + and (minetest.registered_nodes[nodFar.name] + and minetest.registered_nodes[nodFar.name].walkable == true + + or minetest.registered_nodes[nodFar2.name] + and minetest.registered_nodes[nodFar2.name].walkable == true) + + then + --disable fear heigh while we make our jump + self._jumping_cliff = true + minetest.after(1, function() + if self and self.object then + self._jumping_cliff = false + end + end) + return true + else + return false + end +end -- is mob facing a cliff or danger local is_at_cliff_or_danger = function(self) - if self.fear_height == 0 then -- 0 for no falling protection! + if self.fear_height == 0 or can_jump_cliff(self) or self._jumping_cliff or not self.object:get_luaentity() then -- 0 for no falling protection! return false end - if not self.object:get_luaentity() then - return false - end local yaw = self.object:get_yaw() local dir_x = -sin(yaw) * (self.collisionbox[4] + 0.5) local dir_z = cos(yaw) * (self.collisionbox[4] + 0.5) @@ -1116,7 +1186,7 @@ end local is_at_water_danger = function(self) - if not self.object:get_luaentity() then + if not self.object:get_luaentity() or can_jump_cliff(self) or self._jumping_cliff then return false end local yaw = self.object:get_yaw() @@ -1150,20 +1220,6 @@ local is_at_water_danger = function(self) end --- get node but use fallback for nil or unknown -local node_ok = function(pos, fallback) - - fallback = fallback or mcl_mobs.fallback_node - - local node = minetest.get_node_or_nil(pos) - - if node and minetest.registered_nodes[node.name] then - return node - end - - return minetest.registered_nodes[fallback] -end - -- environmental damage (water, lava, fire, light etc.) local do_env_damage = function(self) @@ -1447,6 +1503,7 @@ local do_jump = function(self) z = pos.z + dir_z }, "air") + -- we don't attempt to jump if there's a stack of blocks blocking if minetest.registered_nodes[nodTop.name].walkable == true and not (self.attack and self.state == "attack") then return false @@ -1458,7 +1515,7 @@ local do_jump = function(self) end local ndef = minetest.registered_nodes[nod.name] - if self.walk_chance == 0 or ndef and ndef.walkable then + if self.walk_chance == 0 or ndef and ndef.walkable or can_jump_cliff(self) then if minetest.get_item_group(nod.name, "fence") == 0 and minetest.get_item_group(nod.name, "fence_gate") == 0 @@ -1468,6 +1525,10 @@ local do_jump = function(self) v.y = self.jump_height + 0.1 * 3 + if can_jump_cliff(self) then + v=vector.multiply(v, vector.new(2.8,1,2.8)) + end + set_animation(self, "jump") -- only when defined self.object:set_velocity(v) @@ -4080,8 +4141,8 @@ local mob_step = function(self, dtime) end end - if self.attack then - self._locked_object = self.attack + if self.attack or self.following then + self._locked_object = self.attack or self.following end if self._locked_object and (self._locked_object:is_player() or self._locked_object:get_luaentity()) and self._locked_object:get_hp() > 0 then From 37e4dd55564d70c9a1d4b1089f9109410f90e118 Mon Sep 17 00:00:00 2001 From: ancientmarinerdev Date: Tue, 25 Oct 2022 20:24:37 +0100 Subject: [PATCH 43/65] Villagers will now path through doors. Villagers don't stand around whne not working. --- mods/ENTITIES/mcl_mobs/api.lua | 91 +++++++++++++++++++++++------- mods/ENTITIES/mobs_mc/villager.lua | 28 ++++++--- 2 files changed, 91 insertions(+), 28 deletions(-) diff --git a/mods/ENTITIES/mcl_mobs/api.lua b/mods/ENTITIES/mcl_mobs/api.lua index 45245622e..08e30e24e 100644 --- a/mods/ENTITIES/mcl_mobs/api.lua +++ b/mods/ENTITIES/mcl_mobs/api.lua @@ -2484,10 +2484,11 @@ local function check_doors(self) if n.name:find("_b_") then local def = minetest.registered_nodes[n.name] local closed = n.name:find("_b_1") - if t < 0.3 or t > 0.8 then - if not closed and def.on_rightclick then def.on_rightclick(d,n,self) end - else + if self.state == "gowp" then if closed and def.on_rightclick then def.on_rightclick(d,n,self) end + --if not closed and def.on_rightclick then def.on_rightclick(d,n,self) end + else + end end @@ -2498,7 +2499,7 @@ local gowp_etime = 0 local function check_gowp(self,dtime) gowp_etime = gowp_etime + dtime - if gowp_etime < 0.2 then return end + if gowp_etime < 0.1 then return end gowp_etime = 0 local p = self.object:get_pos() @@ -2509,7 +2510,7 @@ local function check_gowp(self,dtime) return end - -- arrived at location + -- arrived at location, finish gowp local distance_to_targ = vector.distance(p,self._target) mcl_log("Distance to targ: ".. tostring(distance_to_targ)) if distance_to_targ < 2 then @@ -2525,34 +2526,79 @@ local function check_gowp(self,dtime) return true end - if self.waypoints and ( not self.current_target or vector.distance(p,self.current_target) < 2 ) then + -- More pathing to be done + if self.waypoints and #self.waypoints > 0 and ( not self.current_target or vector.distance(p,self.current_target) < 2 ) then + -- We have waypoints, and no current target, or we're at it. We need a new current_target. + if not self.current_target then for i, j in pairs (self.waypoints) do - mcl_log("Way: ".. tostring(i)) mcl_log("Val: ".. tostring(j)) end - --mcl_log("nextwp:".. tostring(self.waypoints) ) end self.current_target = table.remove(self.waypoints, 1) - mcl_log("current target:".. tostring(self.current_target) ) + mcl_log("current target:".. minetest.pos_to_string(self.current_target) ) --mcl_log("type:".. type(self.current_target) ) go_to_pos(self,self.current_target) return elseif self.current_target then + -- No waypoints left, but have current target. Potentially last waypoint to go to. + + mcl_log("self.current_target: ".. minetest.pos_to_string(self.current_target)) + mcl_log("pos: ".. minetest.pos_to_string(p)) go_to_pos(self,self.current_target) + -- Do i just delete current_target, and return so we can find final path. + else + -- Not at target, no current waypoints or current_target. Through the door and should be able to path to target. + -- Is a little sensitive and could take 1 - 7 times. A 10 fail count might be a good exit condition. + + mcl_log("We don't have waypoints or a current target. Let's try to path to target") + local final_wp = minetest.find_path(p,self._target,150,1,4) + if final_wp then + mcl_log("We might be able to get to target here.") + self.waypoints = final_wp + --go_to_pos(self,self._target) + else + mcl_log("Cannot plot final route to target") + end end - if self.current_target and not minetest.line_of_sight(self.object:get_pos(),self.current_target) then - self.waypoints=minetest.find_path(p,self._target,150,1,4) - if not self.waypoints then self.state = "walk" end --give up - self.current_target = nil + --if self.current_target and not minetest.line_of_sight(self.object:get_pos(),self.current_target) then + if self.current_target and (self.waypoints and #self.waypoints == 0) then + local updated_p = self.object:get_pos() + local distance_to_cur_targ = vector.distance(updated_p,self.current_target) + + mcl_log("Distance to current target: ".. tostring(distance_to_cur_targ)) + mcl_log("Current p: ".. minetest.pos_to_string(updated_p)) + --if not minetest.line_of_sight(self.object:get_pos(),self._target) then + + -- 1.6 is good. is 1.9 better? It could fail less, but will it path to door when it isn't after door + if distance_to_cur_targ > 1.9 then + mcl_log("no LOS to target: ".. minetest.pos_to_string(self.current_target)) + go_to_pos(self,self._current_target) + else + mcl_log("Let's go to target: ".. minetest.pos_to_string(self.current_target)) + self.current_target = nil + --go_to_pos(self,self._target) + self.waypoints=minetest.find_path(updated_p,self._target,150,1,4) + --if not self.waypoints then + --mcl_log("Give up ") + --self.state = "walk" + --end --give up + end + + --self.waypoints=minetest.find_path(p,self._target,150,1,4) + --if not self.waypoints then + --mcl_log("Give up ") + --self.state = "walk" + --end --give up + --self.current_target = nil return end - if not self.current_target then - --mcl_log("no path") - self.state = "walk" - end + --if not self.current_target then + --mcl_log("no path. Give up") + --self.state = "walk" + --end end -- execute current state (stand, walk, run, attacks) @@ -2601,7 +2647,7 @@ local do_states = function(self, dtime) end -- npc's ordered to stand stay standing - if self.type == "npc" or (self.order == "stand" or self.order == "sleep" or self.order == "work") then + if self.order == "stand" or self.order == "sleep" or self.order == "work" then else if self.walk_chance ~= 0 @@ -3153,13 +3199,20 @@ function mcl_mobs:gopath(self,target,callback_arrived) local d = minetest.find_node_near(target,16,{"group:door"}) if d then --mcl_log("Found a door near") + local up_one = vector.new(0,1,0) for _,v in pairs(plane_adjacents) do local pos = vector.add(d,v) + local n = minetest.get_node(pos) if n.name == "air" then wp = minetest.find_path(p,pos,150,1,4) if wp then - --mcl_log("Found a path to next to door".. minetest.pos_to_string(pos)) + mcl_log("Found a path to next to door".. minetest.pos_to_string(pos)) + local other_side_of_door = vector.add(d,-v) + mcl_log("Opposite is: ".. minetest.pos_to_string(other_side_of_door)) + --other_side_of_door = vector.add(other_side_of_door, up_one) + --mcl_log("Opposite 2 is: ".. minetest.pos_to_string(other_side_of_door)) + table.insert(wp, other_side_of_door) break else diff --git a/mods/ENTITIES/mobs_mc/villager.lua b/mods/ENTITIES/mobs_mc/villager.lua index 7df4c6ea7..bd2d39002 100644 --- a/mods/ENTITIES/mobs_mc/villager.lua +++ b/mods/ENTITIES/mobs_mc/villager.lua @@ -577,9 +577,9 @@ function get_activity(tod) local lunch_start = 12000 - local lunch_end = 13500 - local work_start = 8500 - local work_end = 16300 + local lunch_end = 12500 + local work_start = 6500 + local work_end = 18000 local activity = nil @@ -817,7 +817,7 @@ local function look_for_job(self, requested_jobsites) local looking_for_type = jobsites if requested_jobsites then - mcl_log("Looking for jobs of my type: " .. tostring(requested_jobsites)) + --mcl_log("Looking for jobs of my type: " .. tostring(requested_jobsites)) looking_for_type = requested_jobsites else mcl_log("Looking for any job type") @@ -863,7 +863,7 @@ local function get_a_job(self) local requested_jobsites = jobsites if has_traded (self) then - --mcl_log("Has traded") + mcl_log("Has traded so look for job of my type") requested_jobsites = populate_jobsites(self._profession) -- Only pass in my jobsite to two functions here else @@ -1461,6 +1461,7 @@ local trade_inventory = { -- END OF SPECIAL HANDLING FOR COMPASS local trader = player_trading_with[name] local tradenum = player_tradenum[name] + local trades trader._traded = true if trader and trader._trades then @@ -1643,23 +1644,31 @@ mcl_mobs:register_mob("mobs_mc:villager", { return it end, on_rightclick = function(self, clicker) + if self.child or self._profession == "unemployed" or self._profession == "nitwit" then + self.order = nil + return + end + + if self.state == "gowp" then + self.state = "stand" + end + -- Can we remove now we possibly have fixed root cause if self.state == "attack" then - mcl_log("Somehow villager got into an invalid attack state. Removed.") + mcl_log("Somehow villager got into an invalid attack state. Removed attack state.") -- Need to stop villager getting in attack state. This is a workaround to allow players to fix broken villager. self.state = "stand" self.attack = nil end + -- Don't do at night. Go to bed? Maybe do_activity needs it's own method if validate_jobsite(self) then mcl_mobs:gopath(self,self._jobsite,function() --minetest.log("arrived at jobsite") end) else self.state = "stand" -- cancel gowp in case it has messed up + self.order = nil -- cancel work if working end - if self.child or self._profession == "unemployed" or self._profession == "nitwit" then - return - end -- Initiate trading init_trader_vars(self) local name = clicker:get_player_name() @@ -1733,6 +1742,7 @@ mcl_mobs:register_mob("mobs_mc:villager", { take_bed (self) end + -- Only check in day or during thunderstorm but wandered_too_far code won't work if check_bed (self) then --self.state ~= "go_home" local wandered_too_far = ( self.state ~= "gowp" ) and (vector.distance(self.object:get_pos(),self._bed) > 50 ) From eebea4a7a9fa92283eae7640556e08b6790cca4f Mon Sep 17 00:00:00 2001 From: ancientmarinerdev Date: Tue, 25 Oct 2022 23:53:55 +0100 Subject: [PATCH 44/65] Clean up and add pathfinding constant --- mods/ENTITIES/mcl_mobs/api.lua | 12 +++++++----- mods/ENTITIES/mobs_mc/villager.lua | 18 ++++++++++-------- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/mods/ENTITIES/mcl_mobs/api.lua b/mods/ENTITIES/mcl_mobs/api.lua index 08e30e24e..422857de4 100644 --- a/mods/ENTITIES/mcl_mobs/api.lua +++ b/mods/ENTITIES/mcl_mobs/api.lua @@ -13,6 +13,8 @@ local FLOP_HOR_SPEED = 1.5 local ENTITY_CRAMMING_MAX = 24 local CRAMMING_DAMAGE = 3 +local PATHFINDING = "gowp" + -- Localize local S = minetest.get_translator("mcl_mobs") @@ -2484,7 +2486,7 @@ local function check_doors(self) if n.name:find("_b_") then local def = minetest.registered_nodes[n.name] local closed = n.name:find("_b_1") - if self.state == "gowp" then + if self.state == PATHFINDING then if closed and def.on_rightclick then def.on_rightclick(d,n,self) end --if not closed and def.on_rightclick then def.on_rightclick(d,n,self) end else @@ -2661,7 +2663,7 @@ local do_states = function(self, dtime) end end - elseif self.state == "gowp" then + elseif self.state == PATHFINDING then check_gowp(self,dtime) elseif self.state == "walk" then @@ -3178,7 +3180,7 @@ local plane_adjacents = { local gopath_last = os.time() function mcl_mobs:gopath(self,target,callback_arrived) - if self.state == "gowp" then mcl_log("Already set as gowp, don't set another path until done.") return end + if self.state == PATHFINDING then mcl_log("Already set as gowp, don't set another path until done.") return end if os.time() - gopath_last < 15 then mcl_log("Not ready to path yet") @@ -3232,7 +3234,7 @@ function mcl_mobs:gopath(self,target,callback_arrived) self.callback_arrived = callback_arrived table.remove(wp,1) self.waypoints = wp - self.state = "gowp" + self.state = PATHFINDING return true else self.state = "walk" @@ -4193,7 +4195,7 @@ local mob_step = function(self, dtime) -- attack timer self.timer = self.timer + dtime - if self.state ~= "attack" and self.state ~= "gowp" then + if self.state ~= "attack" and self.state ~= PATHFINDING then if self.timer < 1 then return end diff --git a/mods/ENTITIES/mobs_mc/villager.lua b/mods/ENTITIES/mobs_mc/villager.lua index bd2d39002..a6f21b83b 100644 --- a/mods/ENTITIES/mobs_mc/villager.lua +++ b/mods/ENTITIES/mobs_mc/villager.lua @@ -30,6 +30,8 @@ local DEFAULT_WALK_CHANCE = 33 -- chance to walk in percent, if no player nearby local PLAYER_SCAN_INTERVAL = 5 -- every X seconds, villager looks for players nearby local PLAYER_SCAN_RADIUS = 4 -- scan radius for looking for nearby players +local PATHFINDING = "gowp" + --[=======[ TRADING ]=======] -- LIST OF VILLAGER PROFESSIONS AND TRADES @@ -564,7 +566,7 @@ end local function set_textures(self) local badge_textures = get_badge_textures(self) - mcl_log("Setting textures: " .. tostring(badge_textures)) + --mcl_log("Setting textures: " .. tostring(badge_textures)) self.object:set_properties({textures=badge_textures}) end @@ -671,7 +673,7 @@ local function take_bed (entity) for _,n in pairs(nn) do local m=minetest.get_meta(n) --mcl_log("Bed owner: ".. m:get_string("villager")) - if m:get_string("villager") == "" and not (entity.state == "gowp") then + if m:get_string("villager") == "" and not (entity.state == PATHFINDING) then mcl_log("Can we path to bed: "..minetest.pos_to_string(n) ) local gp = mcl_mobs:gopath(entity,n,function(self) if self then @@ -884,7 +886,7 @@ local function get_a_job(self) if n and employ(self,n) then return true end - if self.state ~= "gowp" then + if self.state ~= PATHFINDING then mcl_log("Nothing near. Need to look for a job") look_for_job(self, requested_jobsites) end @@ -938,7 +940,7 @@ local function do_work (self) -- Don't try if looking_for_work, or gowp possibly if validate_jobsite(self) then - mcl_log("My jobsite is valid. Do i need to travel?") + --mcl_log("My jobsite is valid. Do i need to travel?") local jobsite2 = retrieve_my_jobsite (self) local jobsite = self._jobsite @@ -947,9 +949,9 @@ local function do_work (self) --mcl_log("Villager: ".. minetest.pos_to_string(self.object:get_pos()) .. ", jobsite: " .. minetest.pos_to_string(self._jobsite)) if vector.distance(self.object:get_pos(),self._jobsite) < 2 then - mcl_log("Made it to work ok!") + --mcl_log("Made it to work ok!") - if not (self.state == "gowp") then + if not (self.state == PATHFINDING) then --mcl_log("Setting order to work.") self.order = WORK else @@ -1649,7 +1651,7 @@ mcl_mobs:register_mob("mobs_mc:villager", { return end - if self.state == "gowp" then + if self.state == PATHFINDING then self.state = "stand" end -- Can we remove now we possibly have fixed root cause @@ -1745,7 +1747,7 @@ mcl_mobs:register_mob("mobs_mc:villager", { -- Only check in day or during thunderstorm but wandered_too_far code won't work if check_bed (self) then --self.state ~= "go_home" - local wandered_too_far = ( self.state ~= "gowp" ) and (vector.distance(self.object:get_pos(),self._bed) > 50 ) + local wandered_too_far = ( self.state ~= PATHFINDING ) and (vector.distance(self.object:get_pos(),self._bed) > 50 ) --if wandered_too_far then minetest.log("Wandered too far! Return home ") end if wandered_too_far then From f8ee473383afd1842fe486d1fd5d08c7181ec1ad Mon Sep 17 00:00:00 2001 From: ancientmarinerdev Date: Wed, 26 Oct 2022 00:17:29 +0100 Subject: [PATCH 45/65] Fix villager work times --- mods/ENTITIES/mcl_mobs/api.lua | 3 --- mods/ENTITIES/mobs_mc/villager.lua | 6 +++--- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/mods/ENTITIES/mcl_mobs/api.lua b/mods/ENTITIES/mcl_mobs/api.lua index 422857de4..8d385d040 100644 --- a/mods/ENTITIES/mcl_mobs/api.lua +++ b/mods/ENTITIES/mcl_mobs/api.lua @@ -3201,7 +3201,6 @@ function mcl_mobs:gopath(self,target,callback_arrived) local d = minetest.find_node_near(target,16,{"group:door"}) if d then --mcl_log("Found a door near") - local up_one = vector.new(0,1,0) for _,v in pairs(plane_adjacents) do local pos = vector.add(d,v) @@ -3212,8 +3211,6 @@ function mcl_mobs:gopath(self,target,callback_arrived) mcl_log("Found a path to next to door".. minetest.pos_to_string(pos)) local other_side_of_door = vector.add(d,-v) mcl_log("Opposite is: ".. minetest.pos_to_string(other_side_of_door)) - --other_side_of_door = vector.add(other_side_of_door, up_one) - --mcl_log("Opposite 2 is: ".. minetest.pos_to_string(other_side_of_door)) table.insert(wp, other_side_of_door) break diff --git a/mods/ENTITIES/mobs_mc/villager.lua b/mods/ENTITIES/mobs_mc/villager.lua index a6f21b83b..336221a17 100644 --- a/mods/ENTITIES/mobs_mc/villager.lua +++ b/mods/ENTITIES/mobs_mc/villager.lua @@ -579,9 +579,9 @@ function get_activity(tod) local lunch_start = 12000 - local lunch_end = 12500 - local work_start = 6500 - local work_end = 18000 + local lunch_end = 13500 + local work_start = 8500 + local work_end = 16500 local activity = nil From 306db6b609417609f07f92816d124a1866e21a84 Mon Sep 17 00:00:00 2001 From: epCode Date: Tue, 25 Oct 2022 23:52:16 +0000 Subject: [PATCH 46/65] make shooting mobs calculate raycast bool for shooting with shoot_offset Basically makes skeletons accurately when to shoot and when not to. --- mods/ENTITIES/mcl_mobs/api.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/ENTITIES/mcl_mobs/api.lua b/mods/ENTITIES/mcl_mobs/api.lua index e7b0c45ea..30974fa29 100644 --- a/mods/ENTITIES/mcl_mobs/api.lua +++ b/mods/ENTITIES/mcl_mobs/api.lua @@ -3131,7 +3131,7 @@ local do_states = function(self, dtime) if self.shoot_interval and self.timer > self.shoot_interval - and not minetest.raycast(p, self.attack:get_pos(), false, false):next() + and not minetest.raycast(vector.add(p, vector.new(0,self.shoot_offset,0)), vector.add(self.attack:get_pos(), vector.new(0,1.5,0)), false, false):next() and random(1, 100) <= 60 then self.timer = 0 From eb313f94820a912ce7581a54403fa24b2be98a8b Mon Sep 17 00:00:00 2001 From: kay27 Date: Mon, 21 Jun 2021 03:58:18 +0400 Subject: [PATCH 47/65] [mineclone5] Move sweet berries into farming as a quick fix --- mods/ITEMS/mcl_farming/init.lua | 3 + mods/ITEMS/mcl_farming/sweet_berry.lua | 56 ++++++++++++++++++ .../textures/mcl_farming_sweet_berry.png | Bin 0 -> 462 bytes .../mcl_farming_sweet_berry_bush_0.png | Bin 0 -> 318 bytes .../mcl_farming_sweet_berry_bush_1.png | Bin 0 -> 759 bytes .../mcl_farming_sweet_berry_bush_2.png | Bin 0 -> 800 bytes .../mcl_farming_sweet_berry_bush_3.png | Bin 0 -> 858 bytes 7 files changed, 59 insertions(+) create mode 100644 mods/ITEMS/mcl_farming/sweet_berry.lua create mode 100644 mods/ITEMS/mcl_farming/textures/mcl_farming_sweet_berry.png create mode 100644 mods/ITEMS/mcl_farming/textures/mcl_farming_sweet_berry_bush_0.png create mode 100644 mods/ITEMS/mcl_farming/textures/mcl_farming_sweet_berry_bush_1.png create mode 100644 mods/ITEMS/mcl_farming/textures/mcl_farming_sweet_berry_bush_2.png create mode 100644 mods/ITEMS/mcl_farming/textures/mcl_farming_sweet_berry_bush_3.png diff --git a/mods/ITEMS/mcl_farming/init.lua b/mods/ITEMS/mcl_farming/init.lua index adce058ee..60b10105d 100644 --- a/mods/ITEMS/mcl_farming/init.lua +++ b/mods/ITEMS/mcl_farming/init.lua @@ -27,3 +27,6 @@ dofile(minetest.get_modpath("mcl_farming").."/potatoes.lua") -- ========= BEETROOT ========= dofile(minetest.get_modpath("mcl_farming").."/beetroot.lua") + +-- ========= SWEET BERRY ========= +dofile(minetest.get_modpath("mcl_farming").."/sweet_berry.lua") diff --git a/mods/ITEMS/mcl_farming/sweet_berry.lua b/mods/ITEMS/mcl_farming/sweet_berry.lua new file mode 100644 index 000000000..2feba1126 --- /dev/null +++ b/mods/ITEMS/mcl_farming/sweet_berry.lua @@ -0,0 +1,56 @@ +local S = minetest.get_translator(minetest.get_current_modname()) + +for i=0, 3 do + local texture = "mcl_farming_sweet_berry_bush_" .. i .. ".png" + local node_name = "mcl_farming:sweet_berry_bush_" .. i + minetest.register_node(node_name, { + drawtype = "plantlike", + tiles = {texture}, + description = S("Sweet Berry Bush (Stage @1)", i), + paramtype = "light", + sunlight_propagates = true, + paramtype2 = "meshoptions", + place_param2 = 3, + walkable = false, + drop = "mcl_farming:sweet_berry", + selection_box = { + type = "fixed", + fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 0.5, 6 / 16}, + }, + inventory_image = texture, + wield_image = texture, + groups = {dig_immediate=3, not_in_creative_inventory=1,plant=1,attached_node=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1}, + sounds = mcl_sounds.node_sound_leaves_defaults(), + _mcl_blast_resistance = 0, + }) + minetest.register_alias("mcl_sweet_berry:sweet_berry_bush_" .. i, node_name) +end + +minetest.register_craftitem("mcl_farming:sweet_berry", { + description = S("Sweet Berry"), + inventory_image = "mcl_farming_sweet_berry.png", + _mcl_saturation = 0.2, + stack_max = 64, + groups = { food = 2, eatable = 1 }, + on_secondary_use = minetest.item_eat(1), + on_place = function(itemstack, placer, pointed_thing) + local new = mcl_farming:place_seed(itemstack, placer, pointed_thing, "mcl_sweet_berry:sweet_berry_bush_0") + if new then + return new + else + return minetest.do_item_eat(1, nil, itemstack, placer, pointed_thing) + end + end, +}) +minetest.register_alias("mcl_sweet_berry:sweet_berry", "mcl_farming:sweet_berry") + +minetest.register_decoration({ + deco_type = "simple", + place_on = {"mcl_core:dirt_with_grass"}, + sidelen = 16, + noise_params = {offset=0, scale=.45, spread={x=100, y=100, z=100}, seed=354, octaves=3, persist=0.7}, + biomes = {"Taiga","Forest"}, + y_max = mcl_vars.mg_overworld_max, + y_min = mcl_vars.mg_overworld_min, + decoration = "mcl_sweet_berry:sweet_berry_bush_2" +}) diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_sweet_berry.png b/mods/ITEMS/mcl_farming/textures/mcl_farming_sweet_berry.png new file mode 100644 index 0000000000000000000000000000000000000000..7c2349971a2e174a47503ff35b02042f9ac1fbc8 GIT binary patch literal 462 zcmV;<0WtoGP)^X9;Q12-i!Br-q88fN zh=q+H5>5-{un3n#ECji+$R06g3=s>b+MS*EF|z~wG1yNJO2}mZ698cNZfRgfCFJz! zs!6x|2c(1~C8Xc4p7+SD0KoIfS$Iz>A5>NC)?uGV;=@v;a=cDgX6#B6A&zUeck3p#sB~S07*qoM6N<$ Ef}ml$+yDRo literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_sweet_berry_bush_0.png b/mods/ITEMS/mcl_farming/textures/mcl_farming_sweet_berry_bush_0.png new file mode 100644 index 0000000000000000000000000000000000000000..6f8c0d833dd5b5b8e805381bbaa837cc5714f15d GIT binary patch literal 318 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;RN#5=* zK)Q}WWwyT57a)tXz$3Dlfq`2Xgc%uT&5-~Kp7V5Z46!)L&*h~4y1#r2U$xa{tevmgzW2+W{ST^)Bjvav#OJQNS;J+%TrBU=5hmjV2A)7(-UHdjYaV=d ziIiP+rN!!L&zTBE;V>*$%MP5lioGA7innIIzetvs*gm;JRn-)C$C`i#NT L)z4*}Q$iB}C5wK% literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_sweet_berry_bush_1.png b/mods/ITEMS/mcl_farming/textures/mcl_farming_sweet_berry_bush_1.png new file mode 100644 index 0000000000000000000000000000000000000000..2ac3c205d8de804a93cce796b342b78adf868f02 GIT binary patch literal 759 zcmV;|K8)5Ms#YD~H@Zrr#~lqd7pb-I4FyHw&ywD^L@_wJ%J~!#km`9Z>3$k z7~>n8N1vM-{seVP>&e;D;0cEVWbvM@+7-vGIj!D=D^I+YDIUTT&X>m*|=* ztl^TKlglRZU!Z{yTUbY&>FbX6A(P7aj8rgh?_|cETFLlO)lha1ui_zk7(xy8w1v?S zvzW8G|FPMTNAlUSaz3Y*3?ic)4;TqUOrnBgI!*!C#p^ z>C_}K7FCT!=TuseQkW=&iAE=j002ovPDHLkV1iO?W`6(x literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_sweet_berry_bush_2.png b/mods/ITEMS/mcl_farming/textures/mcl_farming_sweet_berry_bush_2.png new file mode 100644 index 0000000000000000000000000000000000000000..5e9a6dd1473581ec441c431004954550cc7968f9 GIT binary patch literal 800 zcmV+*1K<3KP)L$Ol^4@_fX_R{*>pgZ%cyX7N_l~$cCe_d4}tqt7;k zt}M4VDFc7)y`AxNNY`@8dI(&^<=l?61UW%1ys#k-puzSr5WUh^x4X1(bq)=}Y4AAHG?g$wXm%bR=F>uBJ59RBD0k z-K0$NhA8^kQ+@AY3%mbD`DE&>c=)1cANUF{W8}+1>FBGEWUg5$WiMUd89tdTl~tp> zRQz4f^nZ?eu&)E5A8(!0kr|Rr9Mhj$ZGL+f%N91eRO%}p&Y#C>^N~^TpCTpEjl*tk zoDl|TQKS6zQvLby=ko8EU4B!wR&spc?PjSO!T&TdkAA4npx eM#Fd23-C8XMgbTICgrjK0000Nc*%TVBmik8Wg6nNw*^^Q`ET9%#7iukB+^R` zCG~J!ueK`ErkqpTn(GA6fw_PSNN_w91I%f_EI{e|tK@R0Pw*oO3+tb1e*zFswL~`f zU*Vr|6KDVmz)TL5M1|Kuna9_%OBrfeU!)`8C6f;TjSs7jo{2^W zPuZu{097K82ZlpW)2$iZ6o^kWoP97FqVG#Z&zh62=-kI7QX+*Z>D0 zIRO#yuMC$R0UEk`M%P;-S&8|6<8{X_2f1(G61FUsRSa{|28;no(I$yNet$x(3?_5# zeNDkhKxo~pXQa{63XUDa`jkJ$ zbn#-Z<|xx(cMdE1|7a~0-iN>h;0EMr4br%r-BKRplqFtBj!R%=DRE`n!@)tN<3ei1 zjn4s5w?yCt&<_j%s_=vRWMC1`hocm^-QD58OU=F8JX@D}GTT4rq*bpB*QRB1AExv+u5cW5|MtiJq5G^Xqu@ajmU` z;ry0?70MNQhMc?|TZ&f-{sPTyVAu#%8y?7M0Lp}U<5D$OZX*7GEfRs z(VuEY6x^7WhJ`_u?>di@ZR8D=MrDs3D$DT`V9hMk4vR*yE5@)|ik453HAX4--Xi$N kb^0e}5Ff9ld!!fOE6@cdU4}wSs{jB107*qoM6N<$g3s%Fu>b%7 literal 0 HcmV?d00001 From a7c3878caeeb53e0a665d021b928aff904c3a9cc Mon Sep 17 00:00:00 2001 From: kay27 Date: Mon, 21 Jun 2021 04:51:05 +0400 Subject: [PATCH 48/65] [mineclone5] Tune sweet berries a bit --- mods/ITEMS/mcl_farming/sweet_berry.lua | 27 +++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/mods/ITEMS/mcl_farming/sweet_berry.lua b/mods/ITEMS/mcl_farming/sweet_berry.lua index 2feba1126..d74739aaa 100644 --- a/mods/ITEMS/mcl_farming/sweet_berry.lua +++ b/mods/ITEMS/mcl_farming/sweet_berry.lua @@ -12,7 +12,7 @@ for i=0, 3 do paramtype2 = "meshoptions", place_param2 = 3, walkable = false, - drop = "mcl_farming:sweet_berry", + drop = (i>=2) and ("mcl_farming:sweet_berry" .. (i==3 and " 3" or "")) or "", selection_box = { type = "fixed", fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 0.5, 6 / 16}, @@ -45,12 +45,21 @@ minetest.register_craftitem("mcl_farming:sweet_berry", { minetest.register_alias("mcl_sweet_berry:sweet_berry", "mcl_farming:sweet_berry") minetest.register_decoration({ - deco_type = "simple", - place_on = {"mcl_core:dirt_with_grass"}, - sidelen = 16, - noise_params = {offset=0, scale=.45, spread={x=100, y=100, z=100}, seed=354, octaves=3, persist=0.7}, - biomes = {"Taiga","Forest"}, - y_max = mcl_vars.mg_overworld_max, - y_min = mcl_vars.mg_overworld_min, - decoration = "mcl_sweet_berry:sweet_berry_bush_2" + deco_type = "simple", + place_on = {"mcl_core:dirt_with_grass"}, + sidelen = 16, + noise_params = { + offset = 0, + scale = 0.001, + spread = {x = 100, y = 100, z = 100}, + seed = 354, + octaves = 1, + persist = 0.5, + lacunarity = 1.0, + flags = "absvalue" + }, + biomes = {"Taiga","Forest"}, + y_max = mcl_vars.mg_overworld_max, + y_min = 2, + decoration = "mcl_sweet_berry:sweet_berry_bush_3" }) From 5f4d7774ae5a866907d556b5f998458cee1a23d7 Mon Sep 17 00:00:00 2001 From: cora Date: Mon, 24 Oct 2022 01:00:41 +0200 Subject: [PATCH 49/65] Add sweet berry compostability --- mods/ITEMS/mcl_farming/sweet_berry.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/ITEMS/mcl_farming/sweet_berry.lua b/mods/ITEMS/mcl_farming/sweet_berry.lua index d74739aaa..f215851e3 100644 --- a/mods/ITEMS/mcl_farming/sweet_berry.lua +++ b/mods/ITEMS/mcl_farming/sweet_berry.lua @@ -31,7 +31,7 @@ minetest.register_craftitem("mcl_farming:sweet_berry", { inventory_image = "mcl_farming_sweet_berry.png", _mcl_saturation = 0.2, stack_max = 64, - groups = { food = 2, eatable = 1 }, + groups = { food = 2, eatable = 1, compostability=30 }, on_secondary_use = minetest.item_eat(1), on_place = function(itemstack, placer, pointed_thing) local new = mcl_farming:place_seed(itemstack, placer, pointed_thing, "mcl_sweet_berry:sweet_berry_bush_0") From 495378b85ec6047e3a6bc238f8862678ca864ef8 Mon Sep 17 00:00:00 2001 From: balazsszalab Date: Sat, 18 Jun 2022 15:41:22 +0000 Subject: [PATCH 50/65] Register sweet berry bush by add_plant function to enable plant growth Without calling the add_plant function, sweet berry bushes will not go through growth stages and it is impossible to farm them. Sweet berry bush and beetroot have the same number of growth stages, so I used beetroot's interval and chance values here. If somebody has a better approximation of these values, feel free to change them. --- mods/ITEMS/mcl_farming/sweet_berry.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mods/ITEMS/mcl_farming/sweet_berry.lua b/mods/ITEMS/mcl_farming/sweet_berry.lua index f215851e3..cde2f8d97 100644 --- a/mods/ITEMS/mcl_farming/sweet_berry.lua +++ b/mods/ITEMS/mcl_farming/sweet_berry.lua @@ -63,3 +63,6 @@ minetest.register_decoration({ y_min = 2, decoration = "mcl_sweet_berry:sweet_berry_bush_3" }) + +-- TODO: Find proper interval and chance values for sweet berry bushes. Current interval and chance values are copied from mcl_farming:beetroot which has similar growth stages. +mcl_farming:add_plant("plant_sweet_berry_bush", "mcl_farming:sweet_berry_bush_3", {"mcl_farming:sweet_berry_bush_0", "mcl_farming:sweet_berry_bush_1", "mcl_farming:sweet_berry_bush_2"}, 68, 3) \ No newline at end of file From 280bcddcb2c32c55a737be4441207061d29c6e45 Mon Sep 17 00:00:00 2001 From: cora Date: Mon, 24 Oct 2022 01:13:44 +0200 Subject: [PATCH 51/65] Move sweet berry decoration to mcl_biomes --- mods/ITEMS/mcl_farming/sweet_berry.lua | 22 +--------------------- mods/MAPGEN/mcl_biomes/init.lua | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 21 deletions(-) diff --git a/mods/ITEMS/mcl_farming/sweet_berry.lua b/mods/ITEMS/mcl_farming/sweet_berry.lua index cde2f8d97..773cdf1d8 100644 --- a/mods/ITEMS/mcl_farming/sweet_berry.lua +++ b/mods/ITEMS/mcl_farming/sweet_berry.lua @@ -44,25 +44,5 @@ minetest.register_craftitem("mcl_farming:sweet_berry", { }) minetest.register_alias("mcl_sweet_berry:sweet_berry", "mcl_farming:sweet_berry") -minetest.register_decoration({ - deco_type = "simple", - place_on = {"mcl_core:dirt_with_grass"}, - sidelen = 16, - noise_params = { - offset = 0, - scale = 0.001, - spread = {x = 100, y = 100, z = 100}, - seed = 354, - octaves = 1, - persist = 0.5, - lacunarity = 1.0, - flags = "absvalue" - }, - biomes = {"Taiga","Forest"}, - y_max = mcl_vars.mg_overworld_max, - y_min = 2, - decoration = "mcl_sweet_berry:sweet_berry_bush_3" -}) - -- TODO: Find proper interval and chance values for sweet berry bushes. Current interval and chance values are copied from mcl_farming:beetroot which has similar growth stages. -mcl_farming:add_plant("plant_sweet_berry_bush", "mcl_farming:sweet_berry_bush_3", {"mcl_farming:sweet_berry_bush_0", "mcl_farming:sweet_berry_bush_1", "mcl_farming:sweet_berry_bush_2"}, 68, 3) \ No newline at end of file +mcl_farming:add_plant("plant_sweet_berry_bush", "mcl_farming:sweet_berry_bush_3", {"mcl_farming:sweet_berry_bush_0", "mcl_farming:sweet_berry_bush_1", "mcl_farming:sweet_berry_bush_2"}, 68, 3) diff --git a/mods/MAPGEN/mcl_biomes/init.lua b/mods/MAPGEN/mcl_biomes/init.lua index 2d2378833..0e1cace1f 100644 --- a/mods/MAPGEN/mcl_biomes/init.lua +++ b/mods/MAPGEN/mcl_biomes/init.lua @@ -2851,6 +2851,25 @@ local function register_decorations() flags = "place_center_x,place_center_z, force_placement", }) + minetest.register_decoration({ + deco_type = "simple", + place_on = {"mcl_core:dirt_with_grass","mcl_core:podzol"}, + sidelen = 16, + noise_params = { + offset = 0, + scale = 0.012, + spread = {x = 100, y = 100, z = 100}, + seed = 354, + octaves = 1, + persist = 0.5, + lacunarity = 1.0, + flags = "absvalue" + }, + biomes = {"Taiga","Forest"}, + y_max = mcl_vars.mg_overworld_max, + y_min = 2, + decoration = "mcl_sweet_berry:sweet_berry_bush_3" + }) -- Large ice spike minetest.register_decoration({ From b00f2784fff1f0c3eb29ff503d10adf37a183b1f Mon Sep 17 00:00:00 2001 From: cora Date: Mon, 24 Oct 2022 15:10:09 +0200 Subject: [PATCH 52/65] Sweet berry bushes are flammable --- mods/ITEMS/mcl_farming/sweet_berry.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/ITEMS/mcl_farming/sweet_berry.lua b/mods/ITEMS/mcl_farming/sweet_berry.lua index 773cdf1d8..365c6a31b 100644 --- a/mods/ITEMS/mcl_farming/sweet_berry.lua +++ b/mods/ITEMS/mcl_farming/sweet_berry.lua @@ -19,7 +19,7 @@ for i=0, 3 do }, inventory_image = texture, wield_image = texture, - groups = {dig_immediate=3, not_in_creative_inventory=1,plant=1,attached_node=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1}, + groups = {dig_immediate=3, not_in_creative_inventory=1,plant=1,attached_node=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1, flammable=3, fire_encouragement=60, fire_flammability=20}, sounds = mcl_sounds.node_sound_leaves_defaults(), _mcl_blast_resistance = 0, }) From 8d456d8ff9f5e7ec238baf2c3bc10a32dbf9df4b Mon Sep 17 00:00:00 2001 From: cora Date: Mon, 24 Oct 2022 16:03:24 +0200 Subject: [PATCH 53/65] implement sweet berry damage 0.5 per second while moving inside it --- mods/CORE/mcl_damage/init.lua | 1 + mods/ITEMS/mcl_farming/sweet_berry.lua | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/mods/CORE/mcl_damage/init.lua b/mods/CORE/mcl_damage/init.lua index aa9445954..773e7a43e 100644 --- a/mods/CORE/mcl_damage/init.lua +++ b/mods/CORE/mcl_damage/init.lua @@ -12,6 +12,7 @@ mcl_damage = { drown = {bypasses_armor = true}, starve = {bypasses_armor = true, bypasses_magic = true}, cactus = {}, + sweet_berry = {}, fall = {bypasses_armor = true}, fly_into_wall = {bypasses_armor = true}, -- unused out_of_world = {bypasses_armor = true, bypasses_magic = true, bypasses_invulnerability = true, bypasses_totem = true}, diff --git a/mods/ITEMS/mcl_farming/sweet_berry.lua b/mods/ITEMS/mcl_farming/sweet_berry.lua index 365c6a31b..e283149bc 100644 --- a/mods/ITEMS/mcl_farming/sweet_berry.lua +++ b/mods/ITEMS/mcl_farming/sweet_berry.lua @@ -46,3 +46,28 @@ minetest.register_alias("mcl_sweet_berry:sweet_berry", "mcl_farming:sweet_berry" -- TODO: Find proper interval and chance values for sweet berry bushes. Current interval and chance values are copied from mcl_farming:beetroot which has similar growth stages. mcl_farming:add_plant("plant_sweet_berry_bush", "mcl_farming:sweet_berry_bush_3", {"mcl_farming:sweet_berry_bush_0", "mcl_farming:sweet_berry_bush_1", "mcl_farming:sweet_berry_bush_2"}, 68, 3) + +local function berry_damage_check(obj) + local p = obj:get_pos() + if not p then return end + if not minetest.find_node_near(p,0.4,{"group:sweet_berry"},true) then return end + local v = obj:get_velocity() + if v.x < 0.1 and v.y < 0.1 and v.z < 0.1 then return end + + mcl_util.deal_damage(obj, 0.5, {type = "sweet_berry"}) +end + +local etime = 0 +minetest.register_globalstep(function(dtime) + etime = dtime + etime + if etime < 0.5 then return end + etime = 0 + for _,pl in pairs(minetest.get_connected_players()) do + berry_damage_check(pl) + end + for _,ent in pairs(minetest.luaentities) do + if ent.is_mob then + berry_damage_check(ent.object) + end + end +end) From 2b08f9ac532d9fe679d1c8c0284877838632aa0e Mon Sep 17 00:00:00 2001 From: cora Date: Mon, 24 Oct 2022 16:03:48 +0200 Subject: [PATCH 54/65] Slow down player movement while inside sweet berry --- mods/ITEMS/mcl_farming/sweet_berry.lua | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/mods/ITEMS/mcl_farming/sweet_berry.lua b/mods/ITEMS/mcl_farming/sweet_berry.lua index e283149bc..3307dd271 100644 --- a/mods/ITEMS/mcl_farming/sweet_berry.lua +++ b/mods/ITEMS/mcl_farming/sweet_berry.lua @@ -11,15 +11,21 @@ for i=0, 3 do sunlight_propagates = true, paramtype2 = "meshoptions", place_param2 = 3, + liquid_viscosity = 15, + liquidtype = "source", + liquid_alternative_flowing = node_name, + liquid_alternative_source = node_name, + liquid_renewable = false, + liquid_range = 0, walkable = false, drop = (i>=2) and ("mcl_farming:sweet_berry" .. (i==3 and " 3" or "")) or "", selection_box = { type = "fixed", - fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 0.5, 6 / 16}, + fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, (-0.30 + (i*0.25)), 6 / 16}, }, inventory_image = texture, wield_image = texture, - groups = {dig_immediate=3, not_in_creative_inventory=1,plant=1,attached_node=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1, flammable=3, fire_encouragement=60, fire_flammability=20}, + groups = {sweet_berry=1, dig_immediate=3, not_in_creative_inventory=1,plant=1,attached_node=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1, flammable=3, fire_encouragement=60, fire_flammability=20}, sounds = mcl_sounds.node_sound_leaves_defaults(), _mcl_blast_resistance = 0, }) From 2664fb871b7d9295b4d4b4f7ce63eb220daf2f09 Mon Sep 17 00:00:00 2001 From: cora Date: Mon, 24 Oct 2022 16:23:14 +0200 Subject: [PATCH 55/65] sweet berries plantable not only on farming soil --- mods/ITEMS/mcl_campfires/init.lua | 16 ++++++++-------- mods/ITEMS/mcl_farming/sweet_berry.lua | 14 +++++++++----- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/mods/ITEMS/mcl_campfires/init.lua b/mods/ITEMS/mcl_campfires/init.lua index 195612533..083fbce57 100644 --- a/mods/ITEMS/mcl_campfires/init.lua +++ b/mods/ITEMS/mcl_campfires/init.lua @@ -59,18 +59,18 @@ for _, campfire in pairs(campfires) do drawtype = "mesh", mesh = "mcl_campfires_campfire_lit.obj", tiles = {{ - name="mcl_campfires_" .. campfire.techname .. "_fire.png", + name="mcl_campfires_" .. campfire.techname .. "_fire.png", animation={ - type="vertical_frames", - aspect_w=16, - aspect_h=16, + type="vertical_frames", + aspect_w=16, + aspect_h=16, length=2.0 }}, - {name="mcl_campfires_" .. campfire.techname .. "_log_lit.png", + {name="mcl_campfires_" .. campfire.techname .. "_log_lit.png", animation={ - type="vertical_frames", - aspect_w=16, - aspect_h=16, + type="vertical_frames", + aspect_w=16, + aspect_h=16, length=2.0 }} }, diff --git a/mods/ITEMS/mcl_farming/sweet_berry.lua b/mods/ITEMS/mcl_farming/sweet_berry.lua index 3307dd271..de5db82bc 100644 --- a/mods/ITEMS/mcl_farming/sweet_berry.lua +++ b/mods/ITEMS/mcl_farming/sweet_berry.lua @@ -1,5 +1,7 @@ local S = minetest.get_translator(minetest.get_current_modname()) +local planton = {"mcl_core:dirt_with_grass","mcl_core:dirt","mcl_core:podzol","mcl_core:coarse_dirt","mcl_farming:soil","mcl_moss:moss"} + for i=0, 3 do local texture = "mcl_farming_sweet_berry_bush_" .. i .. ".png" local node_name = "mcl_farming:sweet_berry_bush_" .. i @@ -40,12 +42,14 @@ minetest.register_craftitem("mcl_farming:sweet_berry", { groups = { food = 2, eatable = 1, compostability=30 }, on_secondary_use = minetest.item_eat(1), on_place = function(itemstack, placer, pointed_thing) - local new = mcl_farming:place_seed(itemstack, placer, pointed_thing, "mcl_sweet_berry:sweet_berry_bush_0") - if new then - return new - else - return minetest.do_item_eat(1, nil, itemstack, placer, pointed_thing) + if pointed_thing.type == "node" and table.indexof(planton,minetest.get_node(pointed_thing.under).name) ~= -1 and minetest.get_node(pointed_thing.above).name == "air" then + minetest.set_node(pointed_thing.above,{name="mcl_farming:sweet_berry_bush_0"}) + if not minetest.is_creative_enabled(placer:get_player_name()) then + itemstack:take_item() + end + return itemstack end + return minetest.do_item_eat(1, nil, itemstack, placer, pointed_thing) end, }) minetest.register_alias("mcl_sweet_berry:sweet_berry", "mcl_farming:sweet_berry") From d6c0561d5ababadbca04852c219929ce8b923400 Mon Sep 17 00:00:00 2001 From: cora Date: Mon, 24 Oct 2022 16:32:40 +0200 Subject: [PATCH 56/65] Only do damage from stage 1 and up --- mods/ITEMS/mcl_farming/sweet_berry.lua | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/mods/ITEMS/mcl_farming/sweet_berry.lua b/mods/ITEMS/mcl_farming/sweet_berry.lua index de5db82bc..524e380f3 100644 --- a/mods/ITEMS/mcl_farming/sweet_berry.lua +++ b/mods/ITEMS/mcl_farming/sweet_berry.lua @@ -5,6 +5,10 @@ local planton = {"mcl_core:dirt_with_grass","mcl_core:dirt","mcl_core:podzol","m for i=0, 3 do local texture = "mcl_farming_sweet_berry_bush_" .. i .. ".png" local node_name = "mcl_farming:sweet_berry_bush_" .. i + local groups = {sweet_berry=1, dig_immediate=3, not_in_creative_inventory=1,plant=1,attached_node=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1, flammable=3, fire_encouragement=60, fire_flammability=20, compostability=30} + if i > 0 then + groups.sweet_berry_thorny = 1 + end minetest.register_node(node_name, { drawtype = "plantlike", tiles = {texture}, @@ -27,9 +31,10 @@ for i=0, 3 do }, inventory_image = texture, wield_image = texture, - groups = {sweet_berry=1, dig_immediate=3, not_in_creative_inventory=1,plant=1,attached_node=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1, flammable=3, fire_encouragement=60, fire_flammability=20}, + groups = groups, sounds = mcl_sounds.node_sound_leaves_defaults(), _mcl_blast_resistance = 0, + _mcl_hardness = 0, }) minetest.register_alias("mcl_sweet_berry:sweet_berry_bush_" .. i, node_name) end @@ -60,7 +65,7 @@ mcl_farming:add_plant("plant_sweet_berry_bush", "mcl_farming:sweet_berry_bush_3" local function berry_damage_check(obj) local p = obj:get_pos() if not p then return end - if not minetest.find_node_near(p,0.4,{"group:sweet_berry"},true) then return end + if not minetest.find_node_near(p,0.4,{"group:sweet_berry_thorny"},true) then return end local v = obj:get_velocity() if v.x < 0.1 and v.y < 0.1 and v.z < 0.1 then return end From ae91640234c4d5271bb8ad4658da52bc6b5e9246 Mon Sep 17 00:00:00 2001 From: cora Date: Mon, 24 Oct 2022 16:35:47 +0200 Subject: [PATCH 57/65] Add missing biomes, correct saturation --- mods/ITEMS/mcl_farming/sweet_berry.lua | 3 +-- mods/MAPGEN/mcl_biomes/init.lua | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/mods/ITEMS/mcl_farming/sweet_berry.lua b/mods/ITEMS/mcl_farming/sweet_berry.lua index 524e380f3..573e50a5c 100644 --- a/mods/ITEMS/mcl_farming/sweet_berry.lua +++ b/mods/ITEMS/mcl_farming/sweet_berry.lua @@ -42,8 +42,7 @@ end minetest.register_craftitem("mcl_farming:sweet_berry", { description = S("Sweet Berry"), inventory_image = "mcl_farming_sweet_berry.png", - _mcl_saturation = 0.2, - stack_max = 64, + _mcl_saturation = 0.4, groups = { food = 2, eatable = 1, compostability=30 }, on_secondary_use = minetest.item_eat(1), on_place = function(itemstack, placer, pointed_thing) diff --git a/mods/MAPGEN/mcl_biomes/init.lua b/mods/MAPGEN/mcl_biomes/init.lua index 0e1cace1f..e5f9333be 100644 --- a/mods/MAPGEN/mcl_biomes/init.lua +++ b/mods/MAPGEN/mcl_biomes/init.lua @@ -2865,7 +2865,7 @@ local function register_decorations() lacunarity = 1.0, flags = "absvalue" }, - biomes = {"Taiga","Forest"}, + biomes = {"Taiga","ColdTaiga","MegaTaiga","MegaSpruceTaiga", "Forest"}, y_max = mcl_vars.mg_overworld_max, y_min = 2, decoration = "mcl_sweet_berry:sweet_berry_bush_3" From e8b983bcc5cb04f0614abc438c9f474f6ca3908c Mon Sep 17 00:00:00 2001 From: PrairieWind Date: Tue, 25 Oct 2022 20:46:41 -0600 Subject: [PATCH 58/65] Place sweet berries on wet farmland and bonemeal the sweet berries to progress growth --- mods/ITEMS/mcl_dye/init.lua | 4 ++++ mods/ITEMS/mcl_farming/sweet_berry.lua | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/mods/ITEMS/mcl_dye/init.lua b/mods/ITEMS/mcl_dye/init.lua index 727a78460..55ba36acc 100644 --- a/mods/ITEMS/mcl_dye/init.lua +++ b/mods/ITEMS/mcl_dye/init.lua @@ -281,6 +281,10 @@ local function apply_bone_meal(pointed_thing) if math.random(1, 100) <= 75 then return mcl_farming:grow_plant("plant_beetroot", pos, n, 1, true) end + elseif string.find(n.name, "mcl_farming:sweet_berry_bush_") then + mcl_dye.add_bone_meal_particle(pos) + local stages = math.random(2, 3) + return mcl_farming:grow_plant("plant_sweet_berry_bush", pos, n, stages, true) elseif n.name == "mcl_cocoas:cocoa_1" or n.name == "mcl_cocoas:cocoa_2" then mcl_dye.add_bone_meal_particle(pos) -- Cocoa: Advance by 1 stage diff --git a/mods/ITEMS/mcl_farming/sweet_berry.lua b/mods/ITEMS/mcl_farming/sweet_berry.lua index 573e50a5c..f87220d90 100644 --- a/mods/ITEMS/mcl_farming/sweet_berry.lua +++ b/mods/ITEMS/mcl_farming/sweet_berry.lua @@ -1,6 +1,6 @@ local S = minetest.get_translator(minetest.get_current_modname()) -local planton = {"mcl_core:dirt_with_grass","mcl_core:dirt","mcl_core:podzol","mcl_core:coarse_dirt","mcl_farming:soil","mcl_moss:moss"} +local planton = {"mcl_core:dirt_with_grass", "mcl_core:dirt", "mcl_core:podzol", "mcl_core:coarse_dirt", "mcl_farming:soil", "mcl_farming:soil_wet", "mcl_moss:moss"} for i=0, 3 do local texture = "mcl_farming_sweet_berry_bush_" .. i .. ".png" From 6c0e29891d8ec52ac8d50078f1383b8814e96cc0 Mon Sep 17 00:00:00 2001 From: epCode Date: Wed, 26 Oct 2022 19:03:33 +0000 Subject: [PATCH 59/65] Fix a problem with smooth turning --- mods/ENTITIES/mcl_mobs/api.lua | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/mods/ENTITIES/mcl_mobs/api.lua b/mods/ENTITIES/mcl_mobs/api.lua index 30974fa29..b8802fff0 100644 --- a/mods/ENTITIES/mcl_mobs/api.lua +++ b/mods/ENTITIES/mcl_mobs/api.lua @@ -406,27 +406,25 @@ end -- set and return valid yaw - local set_yaw = function(self, yaw, delay, dtime) if self.noyaw then return end - if self._kb_turn then - self._turn_to = yaw - end + self._turn_to = yaw + --clamp our yaw to a 360 range if math.deg(self.object:get_yaw()) > 360 then - self.object:set_yaw(math.rad(10)) + self.object:set_yaw(math.rad(1)) elseif math.deg(self.object:get_yaw()) < 0 then - self.object:set_yaw(math.rad(350)) + self.object:set_yaw(math.rad(359)) end --calculate the shortest way to turn to find our target local target_shortest_path = shortest_term_of_yaw_rotatoin(self, self.object:get_yaw(), yaw, true) --turn in the shortest path possible toward our target. if we are attacking, don't dance. - if math.abs(target_shortest_path) > 100 and (self.attack and self.attack:get_pos() or self.following and self.following:get_pos()) then + if (math.abs(target_shortest_path) > 50 and not self._kb_turn) and (self.attack and self.attack:get_pos() or self.following and self.following:get_pos()) then if self.following then target_shortest_path = shortest_term_of_yaw_rotatoin(self, self.object:get_yaw(), minetest.dir_to_yaw(vector.direction(self.object:get_pos(), self.following:get_pos())), true) else @@ -3629,7 +3627,7 @@ local mob_punch = function(self, hitter, tflp, tool_capabilities, dir) elseif luaentity and luaentity._knockback then kb = kb + luaentity._knockback end - --self._kb_turn = false + self._kb_turn = true self._turn_to=self.object:get_yaw()-1.57 self.frame_speed_multiplier=2.3 if self.animation.run_end then @@ -3640,7 +3638,7 @@ local mob_punch = function(self, hitter, tflp, tool_capabilities, dir) minetest.after(0.2, function() if self and self.object then self.frame_speed_multiplier=1 - self._kb_turn = true + self._kb_turn = false end end) self.object:add_velocity({ From ba9d10055e3a686341503644cc510ee5c7ddaab9 Mon Sep 17 00:00:00 2001 From: cora Date: Wed, 26 Oct 2022 23:40:06 +0200 Subject: [PATCH 60/65] always advance growth stage by 1 on bonemeal --- mods/ITEMS/mcl_dye/init.lua | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mods/ITEMS/mcl_dye/init.lua b/mods/ITEMS/mcl_dye/init.lua index 55ba36acc..3eebcecec 100644 --- a/mods/ITEMS/mcl_dye/init.lua +++ b/mods/ITEMS/mcl_dye/init.lua @@ -283,8 +283,7 @@ local function apply_bone_meal(pointed_thing) end elseif string.find(n.name, "mcl_farming:sweet_berry_bush_") then mcl_dye.add_bone_meal_particle(pos) - local stages = math.random(2, 3) - return mcl_farming:grow_plant("plant_sweet_berry_bush", pos, n, stages, true) + return mcl_farming:grow_plant("plant_sweet_berry_bush", pos, n, 1, true) elseif n.name == "mcl_cocoas:cocoa_1" or n.name == "mcl_cocoas:cocoa_2" then mcl_dye.add_bone_meal_particle(pos) -- Cocoa: Advance by 1 stage From 9e3163ec42f8f6624aff467072411d341dbca565 Mon Sep 17 00:00:00 2001 From: cora Date: Thu, 27 Oct 2022 00:19:38 +0200 Subject: [PATCH 61/65] Drop sweet berry item when bone mealing mature bush --- mods/ITEMS/mcl_dye/init.lua | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mods/ITEMS/mcl_dye/init.lua b/mods/ITEMS/mcl_dye/init.lua index 3eebcecec..1d39a0598 100644 --- a/mods/ITEMS/mcl_dye/init.lua +++ b/mods/ITEMS/mcl_dye/init.lua @@ -283,7 +283,11 @@ local function apply_bone_meal(pointed_thing) end elseif string.find(n.name, "mcl_farming:sweet_berry_bush_") then mcl_dye.add_bone_meal_particle(pos) - return mcl_farming:grow_plant("plant_sweet_berry_bush", pos, n, 1, true) + if n.name == "mcl_farming:sweet_berry_bush_3" then + return minetest.add_item(vector.offset(pos,math.random()-0.5,math.random()-0.5,math.random()-0.5),"mcl_farming:sweet_berry") + else + return mcl_farming:grow_plant("plant_sweet_berry_bush", pos, n, 1, true) + end elseif n.name == "mcl_cocoas:cocoa_1" or n.name == "mcl_cocoas:cocoa_2" then mcl_dye.add_bone_meal_particle(pos) -- Cocoa: Advance by 1 stage From 86eef8827a8404dff5833360a5ff3471a31861ca Mon Sep 17 00:00:00 2001 From: epCode Date: Thu, 27 Oct 2022 01:08:36 +0000 Subject: [PATCH 62/65] Add working mob armor api TODO: make mobs only put on a piece if they don't already have it. --- mods/ENTITIES/mcl_mobs/api.lua | 113 +++++++++++++++++++++++++++++---- 1 file changed, 99 insertions(+), 14 deletions(-) diff --git a/mods/ENTITIES/mcl_mobs/api.lua b/mods/ENTITIES/mcl_mobs/api.lua index b8802fff0..303bce8c1 100644 --- a/mods/ENTITIES/mcl_mobs/api.lua +++ b/mods/ENTITIES/mcl_mobs/api.lua @@ -406,6 +406,7 @@ end -- set and return valid yaw + local set_yaw = function(self, yaw, delay, dtime) @@ -1273,11 +1274,13 @@ local do_env_damage = function(self) end local _, dim = mcl_worlds.y_to_layer(pos.y) if (self.sunlight_damage ~= 0 or self.ignited_by_sunlight) and (sunlight or 0) >= minetest.LIGHT_MAX and dim == "overworld" then - if self.ignited_by_sunlight then - mcl_burning.set_on_fire(self.object, 10) - else - deal_light_damage(self, pos, self.sunlight_damage) - return true + if self.armor_list and not self.armor_list.helmet or not self.armor_list or self.armor_list and self.armor_list.helmet and self.armor_list.helmet == "" then + if self.ignited_by_sunlight then + mcl_burning.set_on_fire(self.object, 10) + else + deal_light_damage(self, pos, self.sunlight_damage) + return true + end end end @@ -2529,7 +2532,7 @@ local function go_to_pos(entity,b) local v = { x = b.x - s.x, z = b.z - s.z } local yaw = (atann(v.z / v.x) + pi / 2) - entity.rotate if b.x > s.x then yaw = yaw + pi end - entity.object:set_yaw(yaw) + --entity.object:set_yaw(yaw) set_velocity(entity,entity.follow_velocity) mcl_mobs:set_animation(entity, "walk") end @@ -3254,19 +3257,89 @@ local function player_near(pos) end end +local function get_armor_texture(armor_name) + if armor_name == "" then + return "" + end + if armor_name=="blank.png" then + return "blank.png" + end + local seperator = string.find(armor_name, ":") + return "mcl_armor_"..string.sub(armor_name, seperator+1, -1)..".png^" +end + +local function set_armor_texture(self) + if self.armor_list then + local chestplate=minetest.registered_items[self.armor_list.chestplate] or {name=""} + local boots=minetest.registered_items[self.armor_list.boots] or {name=""} + local leggings=minetest.registered_items[self.armor_list.leggings] or {name=""} + local helmet=minetest.registered_items[self.armor_list.helmet] or {name=""} + + if helmet.name=="" and chestplate.name=="" and leggings.name=="" and boots.name=="" then + helmet={name="blank.png"} + end + local texture = get_armor_texture(chestplate.name)..get_armor_texture(helmet.name)..get_armor_texture(boots.name)..get_armor_texture(leggings.name) + if string.sub(texture, -1,-1) == "^" then + texture=string.sub(texture,1,-2) + end + if self.textures[self.wears_armor] then + self.textures[self.wears_armor]=texture + end + self.object:set_properties({textures=self.textures}) + + local armor_ + if type(self.armor) == "table" then + armor_ = table.copy(self.armor) + armor_.immortal = 1 + else + armor_ = {immortal=1, fleshy = self.armor} + end + + for _,item in pairs(self.armor_list) do + if not item then return end + if type(minetest.get_item_group(item, "mcl_armor_points")) == "number" then + armor_.fleshy=armor_.fleshy-(minetest.get_item_group(item, "mcl_armor_points")*3.5) + end + end + self.object:set_armor_groups(armor_) + end +end + local function check_item_pickup(self) - if self.pick_up and #self.pick_up > 0 then + if self.pick_up and #self.pick_up > 0 or self.wears_armor then local p = self.object:get_pos() for _,o in pairs(minetest.get_objects_inside_radius(p,2)) do local l=o:get_luaentity() if l and l.name == "__builtin:item" then - for k,v in pairs(self.pick_up) do - if not player_near(p) and self.on_pick_up and l.itemstring:find(v) then - local r = self.on_pick_up(self,l) - if r and r.is_empty and not r:is_empty() then - l.itemstring = r:to_string() - elseif r and r.is_empty and r:is_empty() then - o:remove() + if not player_near(p) and l.itemstring:find("mcl_armor") and self.wears_armor then + local armor_type + if l.itemstring:find("chestplate") then + armor_type = "chestplate" + elseif l.itemstring:find("boots") then + armor_type = "boots" + elseif l.itemstring:find("leggings") then + armor_type = "leggings" + elseif l.itemstring:find("helmet") then + armor_type = "helmet" + end + if not armor_type then + return + end + if not self.armor_list then + self.armor_list={helmet="",chestplate="",boots="",leggings=""} + end + self.armor_list[armor_type]=ItemStack(l.itemstring):get_name() + o:remove() + end + if self.pick_up then + for k,v in pairs(self.pick_up) do + if not player_near(p) and self.on_pick_up and l.itemstring:find(v) then + local r = self.on_pick_up(self,l) + if r and r.is_empty and not r:is_empty() then + l.itemstring = r:to_string() + elseif r and r.is_empty and r:is_empty() then + o:remove() + end end end end @@ -3943,9 +4016,16 @@ local mob_activate = function(self, staticdata, def, dtime) self.on_spawn_run = true -- if true, set flag to run once only end end + if not self._run_armor_init then + self.armor_list={helmet="",chestplate="",boots="",leggings=""} + set_armor_texture(self) + self._run_armor_init = true + end + -- run after_activate if def.after_activate then + def.after_activate(self, staticdata, def, dtime) end end @@ -4261,6 +4341,8 @@ local mob_step = function(self, dtime) do_jump(self) + set_armor_texture(self) + runaway_from(self) if is_at_water_danger(self) and self.state ~= "attack" then @@ -4417,6 +4499,7 @@ minetest.register_entity(name, { curiosity = def.curiosity or 1, -- how often mob will look at player on idle head_yaw = def.head_yaw or "y", -- axis to rotate head on horrizonatal_head_height = def.horrizonatal_head_height or 0, + wears_armor = def.wears_armor, -- a number value used to index texture slot for armor stepheight = def.stepheight or 0.6, name = name, description = def.description, @@ -4470,6 +4553,7 @@ minetest.register_entity(name, { nofollow = def.nofollow, can_open_doors = def.can_open_doors, jump = def.jump ~= false, + automatic_face_movement_max_rotation_per_sec = 300, walk_chance = def.walk_chance or 50, attacks_monsters = def.attacks_monsters or false, group_attack = def.group_attack or false, @@ -4579,6 +4663,7 @@ minetest.register_entity(name, { self.object:set_properties({ collide_with_objects = false, }) + return mob_activate(self, staticdata, def, dtime) end, From 239eca8988c56f41da9c53fd6def00b241650640 Mon Sep 17 00:00:00 2001 From: epCode Date: Thu, 27 Oct 2022 01:14:04 +0000 Subject: [PATCH 63/65] make mob's not switch armor lying on the ground if they are already equiped. --- mods/ENTITIES/mcl_mobs/api.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mods/ENTITIES/mcl_mobs/api.lua b/mods/ENTITIES/mcl_mobs/api.lua index 303bce8c1..5d7a5c320 100644 --- a/mods/ENTITIES/mcl_mobs/api.lua +++ b/mods/ENTITIES/mcl_mobs/api.lua @@ -3327,6 +3327,8 @@ local function check_item_pickup(self) end if not self.armor_list then self.armor_list={helmet="",chestplate="",boots="",leggings=""} + elseif self.armor_list[armor_type] and self.armor_list[armor_type] ~= "" then + return end self.armor_list[armor_type]=ItemStack(l.itemstring):get_name() o:remove() From ee9301467cc34b67a3f8e4024bb2ec5d1fce0890 Mon Sep 17 00:00:00 2001 From: epCode Date: Thu, 27 Oct 2022 01:32:40 +0000 Subject: [PATCH 64/65] give zombie's the ability to wear armor. --- mods/ENTITIES/mobs_mc/zombie.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/mods/ENTITIES/mobs_mc/zombie.lua b/mods/ENTITIES/mobs_mc/zombie.lua index a3069ea18..eaba127a8 100644 --- a/mods/ENTITIES/mobs_mc/zombie.lua +++ b/mods/ENTITIES/mobs_mc/zombie.lua @@ -59,6 +59,7 @@ local zombie = { curiosity = 7, head_pitch_multiplier=-1, breath_max = -1, + wears_armor = 1, armor = {undead = 90, fleshy = 90}, collisionbox = {-0.3, -0.01, -0.3, 0.3, 1.8, 0.3}, visual = "mesh", From 11cc8745a2e71d67e44478cd27df7b37950e4e76 Mon Sep 17 00:00:00 2001 From: cora Date: Fri, 28 Oct 2022 04:59:40 +0200 Subject: [PATCH 65/65] Remove potentially copyrighted music track and replace by cc music Soaring over the sea by mactonite (cc-by) http://ccmixter.org/files/mactonite/65379 --- mods/ITEMS/mcl_jukebox/README.md | 2 +- mods/ITEMS/mcl_jukebox/init.lua | 2 +- .../sounds/mcl_jukebox_track_5.ogg | Bin 1116222 -> 1670247 bytes 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mods/ITEMS/mcl_jukebox/README.md b/mods/ITEMS/mcl_jukebox/README.md index bc261270a..6376362bb 100644 --- a/mods/ITEMS/mcl_jukebox/README.md +++ b/mods/ITEMS/mcl_jukebox/README.md @@ -10,7 +10,7 @@ to play. And that's it! `mcl_jukebox_track_2.ogg`: “The Energetic Rat (Jordach's Mix)” by SoundHelix (CC0) `mcl_jukebox_track_3.ogg`: “Eastern Feeling” by Jordach (CC0) `mcl_jukebox_track_4.ogg`: “Minetest” by Jordach (CC0) -`mcl_jukebox_track_5.ogg`: “Credit Roll (Jordach's HD Mix)” by Junichi Masuda (CC0) +`mcl_jukebox_track_5.ogg`: "Soaring over the sea" by mactonite http://ccmixter.org/files/mactonite/65379 (CC-BY) `mcl_jukebox_track_6.ogg`: “Winter Feeling" by Tom Peter (CC BY-SA 3.0) `mcl_jukebox_track_7.ogg`: “Synthgroove (Jordach's Mix)” by HeroOfTheWinds (CC0) `mcl_jukebox_track_8.ogg`: “The Clueless Frog (Jordach's Mix)” by SoundHelix (CC0) diff --git a/mods/ITEMS/mcl_jukebox/init.lua b/mods/ITEMS/mcl_jukebox/init.lua index 6c51a6c94..d817bdac7 100644 --- a/mods/ITEMS/mcl_jukebox/init.lua +++ b/mods/ITEMS/mcl_jukebox/init.lua @@ -234,7 +234,7 @@ mcl_jukebox.register_record("The Evil Sister (Jordach's Mix)", "SoundHelix", "13 mcl_jukebox.register_record("The Energetic Rat (Jordach's Mix)", "SoundHelix", "wait", "mcl_jukebox_record_wait.png", "mcl_jukebox_track_2") mcl_jukebox.register_record("Eastern Feeling", "Jordach", "blocks", "mcl_jukebox_record_blocks.png", "mcl_jukebox_track_3") mcl_jukebox.register_record("Minetest", "Jordach", "far", "mcl_jukebox_record_far.png", "mcl_jukebox_track_4") -mcl_jukebox.register_record("Credit Roll (Jordach's HD Mix)", "Junichi Masuda", "chirp", "mcl_jukebox_record_chirp.png", "mcl_jukebox_track_5") +mcl_jukebox.register_record("Soaring over the sea", "mactonite", "chirp", "mcl_jukebox_record_chirp.png", "mcl_jukebox_track_5") mcl_jukebox.register_record("Winter Feeling", "Tom Peter", "strad", "mcl_jukebox_record_strad.png", "mcl_jukebox_track_6") mcl_jukebox.register_record("Synthgroove (Jordach's Mix)", "HeroOfTheWinds", "mellohi", "mcl_jukebox_record_mellohi.png", "mcl_jukebox_track_7") mcl_jukebox.register_record("The Clueless Frog (Jordach's Mix)", "SoundHelix", "mall", "mcl_jukebox_record_mall.png", "mcl_jukebox_track_8") diff --git a/mods/ITEMS/mcl_jukebox/sounds/mcl_jukebox_track_5.ogg b/mods/ITEMS/mcl_jukebox/sounds/mcl_jukebox_track_5.ogg index dcad499d9608af0000da341e79a5bf071ab2ebd7..0a635207c24ad70523178f1be7f502df4e4ad953 100644 GIT binary patch literal 1670247 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%0ATNHI)H)qr8>j1g?<&w`%Qey>)4LCQO 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 z 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