From 80231e7888a6cea58926b35a2cc7b12162f04fbc Mon Sep 17 00:00:00 2001 From: KitsuShadow Date: Wed, 1 Jul 2015 22:41:49 -0400 Subject: [PATCH] Sophia is Awesome --- .../kitsu/medievalcraft/block/ModBlocks.class | Bin 8536 -> 8648 bytes .../medievalcraft/block/machines/Forge.class | Bin 6212 -> 7664 bytes .../contain/ContainerForge.class | Bin 0 -> 2452 bytes .../renderer/RendererRegistry.class | Bin 8790 -> 8952 bytes .../blocks/machine/ForgeRenderer.class | Bin 360 -> 4799 bytes .../ingotsplates/IronIngotIR.class | Bin 4119 -> 4496 bytes .../tileents/TileEntRegister.class | Bin 2950 -> 3028 bytes .../tileents/machine/TileEntityFirebox.class | Bin 10464 -> 10607 bytes .../tileents/machine/TileForge.class | Bin 5809 -> 6321 bytes .../util/TileForgePlaceables$1.class | Bin 0 -> 1085 bytes .../util/TileForgePlaceables.class | Bin 0 -> 525 bytes .../kitsu/medievalcraft/block/ModBlocks.java | 4 +- .../medievalcraft/block/machines/Forge.java | 89 +++++++------ .../medievalcraft/contain/ContainerForge.java | 85 ++++++++++++ .../renderer/RendererRegistry.java | 4 + .../blocks/machine/ForgeRenderer.java | 125 +++++++++++++++++- .../ingotsplates/IronIngotIR.java | 37 +++++- .../tileents/TileEntRegister.java | 2 + .../tileents/machine/TileEntityFirebox.java | 34 ++--- .../tileents/machine/TileForge.java | 34 ++--- .../util/TileForgePlaceables.java | 21 +++ 21 files changed, 353 insertions(+), 82 deletions(-) create mode 100644 bin/com/kitsu/medievalcraft/contain/ContainerForge.class create mode 100644 bin/com/kitsu/medievalcraft/util/TileForgePlaceables$1.class create mode 100644 bin/com/kitsu/medievalcraft/util/TileForgePlaceables.class create mode 100644 src/main/java/com/kitsu/medievalcraft/contain/ContainerForge.java create mode 100644 src/main/java/com/kitsu/medievalcraft/util/TileForgePlaceables.java diff --git a/bin/com/kitsu/medievalcraft/block/ModBlocks.class b/bin/com/kitsu/medievalcraft/block/ModBlocks.class index 873001bed6b294e0d3f006d54aab68b1554915ec..61adb48fd9f520b9e5ff2e50e56805aafbd0b300 100644 GIT binary patch literal 8648 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 literal 8536 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 A%m4rY diff --git a/bin/com/kitsu/medievalcraft/block/machines/Forge.class b/bin/com/kitsu/medievalcraft/block/machines/Forge.class index b9bbc3b608c1592adeabda678b23f292a7b19dc5..67e617b22564899b30722ab1a3d3b7735ecf4efa 100644 GIT binary patch literal 7664 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 BgxUZA diff --git a/bin/com/kitsu/medievalcraft/contain/ContainerForge.class b/bin/com/kitsu/medievalcraft/contain/ContainerForge.class new file mode 100644 index 0000000000000000000000000000000000000000..8f46bc1d52f898c4a36fa864f594550094063060 GIT binary patch literal 2452 zcmb7G-%}G;6#j0qAwO7k0kw?{D2Nz>ut>2gQLG|JG$Iv*O09KC7FkVpnPg#xKKtDF z`et8z@qx}*9NU>rpE}e20sRB|NA$sQwBNl6VG;$~$z=EbIQN|IeCN9-`SZ=szXBLS zE{uS{K+Y?g4;{a}Y8LIhW3O3-T*+GU&79}@mgAaZmA74*@JjdXFf@Tq*Y?e#G%KVIU&V z;*@WdZELY$U#dnT&@7=(tri#U(yZJOXw7;#t1xGk967HpYW}iQ78u--jrS8yCYmY< z3Z(vf{ycTgaUFkDAiq0pnXT$oncETHF4gLtiy??ZIzGZD0>NbOTo~;FiTZMF>tv?j z`7tDLSe`h-#2O)Pn`UbG(wR&~1`_DfaTML;*~;got68rmQi0K(eM#GNZv%S9wsGE`+ND%2eL$8Ooun?vpC96qJ((ko<1iw8 zMmal=06#!9^&GLjP3X@!3800~CYk`P`~U|lMrgx+&S;JUT;t7PKl!-oszkRkRCnqH z;;9oqA(r|DiQCd~(3m#5UZ7(Wo%1P1Irby%Dp3v+7U)f*zbFo)16^!3M^)4#6@Rs; z-RMP1q3T8-@dbE_jiVa>AD-9fYbkjCDb55(pCY9I^tC69=<+=yde4Zo8?7A8CgiJ% z=TT6!8__3k|9TV;h}jR~WQ7Bfs2151Q{;Up@e-c}@EZ~%T3q`b3vq1|=f1~H`Tl$)6c26U z@)Yy=0f$oYkRe4d^b+iN+`s-9`^5&AgGMx{rXjHr4?V{hkDXTJd0!OKz&T?BsEM0GEmAU%EBJ;p8yPI)DvG$N$Qe~S^=jmJ zRj~mczEb1_XnO}=s{-7`U3$?NWfJ$e7J{Uy4cZ$_hA|#Sg3rCiE1C#c+zMdvUnvc0 AIRF3v literal 0 HcmV?d00001 diff --git a/bin/com/kitsu/medievalcraft/renderer/RendererRegistry.class b/bin/com/kitsu/medievalcraft/renderer/RendererRegistry.class index 66e600abee4e73781c6a197390bfc325f13760b6..7ae26b0d882cb07cff9279915b7be977e183137c 100644 GIT binary patch delta 700 zcmYk4Ur1A77{;IXJJLLxt20;WIonAmg@uw$R$<}N(sDvt7L=^1Q-?|AaAstgk`%O1%yIHyb&e@&x&9&>xRGd0DwI~r?>SSXiJ$YEtYXFBXkRivdc5{tyFlmpp9 zdAwgO;JS26l9#Y2VZBkUJer;+Z!)>h%$j|9ip*VViZu|6wp7N9)-6mca@dsfRh2)f z$$UWdCvE@N;*qzR4Ss_E{|44ID;4o)=TbPNY4Q%!+eO%Fc)9#Uvr{QAPxbOQ%_*0d ztc>6@nXM#zBHY%{-e#e4-skpm)RiU&Ok*!$b0R(MvQcFsz36f-t1wv=JKTOcXaveQ zLr>hvQ1wpA2#hHOLuuVps%7DBkE$sp>VJ6q!8cLLlorS zdWKvD$#?)rJ726_Ga+~;v%lL(!D$Lrzogn%_&8}m0jn{8qR^N%u%i|l!pKHFd}u&1 z8c~4=f@s1~G@~8I(1YU`Knq3?MI5b|LJYGwiFt!A;1qu0G|A{76=!Gz&Qbw7DS&fS zjV|hLMmKffJY7W(4dVjEagnBQiDq$`=5d7<&`UqiXZ)9bVaGM0VnD3Jpzwl4A+C#Z z+z^LwQ#9h1XvL7|!m#MWZ83y9VjLslIYz}>+!OC`U(91ne8B_p9plCx9!hphWJwwx XN!f@?K0KC+@f5bi4gjJ$^F-ml&2_2g delta 627 zcmYL`Ur1AN6vw~kx3PIQSJ%y&_ug%Bq0ms$#Y|*qN=hlHQGtq@Et9e`Ys=CyHKRyY z3_JZ%)Syzt-n1ussOL!!MG)*E@G0`89wMk0>38*^moJ>}`F_ri^E-cPztpI!8*kqM z*iRi!2tt@mn>n$nE>(Z`^JlG$*Yce9BEn&gsRdl2yEv%%9feSwRLq@u1|QA!@`je} zs*CqsYKnI|Da^FJa5K5AX^s*r8R1V_mHoi~DW+0t`Q?O4HiIS?tBN&*XLT1vdCj-Q zf7Nw9sb^7{%oK5v;h`$t<_+@&!>1gy_(Oz<)pOUxdSi*M{)Cfi`C}l=KMg+*8(CDk zNk#*1s^26B0zOBbMKnW4d!5!2pX@k`qm0ckpwQwlZA-$o{E~NxE`I)d4yqOCv2yQV)N0wwQ;F9_SQK{|l zpaVKOk&jb|Ackt3MkBh=hHjk0S@fd^V>pi#E@B3~SVSLIa2aXDkwF6MxQf5HMhdQz zh5_1(K`O@$s>4lc#Sr!277b#A#xY7$Be+eA7^4;3p)~GN2KQ(k_vtsr<++o>g9k#x zL$L=b5yph5z#~x)7R`7p&ftl-f~R5_&qNZFViHqg9@AnOGvYmF#RohW8N3kR@KXH3 dE4lid&4YQHjs;sjUc)Wd^$00MZBhlb{{x-Pl+XYG diff --git a/bin/com/kitsu/medievalcraft/renderer/blocks/machine/ForgeRenderer.class b/bin/com/kitsu/medievalcraft/renderer/blocks/machine/ForgeRenderer.class index 4a63783d85f838990b43e5c39733bc7bfbdc35a0..7539864fbbb1b0e86065904a6e268c9b38eb835d 100644 GIT binary patch literal 4799 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 BL0$j= delta 171 zcmdn5`hrQ|)W2Q(7#J9g7zEfEm>3ysCp)rAOkTjOYR1mM!pI5}p&7==z~Y>rlFG%v%)rURz{WNuzfF9rri zAOwm6Np_$m`d~f-1FP0{29AwD0VW16APJIY0GhxJBzeGWRv^s__hJC%JsI!&ZEOANpzX;SO_p)`w+SpjfMfEve#Of~1TVN6QjqHx zw9b=jmJZg()m%o7?MWXh5s+pz`OuEdUThNRavk6je(g&gRgI*UvfUdoRiawKgXj>b z)j6`K1;zqyfZPIWZSGx5h;zY69?(My6x7q_)=VZZus8C*xp9PO>!ZlnI~aNN^&z(-TID)3_)O$oFe4Eyjfdc4@d>07(tc1#uQ#3Q`C zW-gU6RNhhE4PF+HR9WC&x2kp+T40DgPy2#xckgp~gM0OkxN12^DLSMUL)h!Z9)TSn|NP5*6om0815|$` zHn4B1Yfxb4r_oC46j2bBJpG~lW8smJ(BPEKTrR~FjL4;i@bGwOI1!6a&acH4j5=h) ziEx4ovHt$>@E%DvreNGABaK{&#}a*saBP^dZKmWRpOc{^&;|7WlfMowh@Vb^WBl~t zAfE8zae)@5wxE7&HmwKEIn7|RC(_xe;7K$IC~1A9ke`XFjJwCHd&f^Q2ZN#SAf^>0 zkzzDT>v7X!VrAbO804pIy!wM~dmlWzd!5}G1+zFzkEQidhDYrX4|wJcpB{cAOeA(qzjp z<3?tg*4e~D#nO&jg`5^lIBirlsC%x*hv)HmFJ2JnUQ*}(La*Qpcu}BkI%A|toCN}l z5O%9ALjmmlb?P&ejo1=3E&`Lnm#7 zRQK*GA>~Ho*B{C4uPgXEzF{LJWH>3+6A0VYM@qF+fn`hJSwIj`Vo19DEg9__WSDPnm^K!BFX1wv@qQI*8GHBQwEhJ}# zGMb(W<#J}uiv|JTs9j(VWn>xBc(ZN^$2%k;aTzuYEjOU6`Mf*~zq~1NyNY#^aP#~` zInLrf9%v=sDpa$6VYNkXt(29M-LeE?TOqF)TS`DZ(CCxr&v7+p8_~r1W{#rdBR?B| zj%Ab0E!S}OC9Jml_t^clcK<%Rzu^KmR$wE4{We)6SvO$?8QpKMNMS6eO04_1S8%?e z{Td!Q4l3f?NOYB}HJE`lIB0jVEDzZxRh;@)GcM3Sz-4k@F)*Unpub1K#h>_f zJN9q`heaH_jAz>~qi_|c*aWZRC4nMdIg39xr?-1-313|#VL4v)`x_|gZjXE@s`)kL zQ^`6-IZgGyFXC&TRNLL;@JVSa<<)V3{2{#v7Bc~QdlNm@jeU3o5za*U3?qRUgZ6&b z0&!;e1dd@0Ct3HrKvcYl12`=+03K&de*$k4CGTMh7w}nJhl&q~m|qeTzk!C|B8@*_ z27f{Ze<7#8LdV~b#Xn$(3Yel6M?@3rfEBRBMifK`j*3nk6Wz?}+wip5g=a(v&x$Bc zhy=5+ic?}1&xM}UPCKR7)rJ|P{l{2k&v9Yh&Lxcgy;N35#PD-3*SD%?0dYWp4eG< zCOA05K~;J19tYLs!H+noDGz?af!7&KUc#H_sd^(r-Wnd>Jv63`Z96aGR<_${#sJ$v zI%I^cR5VT`Zxb(3%2s-0`@KO!=t!NnhIRORkqFSJxmR*^{%Aj Jt5ED+`5zd1nEL<# delta 1955 zcmah~YfzL`7=AwX+sn5cc3}Y(61VSx}6QEuV}hMJbuQqx#j zrgSPZv#UrN(-@ep)mVS(M@`MxIMa+X{^)1FY?^5%rkUzFyIdM4r~T&p-uFH4d!F;& z&bue_PP*;i{`J{40L2&^w%-`OeMWQ1W12_Hkl9IvDFZwE>`22Lfw`C`Z)=N;`2tqh zY*733Q@MgRLjhxT_=5)vdwesjjXrXx7W5&!_Br1$HYFB8CS$`u9aT_IGvL zu?G)Z5z&w%hio}!fqo3gJ+>0t9y}s2h<)=ZiKxSe1fGUdeq}7SHQ{-I7jRVGHcC@Z zsKTVEio7Bq@v2;F4@7-(7za>Po+Y%!w&}L7dP2gvun`!>^r`ID|=qJH85n zu$QNxDyVPMsBn6(AlEyNtQhh>MZqkBBYv0zI@0NaBaR}tn_I91g`^smV%ZelF!7Xg z#W5@|yo_RbSgeRDN9HpIU>-c=yvXK8H#g;B1@hyN?!>k!NOfV?;QshA#aN3{!mi_f zE6g5^KPuMafvGcZQK?he$upPm%w-oS@VAw(@>6V@t>3pJg}AvNa<} zr!qJKK~gpXvuR9iAb=^J%6!%a^w~q7eS9832?F#nME_do;db&nx$35sH{sAsG@a3S z5Xzg*cwnk3o!EjZf~&xiVR&qsdgf^C;RZA&g41rY@@5)L-VxldTvKo=@E`fQ`R?HR zaSY)Mv^t!Q7}_$>?sO=|742~GiD74Qva36Wo*4QrVedGyFJr&=5(=*3aSbsPo%VzpJP!xclRT6X>@n3N%dl)1V@ld-p>+j zVrm0e$>F#jHK;}{M`0aW5o8JK(Z!e? zi6`+QUZV4nC@1_eyv%Z`Y8!0hvOiImmz`?k)htTX8sF1W)wE?C$6LRFez7Hn;cH*m zYj`hTV`J;}qtII@yg|V{Eu5xcnHJurV4D`+qhL)4(bfqZzetZ$Ib#;$EN@^w3P`=| zx%sFiP+t&2^=IRG9$bljx^lJ&- z|N5)(eCq0s3|0&MM`EqBj$6oEycO#FRIw;bn0AleQ?cZn>)5YcLwF}N&bV94#at<0 z1NEsIZ-3)B-j2n4p+0E)kRqouDy^@TYF@e3e3>m5D~eUUS=XtPR_gAW&=e>a@+%e3 zvGa;`VbtF-7LKOox2qH9?1JN2l!WLlKw;|>D;+Nj){E>$wz9ls>|J4`CT~r6Lbz&> zDP=ul{Xs|v)?LBGn)xTQ>3@)7M|c|0>;3I(++F=MT#$RZJCX`d5;CWTOPz_F9mKce zpTCnhH$aGpi8k#fcA$7b1D&++kR*>x)lH9i13cy#Pne{aS^Ai#pVtOmGQXE&h$6$3 o8Q~+N>>K76(i|~{W}IUtIORFtjQWfzE=Wuh^+$uS=V$x>0Ec3H3;+NC delta 489 zcmY+BOG{f(6otPXZO=_otHl?HqDE1)zUs5S1*ISu6cH3#XcN6^Y|M?x^;yu7jvOdw z=FFKhb?QKz>e$~SJqh=MPBv?={jvAroR`Ye%97{T`v;(#e~N(6r6o{*@l<>_asN?9 zP1C9$)u+gG#!1a)Y>OqKcrvrIl87g5&r~c6!ya1t<(E+86N`@H9_n*7qU$VG_UFxH zCYDZQ6>+`&p;7;~YGqX)Tjhmo!ay#8o(+a0(SzKD>D0R8T5Jg6H-=(U==IU+sn}L5 zyRwtDND7wUDN;h82UV1&gTodOTauP+-e=VIleP0K*-chs!Xj%5#cipl+#ExO-41-N(0)ns diff --git a/bin/com/kitsu/medievalcraft/tileents/machine/TileEntityFirebox.class b/bin/com/kitsu/medievalcraft/tileents/machine/TileEntityFirebox.class index 3d761b45e8e493ba93e752a4ed17c0139f1df739..7ab4f6daba472d542937a62023a11b1bb46e69a7 100644 GIT binary patch delta 3454 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 Ld`3_w@hATW7f8M4 delta 3233 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 literal 5809 zcmbVQX?RrC8Gi4~Bol_45JCdRB!EaDnFI#HA{s$R!jhUqYC_tSD{O(u&%BU#)Fz`>X$bYVG@-b2BrUNz^vabGLKOx4qx@ zz2{8M{^$AA0GjYmKRgDS`s2~izOa)V2}SLJu)W`k^e3!6PRI#IY&+&8Ls6@LC>*mx zJsj8+PYl|A_zavMvz<_s;}cegol&)JW6a^JAB6@MOk5a_?WfjwVl>p=KK^Q;Sga}K zT~^dKP}Z^6+HZv-R%|fT?Igmn!Da(q${Lt=MMsWC$Bu^DdFytp{(Z8}u?A^3XIX5w z6Y6T|>9Gb|E%}*)?ct9UF9p49pBCwU)0WY#5o^>=7+6x56Em?8f*4lw zA$eGQ|mYinz(Z!28CRcq#mMw5=^05!F4 zHg0iz*p8*kfZgBELe3_IvT#x;wbzP-2UrW564=){MsgUTekVC$*h(xHfDf3s7Ng{H zY1fuWyg$>;5{SS^o}Hest$|I6c$D01pfM2d?v-PGcvi7Sc9>ya~AVbuiF1e#yET5|V=Os-U6knLM&>p+6l-xFuuNb3w+w9hKk}6EEnP?A#3>Um;6*}f4YSh+Scly1rcmEvC2iGJ z<@mOV@8G-49^FZ zdjMzghMe|(XrNyBDVOag!CENHjK|t6#~Sx`Pae#!vt9bxX~irSX!8^yeJEE|y3XRK zCVqyWlg{^y#QOV|uUxZc)dhXb^um0=@=w3QZ#VF`OT^fAQ+Si(GnWtV`11~;Js zwT|!C@*)Wt2U(5X@sUKoy@~neh9_xPhn%Hyz9GvqG+qVp!6U~Y?ynv>m#Zhw@_Z6! zl<+x=Z~RHX`%HdyDLLSr;7ODPPoaFrNz5L@oS^STRF0wQxYAI=dl_{DwY)E&{36W3 zV$9`;Nllc;Jj~~lCvVPc-OKotxx(NHRGmJ`HxEQpp&D(-k}gb3pO1yEbTe0bxY{q$ zRZYio#6wDawqD|jb1@w(QDzs>J>>>H@G94LX+>wSRll4-UG<}=(jQ&wVRQ#mXyCPU z$uT`%ox*ZG*TnVrA&|e$l`zCZuL`h*@B*utfD17j%^bU!VXZ|S)}fJSy-}WH>Qm)O>QjS$F6#=|!x9)G=zHlygq0X&rN*-SS)BG~v0Ex&p{yr_X@BO@ zlMQHb{n^5&6!AzxfCX%GxvO*7clFR&+Pabgf8){69s>20t@v$Pbwutrd)N z^BK&LM+%(}qQH05E1jZa(wYxsX|Bl9OzfnY`J2ntx`a>h)myqgx7)7I(&2S=7%aSx zx}t}eQ|Y$N^yG40y}Wktx-x~n;N$Rnk6@{kOz)v`*!?m&{&J;yNnx-Y(R&|&-**JQ zybx|w=5@DjPN!fq;uxj_0#hNpRrTw||7+6Z)WC6x$H=gdM&y>PX!t)B%vTE&A1rui zQo$q~+7UWj&!=>UM@5iLSGOw3`Fb`Tfd?aQM|xEEc_`1{|E{(c@{aglPP}qJ-Jc05 zpn$)P#C&^}cjf7@_(MVKGv?5`6#0Q*!%1ARE;_8Bmg8NZfQ9viEPCue*t*WA+()S$h?7rD+)HJ4W_rveK(NK1{v?zu9 z52HB9_Y@u)V>M7{PT8X=JU)geGrhK&dkJ`GFTh<4|85=v@1g7WvZD@@-0maQ-A_8Z zhotr(+2A3B@d)bB##-$vs#nZGX z#Zm&_yO`_8AtUH{2i1g!r&kyBe^E}+rhs(p6b^Amd$v=6Ss@72G@Zd>cc0T3)!dQ7 zH}zDdFNKra8|Cr5K%*dg_`S1)nkb#tVDSEA3NK~QXrhO}leGF2aXHGJ@@abe41GVw zVmQudo@J9BB?XM(a-Zc`%WY{wbi5a9tjl@D~)JRDD)8Ty=WfFg*RNVLR z12=d}=!Oew-3U8^4Jo{O3TLI4(>*=Y`!=z8J+q|>*1##A8(v@pFDmbJv(~zKD&qDc z_N768gde-+b~7^~Ssf%iKS|*iv@&&}Yb!6&%FB%A6=g*?RCT%#8|n#uNp2Uh;(ym6A+69H2mkmlhnYeH diff --git a/bin/com/kitsu/medievalcraft/util/TileForgePlaceables$1.class b/bin/com/kitsu/medievalcraft/util/TileForgePlaceables$1.class new file mode 100644 index 0000000000000000000000000000000000000000..9cefe7be5b2a490d613b06229989a21a755141d9 GIT binary patch literal 1085 zcmb7DTTc@~6#j-57TT@lqJW|m6{W4pLd8o`eUIP=;=2$?hya$#;Da zqlrJjA7wnVy`+dWag&|PH|NYb-#Op>{PpbzfC^q(7-6WmLEC9b9mP&tcv75m-wpY( zc494k=TQ1$I|!R%-{-F24PQh{YZlTBGpGEVcZ_y;bfV1}!`OyYQg1S(ilrll^j6@B z3{se|F^aJavdCGm8Kx3%pR1-*Q(81dXyY343>L+Y#ojT)Y_V3VUoop%m}0oCgm&6e ziB76gi?&mv;Xre@HGvu2uyCDWc^J2bAGj@NH}Kw=MPy?Za}3!~9Mhd%EesUHLj7`( zj!)uH&0rEY4W(NQh2lR9OGg<{x;E~hKt(x=HN&go0Ij{osc?1mDl*8uYh;Km+PG(O z&4t2?bf82{H3Mx<9@tniCmElg$*2!MvaxL72}!J|i&_}tl8v%K$35QWksC)0`8sib z7q=TCJnS@cx*oXPKjNV@`!1N)Cz7n!>%(e0TsKup?jVRmS8S8480PnYB=`2EwlPq#u7aw6^x?89s+$x(|5mwv5J}bC75XIbEIeme{a+>wc1tUgriLZ2wk2p-c|NMdJ^MhPPW{9*puy z%?u?DiUPHzS}SQ(xRCd=CHYpsdC5v{NuV*xvpK;)CC@f{*A^&`^&(U@jk#v9t){a9 zbJ}5OX+d#&6q1#J4rw!$wiL)AtFcx7s@-MUQpYzs)V3?Ib8$HpDE6W`IoKCy{dc+Z z8y6m`9%^s}_BuIl83IQhcCjZ=9q}l4X)vRBlC8y=QRFK#Rk6c9cL;~J03@Ppzl_ZofJ+HujBXE{=W9x8KK#9E)%5d3M7?F%+Qu&1U_>O}&9KLc` bK%KRlCo630IL^^5)5yIOoaPnWm@UgMYe 1) + if (slotObject != null && slotObject.getHasStack()) { + ItemStack stackInSlot = slotObject.getStack(); + stack = stackInSlot.copy(); + + //merges the item into player inventory since its in the tileEntity + if (slot < 9) { + if (!this.mergeItemStack(stackInSlot, 9, this.inventorySlots.size(), true)) { + return null; + } + } + //places it into the tileEntity is possible since its in the player inventory + else if (!this.mergeItemStack(stackInSlot, 0, 9, false)) { + return null; + } + + if (stackInSlot.stackSize == 0) { + slotObject.putStack((ItemStack)null); + } else { + slotObject.onSlotChanged(); + } + + /*if (stackInSlot.stackSize == stack.stackSize) { + return null; + }*/ + //slotObject.onPickupFromSlot(player, stackInSlot); + } + return stack; + } + +} \ No newline at end of file diff --git a/src/main/java/com/kitsu/medievalcraft/renderer/RendererRegistry.java b/src/main/java/com/kitsu/medievalcraft/renderer/RendererRegistry.java index 8367071b..baf29619 100644 --- a/src/main/java/com/kitsu/medievalcraft/renderer/RendererRegistry.java +++ b/src/main/java/com/kitsu/medievalcraft/renderer/RendererRegistry.java @@ -27,6 +27,7 @@ import com.kitsu.medievalcraft.renderer.blocks.ingot.MyEmeraldRenderer; import com.kitsu.medievalcraft.renderer.blocks.ingot.RedstoneIngotRenderer; import com.kitsu.medievalcraft.renderer.blocks.machine.FireboxRenderer; import com.kitsu.medievalcraft.renderer.blocks.machine.ForgeAnvilRenderer; +import com.kitsu.medievalcraft.renderer.blocks.machine.ForgeRenderer; import com.kitsu.medievalcraft.renderer.blocks.machine.FourShelfRenderer; import com.kitsu.medievalcraft.renderer.blocks.machine.SolidFilterRender; import com.kitsu.medievalcraft.renderer.blocks.machine.WaterFilterRenderer; @@ -83,6 +84,7 @@ import com.kitsu.medievalcraft.tileents.machine.TileEntityFirebox; import com.kitsu.medievalcraft.tileents.machine.TileEntityShelfFour; import com.kitsu.medievalcraft.tileents.machine.TileEntitySolidFilter; import com.kitsu.medievalcraft.tileents.machine.TileEntityWaterFilter; +import com.kitsu.medievalcraft.tileents.machine.TileForge; import cpw.mods.fml.client.registry.ClientRegistry; @@ -151,6 +153,8 @@ public class RendererRegistry { ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySmallBarrel.class, new SmallBarrelRender()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityShelfFour.class, new FourShelfRenderer()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFirebox.class, new FireboxRenderer()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFirebox.class, new FireboxRenderer()); + ClientRegistry.bindTileEntitySpecialRenderer(TileForge.class, new ForgeRenderer()); ClientRegistry.bindTileEntitySpecialRenderer(TileCrucibleLapis.class, new LapisCrucibleRenderer()); ClientRegistry.bindTileEntitySpecialRenderer(TileCrucibleIronOre.class, new IronOreCrucibleRenderer()); diff --git a/src/main/java/com/kitsu/medievalcraft/renderer/blocks/machine/ForgeRenderer.java b/src/main/java/com/kitsu/medievalcraft/renderer/blocks/machine/ForgeRenderer.java index af0bf9d2..870391f9 100644 --- a/src/main/java/com/kitsu/medievalcraft/renderer/blocks/machine/ForgeRenderer.java +++ b/src/main/java/com/kitsu/medievalcraft/renderer/blocks/machine/ForgeRenderer.java @@ -1,5 +1,126 @@ package com.kitsu.medievalcraft.renderer.blocks.machine; -public class ForgeRenderer { +import java.util.Random; -} +import net.minecraft.block.Block; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.entity.RenderManager; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.model.AdvancedModelLoader; +import net.minecraftforge.client.model.IModelCustom; + +import org.lwjgl.opengl.GL11; + +import com.kitsu.medievalcraft.block.ModBlocks; +import com.kitsu.medievalcraft.tileents.machine.TileEntityFirebox; +import com.kitsu.medievalcraft.tileents.machine.TileForge; + +import cpw.mods.fml.client.FMLClientHandler; + +public class ForgeRenderer extends TileEntitySpecialRenderer { + + private final Random rand = new Random(); + private double r = rand.nextDouble(); + //public ModelFirebox model; + EntityItem entItem = null; + EntityItem entCoal = null; + //boolean slotStatus; + public static final ResourceLocation MODEL = new ResourceLocation("kitsumedievalcraft:models/Forge.obj"); + public static final ResourceLocation TEXTURE = new ResourceLocation("kitsumedievalcraft:models/Forge.png"); + + IModelCustom model = AdvancedModelLoader.loadModel(MODEL); + + @Override + public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float scale) { + TileForge tileEntity = (TileForge)tile; + GL11.glPushMatrix(); + + GL11.glTranslatef((float) x, (float) y, (float) z); + + renderBlock(tileEntity, tile.getWorldObj(), tile.xCoord,tile.yCoord, tile.zCoord, ModBlocks.forge); + //System.out.println(tileEntity.isCoal); + //if(tileEntity.isCoal==true){ + //System.out.println("Renderer me plz"); + ItemStack c = new ItemStack(Items.coal, 1 , 1); + entCoal = new EntityItem(tileEntity.getWorldObj(), x, y, z, c); + GL11.glPushMatrix(); + this.entCoal.hoverStart = 0.0F; + RenderItem.renderInFrame = true; + GL11.glScalef(0.5f, 0.5f, 0.5f); + GL11.glRotatef(90, 1, 0, 0); + RenderManager.instance.renderEntityWithPosYaw(entCoal, 1.55D, 1.3D, -0.79D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(entCoal, 1.15D, 1.3D, -0.79D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(entCoal, 0.75D, 1.3D, -0.79D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(entCoal, 0.35D, 1.3D, -0.79D, 0.0F, 0.0F); + + RenderManager.instance.renderEntityWithPosYaw(entCoal, 1.35D, 1.0D, -0.79D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(entCoal, 0.95D, 1.0D, -0.79D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(entCoal, 0.55D, 1.0D, -0.79D, 0.0F, 0.0F); + + RenderManager.instance.renderEntityWithPosYaw(entCoal, 1.55D, 0.7D, -0.79D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(entCoal, 1.15D, 0.7D, -0.79D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(entCoal, 0.75D, 0.7D, -0.79D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(entCoal, 0.35D, 0.7D, -0.79D, 0.0F, 0.0F); + + RenderManager.instance.renderEntityWithPosYaw(entCoal, 1.35D, 0.4D, -0.79D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(entCoal, 0.95D, 0.4D, -0.79D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(entCoal, 0.55D, 0.4D, -0.79D, 0.0F, 0.0F); + + RenderItem.renderInFrame = false; + GL11.glPopMatrix(); + + //} + + if(tileEntity.getStackInSlot(0) != null){ + entItem = new EntityItem(tileEntity.getWorldObj(), x, y, z, tileEntity.getStackInSlot(0)); + GL11.glPushMatrix(); + this.entItem.hoverStart = 0.0F; + RenderItem.renderInFrame = true; + GL11.glScalef(1.0f, 1.0f, 1.0f); + GL11.glRotatef(10, 0, 1, 0); + RenderManager.instance.renderEntityWithPosYaw(entItem, 0.4D, 0.325D, 0.6D, 0.0F, 0.0F); + RenderItem.renderInFrame = false; + GL11.glPopMatrix(); + } + + tileEntity.markForUpdate(); + tileEntity.markDirty(); + + GL11.glPopMatrix(); + + } + + public void renderBlock(TileForge tl, World world, int i, int j,int k, Block block) { + GL11.glPushMatrix(); + //GL11.glRotatef(15F, 0F, 1F, 0F); + float scale = 0.50f; + GL11.glScalef(scale, scale, scale); + GL11.glTranslatef(1.0F, 0.2F, 1.0F); + int dir = world.getBlockMetadata(i, j, k); + if(dir == 1){ + //GL11.glTranslatef(-1F, 0F, 1F); + GL11.glRotated(-90F, 0.0, 1.0F, 0.0F); + } + if(dir == 2){ + //GL11.glTranslatef(-2F, 0F, 0F); + GL11.glRotated(-180F, 0.0, 1.0F, 0.0F); + } + if(dir == 3){ + //GL11.glTranslatef(-1F, 0F, -1F); + GL11.glRotated(90F, 0.0, 1.0F, 0.0F); + } + // + FMLClientHandler.instance().getClient().renderEngine.bindTexture(TEXTURE); + + this.model.renderAll(); + GL11.glPopMatrix(); + } + +} \ No newline at end of file diff --git a/src/main/java/com/kitsu/medievalcraft/renderer/itemrenderer/ingotsplates/IronIngotIR.java b/src/main/java/com/kitsu/medievalcraft/renderer/itemrenderer/ingotsplates/IronIngotIR.java index e58457aa..117dc5a6 100644 --- a/src/main/java/com/kitsu/medievalcraft/renderer/itemrenderer/ingotsplates/IronIngotIR.java +++ b/src/main/java/com/kitsu/medievalcraft/renderer/itemrenderer/ingotsplates/IronIngotIR.java @@ -15,6 +15,8 @@ public class IronIngotIR implements IItemRenderer { public static final ResourceLocation MODEL_CRUCIBLE = new ResourceLocation("kitsumedievalcraft:models/IronIngotBlock.obj"); public static final ResourceLocation TEXTURE = new ResourceLocation("kitsumedievalcraft:models/IronIngotBlock.png"); + public static final ResourceLocation TEXTURE1 = new ResourceLocation("kitsumedievalcraft:models/HotIronIngotBlock.png"); + private ResourceLocation loc; public IModelCustom model = AdvancedModelLoader.loadModel(MODEL_CRUCIBLE); @@ -40,8 +42,7 @@ public class IronIngotIR implements IItemRenderer { } @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, - ItemRendererHelper helper) { + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item,ItemRendererHelper helper) { switch(type) { case EQUIPPED: { @@ -74,7 +75,13 @@ public class IronIngotIR implements IItemRenderer { GL11.glRotated(-20, 1, 0, 0); GL11.glScalef(0.75F, 0.75F, 0.75F); GL11.glTranslatef(0.0F, 0.0F, 1.15F); - Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE); + if(item.getItemDamage()==0){ + loc=TEXTURE; + } + if(item.getItemDamage()==1){ + loc=TEXTURE1; + } + Minecraft.getMinecraft().renderEngine.bindTexture(loc); model.renderAll(); GL11.glPopMatrix(); } break; @@ -87,20 +94,38 @@ public class IronIngotIR implements IItemRenderer { GL11.glRotated(30, 0, 0, 1); GL11.glScalef(f, f, f); GL11.glTranslatef(-0.2F, 1.0F, 1.15F); - Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE); + if(item.getItemDamage()==0){ + loc=TEXTURE; + } + if(item.getItemDamage()==1){ + loc=TEXTURE1; + } + Minecraft.getMinecraft().renderEngine.bindTexture(loc); model.renderAll(); GL11.glPopMatrix(); } break; case INVENTORY: { GL11.glPushMatrix(); GL11.glEnable(GL11.GL_TEXTURE_2D); - Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE); + if(item.getItemDamage()==0){ + loc=TEXTURE; + } + if(item.getItemDamage()==1){ + loc=TEXTURE1; + } + Minecraft.getMinecraft().renderEngine.bindTexture(loc); model.renderAll(); GL11.glPopMatrix(); } break; case ENTITY: { GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE); + if(item.getItemDamage()==0){ + loc=TEXTURE; + } + if(item.getItemDamage()==1){ + loc=TEXTURE1; + } + Minecraft.getMinecraft().renderEngine.bindTexture(loc); model.renderAll(); GL11.glPopMatrix(); } break; diff --git a/src/main/java/com/kitsu/medievalcraft/tileents/TileEntRegister.java b/src/main/java/com/kitsu/medievalcraft/tileents/TileEntRegister.java index d41e9391..36c0bf6f 100644 --- a/src/main/java/com/kitsu/medievalcraft/tileents/TileEntRegister.java +++ b/src/main/java/com/kitsu/medievalcraft/tileents/TileEntRegister.java @@ -23,6 +23,7 @@ import com.kitsu.medievalcraft.tileents.machine.TileEntityShelfFour; import com.kitsu.medievalcraft.tileents.machine.TileEntitySolidFilter; import com.kitsu.medievalcraft.tileents.machine.TileEntityTestForge; import com.kitsu.medievalcraft.tileents.machine.TileEntityWaterFilter; +import com.kitsu.medievalcraft.tileents.machine.TileForge; import cpw.mods.fml.common.registry.GameRegistry; @@ -49,6 +50,7 @@ public class TileEntRegister { GameRegistry.registerTileEntity(TileEntitySmallBarrel.class, "SmallBarrel"); GameRegistry.registerTileEntity(TileEntityShelfFour.class, "ShelfFour"); GameRegistry.registerTileEntity(TileEntityFirebox.class, "Firebox"); + GameRegistry.registerTileEntity(TileForge.class, "Forge"); GameRegistry.registerTileEntity(TileCrucibleIronOre.class, "CrucibleIronOre"); GameRegistry.registerTileEntity(TileCrucibleWootz.class, "CrucibleWootz"); diff --git a/src/main/java/com/kitsu/medievalcraft/tileents/machine/TileEntityFirebox.java b/src/main/java/com/kitsu/medievalcraft/tileents/machine/TileEntityFirebox.java index faf7c98a..fddb6913 100644 --- a/src/main/java/com/kitsu/medievalcraft/tileents/machine/TileEntityFirebox.java +++ b/src/main/java/com/kitsu/medievalcraft/tileents/machine/TileEntityFirebox.java @@ -22,6 +22,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntityFurnace; import net.minecraft.world.World; +import com.kitsu.medievalcraft.block.ModBlocks; import com.kitsu.medievalcraft.block.crucible.CrucibleBase; import com.kitsu.medievalcraft.block.ingots.IngotBase; import com.kitsu.medievalcraft.tileents.crucible.TileCrucibleBase; @@ -206,20 +207,8 @@ public class TileEntityFirebox extends TileEntity implements IInventory{ int y = this.yCoord; int z = this.zCoord; if(!world.isRemote){ - if(world.getBlock(x, y+1, z).equals(Blocks.air)||this.getStackInSlot(0)==null){ - this.isOn = false; - } - if((this.getStackInSlot(0)==null)&&(world.getBlock(x, y+1, z).equals(Blocks.fire))){ - world.setBlock(x, y+1, z, Blocks.air, 0, 2); - this.isOn=false; - } - if(this.isOn==true && world.getBlock(x, y+1, z).equals(Blocks.air)){ - world.setBlock(x, y+1, z, Blocks.fire, 0, 2); - } - if(world.getBlock(x, y+1, z).equals(Blocks.fire)){ - this.isOn = true; - } + fireboxMaint(world, x, y, z); fireboxFuelDec(world, x, y, z, this.getStackInSlot(0), this.ticks); isFurnace(world, x, y, z); isCrucible(world, x, y, z); @@ -228,7 +217,22 @@ public class TileEntityFirebox extends TileEntity implements IInventory{ if (worldObj.isRemote) return; } - public void fireboxFuelDec(World world, int x, int y, int z, ItemStack stack, int time){ + private void fireboxMaint(World world, int x, int y, int z){ + if(world.getBlock(x, y+1, z).equals(Blocks.air)||this.getStackInSlot(0)==null){ + this.isOn = false; + } + if((this.getStackInSlot(0)==null)&&(world.getBlock(x, y+1, z).equals(Blocks.fire))){ + world.setBlock(x, y+1, z, Blocks.air, 0, 2); + this.isOn=false; + } + if(this.isOn==true && world.getBlock(x, y+1, z).equals(Blocks.air)){ + world.setBlock(x, y+1, z, Blocks.fire, 0, 2); + } + if(world.getBlock(x, y+1, z).equals(Blocks.fire)){ + this.isOn = true; + } + } + private void fireboxFuelDec(World world, int x, int y, int z, ItemStack stack, int time){ if(world.getBlock(x, y+1, z).equals(Blocks.fire)){ if(stack!=null){ if(isItemFuel(stack)==true){ @@ -244,7 +248,7 @@ public class TileEntityFirebox extends TileEntity implements IInventory{ } } } - public static double fuelMulti(int i, ItemStack stack){ + private static double fuelMulti(int i, ItemStack stack){ if(stack!=null){ if(stack.stackSize<=15){ return 0.25; diff --git a/src/main/java/com/kitsu/medievalcraft/tileents/machine/TileForge.java b/src/main/java/com/kitsu/medievalcraft/tileents/machine/TileForge.java index 64ef16b9..a67a815c 100644 --- a/src/main/java/com/kitsu/medievalcraft/tileents/machine/TileForge.java +++ b/src/main/java/com/kitsu/medievalcraft/tileents/machine/TileForge.java @@ -1,38 +1,25 @@ package com.kitsu.medievalcraft.tileents.machine; -import com.kitsu.medievalcraft.block.crucible.CrucibleBase; -import com.kitsu.medievalcraft.block.ingots.IngotBase; -import com.kitsu.medievalcraft.tileents.crucible.TileCrucibleBase; -import com.kitsu.medievalcraft.tileents.ingots.TileIngotBase; - -import cpw.mods.fml.common.registry.GameRegistry; -import net.minecraft.block.Block; -import net.minecraft.block.BlockFurnace; -import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.inventory.IInventory; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemHoe; import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemSword; -import net.minecraft.item.ItemTool; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.network.NetworkManager; import net.minecraft.network.Packet; import net.minecraft.network.play.server.S35PacketUpdateTileEntity; import net.minecraft.tileentity.TileEntity; -import net.minecraft.tileentity.TileEntityFurnace; import net.minecraft.world.World; +import com.kitsu.medievalcraft.block.ModBlocks; + public class TileForge extends TileEntity implements IInventory{ private String tileForgeName; private ItemStack[] inv; private NBTTagCompound tag = new NBTTagCompound(); public int heat; + public boolean isCoal; public TileForge(){ this.inv = new ItemStack[1]; @@ -121,7 +108,7 @@ public class TileForge extends TileEntity implements IInventory{ @Override public int getInventoryStackLimit() { - return 64; + return 1; } @Override @@ -160,7 +147,7 @@ public class TileForge extends TileEntity implements IInventory{ } //this.stack0 = tagCompound.getString("stack0"); this.heat = tag.getInteger("HEAT"); - //this.isOn = tag.getBoolean("ISON"); + this.isCoal = tag.getBoolean("ISCOAL"); } @@ -180,7 +167,7 @@ public class TileForge extends TileEntity implements IInventory{ } tagCompound.setTag("Inventory", itemList); tag.setInteger("HEAT", this.heat); - //tag.setBoolean("ISON", this.isOn); + tag.setBoolean("ISCOAL", this.isCoal); } @Override public Packet getDescriptionPacket() { @@ -203,6 +190,13 @@ public class TileForge extends TileEntity implements IInventory{ int y = this.yCoord; int z = this.zCoord; if(!world.isRemote){ + if(!world.isRemote){ + if(this.getStackInSlot(0)!=null){ + System.out.println(this.getStackInSlot(0).getItemDamage()); + ItemStack c = new ItemStack(this.getStackInSlot(0).getItem(),1,1); + this.setInventorySlotContents(0, c); + } + } /*if(world.getBlock(x, y+1, z).equals(Blocks.air)||this.getStackInSlot(0)==null){ this.isOn = false; } @@ -216,7 +210,7 @@ public class TileForge extends TileEntity implements IInventory{ if(world.getBlock(x, y+1, z).equals(Blocks.fire)){ this.isOn = true; } -*/ + */ //fireboxFuelDec(world, x, y, z, this.getStackInSlot(0), this.ticks); //isFurnace(world, x, y, z); //isCrucible(world, x, y, z); diff --git a/src/main/java/com/kitsu/medievalcraft/util/TileForgePlaceables.java b/src/main/java/com/kitsu/medievalcraft/util/TileForgePlaceables.java new file mode 100644 index 00000000..f20717b7 --- /dev/null +++ b/src/main/java/com/kitsu/medievalcraft/util/TileForgePlaceables.java @@ -0,0 +1,21 @@ +package com.kitsu.medievalcraft.util; + +import java.util.Hashtable; + +import net.minecraft.item.ItemStack; + +import com.kitsu.medievalcraft.block.ModBlocks; + +public interface TileForgePlaceables { + + static final Hashtable placeMe = new Hashtable (){{ + + put(0, new ItemStack(ModBlocks.refinedIron)); + put(1, new ItemStack(ModBlocks.redstoneIngot)); + put(2, new ItemStack(ModBlocks.lapisIngot)); + put(3, new ItemStack(ModBlocks.ironPlate)); + put(4, new ItemStack(ModBlocks.damascus)); + + }}; + +}