From a8a063b76cbbcc5e7d4fba1dfc0eef5a4d236f7c Mon Sep 17 00:00:00 2001 From: Vitaliy Olkhin Date: Sun, 14 Jan 2024 23:41:20 +0500 Subject: [PATCH] copied and edited the code from https://github.com/askotos/hotbar/tree/master --- depends.txt | 1 + init.lua | 184 +++++++++++++++++++++++++++++- textures/hotbar_selected_slot.png | Bin 0 -> 5323 bytes textures/hotbar_slots_bg_01.png | Bin 0 -> 312 bytes textures/hotbar_slots_bg_02.png | Bin 0 -> 467 bytes textures/hotbar_slots_bg_03.png | Bin 0 -> 605 bytes textures/hotbar_slots_bg_04.png | Bin 0 -> 689 bytes textures/hotbar_slots_bg_05.png | Bin 0 -> 861 bytes textures/hotbar_slots_bg_06.png | Bin 0 -> 965 bytes textures/hotbar_slots_bg_07.png | Bin 0 -> 489 bytes textures/hotbar_slots_bg_08.png | Bin 0 -> 550 bytes textures/hotbar_slots_bg_09.png | Bin 0 -> 1361 bytes textures/hotbar_slots_bg_10.png | Bin 0 -> 1480 bytes textures/hotbar_slots_bg_11.png | Bin 0 -> 1596 bytes textures/hotbar_slots_bg_12.png | Bin 0 -> 1706 bytes textures/hotbar_slots_bg_13.png | Bin 0 -> 1817 bytes textures/hotbar_slots_bg_14.png | Bin 0 -> 2011 bytes textures/hotbar_slots_bg_15.png | Bin 0 -> 2085 bytes textures/hotbar_slots_bg_16.png | Bin 0 -> 813 bytes textures/hotbar_slots_bg_17.png | Bin 0 -> 2156 bytes textures/hotbar_slots_bg_18.png | Bin 0 -> 2182 bytes textures/hotbar_slots_bg_19.png | Bin 0 -> 2186 bytes textures/hotbar_slots_bg_20.png | Bin 0 -> 2211 bytes textures/hotbar_slots_bg_21.png | Bin 0 -> 2253 bytes textures/hotbar_slots_bg_22.png | Bin 0 -> 2282 bytes textures/hotbar_slots_bg_23.png | Bin 0 -> 2321 bytes 26 files changed, 183 insertions(+), 2 deletions(-) create mode 100644 depends.txt create mode 100644 textures/hotbar_selected_slot.png create mode 100644 textures/hotbar_slots_bg_01.png create mode 100644 textures/hotbar_slots_bg_02.png create mode 100644 textures/hotbar_slots_bg_03.png create mode 100644 textures/hotbar_slots_bg_04.png create mode 100644 textures/hotbar_slots_bg_05.png create mode 100644 textures/hotbar_slots_bg_06.png create mode 100644 textures/hotbar_slots_bg_07.png create mode 100644 textures/hotbar_slots_bg_08.png create mode 100644 textures/hotbar_slots_bg_09.png create mode 100644 textures/hotbar_slots_bg_10.png create mode 100644 textures/hotbar_slots_bg_11.png create mode 100644 textures/hotbar_slots_bg_12.png create mode 100644 textures/hotbar_slots_bg_13.png create mode 100644 textures/hotbar_slots_bg_14.png create mode 100644 textures/hotbar_slots_bg_15.png create mode 100644 textures/hotbar_slots_bg_16.png create mode 100644 textures/hotbar_slots_bg_17.png create mode 100644 textures/hotbar_slots_bg_18.png create mode 100644 textures/hotbar_slots_bg_19.png create mode 100644 textures/hotbar_slots_bg_20.png create mode 100644 textures/hotbar_slots_bg_21.png create mode 100644 textures/hotbar_slots_bg_22.png create mode 100644 textures/hotbar_slots_bg_23.png diff --git a/depends.txt b/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/depends.txt @@ -0,0 +1 @@ +default diff --git a/init.lua b/init.lua index 83754a1..d7a8379 100644 --- a/init.lua +++ b/init.lua @@ -3,9 +3,189 @@ minetest.register_privilege("builder", { give_to_singleplayer = false }) +local VERSION = "0.1.5a" +local MODES = {legacy = "legacy", world = "world", session = "session"} -- this redundancy simplifies later checks +local DEFAULT = {mode = MODES.world, slots = {legacy = 16, world = 10, session = 12}} +local MOD_STORAGE = {} +if not core.get_mod_storage then + -- MT < 0.4.16 + MOD_STORAGE.present = false + MOD_STORAGE.settings = false +else + -- MT 0.4.16+ + MOD_STORAGE.present = true + MOD_STORAGE.settings = core.get_mod_storage() +end + + +local stringified_table_keys = function(what, sep) + -- what: table + -- sep: keys separator (a string) + local rc = "" + for k, v in pairs(what) do + rc = rc .. k .. sep + end + return string.sub(rc, 1, -#sep - 1) +end + +local new_masked_array = function(mask, max) + local rc = {} + for i = 1, max do + table.insert(rc, string.format(mask, i)) + end + return rc +end + +local read_mode = function(key, default_value) + if not core.is_singleplayer() then + return MODES.session + end + local value = core.settings:get(key) + if type(value) ~= "string" or #value == 0 then + return default_value + end + value = string.lower(value) + if not MODES[value] then + value = default_value + end + return value +end + +local get_mode = function(storage, key, default_value) + if not core.is_singleplayer() then + return MODES.session + end + local value = read_mode(key, default_value) + local wrong = false + if value == MODES.world then + if not storage.present then + value = MODES.legacy + wrong = true + end + end + if wrong then + core.settings:set(key, value) + core.log("error", + "[MOD] hotbar v" .. VERSION .. + " automatically changed and saved the mode. " .. + "The mode has now been set to " .. + string.upper(value) .. ".") + end + return value +end + +local get_and_set_initial_slots = function(storage, mode_value, key, default_value) + local current + if not core.is_singleplayer() then + mode_value = MODES.session + default_value = DEFAULT.slots[mode_value] + end + + if mode_value == MODES.legacy then + local result = tonumber(core.settings:get(key)) + current = result or default_value -- The first time + if not result then + -- first time + core.settings:set(key, current) + else + current = math.floor(result) + if current ~= result then + -- result is a float + core.settings:set(key, current) + end + end + + elseif mode_value == MODES.world then + local result = core.deserialize(storage.settings:get_string(key)) + if type(result) == "number" then + current = math.floor(result) + if current ~= result then + -- result is a float + storage.settings:set_string(key, core.serialize(current)) + end + else + current = default_value -- The first time + storage.settings:set_string(key, core.serialize(current)) + end + + elseif mode_value == MODES.session then + current = default_value -- Session initial value + + else + current = default_value -- Unplanned case + core.log("error", + "[MOD] hotbar v" .. VERSION .. + ": the specified mode - " .. string.upper(mode_value) .. + " - is unmanaged and has been overridden and set to " .. + string.upper(default_value) .. ".") + end + + return current +end + +local adjust_hotbar = function(name, slots, selected_image, bg_image_getter) + local player = core.get_player_by_name(name) + player:hud_set_hotbar_itemcount(slots) + player:hud_set_hotbar_selected_image(selected_image) + player:hud_set_hotbar_image(bg_image_getter(slots)) + player:hud_set_flags({hotbar = true, wielditem = true}) +end + +local hb = {} + +hb.adjust = adjust_hotbar + +hb.mode = { key = "hotbar_mode" } +hb.slots = { key = "hotbar_slots", min = 0, max = 23 } +hb.image = { selected = "hotbar_selected_slot.png", bg = {} } + +hb.mode.current = get_mode(MOD_STORAGE, hb.mode.key, DEFAULT.mode) +hb.slots.current = get_and_set_initial_slots(MOD_STORAGE, hb.mode.current, hb.slots.key, DEFAULT.slots[hb.mode.current]) +hb.image.bg.array = new_masked_array("hotbar_slots_bg_%02i.png", hb.slots.max) + +hb.image.bg.get = function(slots) + return hb.image.bg.array[tonumber(slots)] +end + +hb.slots.set = function(name, slots) + local mask = {err = "[%s] Wrong slots number specified: the %s accepted value is %i.", + set = "[%s] Hotbar slots number set to %i."} + local display_name = name + if minetest.is_singleplayer() then + display_name = '_' + end + + slots = math.floor(slots) -- to avoid fractions + + hb.adjust(name, slots, hb.image.selected, hb.image.bg.get) + + if hb.mode.current == MODES.legacy then + core.settings:set(hb.slots.key, slots) + elseif hb.mode.current == MODES.world then + MOD_STORAGE.settings:set_string(hb.slots.key, core.serialize(slots)) + elseif hb.mode.current == MODES.session then + if core.is_singleplayer() then + -- This is an ephemeral / transient storage that is to survive while in a map + -- and trying different hotbar modes. + -- As a commodity, singleplayer can override the default value to get it back + -- if he/she switched back from another mode during the same session. + -- This has not to happen on a server to avoid that other players + -- overrided it or that their default / current value might be overridden by + -- others. + DEFAULT.slots[hb.mode.current] = slots + end + else + return + end + if hb.mode.current ~= MODES.session then + hb.slots.current = slots + end +end + minetest.register_on_joinplayer(function(player) if minetest.check_player_privs(player, {builder=true}) then - player:hud_set_hotbar_itemcount(tonumber(16)) - player:hud_set_hotbar_image("") + --player:hud_set_hotbar_itemcount(tonumber(16)) + --player:hud_set_hotbar_image("") + hb.adjust(player:get_player_name(), 16, hb.image.selected, hb.image.bg.get) end end) \ No newline at end of file diff --git a/textures/hotbar_selected_slot.png b/textures/hotbar_selected_slot.png new file mode 100644 index 0000000000000000000000000000000000000000..abb75cc8026a9062c3b421dc3b5625004b897832 GIT binary patch literal 5323 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

!J3EU^>#j2|Z*^qYXqg#$~ zIJ*?!LsCBfhC3z5bsJpz9XFFXl`g$g6CKEmCJ2A}1ZU^*ytQ@0u@{({-_x1ISECb- zI26Ol7UEvpC|@q!b&p*Y3)6^~kt?m`?h24{WZ(m3>5GpbZG;z$3pxap_a6xAfB~27 zT;z8y5TKx4SOmKLms3o?M^vv^f6bbL} zEw*%1ZuC9hSDE9~`v*%A&)M1%-nt(uKHS>9Yn=M;X{>85_lC0B6mwgI1XvV`;z6w| zIWy*duZDKUU-X&4yIE$SQ?PCp(KGifb1UO-#IBu=Km7_*3zd@DFfcpTP+uq z@t%a+UUCA`z`P+cym@C}v>smejqr(G;P@kRMkWlOWXZ`u*dv*ca9#_~fEc=1zP}HQ!BW>oPQ_8nZ2-EK~&5G*sl7S|FrX7$og-md>lW{h( zM!8>2*t{VxA4@@?gwXNfwA1(2B9;coA9(+I;^%vPe=?vD1M%JE(xZ6|IJi>&Kip(_ z(hGaad=dNMucbzRWuUun?h|y$OpQ>LYoUvNS|Ad59$%)Z5k{?<7EM{kR4zZLu?zB> zWGW{yd5ZHSJR#YH3A9yCydm3ANZWRFhx}%qd7tXv>8&Z+I6N(FR1uTIok zB;pzXY)zvilWrAx!B1yQSNAN#=PrfjaARq_qD}^L+3=#X;WKie066Sv%yMy#@Ja^t%bj2l^uDVbsgOJu2$&M^lXTfUy-)ZB@wuNK^bhoQ-#_ z6kp^pG)BJkXhgIam|LFJy`KqNE~9EZa?liLEmJr%rHdUlGTX97rbU_zsgS6SJCskZ zC5vp`IfPfb0Q#zLHApSxrx-274EU?GjSt7IE)wQmDIPG*SSRtWJ4>0lDM4gQzSv77 zPGpNdI+j&`(`BU}*$xJyO`}?iP|cj4o-|)Arl$!aSjA5L~c#`DCC7XMsm# zF#`j)FbFd;%$g$s6ujZ-;uunK>+K!Gyh9EGZ5Qivl%5I*$hW9H?=NCi@jj{O(b(R` z#~~#9>G!F*?=s6zd#dbpD1E(Q_v9zWC(DkSEmvt@^=p^uoj=Xn%2#fB`)=u~ee#E5 zZ|R<%R4CJ*9Xfm2%4d~zyZ7wU-f=MhYs`ZKjm+$R=%ji9NCb%#wg8DBk(@Fh5hRl3 z-OYDz`+rNeJzTu|et1r>=f6pR?n%d`UQM3FzFJOouS>e%MWvg!_I~aF`jNrY)z4*} HQ$iB}R<45w literal 0 HcmV?d00001 diff --git a/textures/hotbar_slots_bg_02.png b/textures/hotbar_slots_bg_02.png new file mode 100644 index 0000000000000000000000000000000000000000..4fe5210c5709c290454120f506cd2bc3028a0f42 GIT binary patch literal 467 zcmeAS@N?(olHy`uVBq!ia0vp^Gl1BOgAGW!o6KbeQfx`y?k)`fL2$v|<&%LToCO|{ z#S9GG!XV7ZFl&wk0|R5Rr;B4q#jUqjHs%RCO0-`5y}r4lf51COU5|79JmprsDtqaW z{nqGY>7>;v!OQ>JsNW2~TKDe2(fCKdUVTcv8#Q~?tGu-3+dcQG{+#q=>EpR=D(|DS zm#^COKRqFR{<6$dSzCWyeVz5#;@ZQ4isHJX@5S_f z(f#vR^T&OyWNuV65RhPUPEaslX*=MMz`@hlctAh`NMVT2WWW@|p%!Qqh8Yh^V{~f% z+wmNJe(hH3@!KJjo~zi4{oAkd)3Wbz`?+$dNj9pLF;XA-*KSqW>AC4$#g5=f?W=ah vS{3lUwmKO)Y2{<@9qU)^{Vv7u?{@y?k6z6aC$D=Cj1vY=S3j3^P6VgAGV7i|+^lQfx`y?k)`fL2$v|<&%LToCO|{ z#S9GG!XV7ZFl&wk0|VnRx3PUAAEBwpl6qC&MQFbhtnNx60*Jv+OoqPMdUBMVk5UO7EiSDM6vvYuUr( zIt#A5Yu#SEwKCMVs;p|_li*4Go^ot^f~P+T&CU%AeQs-=tMYTslfMVbqdYg=i~1cD zYF^J<`0#Cw-T4fYU#3^C9(!CE8y9C6eTPfUyREjkwAA$W&6|>M{My^w7f+r%dF#=& z5B5Ai5jAP;<;$1bo12^GpUzACzx(my$Iso}-CuV{AN0L{ou`87I+sI7gMj0J-~;+_m4gP_`31^71f{fo|K(@Z$IhIyZ7(&w_S_l z+q3od(XhSxx8b3=IA^@|E+7Y8ls+C;(FjgQu&X%Q~loCIHW63@`uy literal 0 HcmV?d00001 diff --git a/textures/hotbar_slots_bg_04.png b/textures/hotbar_slots_bg_04.png new file mode 100644 index 0000000000000000000000000000000000000000..d0b8abfe9ef8a62caaad78e3e0fc93230be946dc GIT binary patch literal 689 zcmeAS@N?(olHy`uVBq!ia0y~yVAKP$y*Su_Bx}&l-9U;h$=lt9;Xep2*t>i(P=vF< zBeIx*fm;}a85w5Hkzin83iNbw45_&F_WEA$=s<>J55KEK`4$#`W)5D-s=kmz_sX^U zJ@Q@u8)oP6t!2At=y-I}WmP`b;=&xu^TyBay?i=PUY!$Y^q-|?ssplZeKy_vVK&{f z&r9=i-(0>)IidDcERl733R_*;Ab^Gr7ckl8x?Af#DX5s8x9zkJY zVeix@dv3PAd+#1!Sa`U(71O?XOZIQu_RT=5ch=tpdU|?nhaVQ~eSBxFdgPtEcWW)| z?dO|W1>4%%*6!WDefzW&&66qjw(>mK|J$BZA%@`)t3pge0V9VvkN~lP0$?_WIGQAe z01nkN83gng9x@5&IqYC);RX^QHjn_bTe#6AF$5km{V>-#^Yd@|q_rtO zcB`*d%}Ck&F(X#ZQfsM?b(xjNrmI_1nXP*#$xIKDvo8BJBW3r)=sNwAUvrlK?wk8< t@|!b!`Kzt(s#t0+?YXPV$iPss(Ec!2_w=cSm7rw7;OXk;vd$@?2>|@}DJcK| literal 0 HcmV?d00001 diff --git a/textures/hotbar_slots_bg_05.png b/textures/hotbar_slots_bg_05.png new file mode 100644 index 0000000000000000000000000000000000000000..82965d2c8a398f829b262443586cde27b0b7c0d1 GIT binary patch literal 861 zcmeAS@N?(olHy`uVBq!ia0y~yU@QZ&y*Su__Cbw$=lt9;Xep2*t>i(P=vF< zBeIx*fm;}a85w5Hkzin8`s?Z97*cWT?e&fRq3JTmK0arUXtC&UmRwS>J2T?0#FmwF zJs#*MDgJR5IJ7{mx4An}HPx^owQ%CmB?%Aq#rjP?Cbuqnc9q@ykI#Jk&;8!}+!tsO z!;k49_xsmwRjHhol6m0v9hJ)P(ER-B1zXF^PhM8(_B_U1Tfc6SOz72%Epz2mBE2^m zT$sCTQjJ$pMCg0=+5U8HIt4u zH#fij`t_@Q-fq>p*W0#l-+%kotzGw7U+#H6u~miJ+S+>l_HEnj_`j59{r>&C`1R}8 z-FK^tFMd9gH0kHrvu9WD-Me@8!g;$VPoBKWMV29v9ms^yV4;DOYWTnT*QfStQIl-EH>J&vQT@4f6<>AP zEZ9DDn-6pOb{Cg_y}F@Z@cU9m{_@FBVng@tecO2L)?F3<$vS*rRDZud|9-`)KD9Sr z7W@v7c$GNE>yzfm#L&I-H(W0IzOW$wfOV`&WpJoGFh$KuF+G_x$?U>hJC(}V(CP2g eL5cMLN_)oG^#@n(3tq$m;(NOKxvX|H(?D8gCb z5n0T@z%2~Ij105pNH8!kr+T_LhE&{od&AH_BvR(s!|(PF79DfandWrl=8cSuPTtm8 zrP@M&T}+PYFEJF$+7xv|B5ISFTR~>d62nLXzVzAIn+&JlocG!0>61%)b{5yAdjKtB zU^ur%>i34N(^SeQuPNJeR_A20EnC(1>`jUF z$zBz1+4+yzJ>$ZAm+5sEKidAXXu{QNw>(4N_Pp6L<;nMl2Y%iA=r>tq|F&yspe`vi$19+Njqx%kNK$$ymF0&8ou_=jN&Hy#6uu)qZQ; zZP(&LuYNq?Cw=(op6lL+_^-Fyx+(9dI3*uzZE1P((4j+t+gHc#kE^b(e%=;;(0aK{ zM)>#d-_tL@+;V%aoK3}s4^K``?moQ!!FT2U7@tj_{`~y>J~}%3|D12}?VI0STVAEB zx#s%&yT|+G^?jCKUhR2~_kZipn^#r3FTebfQD49RHp98J&7UWqd~&Pc-Ik5Ftr<$( z85ji|7|25`0t{p$MivHgkplxG5IuOadcJ+eTGf+xRc3EHSvbjlbyj-H@}#FFsadaD85!EHY<*W|U-@ZIKdbwh z=|Aqt_P^OO@k!jIr7CMbZ~l`z>3Znb|BQb$n^w#An|Xg)xa!{AZw}dSYbIHHhFSeJ z`nN;nP1x0UbLOt&5nmO@zt(fode5>|uP)D-d##Q8>e9Y)E1yr>R_!};Gt>5D)$#V< zDkq<-_an5i1FVdQ&MBb@04yMx Axc~qF literal 0 HcmV?d00001 diff --git a/textures/hotbar_slots_bg_07.png b/textures/hotbar_slots_bg_07.png new file mode 100644 index 0000000000000000000000000000000000000000..519fada5c697118e090096e1aa47a337b72527e4 GIT binary patch literal 489 zcmeAS@N?(olHy`uVBq!ia0y~yU;?qdIM{&XEw&l~AjOvC?e4HkWmyY3)1PzMskj&j zf9g+JJRN8N5Zqbj#(#IOYGmBL^MRqiZ#K?-lcH{Y^Q52uy-X{~x2qR#Dl2z;4CI$> znmqT-moIad9pv|(6ms?b+0~`rYXWD2g@HP3tCsh7Ffq8bFfk~IFfc4+VBlb7aL{02 zaAIT-;9_V9U|>K<(MJW)0R-GZl!}HFsT%u9Ywp_4);NB2HY|Ah@2+&a4hpw>c2S{k l)7fF+us2a19IOq}e;C&m?)lDE4H!+#K5uy^@npa^Gy zM`SSr1Gg{;GcwGYBf-GHc+AtqF{I+w+iM$h4;zTMUi{818t3#uiP2_v+C`z4bzLl; z$)}itTCJ9gtbEpZ)E8(B5H!@Uabv&x*JD#$&HTNqwk_r^+cbIZn-q2Hv->9Z?lbe+ z6l&|g{At3D^1U;w%hSJ{07>0E=~p(ZR$cmU-j}_{FRzGVvtR2O6e=Gcw{Ca7e%Bp8 zh!M+gmT$V)x&4cp1tY^hw*W>44lM=-M^*-f6$}h4q6`d8Tnr8f(S`*~3<5x(Lq(yA zV4`%=3bF?1G?=YGw;(wfB#Puscg*d8R{>FVdQ I&MBb@0MqlN&;S4c literal 0 HcmV?d00001 diff --git a/textures/hotbar_slots_bg_09.png b/textures/hotbar_slots_bg_09.png new file mode 100644 index 0000000000000000000000000000000000000000..82fb625d9013e1f8ee8671d140442961603d042a GIT binary patch literal 1361 zcmZvc4NMbv6u=Kfhq$5%M34`4@hmQxFc1cEQWQ}*J}L?qBBMY?hje9tpjSW!;v|GQ za9#xkIbf1_5iL0AS&$YM7s9H1h_$xm(}Y?rwlLa)mMUFKWtzGf)w=+I?K~WII6i+=s~G-8`r4y^ewdT~yq4({$38j@#vNvE_1hGB@sE+)>SvV+ zFCRfq%aTjI4E9L{HnZcehQUjFDWT&|np-Da|Jqe+Q_jqxQfZ8Q`;*0aO;1t1F!@Pd zLx(YESy<9*{r}2g-aslGc_bHB1x=|;U}J(*?*rixI#uUBNY46F?2IgA4$$ZJ9QciS zOM+9egFCc*S~`&iJ5Xyi`NU4F=oAuCsZjI4ax63ESGh z)1%JSvC-2|pyI}}e>}4{^jr3vr}0Sti3RW8qzz+0rG+R5}lIS64eIYJ~QFLkddmX*)S2S_ET>UbG zn1GA5MTE8)-?2sG*Qh)WFQPq?cnr4)iiRH|4u>ZrbW#0K4AmIJ))pYa?sC@fbEJ;0-pc;*_L$G>(?n$nn&4uNljTLM(eJFjfk|P6rYT-G-b^Yr!F!# zKujQ{WeEf?-(XVVw?)Kxn0BXyEXAup&?eB9`4UGxp!+1DK=Cw*5qspR-rF$?D*v^sv^@)QkTD D*;Q2F literal 0 HcmV?d00001 diff --git a/textures/hotbar_slots_bg_10.png b/textures/hotbar_slots_bg_10.png new file mode 100644 index 0000000000000000000000000000000000000000..0d27402784e44eecaff3f75359c54dd358a12f43 GIT binary patch literal 1480 zcmd6ndrVVz6vrjP0sts)j!#Nu^2+-~JHu-k;uQp)36V9*LHnwad5?eCpme!uhkesWIE zIms`-W_P9y z*0AtCx?5Z}NDVFRjYVMOe z>3Gid(VF^O$r`YgS^*J?DJGohN8YKk@;Ec z;Lbbk!l$iZ>am5?z<9v48ekibDp#4_qiuh_Rb7}v> z6HB5`Qp4**al^Xl(V>P-V8_9JB2=EVS`}ZXB&#sO0fpuKhUXv+%O|Roq!uIUpauSk#6heC3{m9qIEjN6y98+f zy}5BdL!uSGu4nZ50(P;ej7x4X#mFxZGDxx}@3J?CylK_0t03w@R^7tvYp5S> zLZc*!LO9#Mqm-X{F*QE`Uyt12&`)}ZI#Iq95qn8<&-dig(+VQ6Bxnru&b&+PLT+&B zLf79CLvBMxi~XjG5a*em-Sl3E8(N7Ba5Wcxhq+KaU7Z(FLGTeNa=&XYhVVo2J8C7% f^}OC#q3N{TJ&kfyT~mjAG((^ba8&jBok#u##NCr( literal 0 HcmV?d00001 diff --git a/textures/hotbar_slots_bg_11.png b/textures/hotbar_slots_bg_11.png new file mode 100644 index 0000000000000000000000000000000000000000..842dcb0206b18cc5b5ea2fbb7fe98e98ef307866 GIT binary patch literal 1596 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 literal 0 HcmV?d00001 diff --git a/textures/hotbar_slots_bg_13.png b/textures/hotbar_slots_bg_13.png new file mode 100644 index 0000000000000000000000000000000000000000..6e4257c7b3278ed6b5d7a67cfb76aa0498c218f5 GIT binary patch literal 1817 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 VEW7d4hhMFL&|jEo`aK_f`X6`ri1z>h literal 0 HcmV?d00001 diff --git a/textures/hotbar_slots_bg_15.png b/textures/hotbar_slots_bg_15.png new file mode 100644 index 0000000000000000000000000000000000000000..fcecd9d6d50a33ce1f1396a7fc197aebba11de35 GIT binary patch literal 2085 zcmeH|ZBSEJ8poq3bfMbLIEo?^9WG(h0^4FVCQ*siF1aCGZB#63N=pHah*A;^uOhA0 zaTPI_;7)`@Y)#XaierqFB)mu&!JC9i5+#N}BPG$?C`o}pBq7O$nVs#&{n#&k&Ybgq z&NFkKGjnGCzjJ;!l(sB9Djb8sECZ=K85qoxL&2Q(T4-=RE2k`MLUYp7c47hxqq$R3 zAFTYXh?>R5U?Ns5%te^1O{+1Ou>0W7?R!gyCx+FRGWRV$J9c8_x_ylBP3v&W!&iTC zW{LLAH%>1;`jGQ=WOGR8;uzaX8|4-ytb7qkD+pWHR{Gk9zktMDUe9gy9?@JFGtt;jQg3!qUGob`x7 z%)byPY{MF_=6>EQOvV!T(uk=#78@=Ev1=V19O4%9@5Bi=VaqlnFz{2A+D=|K@)D%C<@@dgB8sK$6uJva+wJuZ?Q1fd2-SB&yO{$+r;heq6N zj*Yx@#uPJ@fMXgaVxyRfR@39^BN_N#Sv%mROhXkBui!AJVXDysP7xZ~y8BFR$FKU6Y$lc7Rupcaoo zA41Cez>Hcb607e8i#;yH!av%{F|jt8%qhD&3B@CHGiswq;(gxZN+@fT>-ki4+bYm3 zd!EFl!FQR45;5O-Ec6?PQ;|Gfn;h|cZr2MqHzy~j?Zt5CHF>dB^~hqeC^P|=Y8c2X zFE5{+vZ@D8lB)glkAj&Y-#^C6fS0!HztvSf`_h=7y}NsUO8v+)^TKek!#M=wdoK~$Ra+u-#b z7rbnpwkCa5LY7azD|K|FtE%FT@U6<{V)w zhCb(Wn*(~>XN^5i^xll<<qVZu1~D{E{Z^7=sLO)8EC>Yf!w#W literal 0 HcmV?d00001 diff --git a/textures/hotbar_slots_bg_16.png b/textures/hotbar_slots_bg_16.png new file mode 100644 index 0000000000000000000000000000000000000000..44011b5ab74f8e65aa7b192ea23d3a04ec132ee0 GIT binary patch literal 813 zcmeAS@N?(olHy`uVBq!ia0y~yU|9lWdvUM<$yTKvLm|H(?D8gCb z5n0T@z%2~Ij105pNH8!ko%M8a45_&F_QuBC!wv$j2W_1jX9-;CV7&e=>PpMzV%90l z!uk(=RxF;>-usUSXb1unG?jkY@crMcna7X*-g7PL{(HL%p6YW;E+G-iSC?Emp*#2L z%WrCTo`1MgeLm0uRRK`_E-&@oJC|n8&10{xI&)^t*1B~udGBlIfA3!AXZ3Q)WMm?C z>14OOms|YgnL(~lY!(4gnxoWE34)ck558YNv+~{E_d;i1_nTuT1t(Ba$eera;^BM0 zv(x0l`L|#DRrkFSISqi51SBDx@dL#_930sHmnq`ciWnhQiBOQBr>mdKI;Vst07gm9 Aga7~l literal 0 HcmV?d00001 diff --git a/textures/hotbar_slots_bg_17.png b/textures/hotbar_slots_bg_17.png new file mode 100644 index 0000000000000000000000000000000000000000..ebd6ba6b7b3c05059447f7e7c92ef9b79ad6f1b1 GIT binary patch literal 2156 zcmeHJ`%_a_9uK9WRlwP$J}N|Z>jezO2N3FVgHI@MgSj}N6{#TI62Kr43L!~(>UI%3 zg{U_nl$fL{4R>k>DKrHVA=q^#z2WVxun-8e4U!nbD-z1P$@GWqzpyj=J#)_I`#AGG z=X__r-|zYK3>@XQb=fYzLPQW1=Dm8;)_O4Heim zuVqIk>l~0#b&In~bOGPwdLyr0RRCuk^x|%j`*~>-+YedL7#G=b&hp@52B2>OG<=^jUz) zH&F0G+p!e_79FYpIil?$H~_mjKT0PdV+jYA&Gh3Ah-ZN5sh zeu4mY1EF-PQjeQ%0k;L^t_nOF*~UVZGWa2q2{kevNsFQR1kyya45kP&X*uVSv^&y+ zK1;2_93_g|0G%MfI~(nU_#*m28+%yHh(h|ExGKb8rfW~fqTSHm=*Bm(x~rV!5Uhc& zU6R2##PLz4Jd&mf3eQtRbvV->3y03SDdM1@DnkTmf*p&7Kpek>qvNm@f<<)L#(rPQ zh($iNyA>JOqzPUuItSeFNucz>P);ybP1iQa;2Oy0Q|*(Lv?=_)zjc*6EM!19`3p`3kA{ay40AvyTl=(@dCatD zPF(x(H*M#3dm69LuE5P9H0wvC)TSDo53C5v&B6xzCVzRN$*4Ghc{r<0D@CYI2Ume0 zi%F?t9ePnVV&XU9rF_^^5LV5|7?+BC6Gl194K?^RAl64o!77}%?<0mR8b0DLmza&@ zA+>D!8R^n6oDPCCMLk;QJVQnpjTZL(8vK3}ZoA6$hiZpmKM<_DIL4*qX;n@55u!9w z2S0Stlc2ZBG+anmH@@*wg)+qfZ>x-7;v3)MPv2R;2ttvOkFqR9zG6_Qv|kOc~fh*4*%JU$gVcRi$W$N`Ed663yt_3f4b6q~4v0hL^clSjO5* zg0_7!Q^`;96_gXhc-iZAe_k)fpSCXQ3sQQ+tX)Y7yo@QjCh(G={P@PI)jFeInLcyq z$J@>N{7WxOcU?FqV5IJp?Of0DfX=E{=Q{`Wh1PC!xaH;WrTPOU6P5APUH>|~o}vl- zS}?M-Y_3l(Sa=pc8Qh0jlk-jT)U4LI4y`RO_rWhWE1`kbHJffQxp3}@@-8QTS~)3F zTYD(KSSI_b`Qc{)rFm^}tbK0k+ujSr3>5vMI3L^WU3hpvHVEf=1&J8*vp+pP;_mgg z!~cPA99uU2&|ec()jSCKf$j-1#wd5Jh?_gvBmKm}9xGa`kbrp^2?e8T-ES^x%)L?y zHy5v^<%YLqRg1;`j+d5z@~mLv%FMl!iCzKaY8*7ZOlR*|7Nj^5_e_ZMUI)J0b!D>y zcLa|++2O+nMx!DS8xx#12}{0{7Ec)!cP(r#;_2Le z@N*_b>Zn8e6G&>fbg%P6cI z){hn8{Y)|@fH-cgaY$lp&X>aZ%I@)!35Or{k3c*7INoSaNEs_ zBiPZR1DpGpwQJe!zqg;@k%n9VD{aCPW6>n2NwI6ep6D@1FO}53z#bmb_l=1D&gboe z{@Z?R*V2}*P?F#rg)pZ9#RmWiQtsY@R|3gZ^t61C1<#*AcD(U?e;8sI1T<9AWC2KP zK2pqeZNW2FZ+hZQ9}oCCVAU-@6-0P>wxqaQnHQ62#!W1$(fn` l5PJNc{TuK{S}k4m-1>dSpFS9kKkd*%@4yicPJQr?-vD1xqGkX9 literal 0 HcmV?d00001 diff --git a/textures/hotbar_slots_bg_18.png b/textures/hotbar_slots_bg_18.png new file mode 100644 index 0000000000000000000000000000000000000000..5aba72a665043ffc5ae9956712e410479745a424 GIT binary patch literal 2182 zcmeHJ|65bn84sldCnDY0S`h+sy@4kcrNaPCLW=b(H<25j(3OHH+X&DUf))b=5YSc7 zK0-2Y0+iqd6vCagz+;2}p+RX^vI|0lTV+WwNDG4?Bnl#g2<-aPy1!w2&vVZEc|Sj# z=Y7v}&iTAw#6m|sx9;3ZB9T17=tF!G$&E>1&K5GU)($_pNjUPKxknF?HeZbf9V#c7 zU!0CkI71?Nc)yx1B<0l|B+`~Z@X!YzN=yspLFt>Ruk}Bh5$)Hi+^&*Yp6#!d{dU&} z^uN0{oMW<#vu?8o+V;Oy;HJI5`+n)kb6MgUmrHN^ANV!67v_edCdQI=hIoWX;OBNXfd8gb)+~HMt?`%C*28{#RpWEk_6Uq! zw8#CvFc7=KA6Tw~WPtIiK+u33fs;OA4K0gJl>#nIb+tX`!UhiQ4nfoiGGH@IcU=(E zuo;zNkd0`9jCBIXIo1g%yIqle3&kG-EVz7o7hVY@SM$>fm?CI#Kl~do%d;JC1ErPx z;T5qGQt!qnt~Pq@l$k$Ztb^h}e~$Xo2808513?@bTF7hx)hukzB~QuARx7gAC_V=i z!pF9C;T-_VrRfWq6+!vInCW~j2d)K&6@2NkcxQ|{1e-d?dc?`rC>B#E4u^jZU=IGk zFA?#m)qo3yye{3JQs7bg(6!cEw}ndf!qB(>xXTi8)J;Mqucv>wS?CWfO5jvxst~8w ziz|>AJo2BG4=Yl?Oc}JZ9zCQF=~W7&6k@^iywKLTer2=cZ;EVHBd!5>+g4A%bV8k- z$le^WX*4&{>|b0qZk1~AQYqvskE{`V`WUGSOn8*LcB>ID19;SK7FOYsmk3XV#Ngxa zsIESlr5k(eY!7G|CMccBjA?H}TU_mQSfE}If7OV8rNLjE&wB@KHbFs5X3HlNd90iP ztp<;vAV$cpCo>-95f>FMrf>yO`GPVx5k_EoPw?s*@BbDlgLGTghj?S}{cOku?D+!Nom}jg&N$WU_}B8a+=7LUv8p?Z1H1Fm zCOs|$uv!z4so}BYl6BL~wq9oa`Hc=eH$>MyUlC#X*w~vjoRg#u#gv^B#m+S%zxN`3 zfDG)F@zFd>e)>1-Y;p5X#67hYY_6}IigeE3j=yNKTG9HGi+%0^7=jwc0Z!JqX9+Yso9anL9?^Tn^GOjQ`>s%y*=G$W`_H6wL}p|AcWcRwa&hgc4g_= z8bLoAZx`a@v4%ZyadFc#^(7ne=yMUdsH7$QQtjuZpPfw%Ld0uJ;+<>qORt{q-A$K+ zL9ak8`~Uub;v96N%d!}Jo~w?pD+d_LsaV?dM@LaM=r8M&fN&dpHj&e98L>_RPB_?C zf~r6%)zPE~9UHOs0q$@)RYRdVh|umjs0YpzdPN;v_>U+V{a6b@Vm4>X8tx;!(fOHN`U%;$Lo7`1_x#Vdpr!r~NgT0qC$soLRxnd8~+JtYm68*t{ e*-Mwr*J&3oG>+~FAUXyT2|NrPYCZ7Bzx*31gpniw literal 0 HcmV?d00001 diff --git a/textures/hotbar_slots_bg_19.png b/textures/hotbar_slots_bg_19.png new file mode 100644 index 0000000000000000000000000000000000000000..eb2c1d8f12a21f2e1094f13d8ad2f3d63168582e GIT binary patch literal 2186 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 literal 0 HcmV?d00001 diff --git a/textures/hotbar_slots_bg_21.png b/textures/hotbar_slots_bg_21.png new file mode 100644 index 0000000000000000000000000000000000000000..baa2c2d9c4055f2143ec43c8bffc593284a9f0e2 GIT binary patch literal 2253 zcmeHH|5p=N7LT$ATCBKRPoWAJTc^Qv0To%01c|mHnE->0f(4}EbVFz;5zH6Dw?NT$ zsa9~Ai6H0zEy65N!Wx4J2yDxi-2p*hq!b8HR|14Ipy5lFn2-&)`@{YXyYHQM?>+av zd)~R9^FE);r=XDSj=LR6B+_<}d4f$M*}rLvS+CgJEcp3HAvS0KacIa1l67NOwquAb z^J*$HT0|mk+qrSJkjie^dR`HLCyt* zuMd2-HR+M~n;n&QvaRlOJLis79CI*{XoICLd+(*c`T_73lev%o*zq^7fBE_q-NJD_ z6qb0GULQiy8C|3FWo8kC%6^nWTW#cyNnlUC8f+UCe41R)L1`=ODqJ3x@Fe>LB??Q7z4Z&2+wIXO7Nrr^6uwoFJ zMY5w=EeD7ApTZ5Gv%gyV9{hf_+}7jgF{wQ*yH<4wzXTQoEu)`cQ;3^) z^{ri6l{a1pNPX2>HoO>0#ZJ=tfQ%#f&`J7rKm-;Rv!Scvm?CZ>oUmQm3QvDX)%?W7 z62P=~q9;?adJvMc3$KdHAVWHQy&#PRyMjW|T}*skMb2#AqI*LjtdJYo0^f5KkT55;(vYz!;)NrZc-xXJ9RM zMB;A)!hzN>PmVBZqdq-9KH-J&?Vk{IeBe(bhkbXbN}*{aKr+Vr#p z$&|J&4?<*^dx4Y%H^q%es^uxSc3o|4*0rkV2ZA>yw~Ze&r+Vg`tMUdZ6v|AiVq&SS zx8y)XI0Pwr8#>WH`+=q9<>hT+E&DFokJ9~{veyhvEh_^`3Vw08{w${yMFp!{R)`2j zcmt<1r|<7e=fmOP*n7z>hNssU_cHgY-2;Tvs}6h8<0Uf;31j)MWuP*BwjVv)VVbY! z(e+cExk-zY?e#tkW}Mr7UL;(bSRq^O`5QS`J)f6q{LXVV&6$53XkY55BL~`-hpqrp-uifyRgeMGIkJ`E`jk$~YEu-w{du?RSDY+; zQ=1P%Z3#^6Qv%ZVwV9h|Ik}dV-}0Bo3mP97dcJ9%%+&R-Ul3*f4AYTs(~T3-#&)xz zSJaS}`Q!^1=MLj!7Gbe|jo6iVf zot=ZzxvAz9&Ruj*)-QK1zn|~qwXld3I-OGGX4aDZ31+ij!(>k8D z$>yJ}@$oNdUAJpPfk>p!lI%A`h(xL^%iFRU{D~L8=}G^;vVp_@7A^^M`8G`hm9gbv zK!BW^OV!LA!{Wg5FTds;hg0C}k60~!1KJ`W3-(NUKztA6BiT``QrEfVQ?LxIfyD(< z8az#~d#dxGaX7G)8-uxp8bGS%AIC5+upCl);(gt8bdHXa=TxR-_b1RV7BHrEmhfU&SCxspiEUCI#LCaOTcnu$ZaxAD;qLe0e7LBExJ zr-n3>7w%FmXPl%79+~rc1$+_r22&V>msHEQ?L+VJ*8h@lp$qi}0?x1k{D=4=SO8L7 z7sQ9~=4$z95#)*l-r#~`ZVeRJTt1yj)jVWkl2XQv)~Y8^37pMg1^jM^Pr&gLlY{OT zO>?Q5XG{!#n0q8CvI{*=35aB^W&ZMZqCE&7Zl)y<{zoEcFS-Ac_%E&b2eT`Q`#75Y Rj%sWp0|rAU6z|1f{1*#_rG5Ya literal 0 HcmV?d00001 diff --git a/textures/hotbar_slots_bg_22.png b/textures/hotbar_slots_bg_22.png new file mode 100644 index 0000000000000000000000000000000000000000..3e1623e8b819ade21cff5f9449483b9c5c585120 GIT binary patch literal 2282 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 literal 0 HcmV?d00001