From 26036fe3bb5eb5841ccb0508f4601a224d932751 Mon Sep 17 00:00:00 2001 From: Bob Date: Sat, 25 Jul 2020 00:00:25 +0200 Subject: [PATCH] code cleanup, breeding reactor overhaul --- src/main/java/assets/hbm/lang/de_DE.lang | 5 +- src/main/java/assets/hbm/lang/en_US.lang | 3 + .../hbm/textures/blocks/glass_polonium.png | Bin 0 -> 225 bytes .../hbm/textures/blocks/sand_polonium.png | Bin 0 -> 705 bytes .../textures/gui/processing/gui_breeder.png | Bin 1900 -> 1900 bytes .../assets/hbm/textures/items/book_of_.png | Bin 787 -> 1069 bytes .../items/ingot_tetraneutronium_new.png | Bin 339 -> 310 bytes .../hbm/textures/items/ingot_u238m2.png | Bin 308 -> 281 bytes .../assets/hbm/textures/items/iron_ingot.png | Bin 191 -> 0 bytes .../assets/hbm/textures/items/iron_sword.png | Bin 179 -> 0 bytes .../java/assets/hbm/textures/items/pch.png | Bin 3416 -> 3374 bytes src/main/java/com/hbm/blocks/ModBlocks.java | 11 +- .../com/hbm/handler/BulletConfiguration.java | 1 + .../hbm/handler/nei/ReactorRecipeHandler.java | 33 +- .../com/hbm/inventory/BreederRecipes.java | 190 +++++++-- .../com/hbm/inventory/CentrifugeRecipes.java | 14 +- .../com/hbm/inventory/MachineRecipes.java | 234 ----------- .../com/hbm/inventory/OreDictManager.java | 262 +++++++++++++ .../hbm/inventory/gui/GUIMachineReactor.java | 31 +- .../com/hbm/items/machine/ItemFuelRod.java | 26 +- .../com/hbm/items/special/ItemCustomLore.java | 207 ---------- .../hbm/items/special/ItemRadioactive.java | 8 + .../java/com/hbm/main/CraftingManager.java | 13 + src/main/java/com/hbm/main/MainRegistry.java | 228 +---------- .../java/com/hbm/main/ModEventHandler.java | 2 - .../machine/TileEntityMachineGenerator.java | 12 - .../machine/TileEntityMachineReactor.java | 365 ++++++++---------- .../TileEntityMachineReactorLarge.java | 30 +- .../TileEntityMachineReactorSmall.java | 7 +- .../TileEntityMachineReactorSmallOld.java | 1 - .../machine/TileEntityReactorMultiblock.java | 12 - 31 files changed, 717 insertions(+), 978 deletions(-) create mode 100644 src/main/java/assets/hbm/textures/blocks/glass_polonium.png create mode 100644 src/main/java/assets/hbm/textures/blocks/sand_polonium.png delete mode 100644 src/main/java/assets/hbm/textures/items/iron_ingot.png delete mode 100644 src/main/java/assets/hbm/textures/items/iron_sword.png create mode 100644 src/main/java/com/hbm/inventory/OreDictManager.java diff --git a/src/main/java/assets/hbm/lang/de_DE.lang b/src/main/java/assets/hbm/lang/de_DE.lang index 4b92d0525..37291dabf 100644 --- a/src/main/java/assets/hbm/lang/de_DE.lang +++ b/src/main/java/assets/hbm/lang/de_DE.lang @@ -1947,10 +1947,11 @@ tile.block_meteor_cobble.name=Meteoritenpflasterstein tile.block_meteor_molten.name=Heißer Meteoritenpflasterstein tile.block_meteor_treasure.name=Meteoritenschatz tile.block_mox_fuel.name=MOX-Kernbrennstoffblock -tile.block_neptunium.name=NeptuniumBlock +tile.block_neptunium.name=Neptuniumblock tile.block_niter.name=Salpeterblock tile.block_plutonium.name=Plutoniumblock tile.block_plutonium_fuel.name=Plutoniumkernbrennstoffblock +tile.block_polonium.name=Poloniumblock tile.block_pu238.name=Pu238-Block tile.block_pu239.name=Pu239-Block tile.block_pu240.name=Pu240-Block @@ -2071,6 +2072,7 @@ tile.fwatz_tank.name=Kühlmitteltank tile.gas_duct.name=Gasleitung tile.gas_duct_solid.name=Verstärkte Gasleitung tile.geiger.name=Geigerzähler +tile.glass_polonium.name=Poloniumglas tile.glass_trinitite.name=Trinity-Glas tile.glass_uranium.name=Uranglas tile.gravel_diamond.name=Diamantkies @@ -2266,6 +2268,7 @@ tile.reinforced_stone.name=Verdichteter Stein tile.rejuvinator.name=Regenerationsmaschine tile.residue.name=Wolkenrückstände tile.safe.name=Panzerschrank +tile.sand_polonium.name=Poloniumsand tile.sand_uranium.name=Uransand tile.sat_dock.name=Frachtlandeplattform tile.sat_foeq.name=PEAF - Mk.I FOEQ Dunasonde mit experimenter nuklearer Schubdüse (Dekoblock) diff --git a/src/main/java/assets/hbm/lang/en_US.lang b/src/main/java/assets/hbm/lang/en_US.lang index 1def96ca7..922d311e5 100644 --- a/src/main/java/assets/hbm/lang/en_US.lang +++ b/src/main/java/assets/hbm/lang/en_US.lang @@ -1951,6 +1951,7 @@ tile.block_neptunium.name=Block of Neptunium tile.block_niter.name=Block of Niter tile.block_plutonium.name=Block of Plutonium tile.block_plutonium_fuel.name=Block of Plutonium Fuel +tile.block_polonium.name=Block of Polonium tile.block_pu238.name=Block of Pu238 tile.block_pu239.name=Block of Pu239 tile.block_pu240.name=Block of Pu240 @@ -2071,6 +2072,7 @@ tile.fwatz_tank.name=Regenerative Coolant Fluid Tank tile.gas_duct.name=Gas Pipe tile.gas_duct_solid.name=Coated Gas Pipe tile.geiger.name=Geiger Counter +tile.glass_polonium.name=Polonium Glass tile.glass_trinitite.name=Trinity Glass tile.glass_uranium.name=Uranium Glass tile.gravel_diamond.name=Diamond Gravel @@ -2266,6 +2268,7 @@ tile.reinforced_stone.name=Dense Stone tile.rejuvinator.name=Rejuvination Device tile.residue.name=Cloud Residue tile.safe.name=Safe +tile.sand_polonium.name=Polonium Sand tile.sand_uranium.name=Uranium Sand tile.sat_dock.name=Cargo Landing Pad tile.sat_foeq.name=PEAF - Mk.I FOEQ Duna Probe with experimental Nuclear Propulsion (Deco Block) diff --git a/src/main/java/assets/hbm/textures/blocks/glass_polonium.png b/src/main/java/assets/hbm/textures/blocks/glass_polonium.png new file mode 100644 index 0000000000000000000000000000000000000000..d12a993a8459ae33d87f7c7dac0967fb2e7583f0 GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf^xTvt!Yp%Y`Q$Z`K^?Ohm3cfE&)=_IdWNAZ_P~Jy1~xo9>UvUqPpq8U>3F#- z=of4275V z)@7kohNkTRxPM>y`0@3B7db_$rUt+}he$z6JM-v}-~ax8rBs%xJpge2`teGXlB%hx zx&!WdMMTk^PE7ZK;5{J()cJBE?un{L<}a)z)5M1&AF!nX2^JN@O1N_!+cHUN&N3p_K*TKYf! zWPS{U@7t?9Tan_%o-;}nG=~l;HHr*U2-WdG&O24x!gFVFo^_f~#xmXS;AfOl^p^_& zVG9KBQSTpLh=QGKn1EZ&VwZXl+FR*KW-4^)^YOw$n7jo>|^G+~=qmIbXfP2VF@GW`5W z+!HZI-ue?FCC%}Oh}QUNBy9nJ)lb~N@8q0mnieG`>#`7H;P&gv>bDo%9SC7TloE_K zxX19a@H!x6LEE;7(jY=kkwS##&~Uz-$SGo)nzTlQqQpDL@$H=uUURn1>(Ugkjw9Yp ngb=9e8l^SO+Y#>u>aO8GbsAY}d&xk700000NkvXXu0mjfLo`J4 literal 0 HcmV?d00001 diff --git a/src/main/java/assets/hbm/textures/gui/processing/gui_breeder.png b/src/main/java/assets/hbm/textures/gui/processing/gui_breeder.png index 37eded580cc2288d30b2fa093da6e14fa6517ecc..c8823be16e8b43710cfacb95f0dfd30b1d1f8606 100644 GIT binary patch delta 1570 zcmY+Ee>l^76vscC{jh$_R<{(|v_zz&kVb7!Sh~4>B%@V$C`4H*YfabpTas@)e$*=B zu_-q~lJaAvnIh6iCEOxJA!1u&C7P@IPxqcb&Uv5ny#6@nJm)!|iJysS3@EE(5x&={ z@yFJr$F>(~PW0mi+S9z8vL#qLFV}aJGC!;-jX3Hl>1D@QBG;276I7BXa!HESb>tsB zXUc3fzJsj_`;f`SCth}bbJwK$!&H;y76!NXqtxplw;r+6yjTLr~_m)=$nxGh>Tgyt-r%bWKqEejU-yj)sdv z5WWG~a63A1jSXY|27_c;li!Z0V69=lN|G2=b7Nxahve9x`{%JS5#jXvBm5h5slVbw z(j#NhmGuuoHZ261;=Gt~xf!`<%#Gpi7Np1>jG8K8q|dyy-2Xtsh+PbuqnK3> zE%K-VvXo9Jmis_|-7zmUmAG^Bmlj>X>F@3Beao0?tmoC$kE^YMJYONh9^i#Rl8BID zt7R;Zn!IR*(=wKVWIIY~$thf*zpN+KDriI7iW#>eo!)L~%-oKl2|;OjIpp&=%n~$;@d(k*rVjjTrEFJfn-@1(T$wPbr{ajUdajl>lDJ zjnHU7t=~EK57S@1#nq2bvbZddrZCUZ=JBR_3jSUJF+~S zLbzI8)C+!+h<7TzLUiu+v^N@Nb#`?<)O7MgPZla@#YEV@MBl-|!ADOgyyzuLnP;o~ zWINK{&R(5g;(3LIXVy*HDyK7}Uv@-Wt!8Sze%(`bp9LMW*#g$S8s+I%TL|op{70VO zmy^)Dnn!>|g-jMOL2|v-wgGOvEr=e!EB1G2c7qH5BESf;EtQfzDNuYgiG*gRO>VAA zj87-}uEgBjTDY=i|N6<9L2iWBVmI+lctHq=h%lQUz*eWfD+@v2+9{==S05FGc;aW1 z-@ij3!_71_1Q%mfq^Gk1uvfM%2<+~b-)p8??=$$#CF+ww$Km$M&CeoY+2*73a#FJ3 zOtDXqFaB2AK!WoQI4&-(FhR-A6#wkXM|NlMt_{Pdu*1=QX|qQgXS2?d)CS)zI_tQ* z%}}g75`y^gB3r^#Vgo48Z z?ZJyz0)wXF2Fqs)gv)VeWty(*9A`5lZL0i|A=*Vp8YH=Hz?u0=|*&c_Y^%6!=c0o#W;OoDi$ZS#FCf00cKDn zW@o-8+K=*!`KA6xZ~6}{n#;wUp&wo0d2;srtWn@R0l0pC{0FlVUF4lWS68CFDL>^D z-7Y`9;pYn0Zl5KZife{nR}_CHt;+l`8n15$61!0%ojEj$UA&7f^t2rz8!pvUR z5IdcrLy?heI!Q9e5dN4kqi1Qc6uUQj053%0y@ez^c1cdW7B3X*)i%0}Q^2fkcX4;V Iy*2R6Kk&8fRR910 delta 1544 zcmYLJeK^w#6#o4fLt3^diDboiZb`l=tU|?YO6roYHLt$?tf3BZH5zXUYhp z66bmzjjFu-WW6h95z27f_G9-due_z`E4ZSS2?{~5zL#X?b8DSw`PJ6`;NWyaT{LqIE=$d+2=_hfAAZd<}l(Z0_rF*q?ZSPkZwS%Xt zDJi-6#^L1yKsEJol*#ix*I@TE(Iu7Z7uNQ%S!p@a?A5j!T1t1eL?hBHX$_`DSqMmY zjknH?W=mJ>GAIadI%x-xs-DM%wY?CFJw5;AER~z$I7=M#$j@Fn)Xcup;+1PW4Q>zb zBNbx+Qf6lOrwqmOT6B}uy)KC8Fj5eVT(Uwp(N;>rFa*e7W6n7ro}|=$456J#>*D&}}5m)pm|iLK}Z% zVm&l3wRHldYDwa`Q9FPrTllH4?K>!#HI1eK+Y@K-(?)`@Esl0I6O*QUVhLyb;44s0Oh z*;+L<01>GRf&k{&vh#g$YCW__r{nh+JL~{HHjAACq%0FQL(L+yO_$99h7^^ z!t-<)sw<@A;YZ}Yvrtje0kEo}VNlfN0A=S%z<73S?Y6l?Z(2Xck8hhOL&NT8?`ui> zHa&gV4Td7ibcYK$VJ3nvrsdpY7T7~QFsx_WXb00Txk(y>I@5fHh6>Pc7y4f1pwt4) zdQo^=c4M-#Y`px&81OPHMzf;ogm5O(0s63yY|&!dJ852l#t=0rc#D>*!WB@;^J6Ds zqAH{hf7sZld@sWz(n^>;C=X6}UaG<-(sh%^rKNoQN<9?$r|z9DA+@s+hP_xP zyL~oDjb)}`!s2P_=p9Kmd=~A(4=Gk}QKcMn7E=?0nd)i9MhXP-c;|rKT=ryQlDxfc z)*inmuH4NS(R+Y6?ut8Qo$-sy;%Mr)_TQZYZ_4BYqWintDCm64G?mE++n2?{{EHBj zS3_Fw#B&?aDofc$_~F)hO{i6f`!>l(k`kuC|Mt*dSBKog9e95<;dk?Q^_%AKKh0Wz z)Dk^oV8<$9DQz%dqXn?O($@+6s8fP75#Z^$KI+l6tz2 pH|SI}53)e`L6#m|!;qA>q#o(5=lgkU!397Sd%bX;WjpZ~{srDn@16hv diff --git a/src/main/java/assets/hbm/textures/items/book_of_.png b/src/main/java/assets/hbm/textures/items/book_of_.png index 2cb7744d3f64324d253ee2bb89663a204e9abb14..0401a1bd7e882269cdf3255d5b36987b0be4ac56 100644 GIT binary patch delta 1033 zcmV+k1or!r2CWE?Gk*i*Nkl z69RES2nlG5DCN&bD4Yrf3BipEhzN-*AA(Dymi*~~OF6AdcGq@d&-&%ywd>urvq=#r zcqGf?dFP$?nRn)SJ@8+L>M}%8Bvm_2QviY>sM}2hL9jHg4S&Poa4DYGHqaO&07;Sn zAR_p_UwH3rYMRf-<1TKD^g0~ zc^;$DXfCxCsV0#wXstVKty{3@JpAqD`a9g&WwiH7MT2nXC;r-d6{S2-9_v@W17P&~ zH3nOE&{{JZjejn-1#N@Fon6A6-THgug`Yu{{FTz6bRB$h_&$TJJH!t@S<2kG2sDxB zdAXu`)umfe6ey+3{dY9$SH3MRj)PK~_`#=uqTlZW-O5-=ph9!?IGXXjH^9*|A|8{2 z>%@m2P!t9I&CdY=$!jHa9m3W+V2qI<2<8rBC8tGHDt~FJrOmFCB1w{^0cU2QdBU5) ztNt?Gs(!cmwvjqFfko#^@A1LA0F3u<5Fg!QeE4zMe{^ffca==fy#*B}`|p7AYT1=a zC_pSC77EK?`)=Eu=P$(-+V*|0{WbC7O;8^F&D)QO9ozu147R^&ou@O#SpI{jy*xSB{rKxwL->u-L>2OxDMQP2!FeBBT*EQBuQOJ(lljbV}s$|+p`lt z1+kA$zgUnd0MU!T)Fr%`)iwevOR?*^hzLOtkmot!<-3Sj)-QhpMUE8ZzK2(T1j>@V z82l`(%)ngdEE`REE=sjcx{l+pwzhV$I*_Jm=Rf>khcQNGm(sasc2^W*%v`%^Z+EyftEwe`Q5vcIo^UshRALBRCI$1#_p4aC~|-yc2Y1K{{RlJ`(g zawjy#@aMxvc%Da=Wn|d|tu?OeGM$!kJAXYrB@9E3A3nnOeNInL>(bln^-wBBL|X3= zD+we?!n2q9s9q17BzRtkh+wTn8v{kbG|RBo(tA1t--j77lqw$)u(oV>pw$vZk)&yQ z=4J9paFI$#6h+cJG{%^^E;QwtBuS@j5p7qp|M54`2MWi^?MNg500000lr#SS>huKKl4ih{u~k70N-2HrZTG|;v!hxRZG005;_Y^P94oxGPr z*L5fM>fDQ3YX$&g3;=+cA*GDZODy}1F{r8v(=^3@t#x*8m4EF`z|0^z5>I!}936zJ zDlaol)5+Yk1kxQ55$d`|-}f`u22v@J5`+-Nv9lf!Lg3-y0o(0%)*lQL5vFN6A>zG{ z^ZUNPj==J~lv2@^0h`U{d6BA$9tj|#XuK4ZMFJ_tam@AyLLtafGAV-RN+iw_C?Ob1 ziKNfW3~Oz?34d1w;hMpK)DZA|<^eswoA)k02SE>XVa``-K4NpV;x%?l-C zxg%Jcb5;q35D-GFE)d+NCKv6&+@V5CYD*)f^CzEl5&qHk(Ld9LJgV=h7?@74t_9XLTUmt@l1^JAgj9+{x~{|TUq9fSgVq|( zxtQCXbAKQrSZg7rgtayX9}!`{-=k?7)OC%=$45Bl@a_9gbX|8Dfq*YxKf&DJqpB(h z@$Q&}>f;n1M*tH0{T?^%2e5N7KHB#Z08mK@9vjd~O;{wLwZ@;@JJfXzYb~t(3n4_j z6##HJ9I)H%aDRITDJ2evL)4C@X+Sibtp|z(jAb$Se6s~L4V*Ek>m8UG&N&FJfoX!b z7S1^|A9sM1KqyLxjz4C=xnsM4>`2?TJPgA{LUIjqUq-8+W@*r9t)oJw*V7nN99zN| evtAy(N&Exz@u^0voq~)20000Gk*Z>NklK_azYcHz~?oiZYk)y^2A8 zpJf@w7y!AN<%#c;UqXXaRfU%%F=+k%!hxD_tTyA4qRd4^C1_3A}Zy)cRnHMa~pMQ|5sz{QA?Pg~fLF9Ly z=dluN{XrqQeSP76dCs1N_TxAnO@;pZf zaS{Tk>sr@lKQe%2S)^$?3k_ugWLXA)ZQCb7r4(gZ>i5I$$La__f2)k93nK-s1ZbdC#9T){+2!gWN38S{g;f?00000NkvXXu0mjfpah39 diff --git a/src/main/java/assets/hbm/textures/items/ingot_u238m2.png b/src/main/java/assets/hbm/textures/items/ingot_u238m2.png index d165477f8decbd26120a5d610c066e25b765c7dc..42c1949801cea7099739de58e9e355623340d507 100644 GIT binary patch delta 237 zcmV?ETUG0Z4$3yOC72dUqQq(| z(z56S)p9wINP27|1owzV00000NkvXXu0mjfQxtCr delta 265 zcmV+k0rvix0<;2aSlZf|8;; zxO&L+#wNB+A@taU%PDO*A7J`Q9AYvd@IhBjh*4lgrw@%*+JBG*&fffb6JFn-(SqFq z>QDJl+hznn1n<|;o(BOOx5=^Mja+?z`9~q-Dhk-I(||ni=NmR*Qks{QNq?c!kKFAX zYIQ#(9C^^cOC}%%R$6{aAbq_{!{=n(oc(49l!IIeG=cJ947-z*VSfQ!esN~W(etnX P0000}ucP4E)k^J)W+*?{9KULSg7X!M8!PC{xWt~$(695B_My&t< diff --git a/src/main/java/assets/hbm/textures/items/iron_sword.png b/src/main/java/assets/hbm/textures/items/iron_sword.png deleted file mode 100644 index 4d49c5aee68088b2429f120bddb0d01a79d22809..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Rh}-6Ar-fh6BL+t?AYrhl&uh1qEKWD z4Jk{KeJo?2vSj;xzW@C`&;8@`oaedcp68zXe!b6#c!hY18i{AlP#0$roV)VO#@qZR ztn+Ao)!$EY!o{jk8Yi(K$kILz%tnJG~WRU+l4f3i<*Qte~sf}Cieewk35D@3Hw z1Zs&tX`+x*bSl3=+j(#Y)~ThXRUh(Zi|*+VdwCg@gMR#IS+Z{XFr@s*-eX00QlzHm zsnY#Bm(?zIXTN5s5Xze_kmx$(>KNt@l*W z;M%+j8QPO=1 zhbeRn>tRA=7r*-)#1@VFJmbrr#%Q$g&;Yytg&U?(-NZ3hUFewzuCA3)^@|be-=zpaXOv0!{j126Uz)_2IMCd$90esJHphxB>?e}{4Wbb0rtugrSe*9RrgJhHQGbt+kEKm~csR%rjCXsAP5L zx(bc?(N_{-=-ffDCdD8OQxK0!2cUXxSGYjhgBWf~uVzUmx?jd5tcMkW~sy=++0a;mFf2yAdk3T`$7u;SQk9NxeE`iBpz9SuJ0nhHsoGPox zh*U`vBA2y0{p)khdG(|=Pa{+4LL;AbX6a2`S;1Uvh!Dx&-`~p4?jpDfM` zZyg$fMYt|NqH&PuPvEz5Oh!aU;b9a?CNld`pH zcRad>RFH2Vq(@^etQpp>UEpH{l=NcI?O~e}kd}#P;WaD#$Gx~b`d0e1VwXM}E&^fr zN1_fL-zrNW!#Pt3*~paebb{DMuw=eTtjzq|EiuLY_>-7R)tG6FR-;W8HY9&`hbQMWL8w`inVn4bv8a(Xh5`wL9xuW8Q-a z62V%iqe$&#z0VJ5DTlksE&gr!D5%~dXBQJ2TJVDr2&5Y@D>OkV)5^-?s;X3gYn7)L zpkyWaTs%E_KqP@>q2eV0yBl2bsylix`oZH##P z#!P2w_wB5@$LO95LCd0AhdVB)xK>0#Q;hw2m9>DSzb}uiPdz#jdRR!2Tr8JrH%3Nx zcN>n>@mhMhTWjTY&dwrKvw8ew1h~n{Dk_n91Pf)}P02P5@lZ!*q%P6tLITi2gJfyb za#rojzmM2b8*E5pXe{mCvh)tnNxu5)mkz!wz~VKvjwg4jsH=0~1hU%GhaNkek0>%p zPEJ;vs3|}hkLq-U@6H|X{rdIWtOzm2yvcs8;bE1R#3ADhh?88Hm3M*>8}7Y|yPcOmz;Jt^}8G2&v| z@!`N37;!Qx4uIPyM*+Y@+MQEf7lGdaB9y^k0B2xn(KGLo@(r{bDtZ!xP1@Q>ZCTmb zMHYL=UxR~#xvz;{GqD9BNXz%A0xw&_`vZ=I6Fm8xoir>AN{>&asq(M_*bZu=QvZbuzNz`MzEm~S z@_zaP%#P|L3Miwj%WA|f%cm0;Yeb_5$h|r}|>4r~?P63O~ zQeat#mvYNNUbXHTL;p*O;~opa8rB3SfwYBnrbQr!3kxVf zp|In}opO+DdYCW#U+TP`^vu=8lRbtj{$78#%@PM%&kNOj+(59#BZL4|{BRe^BmjzC zI^9@tc@P6Qfw8gixK2_DK%`SO8mzIUO|~0N}Pm$s`@{MA)`nC-?0M`{^7Ch2A=)d@vel=Xv*T z-Aj%N##XLDL&cS*Xl{u5fC_xG`0 ze^Q@zaFbamT46?Oy9FDFX3DO+^1+Mok%J>Goyz>-zCxZh$DhprmebUkGOS z&bkb+C!(kWm^?hayz;HkBvl>zk>1+!dy}o@Wo5mt6P_lZo)!Is1i%vfD&pX&ybcB%ev zO(U4aJ`GuW%j20Iv|Z|K+0)fXf^~o3^PyNk^j20@j-bWHLtE{S3M^bi@3$X_(t7q6 z*eK(yON~j1q(ok9_!*%ZQYsuE!UZ^~CMZW=U%{5ce+sMP z?>mY8cfsIF6oRT&@<1!u_DrW|qZQg2XlI5IS?p-DN2x)nc_&H&07}&Fc>KNUn=qk% zDd|@H0rKOxwru@EbF|`U5RM_rdHg`NDf?`%+O6*IGAT!-u&Cip zexHAYa_K-I$VY4zy6Ucm6JXyewyk7COp2A{@2m#pDz`+5;SReaRmHAdKqNK-yucp|N8#{WF4O*(d4~Uuo-_4 hsFXu9;(PRg2tPu8jTF1^>LCdD4E3(*R_HiJ{SW5sTtWZ< delta 3398 zcmX9=c|6nqAD_i6WaB#}1bN{ zZrSHIYIi^R>zG62O(@}~@pFWUD#MT{lU-m^Y_Q9}AwJgEX;02ik~Jh3PQT@neA-?||zmOyORq6Q-0??_y~08KewA5kRES0<^RH$H@DM}qod!`E?qF#= z1$E2D%nZOhg6dLg#f+Gh;ZGru;AZIq#+*6x886hp%*+d+ z{vdIBpUIWZ-a+J3#Xtry7~Q9G`!QECa6!P*l4o~sZ-v|T)>gcs{L);_s1uEL2(NgL zn1dwdkVCE|bvfViMsWvS#uqiZ9%PDKl9Q9;e({r=Y+YGE1*btaOKQF=!JA|drimu6 zgd608H&mw@0s~F2rv+(OOSs;Knn*k7+B+F>kF!ky!hTs&C9M-f|O|@8uRG=_c9t=;IQH; zG$|PD30h5OFfO5m;SntY^#xQ~5cC~>QyXZ=R)c*&z#&}`Gt~=H*UXZp4DoX%)^wh( zidx>!Du+@HVIOV?XL39Ny8$K4FUp=WZ?(eov7pZa$U`zLuc2GVAITOE&CpN7p@z)X z_I6kZNd}}+tJ4|t;!Up?$H;qbCooM_Y?q-k&-sriRdVY{ee|+TDTu;LzkBm|+F@viK_FblUBB4$WJ-Ga_5Ai zB2&IX3g}x&xy9jq0<-kc>a!jJjsA3Lhx8HH4St4vAc$-fYa^U zWjS&nBNMI^*43OQ2^-`Kx3{;0iVl&6L$O`Nd=qMCo+0zcNBK1U!J6x7QyPd zclLB^jg8U;?AWIqZJh5idTVV>H%jStc`Yg_89s^ow3bGnx^qzg zfsjk@xx)(`zb&e*tsSYChty42doQ9(z)65zkvg)M3Yk93KMpe0AlM(frz3l9M_m9R z-E!*syHS@R&)UZQy=`<>pNFrlY{I+6MP)Q;;;^x`Lcj>*CQ%cI>ujWga4N!L{r7j* zMa9Lhe>g?vFEq#>xPNdGC%DsL3qi)VD*Me{ckIYixp>icE#|`aS`&LY3aAc{Y(MX% z(RNn}JJaj3ke4?O!a`n>j>PBzLU8UeoS-{9e6}9+(|G5jQ94k5e*O%7QX)46C2rMX zx;m@-eSxBfi8d~^|0hr|jO~&=v4lIDD!@c-A@}Z{C&Jxc^m{hVC_Ev7{Oqg{ASELC z!oUnk=;K(@CHcaTkK4-1${_4&nMbnR1XnRX)Kk##aXf>dO9K7YH(~HmtUR0pY_(j?~Ta5L{E3)iep*?d<%N?OFYsJ5Y-8zWZ8 zW@b6FYJ!p)odBMa_Y4NG{(&Sv?thS45M`spTX^#<`Ir_wCC%^N+Dv(tt*33e;wKd& zBr$tdjVZUUbT!MmU#$;Nx`sieRFlUG8YIbGuTi>=4R$A!K+D4CkjDh2f2ltDl0bJZ ze;O9hCv#~fn7_0qF3B#ZSoGBCm&XKEWuMa>02v+8~9btTZeO*p0W@2fwqYV2v zC|7KXcM2!?sLiRR`Tg1~OI=}DolBQ%!@IGhb-0>_enJAJZc@a}t{%q;uAo|!kpi#; zgM4KbmCy);)E$}MM^+5-g9ir(VfY%4Q5UsOs+ZVYQwUA1H|E){_wBRZ(Yu^mCp|$& z0nY2&+e-;b{Tn?rWI4Yg`R#<_;l~;0zg5Smd(YqI8#TLxKlD^f)0NlMpJ0VBKCf0OSLJeE73;G8|voe7Oh)bYRUTjr>$HSSugh+i={kwCzAh*+?jOCiHIvQebmL! zrQGHn6Dk%7i3Yly6ZyJ%^ncI7Z$5-rT&_o zFVBCy8RPiNiJ=F01;@Z(qSejY?w6?uN0l|zKzTI!@^;LDPb5y~)Ex^es|nzJzp}ue zh+khon$3?k#ex1=;^^yp^y<~C8@pkbN9Gi&DlD*FBREv_ovI;3rox9nHkI} zx-Ba#7vrikmf2Om=zByt^hC04;G?H78VxZ0|t}aRqMMV zzwMCZ@@HjbB_%c0aW*>;G}*L|#vQ6fsjy92V>i%LS-)jkdwU$Z(ZwbRT@jEoP5jG!WsAW9>2G)_Tm$ zAZ`ubsUu8tUzFm#U3wqq%)kHk+MenEl(Yo7#OUM#Bx>#yDV4V+k-`e6qunaV2du4;-Qbq{=v#N|PrI zeBU%HO`am94|$Ak9@|_mF>bh@l@+Z(a~a|0t{f*l=)ZfPy?0uph+T~+I>e6n9IiUk z@fN1~?X5zU<958(w=(}rw3M<}1Z(#HEB`OpXo01e>ID+*>%Y&>yGxmf|IwmuwM} recipes = MachineRecipes.instance().getReactorRecipes(); - for (Map.Entry recipe : recipes.entrySet()) { - this.arecipes.add(new SmeltingSet((ItemStack)recipe.getKey(), (ItemStack)recipe.getValue())); + + Map recipes = BreederRecipes.getAllRecipes(); + + for (Map.Entry recipe : recipes.entrySet()) { + this.arecipes.add(new SmeltingSet(recipe.getKey(), recipe.getValue().output, recipe.getValue().heat)); } } else { super.loadCraftingRecipes(outputId, results); @@ -79,10 +86,12 @@ public class ReactorRecipeHandler extends TemplateRecipeHandler { @Override public void loadCraftingRecipes(ItemStack result) { - Map recipes = MachineRecipes.instance().getReactorRecipes(); - for (Map.Entry recipe : recipes.entrySet()) { - if (NEIServerUtils.areStacksSameType((ItemStack)recipe.getValue(), result)) - this.arecipes.add(new SmeltingSet((ItemStack)recipe.getKey(), (ItemStack)recipe.getValue())); + + Map recipes = BreederRecipes.getAllRecipes(); + + for (Map.Entry recipe : recipes.entrySet()) { + if (NEIServerUtils.areStacksSameType(recipe.getValue().output, result)) + this.arecipes.add(new SmeltingSet(recipe.getKey(), recipe.getValue().output, recipe.getValue().heat)); } } @@ -97,10 +106,12 @@ public class ReactorRecipeHandler extends TemplateRecipeHandler { @Override public void loadUsageRecipes(ItemStack ingredient) { - Map recipes = MachineRecipes.instance().getReactorRecipes(); - for (Map.Entry recipe : recipes.entrySet()) { + + Map recipes = BreederRecipes.getAllRecipes(); + + for (Map.Entry recipe : recipes.entrySet()) { if (NEIServerUtils.areStacksSameType(ingredient, (ItemStack)recipe.getKey())) - this.arecipes.add(new SmeltingSet((ItemStack)recipe.getKey(), (ItemStack)recipe.getValue())); + this.arecipes.add(new SmeltingSet(recipe.getKey(), recipe.getValue().output, recipe.getValue().heat)); } } diff --git a/src/main/java/com/hbm/inventory/BreederRecipes.java b/src/main/java/com/hbm/inventory/BreederRecipes.java index 853d11951..71a852281 100644 --- a/src/main/java/com/hbm/inventory/BreederRecipes.java +++ b/src/main/java/com/hbm/inventory/BreederRecipes.java @@ -1,43 +1,189 @@ package com.hbm.inventory; import java.util.HashMap; +import java.util.Map; +import com.hbm.blocks.ModBlocks; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.items.ModItems; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; public class BreederRecipes { - private static HashMap recipes = new HashMap(); + private static HashMap recipes = new HashMap(); private static HashMap fuels = new HashMap(); + //for the int array: [0] => level (1-4) [1] => amount of operations public static void registerRecipes() { + + //lithium and impure rods + recipes.put(new ComparableStack(ModItems.rod_lithium), new BreederRecipe(ModItems.rod_tritium, 1)); + recipes.put(new ComparableStack(ModItems.rod_dual_lithium), new BreederRecipe(ModItems.rod_dual_tritium, 1)); + recipes.put(new ComparableStack(ModItems.rod_quad_lithium), new BreederRecipe(ModItems.rod_quad_tritium, 1)); + recipes.put(new ComparableStack(ModItems.rod_uranium), new BreederRecipe(ModItems.rod_plutonium, 4)); + recipes.put(new ComparableStack(ModItems.rod_dual_uranium), new BreederRecipe(ModItems.rod_dual_plutonium, 4)); + recipes.put(new ComparableStack(ModItems.rod_quad_uranium), new BreederRecipe(ModItems.rod_quad_plutonium, 4)); + recipes.put(new ComparableStack(ModItems.rod_plutonium), new BreederRecipe(ModItems.rod_waste, 4)); + recipes.put(new ComparableStack(ModItems.rod_dual_plutonium), new BreederRecipe(ModItems.rod_dual_waste, 4)); + recipes.put(new ComparableStack(ModItems.rod_quad_plutonium), new BreederRecipe(ModItems.rod_quad_waste, 4)); + //isotopes + recipes.put(new ComparableStack(ModItems.rod_th232), new BreederRecipe(ModItems.rod_u233, 2)); + recipes.put(new ComparableStack(ModItems.rod_dual_th232), new BreederRecipe(ModItems.rod_dual_u233, 2)); + recipes.put(new ComparableStack(ModItems.rod_quad_th232), new BreederRecipe(ModItems.rod_quad_u233, 2)); + recipes.put(new ComparableStack(ModItems.rod_u233), new BreederRecipe(ModItems.rod_u235, 2)); + recipes.put(new ComparableStack(ModItems.rod_dual_u233), new BreederRecipe(ModItems.rod_dual_u235, 2)); + recipes.put(new ComparableStack(ModItems.rod_quad_u233), new BreederRecipe(ModItems.rod_quad_u235, 2)); + recipes.put(new ComparableStack(ModItems.rod_u235), new BreederRecipe(ModItems.rod_neptunium, 3)); + recipes.put(new ComparableStack(ModItems.rod_dual_u235), new BreederRecipe(ModItems.rod_dual_neptunium, 3)); + recipes.put(new ComparableStack(ModItems.rod_quad_u235), new BreederRecipe(ModItems.rod_quad_neptunium, 3)); + recipes.put(new ComparableStack(ModItems.rod_u238), new BreederRecipe(ModItems.rod_pu239, 3)); + recipes.put(new ComparableStack(ModItems.rod_dual_u238), new BreederRecipe(ModItems.rod_dual_pu239, 3)); + recipes.put(new ComparableStack(ModItems.rod_quad_u238), new BreederRecipe(ModItems.rod_quad_pu239, 3)); + recipes.put(new ComparableStack(ModItems.rod_neptunium), new BreederRecipe(ModItems.rod_pu238, 3)); + recipes.put(new ComparableStack(ModItems.rod_dual_neptunium), new BreederRecipe(ModItems.rod_dual_pu238, 3)); + recipes.put(new ComparableStack(ModItems.rod_quad_neptunium), new BreederRecipe(ModItems.rod_quad_pu238, 3)); + recipes.put(new ComparableStack(ModItems.rod_pu238), new BreederRecipe(ModItems.rod_pu239, 2)); + recipes.put(new ComparableStack(ModItems.rod_dual_pu238), new BreederRecipe(ModItems.rod_dual_pu239, 2)); + recipes.put(new ComparableStack(ModItems.rod_quad_pu238), new BreederRecipe(ModItems.rod_quad_pu239, 2)); + recipes.put(new ComparableStack(ModItems.rod_pu239), new BreederRecipe(ModItems.rod_pu240, 2)); + recipes.put(new ComparableStack(ModItems.rod_dual_pu239), new BreederRecipe(ModItems.rod_dual_pu240, 2)); + recipes.put(new ComparableStack(ModItems.rod_quad_pu239), new BreederRecipe(ModItems.rod_quad_pu240, 2)); + recipes.put(new ComparableStack(ModItems.rod_pu240), new BreederRecipe(ModItems.rod_waste, 3)); + recipes.put(new ComparableStack(ModItems.rod_dual_pu240), new BreederRecipe(ModItems.rod_dual_waste, 3)); + recipes.put(new ComparableStack(ModItems.rod_quad_pu240), new BreederRecipe(ModItems.rod_quad_waste, 3)); + + //advanced + recipes.put(new ComparableStack(ModItems.rod_schrabidium), new BreederRecipe(ModItems.rod_solinium, 3)); + recipes.put(new ComparableStack(ModItems.rod_dual_schrabidium), new BreederRecipe(ModItems.rod_dual_solinium, 3)); + recipes.put(new ComparableStack(ModItems.rod_quad_schrabidium), new BreederRecipe(ModItems.rod_quad_solinium, 3)); + recipes.put(new ComparableStack(ModItems.rod_quad_euphemium), new BreederRecipe(ModItems.rod_quad_euphemium, 4)); + + //rocks + recipes.put(new ComparableStack(Blocks.stone), new BreederRecipe(new ItemStack(ModBlocks.sellafield_0), 2)); + recipes.put(new ComparableStack(ModBlocks.sellafield_0), new BreederRecipe(new ItemStack(ModBlocks.sellafield_1), 2)); + recipes.put(new ComparableStack(ModBlocks.sellafield_1), new BreederRecipe(new ItemStack(ModBlocks.sellafield_2), 3)); + recipes.put(new ComparableStack(ModBlocks.sellafield_2), new BreederRecipe(new ItemStack(ModBlocks.sellafield_3), 3)); + recipes.put(new ComparableStack(ModBlocks.sellafield_3), new BreederRecipe(new ItemStack(ModBlocks.sellafield_4), 4)); + recipes.put(new ComparableStack(ModBlocks.sellafield_4), new BreederRecipe(new ItemStack(ModBlocks.sellafield_core), 4)); } public static void registerFuels() { - fuels.put(new ComparableStack(ModItems.rod_u233), new int[] {0, 0}); - fuels.put(new ComparableStack(ModItems.rod_dual_u233), new int[] {0, 0}); - fuels.put(new ComparableStack(ModItems.rod_quad_u233), new int[] {0, 0}); - fuels.put(new ComparableStack(ModItems.rod_u235), new int[] {0, 0}); - fuels.put(new ComparableStack(ModItems.rod_dual_u235), new int[] {0, 0}); - fuels.put(new ComparableStack(ModItems.rod_quad_u235), new int[] {0, 0}); - fuels.put(new ComparableStack(ModItems.rod_u238), new int[] {0, 0}); - fuels.put(new ComparableStack(ModItems.rod_dual_u238), new int[] {0, 0}); - fuels.put(new ComparableStack(ModItems.rod_quad_u238), new int[] {0, 0}); - fuels.put(new ComparableStack(ModItems.rod_neptunium), new int[] {0, 0}); - fuels.put(new ComparableStack(ModItems.rod_dual_neptunium), new int[] {0, 0}); - fuels.put(new ComparableStack(ModItems.rod_quad_neptunium), new int[] {0, 0}); - fuels.put(new ComparableStack(ModItems.rod_pu238), new int[] {0, 0}); - fuels.put(new ComparableStack(ModItems.rod_dual_pu238), new int[] {0, 0}); - fuels.put(new ComparableStack(ModItems.rod_quad_pu238), new int[] {0, 0}); - fuels.put(new ComparableStack(ModItems.rod_pu239), new int[] {0, 0}); - fuels.put(new ComparableStack(ModItems.rod_dual_pu239), new int[] {0, 0}); - fuels.put(new ComparableStack(ModItems.rod_quad_pu239), new int[] {0, 0}); - fuels.put(new ComparableStack(ModItems.rod_pu240), new int[] {0, 0}); - fuels.put(new ComparableStack(ModItems.rod_dual_pu240), new int[] {0, 0}); - fuels.put(new ComparableStack(ModItems.rod_quad_pu240), new int[] {0, 0}); + fuels.put(new ComparableStack(ModItems.rod_u233), new int[] {2, 2}); + fuels.put(new ComparableStack(ModItems.rod_dual_u233), new int[] {2, 4}); + fuels.put(new ComparableStack(ModItems.rod_quad_u233), new int[] {2, 8}); + + fuels.put(new ComparableStack(ModItems.rod_u235), new int[] {2, 3}); + fuels.put(new ComparableStack(ModItems.rod_dual_u235), new int[] {2, 6}); + fuels.put(new ComparableStack(ModItems.rod_quad_u235), new int[] {2, 12}); + + fuels.put(new ComparableStack(ModItems.rod_u238), new int[] {1, 1}); + fuels.put(new ComparableStack(ModItems.rod_dual_u238), new int[] {1, 2}); + fuels.put(new ComparableStack(ModItems.rod_quad_u238), new int[] {1, 4}); + + fuels.put(new ComparableStack(ModItems.rod_neptunium), new int[] {2, 3}); + fuels.put(new ComparableStack(ModItems.rod_dual_neptunium), new int[] {2, 6}); + fuels.put(new ComparableStack(ModItems.rod_quad_neptunium), new int[] {2, 12}); + + fuels.put(new ComparableStack(ModItems.rod_pu238), new int[] {1, 2}); + fuels.put(new ComparableStack(ModItems.rod_dual_pu238), new int[] {1, 4}); + fuels.put(new ComparableStack(ModItems.rod_quad_pu238), new int[] {1, 8}); + + fuels.put(new ComparableStack(ModItems.rod_pu239), new int[] {3, 5}); + fuels.put(new ComparableStack(ModItems.rod_dual_pu239), new int[] {3, 10}); + fuels.put(new ComparableStack(ModItems.rod_quad_pu239), new int[] {3, 20}); + + fuels.put(new ComparableStack(ModItems.rod_pu240), new int[] {1, 2}); + fuels.put(new ComparableStack(ModItems.rod_dual_pu240), new int[] {1, 4}); + fuels.put(new ComparableStack(ModItems.rod_quad_pu240), new int[] {1, 8}); + + fuels.put(new ComparableStack(ModItems.rod_schrabidium), new int[] {3, 10}); + fuels.put(new ComparableStack(ModItems.rod_dual_schrabidium), new int[] {3, 20}); + fuels.put(new ComparableStack(ModItems.rod_quad_schrabidium), new int[] {3, 40}); + + fuels.put(new ComparableStack(ModItems.rod_solinium), new int[] {3, 15}); + fuels.put(new ComparableStack(ModItems.rod_dual_solinium), new int[] {3, 30}); + fuels.put(new ComparableStack(ModItems.rod_quad_solinium), new int[] {3, 60}); + + fuels.put(new ComparableStack(ModItems.rod_polonium), new int[] {4, 2}); + fuels.put(new ComparableStack(ModItems.rod_dual_polonium), new int[] {4, 4}); + fuels.put(new ComparableStack(ModItems.rod_quad_polonium), new int[] {4, 8}); + + fuels.put(new ComparableStack(ModItems.rod_tritium), new int[] {1, 1}); + fuels.put(new ComparableStack(ModItems.rod_dual_tritium), new int[] {1, 2}); + fuels.put(new ComparableStack(ModItems.rod_quad_tritium), new int[] {1, 4}); + } + + public static HashMap getAllRecipes() { + + HashMap map = new HashMap(); + + for(Map.Entry recipe : recipes.entrySet()) { + map.put(recipe.getKey().toStack(), recipe.getValue()); + } + + return map; + } + + public static BreederRecipe getOutput(ItemStack stack) { + + if(stack == null) + return null; + + ComparableStack sta = new ComparableStack(stack); + return BreederRecipes.recipes.get(sta); + } + + /** + * Returns an integer array of the fuel value of a certain stack + * @param stack + * @return an integer array (possibly null) with two fields, the HEAT value and the amount of operations + */ + public static int[] getFuelValue(ItemStack stack) { + + if(stack == null) + return null; + + ComparableStack sta = new ComparableStack(stack); + int[] ret = BreederRecipes.fuels.get(sta); + + return ret; + } + + public static String getHEATString(String string, int heat) { + + if(heat == 1) + string = EnumChatFormatting.GREEN + string; + if(heat == 2) + string = EnumChatFormatting.YELLOW + string; + if(heat == 3) + string = EnumChatFormatting.GOLD + string; + if(heat == 4) + string = EnumChatFormatting.RED + string; + + return string; //strings are reference types I GET IT + } + + //nicer than opaque object arrays + public static class BreederRecipe { + + public ItemStack output; + public int heat; + + public BreederRecipe() { } + + public BreederRecipe(Item output, int heat) { + this(new ItemStack(output), heat); + } + + public BreederRecipe(ItemStack output, int heat) { + this.output = output; + this.heat = heat; + } } } diff --git a/src/main/java/com/hbm/inventory/CentrifugeRecipes.java b/src/main/java/com/hbm/inventory/CentrifugeRecipes.java index 7eac933bd..66a3aa1d3 100644 --- a/src/main/java/com/hbm/inventory/CentrifugeRecipes.java +++ b/src/main/java/com/hbm/inventory/CentrifugeRecipes.java @@ -28,12 +28,14 @@ public class CentrifugeRecipes { recipes.put(new ComparableStack(ModItems.waste_plutonium), new ItemStack[] { new ItemStack(ModItems.nugget_pu239, 1), - new ItemStack(ModItems.nugget_pu240, 1), new ItemStack(ModItems.nugget_lead, 1), + new ItemStack(ModItems.nugget_pu240, 1), + new ItemStack(ModItems.nugget_polonium, 1), new ItemStack(ModItems.nuclear_waste_tiny, 3) }); recipes.put(new ComparableStack(ModItems.waste_mox), new ItemStack[] { new ItemStack(ModItems.nugget_pu239, 1), - new ItemStack(ModItems.nugget_neptunium, 1), new ItemStack(ModItems.nugget_u238, 2), + new ItemStack(ModItems.nugget_u238, 2), + new ItemStack(ModItems.nugget_polonium, 1), new ItemStack(ModItems.nuclear_waste_tiny, 2) }); recipes.put(new ComparableStack(ModItems.waste_schrabidium), new ItemStack[] { @@ -141,13 +143,13 @@ public class CentrifugeRecipes { recipes.put("orePlutonium", new ItemStack[] { new ItemStack(ModItems.powder_plutonium, 1), new ItemStack(ModItems.powder_plutonium, 1), - new ItemStack(ModItems.powder_uranium, 1), + new ItemStack(ModItems.nugget_polonium, 3), new ItemStack(Blocks.gravel, 1) }); recipes.put("oreUranium", new ItemStack[] { new ItemStack(ModItems.powder_uranium, 1), new ItemStack(ModItems.powder_uranium, 1), - new ItemStack(ModItems.powder_thorium, 1), + new ItemStack(ModItems.nugget_polonium, 1), new ItemStack(Blocks.gravel, 1) }); recipes.put("oreThorium", new ItemStack[] { @@ -206,9 +208,9 @@ public class CentrifugeRecipes { recipes.put(new ComparableStack(ModItems.crystal_gold), new ItemStack[] { new ItemStack(ModItems.powder_gold, 2), new ItemStack(ModItems.powder_gold, 2), new ItemStack(ModItems.nugget_mercury, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) }); recipes.put(new ComparableStack(ModItems.crystal_redstone), new ItemStack[] { new ItemStack(Items.redstone, 3), new ItemStack(Items.redstone, 3), new ItemStack(Items.redstone, 3), new ItemStack(ModItems.nugget_mercury, 3) }); recipes.put(new ComparableStack(ModItems.crystal_diamond), new ItemStack[] { new ItemStack(ModItems.powder_diamond, 1), new ItemStack(ModItems.powder_diamond, 1), new ItemStack(ModItems.powder_diamond, 1), new ItemStack(ModItems.powder_diamond, 1) }); - recipes.put(new ComparableStack(ModItems.crystal_uranium), new ItemStack[] { new ItemStack(ModItems.powder_uranium, 2), new ItemStack(ModItems.powder_uranium, 2), new ItemStack(ModItems.powder_thorium, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) }); + recipes.put(new ComparableStack(ModItems.crystal_uranium), new ItemStack[] { new ItemStack(ModItems.powder_uranium, 2), new ItemStack(ModItems.powder_uranium, 2), new ItemStack(ModItems.nugget_polonium, 2), new ItemStack(ModItems.powder_lithium_tiny, 1) }); recipes.put(new ComparableStack(ModItems.crystal_thorium), new ItemStack[] { new ItemStack(ModItems.powder_thorium, 2), new ItemStack(ModItems.powder_thorium, 2), new ItemStack(ModItems.powder_uranium, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) }); - recipes.put(new ComparableStack(ModItems.crystal_plutonium), new ItemStack[] { new ItemStack(ModItems.powder_plutonium, 2), new ItemStack(ModItems.powder_plutonium, 2), new ItemStack(ModItems.powder_uranium, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) }); + recipes.put(new ComparableStack(ModItems.crystal_plutonium), new ItemStack[] { new ItemStack(ModItems.powder_plutonium, 2), new ItemStack(ModItems.powder_plutonium, 2), new ItemStack(ModItems.powder_polonium, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) }); recipes.put(new ComparableStack(ModItems.crystal_titanium), new ItemStack[] { new ItemStack(ModItems.powder_titanium, 2), new ItemStack(ModItems.powder_titanium, 2), new ItemStack(ModItems.powder_iron, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) }); recipes.put(new ComparableStack(ModItems.crystal_sulfur), new ItemStack[] { new ItemStack(ModItems.sulfur, 4), new ItemStack(ModItems.sulfur, 4), new ItemStack(ModItems.powder_iron, 1), new ItemStack(ModItems.nugget_mercury, 1) }); recipes.put(new ComparableStack(ModItems.crystal_niter), new ItemStack[] { new ItemStack(ModItems.niter, 3), new ItemStack(ModItems.niter, 3), new ItemStack(ModItems.niter, 3), new ItemStack(ModItems.powder_lithium_tiny, 1) }); diff --git a/src/main/java/com/hbm/inventory/MachineRecipes.java b/src/main/java/com/hbm/inventory/MachineRecipes.java index 62769f827..b8ab3b371 100644 --- a/src/main/java/com/hbm/inventory/MachineRecipes.java +++ b/src/main/java/com/hbm/inventory/MachineRecipes.java @@ -511,191 +511,6 @@ public class MachineRecipes { return recipes; } - - public static ItemStack getReactorProcessingResult(Item item) { - return getReactorOutput(item); - } - - public static ItemStack getReactorOutput(Item item) { - - if (item == ModItems.rod_th232) { - return new ItemStack(ModItems.rod_u233, 1); - } - - if (item == ModItems.rod_uranium) { - return new ItemStack(ModItems.rod_plutonium, 1); - } - - if (item == ModItems.rod_u233) { - return new ItemStack(ModItems.rod_u235, 1); - } - - if (item == ModItems.rod_u235) { - return new ItemStack(ModItems.rod_neptunium, 1); - } - - if (item == ModItems.rod_u238) { - return new ItemStack(ModItems.rod_pu239, 1); - } - - if (item == ModItems.rod_neptunium) { - return new ItemStack(ModItems.rod_pu238, 1); - } - - if (item == ModItems.rod_plutonium) { - return new ItemStack(ModItems.rod_waste, 1); - } - - if (item == ModItems.rod_pu238) { - return new ItemStack(ModItems.rod_pu239, 1); - } - - if (item == ModItems.rod_pu239) { - return new ItemStack(ModItems.rod_pu240, 1); - } - - if (item == ModItems.rod_pu240) { - return new ItemStack(ModItems.rod_waste, 1); - } - - if (item == ModItems.rod_schrabidium) { - return new ItemStack(ModItems.rod_solinium, 1); - } - - if (item == ModItems.rod_dual_th232) { - return new ItemStack(ModItems.rod_dual_u233, 1); - } - - if (item == ModItems.rod_dual_uranium) { - return new ItemStack(ModItems.rod_dual_plutonium, 1); - } - - if (item == ModItems.rod_dual_u233) { - return new ItemStack(ModItems.rod_dual_u235, 1); - } - - if (item == ModItems.rod_dual_u235) { - return new ItemStack(ModItems.rod_dual_neptunium, 1); - } - - if (item == ModItems.rod_dual_u238) { - return new ItemStack(ModItems.rod_dual_pu239, 1); - } - - if (item == ModItems.rod_dual_neptunium) { - return new ItemStack(ModItems.rod_dual_pu238, 1); - } - - if (item == ModItems.rod_dual_plutonium) { - return new ItemStack(ModItems.rod_dual_waste, 1); - } - - if (item == ModItems.rod_dual_pu238) { - return new ItemStack(ModItems.rod_dual_pu239, 1); - } - - if (item == ModItems.rod_dual_pu239) { - return new ItemStack(ModItems.rod_dual_pu240, 1); - } - - if (item == ModItems.rod_dual_pu240) { - return new ItemStack(ModItems.rod_dual_waste, 1); - } - - if (item == ModItems.rod_dual_schrabidium) { - return new ItemStack(ModItems.rod_dual_solinium, 1); - } - - if (item == ModItems.rod_quad_th232) { - return new ItemStack(ModItems.rod_quad_u233, 1); - } - - if (item == ModItems.rod_quad_uranium) { - return new ItemStack(ModItems.rod_quad_plutonium, 1); - } - - if (item == ModItems.rod_quad_u233) { - return new ItemStack(ModItems.rod_quad_u235, 1); - } - - if (item == ModItems.rod_quad_u235) { - return new ItemStack(ModItems.rod_quad_neptunium, 1); - } - - if (item == ModItems.rod_quad_u238) { - return new ItemStack(ModItems.rod_quad_pu239, 1); - } - - if (item == ModItems.rod_quad_neptunium) { - return new ItemStack(ModItems.rod_quad_pu238, 1); - } - - if (item == ModItems.rod_quad_plutonium) { - return new ItemStack(ModItems.rod_quad_waste, 1); - } - - if (item == ModItems.rod_quad_pu238) { - return new ItemStack(ModItems.rod_quad_pu239, 1); - } - - if (item == ModItems.rod_quad_pu239) { - return new ItemStack(ModItems.rod_quad_pu240, 1); - } - - if (item == ModItems.rod_quad_pu240) { - return new ItemStack(ModItems.rod_quad_waste, 1); - } - - if (item == ModItems.rod_quad_schrabidium) { - return new ItemStack(ModItems.rod_quad_solinium, 1); - } - - if (item == ModItems.rod_lithium) { - return new ItemStack(ModItems.rod_tritium, 1); - } - - if (item == ModItems.rod_dual_lithium) { - return new ItemStack(ModItems.rod_dual_tritium, 1); - } - - if (item == ModItems.rod_quad_lithium) { - return new ItemStack(ModItems.rod_quad_tritium, 1); - } - - if (item == ModItems.rod_quad_solinium) { - return new ItemStack(ModItems.rod_quad_euphemium, 1); - } - - if (item == Item.getItemFromBlock(Blocks.stone)) { - return new ItemStack(ModBlocks.sellafield_slaked, 1); - } - - if (item == Item.getItemFromBlock(ModBlocks.sellafield_slaked)) { - return new ItemStack(ModBlocks.sellafield_0, 1); - } - - if (item == Item.getItemFromBlock(ModBlocks.sellafield_0)) { - return new ItemStack(ModBlocks.sellafield_1, 1); - } - - if (item == Item.getItemFromBlock(ModBlocks.sellafield_1)) { - return new ItemStack(ModBlocks.sellafield_2, 1); - } - - if (item == Item.getItemFromBlock(ModBlocks.sellafield_2)) { - return new ItemStack(ModBlocks.sellafield_3, 1); - } - - if (item == Item.getItemFromBlock(ModBlocks.sellafield_3)) { - return new ItemStack(ModBlocks.sellafield_4, 1); - } - - if (item == Item.getItemFromBlock(ModBlocks.sellafield_4)) { - return new ItemStack(ModBlocks.sellafield_core, 1); - } - - return null; - } public static ItemStack getCyclotronOutput(ItemStack part, ItemStack item) { @@ -1020,55 +835,6 @@ public class MachineRecipes { fuels.add(new ItemStack(Items.blaze_powder)); return fuels; } - - public Map getReactorRecipes() { - Map recipes = new HashMap(); - recipes.put(new ItemStack(ModItems.rod_uranium), getReactorOutput(ModItems.rod_uranium)); - recipes.put(new ItemStack(ModItems.rod_dual_uranium), getReactorOutput(ModItems.rod_dual_uranium)); - recipes.put(new ItemStack(ModItems.rod_quad_uranium), getReactorOutput(ModItems.rod_quad_uranium)); - recipes.put(new ItemStack(ModItems.rod_u235), getReactorOutput(ModItems.rod_u235)); - recipes.put(new ItemStack(ModItems.rod_dual_u235), getReactorOutput(ModItems.rod_dual_u235)); - recipes.put(new ItemStack(ModItems.rod_quad_u235), getReactorOutput(ModItems.rod_quad_u235)); - recipes.put(new ItemStack(ModItems.rod_u238), getReactorOutput(ModItems.rod_u238)); - recipes.put(new ItemStack(ModItems.rod_dual_u238), getReactorOutput(ModItems.rod_dual_u238)); - recipes.put(new ItemStack(ModItems.rod_quad_u238), getReactorOutput(ModItems.rod_quad_u238)); - recipes.put(new ItemStack(ModItems.rod_plutonium), getReactorOutput(ModItems.rod_plutonium)); - recipes.put(new ItemStack(ModItems.rod_dual_plutonium), getReactorOutput(ModItems.rod_dual_plutonium)); - recipes.put(new ItemStack(ModItems.rod_quad_plutonium), getReactorOutput(ModItems.rod_quad_plutonium)); - recipes.put(new ItemStack(ModItems.rod_pu238), getReactorOutput(ModItems.rod_pu238)); - recipes.put(new ItemStack(ModItems.rod_dual_pu238), getReactorOutput(ModItems.rod_dual_pu238)); - recipes.put(new ItemStack(ModItems.rod_quad_pu238), getReactorOutput(ModItems.rod_quad_pu238)); - recipes.put(new ItemStack(ModItems.rod_pu239), getReactorOutput(ModItems.rod_pu239)); - recipes.put(new ItemStack(ModItems.rod_dual_pu239), getReactorOutput(ModItems.rod_dual_pu239)); - recipes.put(new ItemStack(ModItems.rod_quad_pu239), getReactorOutput(ModItems.rod_quad_pu239)); - recipes.put(new ItemStack(ModItems.rod_pu240), getReactorOutput(ModItems.rod_pu240)); - recipes.put(new ItemStack(ModItems.rod_dual_pu240), getReactorOutput(ModItems.rod_dual_pu240)); - recipes.put(new ItemStack(ModItems.rod_quad_pu240), getReactorOutput(ModItems.rod_quad_pu240)); - recipes.put(new ItemStack(ModItems.rod_neptunium), getReactorOutput(ModItems.rod_neptunium)); - recipes.put(new ItemStack(ModItems.rod_dual_neptunium), getReactorOutput(ModItems.rod_dual_neptunium)); - recipes.put(new ItemStack(ModItems.rod_quad_neptunium), getReactorOutput(ModItems.rod_quad_neptunium)); - recipes.put(new ItemStack(ModItems.rod_schrabidium), getReactorOutput(ModItems.rod_schrabidium)); - recipes.put(new ItemStack(ModItems.rod_dual_schrabidium), getReactorOutput(ModItems.rod_dual_schrabidium)); - recipes.put(new ItemStack(ModItems.rod_quad_schrabidium), getReactorOutput(ModItems.rod_quad_schrabidium)); - recipes.put(new ItemStack(ModItems.rod_quad_solinium), getReactorOutput(ModItems.rod_quad_solinium)); - recipes.put(new ItemStack(ModItems.rod_lithium), getReactorOutput(ModItems.rod_lithium)); - recipes.put(new ItemStack(ModItems.rod_dual_lithium), getReactorOutput(ModItems.rod_dual_lithium)); - recipes.put(new ItemStack(ModItems.rod_quad_lithium), getReactorOutput(ModItems.rod_quad_lithium)); - recipes.put(new ItemStack(Blocks.stone), getReactorOutput(Item.getItemFromBlock(Blocks.stone))); - recipes.put(new ItemStack(ModBlocks.sellafield_slaked), getReactorOutput(Item.getItemFromBlock(ModBlocks.sellafield_slaked))); - recipes.put(new ItemStack(ModBlocks.sellafield_0), getReactorOutput(Item.getItemFromBlock(ModBlocks.sellafield_0))); - recipes.put(new ItemStack(ModBlocks.sellafield_1), getReactorOutput(Item.getItemFromBlock(ModBlocks.sellafield_1))); - recipes.put(new ItemStack(ModBlocks.sellafield_2), getReactorOutput(Item.getItemFromBlock(ModBlocks.sellafield_2))); - recipes.put(new ItemStack(ModBlocks.sellafield_3), getReactorOutput(Item.getItemFromBlock(ModBlocks.sellafield_3))); - recipes.put(new ItemStack(ModBlocks.sellafield_4), getReactorOutput(Item.getItemFromBlock(ModBlocks.sellafield_4))); - recipes.put(new ItemStack(ModItems.rod_th232), getReactorOutput(ModItems.rod_th232)); - recipes.put(new ItemStack(ModItems.rod_dual_th232), getReactorOutput(ModItems.rod_dual_th232)); - recipes.put(new ItemStack(ModItems.rod_quad_th232), getReactorOutput(ModItems.rod_quad_th232)); - recipes.put(new ItemStack(ModItems.rod_u233), getReactorOutput(ModItems.rod_u233)); - recipes.put(new ItemStack(ModItems.rod_dual_u233), getReactorOutput(ModItems.rod_dual_u233)); - recipes.put(new ItemStack(ModItems.rod_quad_u233), getReactorOutput(ModItems.rod_quad_u233)); - return recipes; - } public Map getCyclotronRecipes() { Map recipes = new HashMap(); diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java new file mode 100644 index 000000000..07001de88 --- /dev/null +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -0,0 +1,262 @@ +package com.hbm.inventory; + +import com.hbm.blocks.ModBlocks; +import com.hbm.items.ModItems; + +import net.minecraft.init.Items; +import net.minecraftforge.oredict.OreDictionary; + +public class OreDictManager { + + public static void registerOres() { + + OreDictionary.registerOre("ingotUranium", ModItems.ingot_uranium); + OreDictionary.registerOre("ingotUranium233", ModItems.ingot_u233); + OreDictionary.registerOre("ingotUranium235", ModItems.ingot_u235); + OreDictionary.registerOre("ingotUranium238", ModItems.ingot_u238); + OreDictionary.registerOre("ingotThorium", ModItems.ingot_th232); + OreDictionary.registerOre("ingotThorium232", ModItems.ingot_th232); + OreDictionary.registerOre("ingotPlutonium", ModItems.ingot_plutonium); + OreDictionary.registerOre("ingotPlutonium238", ModItems.ingot_pu238); + OreDictionary.registerOre("ingotPlutonium239", ModItems.ingot_pu239); + OreDictionary.registerOre("ingotPlutonium240", ModItems.ingot_pu240); + OreDictionary.registerOre("U233", ModItems.ingot_u233); + OreDictionary.registerOre("U235", ModItems.ingot_u235); + OreDictionary.registerOre("U238", ModItems.ingot_u238); + OreDictionary.registerOre("Th232", ModItems.ingot_th232); + OreDictionary.registerOre("Pu238", ModItems.ingot_pu238); + OreDictionary.registerOre("Pu239", ModItems.ingot_pu239); + OreDictionary.registerOre("Pu240", ModItems.ingot_pu240); + OreDictionary.registerOre("ingotNeptunium", ModItems.ingot_neptunium); + OreDictionary.registerOre("ingotPolonium", ModItems.ingot_polonium); + OreDictionary.registerOre("ingotSchrabidium", ModItems.ingot_schrabidium); + OreDictionary.registerOre("ingotTitanium", ModItems.ingot_titanium); + OreDictionary.registerOre("ingotSteel", ModItems.ingot_steel); + OreDictionary.registerOre("ingotCopper", ModItems.ingot_copper); + OreDictionary.registerOre("ingotRedCopperAlloy", ModItems.ingot_red_copper); + OreDictionary.registerOre("ingotAdvanced", ModItems.ingot_advanced_alloy); + OreDictionary.registerOre("ingotAdvancedAlloy", ModItems.ingot_advanced_alloy); + OreDictionary.registerOre("ingotTungsten", ModItems.ingot_tungsten); + OreDictionary.registerOre("ingotAluminum", ModItems.ingot_aluminium); + OreDictionary.registerOre("ingotBeryllium", ModItems.ingot_beryllium); + OreDictionary.registerOre("ingotCobalt", ModItems.ingot_cobalt); + OreDictionary.registerOre("ingotLead", ModItems.ingot_lead); + OreDictionary.registerOre("ingotLithium", ModItems.lithium); + OreDictionary.registerOre("ingotMagnetizedTungsten", ModItems.ingot_magnetized_tungsten); + OreDictionary.registerOre("ingotCMBSteel", ModItems.ingot_combine_steel); + OreDictionary.registerOre("ingotAustralium", ModItems.ingot_australium); + OreDictionary.registerOre("ingotWeidanium", ModItems.ingot_weidanium); + OreDictionary.registerOre("ingotReiium", ModItems.ingot_reiium); + OreDictionary.registerOre("ingotUnobtainium", ModItems.ingot_unobtainium); + OreDictionary.registerOre("ingotDaffergon", ModItems.ingot_daffergon); + OreDictionary.registerOre("ingotVerticium", ModItems.ingot_verticium); + OreDictionary.registerOre("ingotDuraSteel", ModItems.ingot_dura_steel); + OreDictionary.registerOre("ingotPolymer", ModItems.ingot_polymer); + OreDictionary.registerOre("ingotLanthanium", ModItems.ingot_lanthanium); + OreDictionary.registerOre("ingotActinium", ModItems.ingot_actinium); + OreDictionary.registerOre("ingotDesh", ModItems.ingot_desh); + OreDictionary.registerOre("ingotSaturnite", ModItems.ingot_saturnite); + OreDictionary.registerOre("ingotEuphemium", ModItems.ingot_euphemium); + OreDictionary.registerOre("ingotDineutronium", ModItems.ingot_dineutronium); + OreDictionary.registerOre("ingotStarmetal", ModItems.ingot_starmetal); + + OreDictionary.registerOre("nuggetLead", ModItems.nugget_lead); + OreDictionary.registerOre("nuggetUranium", ModItems.nugget_uranium); + OreDictionary.registerOre("nuggetUranium233", ModItems.nugget_u233); + OreDictionary.registerOre("nuggetUranium235", ModItems.nugget_u235); + OreDictionary.registerOre("nuggetUranium238", ModItems.nugget_u238); + OreDictionary.registerOre("nuggetThorium", ModItems.nugget_th232); + OreDictionary.registerOre("nuggetThorium232", ModItems.nugget_th232); + OreDictionary.registerOre("nuggetPlutonium", ModItems.nugget_plutonium); + OreDictionary.registerOre("nuggetPlutonium238", ModItems.nugget_pu238); + OreDictionary.registerOre("nuggetPlutonium239", ModItems.nugget_pu239); + OreDictionary.registerOre("nuggetPlutonium240", ModItems.nugget_pu240); + OreDictionary.registerOre("nuggetAustralium", ModItems.nugget_australium); + OreDictionary.registerOre("nuggetWeidanium", ModItems.nugget_weidanium); + OreDictionary.registerOre("nuggetReiium", ModItems.nugget_reiium); + OreDictionary.registerOre("nuggetUnobtainium", ModItems.nugget_unobtainium); + OreDictionary.registerOre("nuggetDaffergon", ModItems.nugget_daffergon); + OreDictionary.registerOre("nuggetVerticium", ModItems.nugget_verticium); + OreDictionary.registerOre("nuggetEuphemium", ModItems.nugget_euphemium); + OreDictionary.registerOre("nuggetNeptunium", ModItems.nugget_neptunium); + OreDictionary.registerOre("nuggetPolonium", ModItems.nugget_polonium); + OreDictionary.registerOre("nuggetSchrabidium", ModItems.nugget_schrabidium); + OreDictionary.registerOre("tinyU233", ModItems.nugget_u233); + OreDictionary.registerOre("tinyU235", ModItems.nugget_u235); + OreDictionary.registerOre("tinyU238", ModItems.nugget_u238); + OreDictionary.registerOre("tinyTh232", ModItems.nugget_th232); + OreDictionary.registerOre("tinyPu238", ModItems.nugget_pu238); + OreDictionary.registerOre("tinyPu239", ModItems.nugget_pu239); + OreDictionary.registerOre("tinyPu240", ModItems.nugget_pu240); + + OreDictionary.registerOre("nuggetNeodymium", ModItems.fragment_neodymium); + OreDictionary.registerOre("nuggetCobalt", ModItems.fragment_cobalt); + OreDictionary.registerOre("nuggetNiobium", ModItems.fragment_niobium); + OreDictionary.registerOre("nuggetCerium", ModItems.fragment_cerium); + OreDictionary.registerOre("nuggetLanthanium", ModItems.fragment_lanthanium); + OreDictionary.registerOre("nuggetActinium", ModItems.fragment_actinium); + + OreDictionary.registerOre("dustIron", ModItems.powder_iron); + OreDictionary.registerOre("dustGold", ModItems.powder_gold); + OreDictionary.registerOre("dustUranium", ModItems.powder_uranium); + OreDictionary.registerOre("dustThorium", ModItems.powder_thorium); + OreDictionary.registerOre("dustPlutonium", ModItems.powder_plutonium); + OreDictionary.registerOre("dustTitanium", ModItems.powder_titanium); + OreDictionary.registerOre("dustTungsten", ModItems.powder_tungsten); + OreDictionary.registerOre("dustCopper", ModItems.powder_copper); + OreDictionary.registerOre("dustBeryllium", ModItems.powder_beryllium); + OreDictionary.registerOre("dustAluminum", ModItems.powder_aluminium); + OreDictionary.registerOre("dustDiamond", ModItems.powder_diamond); + OreDictionary.registerOre("dustEmerald", ModItems.powder_emerald); + OreDictionary.registerOre("dustLapis", ModItems.powder_lapis); + OreDictionary.registerOre("dustCoal", ModItems.powder_coal); + OreDictionary.registerOre("dustLignite", ModItems.powder_lignite); + OreDictionary.registerOre("dustAdvanced", ModItems.powder_advanced_alloy); + OreDictionary.registerOre("dustAdvancedAlloy", ModItems.powder_advanced_alloy); + OreDictionary.registerOre("dustCMBSteel", ModItems.powder_combine_steel); + OreDictionary.registerOre("dustMagnetizedTungsten", ModItems.powder_magnetized_tungsten); + OreDictionary.registerOre("dustRedCopperAlloy", ModItems.powder_red_copper); + OreDictionary.registerOre("dustSteel", ModItems.powder_steel); + OreDictionary.registerOre("dustLithium", ModItems.powder_lithium); + OreDictionary.registerOre("dustNetherQuartz", ModItems.powder_quartz); + OreDictionary.registerOre("dustAustralium", ModItems.powder_australium); + OreDictionary.registerOre("dustWeidanium", ModItems.powder_weidanium); + OreDictionary.registerOre("dustReiium", ModItems.powder_reiium); + OreDictionary.registerOre("dustUnobtainium", ModItems.powder_unobtainium); + OreDictionary.registerOre("dustDaffergon", ModItems.powder_daffergon); + OreDictionary.registerOre("dustVerticium", ModItems.powder_verticium); + OreDictionary.registerOre("dustDuraSteel", ModItems.powder_dura_steel); + OreDictionary.registerOre("dustPolymer", ModItems.powder_polymer); + OreDictionary.registerOre("dustLanthanium", ModItems.powder_lanthanium); + OreDictionary.registerOre("dustActinium", ModItems.powder_actinium); + OreDictionary.registerOre("dustDesh", ModItems.powder_desh); + OreDictionary.registerOre("dustEuphemium", ModItems.powder_euphemium); + OreDictionary.registerOre("dustDineutronium", ModItems.powder_dineutronium); + OreDictionary.registerOre("dustSchrabidium", ModItems.powder_schrabidium); + OreDictionary.registerOre("dustSulfur", ModItems.sulfur); + OreDictionary.registerOre("dustNiter", ModItems.niter); + OreDictionary.registerOre("dustSalpeter", ModItems.niter); + OreDictionary.registerOre("dustLead", ModItems.powder_lead); + OreDictionary.registerOre("dustNeptunium", ModItems.powder_neptunium); + OreDictionary.registerOre("dustPolonium", ModItems.powder_polonium); + + OreDictionary.registerOre("dustNeptunium", ModItems.powder_neptunium); + OreDictionary.registerOre("dustIodine", ModItems.powder_iodine); + OreDictionary.registerOre("dustThorium", ModItems.powder_thorium); + OreDictionary.registerOre("dustAstatine", ModItems.powder_astatine); + OreDictionary.registerOre("dustNeodymium", ModItems.powder_neodymium); + OreDictionary.registerOre("dustCaesium", ModItems.powder_caesium); + OreDictionary.registerOre("dustStrontium", ModItems.powder_strontium); + OreDictionary.registerOre("dustCobalt", ModItems.powder_cobalt); + OreDictionary.registerOre("dustBromine", ModItems.powder_bromine); + OreDictionary.registerOre("dustNiobium", ModItems.powder_niobium); + OreDictionary.registerOre("dustTennessine", ModItems.powder_tennessine); + OreDictionary.registerOre("dustCerium", ModItems.powder_cerium); + + OreDictionary.registerOre("gemCoal", Items.coal); + OreDictionary.registerOre("gemLignite", ModItems.lignite); + OreDictionary.registerOre("dustFluorite", ModItems.fluorite); + + OreDictionary.registerOre("plateTitanium", ModItems.plate_titanium); + OreDictionary.registerOre("plateAluminum", ModItems.plate_aluminium); + OreDictionary.registerOre("plateDenseLead", ModItems.neutron_reflector); + OreDictionary.registerOre("plateSteel", ModItems.plate_steel); + OreDictionary.registerOre("plateLead", ModItems.plate_lead); + OreDictionary.registerOre("plateCopper", ModItems.plate_copper); + OreDictionary.registerOre("plateIron", ModItems.plate_iron); + OreDictionary.registerOre("plateGold", ModItems.plate_gold); + OreDictionary.registerOre("plateAdvanced", ModItems.plate_advanced_alloy); + OreDictionary.registerOre("plateSchrabidium", ModItems.plate_schrabidium); + OreDictionary.registerOre("plateCMBSteel", ModItems.plate_combine_steel); + OreDictionary.registerOre("plateSaturnite", ModItems.plate_saturnite); + + OreDictionary.registerOre("oreUranium", ModBlocks.ore_uranium); + OreDictionary.registerOre("oreThorium", ModBlocks.ore_thorium); + OreDictionary.registerOre("oreTitanium", ModBlocks.ore_titanium); + OreDictionary.registerOre("oreSchrabidium", ModBlocks.ore_schrabidium); + OreDictionary.registerOre("oreSulfur", ModBlocks.ore_sulfur); + OreDictionary.registerOre("oreNiter", ModBlocks.ore_niter); + OreDictionary.registerOre("oreSalpeter", ModBlocks.ore_niter); + OreDictionary.registerOre("oreCopper", ModBlocks.ore_copper); + OreDictionary.registerOre("oreTungsten", ModBlocks.ore_tungsten); + OreDictionary.registerOre("oreAluminum", ModBlocks.ore_aluminium); + OreDictionary.registerOre("oreFluorite", ModBlocks.ore_fluorite); + OreDictionary.registerOre("oreLead", ModBlocks.ore_lead); + OreDictionary.registerOre("oreBeryllium", ModBlocks.ore_beryllium); + OreDictionary.registerOre("oreLignite", ModBlocks.ore_lignite); + OreDictionary.registerOre("oreAustralium", ModBlocks.ore_australium); + OreDictionary.registerOre("oreWeidanium", ModBlocks.ore_weidanium); + OreDictionary.registerOre("oreReiium", ModBlocks.ore_reiium); + OreDictionary.registerOre("oreUnobtainium", ModBlocks.ore_unobtainium); + OreDictionary.registerOre("oreDaffergon", ModBlocks.ore_daffergon); + OreDictionary.registerOre("oreVerticium", ModBlocks.ore_verticium); + OreDictionary.registerOre("oreRareEarth", ModBlocks.ore_rare); + + OreDictionary.registerOre("oreUranium", ModBlocks.ore_nether_uranium); + OreDictionary.registerOre("orePlutonium", ModBlocks.ore_nether_plutonium); + OreDictionary.registerOre("oreTungsten", ModBlocks.ore_nether_tungsten); + OreDictionary.registerOre("oreSulfur", ModBlocks.ore_nether_sulfur); + OreDictionary.registerOre("oreSchrabidium", ModBlocks.ore_nether_schrabidium); + + OreDictionary.registerOre("oreUranium", ModBlocks.ore_meteor_uranium); + OreDictionary.registerOre("oreThorium", ModBlocks.ore_meteor_thorium); + OreDictionary.registerOre("oreTitanium", ModBlocks.ore_meteor_titanium); + OreDictionary.registerOre("oreSulfur", ModBlocks.ore_meteor_sulfur); + OreDictionary.registerOre("oreCopper", ModBlocks.ore_meteor_copper); + OreDictionary.registerOre("oreTungsten", ModBlocks.ore_meteor_tungsten); + OreDictionary.registerOre("oreAluminum", ModBlocks.ore_meteor_aluminium); + OreDictionary.registerOre("oreLead", ModBlocks.ore_meteor_lead); + OreDictionary.registerOre("oreLithium", ModBlocks.ore_meteor_lithium); + OreDictionary.registerOre("oreStarmetal", ModBlocks.ore_meteor_starmetal); + + OreDictionary.registerOre("blockThorium", ModBlocks.block_thorium); + OreDictionary.registerOre("blockUranium", ModBlocks.block_uranium); + OreDictionary.registerOre("blockTitanium", ModBlocks.block_titanium); + OreDictionary.registerOre("blockSulfur", ModBlocks.block_sulfur); + OreDictionary.registerOre("blockNiter", ModBlocks.block_niter); + OreDictionary.registerOre("blockSalpeter", ModBlocks.block_niter); + OreDictionary.registerOre("blockCopper", ModBlocks.block_copper); + OreDictionary.registerOre("blockRedCopperAlloy", ModBlocks.block_red_copper); + OreDictionary.registerOre("blockAdvanced", ModBlocks.block_advanced_alloy); + OreDictionary.registerOre("blockTungsten", ModBlocks.block_tungsten); + OreDictionary.registerOre("blockAluminum", ModBlocks.block_aluminium); + OreDictionary.registerOre("blockFluorite", ModBlocks.block_fluorite); + OreDictionary.registerOre("blockSteel", ModBlocks.block_steel); + OreDictionary.registerOre("blockLead", ModBlocks.block_lead); + OreDictionary.registerOre("blockBeryllium", ModBlocks.block_beryllium); + OreDictionary.registerOre("blockSchrabidium", ModBlocks.block_schrabidium); + OreDictionary.registerOre("blockCMBSteel", ModBlocks.block_combine_steel); + OreDictionary.registerOre("blockMagnetizedTungsten", ModBlocks.block_magnetized_tungsten); + OreDictionary.registerOre("blockAustralium", ModBlocks.block_australium); + OreDictionary.registerOre("blockWeidanium", ModBlocks.block_weidanium); + OreDictionary.registerOre("blockReiium", ModBlocks.block_reiium); + OreDictionary.registerOre("blockUnobtainium", ModBlocks.block_unobtainium); + OreDictionary.registerOre("blockDaffergon", ModBlocks.block_daffergon); + OreDictionary.registerOre("blockVerticium", ModBlocks.block_verticium); + OreDictionary.registerOre("blockDesh", ModBlocks.block_desh); + + OreDictionary.registerOre("blockThorium", ModBlocks.block_thorium); + OreDictionary.registerOre("blockThorium232", ModBlocks.block_thorium); + OreDictionary.registerOre("blockUranium233", ModBlocks.block_u233); + OreDictionary.registerOre("blockUranium235", ModBlocks.block_u235); + OreDictionary.registerOre("blockUranium238", ModBlocks.block_u238); + OreDictionary.registerOre("blockNeptunium", ModBlocks.block_neptunium); + OreDictionary.registerOre("blockPolonium", ModBlocks.block_polonium); + OreDictionary.registerOre("blockPlutonium", ModBlocks.block_plutonium); + OreDictionary.registerOre("blockPlutonium238", ModBlocks.block_pu238); + OreDictionary.registerOre("blockPlutonium239", ModBlocks.block_pu239); + OreDictionary.registerOre("blockPlutonium240", ModBlocks.block_pu240); + + OreDictionary.registerOre("logWood", ModBlocks.pink_log); + OreDictionary.registerOre("plankWood", ModBlocks.pink_planks); + OreDictionary.registerOre("slabWood", ModBlocks.pink_slab); + OreDictionary.registerOre("stairWood", ModBlocks.pink_stairs); + + OreDictionary.registerOre("blockGlass", ModBlocks.glass_uranium); + OreDictionary.registerOre("blockGlass", ModBlocks.glass_trinitite); + OreDictionary.registerOre("blockGlass", ModBlocks.glass_polonium); + OreDictionary.registerOre("blockGlassYellow", ModBlocks.glass_uranium); + OreDictionary.registerOre("blockGlassLime", ModBlocks.glass_trinitite); + OreDictionary.registerOre("blockGlassRed", ModBlocks.glass_polonium); + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineReactor.java b/src/main/java/com/hbm/inventory/gui/GUIMachineReactor.java index 6b8901bd4..4b2acc882 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineReactor.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineReactor.java @@ -2,32 +2,42 @@ package com.hbm.inventory.gui; import org.lwjgl.opengl.GL11; +import com.hbm.inventory.BreederRecipes; import com.hbm.inventory.container.ContainerReactor; import com.hbm.lib.RefStrings; import com.hbm.tileentity.machine.TileEntityMachineReactor; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.util.ResourceLocation; -public class GUIMachineReactor extends GuiContainer { +public class GUIMachineReactor extends GuiInfoContainer { public static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/processing/gui_breeder.png"); - private TileEntityMachineReactor diFurnace; + private TileEntityMachineReactor breeder; public GUIMachineReactor(InventoryPlayer invPlayer, TileEntityMachineReactor tedf) { super(new ContainerReactor(invPlayer, tedf)); - diFurnace = tedf; + breeder = tedf; this.xSize = 176; this.ySize = 166; } + @Override + public void drawScreen(int mouseX, int mouseY, float f) { + super.drawScreen(mouseX, mouseY, f); + + String tooltip = BreederRecipes.getHEATString(breeder.heat + " HEAT", breeder.heat); + + this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 47, guiTop + 34, 6, 18, mouseX, mouseY, new String[] { tooltip }); + this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 55, guiTop + 34, 18, 18, mouseX, mouseY, new String[] { breeder.charge + " operation(s) left" }); + } + @Override protected void drawGuiContainerForegroundLayer(int i, int j) { - String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName()); + String name = this.breeder.hasCustomInventoryName() ? this.breeder.getInventoryName() : I18n.format(this.breeder.getInventoryName()); this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); @@ -39,13 +49,14 @@ public class GUIMachineReactor extends GuiContainer { Minecraft.getMinecraft().getTextureManager().bindTexture(texture); drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); - if(diFurnace.hasPower()) - { + if(breeder.hasPower()) drawTexturedModalRect(guiLeft + 55, guiTop + 35, 176, 0, 18, 16); - } - int j1 = diFurnace.getDiFurnaceProgressScaled(24); - drawTexturedModalRect(guiLeft + 79, guiTop + 34, 176, 16, j1 + 1, 17); + int i = breeder.getProgressScaled(23); + drawTexturedModalRect(guiLeft + 80, guiTop + 34, 176, 16, i, 16); + + int j = breeder.getHeatScaled(16); + drawTexturedModalRect(guiLeft + 48, guiTop + 51 - j, 194, 16 - j, 4, j); } } \ No newline at end of file diff --git a/src/main/java/com/hbm/items/machine/ItemFuelRod.java b/src/main/java/com/hbm/items/machine/ItemFuelRod.java index d19b452e8..fe96506f3 100644 --- a/src/main/java/com/hbm/items/machine/ItemFuelRod.java +++ b/src/main/java/com/hbm/items/machine/ItemFuelRod.java @@ -3,10 +3,12 @@ package com.hbm.items.machine; import java.util.List; import com.hbm.items.special.ItemRadioactive; +import com.hbm.lib.Library; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumChatFormatting; public class ItemFuelRod extends ItemRadioactive { @@ -17,17 +19,16 @@ public class ItemFuelRod extends ItemRadioactive { super(radiation, false, blinding); this.lifeTime = life; this.heat = heat; - this.setMaxDamage(100); this.canRepair = false; } @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add("Used in nuclear reactor"); + list.add(EnumChatFormatting.YELLOW + "[Reactor Fuel Rod]"); - list.add("Generates " + heat + " heat per tick"); - list.add("Lasts " + lifeTime + " ticks"); + list.add(EnumChatFormatting.DARK_AQUA + " Generates " + heat + " heat per tick"); + list.add(EnumChatFormatting.DARK_AQUA + " Lasts " + Library.getShortNumber(lifeTime) + " ticks"); super.addInformation(itemstack, player, list, bool); } @@ -39,14 +40,6 @@ public class ItemFuelRod extends ItemRadioactive { stack.stackTagCompound.setInteger("life", time); } - public static void updateDamage(ItemStack stack) { - - if(!stack.hasTagCompound()) - stack.stackTagCompound = new NBTTagCompound(); - - stack.setItemDamage((int)((double)getLifeTime(stack) / (double)((ItemFuelRod)stack.getItem()).lifeTime * 100D)); - } - public static int getLifeTime(ItemStack stack) { if(!stack.hasTagCompound()) { stack.stackTagCompound = new NBTTagCompound(); @@ -55,5 +48,14 @@ public class ItemFuelRod extends ItemRadioactive { return stack.stackTagCompound.getInteger("life"); } + + public boolean showDurabilityBar(ItemStack stack) { + return true; + } + + public double getDurabilityForDisplay(ItemStack stack) + { + return (double)getLifeTime(stack) / (double)((ItemFuelRod)stack.getItem()).lifeTime; + } } diff --git a/src/main/java/com/hbm/items/special/ItemCustomLore.java b/src/main/java/com/hbm/items/special/ItemCustomLore.java index cf68c5290..8bbe2efd3 100644 --- a/src/main/java/com/hbm/items/special/ItemCustomLore.java +++ b/src/main/java/com/hbm/items/special/ItemCustomLore.java @@ -84,213 +84,6 @@ public class ItemCustomLore extends Item { list.add("Used in multi purpose bombs:"); list.add("*cough cough* Halp pls!"); } - - if(this == ModItems.rod_uranium) - { - list.add("Worth 0 operations in breeding reactor"); - list.add("Worth 0 operations in nuclear powered furnace"); - list.add("Turns into Plutonium Rod"); - } - - if(this == ModItems.rod_u235) - { - list.add("Worth 3 operations in breeding reactor"); - list.add("Worth 15 operations in nuclear powered furnace"); - list.add("Turns into Neptunium Rod"); - } - - if(this == ModItems.rod_u238) - { - list.add("Worth 1 operation in breeding reactor"); - list.add("Worth 5 operations in nuclear powered furnace"); - list.add("Turns into Plutonium 239 Rod"); - } - - if(this == ModItems.rod_neptunium) - { - list.add("Worth 3 operations in breeding reactor"); - list.add("Worth 15 operations in nuclear powered furnace"); - list.add("Turns into Plutonium 238 Rod"); - } - - if(this == ModItems.rod_plutonium) - { - list.add("Worth 0 operations in breeding reactor"); - list.add("Worth 0 operations in nuclear powered furnace"); - list.add("Turns into Lead Rod"); - } - - if(this == ModItems.rod_pu238) - { - list.add("Worth 5 operations in breeding reactor"); - list.add("Worth 25 operations in nuclear powered furnace"); - list.add("Turns into Plutonium 239 Rod"); - } - - if(this == ModItems.rod_pu239) - { - list.add("Worth 3 operations in breeding reactor"); - list.add("Worth 15 operations in nuclear powered furnace"); - list.add("Turns into Plutonium 240 Rod"); - } - - if(this == ModItems.rod_pu240) - { - list.add("Worth 1 operation in breeding reactor"); - list.add("Worth 5 operations in nuclear powered furnace"); - list.add("Turns into Lead Rod"); - } - - if(this == ModItems.rod_schrabidium) - { - list.add("Worth 15 operations in breeding reactor"); - list.add("Worth 75 operations in nuclear powered furnace"); - list.add("Turns into Solinium Rod"); - } - - if(this == ModItems.rod_solinium) - { - list.add("Worth 20 operations in breeding reactor"); - list.add("Worth 100 operations in nuclear powered furnace"); - } - - if(this == ModItems.rod_dual_uranium) - { - list.add("Worth 0 operations in breeding reactor"); - list.add("Worth 0 operations in nuclear powered furnace"); - list.add("Turns into Dual Plutonium Rod"); - } - - if(this == ModItems.rod_dual_u235) - { - list.add("Worth 6 operations in breeding reactor"); - list.add("Worth 30 operations in nuclear powered furnace"); - list.add("Turns into Dual Neptunium Rod"); - } - - if(this == ModItems.rod_dual_u238) - { - list.add("Worth 2 operations in breeding reactor"); - list.add("Worth 10 operations in nuclear powered furnace"); - list.add("Turns into Dual Plutonium 239 Rod"); - } - - if(this == ModItems.rod_dual_neptunium) - { - list.add("Worth 6 operations in breeding reactor"); - list.add("Worth 30 operations in nuclear powered furnace"); - list.add("Turns into Dual Plutonium 238 Rod"); - } - - if(this == ModItems.rod_dual_plutonium) - { - list.add("Worth 0 operations in breeding reactor"); - list.add("Worth 0 operations in nuclear powered furnace"); - list.add("Turns into Dual Lead Rod"); - } - - if(this == ModItems.rod_dual_pu238) - { - list.add("Worth 10 operations in breeding reactor"); - list.add("Worth 50 operations in nuclear powered furnace"); - list.add("Turns into Dual Plutonium 239 Rod"); - } - - if(this == ModItems.rod_dual_pu239) - { - list.add("Worth 6 operations in breeding reactor"); - list.add("Worth 30 operations in nuclear powered furnace"); - list.add("Turns into Dual Plutonium 240 Rod"); - } - - if(this == ModItems.rod_dual_pu240) - { - list.add("Worth 2 operations in breeding reactor"); - list.add("Worth 10 operations in nuclear powered furnace"); - list.add("Turns into Dual Lead Rod"); - } - - if(this == ModItems.rod_dual_schrabidium) - { - list.add("Worth 30 operations in breeding reactor"); - list.add("Worth 150 operations in nuclear powered furnace"); - list.add("Turns into Dual Solinium Rod"); - } - - if(this == ModItems.rod_dual_solinium) - { - list.add("Worth 40 operations in breeding reactor"); - list.add("Worth 200 operations in nuclear powered furnace"); - } - - if(this == ModItems.rod_quad_uranium) - { - list.add("Worth 0 operations in breeding reactor"); - list.add("Worth 0 operations in nuclear powered furnace"); - list.add("Turns into Quad Plutonium Rod"); - } - - if(this == ModItems.rod_quad_u235) - { - list.add("Worth 12 operations in breeding reactor"); - list.add("Worth 60 operations in nuclear powered furnace"); - list.add("Turns into Quad Neptunium Rod"); - } - - if(this == ModItems.rod_quad_u238) - { - list.add("Worth 4 operations in breeding reactor"); - list.add("Worth 20 operations in nuclear powered furnace"); - list.add("Turns into Quad Plutonium 239 Rod"); - } - - if(this == ModItems.rod_quad_neptunium) - { - list.add("Worth 12 operations in breeding reactor"); - list.add("Worth 60 operations in nuclear powered furnace"); - list.add("Turns into Quad Plutonium 238 Rod"); - } - - if(this == ModItems.rod_quad_plutonium) - { - list.add("Worth 0 operations in breeding reactor"); - list.add("Worth 0 operations in nuclear powered furnace"); - list.add("Turns into Quad Lead Rod"); - } - - if(this == ModItems.rod_quad_pu238) - { - list.add("Worth 20 operations in breeding reactor"); - list.add("Worth 100 operations in nuclear powered furnace"); - list.add("Turns into Quad Plutonium 239 Rod"); - } - - if(this == ModItems.rod_quad_pu239) - { - list.add("Worth 12 operations in breeding reactor"); - list.add("Worth 60 operations in nuclear powered furnace"); - list.add("Turns into Quad Plutonium 240 Rod"); - } - - if(this == ModItems.rod_quad_pu240) - { - list.add("Worth 4 operations in breeding reactor"); - list.add("Worth 20 operations in nuclear powered furnace"); - list.add("Turns into Quad Lead Rod"); - } - - if(this == ModItems.rod_quad_schrabidium) - { - list.add("Worth 60 operations in breeding reactor"); - list.add("Worth 300 operations in nuclear powered furnace"); - list.add("Turns into Quad Solinium Rod"); - } - - if(this == ModItems.rod_quad_solinium) - { - list.add("Worth 80 operations in breeding reactor"); - list.add("Worth 400 operations in nuclear powered furnace"); - } if(this == ModItems.igniter) { diff --git a/src/main/java/com/hbm/items/special/ItemRadioactive.java b/src/main/java/com/hbm/items/special/ItemRadioactive.java index fd4e59d21..91962ec9c 100644 --- a/src/main/java/com/hbm/items/special/ItemRadioactive.java +++ b/src/main/java/com/hbm/items/special/ItemRadioactive.java @@ -3,6 +3,7 @@ package com.hbm.items.special; import java.util.List; import com.hbm.handler.ArmorUtil; +import com.hbm.inventory.BreederRecipes; import com.hbm.lib.Library; import net.minecraft.entity.Entity; @@ -72,5 +73,12 @@ public class ItemRadioactive extends ItemCustomLore { if(blinding) list.add(EnumChatFormatting.DARK_AQUA + "[Blinding]"); + + int[] breeder = BreederRecipes.getFuelValue(stack); + + if(breeder != null) { + list.add(BreederRecipes.getHEATString("[Provides " + breeder[0] + " HEAT]", breeder[0])); + list.add(EnumChatFormatting.YELLOW + "Worth " + breeder[1] + " operations in breeding reactor"); + } } } diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index dcf09b9b9..0d5325f88 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -106,6 +106,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModBlocks.block_u238, 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_u238 }); GameRegistry.addRecipe(new ItemStack(ModBlocks.block_uranium_fuel, 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_uranium_fuel }); GameRegistry.addRecipe(new ItemStack(ModBlocks.block_neptunium, 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_neptunium }); + GameRegistry.addRecipe(new ItemStack(ModBlocks.block_polonium, 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_polonium }); GameRegistry.addRecipe(new ItemStack(ModBlocks.block_plutonium, 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_plutonium }); GameRegistry.addRecipe(new ItemStack(ModBlocks.block_pu238, 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_pu238 }); GameRegistry.addRecipe(new ItemStack(ModBlocks.block_pu239, 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_pu239 }); @@ -171,6 +172,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.ingot_u238, 9), new Object[] { "#", '#', ModBlocks.block_u238 }); GameRegistry.addRecipe(new ItemStack(ModItems.ingot_uranium_fuel, 9), new Object[] { "#", '#', ModBlocks.block_uranium_fuel }); GameRegistry.addRecipe(new ItemStack(ModItems.ingot_neptunium, 9), new Object[] { "#", '#', ModBlocks.block_neptunium }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_polonium, 9), new Object[] { "#", '#', ModBlocks.block_polonium }); GameRegistry.addRecipe(new ItemStack(ModItems.ingot_plutonium, 9), new Object[] { "#", '#', ModBlocks.block_plutonium }); GameRegistry.addRecipe(new ItemStack(ModItems.ingot_pu238, 9), new Object[] { "#", '#', ModBlocks.block_pu238 }); GameRegistry.addRecipe(new ItemStack(ModItems.ingot_pu239, 9), new Object[] { "#", '#', ModBlocks.block_pu239 }); @@ -207,6 +209,8 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.nugget_u238, 9), new Object[] { "#", '#', ModItems.ingot_u238 }); GameRegistry.addRecipe(new ItemStack(ModItems.ingot_neptunium, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_neptunium }); GameRegistry.addRecipe(new ItemStack(ModItems.nugget_neptunium, 9), new Object[] { "#", '#', ModItems.ingot_neptunium }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_polonium, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_polonium }); + GameRegistry.addRecipe(new ItemStack(ModItems.nugget_polonium, 9), new Object[] { "#", '#', ModItems.ingot_polonium }); GameRegistry.addRecipe(new ItemStack(ModItems.ingot_lead, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_lead }); GameRegistry.addRecipe(new ItemStack(ModItems.nugget_lead, 9), new Object[] { "#", '#', ModItems.ingot_lead }); GameRegistry.addRecipe(new ItemStack(ModItems.ingot_beryllium, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_beryllium }); @@ -275,6 +279,7 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_pu239, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_pu240, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_pu240, ModItems.nugget_pu240, ModItems.nugget_pu240, ModItems.nugget_pu240, ModItems.nugget_pu240, ModItems.nugget_pu240 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_neptunium, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_polonium, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_polonium, ModItems.nugget_polonium, ModItems.nugget_polonium, ModItems.nugget_polonium, ModItems.nugget_polonium, ModItems.nugget_polonium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_lead, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_schrabidium, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_solinium, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium }); @@ -303,6 +308,7 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_pu239, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_pu240, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_pu240, ModItems.nugget_pu240, ModItems.nugget_pu240, ModItems.nugget_pu240 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_neptunium, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_polonium, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_polonium, ModItems.nugget_polonium, ModItems.nugget_polonium, ModItems.nugget_polonium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_lead, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_schrabidium, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_solinium, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium }); @@ -332,6 +338,7 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_pu239, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_pu239, ModItems.ingot_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_pu240, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_pu240, ModItems.ingot_pu240, ModItems.nugget_pu240, ModItems.nugget_pu240, ModItems.nugget_pu240, ModItems.nugget_pu240, ModItems.nugget_pu240, ModItems.nugget_pu240 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_neptunium, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_neptunium, ModItems.ingot_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_polonium, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_polonium, ModItems.ingot_polonium, ModItems.nugget_polonium, ModItems.nugget_polonium, ModItems.nugget_polonium, ModItems.nugget_polonium, ModItems.nugget_polonium, ModItems.nugget_polonium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_lead, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_lead, ModItems.ingot_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_schrabidium, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_schrabidium, ModItems.ingot_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_solinium, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_solinium, ModItems.ingot_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium }); @@ -355,6 +362,7 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_pu239, 6), new Object[] { ModItems.rod_pu239 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_pu240, 6), new Object[] { ModItems.rod_pu240 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_neptunium, 6), new Object[] { ModItems.rod_neptunium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_polonium, 6), new Object[] { ModItems.rod_polonium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_lead, 6), new Object[] { ModItems.rod_lead }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_schrabidium, 6), new Object[] { ModItems.rod_schrabidium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_solinium, 6), new Object[] { ModItems.rod_solinium }); @@ -381,6 +389,7 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_pu239, 12), new Object[] { ModItems.rod_dual_pu239 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_pu240, 12), new Object[] { ModItems.rod_dual_pu240 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_neptunium, 12), new Object[] { ModItems.rod_dual_neptunium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_polonium, 12), new Object[] { ModItems.rod_dual_polonium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_lead, 12), new Object[] { ModItems.rod_dual_lead }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_schrabidium, 12), new Object[] { ModItems.rod_dual_schrabidium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_solinium, 12), new Object[] { ModItems.rod_dual_solinium }); @@ -400,6 +409,7 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_pu239, 24), new Object[] { ModItems.rod_quad_pu239 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_pu240, 24), new Object[] { ModItems.rod_quad_pu240 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_neptunium, 24), new Object[] { ModItems.rod_quad_neptunium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_polonium, 24), new Object[] { ModItems.rod_quad_polonium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_lead, 24), new Object[] { ModItems.rod_quad_lead }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_schrabidium, 24), new Object[] { ModItems.rod_quad_schrabidium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_solinium, 24), new Object[] { ModItems.rod_quad_solinium }); @@ -1501,6 +1511,7 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.waste_trinitite), new Object[] { new ItemStack(Blocks.sand, 1, 0), ModItems.trinitite }); GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.waste_trinitite_red), new Object[] { new ItemStack(Blocks.sand, 1, 1), ModItems.trinitite }); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModBlocks.sand_uranium), new Object[] { "sand", "dustUranium" })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModBlocks.sand_polonium), new Object[] { "sand", "dustPolonium" })); GameRegistry.addRecipe(new ItemStack(ModItems.rune_blank, 1), new Object[] { "PSP", "SDS", "PSP", 'P', ModItems.powder_magic, 'S', ModItems.ingot_starmetal, 'D', ModItems.dynosphere_dineutronium_charged }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rune_isa, 1), new Object[] { ModItems.rune_blank, ModItems.powder_spark_mix, ModItems.singularity_counter_resonant }); @@ -1588,6 +1599,7 @@ public class CraftingManager { GameRegistry.addSmelting(ModItems.powder_lead, new ItemStack(ModItems.ingot_lead), 1.0F); GameRegistry.addSmelting(ModItems.powder_neptunium, new ItemStack(ModItems.ingot_neptunium), 1.0F); + GameRegistry.addSmelting(ModItems.powder_polonium, new ItemStack(ModItems.ingot_polonium), 1.0F); GameRegistry.addSmelting(ModItems.powder_schrabidium, new ItemStack(ModItems.ingot_schrabidium), 5.0F); GameRegistry.addSmelting(ModItems.powder_euphemium, new ItemStack(ModItems.ingot_euphemium), 10.0F); GameRegistry.addSmelting(ModItems.powder_aluminium, new ItemStack(ModItems.ingot_aluminium), 1.0F); @@ -1626,6 +1638,7 @@ public class CraftingManager { GameRegistry.addSmelting(new ItemStack(ModBlocks.gravel_obsidian), new ItemStack(Blocks.obsidian), 0.0F); GameRegistry.addSmelting(new ItemStack(ModBlocks.gravel_diamond), new ItemStack(Items.diamond), 3.0F); GameRegistry.addSmelting(new ItemStack(ModBlocks.sand_uranium), new ItemStack(ModBlocks.glass_uranium), 0.25F); + GameRegistry.addSmelting(new ItemStack(ModBlocks.sand_polonium), new ItemStack(ModBlocks.glass_polonium), 0.75F); GameRegistry.addSmelting(new ItemStack(ModBlocks.waste_trinitite), new ItemStack(ModBlocks.glass_trinitite), 0.25F); GameRegistry.addSmelting(new ItemStack(ModBlocks.waste_trinitite_red), new ItemStack(ModBlocks.glass_trinitite), 0.25F); diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 0d67cf2c2..2d683b41f 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -20,7 +20,6 @@ import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.config.Configuration; import net.minecraftforge.common.config.Property; import net.minecraftforge.common.util.EnumHelper; -import net.minecraftforge.oredict.OreDictionary; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; @@ -1101,230 +1100,7 @@ public class MainRegistry //MUST be initialized AFTER achievements!! BobmazonOfferFactory.init(); - - OreDictionary.registerOre("ingotUranium", ModItems.ingot_uranium); - OreDictionary.registerOre("ingotUranium233", ModItems.ingot_u233); - OreDictionary.registerOre("ingotUranium235", ModItems.ingot_u235); - OreDictionary.registerOre("ingotUranium238", ModItems.ingot_u238); - OreDictionary.registerOre("ingotThorium", ModItems.ingot_th232); - OreDictionary.registerOre("ingotThorium232", ModItems.ingot_th232); - OreDictionary.registerOre("ingotPlutonium", ModItems.ingot_plutonium); - OreDictionary.registerOre("ingotPlutonium238", ModItems.ingot_pu238); - OreDictionary.registerOre("ingotPlutonium239", ModItems.ingot_pu239); - OreDictionary.registerOre("ingotPlutonium240", ModItems.ingot_pu240); - OreDictionary.registerOre("U233", ModItems.ingot_u233); - OreDictionary.registerOre("U235", ModItems.ingot_u235); - OreDictionary.registerOre("U238", ModItems.ingot_u238); - OreDictionary.registerOre("Th232", ModItems.ingot_th232); - OreDictionary.registerOre("Pu238", ModItems.ingot_pu238); - OreDictionary.registerOre("Pu239", ModItems.ingot_pu239); - OreDictionary.registerOre("Pu240", ModItems.ingot_pu240); - OreDictionary.registerOre("ingotTitanium", ModItems.ingot_titanium); - OreDictionary.registerOre("ingotSchrabidium", ModItems.ingot_schrabidium); - OreDictionary.registerOre("dustSchrabidium", ModItems.powder_schrabidium); - OreDictionary.registerOre("dustSulfur", ModItems.sulfur); - OreDictionary.registerOre("dustNiter", ModItems.niter); - OreDictionary.registerOre("dustSalpeter", ModItems.niter); - OreDictionary.registerOre("dustLead", ModItems.powder_lead); - OreDictionary.registerOre("dustNeptunium", ModItems.powder_neptunium); - OreDictionary.registerOre("ingotCopper", ModItems.ingot_copper); - OreDictionary.registerOre("ingotRedCopperAlloy", ModItems.ingot_red_copper); - OreDictionary.registerOre("ingotAdvanced", ModItems.ingot_advanced_alloy); - OreDictionary.registerOre("ingotAdvancedAlloy", ModItems.ingot_advanced_alloy); - OreDictionary.registerOre("ingotTungsten", ModItems.ingot_tungsten); - OreDictionary.registerOre("ingotAluminum", ModItems.ingot_aluminium); - OreDictionary.registerOre("ingotBeryllium", ModItems.ingot_beryllium); - OreDictionary.registerOre("ingotCobalt", ModItems.ingot_cobalt); - OreDictionary.registerOre("ingotNeptunium", ModItems.ingot_neptunium); - OreDictionary.registerOre("ingotLead", ModItems.ingot_lead); - OreDictionary.registerOre("ingotLithium", ModItems.lithium); - OreDictionary.registerOre("ingotMagnetizedTungsten", ModItems.ingot_magnetized_tungsten); - OreDictionary.registerOre("ingotCMBSteel", ModItems.ingot_combine_steel); - OreDictionary.registerOre("ingotAustralium", ModItems.ingot_australium); - OreDictionary.registerOre("ingotWeidanium", ModItems.ingot_weidanium); - OreDictionary.registerOre("ingotReiium", ModItems.ingot_reiium); - OreDictionary.registerOre("ingotUnobtainium", ModItems.ingot_unobtainium); - OreDictionary.registerOre("ingotDaffergon", ModItems.ingot_daffergon); - OreDictionary.registerOre("ingotVerticium", ModItems.ingot_verticium); - OreDictionary.registerOre("ingotDuraSteel", ModItems.ingot_dura_steel); - OreDictionary.registerOre("ingotPolymer", ModItems.ingot_polymer); - OreDictionary.registerOre("ingotLanthanium", ModItems.ingot_lanthanium); - OreDictionary.registerOre("ingotActinium", ModItems.ingot_actinium); - OreDictionary.registerOre("ingotDesh", ModItems.ingot_desh); - OreDictionary.registerOre("ingotSaturnite", ModItems.ingot_saturnite); - OreDictionary.registerOre("ingotEuphemium", ModItems.ingot_euphemium); - OreDictionary.registerOre("ingotDineutronium", ModItems.ingot_dineutronium); - OreDictionary.registerOre("ingotStarmetal", ModItems.ingot_starmetal); - OreDictionary.registerOre("dustFluorite", ModItems.fluorite); - OreDictionary.registerOre("nuggetLead", ModItems.nugget_lead); - OreDictionary.registerOre("nuggetUranium", ModItems.nugget_uranium); - OreDictionary.registerOre("nuggetUranium233", ModItems.nugget_u233); - OreDictionary.registerOre("nuggetUranium235", ModItems.nugget_u235); - OreDictionary.registerOre("nuggetUranium238", ModItems.nugget_u238); - OreDictionary.registerOre("nuggetThorium", ModItems.nugget_th232); - OreDictionary.registerOre("nuggetThorium232", ModItems.nugget_th232); - OreDictionary.registerOre("nuggetPlutonium", ModItems.nugget_plutonium); - OreDictionary.registerOre("nuggetPlutonium238", ModItems.nugget_pu238); - OreDictionary.registerOre("nuggetPlutonium239", ModItems.nugget_pu239); - OreDictionary.registerOre("nuggetPlutonium240", ModItems.nugget_pu240); - OreDictionary.registerOre("nuggetAustralium", ModItems.nugget_australium); - OreDictionary.registerOre("nuggetWeidanium", ModItems.nugget_weidanium); - OreDictionary.registerOre("nuggetReiium", ModItems.nugget_reiium); - OreDictionary.registerOre("nuggetUnobtainium", ModItems.nugget_unobtainium); - OreDictionary.registerOre("nuggetDaffergon", ModItems.nugget_daffergon); - OreDictionary.registerOre("nuggetVerticium", ModItems.nugget_verticium); - OreDictionary.registerOre("nuggetEuphemium", ModItems.nugget_euphemium); - OreDictionary.registerOre("tinyU233", ModItems.nugget_u233); - OreDictionary.registerOre("tinyU235", ModItems.nugget_u235); - OreDictionary.registerOre("tinyU238", ModItems.nugget_u238); - OreDictionary.registerOre("tinyTh232", ModItems.nugget_th232); - OreDictionary.registerOre("tinyPu238", ModItems.nugget_pu238); - OreDictionary.registerOre("tinyPu239", ModItems.nugget_pu239); - OreDictionary.registerOre("tinyPu240", ModItems.nugget_pu240); - OreDictionary.registerOre("nuggetNeptunium", ModItems.nugget_neptunium); - OreDictionary.registerOre("nuggetSchrabidium", ModItems.nugget_schrabidium); - OreDictionary.registerOre("plateTitanium", ModItems.plate_titanium); - OreDictionary.registerOre("plateAluminum", ModItems.plate_aluminium); - OreDictionary.registerOre("plateDenseLead", ModItems.neutron_reflector); - OreDictionary.registerOre("ingotSteel", ModItems.ingot_steel); - OreDictionary.registerOre("plateSteel", ModItems.plate_steel); - OreDictionary.registerOre("plateLead", ModItems.plate_lead); - OreDictionary.registerOre("plateCopper", ModItems.plate_copper); - OreDictionary.registerOre("plateIron", ModItems.plate_iron); - OreDictionary.registerOre("plateGold", ModItems.plate_gold); - OreDictionary.registerOre("plateAdvanced", ModItems.plate_advanced_alloy); - OreDictionary.registerOre("plateSchrabidium", ModItems.plate_schrabidium); - OreDictionary.registerOre("plateCMBSteel", ModItems.plate_combine_steel); - OreDictionary.registerOre("plateSaturnite", ModItems.plate_saturnite); - OreDictionary.registerOre("dustIron", ModItems.powder_iron); - OreDictionary.registerOre("dustGold", ModItems.powder_gold); - OreDictionary.registerOre("dustUranium", ModItems.powder_uranium); - OreDictionary.registerOre("dustThorium", ModItems.powder_thorium); - OreDictionary.registerOre("dustPlutonium", ModItems.powder_plutonium); - OreDictionary.registerOre("dustTitanium", ModItems.powder_titanium); - OreDictionary.registerOre("dustTungsten", ModItems.powder_tungsten); - OreDictionary.registerOre("dustCopper", ModItems.powder_copper); - OreDictionary.registerOre("dustBeryllium", ModItems.powder_beryllium); - OreDictionary.registerOre("dustAluminum", ModItems.powder_aluminium); - OreDictionary.registerOre("dustDiamond", ModItems.powder_diamond); - OreDictionary.registerOre("dustEmerald", ModItems.powder_emerald); - OreDictionary.registerOre("dustLapis", ModItems.powder_lapis); - OreDictionary.registerOre("dustCoal", ModItems.powder_coal); - OreDictionary.registerOre("dustLignite", ModItems.powder_lignite); - OreDictionary.registerOre("dustAdvanced", ModItems.powder_advanced_alloy); - OreDictionary.registerOre("dustAdvancedAlloy", ModItems.powder_advanced_alloy); - OreDictionary.registerOre("dustCMBSteel", ModItems.powder_combine_steel); - OreDictionary.registerOre("dustMagnetizedTungsten", ModItems.powder_magnetized_tungsten); - OreDictionary.registerOre("dustRedCopperAlloy", ModItems.powder_red_copper); - OreDictionary.registerOre("dustSteel", ModItems.powder_steel); - OreDictionary.registerOre("dustLithium", ModItems.powder_lithium); - OreDictionary.registerOre("dustNetherQuartz", ModItems.powder_quartz); - OreDictionary.registerOre("dustAustralium", ModItems.powder_australium); - OreDictionary.registerOre("dustWeidanium", ModItems.powder_weidanium); - OreDictionary.registerOre("dustReiium", ModItems.powder_reiium); - OreDictionary.registerOre("dustUnobtainium", ModItems.powder_unobtainium); - OreDictionary.registerOre("dustDaffergon", ModItems.powder_daffergon); - OreDictionary.registerOre("dustVerticium", ModItems.powder_verticium); - OreDictionary.registerOre("dustDuraSteel", ModItems.powder_dura_steel); - OreDictionary.registerOre("dustPolymer", ModItems.powder_polymer); - OreDictionary.registerOre("dustLanthanium", ModItems.powder_lanthanium); - OreDictionary.registerOre("dustActinium", ModItems.powder_actinium); - OreDictionary.registerOre("dustDesh", ModItems.powder_desh); - OreDictionary.registerOre("dustEuphemium", ModItems.powder_euphemium); - OreDictionary.registerOre("dustDineutronium", ModItems.powder_dineutronium); - - OreDictionary.registerOre("dustNeptunium", ModItems.powder_neptunium); - OreDictionary.registerOre("dustIodine", ModItems.powder_iodine); - OreDictionary.registerOre("dustThorium", ModItems.powder_thorium); - OreDictionary.registerOre("dustAstatine", ModItems.powder_astatine); - OreDictionary.registerOre("dustNeodymium", ModItems.powder_neodymium); - OreDictionary.registerOre("dustCaesium", ModItems.powder_caesium); - OreDictionary.registerOre("dustStrontium", ModItems.powder_strontium); - OreDictionary.registerOre("dustCobalt", ModItems.powder_cobalt); - OreDictionary.registerOre("dustBromine", ModItems.powder_bromine); - OreDictionary.registerOre("dustNiobium", ModItems.powder_niobium); - OreDictionary.registerOre("dustTennessine", ModItems.powder_tennessine); - OreDictionary.registerOre("dustCerium", ModItems.powder_cerium); - - OreDictionary.registerOre("nuggetNeodymium", ModItems.fragment_neodymium); - OreDictionary.registerOre("nuggetCobalt", ModItems.fragment_cobalt); - OreDictionary.registerOre("nuggetNiobium", ModItems.fragment_niobium); - OreDictionary.registerOre("nuggetCerium", ModItems.fragment_cerium); - OreDictionary.registerOre("nuggetLanthanium", ModItems.fragment_lanthanium); - OreDictionary.registerOre("nuggetActinium", ModItems.fragment_actinium); - - OreDictionary.registerOre("gemCoal", Items.coal); - OreDictionary.registerOre("gemLignite", ModItems.lignite); - - OreDictionary.registerOre("oreUranium", ModBlocks.ore_uranium); - OreDictionary.registerOre("oreThorium", ModBlocks.ore_thorium); - OreDictionary.registerOre("oreTitanium", ModBlocks.ore_titanium); - OreDictionary.registerOre("oreSchrabidium", ModBlocks.ore_schrabidium); - OreDictionary.registerOre("oreSulfur", ModBlocks.ore_sulfur); - OreDictionary.registerOre("oreNiter", ModBlocks.ore_niter); - OreDictionary.registerOre("oreSalpeter", ModBlocks.ore_niter); - OreDictionary.registerOre("oreCopper", ModBlocks.ore_copper); - OreDictionary.registerOre("oreTungsten", ModBlocks.ore_tungsten); - OreDictionary.registerOre("oreAluminum", ModBlocks.ore_aluminium); - OreDictionary.registerOre("oreFluorite", ModBlocks.ore_fluorite); - OreDictionary.registerOre("oreLead", ModBlocks.ore_lead); - OreDictionary.registerOre("oreBeryllium", ModBlocks.ore_beryllium); - OreDictionary.registerOre("oreLignite", ModBlocks.ore_lignite); - OreDictionary.registerOre("oreAustralium", ModBlocks.ore_australium); - OreDictionary.registerOre("oreWeidanium", ModBlocks.ore_weidanium); - OreDictionary.registerOre("oreReiium", ModBlocks.ore_reiium); - OreDictionary.registerOre("oreUnobtainium", ModBlocks.ore_unobtainium); - OreDictionary.registerOre("oreDaffergon", ModBlocks.ore_daffergon); - OreDictionary.registerOre("oreVerticium", ModBlocks.ore_verticium); - OreDictionary.registerOre("oreRareEarth", ModBlocks.ore_rare); - - OreDictionary.registerOre("oreUranium", ModBlocks.ore_nether_uranium); - OreDictionary.registerOre("orePlutonium", ModBlocks.ore_nether_plutonium); - OreDictionary.registerOre("oreTungsten", ModBlocks.ore_nether_tungsten); - OreDictionary.registerOre("oreSulfur", ModBlocks.ore_nether_sulfur); - OreDictionary.registerOre("oreSchrabidium", ModBlocks.ore_nether_schrabidium); - - OreDictionary.registerOre("oreUranium", ModBlocks.ore_meteor_uranium); - OreDictionary.registerOre("oreThorium", ModBlocks.ore_meteor_thorium); - OreDictionary.registerOre("oreTitanium", ModBlocks.ore_meteor_titanium); - OreDictionary.registerOre("oreSulfur", ModBlocks.ore_meteor_sulfur); - OreDictionary.registerOre("oreCopper", ModBlocks.ore_meteor_copper); - OreDictionary.registerOre("oreTungsten", ModBlocks.ore_meteor_tungsten); - OreDictionary.registerOre("oreAluminum", ModBlocks.ore_meteor_aluminium); - OreDictionary.registerOre("oreLead", ModBlocks.ore_meteor_lead); - OreDictionary.registerOre("oreLithium", ModBlocks.ore_meteor_lithium); - OreDictionary.registerOre("oreStarmetal", ModBlocks.ore_meteor_starmetal); - - OreDictionary.registerOre("blockThorium", ModBlocks.block_thorium); - OreDictionary.registerOre("blockUranium", ModBlocks.block_uranium); - OreDictionary.registerOre("blockTitanium", ModBlocks.block_titanium); - OreDictionary.registerOre("blockSulfur", ModBlocks.block_sulfur); - OreDictionary.registerOre("blockNiter", ModBlocks.block_niter); - OreDictionary.registerOre("blockSalpeter", ModBlocks.block_niter); - OreDictionary.registerOre("blockCopper", ModBlocks.block_copper); - OreDictionary.registerOre("blockRedCopperAlloy", ModBlocks.block_red_copper); - OreDictionary.registerOre("blockAdvanced", ModBlocks.block_advanced_alloy); - OreDictionary.registerOre("blockTungsten", ModBlocks.block_tungsten); - OreDictionary.registerOre("blockAluminum", ModBlocks.block_aluminium); - OreDictionary.registerOre("blockFluorite", ModBlocks.block_fluorite); - OreDictionary.registerOre("blockSteel", ModBlocks.block_steel); - OreDictionary.registerOre("blockLead", ModBlocks.block_lead); - OreDictionary.registerOre("blockBeryllium", ModBlocks.block_beryllium); - OreDictionary.registerOre("blockSchrabidium", ModBlocks.block_schrabidium); - OreDictionary.registerOre("blockCMBSteel", ModBlocks.block_combine_steel); - OreDictionary.registerOre("blockMagnetizedTungsten", ModBlocks.block_magnetized_tungsten); - OreDictionary.registerOre("blockAustralium", ModBlocks.block_australium); - OreDictionary.registerOre("blockWeidanium", ModBlocks.block_weidanium); - OreDictionary.registerOre("blockReiium", ModBlocks.block_reiium); - OreDictionary.registerOre("blockUnobtainium", ModBlocks.block_unobtainium); - OreDictionary.registerOre("blockDaffergon", ModBlocks.block_daffergon); - OreDictionary.registerOre("blockVerticium", ModBlocks.block_verticium); - OreDictionary.registerOre("blockDesh", ModBlocks.block_desh); - - OreDictionary.registerOre("logWood", ModBlocks.pink_log); - OreDictionary.registerOre("plankWood", ModBlocks.pink_planks); - OreDictionary.registerOre("slabWood", ModBlocks.pink_slab); - OreDictionary.registerOre("stairWood", ModBlocks.pink_stairs); + OreDictManager.registerOres(); } @EventHandler @@ -1334,6 +1110,8 @@ public class MainRegistry ShredderRecipes.registerOverrides(); CrystallizerRecipes.register(); CentrifugeRecipes.register(); + BreederRecipes.registerFuels(); + BreederRecipes.registerRecipes(); FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(Items.water_bucket), new ItemStack(Items.bucket), FluidType.WATER, 1000)); FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(Items.lava_bucket), new ItemStack(Items.bucket), FluidType.LAVA, 1000)); diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index 23ff9d3bd..6c863b464 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -69,8 +69,6 @@ public class ModEventHandler @SubscribeEvent public void onPlayerLogin(PlayerEvent.PlayerLoggedInEvent event) { - System.out.println("eeeeee"); - if(!event.player.worldObj.isRemote) { event.player.addChatMessage(new ChatComponentText("Loaded world with Hbm's Nuclear Tech Mod " + RefStrings.VERSION + " for Minecraft 1.7.10!")); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGenerator.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGenerator.java index 013c410e5..93ed6a1cf 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGenerator.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGenerator.java @@ -302,7 +302,6 @@ public class TileEntityMachineGenerator extends TileEntity implements ISidedInve { int j = ItemFuelRod.getLifeTime(slots[i]); ItemFuelRod.setLifeTime(slots[i], j + 1); - ItemFuelRod.updateDamage(slots[i]); attemptHeat(1); attemptPower(100); @@ -315,7 +314,6 @@ public class TileEntityMachineGenerator extends TileEntity implements ISidedInve { int j = ItemFuelRod.getLifeTime(slots[i]); ItemFuelRod.setLifeTime(slots[i], j + 1); - ItemFuelRod.updateDamage(slots[i]); attemptHeat(1); attemptPower(100); @@ -328,7 +326,6 @@ public class TileEntityMachineGenerator extends TileEntity implements ISidedInve { int j = ItemFuelRod.getLifeTime(slots[i]); ItemFuelRod.setLifeTime(slots[i], j + 1); - ItemFuelRod.updateDamage(slots[i]); attemptHeat(1); attemptPower(100); @@ -341,7 +338,6 @@ public class TileEntityMachineGenerator extends TileEntity implements ISidedInve { int j = ItemFuelRod.getLifeTime(slots[i]); ItemFuelRod.setLifeTime(slots[i], j + 1); - ItemFuelRod.updateDamage(slots[i]); attemptHeat(2); attemptPower(150); @@ -354,7 +350,6 @@ public class TileEntityMachineGenerator extends TileEntity implements ISidedInve { int j = ItemFuelRod.getLifeTime(slots[i]); ItemFuelRod.setLifeTime(slots[i], j + 1); - ItemFuelRod.updateDamage(slots[i]); attemptHeat(2); attemptPower(150); @@ -367,7 +362,6 @@ public class TileEntityMachineGenerator extends TileEntity implements ISidedInve { int j = ItemFuelRod.getLifeTime(slots[i]); ItemFuelRod.setLifeTime(slots[i], j + 1); - ItemFuelRod.updateDamage(slots[i]); attemptHeat(2); attemptPower(150); @@ -380,7 +374,6 @@ public class TileEntityMachineGenerator extends TileEntity implements ISidedInve { int j = ItemFuelRod.getLifeTime(slots[i]); ItemFuelRod.setLifeTime(slots[i], j + 1); - ItemFuelRod.updateDamage(slots[i]); attemptHeat(1); attemptPower(50); @@ -393,7 +386,6 @@ public class TileEntityMachineGenerator extends TileEntity implements ISidedInve { int j = ItemFuelRod.getLifeTime(slots[i]); ItemFuelRod.setLifeTime(slots[i], j + 1); - ItemFuelRod.updateDamage(slots[i]); attemptHeat(1); attemptPower(50); @@ -406,7 +398,6 @@ public class TileEntityMachineGenerator extends TileEntity implements ISidedInve { int j = ItemFuelRod.getLifeTime(slots[i]); ItemFuelRod.setLifeTime(slots[i], j + 1); - ItemFuelRod.updateDamage(slots[i]); attemptHeat(1); attemptPower(50); @@ -419,7 +410,6 @@ public class TileEntityMachineGenerator extends TileEntity implements ISidedInve { int j = ItemFuelRod.getLifeTime(slots[i]); ItemFuelRod.setLifeTime(slots[i], j + 1); - ItemFuelRod.updateDamage(slots[i]); attemptHeat(10); attemptPower(25000); @@ -432,7 +422,6 @@ public class TileEntityMachineGenerator extends TileEntity implements ISidedInve { int j = ItemFuelRod.getLifeTime(slots[i]); ItemFuelRod.setLifeTime(slots[i], j + 1); - ItemFuelRod.updateDamage(slots[i]); attemptHeat(10); attemptPower(25000); @@ -445,7 +434,6 @@ public class TileEntityMachineGenerator extends TileEntity implements ISidedInve { int j = ItemFuelRod.getLifeTime(slots[i]); ItemFuelRod.setLifeTime(slots[i], j + 1); - ItemFuelRod.updateDamage(slots[i]); attemptHeat(10); attemptPower(25000); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactor.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactor.java index 73e00038b..55cbd01a8 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactor.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactor.java @@ -1,21 +1,18 @@ package com.hbm.tileentity.machine; import com.hbm.blocks.machine.MachineReactor; -import com.hbm.inventory.MachineRecipes; -import com.hbm.items.ModItems; +import com.hbm.inventory.BreederRecipes; +import com.hbm.inventory.BreederRecipes.BreederRecipe; import com.hbm.tileentity.TileEntityMachineBase; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; public class TileEntityMachineReactor extends TileEntityMachineBase { - private ItemStack slots[]; - public int progress; public int charge; + public int heat; public static final int maxPower = 1000; public static final int processingSpeed = 1000; @@ -40,197 +37,111 @@ public class TileEntityMachineReactor extends TileEntityMachineBase { } @Override - public boolean isItemValidForSlot(int i, ItemStack itemStack) { - return i == 2 ? false : (i == 0 ? hasItemPower(itemStack) : true); - } + public void updateEntity() { - public boolean hasItemPower(ItemStack itemStack) { - return getItemPower(itemStack) > 0; - } - - private static int getItemPower(ItemStack itemStack) { - - if(itemStack == null) { - return 0; + if(!worldObj.isRemote) { - } else { + boolean markDirty = false; - Item item = itemStack.getItem(); - - if(item == ModItems.pellet_rtg_weak) - return 1; - if(item == ModItems.pellet_rtg) - return 2; - if(item == ModItems.rod_u238) - return 1; - if(item == ModItems.rod_dual_u238) - return 2; - if(item == ModItems.rod_quad_u238) - return 4; - if(item == ModItems.rod_u235) - return 3; - if(item == ModItems.rod_dual_u235) - return 6; - if(item == ModItems.rod_quad_u235) - return 12; - if(item == ModItems.rod_pu238) - return 5; - if(item == ModItems.rod_dual_pu238) - return 10; - if(item == ModItems.rod_quad_pu238) - return 20; - if(item == ModItems.rod_pu239) - return 3; - if(item == ModItems.rod_dual_pu239) - return 6; - if(item == ModItems.rod_quad_pu239) - return 12; - if(item == ModItems.rod_pu240) - return 1; - if(item == ModItems.rod_dual_pu240) - return 2; - if(item == ModItems.rod_quad_pu240) - return 4; - if(item == ModItems.rod_neptunium) - return 3; - if(item == ModItems.rod_dual_neptunium) - return 6; - if(item == ModItems.rod_quad_neptunium) - return 12; - if(item == ModItems.rod_schrabidium) - return 15; - if(item == ModItems.rod_dual_schrabidium) - return 30; - if(item == ModItems.rod_quad_schrabidium) - return 60; - if(item == ModItems.rod_solinium) - return 20; - if(item == ModItems.rod_dual_solinium) - return 40; - if(item == ModItems.rod_quad_solinium) - return 80; - - return 0; - } - } - - @Override - public ItemStack decrStackSize(int i, int j) { - - if(slots[i] != null) { - if(slots[i].stackSize <= j) { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; + if(charge == 0) { + heat = 0; } - ItemStack itemStack1 = slots[i].splitStack(j); - if(slots[i].stackSize == 0) { - slots[i] = null; + if(hasItemPower(slots[0]) && charge == 0) { + + charge += getItemPower(slots[0]); + heat = getItemHeat(slots[0]); + + if(slots[0] != null) { + + slots[0].stackSize--; + + if(slots[0].stackSize == 0) { + slots[0] = slots[0].getItem().getContainerItem(slots[0]); + } + + markDirty = true; + } } - return itemStack1; + if(hasPower() && canProcess()) { + + progress++; + + if(this.progress == TileEntityMachineReactor.processingSpeed) { + this.progress = 0; + this.charge--; + this.processItem(); + markDirty = true; + } + } else { + progress = 0; + } + + boolean trigger = true; + + if(hasPower() && canProcess() && this.progress == 0) + trigger = false; + + if(trigger) { + markDirty = true; + MachineReactor.updateBlockState(this.progress > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord); + } + + if(markDirty) + this.markDirty(); - } else { - return null; + NBTTagCompound data = new NBTTagCompound(); + data.setShort("charge", (short)charge); + data.setShort("progress", (short)progress); + data.setByte("heat", (byte)heat); + this.networkPack(data, 20); } } + + public void networkUnpack(NBTTagCompound data) { - @Override - public void readFromNBT(NBTTagCompound nbt) { - super.readFromNBT(nbt); - NBTTagList list = nbt.getTagList("items", 10); - - charge = nbt.getShort("charge"); - progress = nbt.getShort("progress"); - slots = new ItemStack[getSizeInventory()]; - - for(int i = 0; i < list.tagCount(); i++) { - NBTTagCompound nbt1 = list.getCompoundTagAt(i); - byte b0 = nbt1.getByte("slot"); - if(b0 >= 0 && b0 < slots.length) { - slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); - } - } - } - - @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); - nbt.setShort("charge", (short) charge); - nbt.setShort("progress", (short) progress); - NBTTagList list = new NBTTagList(); - - for(int i = 0; i < slots.length; i++) { - if(slots[i] != null) { - NBTTagCompound nbt1 = new NBTTagCompound(); - nbt1.setByte("slot", (byte) i); - slots[i].writeToNBT(nbt1); - list.appendTag(nbt1); - } - } - nbt.setTag("items", list); - } - - @Override - public int[] getAccessibleSlotsFromSide(int side) { - return side == 0 ? slots_bottom : (side == 1 ? slots_top : slots_side); - } - - @Override - public boolean canInsertItem(int i, ItemStack itemStack, int j) { - return this.isItemValidForSlot(i, itemStack); - } - - @Override - public boolean canExtractItem(int i, ItemStack itemStack, int j) { - if(i == 0) { - if(itemStack.getItem() == ModItems.rod_empty || itemStack.getItem() == ModItems.rod_dual_empty - || itemStack.getItem() == ModItems.rod_quad_empty) { - return true; - } - - return false; - } - - return true; - } - - public int getDiFurnaceProgressScaled(int i) { - return (progress * i) / processingSpeed; - } - - public int getPowerRemainingScaled(int i) { - return (charge * i) / maxPower; + charge = data.getShort("charge"); + progress = data.getShort("progress"); + heat = data.getByte("heat"); } public boolean canProcess() { + if(slots[1] == null) { return false; } - ItemStack itemStack = MachineRecipes.getReactorProcessingResult(slots[1].getItem()); - if(itemStack == null) { + + BreederRecipe recipe = BreederRecipes.getOutput(slots[1]); + + if(recipe == null) return false; - } - - if(slots[2] == null) { - return true; - } - - if(!slots[2].isItemEqual(itemStack)) { + + if(this.heat < recipe.heat) return false; - } - if(slots[2].stackSize < getInventoryStackLimit() && slots[2].stackSize < slots[2].getMaxStackSize()) { + if(slots[2] == null) return true; - } else { - return slots[2].stackSize < itemStack.getMaxStackSize(); - } + + if(!slots[2].isItemEqual(recipe.output)) + return false; + + if(slots[2].stackSize < getInventoryStackLimit() && slots[2].stackSize < slots[2].getMaxStackSize()) + return true; + else + return slots[2].stackSize < recipe.output.getMaxStackSize(); } private void processItem() { + if(canProcess()) { - ItemStack itemStack = MachineRecipes.getReactorProcessingResult(slots[1].getItem()); + + BreederRecipe rec = BreederRecipes.getOutput(slots[1]); + + if(rec == null) + return; + + ItemStack itemStack = rec.output; if(slots[2] == null) { slots[2] = itemStack.copy(); @@ -251,6 +162,62 @@ public class TileEntityMachineReactor extends TileEntityMachineBase { } } + public boolean hasItemPower(ItemStack stack) { + return BreederRecipes.getFuelValue(stack) != null; + } + + private static int getItemPower(ItemStack stack) { + + int[] power = BreederRecipes.getFuelValue(stack); + + if(power == null) + return 0; + + return power[1]; + } + + private static int getItemHeat(ItemStack stack) { + + int[] power = BreederRecipes.getFuelValue(stack); + + if(power == null) + return 0; + + return power[0]; + } + + @Override + public int[] getAccessibleSlotsFromSide(int side) { + return side == 0 ? slots_bottom : (side == 1 ? slots_top : slots_side); + } + + @Override + public boolean isItemValidForSlot(int i, ItemStack itemStack) { + return i == 2 ? false : (i == 0 ? hasItemPower(itemStack) : true); + } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + + if(i == 0) { + if(!hasItemPower(slots[0])) { + return true; + } + + return false; + } + + return true; + } + + public int getProgressScaled(int i) { + return (progress * i) / processingSpeed; + } + + public int getHeatScaled(int i) { + return (heat * i) / 4; + } + public boolean hasPower() { return charge > 0; } @@ -260,47 +227,21 @@ public class TileEntityMachineReactor extends TileEntityMachineBase { } @Override - public void updateEntity() { - this.hasPower(); - boolean markDirty = false; + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); - if(!worldObj.isRemote) { - if(this.hasItemPower(this.slots[0]) && this.charge == 0) { - this.charge += getItemPower(this.slots[0]); - if(this.slots[0] != null) { - markDirty = true; - this.slots[0].stackSize--; - if(this.slots[0].stackSize == 0) { - this.slots[0] = this.slots[0].getItem().getContainerItem(this.slots[0]); - } - } - } + charge = nbt.getShort("charge"); + heat = nbt.getShort("heat"); + progress = nbt.getShort("progress"); + slots = new ItemStack[getSizeInventory()]; + } - if(hasPower() && canProcess()) { - progress++; - - if(this.progress == TileEntityMachineReactor.processingSpeed) { - this.progress = 0; - this.processItem(); - markDirty = true; - } - } else { - progress = 0; - } - - boolean trigger = true; - - if(hasPower() && canProcess() && this.progress == 0) - trigger = false; - - if(trigger) { - markDirty = true; - MachineReactor.updateBlockState(this.progress > 0, this.worldObj, this.xCoord, this.yCoord, - this.zCoord); - } - } - - if(markDirty) - this.markDirty(); + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + + nbt.setShort("charge", (short) charge); + nbt.setShort("heat", (short) heat); + nbt.setShort("progress", (short) progress); } } \ No newline at end of file diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java index 6abdca55f..e82b6141e 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java @@ -12,6 +12,7 @@ import com.hbm.interfaces.IFluidContainer; import com.hbm.interfaces.IFluidSource; import com.hbm.inventory.FluidTank; import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemFuelRod; import com.hbm.lib.Library; import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.PacketDispatcher; @@ -433,9 +434,9 @@ public class TileEntityMachineReactorLarge extends TileEntity } //Load fuel - if(slots[4] != null && getFuelContent(slots[4].getItem(), type) > 0) { + if(slots[4] != null && getFuelContent(slots[4], type) > 0) { - int cont = getFuelContent(slots[4].getItem(), type) * fuelMult; + int cont = getFuelContent(slots[4], type) * fuelMult; if(fuel + cont <= maxFuel) { @@ -621,7 +622,7 @@ public class TileEntityMachineReactorLarge extends TileEntity for(int i = 0; i < chest.getSizeInventory(); i++) { if(chest.getStackInSlot(i) != null) { - int cont = getFuelContent(chest.getStackInSlot(i).getItem(), type) * fuelMult; + int cont = getFuelContent(chest.getStackInSlot(i), type) * fuelMult; if(cont > 0 && fuel + cont <= maxFuel) { @@ -639,7 +640,7 @@ public class TileEntityMachineReactorLarge extends TileEntity for(int i = 0; i < chest.getSizeInventory(); i++) { if(chest.getStackInSlot(i) != null) { - int cont = getFuelContent(chest.getStackInSlot(i).getItem(), getFuelType(chest.getStackInSlot(i).getItem())) * fuelMult; + int cont = getFuelContent(chest.getStackInSlot(i), getFuelType(chest.getStackInSlot(i).getItem())) * fuelMult; if(cont > 0 && fuel + cont <= maxFuel) { @@ -905,6 +906,7 @@ public class TileEntityMachineReactorLarge extends TileEntity } } + //TODO: turn this steaming hot garbage into hashmaps static List fuels = new ArrayList(); static List wastes = new ArrayList(); @@ -918,11 +920,25 @@ public class TileEntityMachineReactorLarge extends TileEntity wastes.add(new ReactorWasteEntry(nuggets, type, in, out)); } - public static int getFuelContent(Item item, ReactorFuelType type) { + public static int getFuelContent(ItemStack item, ReactorFuelType type) { + + if(item == null) + return 0; for(ReactorFuelEntry ent : fuels) { - if(ent.item == item && type.toString().equals(ent.type.toString())) - return ent.value; + if(ent.item == item.getItem() && type.toString().equals(ent.type.toString())) { + + int value = ent.value; + + //if it's a fuel rod that has been used up, multiply by damage and floor it + if(item.getItem() instanceof ItemFuelRod) { + + double mult = 1D - ((double)ItemFuelRod.getLifeTime(item) / (double)((ItemFuelRod)item.getItem()).lifeTime); + return (int)Math.floor(mult * value); + } + + return value; + } } return 0; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorSmall.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorSmall.java index 1b84bad0b..b96c62f8c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorSmall.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorSmall.java @@ -526,8 +526,10 @@ public class TileEntityMachineReactorSmall extends TileEntity } else if(te instanceof TileEntityMachineReactor) { TileEntityMachineReactor reactor = (TileEntityMachineReactor)te; - if(reactor.charge < 1 && this.coreHeat > 0) + if(reactor.charge <= 1 && this.hullHeat > 0) { reactor.charge = 1; + reactor.heat = (int)Math.floor(hullHeat * 4 / maxHullHeat) + 1; + } } else if(te instanceof TileEntityNukeFurnace) { TileEntityNukeFurnace reactor = (TileEntityNukeFurnace)te; @@ -621,9 +623,8 @@ public class TileEntityMachineReactorSmall extends TileEntity ItemFuelRod rod = ((ItemFuelRod) slots[id].getItem()); this.coreHeat += rod.heat * coreHeatMod; ItemFuelRod.setLifeTime(slots[id], ItemFuelRod.getLifeTime(slots[id]) + 1); - ItemFuelRod.updateDamage(slots[id]); - if (ItemFuelRod.getLifeTime(slots[id]) > ((ItemFuelRod) slots[id].getItem()).lifeTime) { + if(ItemFuelRod.getLifeTime(slots[id]) > ((ItemFuelRod) slots[id].getItem()).lifeTime) { onRunOut(id); return; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorSmallOld.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorSmallOld.java index fdfc970fe..c3eed103e 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorSmallOld.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorSmallOld.java @@ -484,7 +484,6 @@ public class TileEntityMachineReactorSmallOld extends TileEntity ItemFuelRod rod = ((ItemFuelRod) slots[id].getItem()); this.coreHeat += rod.heat; ItemFuelRod.setLifeTime(slots[id], ItemFuelRod.getLifeTime(slots[id]) + 1); - ItemFuelRod.updateDamage(slots[id]); if (ItemFuelRod.getLifeTime(slots[id]) > ((ItemFuelRod) slots[id].getItem()).lifeTime) { onRunOut(id); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorMultiblock.java b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorMultiblock.java index 86733111e..4ab2b7f36 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorMultiblock.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorMultiblock.java @@ -233,7 +233,6 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv { int j = ItemFuelRod.getLifeTime(slots[i]); ItemFuelRod.setLifeTime(slots[i], j + 1); - ItemFuelRod.updateDamage(slots[i]); attemptHeat(1); attemptPower(250); @@ -246,7 +245,6 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv { int j = ItemFuelRod.getLifeTime(slots[i]); ItemFuelRod.setLifeTime(slots[i], j + 1); - ItemFuelRod.updateDamage(slots[i]); attemptHeat(1); attemptPower(250); @@ -259,7 +257,6 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv { int j = ItemFuelRod.getLifeTime(slots[i]); ItemFuelRod.setLifeTime(slots[i], j + 1); - ItemFuelRod.updateDamage(slots[i]); attemptHeat(1); attemptPower(250); @@ -272,7 +269,6 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv { int j = ItemFuelRod.getLifeTime(slots[i]); ItemFuelRod.setLifeTime(slots[i], j + 1); - ItemFuelRod.updateDamage(slots[i]); attemptHeat(2); attemptPower(375); @@ -285,7 +281,6 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv { int j = ItemFuelRod.getLifeTime(slots[i]); ItemFuelRod.setLifeTime(slots[i], j + 1); - ItemFuelRod.updateDamage(slots[i]); attemptHeat(2); attemptPower(375); @@ -298,7 +293,6 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv { int j = ItemFuelRod.getLifeTime(slots[i]); ItemFuelRod.setLifeTime(slots[i], j + 1); - ItemFuelRod.updateDamage(slots[i]); attemptHeat(2); attemptPower(375); @@ -311,7 +305,6 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv { int j = ItemFuelRod.getLifeTime(slots[i]); ItemFuelRod.setLifeTime(slots[i], j + 1); - ItemFuelRod.updateDamage(slots[i]); attemptHeat(1); attemptPower(125); @@ -324,7 +317,6 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv { int j = ItemFuelRod.getLifeTime(slots[i]); ItemFuelRod.setLifeTime(slots[i], j + 1); - ItemFuelRod.updateDamage(slots[i]); attemptHeat(1); attemptPower(125); @@ -337,7 +329,6 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv { int j = ItemFuelRod.getLifeTime(slots[i]); ItemFuelRod.setLifeTime(slots[i], j + 1); - ItemFuelRod.updateDamage(slots[i]); attemptHeat(1); attemptPower(125); @@ -350,7 +341,6 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv { int j = ItemFuelRod.getLifeTime(slots[i]); ItemFuelRod.setLifeTime(slots[i], j + 1); - ItemFuelRod.updateDamage(slots[i]); attemptHeat(10); attemptPower(62500); @@ -363,7 +353,6 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv { int j = ItemFuelRod.getLifeTime(slots[i]); ItemFuelRod.setLifeTime(slots[i], j + 1); - ItemFuelRod.updateDamage(slots[i]); attemptHeat(10); attemptPower(62500); @@ -376,7 +365,6 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv { int j = ItemFuelRod.getLifeTime(slots[i]); ItemFuelRod.setLifeTime(slots[i], j + 1); - ItemFuelRod.updateDamage(slots[i]); attemptHeat(10); attemptPower(62500);