From 53c13c48c487ec18abf69a5617414f4b233f362d Mon Sep 17 00:00:00 2001 From: tterrag1098 Date: Mon, 12 Jan 2015 19:24:29 -0500 Subject: [PATCH] Implement new chisel GUI --- .../chisel/client/gui/GuiChisel.java | 29 ++++++++++--- .../chisel/inventory/ContainerChisel.java | 41 ++++++++---------- .../inventory/InventoryChiselSelection.java | 2 +- .../assets/chisel/textures/chisel2Gui.png | Bin 4643 -> 266140 bytes src/main/resources/chisel_compile_at.cfg | 3 ++ 5 files changed, 43 insertions(+), 32 deletions(-) diff --git a/src/main/java/com/cricketcraft/chisel/client/gui/GuiChisel.java b/src/main/java/com/cricketcraft/chisel/client/gui/GuiChisel.java index 6c5059f8..3a1d977c 100644 --- a/src/main/java/com/cricketcraft/chisel/client/gui/GuiChisel.java +++ b/src/main/java/com/cricketcraft/chisel/client/gui/GuiChisel.java @@ -4,11 +4,13 @@ import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Slot; import org.lwjgl.opengl.GL11; import com.cricketcraft.chisel.inventory.ContainerChisel; import com.cricketcraft.chisel.inventory.InventoryChiselSelection; +import com.cricketcraft.chisel.inventory.SlotChiselInput; import com.cricketcraft.chisel.utils.GeneralClient; public class GuiChisel extends GuiContainer { @@ -20,6 +22,7 @@ public class GuiChisel extends GuiContainer { super(new ContainerChisel(iinventory, menu)); player = iinventory.player; height = 177; + xSize = 252; container = (ContainerChisel) inventorySlots; } @@ -30,16 +33,12 @@ public class GuiChisel extends GuiContainer { inventorySlots.onContainerClosed(player); } - boolean isExtended() { - return container.inventory.activeVariations > 16; - } - @Override protected void drawGuiContainerForegroundLayer(int j, int i) { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - String line = isExtended() ? I18n.format(this.container.inventory.getInventoryName() + ".titleShort") : I18n.format(this.container.inventory.getInventoryName() + ".title"); - fontRendererObj.drawString(line, 88 - fontRendererObj.getStringWidth(line) / 2, 13, 0x404040); + String line = I18n.format(this.container.inventory.getInventoryName() + ".title"); + fontRendererObj.drawSplitString(line, 50 - fontRendererObj.getStringWidth(line) / 2, 60, 40, 0x404040); } @Override @@ -50,9 +49,25 @@ public class GuiChisel extends GuiContainer { int i = width - xSize >> 1; int j = height - ySize >> 1; - String texture = isExtended() ? "chisel:textures/chisel-gui-24.png" : "chisel:textures/chisel-gui.png"; + String texture = "chisel:textures/chisel2Gui.png"; GeneralClient.bind(texture); drawTexturedModalRect(i, j, 0, 0, xSize, ySize); } + + @Override + protected void func_146977_a(Slot slot) { + if (slot instanceof SlotChiselInput) { + GL11.glPushMatrix(); + GL11.glScalef(2, 2, 2); + slot.xDisplayPosition -= 16; + slot.yDisplayPosition -= 16; + super.func_146977_a(slot); + slot.xDisplayPosition += 16; + slot.yDisplayPosition += 16; + GL11.glPopMatrix(); + } else { + super.func_146977_a(slot); + } + } } diff --git a/src/main/java/com/cricketcraft/chisel/inventory/ContainerChisel.java b/src/main/java/com/cricketcraft/chisel/inventory/ContainerChisel.java index 88f3e92d..cb8fa880 100644 --- a/src/main/java/com/cricketcraft/chisel/inventory/ContainerChisel.java +++ b/src/main/java/com/cricketcraft/chisel/inventory/ContainerChisel.java @@ -26,33 +26,26 @@ public class ContainerChisel extends Container { currentIndex = playerInventory.currentItem; inv.container = this; - int[] leftOffsets = { 8, 26, 134, 152, 44, 116 }; - int[] topOffsets = { 8, 26, 44, 62 }; + int top = 8, left = 62; - for (int i = 0; i < 2; i++) { - for (int y = 0; y < 4; y++) { - for (int x = 0; x < 2; x++) { - addSlotToContainer(new SlotChiselSelection(this, inventory, inventory, x + i * 8 + y * 2, leftOffsets[x + i * 2], topOffsets[y])); - } - } + // selection slots + for (int i = 0; i < 40; i++) { + addSlotToContainer(new SlotChiselSelection(this, inventory, inventory, i, left + ((i % 10) * 18), top + ((i / 10) * 18))); } + + // main slot + addSlotToContainer(new SlotChiselInput(this, inventory, InventoryChiselSelection.normalSlots, 24, 24)); - for (int y = 0; y < 4; y++) { - for (int x = 0; x < 2; x++) { - addSlotToContainer(new SlotChiselSelection(this, inventory, inventory, 16 + x + y * 2, leftOffsets[4 + x], topOffsets[3 - y])); - } + top = 84; + left = 71; + // main inv + for (int i = 0; i < 27; i++) { + addSlotToContainer(new Slot(inventoryplayer, i + 9, left + ((i % 9) * 18), top + (i / 9) * 18)); } - - addSlotToContainer(new SlotChiselInput(this, inventory, InventoryChiselSelection.normalSlots, 80, 35)); - - for (int k = 0; k < 3; k++) { - for (int j1 = 0; j1 < 9; j1++) { - addSlotToContainer(new Slot(inventoryplayer, j1 + k * 9 + 9, 8 + j1 * 18, 102 + k * 18 - 18)); - } - } - - for (int l = 0; l < 9; l++) { - addSlotToContainer(l == currentIndex ? new SlotChiselPlayer(this, inventoryplayer, l, 8 + l * 18, 160 - 18) : new Slot(inventoryplayer, l, 8 + l * 18, 160 - 18)); + + top = 142; + for (int i = 0; i < 9; i++) { + addSlotToContainer(new Slot(inventoryplayer, i, left + ((i % 9) * 18), top + (i / 9) * 18)); } chisel = inventoryplayer.getCurrentItem(); @@ -143,7 +136,7 @@ public class ContainerChisel extends Container { return; General.setChiselTarget(chisel, inventory.getStackInSpecialSlot()); - + playerInventory.mainInventory[currentIndex] = chisel; } } diff --git a/src/main/java/com/cricketcraft/chisel/inventory/InventoryChiselSelection.java b/src/main/java/com/cricketcraft/chisel/inventory/InventoryChiselSelection.java index 503e7ced..70c417eb 100644 --- a/src/main/java/com/cricketcraft/chisel/inventory/InventoryChiselSelection.java +++ b/src/main/java/com/cricketcraft/chisel/inventory/InventoryChiselSelection.java @@ -13,7 +13,7 @@ import com.cricketcraft.chisel.item.chisel.ItemChisel; public class InventoryChiselSelection implements IInventory { ItemStack chisel = null; - public final static int normalSlots = 32; + public final static int normalSlots = 40; public int activeVariations = 0; ContainerChisel container; ItemStack[] inventory; diff --git a/src/main/resources/assets/chisel/textures/chisel2Gui.png b/src/main/resources/assets/chisel/textures/chisel2Gui.png index 0d86d5a635c086ddd849b5ca8c2248742de190c3..c0b2dfd66590e92945deb2f831e35b3bc448b271 100644 GIT binary patch literal 266140 zcmeI*2YeJ&9>DQ8yXl3HLg=uex6n%nQWGGdNDEaILJ}a9B!q;nK}3{t1`&}ef=CO3 zq7)GD-8it65dcxp!K*x{*Zy4a{FU0QnT(Bx4` zLd5t>F@D>w=#Pr&lAMyNDK5n5l#KMA9oy;p^&g<~JSa56TX={DLc}MGP3zjLL!7>1 z5!*gWH&%a;T>fj(w|o8goz}(C@R;s8owCEqbznkTdWOF1-Sx*eN=zD?pf69?mq(4y zNRzi;)|W$ujFih7H@Tdy@1VY1N-ht(Tds5Gn7idRayfByN}~Q4xzA~dqZ8%w9)0=w zahXZ_vbKx9JY!sP(s+IOD}A}jsLavH`too3a>(eU__0E``N`Wek`jjN%k}kTzx24C zQTp;DLU{QNyQe(lo^nRg1bsh+h)PYHn4Uarc!sVt(y?ex!9(Ug{ zp$Gon_V>AeZ%bV%M8q|{&D_7Y4Ot|_wr7PX_3hu=s=Ovdz;q$D9=c~dq4N7>ct%EA zWW9Rh$B(a@oRm;k1~n`e4=@~Qx^Pc>b>;R9cDm@Kq4AlcGITO(Lh7j0%yiw@wD^Q1 zUAXa^_@Pg{r(5^*qfXDHp-JgUDf*`R=-*|@DZ}*PPDxD8NKQ@BC8wB*@I#(J%lig;Sg5VOTx@v>MfmWx$lo!BTgi)~`3_*m={Ux+WoF>zAl zigV&;aamj!Hzi5(l>DV&skBs4sw&l%8cGpTE2+KIMd~T_mj+A2q!cMrnj$?T&6eg# zi=`FPI_YicJ?UfVGwHDOjdVu3DE(LZL!;IBX+kvRHPtlrG!dG%n$DUy&EuM3nlYM5 zn(3MsGz&E=H5)WrH6Lrf&>Yj`YJS#S(+aJxHdGs?4cA6!qqN<$1GGc6>Ds5Xv$PAe zE43T7JGA??N42@yOWNPvJlulabZ+5pE!<+-<0QKjr^hvEX8Li^Ud8ES6PlNwKZPjuiVP zz&oI7K-+*P0wx742zV#pP{5_)-o>jGk18Ht{HfwgioaL46fL! zVsgd#6+f)_ldgoWt!|WVp>B`va#*>rn6S*S6=4U%ZdR&ZsduGml{QuSzOql{h{{7N z&#%0@^5rTOt8}e0rAkhfZ>xG&ji@@j>MK?ESG`fKdbPgQo~yR4+J)++s>fEJR6VEq zcQyQLw5~Cx#>yIB)%2(tQFCO?Wi`L7rK#1V*6>J6y(V!i$KZr5*8e^mWd^-nekYS5{{ zv<5pG{I_APh6xRqH2kWOf1?hKvKnn~^lRhVjguO`+W6}x!A-h0d9KOsCVw_<)-=88 z#-bFa8x24^UsK}@%qdtn(Mt6*!6@9RMQ2XBP7q>svp;Cuo9dbHc?%1T`h*iF-xvMM^iS@;eSqhHJ_A+{xb|54$6kKy+`uLSXAC_4 zc=g98JpS1eWu6%I#I8XBgW?ChGuVA_-@)q#--_=RzcT*Xkk}zhhg?pGN_ZvV=fpON z^Aj&7wM?3qbbe^dq4S1b7}j#wOT#V>Z#{g$@Jq>2$%~VJ9T78P`G^}MyNz5kGH+Dh zQJY44jUGJuy_BGoktuspE2K_HJ)BlMZAMz|n8-0NkGY)QIeqn5Y3$=;w`YXtZ>A1p z*2sJ|^USzb4*yn9O6l&7bhd9v-3 zE1r^`8uHZctjbx_v(8QJICbsQK2MK)`k&M4Pn$RG>N9{sV{%uShl{KeKUuALV+Z_>Q8FLixs>wMk(S@W;HJm}@m7BpV4{1u;9GGEDE*k$4N zMO7BfU36>l@WscLv|F-iX}P5{m)=;Gxa`QQZC>5Dy!`Un%l~*S`L(ZCbX>7@Wwn(H zUiWx?-0MHC>a%M98xe1;TU}=L?A3p+Nm-M-w&&VC>zb`wx4zu^>>N!_X3oV812=s6 zX7roeH->Lqu_<)Z?6<^QnQ#5{_TaaVZ|=N#_d5~qY<#!syGyqOZ<)1K+B$LTj+j;M&`#S9VWPjWJAAZ{M)19A1e)ity5ub1SqUje~4>UQj<)2Od zx#eKfgIfWgEK9y@%z_wlb!3_Owhb>i0- zz8Uq+uiuXQ_U6f{-?@J`>-*y0FE~~1)XLK}PjAX?n!D>v^qB)c^!nlC*@Uw{|7+~O zZk?O{qyLW!&R0CY?n1*0J1=&)_~lQJ{dDfI z$a}AK!wB#EOrd|3r(X;kDIkDA(Gk%9KyPv|8vPzFev>@xK*03{b~0n`3}IaaPb=`C?KE;f%_7GDn`s85kSBo zKmssOP(VO^0?NMv)w7z>*OA5h%g}B!D6uT!w~#B>@tEB_Z}B zP=p0Y07W>s3=IKG0we%SLhMJNC$FK%n3S9G(D-FMMT)%61ZgBElMhf){XD0#Gh+OG8qQBN14VVm|`53lw+) zP%h{P?W%GfiQqxyI35A(1qv(yC>OBxUCIAQr5+MN{yuC)z!m|!CjjMwwWU+}ovYMK zBFImNZ3sM^fZY;+a)CZvH>^KPX@^8$y%|TUSRia}g_;(g1yFSCmJCjxK7FUou&^+t z?gClw+O_LWy`iD{UxV9 zRPyhfnl1st9Llp!gJ;MA#8 z$|lwbAmCsDz8dUcaGFEFAp%d-o$qPovjB$vW z+}@yH9`sp&dnrf;_i9i^KxG1UdrtW3)vI^tj3*7Sx2Ls}1lYS>>O-I?3fL_HC^!X` z2<&;`%M%4KU62y7|6k+t|0eftaWfC_`okc);uoq>BM+v8aPMZ@d^LiYMLl+qY$1Q2j80ka7}{`QeAUqEoK zq0$=!5HJ?t#{pvzUL&9)0TO_Ug3VA7FcvWTBY^S2Mdh`7~;O| zdj8J>*pYx_U`I@`ip=a1(+_#226Rv0r^Yuwl36TUJxJiKDO*t<#a)|fN?GY4iwP5ynm@( zp9RRy&c4(AoSYnaEnokJg&zkD6ci9pp8yF!eKBXm2p9xN00s&Q2&hj$l^+ON6K19u zHmxLoK*!X{j`6WHHL&SkSht4+V8%&)qua7Dg|2x$d@TFeGBvRI+VAe=M*wS-I0k_t zDnJ4#qJd>t2v{RP0_?d|$3fHmDG8CavlF$fe<0TMtF4J^Y#z#0J( zfHg`SgFq1#AORH7z%ncZtPvmqSfj)-2ozBP5lS`#pTZN|qjKIU7oeJ|4on=oX$AQLe9%}f_$+D6`EPak_s7i4bA zVD13S#8M8VEeq4(nAgL{vJcY*nKxoD0xmA#^P<$+%(DOv933ABIuM(t5O6jD5`eQs zg#IAlKmihf1F>le0cR5+0XSPk=nn!86d(aO5SykDa5e!FfU`w}{vhB$0TO@%v1tkc zXA>X+I9o*Mk4gkOz0%=~b36;6fRhXq3DyXxP=ExW!k{x`1QY=hfFi*f0Tl|608|)s zhKztBKmt%CSRJg;>E+Vk$Nb6dbo&}himsQxKAtMxa1ZW?DLKGkY6e2!NBT(1^B!I$> z0PQ1Chyo;lLd2(O1PWV#1W?!!pnU`iQGf(ci1;*(Kw%4z017(-w2wd`3XlK_5uc`u zxWMfh+d5f#7Ql%Jm^#QrFyx5>PMiE1+ufV@AM!i zCr4h(*Sulj#{mNc1q9S5Kmt%-%o#BP1_2U)fr0`8>J#8YKoc=%`d||<`pxnOcT6Ab z7$18~8Em?zLXZH==*Vw$TNb9oHLr({Wgn&tHgCjU1e{Occ;(uQUFcZ=1(44J6baS{ zs8E0epu(UtWCRoe5`ZGX8UYmwkN{K|bcT$8B0vIABv>P$LIDzh3WLs&5l{q30Ez@_ z1XL(M0#ISl8FB#$?CLu$#s!}RP&7yeiUex}R470KP+`y+G6ISK2|$rxjerUTNB}Af zIzvW45g-95608wWp#TX$g+XV?2q*%~6QD>Kt(nEv2*l_mK1Lu$FYV=HRIS}#GF!0S zNvTkE0`D)YG{>rE0jB0yD8PpTP8bxrgn*+2NC1wKrX2(dK|s0v zH`TQKsi34^^7if9CoCOosuH#%fPiZXD0cu-WMrgkj(}bxfPh7T{CCso&}him*o^)rxOSufB*srAbUlM5GA;6++Wc1cI~x9*QWvDbkAw8blC7 z7ij`gLzNN%0hJOIfg8`cu6w?3-Sz#rzweKC&3b2M&olEpv)A5n7tM{B=ugrE0GLdS z^{oJaI8lxnEe*x9!{QF17&;$gJAVKe*nS-d$jadcfZoDWPw(PI4|D+9-vjL*dvxz-OMWxY!rkLkfLHri)9De!HK%XK-&<4&CL+81_ji>smIl20bG;J`1QrfYV!H;Xn|T3D^z4*{Xk)sAeUJQ<%!ERc|;AH;AyOmGXt!+De}i z>o?(&U{`WJ=A5N1-5Qk1b1p)GWp1k%fPxeb%CuVtf&I+Y{ryUbcxFeb)i*RpLM|=~ zhf4z$KH31x2ZRkCO3Kuo#H!I?y$&Cr*`W5g%205NoZw!|qWuCCtW4T&`TXL>;8AkJ z#Kh9#;`sS?U3=$uwxNfpR!4&E!Oibs>OaXlbIl)5N1StrFrwa@Ywg`OE8-itPZ#Af zwVY)1v!3DTC;zZeyNOE!Qk;Fk@`P`qe%8IMb45aNy7$j^oEbX0_HkBnpGtF95!77Q zgoLC>l{&am?V5_RA_E8?$pCz7M7Mkpqou-nM9vRjjyAOpj0(;Gth>p5UjVM^pO&_H zSEtoQ3xIw>gm{e(?{*8fB!Pyn<@i(!!%rurDBaWTt-7qb^w+R_eokjA@9K)h^wsc- zJIQ>|=2swCdc>sqFiW>0UNUR=u>5eQ&1(^BilC#`c}vUYEI5gSxWprc6KT0JqxS?` zjHyo~oEGTDv0Dn6rYIWAS;gB3AdLCHY4{z3$6hgfm7?|*oV)uorpZX|K}4;k#s|h1 zdJUz@C!-7>GrYeRAeWWIS&;qS@A*lMdrFT;?<+i5CX+Pvx?~BTxS{gxH)W+e+jO6) zNYbUc_B<1+WUS~sS#zn9sxfZIb>JC>`b2~Qfli4UqbuNiO2-&!hBO~HE*0QAtpJ;( zQ>LSevTPLct9 zPkL~9kUgJ%3U~#Zet60}{k`o_&x+Bf^iNdV7)GWTj>s+?N{lC)8_JF1!Eis#Fe~O6 zPT=XXkyVyk%OGX4WTFvBalH5)j+A%w56?dodB`g+V^daMTs~9IfY?Ix*d&!*wGOQ| zM95n&l+k@it3Z_JUR<;0wMLbxmByB%O3^l2Pr~dD;%MyJ%-SsUo>&$#VjOxNAWdGJN-P0?g@1 zVkPNYVevEUn`b|sFGz_X2ju`%F z$a2rK^UA{M1+Px8&O#9y5kV2t3#%74vaBvN6rU|tGgC9`>g(-$+&7x3n5`i5QoDG$*lq*g=nh}C#6e5f+gMZ`}E+NkJZjW@j zrgS!M=k(jxi{}G&d>!V4hjwza>#|$dONmc6lr}s!VyE(Z74pyK*~$CAZ+ojZXSp<} z#gP9{_Qq^wn1!B21nLDzSjJT*#kOj!roISMPIlhp(%jYb%U{r3P*WCEd%<@E-y~|O65V!dC)RcD6*TB@ z=p@~(y1Ud;CFt??b8?j+nUv9=((lO}eKG9Q=zFO1vU5UP7^7%(Y_x5RR-z9Md2&!L zT@f=lrRP7Z|3g1beBgkB&$xTx}xU_h+ zlK0K#*`MoMu^)3kGAx8}WyrjB@Cka<-?|-L!dWJLLQ*wN+YD!}^5BaOt9U8ry))m~ zFlQ3!gIf7pQ9?3pZClxSIUlNpoQbhc_9 zXVz^2uX7rzujL}|rzHF8mJ41;#iLeH%kH;(D&3-M4?DaQ>Sazngm&MkORhX_Cq<9f zE&gP4S!_%kT8nbCb$`+$nSZo?qV>f5eSA@jsjU=0a`|=T zb$G41ZxE4wf#bMD%q5yi^_TH@ajy}Jignxc>af=$!53~sTy1%Gx8()o#u@{HeknS1 zZE9@Y!2&5`H~Yf*M@%lSCP!R+H9L_jog;i)Y$|YxHx~WwP3F{t=VcY`4c7+Thul|| zXQcA%nbXSCm(!WOnIAQAax3ZX?^DyVd1A9| z^TS4IV`%z?^VpvE;0A9<)2_nj5u$w)`9QO~nTUWOE{wR3xb2(l*O9fV#Tiy7yDNhy_$ogt24nrjfj7+GqslxjUSS`ZjPc_hD{mnDqB4C*os#2+6g7_BsoC^A&5r{E)#>0!gh&t^dlm zmjT~uiA!v@FKx4)syceD2CS+drVd+lHRd#CRX1F@(XbKx`bCI4d4)Gmxqo{5b2djiNo~Ojl*3MJS-GTCQSGOi zcLc)4jy%3U+p&IMvY*P6ntDV{m9h2HRbGln`QH?9HMY6{K=2s=u#o_KKcd(b0B*?w zu<8VWY6bvY==+Wxh5$g#P4sna0w+ID>zFSXvt#E;Fw@Z*_dmylS?gt?I^{V+DSpX| z^pX)&0(c*~-Mr(q)B(mh;}2DK$tF^A(}UKseOeAS%48HgQ1&jYh*@zCl6XNv=wLsxU`vlO?+8 z7!9|-SbkofQuUR!5%j@V$BMbCO9Zfe?fB0xUwpQ?3M6~N4`n`dkPvBZlIf=Yz3{!9 z;*d0jq{UZ=FXWNUVua5chtIIR+7I!f=YHtMb<#tt_$5EjL^w2m;YD^tH5L-%O$^tm zY+QS^#UV>z?Q^fI!be!0Kbj&DZ{q<~;R7r2=A&eT$Wl%UU2>Ubmkz%NsQ%e~?F0g$ zn0JsbLq%|=m6g3TQtVha@p*q=!6vnPaiGgwB$WajsRB4tRih5zpb`G)oCjR^F*Qt}?b8!Aj-u z?)z2N5SA~^yI#@UpIY&o$1U@3PxXNCJ9qT;+dDc8MiX}T_PAj%6bhv_Al7pZ-|%HQ zW0(Zzd)i+w;1~Up8O@c}5>?C?PJo-Y zv(EMF{Bi2Q0l~2Fa54fIb`vd+(aK^0l>h-8W29JGS&F4x zXl1qE+}bUCo1dRg5kELMYlp5rNcc8Zheid1Yh--N#@Wj=#7C`SkMpk#%&l?iPhM7m z>0#Aad^f6SL?tuiAN&okdoziPbxtD|83=*Q_~W9vJl2qo@72E+Q6)N@FH`9xtwZGi zHMcev!s-MdG!#qCjpZDjfqtIO0?h1lM4~-<89rej!od z{tfmYPU`V9fYk|W=_?ciU*`MHmpCS7(GHaSg$%>+0>7Wb&YzreU`@dS!fpb)U$2#c3Dcb7$2b+*Oe+P=8(pt zEskaRdG3NfV^$6HmoWdP(!WTD1&!2{1X*!PnXVj0{{lKum!DrRd}@dKPxkr>(G*^R zjLiZsm9H&1c*@S`u