From c607243491e19111ae93d98696a86177f20dd2fe Mon Sep 17 00:00:00 2001 From: SLiMylya Date: Sat, 8 Jul 2017 14:04:12 +0300 Subject: [PATCH 01/51] add battery --- src/main/java/gregtech/api/enums/ItemList.java | 1 + .../common/items/GT_MetaGenerated_Item_01.java | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/main/java/gregtech/api/enums/ItemList.java b/src/main/java/gregtech/api/enums/ItemList.java index 51aa28c1..e9c26962 100644 --- a/src/main/java/gregtech/api/enums/ItemList.java +++ b/src/main/java/gregtech/api/enums/ItemList.java @@ -628,6 +628,7 @@ public enum ItemList implements IItemContainer { MagicEnergyAbsorber_LV, MagicEnergyAbsorber_MV, MagicEnergyAbsorber_HV, MagicEnergyAbsorber_EV, Depleted_Thorium_1, Depleted_Thorium_2, Depleted_Thorium_4, Processing_Array, Distillation_Tower, Energy_LapotronicOrb2, + Energy_Module, Maximum_Battery, ZPM2, Quantum_Tank_LV, Quantum_Tank_MV, Quantum_Tank_HV, Quantum_Tank_EV, Quantum_Tank_IV, Quantum_Chest_LV, Quantum_Chest_MV, Quantum_Chest_HV, Quantum_Chest_EV, Quantum_Chest_IV, NULL, Cover_RedstoneTransmitterExternal, Cover_RedstoneTransmitterInternal, Cover_RedstoneReceiverExternal, Cover_RedstoneReceiverInternal, diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java index 8f491ac5..23f8d9d0 100644 --- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java +++ b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java @@ -438,17 +438,16 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { GT_Values.RA.addCannerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lithium, 32L), ItemList.Battery_Hull_HV.get(1L, new Object[0]), ItemList.Battery_RE_HV_Lithium.get(1L, new Object[0]), null, 1600, 2); GT_Values.RA.addCannerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 32L), ItemList.Battery_Hull_HV.get(1L, new Object[0]), ItemList.Battery_RE_HV_Sodium.get(1L, new Object[0]), null, 1600, 2); - ItemList.Energy_LapotronicOrb.set(addItem(tLastID = 597, "Lapotronic Energy Orb", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 16L), new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 16L), OrePrefixes.battery.get(Materials.Ultimate)})); + ItemList.Energy_LapotronicOrb.set(addItem(tLastID = 597, "Lapotronic Energy Orb", "Reusable battery", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 16L), new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 16L), OrePrefixes.battery.get(Materials.Ultimate)})); setElectricStats(32000 + tLastID, 100000000L, GT_Values.V[5], 5L, -3L, true); - ItemList.ZPM.set(addItem(tLastID = 598, "Zero Point Module", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 16L), new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 64L)})); + ItemList.ZPM.set(addItem(tLastID = 598, "Zero Point Module", "Single use battery", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 16L), new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 64L)})); setElectricStats(32000 + tLastID, 2000000000000L, GT_Values.V[7], 7L, -2L, true); - ItemList.Energy_LapotronicOrb2.set(addItem(tLastID = 599, "Lapotronic Energy Orb Cluster", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 16L), new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 16L), OrePrefixes.battery.get(Materials.Ultimate)})); + ItemList.Energy_LapotronicOrb2.set(addItem(tLastID = 599, "Lapotronic Energy Orb Cluster", "Reusable battery", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 16L), new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 16L), OrePrefixes.battery.get(Materials.Ultimate)})); setElectricStats(32000 + tLastID, 1000000000L, GT_Values.V[6], 6L, -3L, true); - ItemList.ZPM2.set(addItem(tLastID = 605, "Ultimate Battery", "Fill this to win minecraft", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 16L), new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 64L)})); - setElectricStats(32000 + tLastID, Long.MAX_VALUE, GT_Values.V[8], 8L, -3L, true); + ItemList.Electric_Motor_LV.set(addItem(tLastID = 600, "Electric Motor (LV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 1L)})); ItemList.Electric_Motor_MV.set(addItem(tLastID = 601, "Electric Motor (MV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 2L)})); @@ -770,6 +769,14 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { GregTech_API.registerCover(ItemList.Cover_NeedsMaintainance.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[2][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_ACTIVITYDETECTOR)}), new GT_Cover_NeedMaintainance()); GT_Values.RA.addAssemblerRecipe(ItemList.Emitter_MV.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 1L), ItemList.Cover_NeedsMaintainance.get(1L, new Object[0]), 600, 24); + ItemList.Energy_Module.set(addItem(tLastID = 736, "Energy Module", "Reusable battery", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 16L), new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 16L), OrePrefixes.battery.get(Materials.Ultimate)})); + setElectricStats(32000 + tLastID, 10000000000L, GT_Values.V[7], 7L, -3L, true); + + ItemList.ZPM2.set(addItem(tLastID = 605, "Ultimate Battery", "Fill this to win minecraft", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 16L), new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 64L), OrePrefixes.battery.get(Materials.Ultimate)})); + setElectricStats(32000 + tLastID, 100000000000L, GT_Values.V[8], 8L, -3L, true); + + ItemList.Maximum_Battery.set(addItem(tLastID = 737, "Maximum Battery", "Fill this to win minecraft", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 16L), new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 64L)})); + setElectricStats(32000 + tLastID, Long.MAX_VALUE, GT_Values.V[9], 9L, -3L, true); } From 733d77481757b6b1619408ea6f4766f770b45419 Mon Sep 17 00:00:00 2001 From: SLiMylya Date: Sat, 8 Jul 2017 14:07:31 +0300 Subject: [PATCH 02/51] add icon battery --- .../textures/items/gt.metaitem.01/736.png | Bin 0 -> 330 bytes .../textures/items/gt.metaitem.01/736/1.png | Bin 0 -> 328 bytes .../textures/items/gt.metaitem.01/736/2.png | Bin 0 -> 322 bytes .../textures/items/gt.metaitem.01/736/3.png | Bin 0 -> 323 bytes .../textures/items/gt.metaitem.01/736/4.png | Bin 0 -> 319 bytes .../textures/items/gt.metaitem.01/736/5.png | Bin 0 -> 322 bytes .../textures/items/gt.metaitem.01/736/6.png | Bin 0 -> 322 bytes .../textures/items/gt.metaitem.01/736/7.png | Bin 0 -> 330 bytes .../textures/items/gt.metaitem.01/736/8.png | Bin 0 -> 330 bytes .../textures/items/gt.metaitem.01/737.png | Bin 0 -> 2312 bytes .../textures/items/gt.metaitem.01/737/1.png | Bin 0 -> 2361 bytes .../textures/items/gt.metaitem.01/737/2.png | Bin 0 -> 2374 bytes .../textures/items/gt.metaitem.01/737/3.png | Bin 0 -> 2359 bytes .../textures/items/gt.metaitem.01/737/4.png | Bin 0 -> 2360 bytes .../textures/items/gt.metaitem.01/737/5.png | Bin 0 -> 2350 bytes .../textures/items/gt.metaitem.01/737/6.png | Bin 0 -> 2378 bytes .../textures/items/gt.metaitem.01/737/7.png | Bin 0 -> 2305 bytes .../textures/items/gt.metaitem.01/737/8.png | Bin 0 -> 2312 bytes 18 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/736.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/736/1.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/736/2.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/736/3.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/736/4.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/736/5.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/736/6.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/736/7.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/736/8.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/737.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/737/1.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/737/2.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/737/3.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/737/4.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/737/5.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/737/6.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/737/7.png create mode 100644 src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/737/8.png diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/736.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/736.png new file mode 100644 index 0000000000000000000000000000000000000000..e58b3c13836d437ff2c5c6ddacd263d581fc5a27 GIT binary patch literal 330 zcmV-Q0k!^#P)L51tX)V1i!jjO=a*NtT4hR`n1l&JI3H#- z+iw8ot2Nu7UjQENZhR6E!TbkzH9R~3U_6;dEsC{Pgl}cSaNZB+U)1GtaC<1<4s%&0P}SFSR@UDhXLN+H`;(}e)pb`L9NasI`T*AY2I+#01hJ9p@(8BYJ`rmh3nidUx~nb;BKQKX z#j)dVcCGF&cjx=}pJ5hyO02cfVP%T=5P1E0mjD)FCk4+QpOUXtrm&HTpTLI?2M4U% z4FHQ}L;Lv!z~p+QNkjzmAH1!>{vH6saUHZM*4iZOUUyn78-O6moBa^u7j47S>5Q9t z4nUb_K@z9HVBKy4xLI}c@=ctP8r)yr?M4lQ!T`@Nt5iv6aCUqC?f2<=y&9b;Jb$=| z?wx`?DDzB<$~;pO2gBbGH34)Rc6xlICO(jY{aw%@rc8XLU`YIh$`p1ut|NmaEYklo a_0}(cN1qg9UUlmL0000U?-_!XKQ6)tAt?X55xpw6RTigNf19F z&mzn?lX+Hq%h@?+?i+TXW<*u9#nKh|A~0M{B!NZPvf%#U)jX|qg=UhtK@2yVyDX|D z0ORS5>iY+PyPK=fL_~1^!JBFBYy;5lbdwQ9RZZBR?lYdw0Fox}`XMgfv}3N(fC2h%b8E|5aCUqC70>Bsy}URI@Zj+@ z`)-cl>&227hQCWp1jE%tPL5lq#De30AvCZgaV!{&w@|u5+nsJEFkzAUkEwQk0WXG~ U)@oS@2mk;807*qoM6N<$f^BGv=>Px# literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/736/3.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/736/3.png new file mode 100644 index 0000000000000000000000000000000000000000..68d9520021d5070884ade32410e3b7f1342590a5 GIT binary patch literal 323 zcmV-J0lfZ+P)i1-15otaP2T*wIK62ZetDg6 zc{2fEXL~DY5|Rj}^(=v_kHxx{1W^>+o?dNc14D!X?(RRWEepZH`O%l2Gt7E?xDnx} z>rVFF93j-x5)H%OB_@KwypsLBT~lJg`d^3*EQyW+ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/736/4.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/736/4.png new file mode 100644 index 0000000000000000000000000000000000000000..97c49364111b61ef1b9f2198ada211d19c25ad5b GIT binary patch literal 319 zcmV-F0l@x=P)iWu#GD zg0B}!LKqI07zv8~N^Wm@ro@87f1zn$Ny1n#7;hnWnGS}dL}0=q?H^O?`~k(bo7Tii Ri7Eg9002ovPDHLkV1nPvi+BJ4 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/736/5.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/736/5.png new file mode 100644 index 0000000000000000000000000000000000000000..007d7ce4ec2c4b6fac52d22b503439df85781f70 GIT binary patch literal 322 zcmV-I0lof-P)8ZZWSL z0LIf9_18B5!^`v7L_~1^!K>+Rt^?5P50VkZdvC(w^pNp%29Pv)_mw!kX%%jMIy}5? z1F*lhn=}bY1oOH{;J0ddUs@7GQE-28x04MF5eB%vt*k9e!Rgi6hn_RcdUEg?;g_3@ z?7KNasHY_whQCWp1f#`7j*kvai3RI_AvUliIu;DZTPR)Od;LKsFkzAQkEwNj0ngu? U){5(F@c;k-07*qoM6N<$f_5l}eEwhI<(f{2Z6 zo<*2(CiATJma}ut+&An%%ZRFGi=`{_MW9+vC4oiQu;8cX7xT2z6`D!n1~J_2b(l8` z04DW}=JN}H+pCMvL_~1^!RzU5ZvoIB43iN>RZZBR?lY-p07;XvzKM%Bt;63xU0%mK z037V^B~5%1!Ms@{a8IJ-H2kLUEW9vyxJ`0jc$ z`)-cl>&227hQCWp1l4jXrzgjz#De30AvCZgaV!{&w@|u5`-5R7FkzAQkEwNj0U)fK U)+dyer2qf`07*qoM6N<$f`IajCIA2c literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/736/7.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/736/7.png new file mode 100644 index 0000000000000000000000000000000000000000..62327c4be8197346a66a8b37b967c070031d3d27 GIT binary patch literal 330 zcmV-Q0k!^#P)*CC0BVE%)f>g?|U&>sww7R5QI!oIrKbWs5$N#5MMnD|f=Uac+T zxdq_l_$W!@m0V(6b+xv9d~V0%xuw^wgNaW8V4iLs53`0LzyQyqN;|SOxVXRkiu?4v z_PTX|@2+;U{a_GJe8ku!hMVz&!DKU&^RrXcM1$kE5E5u6u{0QzzfhXO^#{YuK!rux cf2P*@1KnwyuW9RRP5=M^07*qoM6N<$f_d1M*#H0l literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/736/8.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/736/8.png new file mode 100644 index 0000000000000000000000000000000000000000..e58b3c13836d437ff2c5c6ddacd263d581fc5a27 GIT binary patch literal 330 zcmV-Q0k!^#P)L51tX)V1i!jjO=a*NtT4hR`n1l&JI3H#- z+iw8ot2Nu7UjQENZhR6E!TbkzH9R~3U_6;dEsC{Pgl}cSaNZB+U)1GtaC<1<4s%&0P}SFSR@UDhXLN+H`APC;nb^WDVw{B4? zl~`Y2r_pE-1OcKbA_xM4AP@urp6B8FKCbH`2mvJBnX0@BaY+H zYPB#;6Vo)YZJQ%Uj&S<)X(lEnt^(&1iNwb}2Wqt%>2z99RrODXVf^9JrAw5{Wunn2 zk|Yrdg?e*Q6cI%cfFKBZ5$NLCb;5OBT-WVEWtt|st}`++!nt$jNT<_pr_<>_LYq{= z%F4>`bX`Ax@#4kaMw+G}iXxIE0g%aL=-fG;5CmA3#m$>H zzhls{tOq)h&*!l$iy#Q_eIL^_xpnInk|Yrhhbb0|sH*zJ($dloWI+(J)oPVyvx%Z8 z2!g=q=qUMop8o!RWLd_xZ8DimFO>gHeBWp9-n|ryMIw<1zVB15Rv8@~?Ge|uZML_! zQ4}R5tE%c9J$jT$NH4djAI>e6UBJn3yvK zt}qJ+p?0hW10Ad?A{kY}vMh96x8)!RV%2JuN~OXJ$_sqje-{Re?OXobLY&N zGXx^6tgP@eX^f;l#mDg*kh%jQ+O0==*Jc8MjgNXC{U0#5fM$-@v`1++nk?Q~1lm1> zuIsnuwY9Y!%d+&P*lN7*8v#j@sBBeu{Ob(kl4gG*itJSK%|Ni^BJTfwpux&fe^BPSTmRFWJG<=Bb z*RNySHYZP>$R`oP$+~adzg+%quF47ex8Me z1zvpdMV6PB(MNTd0A1HpZ@lqFN*)*(IA|CKgT^zIfB8AZZ;BNEy~5<=B;|4$P1DF` zvt+YbHa9n!pPy&Xo;}23F~Z?6(5~%rfN zkw}nEr%5Cd0KMM9vMge;7^|zR%-p!n=f%%p63QpbZ4L#%Cgj$m7<~q!DB8l|!-ro= zrBYV_4jw$n42~Z^P9z=YqrDd)Wwje`;Q{&}2_B#=pdR7Z+h;Mh zo6OD4;ro8Kvc@If_vLUn{KI;^K31#MIDGgpTCKs}#XY>5c$KNpDZX+AV6A;3iEocx z?Mf#Luukz?>orboJc0B@fZztmvdrAv9Iopk%krO>mXb%^9w~$VmmuK1-InkB>#bJn8c_3nKfATHHPC1@$mjFewoNn|C7Dd3 zsw$aGhJk?r`uqDyCX>i=`x>__i{as6?%uu2)vH&za^(umW|L~Qitqbhd7k&SuIumE zwq5QbCUko|&+`P@wJrwq0Y^kpd|eQPp8~nv9Zo0|A|8*EPNxZifO@@-uIo6C)9VvD zV*&V^@B4oZg5c{8JHGY5QFuUOA#|WofN*Dw0As+>&Ug@r3xW{uY^VWR$H*eE+%ax; i^1u@WA-K;D0RI6dNZ;lCil;jO00000|sO{%Xpay8bD)7Wbg%AKJPk3)1a2_}VoCcn))oK`q zfomB3=R%*?AS3nx*p67L>vTYmFG#MBe;PU0m`7wL4m1NMC_3_}`?2Ai9k0G)`)vP`qtM3N-leDh86 z`TVbXdwZ`+K*aa`H?Cc~Mi2x+E(XguAqyBkT8P!y%3yXSfMzW+oI^!N9F%aj8H1Ngp=Wm)LD z&ieX8TCEnAWw}Zu5{c=$PNUI42!ZeWB$G+v@i;*cbO3jo@B56n`&8YT@1&^fx)_GR z=H@1*X;ChhNhA_6<^A{HUwr4Ccd%`nN~JDwZ^LZo0^E_5pS6N?Q=fsH<9UXTF?aq!zL4zRZ z7^R6mo8muNiV(hQqr=l%!|1e z3WWl-T8$tGh{xk35(#8kMo|=Eu^5R&fhmg6{PuC|tZU28#Rna(5XcZl!OMW1&tX3O1MJ>IR7{hFg$0t^c~7-k z<)9kSY&L7}zWc7J3=9mUT-QyW&)N7|lcjt2=s$Rnsi`Sk*X88NlW<@RF>(r9mT9$G zD2mc?J@Bn7I1-8A`#!d9Q?J*#efu^uGc%k!caD4a?s3#I8OzC-rkQ>1wb!yrPfyPQ z%d)5ro#xWqCoC0<+|WuKJ9Z3R*D(x(d_GS;pJ#o2o!hr>vuDp95{U%SXmr~Hu8U<^ zY;A3E{P=NtdwbC|jkUEkG)-e{Y>e{fAM=a4N4J3K{YNqDb!1r{P#TR!&}cOHQi_v1 zBp5A*95p;PW@niY@Wns=M)^lC^26s&kxr+HMx&%sDRQ|SsZi^W zk;ur%$jCx88pX0K#>dC$P9{0H_)qd*t`jxCAtLe3{IPdHy9c}GZW6R(y_AlgM{hJJ z6bhY_Rg$En90Y+9jYglT)oLTvYL(&PVJh`Hx6CN~{Fel0U%=~Ak>qt`-$(XA3byNc zc~?gODtK9N4yjas{380x7ny(dd2X!Rw89WYQ79A&c%Fx%D1V%vpTDL6R;5z;OE#N* zrPXRNGc&{J=qM8t6L_A-nKNf-jsFb$)CE*k#c`a@U7)lJ46m)f=Xu0pF`CV0$CNj3 ze#YeFBo{AUWO{m(s zdwY56si&w^DojpJVwxt6MuUcBQLWd}b)AO~A5tt9*|%>WeSLk{w!Lk}>1l?BhPZX> z7KULEjYj|Ey6)w2xqJsej>qGn=XuQ_2v(cT=D&by5Cr*+jg6jqz0U0HEUxPkkH^Vm zGH9AcS63H3Jw0@HcazCvP!t8v^Kcx8{{DU*Jb1v38#lOq{W^_CgG!}B5CmWNzWrd>Laf#s-@>j!8ueZJNNMqN-3MNLEo3vFWC2r2Ge6r0qJp zD0GpAs+(+@mQC1|NHnb#*i$yjzHfT1R zgkgvzNeCejLJ)=_zV8zR0iNd}gdm&Ea`50mhKGlln3y1$OnwerR#o-$Zz#}iw>uBM z@4p4SyRx!!c4}&hwY4==RV5mY5{t!s^k|YrX0RWOD5r$z$5!ZEb90$`hF-;TO zwmEj}7-!F(Wqf@6I&e9eO#Y>#K)qfko6U++sq{O;Fn;sdXP;3nmx;&Y$g)f%66xGa zl7u8l0EA)K@xXpO_m%KG56|;Dp)ySqUDp{J8sgHWOJuXz_p{mTZ()~IVs&-(SGulW z{`AvNI|sGfZ6rxTmSq5Pxg4ofssr|2D-1(gtrpd46`U?!SL`f zi;Ii&^z@)83bt*N%jG(*{BJ7=0=m1qSy@>j7K;%C0kv9<;o;#9ac$eCTCJk0YDOuQ zO8)5RD8*tC+qTJMGUReOdU|@0Bnd@PI&t?r58wBn%Ynm(4}Xo6LqkLOzK>xTl*?td zwjSfUE{0*)N+c4AmCI#XtrkKEeBURLNDz<534)*l_%!*xi-=EG)&2YZ6t!)ecDqfr zT1D3lDwPVFrp1&`KKbO{haY~3X`0k(H4=#gs;c7qK0*lM@puRHc^U9D_`U+BX?D1v z>pI0^5g~T7$}o(((&px-sq1>P-&vSqe8yg!;Pfz1GPREV5ZDZRuuIqLx-_zHA z5!&D9`#xb9;y4b|)6=Z4uj6?h^?IFyVI9k|Di<$abfwo`do5uYM*7vf!=%&Z&Ye4i zVMw7+U~X=XMx#Lx1jOTUG)+U6WfVmr7K@>28k(jNi^WhB1zDESG>v#XP8fzX8V%;= z<|q^j04yyoa?CLpN!c_Sjh>G`{3K=zQDW-sbkg0xR>g3=25r*U6`M`LQ{WVBL_hEDK%NZ6ypttyZg1sZ=NoyuzX5 zYYY|dF(_a#0T7};n&n|(mURzwpsqqJ9Ve!B0bm(B*iDm&4fk(O(HnttF}T?GgqXex zYe&Xe4SU%s7OB;0NRkv+rl+UxU$}4q8CYFiMIIZ&JavNZ`oGCXfZZ8F*Y$hK`uh5gWm$TcwV8NW4UlD- za;3ukb{EG_zC$jRAX>XeqH>eiPK$^Ek^>?DX%8`wAe10b!PUS@chT-UiIW|r*3u~y z3MBjrnx;{&*BMF$IF8f!=%bHxWoT$9Y1?+<{Gk>>Ibd~pnZrkpFf%iQZQGnYd6IN~ z66wfk99hP7T@*#>upanY3ywr0_`Z*0nlzhD=I7^GSXkiPxpOQpFEj4yOm<7?x}JIa z?YA>ZZ*T9QVHh-eU*#9se{jFH!rvPYn3$NLTrSgYx5?-8qot+(Ce)(nk`}--CN^EX!QYw|0oSbBP?h7u2K0Q4!+x;R&vxzLrLrSaF z3Rv|G{ZesT9#@lw>kVHk&1xOagRf2g|b1 zG>x^jHD+gKDBk=hrsa;vk7#&=7DXD2@&>D<-&i z@7}&KCq*O@85i%m5*tC?nW?{`Ma51TX}`0IUR* z4)swy_;V_a7ISlRoysanQbG=bK#4}9FEkpBv3kAE(W6JH?KGLK#SlM!6aVBZxVZ>I zSwjL80dlw}1CRk(1|dNh1vdrefS^8khV37{N#VdLzIb5a1tE%}FgG`c=XofK@`t;3 z?_N~^qgJc^Ig`n}?z%1u3k!^ok25tjh39#kIdcYY>Mu^ zi;Rztv$eIwz`y|g{rwy`aDZB^#`N?wx~|h|wP@)Ejh!ata+$}EAG5NuLSJ7W0|Nt? zrnyVT*;z(LM!0qB7VUPMXf*mq+qN%NDwW#+ay%XnJ({we}e;{X5v literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/737/3.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/737/3.png new file mode 100644 index 0000000000000000000000000000000000000000..a7490e93c839f5f592af9d2530d4d9c78040716e GIT binary patch literal 2359 zcmV-73CQ+|P)RH9)G<&r4H_VDoK=bxMuBdM2FQQVMcS^j z3*s))xacNb)TmJ)UUXrgi4ixYYpIfHS+?Zp8H;a`&@_#{zCJRU48S7r1#lg>DhNX5v4*&=`%TYZi=yal!!TZ5T3TXlZH?{i zZCb4sQ4}GHB7z_w2m(KV{zG{|PNLa9{xwP~8aynOjG<#HKK(~u+y zMNxWlQ4|qH5r8O)dLHP;vulL!`}n@!3zcPA7>2>v*ccZsTp*jxzMIWve+3;<39GBC zKQ|2H;>RC<+}lXkbwp7_k|Y3fxg33ceLb+pwJ3^cx7*ZeHGrN+BuT<`T|`mjop;`0 zXlUqX!^6XuL_i6G;O#3{t`LSHilR^|m3pV`y1ZO2W11$WY4%R_Xg5t0UDqj2w;$akzBp61Hvs0ziE4z4sZQI@ua=D%>|62>gkOKz}u(Gm3JRTXgkjhN+)uv85pln&cIVv`bsPs> z*QwQN7=}r;S|yQ4#O04Z`sm*K@4t^_S=8%wlF1~hsuBbNf*_!2S`YL|8L%I`Yk*~0 zJuVoA!P?pyg3!q-(=_jjUw!qJWf(>)FKtq*)$o0v?d@#}g#xbY_T1<=4vypCd0tQX z_V=y`b=L(!Komu|u1ld%U~6j&-}h-W8XSz(v2DBh`s=TI@|iPdlBQ{W71k20I0L;$Ll1in}G!0P{@jS05P+d_9!?0&qmw1lj&}=qYSXf|rd6}W1A(o0o zj>#rR4+u1y&4CX;{IFl1nVC6StybAlzQ+%aUT34e#r1`4CMG5*m&?7dBoYZKl?uzt z%cN2%;_*0&q5vJSv27b&*O{K4W^iz@7t(UM%*4b5>kFT9b^s3K;f^{(xm+fb$sCny zwOWwR=lQZKprvCRjvRiRjVQMt@Q(lrpIxJI@)=G&{WPkoB8noas**?~di<~~i!cm( z|5Yj#ZZ9r!zc|Nu9G+DhpMlp-LpL!388%ZV zShw=*?yga<*AYcglM98ygLCK30kFEdiZnHab8wc7J5SzNL2)3LgafHZxo!hHooViy zG66yXYz3-)$7v|vVz=Gq!Gk+Mr-m>Lt^$jdLk%>DcKnbHhSje=nqnYZ40D;r54qbwSyxOeYf_b{ggMNy`vrlyu-u^6UlGCMm< zu0P3P^DhjxYiNFFBLG3zE1@29B}98*-P8*sa1>==z^i+^ov$WOgNIPoH$CL@TOh=3%5xaS#RUq^sQ0bd0>4UNNR zs2zQS74w{|JBdJgTZ<+cvT+cdBHelZQdniNEjr#N%;X*TpnVc6WFA;)~BI6bhU_ zf1bIyIXurJolav})pHPm z?01giT&Py7w*e$g(<0yZ-7pNdUDy2-XoO)nRH;-3TdfwwViCu2&@_#7I!&omBA3fC zI5^0_zyRrV8d;X{eIMJl866#EeSMv4*RFB(>Q&n9HuZX)Fbw}01i`z8Vf@B%oN|{p z!agw(00l?@eZX;16yFpC;fKJ){t8D?6q3m#*=&|5ifA^Q7>0r8dA*`#Z(Iic9ERcV zqbT|k@Ob3AQFyesXeB z=Xn4~l0+;PBb7>#$z%X#fjhwGzzsnVcAg5P-EM!^``5!Te8(`1*XHKtSY2IZV`GD6 zvq>0+h@yxf2nd2e7>4-1PY?uno`)a^WV2Zg9XiCw$OtD-o+Oz}ehOSsRrS+v0nl~5 z`{4WjTfjR@OG_7S-@eV-+8U~=5{X2JMx#iQgdhlrqDT+~0EnVU7=~RSuItinx3Me> z%d&7BhoeW2a^b=SCMG6s0#}mBc0;dvgO=XFzMSr&$2Fg!fW<;$1JX0z{Qv)SK6hg8Dy^73yC z!?^OvC!cf;>AH?6ib#?KKrWXfl}dG;J*|adNUPPNQmFuRBO*x>?RFbc6nXdEcPSJK zzwYnvzbXQX@B8muzkZz{2v8J-QmNG4?Ow<=O~W)zOw;V{>d9`JCc3UuDwVns+l!!O zS)|ix9LM46)vMUH{aXO>{rBHL)@(LUl}aT5+U+*QViChI2!enx46$vS2M->6%b{)C z-wC8xEMnU>VHgqw0hVPkH#dhQNkk$MmX?+%l}azp&(9y01wklOt5sU97OJWu2m&J` zBNU58^7%ZnEaNy1xm>Or%Kz4aAfTtGhoz+@qR}Wp5KygF85tSr64!AYDwPVVs%GR; zspKC!c8t~4RUF45lgW_F<;dsrh@yxr%iX+to`>)I&*Z?+(9kzXIXpa!@B5ghiKc06 zZ*SqcE~aTZvZ5$aP19(#S_p!G@B1VY31YDrK@fBu?kC^Vh`3)>_vU*?)NveiU8hp1 zU>GLla+!EM9+f}-_~S<(eDDF5Wl^nGNhA`es*3OX2!cQ?7VA2F)(P0}d=G$SSzRs| zhQaFUDuU2CRi+5))N3B+)kg8zYcKMAr-f-n}=guWe(@ekgoQd6lhYuez zIy%b2!U6!3lanNqNn)`WqA23JZdai8L@5Y@F0eh~IgUfUUT0=zhJ}R%3WWl5#Ue+t zCc_7zUa#jr`skwr^2Ef%k#f0=);`NmCcj`!Tj$ooI-{ebXqwhdOFSNDXJ?0ng$0ty zB++OTMNxo`*x0s>uIn5>ew^Ok-fl`YO=EO)l&|JL<44CJcK{xl&!K4=nM~%0T&Yz2 zzP>&lZ;3?nGKcaWzs$oKg~`98V2lq4Y631NU~$q(d$^YjRMS9Z_}HBa|7_RG1xm8z5rY86RfrR zXf#%-R;!4j7?Y=_rdBRqya>SZ@-ou+IIeP+78lTDi=Mp5^%QUy(hKKynv| z_+JnWJVZbWcQNca6gtyD03WbL1xGrIuZ&Y`7%VI&@@eq=s7N({hY^J zOMJGp!pV~-(KHQR*C`YV6bc2lx3`&@nc={J1H|KTB9Tak1CE1fnlu^>PMYvm@d9uMeAK~aC6cC(2jNyBoh)e2gz7V}1&)L}R_2;)Nml}3>- z7vau7uTkDP$M=8m5~);*NF+isnIxOdl1wH6y0wFC+r;B>*4EazckeDM^Ph8i0A3u| z$frAm+%REHi;_y2h@$8SV`F2lWipu?0E2^rjOD&$P~AiZ1OY?=JRdfzP^v)L1j7YM z0wosj=zwM7wjr%TPZA0}aJUCV5rVMe*b8CJJIvhHB#$0F+S|+-K~a?P@$vD6NF;)3 znoLeklFKA0$bTm8P5XD_UyFC;E2|NiL z1)8z5G*g#YHDBak(;l85BFi%O@88GsJY-q^)BODWbr~?L)#_g}nau01>oPk#%f!S4 zw{PFZ^E}R6h+`M^{8#ivyYPG0Vs{}#tZ{PRdGYsR8j^k)u zQQapd0-ykKAO##1Me!{`5MBjF_g6TIqL4@=$Y!&IVMx7R$1n_B*XvP8f#5ZfaB@vO7kBap2hQI0z&JK}hTx)B%0h$wOdq*SSUK$JG}E eA$-CQ0RI8!yC-H6;|=Nn0000j}T~@(g2FobP+X5Q)Lkm303N*YNY%JU8LI7C@PzZGbrC|4PNx|j9%gK8j6;VGkw_%I0M4tb`o*^hXqwi$ z@jUN6;DeQwl`}IlGpw(#qpB+5aF|FWf-K7jA&?{q-}eEKB#9shdPE$@q0{MLnkJ@c zV%s(c4<6*qnKMjJPhSPjClZOj^$0W?4bthfD3waTHw@#qmo8nRTrLxhMv-NiP$<;9 zmLv&Dk^l&Tpl5+yf9{fST^HANd#*A~6J6IC9UbM|xpSn`>5tOs^zWc6DzUn{`fFX+ z&tJTFvA29{UXqrZ;RO(r5*Mg>L zl1wJCZJP@hE?`;KZvdo^KmK^4)oL9nl}Z3~Ivo}l7twVc-}ecE0L!wtef##e04>Y< zP9lqoi&&OL5Cr(Xk7=6RxpN0umI;T$tgNh1DwSSYUS9s5B814*>vh`gHma&3gkWrJ zjK#%81_lOD6b0M1$z(D;Q~tN%`#$~s{j9945Q#+aeV=;0&e+&kPq?;iQ>)cbRW+rQ zN+oY%VuH1`HEi1^l}eGxWEdD2K$0XBMd|t7bzMBqd#(mXMn?Wal%u1gc%Fx07?jIp zwzi(&I1Ywk*h(lAij>P`+U+(%2t3at9*+}^M)7^W2e?;!&l2L^th#%>8=|&tqiGto zS`A${s8*}QVzG$w`RAYC{p6ERFin$sy-qwHM^#lk&qD}7G#c%JJ}(0Hg6|SAO|z#3 zUDsJ#TSJI$R2hb`tUP}F*wl5sl}@iEH#QVp*JX2aldY{SjvYJJ^W!d|z0vVBsPFqd z;qFF3r_*76ex6(|MRliIF8dxP`gRV_kA44!SlQxVcWK8Hk;hKb&F!LNG_LSX=#!D`wd1$ zpxJB=eD>LAFDTQ~(+8^6D)q)|oc!@Wc(S>{joA$fg#zVrx#yNxEJmeLp;#=ENF<0v zB7{OApqp$g%R^y?r&_I|sy|_1;2{Iq74{9ozF`mq zX!;ya9?wy&L8}3!5=5h6B9RmTmes_xY-9!gb$f+r_OxS82BDkt5a-k<=Ea{ zqh7BgNm5jqot?e^_Sqi_G7IYcrRq zR$t@9iC5|C>mwWvlSm{;r_&@734mVjU|ANiSd8`cb#C6g!OF^4ym$y+K3*o3?z*V5 z1)G~u`uYqcNwUTG`1qTtRO$-A{{8zIIq)^P{1%b~LUgC^!`2p*OVDV5VSplm6pC~e z?pSm@h{qt4fou-)d61+XF$NI0uvOm2%H5Z_d-v|{VUCMXC^R`aIav&c!x)Ca(W6I6 zr{nbZU*v_9g{*c(Cy8$e1dgqv+F5F~HuLlI_`biJS>v+r`${+* z{(iIBoNP22jE|4gXtY>bdVxgZ7lcD6@m&FIAW0y}An&Y_v}f*#cgKN_b&`(tE{`9- z!q?XVTsJ^b6z1pWaa|WhQU18RynI;!jC#HPmsBeCmg6`qEG#fRJ7Nk_-bJ8dXcmg15Q#*PB!8zCbp7wTE|EwCf)0*ju)V#__3PJ|ot@>Kciv%cZVtzB zNG6k*rgvd*lXVGTNwX&T{h_)oTNpQ~1@ zw*lm6G#a?B+wpyWv(xE(2{e4)&s8dw!B(rq;^HE>b^gQn)UDy9$+jhC9o82DI^E?5B zfEdsR9F!#KJt4$Tfx_MnClm@1kH<-;(*!|4v)M$~bsWd(^$9y`5%|0B`+p9C-~r(9 z)PJM+j>balxJCuSJ8J}(1SWRY{Xkp@5#QNR1GF8GCE(r;xJmcN)e}MlPvHRYZ+6TO U(s$Z24*&oF07*qoM6N<$f(rV40RR91 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/737/6.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/737/6.png new file mode 100644 index 0000000000000000000000000000000000000000..2757c27c4ac5a8e0acdc8f2f5f974e7e6c4ea0d5 GIT binary patch literal 2378 zcmV-Q3AOf#P)-4;n<-SN+Lmul1PyI0d`_JYBEXF$@FS zw()%*09lqvrBZZtb&<>E02YBOz~{gvA;k7$4QaJn-}U^pD2m=TP4m@Tw{Ee%zRu?6 zCXGgeD2k9I2_XbR2%;z=2m-<|#P@xK5ajcD1_uWj9UWzAYKlxI^C@sH9*=+eEdvb0 z=-dQB@Fwu~>gww0nVA_jHa3XI<0KLZlF1~pEF*+Kk|e?~1VEA`qA2PZ;&~peRtwv< zv27dIbvbnC5T{R{W^!`!GH@=F$^4~bK&@6IpU(?T(|%`J)^9Feyoj#rq*5tlStb^X zb=Hz3AxRPdQ51DNu*c_~5x(!^`+kQi+qN-HlaY}T&YnF>KA(R#pU?jm+M*I`YiqwU zP4nD^3l};Y8HRx*NyxGcK%r2etE;O6_P7y65zS_kN~HqO@rW$Tv|24BN#dP%-l145 z{<6Qn|GWgmf*^SN%u{{sk zwoNvh#dTfIpFfY|IKKvv-h1!8!;MB`TGKQDTCEmKOG}uhNf?GiQH0|-+_-V$TY!$^ ze5WBxOG`M8Lli}XVTf(p+`4rOS(Zs860EMSqG{T5w{PG6o+5-OR;yK-%_i}993cdw zqoXV>Ez#4{gQ6(7u1ld%=(zH~jW7)9?(SxFb(Lf?Nf?Gyt5rrvM?1oGU6)FwLOdSN zDVnAQhYufSeSIC*b;;#&6bc1;dU}u~2}Myly!*aS5Cl)u!0_y%0l@H`L8vRow=izRhkr`c>Ggdhk4(&;p*REjVRJAe<1?{PwWIIHfh_d?WlT@1sZ zQmJ5?7UgmoRaKM9M<0E(^8WkpW7{^>YL#?4O*|ea2m*uh(Hd7?Mh*P*oLKmQfUiWHO1Ws;H_;GMPkC6l7UORaH`{6j2mWuh*HMpJ#b_ z8GxmmOISk|nPHcDz25WThac`!CMPEkl*?rbwUbCc_=5YJ_t}}f&)C=)x~_Lb|}?#ow2bouC0BB`8+6j$bS74x~`MU z!Ws0;+Zk{*8mtlhvxQOScHFExy)0wV;p&Uns_{pBuT{M@y<#2cn-s` z^KN^4n}r*TEG^IB4MAA08*%-ooPZr~Y^PX9+EJpmjkPvDh` z=sW9Ft5qaPN-49mvv*&A{dFP<*4EY-m&f^Gc#LNHIvcsWti(XdfuC=0>v_XHhe$Xz#u~>{i39vnzMzg`f!UBtni@fs6E8Mwrht{Y`?F@7H(=@iWw$L<<>FH?}Hvf)(I)VZe?o83J8pyIdqBNV$ zu-R;4-br&>g_(n(ABxbcOUT#ZlbMS=Up~om&%8iaR~Lyyf=nhuKA$I($pCbE2gh+x zRh5m64X$6m%GK4+@uomOp+g>G5u7N2xtT)hvXCUn6$cL=;y8p1p9C4cKL z;Yxsjm;f&XN`MB*8gyBZksuRGwhizc>H)YaSOwZWb3eo+@FF0BoDV1U{X{FrSy@@x zJIo0Yi^ayr$H$iwi3FBqapcGmviUSx_XTd|9KMP}C_o5^1iL-deMNQ@;~Kp^b6v|aSW$Z3xw2eFru){ zzwi4blSx`p3(ISZ^2(KeGCMoV8*jY9+}s?V=aJ23v2FVtfD8nl=RL4(`=9Z6T;18( znOI+6XL53qQmMqizySUI{p{brpK7(r?CdP2Y0_*qF${~HdIMe8dGO!?tE;Q@_4P3@ zFo12_Y;0^WH#f)F*cjKZU&k;E5{bkgUDrKZE|+fr$f;B+@_oM*hT&$b)%pymg<)9S z-rnwQG#V@|E#bN@sZ@$=HjAcd6bc1;dwc2W=^>lVqA2Y$?l=y^!^7OWcaO`LFLUYA zC7R79)oPV646g-2@UCf^zjs|%-=j|K^>{%L2p|TiKo@XGlB73<5I+XS9`0~ru^8!e zntVRrDZ8d=;(1=DPuQK8fxm`f_@^j}z5+ZR`EL~8(O8IGYT`g*cTNK1z~S9_2uKSd w(z_cPfUyg56S%VrZqxp84TKQUBRBy38^93}{Cei0hyVZp07*qoM6N<$f~W<4>i_@% literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/737/7.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/737/7.png new file mode 100644 index 0000000000000000000000000000000000000000..94b7336ed4e6fd5b13df3c7b379421d1116c6a93 GIT binary patch literal 2305 zcmV+c3I6tpP)Ty+_Xz&qhv57E|Fj?24`hK9p!A-1fF@7|Hi0K96$AkQ`3d_nz^lMX;055BX0wT^ zsu+fW<2V3Fl0-BbWnf@{R4N6q1Y83?11<}KQ2ka%I-Snrp1CxjEL?*HILOa5zjP5~KomuM-wzzIZJSP~ zgJBpLhJj^S96o%QQ>RWbH8phwIG0Ey{uVgUXf#Nt(?Ypi{=Kg2zrA?zB9%&oXf%o> zNrXb7U@eLwq9_93`+g9CKAwFi9LK?NoB%4rFwiuOv9U4Eo;^!Coqj)^PX7+Nq!QNF z)_$#N+PMoCE(D5HRYep$>k=x^xN8^9Y4Pl*{GdwEd7*Diw5HN7wb>RF8_T>!_+qxm*q+ z){mfJ7$lQPEX(5j`SX~j`5OT7gAYEKXti2L%jGfvolb{*K98npc%Fyv`vh`gHj1Jk z2m<5dx8zVL6sc4ywA*b2LBMrg;_*1qXcW)$0)xBB_iaSnT~+(*eu`R_ zg{rD-Z*QY%I<;DjSS%KiKl$X7J0E`dA%$(VnKr|W+j6Nv?b{p?I zU>HWg1x?c^l}aFVvr5AjBLm_j>G2WCRiZa)h;oeqnOi)6D|B9RDnks z3IzaWW@bnv5=5g>L{Y@H?Vv#Qi<0Mg*tU)9x`D%%WzlRlxq0&@g+hUBHcNgvkA6Uh zQD`=sLmz+q@l*2D)YQRRt;Wg5OZ@YPpR=*K!N&Xsxm=D)r4qmri^Zr`s}u?a5{U$n zNQ6)*1aymyX_~02%8?^S7#a>qGarlPPv@{rvzwi`oK<4;Ek> zXaHr9qhW?3sjg15iDOzI!`!Vo*aJKVoZ3Ya7oM&iA+wdGv{Ry9uOo_LRGy!ozx(>@ zuj7lbwzkHkG|7xN%fI6{SWVr95Z%@zy-S$@4i;OKAEEza)+S7}bIhpE(r&d`zPk)` zdk9U_?#LS(8#|_HYHP9ec;vo-BuUh&HJju`G*Y$Br?b{2tHCKR^;C?2e5r%gC~fBzDWP>$*5@_X-Y$Lb$SvVH>pCEpFbt z$)c)bis|e$)oPWI zkr6VP4B2d!R;#OU_l>BkYQXmU_wSR*WEdG4!LlsM<#LeLU+!F^exeRXVYWI=*ofjd z&R^wryY02xZ9=PYhyjOy!#??X9&W(Jxr>~vy~Oe7USMEgfN(fWB9S1SPLoI^0D|7Z zG)-c$80+in%-^`q=f%%p8Y;&sT@Lxc7RZ}X^Z^}F6fNP8-ZupOp4$zG7i|sS$+ieyX7x6r=Us>al z=Xr8C9DcglY)&>B4GtYTM61za&+=2enRt_zLN5|^1WIglPbBg6xi9_E%Yu{Ui@asN z#q$r2BYoi`I6ks0v$(j3<2cB&{Ku7*l}j?9*X#Aaq*AHZY};mOX^E++Ddy(pa2$t| zCr|RD^iTPT{}u`grfMR~GLc9G#BPIu*Tvs)93qhj9lwKa>+J08aP8U`%+JsB#v5<2 zu&{t_+a!}o48u4_?;Nge+Yb%H_(D;X*v`(*ky5F|)YKGPTU+egw~vvL5%%ugOTAua zetsTJ(`dKbXsXUmvqhy+;o-xF6pKYNnGE~(?ZYq(*4NirSXdyJ%W>nz4OCSn91j1< zvaGYUTJ08q6pcoG$8kEI=WTX6ovT2@^So@eS{-h+TIBP2EXyJqjgm|zDVNI(4h}Lr zJj~G05Xoc`S?*rrrfD)dI?BC!_qcN93YRZmrrmB+uh;QB?_aL#zOQN8A1uqN^br&K zJ)Y~j0^M2{0|tP@qA0#C2*Qtn-0lu16bccK$4RHt_`XlG*+kPcY}*d{gx*{L{_c6+ zpMBr|s>_bA|8Eo?(^v>SXcQpan;Ui|8@lW15rDfL00000NkvXXu0mjfXAWyx literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/737/8.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/737/8.png new file mode 100644 index 0000000000000000000000000000000000000000..4644bf59c81f649686af9c06d3c96ef7c7c69bd8 GIT binary patch literal 2312 zcmV+j3HSDiP)APC;nb^WDVw{B4? zl~`Y2r_pE-1OcKbA_xM4AP@urp6B8FKCbH`2mvJBnX0@BaY+H zYPB#;6Vo)YZJQ%Uj&S<)X(lEnt^(&1iNwb}2Wqt%>2z99RrODXVf^9JrAw5{Wunn2 zk|Yrdg?e*Q6cI%cfFKBZ5$NLCb;5OBT-WVEWtt|st}`++!nt$jNT<_pr_<>_LYq{= z%F4>`bX`Ax@#4kaMw+G}iXxIE0g%aL=-fG;5CmA3#m$>H zzhls{tOq)h&*!l$iy#Q_eIL^_xpnInk|Yrhhbb0|sH*zJ($dloWI+(J)oPVyvx%Z8 z2!g=q=qUMop8o!RWLd_xZ8DimFO>gHeBWp9-n|ryMIw<1zVB15Rv8@~?Ge|uZML_! zQ4}R5tE%c9J$jT$NH4djAI>e6UBJn3yvK zt}qJ+p?0hW10Ad?A{kY}vMh96x8)!RV%2JuN~OXJ$_sqje-{Re?OXobLY&N zGXx^6tgP@eX^f;l#mDg*kh%jQ+O0==*Jc8MjgNXC{U0#5fM$-@v`1++nk?Q~1lm1> zuIsnuwY9Y!%d+&P*lN7*8v#j@sBBeu{Ob(kl4gG*itJSK%|Ni^BJTfwpux&fe^BPSTmRFWJG<=Bb z*RNySHYZP>$R`oP$+~adzg+%quF47ex8Me z1zvpdMV6PB(MNTd0A1HpZ@lqFN*)*(IA|CKgT^zIfB8AZZ;BNEy~5<=B;|4$P1DF` zvt+YbHa9n!pPy&Xo;}23F~Z?6(5~%rfN zkw}nEr%5Cd0KMM9vMge;7^|zR%-p!n=f%%p63QpbZ4L#%Cgj$m7<~q!DB8l|!-ro= zrBYV_4jw$n42~Z^P9z=YqrDd)Wwje`;Q{&}2_B#=pdR7Z+h;Mh zo6OD4;ro8Kvc@If_vLUn{KI;^K31#MIDGgpTCKs}#XY>5c$KNpDZX+AV6A;3iEocx z?Mf#Luukz?>orboJc0B@fZztmvdrAv9Iopk%krO>mXb%^9w~$VmmuK1-InkB>#bJn8c_3nKfATHHPC1@$mjFewoNn|C7Dd3 zsw$aGhJk?r`uqDyCX>i=`x>__i{as6?%uu2)vH&za^(umW|L~Qitqbhd7k&SuIumE zwq5QbCUko|&+`P@wJrwq0Y^kpd|eQPp8~nv9Zo0|A|8*EPNxZifO@@-uIo6C)9VvD zV*&V^@B4oZg5c{8JHGY5QFuUOA#|WofN*Dw0As+>&Ug@r3xW{uY^VWR$H*eE+%ax; i^1u@WA-K;D0RI6dNZ;lCil;jO0000 Date: Sat, 8 Jul 2017 14:10:59 +0300 Subject: [PATCH 03/51] add recipe --- .../postload/GT_MachineRecipeLoader.java | 61 +++++++++++++++---- 1 file changed, 48 insertions(+), 13 deletions(-) diff --git a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java index ea7781c7..d68f5ba8 100644 --- a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java +++ b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java @@ -2129,22 +2129,57 @@ if(Loader.isModLoaded("Railcraft")){ }, ItemList.Circuit_Wetwaremainframe.get(1,o), 2000, 300000); GT_Values.RA.addAssemblylineRecipe(ItemList.Energy_LapotronicOrb2.get(1,o), 288000, new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 16L), - ItemList.Circuit_Wetwaremainframe.get(1,o), - ItemList.Circuit_Wetwaremainframe.get(1,o), - ItemList.Circuit_Wetwaremainframe.get(1,o), - ItemList.Circuit_Wetwaremainframe.get(1,o), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Europium, 16L), + ItemList.Circuit_Wetwarecomputer.get(1,o), + ItemList.Circuit_Wetwarecomputer.get(1,o), + ItemList.Circuit_Wetwarecomputer.get(1,o), + ItemList.Circuit_Wetwarecomputer.get(1,o), ItemList.Energy_LapotronicOrb2.get(8L, new Object[0]), - ItemList.Field_Generator_UV.get(2,o), - ItemList.Circuit_Wafer_HPIC.get(64,o), - ItemList.Circuit_Wafer_HPIC.get(64,o), - ItemList.Circuit_Parts_DiodeSMD.get(16,o), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Superconductor, 32), + ItemList.Field_Generator_LuV.get(2,o), + ItemList.Circuit_Wafer_SoC2.get(64,o), + ItemList.Circuit_Wafer_SoC2.get(64,o), + ItemList.Circuit_Parts_DiodeSMD.get(8,o), + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Naquadah, 32), }, new FluidStack[]{ Materials.SolderingAlloy.getMolten(2880), - GregTech_API.mIC2Classic ? Materials.Water.getFluid(16000) : new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000) - }, ItemList.ZPM2.get(1,o), 2000, 300000); - + GregTech_API.mIC2Classic ? Materials.Water.getFluid(8000) : new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000) + }, ItemList.Energy_Module.get(1,o), 2000, 100000); + + GT_Values.RA.addAssemblylineRecipe(ItemList.Energy_Module.get(1,o), 288000, new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Americium, 16L), + ItemList.Circuit_Wetwaresupercomputer.get(1,o), + ItemList.Circuit_Wetwaresupercomputer.get(1,o), + ItemList.Circuit_Wetwaresupercomputer.get(1,o), + ItemList.Circuit_Wetwaresupercomputer.get(1,o), + ItemList.Energy_Module.get(8L, new Object[0]), + ItemList.Field_Generator_ZPM.get(2,o), + ItemList.Circuit_Wafer_HPIC.get(64,o), + ItemList.Circuit_Wafer_HPIC.get(64,o), + ItemList.Circuit_Parts_DiodeSMD.get(16,o), + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.NaquadahAlloy, 32), + }, new FluidStack[]{ + Materials.SolderingAlloy.getMolten(2880), + GregTech_API.mIC2Classic ? Materials.Water.getFluid(16000) : new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000) + }, ItemList.ZPM2.get(1,o), 2000, 200000); + + GT_Values.RA.addAssemblylineRecipe(ItemList.ZPM2.get(1,o), 288000, new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 16L), + ItemList.Circuit_Wetwaremainframe.get(1,o), + ItemList.Circuit_Wetwaremainframe.get(1,o), + ItemList.Circuit_Wetwaremainframe.get(1,o), + ItemList.Circuit_Wetwaremainframe.get(1,o), + ItemList.ZPM2.get(8L, new Object[0]), + ItemList.Field_Generator_UV.get(2,o), + ItemList.Circuit_Neuroprocessor.get(64,o), + ItemList.Circuit_Neuroprocessor.get(64,o), + ItemList.Circuit_Parts_DiodeSMD.get(16,o), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Superconductor, 32), + }, new FluidStack[]{ + Materials.SolderingAlloy.getMolten(2880), + GregTech_API.mIC2Classic ? Materials.Water.getFluid(16000) : new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000), + Materials.Naquadria.getMolten(1152) + }, ItemList.Maximum_Battery.get(1,o), 2000, 300000); + GT_Values.RA.addAssemblylineRecipe(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Superconductor, 1), 144000, new ItemStack[]{ ItemList.Casing_Fusion_Coil.get(1,o), ItemList.Circuit_Quantummainframe.get(1,o), From 147101ff6cfb6bc2a0d8a46bad8aa77c943b7429 Mon Sep 17 00:00:00 2001 From: SLiMylya Date: Sat, 8 Jul 2017 14:12:20 +0300 Subject: [PATCH 04/51] add achievements --- src/main/java/gregtech/loaders/misc/GT_Achievements.java | 8 +++++++- src/main/resources/assets/gregtech/lang/en_US.lang | 8 ++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/main/java/gregtech/loaders/misc/GT_Achievements.java b/src/main/java/gregtech/loaders/misc/GT_Achievements.java index 7d560f0a..acd78f59 100644 --- a/src/main/java/gregtech/loaders/misc/GT_Achievements.java +++ b/src/main/java/gregtech/loaders/misc/GT_Achievements.java @@ -207,7 +207,9 @@ public class GT_Achievements { registerAchievement("over9000", 7, 7, ItemList.Casing_Coil_NaquadahAlloy.get(1, new Object[]{}), "alienmetallurgy", false); registerAchievement("finalpreparations", 7, 9, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Naquadria, 1L), "over9000", false); registerAchievement("denseaspossible", 6, 10, ItemList.FusionComputer_UV.get(1, new Object[]{}), "finalpreparations", false); - registerAchievement("whatnow", 4, 10, ItemList.ZPM2.get(1, new Object[]{}), "denseaspossible", false); + registerAchievement("whatnow", 10, 10, ItemList.ZPM2.get(1, new Object[]{}), "zpmage", false); + registerAchievement("zpmage", 8, 10, ItemList.Energy_Module.get(1, new Object[]{}), "denseaspossible", false); + registerAchievement("whattheend", 12, 10, ItemList.Maximum_Battery.get(1, new Object[]{}), "whatnow", false); // if(Loader.isModLoaded("NotEnoughItems") && GT_Mod.gregtechproxy.mHideUnusedOres){ // for (int i = 1; i < GregTech_API.sGeneratedMaterials.length; i++) { @@ -597,6 +599,10 @@ public class GT_Achievements { issueAchievement(player, "filterregulate"); } else if (stack.getUnlocalizedName().equals("gt.metaitem.01.32605")) { issueAchievement(player, "whatnow"); + } else if (stack.getUnlocalizedName().equals("gt.metaitem.01.32736")) { + issueAchievement(player, "zpmage"); + } else if (stack.getUnlocalizedName().equals("gt.metaitem.01.32737")) { + issueAchievement(player, "whattheend"); } else if (stack.getUnlocalizedName().equals("gt.metaitem.03.32030")) { issueAchievement(player, "gtmonosilicon"); } else if (stack.getUnlocalizedName().equals("gt.metaitem.03.32036")) { diff --git a/src/main/resources/assets/gregtech/lang/en_US.lang b/src/main/resources/assets/gregtech/lang/en_US.lang index 970e5fd0..7f8489d5 100644 --- a/src/main/resources/assets/gregtech/lang/en_US.lang +++ b/src/main/resources/assets/gregtech/lang/en_US.lang @@ -408,8 +408,12 @@ achievement.finalpreparations=Final Preparations achievement.finalpreparations.desc=Cool down a Hot Naquadria Ingot achievement.denseaspossible=As Dense As Possible achievement.denseaspossible.desc=Produce Neutronium +achievement.zpmage=Welcome to ZPM Energy Age +achievement.zpmage.desc=Craft a Energy Module achievement.whatnow=What now? achievement.whatnow.desc=Craft a Ultimate Battery +achievement.whattheend=The End? +achievement.whattheend.desc=Craft a Maximum Battery achievement.gt.metaitem.01.32606=Electric Motor LuV tier achievement.gt.metaitem.01.32606.desc=Pickup this item to see the recipe in NEI @@ -490,6 +494,10 @@ achievement.gt.metaitem.01.32605=Ultimate Battery achievement.gt.metaitem.01.32605.desc=Pickup this item to see the recipe in NEI achievement.gt.metaitem.01.32609=Really Ultimate Battery achievement.gt.metaitem.01.32609.desc=Pickup this item to see the recipe in NEI +achievement.gt.metaitem.01.32736=Energy Module +achievement.gt.metaitem.01.32736.desc=Pickup this item to see the recipe in NEI +achievement.gt.metaitem.01.32737=Maximum Battery +achievement.gt.metaitem.01.32737.desc=Pickup this item to see the recipe in NEI achievement.ic2.itemArmorQuantumHelmet=Quantum Helmet achievement.ic2.itemArmorQuantumHelmet.desc=Pickup this item to see the recipe in NEI From 612cece6299ed698146d041d1277b52fa6e65df1 Mon Sep 17 00:00:00 2001 From: SLiMylya Date: Sun, 9 Jul 2017 19:36:23 +0300 Subject: [PATCH 05/51] update change --- src/main/java/gregtech/api/enums/ItemList.java | 2 +- .../common/items/GT_MetaGenerated_Item_01.java | 6 +++--- .../gregtech/loaders/misc/GT_Achievements.java | 6 +++--- .../postload/GT_MachineRecipeLoader.java | 8 ++++---- .../resources/assets/gregtech/lang/en_US.lang | 4 ++-- .../textures/items/gt.metaitem.01/737.png | Bin 2312 -> 319 bytes .../textures/items/gt.metaitem.01/737/1.png | Bin 2361 -> 325 bytes .../textures/items/gt.metaitem.01/737/2.png | Bin 2374 -> 317 bytes .../textures/items/gt.metaitem.01/737/3.png | Bin 2359 -> 313 bytes .../textures/items/gt.metaitem.01/737/4.png | Bin 2360 -> 310 bytes .../textures/items/gt.metaitem.01/737/5.png | Bin 2350 -> 313 bytes .../textures/items/gt.metaitem.01/737/6.png | Bin 2378 -> 315 bytes .../textures/items/gt.metaitem.01/737/7.png | Bin 2305 -> 321 bytes .../textures/items/gt.metaitem.01/737/8.png | Bin 2312 -> 319 bytes 14 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/main/java/gregtech/api/enums/ItemList.java b/src/main/java/gregtech/api/enums/ItemList.java index e9c26962..6763328c 100644 --- a/src/main/java/gregtech/api/enums/ItemList.java +++ b/src/main/java/gregtech/api/enums/ItemList.java @@ -628,7 +628,7 @@ public enum ItemList implements IItemContainer { MagicEnergyAbsorber_LV, MagicEnergyAbsorber_MV, MagicEnergyAbsorber_HV, MagicEnergyAbsorber_EV, Depleted_Thorium_1, Depleted_Thorium_2, Depleted_Thorium_4, Processing_Array, Distillation_Tower, Energy_LapotronicOrb2, - Energy_Module, Maximum_Battery, + Energy_Module, Energy_Cluster, ZPM2, Quantum_Tank_LV, Quantum_Tank_MV, Quantum_Tank_HV, Quantum_Tank_EV, Quantum_Tank_IV, Quantum_Chest_LV, Quantum_Chest_MV, Quantum_Chest_HV, Quantum_Chest_EV, Quantum_Chest_IV, NULL, Cover_RedstoneTransmitterExternal, Cover_RedstoneTransmitterInternal, Cover_RedstoneReceiverExternal, Cover_RedstoneReceiverInternal, diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java index 23f8d9d0..05f71ba2 100644 --- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java +++ b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java @@ -772,11 +772,11 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { ItemList.Energy_Module.set(addItem(tLastID = 736, "Energy Module", "Reusable battery", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 16L), new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 16L), OrePrefixes.battery.get(Materials.Ultimate)})); setElectricStats(32000 + tLastID, 10000000000L, GT_Values.V[7], 7L, -3L, true); - ItemList.ZPM2.set(addItem(tLastID = 605, "Ultimate Battery", "Fill this to win minecraft", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 16L), new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 64L), OrePrefixes.battery.get(Materials.Ultimate)})); + ItemList.Energy_Cluster.set(addItem(tLastID = 737, "Energy Cluster", "Reusable battery", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 16L), new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 64L)})); setElectricStats(32000 + tLastID, 100000000000L, GT_Values.V[8], 8L, -3L, true); - ItemList.Maximum_Battery.set(addItem(tLastID = 737, "Maximum Battery", "Fill this to win minecraft", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 16L), new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 64L)})); - setElectricStats(32000 + tLastID, Long.MAX_VALUE, GT_Values.V[9], 9L, -3L, true); + ItemList.ZPM2.set(addItem(tLastID = 605, "Ultimate Battery", "Fill this to win minecraft", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 16L), new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 64L)})); + setElectricStats(32000 + tLastID, Long.MAX_VALUE, GT_Values.V[8], 8L, -3L, true); } diff --git a/src/main/java/gregtech/loaders/misc/GT_Achievements.java b/src/main/java/gregtech/loaders/misc/GT_Achievements.java index acd78f59..2266673e 100644 --- a/src/main/java/gregtech/loaders/misc/GT_Achievements.java +++ b/src/main/java/gregtech/loaders/misc/GT_Achievements.java @@ -207,9 +207,9 @@ public class GT_Achievements { registerAchievement("over9000", 7, 7, ItemList.Casing_Coil_NaquadahAlloy.get(1, new Object[]{}), "alienmetallurgy", false); registerAchievement("finalpreparations", 7, 9, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Naquadria, 1L), "over9000", false); registerAchievement("denseaspossible", 6, 10, ItemList.FusionComputer_UV.get(1, new Object[]{}), "finalpreparations", false); - registerAchievement("whatnow", 10, 10, ItemList.ZPM2.get(1, new Object[]{}), "zpmage", false); registerAchievement("zpmage", 8, 10, ItemList.Energy_Module.get(1, new Object[]{}), "denseaspossible", false); - registerAchievement("whattheend", 12, 10, ItemList.Maximum_Battery.get(1, new Object[]{}), "whatnow", false); + registerAchievement("uvage", 10, 10, ItemList.Energy_Cluster.get(1, new Object[]{}), "zpmage", false); + registerAchievement("whatnow", 12, 10, ItemList.ZPM2.get(1, new Object[]{}), "uvage", false); // if(Loader.isModLoaded("NotEnoughItems") && GT_Mod.gregtechproxy.mHideUnusedOres){ // for (int i = 1; i < GregTech_API.sGeneratedMaterials.length; i++) { @@ -602,7 +602,7 @@ public class GT_Achievements { } else if (stack.getUnlocalizedName().equals("gt.metaitem.01.32736")) { issueAchievement(player, "zpmage"); } else if (stack.getUnlocalizedName().equals("gt.metaitem.01.32737")) { - issueAchievement(player, "whattheend"); + issueAchievement(player, "uvage"); } else if (stack.getUnlocalizedName().equals("gt.metaitem.03.32030")) { issueAchievement(player, "gtmonosilicon"); } else if (stack.getUnlocalizedName().equals("gt.metaitem.03.32036")) { diff --git a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java index d68f5ba8..101aaafe 100644 --- a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java +++ b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java @@ -2160,15 +2160,15 @@ if(Loader.isModLoaded("Railcraft")){ }, new FluidStack[]{ Materials.SolderingAlloy.getMolten(2880), GregTech_API.mIC2Classic ? Materials.Water.getFluid(16000) : new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000) - }, ItemList.ZPM2.get(1,o), 2000, 200000); + }, ItemList.Energy_Cluster.get(1,o), 2000, 200000); - GT_Values.RA.addAssemblylineRecipe(ItemList.ZPM2.get(1,o), 288000, new ItemStack[]{ + GT_Values.RA.addAssemblylineRecipe(ItemList.Energy_Cluster.get(1,o), 288000, new ItemStack[]{ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 16L), ItemList.Circuit_Wetwaremainframe.get(1,o), ItemList.Circuit_Wetwaremainframe.get(1,o), ItemList.Circuit_Wetwaremainframe.get(1,o), ItemList.Circuit_Wetwaremainframe.get(1,o), - ItemList.ZPM2.get(8L, new Object[0]), + ItemList.Energy_Cluster.get(8L, new Object[0]), ItemList.Field_Generator_UV.get(2,o), ItemList.Circuit_Neuroprocessor.get(64,o), ItemList.Circuit_Neuroprocessor.get(64,o), @@ -2178,7 +2178,7 @@ if(Loader.isModLoaded("Railcraft")){ Materials.SolderingAlloy.getMolten(2880), GregTech_API.mIC2Classic ? Materials.Water.getFluid(16000) : new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000), Materials.Naquadria.getMolten(1152) - }, ItemList.Maximum_Battery.get(1,o), 2000, 300000); + }, ItemList.ZPM2.get(1,o), 2000, 300000); GT_Values.RA.addAssemblylineRecipe(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Superconductor, 1), 144000, new ItemStack[]{ ItemList.Casing_Fusion_Coil.get(1,o), diff --git a/src/main/resources/assets/gregtech/lang/en_US.lang b/src/main/resources/assets/gregtech/lang/en_US.lang index 7f8489d5..b5f598fe 100644 --- a/src/main/resources/assets/gregtech/lang/en_US.lang +++ b/src/main/resources/assets/gregtech/lang/en_US.lang @@ -412,8 +412,8 @@ achievement.zpmage=Welcome to ZPM Energy Age achievement.zpmage.desc=Craft a Energy Module achievement.whatnow=What now? achievement.whatnow.desc=Craft a Ultimate Battery -achievement.whattheend=The End? -achievement.whattheend.desc=Craft a Maximum Battery +achievement.uvage=Welcome to UV Energy Age +achievement.uvage.desc=Energy Cluster achievement.gt.metaitem.01.32606=Electric Motor LuV tier achievement.gt.metaitem.01.32606.desc=Pickup this item to see the recipe in NEI diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/737.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/737.png index 4644bf59c81f649686af9c06d3c96ef7c7c69bd8..b1068d091c1bec1abc33b626608583b08870d43e 100644 GIT binary patch literal 319 zcmV-F0l@x=P)vng3-+Z&|LQjdR=9{JDn}BXrk~$HNJ@{=t_q&y%nTbtc;mh+gzINXLELLlp zpI-o8>&KWxL@54)yQ)r40GQO%WJFO_7Y^Nn7OOQtl7t;n*rG1nwgZ;U5P<8eizG=< za*4KU+Yb2L9PVq`3>j7XXcAHY6n8HVRW>k07~uV5APC;nb^WDVw{B4? zl~`Y2r_pE-1OcKbA_xM4AP@urp6B8FKCbH`2mvJBnX0@BaY+H zYPB#;6Vo)YZJQ%Uj&S<)X(lEnt^(&1iNwb}2Wqt%>2z99RrODXVf^9JrAw5{Wunn2 zk|Yrdg?e*Q6cI%cfFKBZ5$NLCb;5OBT-WVEWtt|st}`++!nt$jNT<_pr_<>_LYq{= z%F4>`bX`Ax@#4kaMw+G}iXxIE0g%aL=-fG;5CmA3#m$>H zzhls{tOq)h&*!l$iy#Q_eIL^_xpnInk|Yrhhbb0|sH*zJ($dloWI+(J)oPVyvx%Z8 z2!g=q=qUMop8o!RWLd_xZ8DimFO>gHeBWp9-n|ryMIw<1zVB15Rv8@~?Ge|uZML_! zQ4}R5tE%c9J$jT$NH4djAI>e6UBJn3yvK zt}qJ+p?0hW10Ad?A{kY}vMh96x8)!RV%2JuN~OXJ$_sqje-{Re?OXobLY&N zGXx^6tgP@eX^f;l#mDg*kh%jQ+O0==*Jc8MjgNXC{U0#5fM$-@v`1++nk?Q~1lm1> zuIsnuwY9Y!%d+&P*lN7*8v#j@sBBeu{Ob(kl4gG*itJSK%|Ni^BJTfwpux&fe^BPSTmRFWJG<=Bb z*RNySHYZP>$R`oP$+~adzg+%quF47ex8Me z1zvpdMV6PB(MNTd0A1HpZ@lqFN*)*(IA|CKgT^zIfB8AZZ;BNEy~5<=B;|4$P1DF` zvt+YbHa9n!pPy&Xo;}23F~Z?6(5~%rfN zkw}nEr%5Cd0KMM9vMge;7^|zR%-p!n=f%%p63QpbZ4L#%Cgj$m7<~q!DB8l|!-ro= zrBYV_4jw$n42~Z^P9z=YqrDd)Wwje`;Q{&}2_B#=pdR7Z+h;Mh zo6OD4;ro8Kvc@If_vLUn{KI;^K31#MIDGgpTCKs}#XY>5c$KNpDZX+AV6A;3iEocx z?Mf#Luukz?>orboJc0B@fZztmvdrAv9Iopk%krO>mXb%^9w~$VmmuK1-InkB>#bJn8c_3nKfATHHPC1@$mjFewoNn|C7Dd3 zsw$aGhJk?r`uqDyCX>i=`x>__i{as6?%uu2)vH&za^(umW|L~Qitqbhd7k&SuIumE zwq5QbCUko|&+`P@wJrwq0Y^kpd|eQPp8~nv9Zo0|A|8*EPNxZifO@@-uIo6C)9VvD zV*&V^@B4oZg5c{8JHGY5QFuUOA#|WofN*Dw0As+>&Ug@r3xW{uY^VWR$H*eE+%ax; i^1u@WA-K;D0RI6dNZ;lCil;jO0000@9+V3$mox3+y2Rol=XA>eiBo2)+N{eVrcl0T@-2phZ#DBvk(?Yw*wXJiKB$E(ArVK5k={@kWYT7##{habOB*X!N&nZeVyi|F1d z*n_gjt*9(=GjTBd4bc)nyJ6?Up_%wV3ifxwhL|$(m4YGh7bFuMRg=gd35#_9Or7-$ XVxgUEF=axd00000NkvXXu0mjfOoNcY literal 2361 zcmV-93C8w`P)0|sO{%Xpay8bD)7Wbg%AKJPk3)1a2_}VoCcn))oK`q zfomB3=R%*?AS3nx*p67L>vTYmFG#MBe;PU0m`7wL4m1NMC_3_}`?2Ai9k0G)`)vP`qtM3N-leDh86 z`TVbXdwZ`+K*aa`H?Cc~Mi2x+E(XguAqyBkT8P!y%3yXSfMzW+oI^!N9F%aj8H1Ngp=Wm)LD z&ieX8TCEnAWw}Zu5{c=$PNUI42!ZeWB$G+v@i;*cbO3jo@B56n`&8YT@1&^fx)_GR z=H@1*X;ChhNhA_6<^A{HUwr4Ccd%`nN~JDwZ^LZo0^E_5pS6N?Q=fsH<9UXTF?aq!zL4zRZ z7^R6mo8muNiV(hQqr=l%!|1e z3WWl-T8$tGh{xk35(#8kMo|=Eu^5R&fhmg6{PuC|tZU28#Rna(5XcZl!OMW1&tX3O1MJ>IR7{hFg$0t^c~7-k z<)9kSY&L7}zWc7J3=9mUT-QyW&)N7|lcjt2=s$Rnsi`Sk*X88NlW<@RF>(r9mT9$G zD2mc?J@Bn7I1-8A`#!d9Q?J*#efu^uGc%k!caD4a?s3#I8OzC-rkQ>1wb!yrPfyPQ z%d)5ro#xWqCoC0<+|WuKJ9Z3R*D(x(d_GS;pJ#o2o!hr>vuDp95{U%SXmr~Hu8U<^ zY;A3E{P=NtdwbC|jkUEkG)-e{Y>e{fAM=a4N4J3K{YNqDb!1r{P#TR!&}cOHQi_v1 zBp5A*95p;PW@niY@Wns=M)^lC^26s&kxr+HMx&%sDRQ|SsZi^W zk;ur%$jCx88pX0K#>dC$P9{0H_)qd*t`jxCAtLe3{IPdHy9c}GZW6R(y_AlgM{hJJ z6bhY_Rg$En90Y+9jYglT)oLTvYL(&PVJh`Hx6CN~{Fel0U%=~Ak>qt`-$(XA3byNc zc~?gODtK9N4yjas{380x7ny(dd2X!Rw89WYQ79A&c%Fx%D1V%vpTDL6R;5z;OE#N* zrPXRNGc&{J=qM8t6L_A-nKNf-jsFb$)CE*k#c`a@U7)lJ46m)f=Xu0pF`CV0$CNj3 ze#YeFBo{AUWO{m(s zdwY56si&w^DojpJVwxt6MuUcBQLWd}b)AO~A5tt9*|%>WeSLk{w!Lk}>1l?BhPZX> z7KULEjYj|Ey6)w2xqJsej>qGn=XuQ_2v(cT=D&by5Cr*+jg6jqz0U0HEUxPkkH^Vm zGH9AcS63H3Jw0@HcazCvP!t8v^Kcx8{{DU*Jb1v38#lOq{W^_CgG!}B5CmWNzW9bWFg`i zo<*4PP3EQAznq=#oBs_vP&1;c`C=jYBA{E9WS22Okx{Y`11UWWwirf zx>&LP`32yue2Ps(gvK%WFs0$+tG@(KocGDsJ{_(}ja0bA2 z`yy!)k_eX7E`jHp{e4+U5Jka#|FM+~3=szS{@i$5_JYB~>)Os4W_`Z9itu=JlYMtb z2=%PQ!tj5Ii9ok1x1EkF@nHKe#0H+k#)H9m3sQ)7%U&jMVUhZesdoMV{#%?J1We21 P00000NkvXXu0mjf=x~lv literal 2374 zcmV-M3Ay%(P)rd>Laf#s-@>j!8ueZJNNMqN-3MNLEo3vFWC2r2Ge6r0qJp zD0GpAs+(+@mQC1|NHnb#*i$yjzHfT1R zgkgvzNeCejLJ)=_zV8zR0iNd}gdm&Ea`50mhKGlln3y1$OnwerR#o-$Zz#}iw>uBM z@4p4SyRx!!c4}&hwY4==RV5mY5{t!s^k|YrX0RWOD5r$z$5!ZEb90$`hF-;TO zwmEj}7-!F(Wqf@6I&e9eO#Y>#K)qfko6U++sq{O;Fn;sdXP;3nmx;&Y$g)f%66xGa zl7u8l0EA)K@xXpO_m%KG56|;Dp)ySqUDp{J8sgHWOJuXz_p{mTZ()~IVs&-(SGulW z{`AvNI|sGfZ6rxTmSq5Pxg4ofssr|2D-1(gtrpd46`U?!SL`f zi;Ii&^z@)83bt*N%jG(*{BJ7=0=m1qSy@>j7K;%C0kv9<;o;#9ac$eCTCJk0YDOuQ zO8)5RD8*tC+qTJMGUReOdU|@0Bnd@PI&t?r58wBn%Ynm(4}Xo6LqkLOzK>xTl*?td zwjSfUE{0*)N+c4AmCI#XtrkKEeBURLNDz<534)*l_%!*xi-=EG)&2YZ6t!)ecDqfr zT1D3lDwPVFrp1&`KKbO{haY~3X`0k(H4=#gs;c7qK0*lM@puRHc^U9D_`U+BX?D1v z>pI0^5g~T7$}o(((&px-sq1>P-&vSqe8yg!;Pfz1GPREV5ZDZRuuIqLx-_zHA z5!&D9`#xb9;y4b|)6=Z4uj6?h^?IFyVI9k|Di<$abfwo`do5uYM*7vf!=%&Z&Ye4i zVMw7+U~X=XMx#Lx1jOTUG)+U6WfVmr7K@>28k(jNi^WhB1zDESG>v#XP8fzX8V%;= z<|q^j04yyoa?CLpN!c_Sjh>G`{3K=zQDW-sbkg0xR>g3=25r*U6`M`LQ{WVBL_hEDK%NZ6ypttyZg1sZ=NoyuzX5 zYYY|dF(_a#0T7};n&n|(mURzwpsqqJ9Ve!B0bm(B*iDm&4fk(O(HnttF}T?GgqXex zYe&Xe4SU%s7OB;0NRkv+rl+UxU$}4q8CYFiMIIZ&JavNZ`oGCXfZZ8F*Y$hK`uh5gWm$TcwV8NW4UlD- za;3ukb{EG_zC$jRAX>XeqH>eiPK$^Ek^>?DX%8`wAe10b!PUS@chT-UiIW|r*3u~y z3MBjrnx;{&*BMF$IF8f!=%bHxWoT$9Y1?+<{Gk>>Ibd~pnZrkpFf%iQZQGnYd6IN~ z66wfk99hP7T@*#>upanY3ywr0_`Z*0nlzhD=I7^GSXkiPxpOQpFEj4yOm<7?x}JIa z?YA>ZZ*T9QVHh-eU*#9se{jFH!rvPYn3$NLTrSgYx5?-8qot+(Ce)(nk`}--CN^EX!QYw|0oSbBP?h7u2K0Q4!+x;R&vxzLrLrSaF z3Rv|G{ZesT9#@lw>kVHk&1xOagRf2g|b1 zG>x^jHD+gKDBk=hrsa;vk7#&=7DXD2@&>D<-&i z@7}&KCq*O@85i%m5*tC?nW?{`Ma51TX}`0IUR* z4)swy_;V_a7ISlRoysanQbG=bK#4}9FEkpBv3kAE(W6JH?KGLK#SlM!6aVBZxVZ>I zSwjL80dlw}1CRk(1|dNh1vdrefS^8khV37{N#VdLzIb5a1tE%}FgG`c=XofK@`t;3 z?_N~^qgJc^Ig`n}?z%1u3k!^ok25tjh39#kIdcYY>Mu^ zi;Rztv$eIwz`y|g{rwy`aDZB^#`N?wx~|h|wP@)Ejh!ata+$}EAG5NuLSJ7W0|Nt? zrnyVT*;z(LM!0qB7VUPMXf*mq+qN%NDwW#+ay%XnJ({we}e;{X5v diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/737/3.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/737/3.png index a7490e93c839f5f592af9d2530d4d9c78040716e..2f25838028e9fcb666658d2857f15bc27af4c0d9 100644 GIT binary patch literal 313 zcmV-90mlA`P)CD|v!i3d+-Gyk+gG?Ul{7QVhbr>b`VES4+Q zKfeG>%IDZbL}(p@57Rz71)x_Bk`YB!T{xT`vRJMFk|xwh%WgV^Kjz=OzHI@x>0BjE zLJ~n$?-Ka)Ykyx>5=2q(FzmOpfg!>G^Y_ZzvKNdVU)FZcFzeI(MTDp0+w8kLLa1jY z7KZ;zOa!`7x$Aaai3i(%AvW+NHXaPlTaZGuR}M0P3yU;=OpWsglCqo}T~!8=00000 LNkvXXu0mjf+sc6> literal 2359 zcmV-73CQ+|P)RH9)G<&r4H_VDoK=bxMuBdM2FQQVMcS^j z3*s))xacNb)TmJ)UUXrgi4ixYYpIfHS+?Zp8H;a`&@_#{zCJRU48S7r1#lg>DhNX5v4*&=`%TYZi=yal!!TZ5T3TXlZH?{i zZCb4sQ4}GHB7z_w2m(KV{zG{|PNLa9{xwP~8aynOjG<#HKK(~u+y zMNxWlQ4|qH5r8O)dLHP;vulL!`}n@!3zcPA7>2>v*ccZsTp*jxzMIWve+3;<39GBC zKQ|2H;>RC<+}lXkbwp7_k|Y3fxg33ceLb+pwJ3^cx7*ZeHGrN+BuT<`T|`mjop;`0 zXlUqX!^6XuL_i6G;O#3{t`LSHilR^|m3pV`y1ZO2W11$WY4%R_Xg5t0UDqj2w;$akzBp61Hvs0ziE4z4sZQI@ua=D%>|62>gkOKz}u(Gm3JRTXgkjhN+)uv85pln&cIVv`bsPs> z*QwQN7=}r;S|yQ4#O04Z`sm*K@4t^_S=8%wlF1~hsuBbNf*_!2S`YL|8L%I`Yk*~0 zJuVoA!P?pyg3!q-(=_jjUw!qJWf(>)FKtq*)$o0v?d@#}g#xbY_T1<=4vypCd0tQX z_V=y`b=L(!Komu|u1ld%U~6j&-}h-W8XSz(v2DBh`s=TI@|iPdlBQ{W71k20I0L;$Ll1in}G!0P{@jS05P+d_9!?0&qmw1lj&}=qYSXf|rd6}W1A(o0o zj>#rR4+u1y&4CX;{IFl1nVC6StybAlzQ+%aUT34e#r1`4CMG5*m&?7dBoYZKl?uzt z%cN2%;_*0&q5vJSv27b&*O{K4W^iz@7t(UM%*4b5>kFT9b^s3K;f^{(xm+fb$sCny zwOWwR=lQZKprvCRjvRiRjVQMt@Q(lrpIxJI@)=G&{WPkoB8noas**?~di<~~i!cm( z|5Yj#ZZ9r!zc|Nu9G+DhpMlp-LpL!388%ZV zShw=*?yga<*AYcglM98ygLCK30kFEdiZnHab8wc7J5SzNL2)3LgafHZxo!hHooViy zG66yXYz3-)$7v|vVz=Gq!Gk+Mr-m>Lt^$jdLk%>DcKnbHhSje=nqnYZ40D;r54qbwSyxOeYf_b{ggMNy`vrlyu-u^6UlGCMm< zu0P3P^DhjxYiNFFBLG3zE1@29B}98*-P8*sa1>==z^i+^ov$WOgNIPoH$CL@TOh=3%5xaS#RUq^sQ0bd0>4UNNR zs2zQS74w{|JBdJgTZ<+cvT+cdBHelZQdniNEjr#N%;X*TpnVc6WFA;)~BI6bhU_ zf1bIyIXurJolav})pHPm z?01giT&Py7w*e$g(<0yZ-7pNdUDy2-XoO)nRH;-3TdfwwViCu2&@_#7I!&omBA3fC zI5^0_zyRrV8d;X{eIMJl866#EeSMv4*RFB(>Q&n9HuZX)Fbw}01i`z8Vf@B%oN|{p z!agw(00l?@eZX;16yFpC;fKJ){t8D?6q3m#*=&|5ifA^Q7>0r8dA*`#Z(Iic9ERcV zqbT|k@Ob3AQFyel^1;?JZ~CxpVI@12rY8nl5INE&{q&iRMJO^WfQH;h&a?CMGt4h1-u!HpKye<$BBR zcmm)vA67|3gvKrSTCInB0DAc-swk@J!r}Cw<$4PcC80nXcIX=Z{fFsSS^2s16eS6Y z3^v6ff`9%>*qQ{R%Ah|Pw35PHV1V!W${Q&SKHkSW+cR{1d(jG>O*_fHTOq`=CKiUv zB}N9iS9$GrT@w$sZ=p)ynOJ!+IDbJh(Oy1E3|v^G{%5MKGZrbD9N{{nHUIzs07*qo IM6N<$g0hN%c>n+a literal 2360 zcmV-83CH${P)sXeB z=Xn4~l0+;PBb7>#$z%X#fjhwGzzsnVcAg5P-EM!^``5!Te8(`1*XHKtSY2IZV`GD6 zvq>0+h@yxf2nd2e7>4-1PY?uno`)a^WV2Zg9XiCw$OtD-o+Oz}ehOSsRrS+v0nl~5 z`{4WjTfjR@OG_7S-@eV-+8U~=5{X2JMx#iQgdhlrqDT+~0EnVU7=~RSuItinx3Me> z%d&7BhoeW2a^b=SCMG6s0#}mBc0;dvgO=XFzMSr&$2Fg!fW<;$1JX0z{Qv)SK6hg8Dy^73yC z!?^OvC!cf;>AH?6ib#?KKrWXfl}dG;J*|adNUPPNQmFuRBO*x>?RFbc6nXdEcPSJK zzwYnvzbXQX@B8muzkZz{2v8J-QmNG4?Ow<=O~W)zOw;V{>d9`JCc3UuDwVns+l!!O zS)|ix9LM46)vMUH{aXO>{rBHL)@(LUl}aT5+U+*QViChI2!enx46$vS2M->6%b{)C z-wC8xEMnU>VHgqw0hVPkH#dhQNkk$MmX?+%l}azp&(9y01wklOt5sU97OJWu2m&J` zBNU58^7%ZnEaNy1xm>Or%Kz4aAfTtGhoz+@qR}Wp5KygF85tSr64!AYDwPVVs%GR; zspKC!c8t~4RUF45lgW_F<;dsrh@yxr%iX+to`>)I&*Z?+(9kzXIXpa!@B5ghiKc06 zZ*SqcE~aTZvZ5$aP19(#S_p!G@B1VY31YDrK@fBu?kC^Vh`3)>_vU*?)NveiU8hp1 zU>GLla+!EM9+f}-_~S<(eDDF5Wl^nGNhA`es*3OX2!cQ?7VA2F)(P0}d=G$SSzRs| zhQaFUDuU2CRi+5))N3B+)kg8zYcKMAr-f-n}=guWe(@ekgoQd6lhYuez zIy%b2!U6!3lanNqNn)`WqA23JZdai8L@5Y@F0eh~IgUfUUT0=zhJ}R%3WWl5#Ue+t zCc_7zUa#jr`skwr^2Ef%k#f0=);`NmCcj`!Tj$ooI-{ebXqwhdOFSNDXJ?0ng$0ty zB++OTMNxo`*x0s>uIn5>ew^Ok-fl`YO=EO)l&|JL<44CJcK{xl&!K4=nM~%0T&Yz2 zzP>&lZ;3?nGKcaWzs$oKg~`98V2lq4Y631NU~$q(d$^YjRMS9Z_}HBa|7_RG1xm8z5rY86RfrR zXf#%-R;!4j7?Y=_rdBRqya>SZ@-ou+IIeP+78lTDi=Mp5^%QUy(hKKynv| z_+JnWJVZbWcQNca6gtyD03WbL1xGrIuZ&Y`7%VI&@@eq=s7N({hY^J zOMJGp!pV~-(KHQR*C`YV6bc2lx3`&@nc={J1H|KTB9Tak1CE1fnlu^>PMYvm@d9uMeAK~aC6cC(2jNyBoh)e2gz7V}1&)L}R_2;)Nml}3>- z7vau7uTkDP$M=8m5~);*NF+isnIxOdl1wH6y0wFC+r;B>*4EazckeDM^Ph8i0A3u| z$frAm+%REHi;_y2h@$8SV`F2lWipu?0E2^rjOD&$P~AiZ1OY?=JRdfzP^v)L1j7YM z0wosj=zwM7wjr%TPZA0}aJUCV5rVMe*b8CJJIvhHB#$0F+S|+-K~a?P@$vD6NF;)3 znoLeklFKA0$bTm8P5XD_UyFC;E2|NiL z1)8z5G*g#YHDBak(;l85BFi%O@88GsJY-q^)BODWbr~?L)#_g}nau01>oPk#%f!S4 zw{PFZ^E}R6h+`M^{8#ivyYPG0Vs{}#tZ{PRdGYsR8j^k)u zQQapd0-ykKAO##1Me!{`5MBjF_g6TIqL4@=$Y!&IVMx7R$1n_B*XvP8f#5ZfaB@vO7kBap2hQI0z&JK}hTx)B%0h$wOdq*SSUK$JG}E eA$-CQ0RI8!yC-H6;|=Nn0000j_@pG zCU2aVYX5R}zHk0F>_E+ks^*J@>}cl8h*->cZjlkmY&{kTjt}8g|n;{Po-6X5*T)#<*hB#5Hm?)jmY4Ga+mn7ysMEhoXt{nO6Q8D_m5RuP`QUS!|h5kfsH zu`v8yVj|GJ%FSrxN<7&93$cMGvGHJV-hvdO<8qP-Tv(+3W2&7areT^KX0?xp00000 LNkvXXu0mjf&Q6TE literal 2350 zcmV+}3DNe6P)j}T~@(g2FobP+X5Q)Lkm303N*YNY%JU8LI7C@PzZGbrC|4PNx|j9%gK8j6;VGkw_%I0M4tb`o*^hXqwi$ z@jUN6;DeQwl`}IlGpw(#qpB+5aF|FWf-K7jA&?{q-}eEKB#9shdPE$@q0{MLnkJ@c zV%s(c4<6*qnKMjJPhSPjClZOj^$0W?4bthfD3waTHw@#qmo8nRTrLxhMv-NiP$<;9 zmLv&Dk^l&Tpl5+yf9{fST^HANd#*A~6J6IC9UbM|xpSn`>5tOs^zWc6DzUn{`fFX+ z&tJTFvA29{UXqrZ;RO(r5*Mg>L zl1wJCZJP@hE?`;KZvdo^KmK^4)oL9nl}Z3~Ivo}l7twVc-}ecE0L!wtef##e04>Y< zP9lqoi&&OL5Cr(Xk7=6RxpN0umI;T$tgNh1DwSSYUS9s5B814*>vh`gHma&3gkWrJ zjK#%81_lOD6b0M1$z(D;Q~tN%`#$~s{j9945Q#+aeV=;0&e+&kPq?;iQ>)cbRW+rQ zN+oY%VuH1`HEi1^l}eGxWEdD2K$0XBMd|t7bzMBqd#(mXMn?Wal%u1gc%Fx07?jIp zwzi(&I1Ywk*h(lAij>P`+U+(%2t3at9*+}^M)7^W2e?;!&l2L^th#%>8=|&tqiGto zS`A${s8*}QVzG$w`RAYC{p6ERFin$sy-qwHM^#lk&qD}7G#c%JJ}(0Hg6|SAO|z#3 zUDsJ#TSJI$R2hb`tUP}F*wl5sl}@iEH#QVp*JX2aldY{SjvYJJ^W!d|z0vVBsPFqd z;qFF3r_*76ex6(|MRliIF8dxP`gRV_kA44!SlQxVcWK8Hk;hKb&F!LNG_LSX=#!D`wd1$ zpxJB=eD>LAFDTQ~(+8^6D)q)|oc!@Wc(S>{joA$fg#zVrx#yNxEJmeLp;#=ENF<0v zB7{OApqp$g%R^y?r&_I|sy|_1;2{Iq74{9ozF`mq zX!;ya9?wy&L8}3!5=5h6B9RmTmes_xY-9!gb$f+r_OxS82BDkt5a-k<=Ea{ zqh7BgNm5jqot?e^_Sqi_G7IYcrRq zR$t@9iC5|C>mwWvlSm{;r_&@734mVjU|ANiSd8`cb#C6g!OF^4ym$y+K3*o3?z*V5 z1)G~u`uYqcNwUTG`1qTtRO$-A{{8zIIq)^P{1%b~LUgC^!`2p*OVDV5VSplm6pC~e z?pSm@h{qt4fou-)d61+XF$NI0uvOm2%H5Z_d-v|{VUCMXC^R`aIav&c!x)Ca(W6I6 zr{nbZU*v_9g{*c(Cy8$e1dgqv+F5F~HuLlI_`biJS>v+r`${+* z{(iIBoNP22jE|4gXtY>bdVxgZ7lcD6@m&FIAW0y}An&Y_v}f*#cgKN_b&`(tE{`9- z!q?XVTsJ^b6z1pWaa|WhQU18RynI;!jC#HPmsBeCmg6`qEG#fRJ7Nk_-bJ8dXcmg15Q#*PB!8zCbp7wTE|EwCf)0*ju)V#__3PJ|ot@>Kciv%cZVtzB zNG6k*rgvd*lXVGTNwX&T{h_)oTNpQ~1@ zw*lm6G#a?B+wpyWv(xE(2{e4)&s8dw!B(rq;^HE>b^gQn)UDy9$+jhC9o82DI^E?5B zfEdsR9F!#KJt4$Tfx_MnClm@1kH<-;(*!|4v)M$~bsWd(^$9y`5%|0B`+p9C-~r(9 z)PJM+j>balxJCuSJ8J}(1SWRY{Xkp@5#QNR1GF8GCE(r;xJmcN)e}MlPvHRYZ+6TO U(s$Z24*&oF07*qoM6N<$f(rV40RR91 diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/737/6.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/737/6.png index 2757c27c4ac5a8e0acdc8f2f5f974e7e6c4ea0d5..f6fadbe52258d421ab6a029e6404487113e4d6c1 100644 GIT binary patch literal 315 zcmV-B0mS}^P)uX@zJeu?;MI)460-?*Ld< zYc}6M0KAst*hEBVoq~_ky*LM8P)?E&MO9rmoF1~Q)&NNpYNTa19mBu-E8agl0NmeR zCrv^U!K&UR@JDsHFDnV6C>XvxcC&#Y!T__kFK^31FdaQ_?3`iNhr2q$^QU(9-5nv+ zvl0u#|0N~@-Kz9^Jy+tv_Fsq%Jc*45gYy=o5FM10OyI&I%^y?a`~mNQnj8Z-4;n<-SN+Lmul1PyI0d`_JYBEXF$@FS zw()%*09lqvrBZZtb&<>E02YBOz~{gvA;k7$4QaJn-}U^pD2m=TP4m@Tw{Ee%zRu?6 zCXGgeD2k9I2_XbR2%;z=2m-<|#P@xK5ajcD1_uWj9UWzAYKlxI^C@sH9*=+eEdvb0 z=-dQB@Fwu~>gww0nVA_jHa3XI<0KLZlF1~pEF*+Kk|e?~1VEA`qA2PZ;&~peRtwv< zv27dIbvbnC5T{R{W^!`!GH@=F$^4~bK&@6IpU(?T(|%`J)^9Feyoj#rq*5tlStb^X zb=Hz3AxRPdQ51DNu*c_~5x(!^`+kQi+qN-HlaY}T&YnF>KA(R#pU?jm+M*I`YiqwU zP4nD^3l};Y8HRx*NyxGcK%r2etE;O6_P7y65zS_kN~HqO@rW$Tv|24BN#dP%-l145 z{<6Qn|GWgmf*^SN%u{{sk zwoNvh#dTfIpFfY|IKKvv-h1!8!;MB`TGKQDTCEmKOG}uhNf?GiQH0|-+_-V$TY!$^ ze5WBxOG`M8Lli}XVTf(p+`4rOS(Zs860EMSqG{T5w{PG6o+5-OR;yK-%_i}993cdw zqoXV>Ez#4{gQ6(7u1ld%=(zH~jW7)9?(SxFb(Lf?Nf?Gyt5rrvM?1oGU6)FwLOdSN zDVnAQhYufSeSIC*b;;#&6bc1;dU}u~2}Myly!*aS5Cl)u!0_y%0l@H`L8vRow=izRhkr`c>Ggdhk4(&;p*REjVRJAe<1?{PwWIIHfh_d?WlT@1sZ zQmJ5?7UgmoRaKM9M<0E(^8WkpW7{^>YL#?4O*|ea2m*uh(Hd7?Mh*P*oLKmQfUiWHO1Ws;H_;GMPkC6l7UORaH`{6j2mWuh*HMpJ#b_ z8GxmmOISk|nPHcDz25WThac`!CMPEkl*?rbwUbCc_=5YJ_t}}f&)C=)x~_Lb|}?#ow2bouC0BB`8+6j$bS74x~`MU z!Ws0;+Zk{*8mtlhvxQOScHFExy)0wV;p&Uns_{pBuT{M@y<#2cn-s` z^KN^4n}r*TEG^IB4MAA08*%-ooPZr~Y^PX9+EJpmjkPvDh` z=sW9Ft5qaPN-49mvv*&A{dFP<*4EY-m&f^Gc#LNHIvcsWti(XdfuC=0>v_XHhe$Xz#u~>{i39vnzMzg`f!UBtni@fs6E8Mwrht{Y`?F@7H(=@iWw$L<<>FH?}Hvf)(I)VZe?o83J8pyIdqBNV$ zu-R;4-br&>g_(n(ABxbcOUT#ZlbMS=Up~om&%8iaR~Lyyf=nhuKA$I($pCbE2gh+x zRh5m64X$6m%GK4+@uomOp+g>G5u7N2xtT)hvXCUn6$cL=;y8p1p9C4cKL z;Yxsjm;f&XN`MB*8gyBZksuRGwhizc>H)YaSOwZWb3eo+@FF0BoDV1U{X{FrSy@@x zJIo0Yi^ayr$H$iwi3FBqapcGmviUSx_XTd|9KMP}C_o5^1iL-deMNQ@;~Kp^b6v|aSW$Z3xw2eFru){ zzwi4blSx`p3(ISZ^2(KeGCMoV8*jY9+}s?V=aJ23v2FVtfD8nl=RL4(`=9Z6T;18( znOI+6XL53qQmMqizySUI{p{brpK7(r?CdP2Y0_*qF${~HdIMe8dGO!?tE;Q@_4P3@ zFo12_Y;0^WH#f)F*cjKZU&k;E5{bkgUDrKZE|+fr$f;B+@_oM*hT&$b)%pymg<)9S z-rnwQG#V@|E#bN@sZ@$=HjAcd6bc1;dwc2W=^>lVqA2Y$?l=y^!^7OWcaO`LFLUYA zC7R79)oPV646g-2@UCf^zjs|%-=j|K^>{%L2p|TiKo@XGlB73<5I+XS9`0~ru^8!e zntVRrDZ8d=;(1=DPuQK8fxm`f_@^j}z5+ZR`EL~8(O8IGYT`g*cTNK1z~S9_2uKSd w(z_cPfUyg56S%VrZqxp84TKQUBRBy38^93}{Cei0hyVZp07*qoM6N<$f~W<4>i_@% diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/737/7.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/737/7.png index 94b7336ed4e6fd5b13df3c7b379421d1116c6a93..799981d620edf08a18b24d0813cb01ff93aeb5e1 100644 GIT binary patch literal 321 zcmV-H0lxl;P)3cHXZ34t6awt-Y* z5q6oo9jp7h-JS2Bf0kY7C{fjPvygNX(1S{&PK2HZ&#TJsR){7hHi3n2^J_NsHvr4^ zj{VOs0H5V+Od=v=|G{kyt}X$Xl+(tDqN*+&x(6-SJAg(KY9zBoZTNWVvsmQ-+~3_a zk_0s_(RMwa`h0EA{)<)4Xjn&+kOClk`gj>614D!X-m9%wayFPfzwPauVb;;Gj_~~P zA~}x+b`c_46AQQFM*}^mJdDS#i3i)a5EFPNRvrw_Uywp{Qce>C7Z&OMnL6tauYsER TiM0<+00000NkvXXu0mjf1$l)B literal 2305 zcmV+c3I6tpP)Ty+_Xz&qhv57E|Fj?24`hK9p!A-1fF@7|Hi0K96$AkQ`3d_nz^lMX;055BX0wT^ zsu+fW<2V3Fl0-BbWnf@{R4N6q1Y83?11<}KQ2ka%I-Snrp1CxjEL?*HILOa5zjP5~KomuM-wzzIZJSP~ zgJBpLhJj^S96o%QQ>RWbH8phwIG0Ey{uVgUXf#Nt(?Ypi{=Kg2zrA?zB9%&oXf%o> zNrXb7U@eLwq9_93`+g9CKAwFi9LK?NoB%4rFwiuOv9U4Eo;^!Coqj)^PX7+Nq!QNF z)_$#N+PMoCE(D5HRYep$>k=x^xN8^9Y4Pl*{GdwEd7*Diw5HN7wb>RF8_T>!_+qxm*q+ z){mfJ7$lQPEX(5j`SX~j`5OT7gAYEKXti2L%jGfvolb{*K98npc%Fyv`vh`gHj1Jk z2m<5dx8zVL6sc4ywA*b2LBMrg;_*1qXcW)$0)xBB_iaSnT~+(*eu`R_ zg{rD-Z*QY%I<;DjSS%KiKl$X7J0E`dA%$(VnKr|W+j6Nv?b{p?I zU>HWg1x?c^l}aFVvr5AjBLm_j>G2WCRiZa)h;oeqnOi)6D|B9RDnks z3IzaWW@bnv5=5g>L{Y@H?Vv#Qi<0Mg*tU)9x`D%%WzlRlxq0&@g+hUBHcNgvkA6Uh zQD`=sLmz+q@l*2D)YQRRt;Wg5OZ@YPpR=*K!N&Xsxm=D)r4qmri^Zr`s}u?a5{U$n zNQ6)*1aymyX_~02%8?^S7#a>qGarlPPv@{rvzwi`oK<4;Ek> zXaHr9qhW?3sjg15iDOzI!`!Vo*aJKVoZ3Ya7oM&iA+wdGv{Ry9uOo_LRGy!ozx(>@ zuj7lbwzkHkG|7xN%fI6{SWVr95Z%@zy-S$@4i;OKAEEza)+S7}bIhpE(r&d`zPk)` zdk9U_?#LS(8#|_HYHP9ec;vo-BuUh&HJju`G*Y$Br?b{2tHCKR^;C?2e5r%gC~fBzDWP>$*5@_X-Y$Lb$SvVH>pCEpFbt z$)c)bis|e$)oPWI zkr6VP4B2d!R;#OU_l>BkYQXmU_wSR*WEdG4!LlsM<#LeLU+!F^exeRXVYWI=*ofjd z&R^wryY02xZ9=PYhyjOy!#??X9&W(Jxr>~vy~Oe7USMEgfN(fWB9S1SPLoI^0D|7Z zG)-c$80+in%-^`q=f%%p8Y;&sT@Lxc7RZ}X^Z^}F6fNP8-ZupOp4$zG7i|sS$+ieyX7x6r=Us>al z=Xr8C9DcglY)&>B4GtYTM61za&+=2enRt_zLN5|^1WIglPbBg6xi9_E%Yu{Ui@asN z#q$r2BYoi`I6ks0v$(j3<2cB&{Ku7*l}j?9*X#Aaq*AHZY};mOX^E++Ddy(pa2$t| zCr|RD^iTPT{}u`grfMR~GLc9G#BPIu*Tvs)93qhj9lwKa>+J08aP8U`%+JsB#v5<2 zu&{t_+a!}o48u4_?;Nge+Yb%H_(D;X*v`(*ky5F|)YKGPTU+egw~vvL5%%ugOTAua zetsTJ(`dKbXsXUmvqhy+;o-xF6pKYNnGE~(?ZYq(*4NirSXdyJ%W>nz4OCSn91j1< zvaGYUTJ08q6pcoG$8kEI=WTX6ovT2@^So@eS{-h+TIBP2EXyJqjgm|zDVNI(4h}Lr zJj~G05Xoc`S?*rrrfD)dI?BC!_qcN93YRZmrrmB+uh;QB?_aL#zOQN8A1uqN^br&K zJ)Y~j0^M2{0|tP@qA0#C2*Qtn-0lu16bccK$4RHt_`XlG*+kPcY}*d{gx*{L{_c6+ zpMBr|s>_bA|8Eo?(^v>SXcQpan;Ui|8@lW15rDfL00000NkvXXu0mjfXAWyx diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/737/8.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/737/8.png index 4644bf59c81f649686af9c06d3c96ef7c7c69bd8..b1068d091c1bec1abc33b626608583b08870d43e 100644 GIT binary patch literal 319 zcmV-F0l@x=P)vng3-+Z&|LQjdR=9{JDn}BXrk~$HNJ@{=t_q&y%nTbtc;mh+gzINXLELLlp zpI-o8>&KWxL@54)yQ)r40GQO%WJFO_7Y^Nn7OOQtl7t;n*rG1nwgZ;U5P<8eizG=< za*4KU+Yb2L9PVq`3>j7XXcAHY6n8HVRW>k07~uV5APC;nb^WDVw{B4? zl~`Y2r_pE-1OcKbA_xM4AP@urp6B8FKCbH`2mvJBnX0@BaY+H zYPB#;6Vo)YZJQ%Uj&S<)X(lEnt^(&1iNwb}2Wqt%>2z99RrODXVf^9JrAw5{Wunn2 zk|Yrdg?e*Q6cI%cfFKBZ5$NLCb;5OBT-WVEWtt|st}`++!nt$jNT<_pr_<>_LYq{= z%F4>`bX`Ax@#4kaMw+G}iXxIE0g%aL=-fG;5CmA3#m$>H zzhls{tOq)h&*!l$iy#Q_eIL^_xpnInk|Yrhhbb0|sH*zJ($dloWI+(J)oPVyvx%Z8 z2!g=q=qUMop8o!RWLd_xZ8DimFO>gHeBWp9-n|ryMIw<1zVB15Rv8@~?Ge|uZML_! zQ4}R5tE%c9J$jT$NH4djAI>e6UBJn3yvK zt}qJ+p?0hW10Ad?A{kY}vMh96x8)!RV%2JuN~OXJ$_sqje-{Re?OXobLY&N zGXx^6tgP@eX^f;l#mDg*kh%jQ+O0==*Jc8MjgNXC{U0#5fM$-@v`1++nk?Q~1lm1> zuIsnuwY9Y!%d+&P*lN7*8v#j@sBBeu{Ob(kl4gG*itJSK%|Ni^BJTfwpux&fe^BPSTmRFWJG<=Bb z*RNySHYZP>$R`oP$+~adzg+%quF47ex8Me z1zvpdMV6PB(MNTd0A1HpZ@lqFN*)*(IA|CKgT^zIfB8AZZ;BNEy~5<=B;|4$P1DF` zvt+YbHa9n!pPy&Xo;}23F~Z?6(5~%rfN zkw}nEr%5Cd0KMM9vMge;7^|zR%-p!n=f%%p63QpbZ4L#%Cgj$m7<~q!DB8l|!-ro= zrBYV_4jw$n42~Z^P9z=YqrDd)Wwje`;Q{&}2_B#=pdR7Z+h;Mh zo6OD4;ro8Kvc@If_vLUn{KI;^K31#MIDGgpTCKs}#XY>5c$KNpDZX+AV6A;3iEocx z?Mf#Luukz?>orboJc0B@fZztmvdrAv9Iopk%krO>mXb%^9w~$VmmuK1-InkB>#bJn8c_3nKfATHHPC1@$mjFewoNn|C7Dd3 zsw$aGhJk?r`uqDyCX>i=`x>__i{as6?%uu2)vH&za^(umW|L~Qitqbhd7k&SuIumE zwq5QbCUko|&+`P@wJrwq0Y^kpd|eQPp8~nv9Zo0|A|8*EPNxZifO@@-uIo6C)9VvD zV*&V^@B4oZg5c{8JHGY5QFuUOA#|WofN*Dw0As+>&Ug@r3xW{uY^VWR$H*eE+%ax; i^1u@WA-K;D0RI6dNZ;lCil;jO0000 Date: Mon, 17 Jul 2017 12:56:37 +0300 Subject: [PATCH 06/51] add config EnableZPMandUVBatteries default false --- .../items/GT_MetaGenerated_Item_01.java | 6 + .../loaders/misc/GT_Achievements.java | 4 + .../postload/GT_MachineRecipeLoader.java | 118 ++++++++++-------- .../resources/assets/gregtech/lang/en_US.lang | 6 +- 4 files changed, 79 insertions(+), 55 deletions(-) diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java index 05f71ba2..75d911de 100644 --- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java +++ b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java @@ -449,6 +449,12 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { + ItemList.Energy_Module.set(addItem(tLastID = 736, "Energy Module", "Reusable battery", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 16L), new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 16L), OrePrefixes.battery.get(Materials.Ultimate)})); + setElectricStats(32000 + tLastID, 10000000000L, GT_Values.V[7], 7L, -3L, true); + + ItemList.Energy_Cluster.set(addItem(tLastID = 737, "Energy Cluster", "Reusable battery", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 16L), new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 64L)})); + setElectricStats(32000 + tLastID, 100000000000L, GT_Values.V[8], 8L, -3L, true); + ItemList.Electric_Motor_LV.set(addItem(tLastID = 600, "Electric Motor (LV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 1L)})); ItemList.Electric_Motor_MV.set(addItem(tLastID = 601, "Electric Motor (MV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 2L)})); ItemList.Electric_Motor_HV.set(addItem(tLastID = 602, "Electric Motor (HV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 4L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 4L)})); diff --git a/src/main/java/gregtech/loaders/misc/GT_Achievements.java b/src/main/java/gregtech/loaders/misc/GT_Achievements.java index 2266673e..d2bf8a73 100644 --- a/src/main/java/gregtech/loaders/misc/GT_Achievements.java +++ b/src/main/java/gregtech/loaders/misc/GT_Achievements.java @@ -617,6 +617,10 @@ public class GT_Achievements { issueAchievement(player, "gtwetware"); } else if (stack.getUnlocalizedName().equals("gt.metaitem.03.32095")) { issueAchievement(player, "gtwetmain"); + } else if (stack.getUnlocalizedName().equals("gt.metaitem.01.32736")) { + issueAchievement(player, "zpmage"); + } else if (stack.getUnlocalizedName().equals("gt.metaitem.01.32737")) { + issueAchievement(player, "uvage"); } } else if (stack.getUnlocalizedName().equals("gt.Thoriumcell")) { issueAchievement(player, "newfuel"); diff --git a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java index 101aaafe..fe7e0482 100644 --- a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java +++ b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java @@ -2127,59 +2127,77 @@ if(Loader.isModLoaded("Railcraft")){ Materials.SolderingAlloy.getMolten(2880), GregTech_API.mIC2Classic ? Materials.Water.getFluid(10000) : new FluidStack(FluidRegistry.getFluid("ic2coolant"), 10000) }, ItemList.Circuit_Wetwaremainframe.get(1,o), 2000, 300000); - - GT_Values.RA.addAssemblylineRecipe(ItemList.Energy_LapotronicOrb2.get(1,o), 288000, new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Europium, 16L), - ItemList.Circuit_Wetwarecomputer.get(1,o), - ItemList.Circuit_Wetwarecomputer.get(1,o), - ItemList.Circuit_Wetwarecomputer.get(1,o), - ItemList.Circuit_Wetwarecomputer.get(1,o), - ItemList.Energy_LapotronicOrb2.get(8L, new Object[0]), - ItemList.Field_Generator_LuV.get(2,o), - ItemList.Circuit_Wafer_SoC2.get(64,o), - ItemList.Circuit_Wafer_SoC2.get(64,o), - ItemList.Circuit_Parts_DiodeSMD.get(8,o), - GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Naquadah, 32), + + if (GregTech_API.sOPStuff.get(ConfigCategories.Recipes.gregtechrecipes, "EnableZPMandUVBatteries", false)) { + GT_Values.RA.addAssemblylineRecipe(ItemList.Energy_LapotronicOrb2.get(1, o), 288000, new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Europium, 16L), + ItemList.Circuit_Wetwarecomputer.get(1, o), + ItemList.Circuit_Wetwarecomputer.get(1, o), + ItemList.Circuit_Wetwarecomputer.get(1, o), + ItemList.Circuit_Wetwarecomputer.get(1, o), + ItemList.Energy_LapotronicOrb2.get(8L, new Object[0]), + ItemList.Field_Generator_LuV.get(2, o), + ItemList.Circuit_Wafer_SoC2.get(64, o), + ItemList.Circuit_Wafer_SoC2.get(64, o), + ItemList.Circuit_Parts_DiodeSMD.get(8, o), + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Naquadah, 32), }, new FluidStack[]{ - Materials.SolderingAlloy.getMolten(2880), - GregTech_API.mIC2Classic ? Materials.Water.getFluid(8000) : new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000) - }, ItemList.Energy_Module.get(1,o), 2000, 100000); + Materials.SolderingAlloy.getMolten(2880), + GregTech_API.mIC2Classic ? Materials.Water.getFluid(8000) : new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000) + }, ItemList.Energy_Module.get(1, o), 2000, 100000); - GT_Values.RA.addAssemblylineRecipe(ItemList.Energy_Module.get(1,o), 288000, new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Americium, 16L), - ItemList.Circuit_Wetwaresupercomputer.get(1,o), - ItemList.Circuit_Wetwaresupercomputer.get(1,o), - ItemList.Circuit_Wetwaresupercomputer.get(1,o), - ItemList.Circuit_Wetwaresupercomputer.get(1,o), - ItemList.Energy_Module.get(8L, new Object[0]), - ItemList.Field_Generator_ZPM.get(2,o), - ItemList.Circuit_Wafer_HPIC.get(64,o), - ItemList.Circuit_Wafer_HPIC.get(64,o), - ItemList.Circuit_Parts_DiodeSMD.get(16,o), - GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.NaquadahAlloy, 32), - }, new FluidStack[]{ - Materials.SolderingAlloy.getMolten(2880), - GregTech_API.mIC2Classic ? Materials.Water.getFluid(16000) : new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000) - }, ItemList.Energy_Cluster.get(1,o), 2000, 200000); - - GT_Values.RA.addAssemblylineRecipe(ItemList.Energy_Cluster.get(1,o), 288000, new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 16L), - ItemList.Circuit_Wetwaremainframe.get(1,o), - ItemList.Circuit_Wetwaremainframe.get(1,o), - ItemList.Circuit_Wetwaremainframe.get(1,o), - ItemList.Circuit_Wetwaremainframe.get(1,o), - ItemList.Energy_Cluster.get(8L, new Object[0]), - ItemList.Field_Generator_UV.get(2,o), - ItemList.Circuit_Neuroprocessor.get(64,o), - ItemList.Circuit_Neuroprocessor.get(64,o), - ItemList.Circuit_Parts_DiodeSMD.get(16,o), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Superconductor, 32), - }, new FluidStack[]{ - Materials.SolderingAlloy.getMolten(2880), - GregTech_API.mIC2Classic ? Materials.Water.getFluid(16000) : new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000), - Materials.Naquadria.getMolten(1152) - }, ItemList.ZPM2.get(1,o), 2000, 300000); + GT_Values.RA.addAssemblylineRecipe(ItemList.Energy_Module.get(1, o), 288000, new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Americium, 16L), + ItemList.Circuit_Wetwaresupercomputer.get(1, o), + ItemList.Circuit_Wetwaresupercomputer.get(1, o), + ItemList.Circuit_Wetwaresupercomputer.get(1, o), + ItemList.Circuit_Wetwaresupercomputer.get(1, o), + ItemList.Energy_Module.get(8L, new Object[0]), + ItemList.Field_Generator_ZPM.get(2, o), + ItemList.Circuit_Wafer_HPIC.get(64, o), + ItemList.Circuit_Wafer_HPIC.get(64, o), + ItemList.Circuit_Parts_DiodeSMD.get(16, o), + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.NaquadahAlloy, 32), + }, new FluidStack[]{ + Materials.SolderingAlloy.getMolten(2880), + GregTech_API.mIC2Classic ? Materials.Water.getFluid(16000) : new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000) + }, ItemList.Energy_Cluster.get(1, o), 2000, 200000); + GT_Values.RA.addAssemblylineRecipe(ItemList.Energy_Cluster.get(1, o), 288000, new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 16L), + ItemList.Circuit_Wetwaremainframe.get(1, o), + ItemList.Circuit_Wetwaremainframe.get(1, o), + ItemList.Circuit_Wetwaremainframe.get(1, o), + ItemList.Circuit_Wetwaremainframe.get(1, o), + ItemList.Energy_Cluster.get(8L, new Object[0]), + ItemList.Field_Generator_UV.get(2, o), + ItemList.Circuit_Neuroprocessor.get(64, o), + ItemList.Circuit_Neuroprocessor.get(64, o), + ItemList.Circuit_Parts_DiodeSMD.get(16, o), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Superconductor, 32), + }, new FluidStack[]{ + Materials.SolderingAlloy.getMolten(2880), + GregTech_API.mIC2Classic ? Materials.Water.getFluid(16000) : new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000), + Materials.Naquadria.getMolten(1152) + }, ItemList.ZPM2.get(1, o), 2000, 300000); + }else { + GT_Values.RA.addAssemblylineRecipe(ItemList.Energy_LapotronicOrb2.get(1, o), 288000, new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 16L), + ItemList.Circuit_Wetwaremainframe.get(1, o), + ItemList.Circuit_Wetwaremainframe.get(1, o), + ItemList.Circuit_Wetwaremainframe.get(1, o), + ItemList.Circuit_Wetwaremainframe.get(1, o), + ItemList.Energy_LapotronicOrb2.get(8L, new Object[0]), + ItemList.Field_Generator_UV.get(2, o), + ItemList.Circuit_Wafer_HPIC.get(64, o), + ItemList.Circuit_Wafer_HPIC.get(64, o), + ItemList.Circuit_Parts_DiodeSMD.get(16, o), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Superconductor, 32), + }, new FluidStack[]{ + Materials.SolderingAlloy.getMolten(2880), + GregTech_API.mIC2Classic ? Materials.Water.getFluid(16000) : new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000) + }, ItemList.ZPM2.get(1, o), 2000, 300000); + } GT_Values.RA.addAssemblylineRecipe(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Superconductor, 1), 144000, new ItemStack[]{ ItemList.Casing_Fusion_Coil.get(1,o), ItemList.Circuit_Quantummainframe.get(1,o), diff --git a/src/main/resources/assets/gregtech/lang/en_US.lang b/src/main/resources/assets/gregtech/lang/en_US.lang index b5f598fe..08dba553 100644 --- a/src/main/resources/assets/gregtech/lang/en_US.lang +++ b/src/main/resources/assets/gregtech/lang/en_US.lang @@ -408,12 +408,8 @@ achievement.finalpreparations=Final Preparations achievement.finalpreparations.desc=Cool down a Hot Naquadria Ingot achievement.denseaspossible=As Dense As Possible achievement.denseaspossible.desc=Produce Neutronium -achievement.zpmage=Welcome to ZPM Energy Age -achievement.zpmage.desc=Craft a Energy Module achievement.whatnow=What now? achievement.whatnow.desc=Craft a Ultimate Battery -achievement.uvage=Welcome to UV Energy Age -achievement.uvage.desc=Energy Cluster achievement.gt.metaitem.01.32606=Electric Motor LuV tier achievement.gt.metaitem.01.32606.desc=Pickup this item to see the recipe in NEI @@ -496,7 +492,7 @@ achievement.gt.metaitem.01.32609=Really Ultimate Battery achievement.gt.metaitem.01.32609.desc=Pickup this item to see the recipe in NEI achievement.gt.metaitem.01.32736=Energy Module achievement.gt.metaitem.01.32736.desc=Pickup this item to see the recipe in NEI -achievement.gt.metaitem.01.32737=Maximum Battery +achievement.gt.metaitem.01.32737=Energy Cluster achievement.gt.metaitem.01.32737.desc=Pickup this item to see the recipe in NEI achievement.ic2.itemArmorQuantumHelmet=Quantum Helmet From 848a57291a2145680e0a87f7178b416e03f1ffaa Mon Sep 17 00:00:00 2001 From: Antifluxfield Date: Sat, 22 Jul 2017 16:02:44 +0800 Subject: [PATCH 07/51] Correct description The cost is actually tripled at: https://github.com/Blood-Asp/GT5-Unofficial/blob/unstable/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java#L95 --- .../tileentities/automation/GT_MetaTileEntity_Regulator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java index aa2d6e73..cfb1b757 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java @@ -26,7 +26,7 @@ public class GT_MetaTileEntity_Regulator "Filters up to 9 different Items", "Allows Item-specific output stack size", "Allows Item-specific output slot", - "Consumes 1EU per moved Item"}); + "Consumes 3EU per moved Item"}); } public GT_MetaTileEntity_Regulator(String aName, int aTier, int aInvSlotCount, String aDescription, ITexture[][][] aTextures) { From 4995bc3a4e9a60987d121a09a91e856a9d97be82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Sat, 22 Jul 2017 18:46:11 +0200 Subject: [PATCH 08/51] Reduced direct smelting from impure/purified dust --- .../oreprocessing/ProcessingOreSmelting.java | 35 +++++++++++++++---- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java index e03f23ae..9804580c 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java @@ -24,20 +24,41 @@ public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipe if (aMaterial.mBlastFurnaceTemp <= 1000) GT_ModHandler.addRCBlastFurnaceRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 1L), aMaterial.mBlastFurnaceTemp * 2); } else { + OrePrefixes outputPrefix; + int outputSize; switch (aPrefix) { case crushed: case crushedPurified: case crushedCentrifuged: - ItemStack tStack = GT_OreDictUnificator.get(OrePrefixes.nugget, aMaterial.mDirectSmelting, aMaterial.mDirectSmelting == aMaterial ? 10L : 3L); - if (tStack == null) - tStack = GT_OreDictUnificator.get(aMaterial.contains(SubTag.SMELTING_TO_GEM) ? OrePrefixes.gem : OrePrefixes.ingot, aMaterial.mDirectSmelting, 1L); - if ((tStack == null) && (!aMaterial.contains(SubTag.SMELTING_TO_GEM))) - tStack = GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial.mDirectSmelting, 1L); - GT_ModHandler.addSmeltingRecipe(aStack, tStack); + outputPrefix = OrePrefixes.nugget; + if (aMaterial.mDirectSmelting == aMaterial) { + outputSize = 10; + } else { + outputSize = 3; + } + break; + case dustImpure: + case dustPure: + case dustRefined: + if (aMaterial.mDirectSmelting == aMaterial) { + outputPrefix = OrePrefixes.ingot; + outputSize = 1; + } else { + outputPrefix = OrePrefixes.nugget; + outputSize = 3; + } break; default: - GT_ModHandler.addSmeltingRecipe(aStack, GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial.mDirectSmelting, 1L)); + outputPrefix = OrePrefixes.ingot; + outputSize = 1; + break; } + ItemStack tStack = GT_OreDictUnificator.get(outputPrefix, aMaterial.mDirectSmelting, outputSize); + if (tStack == null) + tStack = GT_OreDictUnificator.get(aMaterial.contains(SubTag.SMELTING_TO_GEM) ? OrePrefixes.gem : OrePrefixes.ingot, aMaterial.mDirectSmelting, 1L); + if ((tStack == null) && (!aMaterial.contains(SubTag.SMELTING_TO_GEM))) + tStack = GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial.mDirectSmelting, 1L); + GT_ModHandler.addSmeltingRecipe(aStack, tStack); } } } From beaa54eb4153e11935f6107d53272c88453e3e3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Sat, 22 Jul 2017 23:21:28 +0200 Subject: [PATCH 09/51] Reworked Direct Smelting, added Magnetite -> Iron smelting All Direct Smelting recipes now yield 1 ingot per Ore Block or 5 Nuggets per Crushed Ore/Dust --- .../java/gregtech/api/enums/Materials.java | 1 + .../loaders/oreprocessing/ProcessingDust.java | 36 +++++++++---------- .../oreprocessing/ProcessingOreSmelting.java | 7 ++-- 3 files changed, 23 insertions(+), 21 deletions(-) diff --git a/src/main/java/gregtech/api/enums/Materials.java b/src/main/java/gregtech/api/enums/Materials.java index ca7cb489..6ca5ea5c 100644 --- a/src/main/java/gregtech/api/enums/Materials.java +++ b/src/main/java/gregtech/api/enums/Materials.java @@ -872,6 +872,7 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { YellowLimonite .setDirectSmelting(Iron ).add(SubTag.INDUCTIONSMELTING_LOW_OUTPUT); BrownLimonite .setDirectSmelting(Iron ); BandedIron .setDirectSmelting(Iron ); + Magnetite .setDirectSmelting(Iron ); Cassiterite .setDirectSmelting(Tin ); CassiteriteSand .setDirectSmelting(Tin ); Chromite .setDirectSmelting(Chrome ); diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java index 8284e7c6..26de1fdf 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java @@ -128,24 +128,24 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr case "Mercury": System.err.println("Quicksilver Dust?, To melt that, you don't even need a Furnace..."); break; - case "Tetrahedrite": case "Chalcopyrite": case "Malachite": - GT_ModHandler.addSmeltingRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Copper, 6L)); - break; - case "Pentlandite": - GT_ModHandler.addSmeltingRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Nickel, 6L)); - break; - case "Garnierite": - GT_ModHandler.addSmeltingRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Nickel, 1L)); - break; - case "Cassiterite": case "CassiteriteSand": - GT_ModHandler.addSmeltingRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Tin, 1L)); - break; - case "Magnetite": case "VanadiumMagnetite": case "BasalticMineralSand": case "GraniticMineralSand": - GT_ModHandler.addSmeltingRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Iron, 3L)); - break; - case "YellowLimonite": case "BrownLimonite": case "BandedIron": - GT_ModHandler.addSmeltingRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iron, 1L)); - break; +// case "Tetrahedrite": case "Chalcopyrite": case "Malachite": +// GT_ModHandler.addSmeltingRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Copper, 6L)); +// break; +// case "Pentlandite": +// GT_ModHandler.addSmeltingRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Nickel, 6L)); +// break; +// case "Garnierite": +// GT_ModHandler.addSmeltingRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Nickel, 1L)); +// break; +// case "Cassiterite": case "CassiteriteSand": +// GT_ModHandler.addSmeltingRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Tin, 1L)); +// break; +// case "Magnetite": case "VanadiumMagnetite": case "BasalticMineralSand": case "GraniticMineralSand": +// GT_ModHandler.addSmeltingRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Iron, 3L)); +// break; +// case "YellowLimonite": case "BrownLimonite": case "BandedIron": +// GT_ModHandler.addSmeltingRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iron, 1L)); +// break; case "Coal": if (GT_Mod.gregtechproxy.mTEMachineRecipes) GT_ModHandler.addLiquidTransposerFillRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), Materials.Water.getFluid(125L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.HydratedCoal, 1L), 125); diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java index 9804580c..3e9149fa 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java @@ -10,7 +10,7 @@ import gregtech.api.util.GT_Utility; import net.minecraft.item.ItemStack; public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipeRegistrator { - private final OrePrefixes[] mSmeltingPrefixes = {OrePrefixes.crushed, OrePrefixes.crushedPurified, OrePrefixes.crushedCentrifuged, OrePrefixes.dustImpure, OrePrefixes.dustPure, OrePrefixes.dustRefined}; + private final OrePrefixes[] mSmeltingPrefixes = {OrePrefixes.crushed, OrePrefixes.crushedPurified, OrePrefixes.crushedCentrifuged, OrePrefixes.dust, OrePrefixes.dustImpure, OrePrefixes.dustPure, OrePrefixes.dustRefined}; public ProcessingOreSmelting() { for (OrePrefixes tPrefix : this.mSmeltingPrefixes) tPrefix.add(this); @@ -34,9 +34,10 @@ public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipe if (aMaterial.mDirectSmelting == aMaterial) { outputSize = 10; } else { - outputSize = 3; + outputSize = 5; } break; + case dust: case dustImpure: case dustPure: case dustRefined: @@ -45,7 +46,7 @@ public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipe outputSize = 1; } else { outputPrefix = OrePrefixes.nugget; - outputSize = 3; + outputSize = 5; } break; default: From 8fa91db261def5087ff4dcf25de899de36457a98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Sun, 23 Jul 2017 15:01:09 +0200 Subject: [PATCH 10/51] Added BBF Recipes for increased output from Direct Smelting --- src/main/java/gregtech/api/enums/Materials.java | 17 +++++++++++------ src/main/java/gregtech/api/enums/SubTag.java | 5 +++++ .../oreprocessing/ProcessingOreSmelting.java | 12 ++++++++++++ .../postload/GT_MachineRecipeLoader.java | 8 ++++++-- 4 files changed, 34 insertions(+), 8 deletions(-) diff --git a/src/main/java/gregtech/api/enums/Materials.java b/src/main/java/gregtech/api/enums/Materials.java index 6ca5ea5c..fe240c8b 100644 --- a/src/main/java/gregtech/api/enums/Materials.java +++ b/src/main/java/gregtech/api/enums/Materials.java @@ -538,6 +538,7 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { public static Materials HeavyFuel = new Materials(741, TextureSet.SET_FLUID, 1.0F, 0, 0, 16, 255, 255, 0, 0, "HeavyFuel", "Heavy Fuel", 3, 192, -1, 0, false, false, 1, 1, 1, Dyes.dyeBlack).setCanBeCracked(true); public static Materials LPG = new Materials(742, TextureSet.SET_FLUID, 1.0F, 0, 0, 16, 255, 255, 0, 0, "LPG", "LPG", 1, 256, -1, 0, false, false, 1, 1, 1, Dyes.dyeYellow); + public static Materials Ferrosilite = new MaterialBuilder(624, TextureSet.SET_DULL, "Ferrosilite").addDustItems().setRGB(151, 99, 42).setColor(Dyes.dyeBrown).setMaterialList(new MaterialStack(Iron, 1), new MaterialStack(Silicon, 1), new MaterialStack(Oxygen, 3)).addElectrolyzerRecipe().constructMaterial(); public static Materials Brick = new MaterialBuilder(625, TextureSet.SET_ROUGH, "Brick").addDustItems().setRGB(155, 86, 67).setColor(Dyes.dyeBrown).setMaterialList(new MaterialStack(Aluminium, 4), new MaterialStack(Silicon, 3), new MaterialStack(Oxygen, 12)).constructMaterial(); public static Materials Fireclay = new MaterialBuilder(626, TextureSet.SET_ROUGH, "Fireclay").addDustItems().setRGB(173, 160, 155).setColor(Dyes.dyeBrown).setMaterialList(new MaterialStack(Brick, 1)).constructMaterial(); public static Materials BioDiesel = new MaterialBuilder(627, TextureSet.SET_FLUID, "Bio Diesel").addCell().addFluid().setRGB(255, 128, 0).setColor(Dyes.dyeOrange).setFuelType(MaterialBuilder.DIESEL).setFuelPower(192).constructMaterial(); @@ -861,8 +862,8 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { Mercury .add(SubTag.SMELTING_TO_GEM); Cinnabar .setDirectSmelting(Mercury ).add(SubTag.INDUCTIONSMELTING_LOW_OUTPUT).add(SubTag.SMELTING_TO_GEM); - Tetrahedrite .setDirectSmelting(Copper ).add(SubTag.INDUCTIONSMELTING_LOW_OUTPUT); - Chalcopyrite .setDirectSmelting(Copper ).add(SubTag.INDUCTIONSMELTING_LOW_OUTPUT); + Tetrahedrite .setDirectSmelting(Copper ).add(SubTag.INDUCTIONSMELTING_LOW_OUTPUT).add(SubTag.DONT_ADD_DEFAULT_BBF_RECIPE); + Chalcopyrite .setDirectSmelting(Copper ).add(SubTag.INDUCTIONSMELTING_LOW_OUTPUT).add(SubTag.DONT_ADD_DEFAULT_BBF_RECIPE); Malachite .setDirectSmelting(Copper ).add(SubTag.INDUCTIONSMELTING_LOW_OUTPUT); Pentlandite .setDirectSmelting(Nickel ).add(SubTag.INDUCTIONSMELTING_LOW_OUTPUT); Sphalerite .setDirectSmelting(Zinc ).add(SubTag.INDUCTIONSMELTING_LOW_OUTPUT); @@ -879,10 +880,10 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { Garnierite .setDirectSmelting(Nickel ); Cobaltite .setDirectSmelting(Cobalt ); Stibnite .setDirectSmelting(Antimony ); - Cooperite .setDirectSmelting(Platinum ); - Pyrolusite .setDirectSmelting(Manganese ); - Magnesite .setDirectSmelting(Magnesium ); - Molybdenite .setDirectSmelting(Molybdenum ); + Cooperite .setDirectSmelting(Platinum ).add(SubTag.DONT_ADD_DEFAULT_BBF_RECIPE); + Pyrolusite .setDirectSmelting(Manganese ).add(SubTag.DONT_ADD_DEFAULT_BBF_RECIPE); + Magnesite .setDirectSmelting(Magnesium ).add(SubTag.DONT_ADD_DEFAULT_BBF_RECIPE); + Molybdenite .setDirectSmelting(Molybdenum ).add(SubTag.DONT_ADD_DEFAULT_BBF_RECIPE); Amber .setOreMultiplier( 2).setSmeltingMultiplier( 2); InfusedAir .setOreMultiplier( 2).setSmeltingMultiplier( 2); @@ -2101,6 +2102,10 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { return GT_OreDictUnificator.get(OrePrefixes.ingot, this, amount); } + public ItemStack getNuggets(int amount){ + return GT_OreDictUnificator.get(OrePrefixes.nugget, this, amount); + } + public ItemStack getBlocks(int amount){ return GT_OreDictUnificator.get(OrePrefixes.block, this, amount); } diff --git a/src/main/java/gregtech/api/enums/SubTag.java b/src/main/java/gregtech/api/enums/SubTag.java index 7de2176e..e1b9eaab 100644 --- a/src/main/java/gregtech/api/enums/SubTag.java +++ b/src/main/java/gregtech/api/enums/SubTag.java @@ -30,6 +30,11 @@ public final class SubTag implements ICondition { * Iron, Pyrite, PigIron, DeepIron, ShadowIron, WroughtIron and MeteoricIron. */ public static final SubTag BLASTFURNACE_CALCITE_DOUBLE = getNewSubTag("BLASTFURNACE_CALCITE_DOUBLE"), BLASTFURNACE_CALCITE_TRIPLE = getNewSubTag("BLASTFURNACE_CALCITE_TRIPLE"); + /** + * Add this to a material with Direct Smelting to prevent the automatic generation of a Bricked/Bronze Blast Furnace recipe. Already listed are: + * Chalcopyrite, Tetrahedrite + */ + public static final SubTag DONT_ADD_DEFAULT_BBF_RECIPE = getNewSubTag("DONT_AUTOGENERATE_BBF_RECIPE"); /** * Materials which are outputting less in an Induction Smelter. Already listed are: * Pyrite, Tetrahedrite, Sphalerite, Cinnabar diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java index 3e9149fa..e1fe0489 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java @@ -7,6 +7,7 @@ import gregtech.api.enums.SubTag; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; +import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipeRegistrator { @@ -38,6 +39,17 @@ public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipe } break; case dust: + if (aMaterial.mDirectSmelting != aMaterial) { + if (!aMaterial.contains(SubTag.DONT_ADD_DEFAULT_BBF_RECIPE)) { + GT_Values.RA.addPrimitiveBlastRecipe(GT_Utility.copyAmount(2, aStack), GT_Values.NI, 2, aMaterial.mDirectSmelting.getIngots(2), GT_Values.NI, 2400); + } else if (aMaterial == Materials.Chalcopyrite) { + GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), new ItemStack(Blocks.sand, 2), 2, aMaterial.mDirectSmelting.getIngots(2), Materials.Ferrosilite.getDustSmall(4), 2400); + GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), Materials.Glass.getDust(2), 2, aMaterial.mDirectSmelting.getIngots(2), Materials.Ferrosilite.getDustTiny(14), 2400); + GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), Materials.SiliconDioxide.getDust(2), 2, aMaterial.mDirectSmelting.getIngots(2), Materials.Ferrosilite.getDust(2), 2400); + } else if (aMaterial == Materials.Tetrahedrite) { + GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), GT_Values.NI, 2, aMaterial.mDirectSmelting.getIngots(2), Materials.Antimony.getNuggets(6), 2400); + } + } case dustImpure: case dustPure: case dustRefined: diff --git a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java index ea7781c7..9cef05cf 100644 --- a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java +++ b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java @@ -1639,7 +1639,7 @@ if(Loader.isModLoaded("Railcraft")){ GT_Values.RA.addAutoclaveRecipe(Materials.SiliconDioxide.getDust(1), GT_ModHandler.getDistilledWater(200L), Materials.Quartzite.getGems(1), 1000, 1500, 24); addRecipesMay2017OilRefining(); - addPrimitiveBlastFurnaceRecipes(); + addPyrometallurgicalRecipes(); } public void addProcess(ItemStack tCrop, Materials aMaterial, int chance, boolean aMainOutput) { @@ -3096,7 +3096,11 @@ if(Loader.isModLoaded("Railcraft")){ GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gunpowder, 1L), null, null, null, new FluidStack(FluidRegistry.getFluid("potion."+aName+".long"),750), new FluidStack(FluidRegistry.getFluid("potion."+aName+".long.splash"),750), null, 200, 24); } - private void addPrimitiveBlastFurnaceRecipes() { + /** + * Adds recipes related to producing Steel in a Primitive Blast Furnace. + * Adds recipes related to roasting sulfuric ores and reducing oxidic ores in the Electric Blast Furnace. + */ + private void addPyrometallurgicalRecipes() { GT_Values.RA.addPrimitiveBlastRecipe(Materials.Iron.getIngots(1), GT_Values.NI, 4, Materials.Steel.getIngots(1), GT_Values.NI, 7200); GT_Values.RA.addPrimitiveBlastRecipe(Materials.Iron.getDust(1), GT_Values.NI, 4, Materials.Steel.getIngots(1), GT_Values.NI, 7200); GT_Values.RA.addPrimitiveBlastRecipe(Materials.Iron.getBlocks(1), GT_Values.NI, 36, Materials.Steel.getIngots(9), GT_Values.NI, 64800); From f95d89a5e6b1ab6b3e7fab5e56f9b51e21ae78e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Sun, 23 Jul 2017 21:30:57 +0200 Subject: [PATCH 11/51] Implemented Roasting and Carbothermic Reduction for the EBF. --- .../java/gregtech/api/enums/Materials.java | 5 ++ .../java/gregtech/common/GT_RecipeAdder.java | 3 +- .../postload/GT_MachineRecipeLoader.java | 49 +++++++++++++++++++ 3 files changed, 56 insertions(+), 1 deletion(-) diff --git a/src/main/java/gregtech/api/enums/Materials.java b/src/main/java/gregtech/api/enums/Materials.java index fe240c8b..39ce23af 100644 --- a/src/main/java/gregtech/api/enums/Materials.java +++ b/src/main/java/gregtech/api/enums/Materials.java @@ -538,6 +538,11 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { public static Materials HeavyFuel = new Materials(741, TextureSet.SET_FLUID, 1.0F, 0, 0, 16, 255, 255, 0, 0, "HeavyFuel", "Heavy Fuel", 3, 192, -1, 0, false, false, 1, 1, 1, Dyes.dyeBlack).setCanBeCracked(true); public static Materials LPG = new Materials(742, TextureSet.SET_FLUID, 1.0F, 0, 0, 16, 255, 255, 0, 0, "LPG", "LPG", 1, 256, -1, 0, false, false, 1, 1, 1, Dyes.dyeYellow); + public static Materials ArsenicTrioxide = new MaterialBuilder(619, TextureSet.SET_SHINY, "Arsenic Trioxide").addDustItems().setRGB(255, 255, 255).setColor(Dyes.dyeGreen).setMaterialList(new MaterialStack(Arsenic, 2), new MaterialStack(Oxygen, 3)).addElectrolyzerRecipe().constructMaterial(); + public static Materials CobaltOxide = new MaterialBuilder(620, TextureSet.SET_DULL, "Cobalt Oxide").addDustItems().setRGB(102, 128, 0).setColor(Dyes.dyeGreen).setMaterialList(new MaterialStack(Cobalt, 1), new MaterialStack(Oxygen, 1)).addElectrolyzerRecipe().constructMaterial(); + public static Materials Zincite = new MaterialBuilder(621, TextureSet.SET_DULL, "Zincite").addDustItems().setRGB(255, 255, 245).setColor(Dyes.dyeWhite).setMaterialList(new MaterialStack(Zinc, 1), new MaterialStack(Oxygen, 1)).addElectrolyzerRecipe().constructMaterial(); + public static Materials AntimonyTrioxide = new MaterialBuilder(622, TextureSet.SET_DULL, "Antimony Trioxide").addDustItems().setRGB(230, 230, 240).setColor(Dyes.dyeWhite).setMaterialList(new MaterialStack(Antimony, 2), new MaterialStack(Oxygen, 3)).addElectrolyzerRecipe().constructMaterial(); + public static Materials CupricOxide = new MaterialBuilder(623, TextureSet.SET_DULL, "Cupric Oxide").addDustItems().setRGB(15, 15, 15).setColor(Dyes.dyeBlack).setMaterialList(new MaterialStack(Copper, 1), new MaterialStack(Oxygen, 1)).addElectrolyzerRecipe().constructMaterial(); public static Materials Ferrosilite = new MaterialBuilder(624, TextureSet.SET_DULL, "Ferrosilite").addDustItems().setRGB(151, 99, 42).setColor(Dyes.dyeBrown).setMaterialList(new MaterialStack(Iron, 1), new MaterialStack(Silicon, 1), new MaterialStack(Oxygen, 3)).addElectrolyzerRecipe().constructMaterial(); public static Materials Brick = new MaterialBuilder(625, TextureSet.SET_ROUGH, "Brick").addDustItems().setRGB(155, 86, 67).setColor(Dyes.dyeBrown).setMaterialList(new MaterialStack(Aluminium, 4), new MaterialStack(Silicon, 3), new MaterialStack(Oxygen, 12)).constructMaterial(); public static Materials Fireclay = new MaterialBuilder(626, TextureSet.SET_ROUGH, "Fireclay").addDustItems().setRGB(173, 160, 155).setColor(Dyes.dyeBrown).setMaterialList(new MaterialStack(Brick, 1)).constructMaterial(); diff --git a/src/main/java/gregtech/common/GT_RecipeAdder.java b/src/main/java/gregtech/common/GT_RecipeAdder.java index 28a5902c..43755c27 100644 --- a/src/main/java/gregtech/common/GT_RecipeAdder.java +++ b/src/main/java/gregtech/common/GT_RecipeAdder.java @@ -173,7 +173,8 @@ public class GT_RecipeAdder if ((aDuration = GregTech_API.sRecipeFile.get("blastfurnace", aInput1, aDuration)) <= 0) { return false; } - GT_Recipe.GT_Recipe_Map.sBlastRecipes.addRecipe(true, new ItemStack[]{aInput1, aInput2}, new ItemStack[]{aOutput1, aOutput2}, null, null, new FluidStack[]{aFluidInput}, null, aDuration, aEUt, aLevel); + GT_Recipe.GT_Recipe_Map.sBlastRecipes.addRecipe(true, new ItemStack[]{aInput1, aInput2}, new ItemStack[]{aOutput1, aOutput2}, null, null, + new FluidStack[]{aFluidInput}, new FluidStack[]{aFluidOutput}, aDuration, aEUt, aLevel); return true; } diff --git a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java index 9cef05cf..0b737524 100644 --- a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java +++ b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java @@ -3106,6 +3106,55 @@ if(Loader.isModLoaded("Railcraft")){ GT_Values.RA.addPrimitiveBlastRecipe(Materials.Iron.getBlocks(1), GT_Values.NI, 36, Materials.Steel.getIngots(9), GT_Values.NI, 64800); GT_Values.RA.addPrimitiveBlastRecipe(Materials.Steel.getDust(1), GT_Values.NI, 2, Materials.Steel.getIngots(1), GT_Values.NI, 7200); + //Roasting + GT_Values.RA.addBlastRecipe(Materials.Tetrahedrite.getDust(1), GT_Values.NI, Materials.Oxygen.getGas(3000), Materials.SulfurDioxide.getGas(2000), Materials.CupricOxide.getDust(1), Materials.AntimonyTrioxide.getDustTiny(3), 120, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.Chalcopyrite.getDust(1), Materials.SiliconDioxide.getDust(1), Materials.Oxygen.getGas(3000), Materials.SulfurDioxide.getGas(2000), Materials.CupricOxide.getDust(1), Materials.Ferrosilite.getDust(1), 120, 120, 1200); + + GT_Values.RA.addBlastRecipe(Materials.Pyrite.getDust(1), GT_Values.NI, Materials.Oxygen.getGas(3000), Materials.SulfurDioxide.getGas(2000), Materials.BandedIron.getDust(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + + GT_Values.RA.addBlastRecipe(Materials.Pentlandite.getDust(1), GT_Values.NI, Materials.Oxygen.getGas(3000), Materials.SulfurDioxide.getGas(1000), Materials.Garnierite.getDust(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + + GT_Values.RA.addBlastRecipe(Materials.Sphalerite.getDust(1), GT_Values.NI, Materials.Oxygen.getGas(3000), Materials.SulfurDioxide.getGas(1000), Materials.Zincite.getDust(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + + GT_Values.RA.addBlastRecipe(Materials.Cobaltite.getDust(1), GT_Values.NI, Materials.Oxygen.getGas(3000), Materials.SulfurDioxide.getGas(1000), Materials.CobaltOxide.getDust(1), Materials.ArsenicTrioxide.getDust(1), 120, 120, 1200); + + GT_Values.RA.addBlastRecipe(Materials.Stibnite.getDust(1), GT_Values.NI, Materials.Oxygen.getGas(3000), Materials.SulfurDioxide.getGas(1000), Materials.AntimonyTrioxide.getDust(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + + //Carbothermic Reduction + GT_Values.RA.addBlastRecipe(Materials.CupricOxide.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Copper.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.CupricOxide.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Copper.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.Malachite.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(1500), Materials.Copper.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.Malachite.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(3000), Materials.Copper.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + + GT_Values.RA.addBlastRecipe(Materials.AntimonyTrioxide.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(1500), Materials.Antimony.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.AntimonyTrioxide.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(3000), Materials.Antimony.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + + GT_Values.RA.addBlastRecipe(Materials.BandedIron.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Iron.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.BandedIron.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.Magnetite.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Iron.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.Magnetite.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.YellowLimonite.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Iron.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.YellowLimonite.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.BrownLimonite.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Iron.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.BrownLimonite.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.BasalticMineralSand.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Iron.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.BasalticMineralSand.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.GraniticMineralSand.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Iron.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.GraniticMineralSand.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + + GT_Values.RA.addBlastRecipe(Materials.Cassiterite.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Tin.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.Cassiterite.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Tin.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.CassiteriteSand.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Tin.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.CassiteriteSand.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Tin.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + + GT_Values.RA.addBlastRecipe(Materials.Garnierite.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Nickel.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.Garnierite.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Nickel.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + + GT_Values.RA.addBlastRecipe(Materials.CobaltOxide.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Cobalt.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.CobaltOxide.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Cobalt.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + + GT_Values.RA.addBlastRecipe(Materials.ArsenicTrioxide.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Arsenic.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.ArsenicTrioxide.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Arsenic.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); } } From f816fbbd97e8440b346e73f266ec4c452d518e77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Sun, 23 Jul 2017 21:55:53 +0200 Subject: [PATCH 12/51] Removed redundant Magnetite Blast recipe --- .../gregtech/loaders/postload/GT_MachineRecipeLoader.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java index 0b737524..984c3339 100644 --- a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java +++ b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java @@ -999,8 +999,6 @@ if(Loader.isModLoaded("Railcraft")){ GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnesium, 2L), GT_Values.NI, Materials.Titaniumtetrachloride.getFluid(1000L), GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.Titanium, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnesiumchloride, 2L), 800, 480, Materials.Titanium.mBlastFurnaceTemp + 200); GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Galena, 1L), GT_Values.NI, Materials.Oxygen.getGas(2000L), GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Silver, 4L), GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Lead, 4L), 400, 500, 1500); GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Galena, 1L), GT_Values.NI, Materials.Oxygen.getGas(2000L), GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Silver, 5L), GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Lead, 5L), 320, 500, 1500); - GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnetite, 1L), GT_Values.NI, Materials.Oxygen.getGas(2000L), GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.WroughtIron, 4L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.DarkAsh, 1L), 400, 500, 1000); - GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Magnetite, 1L), GT_Values.NI, Materials.Oxygen.getGas(2000L), GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.WroughtIron, 5L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Ash, 1L), 320, 500, 1000); GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iron, 1L), GT_Values.NI, Materials.Oxygen.getGas(1000L), GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 1L), null, 500, 120, 1000); GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.PigIron, 1L), GT_Values.NI, Materials.Oxygen.getGas(1000L), GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 1L), null, 100, 120, 1000); GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.WroughtIron, 1L), GT_Values.NI, Materials.Oxygen.getGas(1000L), GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 1L), null, 100, 120, 1000); @@ -3118,7 +3116,7 @@ if(Loader.isModLoaded("Railcraft")){ GT_Values.RA.addBlastRecipe(Materials.Cobaltite.getDust(1), GT_Values.NI, Materials.Oxygen.getGas(3000), Materials.SulfurDioxide.getGas(1000), Materials.CobaltOxide.getDust(1), Materials.ArsenicTrioxide.getDust(1), 120, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.Stibnite.getDust(1), GT_Values.NI, Materials.Oxygen.getGas(3000), Materials.SulfurDioxide.getGas(1000), Materials.AntimonyTrioxide.getDust(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.Stibnite.getDust(1), GT_Values.NI, Materials.Oxygen.getGas(3000), Materials.SulfurDioxide.getGas(1500), Materials.AntimonyTrioxide.getDust(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); //Carbothermic Reduction GT_Values.RA.addBlastRecipe(Materials.CupricOxide.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Copper.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); From a687bcd24ee1ff97ad6d86f84f1748e1cd0129a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Sun, 23 Jul 2017 23:22:06 +0200 Subject: [PATCH 13/51] Changed Galena Formula: Pb3Ag3S2 -> PbS, added PbS -> Pb direct smelting Also added the corresponding pyrometallurgical recipes. --- src/main/java/gregtech/api/enums/Materials.java | 6 ++++-- src/main/java/gregtech/common/items/ItemComb.java | 1 - .../gregtech/loaders/postload/GT_MachineRecipeLoader.java | 8 +++++--- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/main/java/gregtech/api/enums/Materials.java b/src/main/java/gregtech/api/enums/Materials.java index 39ce23af..107c8293 100644 --- a/src/main/java/gregtech/api/enums/Materials.java +++ b/src/main/java/gregtech/api/enums/Materials.java @@ -468,7 +468,7 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { public static Materials Electrum = new Materials(303, TextureSet.SET_SHINY, 12.0F, 64, 2, 1|2|64|128, 255, 255, 100, 0, "Electrum", "Electrum", 0, 0, -1, 0, false, false, 4, 1, 1, Dyes.dyeYellow, 2, Arrays.asList(new MaterialStack(Silver, 1), new MaterialStack(Gold, 1))); public static Materials Emerald = new Materials(501, TextureSet.SET_EMERALD, 7.0F, 256, 2, 1|4|8 |64, 80, 255, 80, 127, "Emerald", "Emerald", 0, 0, -1, 0, false, true, 5, 1, 1, Dyes.dyeGreen, 1, Arrays.asList(new MaterialStack(Beryllium, 3), new MaterialStack(Aluminium, 2), new MaterialStack(Silicon, 6), new MaterialStack(Oxygen, 18)), Arrays.asList(new TC_AspectStack(TC_Aspects.VITREUS, 3), new TC_AspectStack(TC_Aspects.LUCRUM, 5))); public static Materials FreshWater = new Materials(-1, TextureSet.SET_FLUID, 1.0F, 0, 0, 16, 0, 0, 255, 0, "FreshWater", "Fresh Water", 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyeBlue, 0, Arrays.asList(new MaterialStack(Hydrogen, 2), new MaterialStack(Oxygen, 1)), Arrays.asList(new TC_AspectStack(TC_Aspects.AQUA, 2))); - public static Materials Galena = new Materials(830, TextureSet.SET_DULL, 1.0F, 0, 3, 1 |8 , 100, 60, 100, 0, "Galena", "Galena", 0, 0, -1, 0, false, false, 4, 1, 1, Dyes.dyePurple, 1, Arrays.asList(new MaterialStack(Lead, 3), new MaterialStack(Silver, 3), new MaterialStack(Sulfur, 2))); + public static Materials Galena = new Materials(830, TextureSet.SET_DULL, 1.0F, 0, 3, 1 |8 , 100, 60, 100, 0, "Galena", "Galena", 0, 0, -1, 0, false, false, 4, 1, 1, Dyes.dyePurple, 1, Arrays.asList(new MaterialStack(Lead, 1), new MaterialStack(Sulfur, 1))); public static Materials Garnierite = new Materials(906, TextureSet.SET_METALLIC, 1.0F, 0, 3, 1 |8 , 50, 200, 70, 0, "Garnierite", "Garnierite", 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyeLightBlue, 1, Arrays.asList(new MaterialStack(Nickel, 1), new MaterialStack(Oxygen, 1))); public static Materials Glyceryl = new Materials(714, TextureSet.SET_FLUID, 1.0F, 0, 1, 16, 0, 150, 150, 0, "Glyceryl", "Glyceryl Trinitrate", 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyeCyan, 1, Arrays.asList(new MaterialStack(Carbon, 3), new MaterialStack(Hydrogen, 5), new MaterialStack(Nitrogen, 3), new MaterialStack(Oxygen, 9))); public static Materials GreenSapphire = new Materials(504, TextureSet.SET_GEM_HORIZONTAL, 7.0F, 256, 2, 1|4|8 |64, 100, 200, 130, 127, "GreenSapphire", "Green Sapphire", 0, 0, -1, 0, false, true, 5, 1, 1, Dyes.dyeCyan, 1, Arrays.asList(new MaterialStack(Aluminium, 2), new MaterialStack(Oxygen, 3)), Arrays.asList(new TC_AspectStack(TC_Aspects.LUCRUM, 5), new TC_AspectStack(TC_Aspects.VITREUS, 3))); @@ -538,6 +538,7 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { public static Materials HeavyFuel = new Materials(741, TextureSet.SET_FLUID, 1.0F, 0, 0, 16, 255, 255, 0, 0, "HeavyFuel", "Heavy Fuel", 3, 192, -1, 0, false, false, 1, 1, 1, Dyes.dyeBlack).setCanBeCracked(true); public static Materials LPG = new Materials(742, TextureSet.SET_FLUID, 1.0F, 0, 0, 16, 255, 255, 0, 0, "LPG", "LPG", 1, 256, -1, 0, false, false, 1, 1, 1, Dyes.dyeYellow); + public static Materials Massicot = new MaterialBuilder(618, TextureSet.SET_DULL, "Massicot").addDustItems().setRGB(255, 221, 85).setColor(Dyes.dyeYellow).setMaterialList(new MaterialStack(Lead, 1), new MaterialStack(Oxygen, 1)).addElectrolyzerRecipe().constructMaterial(); public static Materials ArsenicTrioxide = new MaterialBuilder(619, TextureSet.SET_SHINY, "Arsenic Trioxide").addDustItems().setRGB(255, 255, 255).setColor(Dyes.dyeGreen).setMaterialList(new MaterialStack(Arsenic, 2), new MaterialStack(Oxygen, 3)).addElectrolyzerRecipe().constructMaterial(); public static Materials CobaltOxide = new MaterialBuilder(620, TextureSet.SET_DULL, "Cobalt Oxide").addDustItems().setRGB(102, 128, 0).setColor(Dyes.dyeGreen).setMaterialList(new MaterialStack(Cobalt, 1), new MaterialStack(Oxygen, 1)).addElectrolyzerRecipe().constructMaterial(); public static Materials Zincite = new MaterialBuilder(621, TextureSet.SET_DULL, "Zincite").addDustItems().setRGB(255, 255, 245).setColor(Dyes.dyeWhite).setMaterialList(new MaterialStack(Zinc, 1), new MaterialStack(Oxygen, 1)).addElectrolyzerRecipe().constructMaterial(); @@ -889,7 +890,8 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { Pyrolusite .setDirectSmelting(Manganese ).add(SubTag.DONT_ADD_DEFAULT_BBF_RECIPE); Magnesite .setDirectSmelting(Magnesium ).add(SubTag.DONT_ADD_DEFAULT_BBF_RECIPE); Molybdenite .setDirectSmelting(Molybdenum ).add(SubTag.DONT_ADD_DEFAULT_BBF_RECIPE); - + Galena .setDirectSmelting(Lead ); + Amber .setOreMultiplier( 2).setSmeltingMultiplier( 2); InfusedAir .setOreMultiplier( 2).setSmeltingMultiplier( 2); InfusedFire .setOreMultiplier( 2).setSmeltingMultiplier( 2); diff --git a/src/main/java/gregtech/common/items/ItemComb.java b/src/main/java/gregtech/common/items/ItemComb.java index 6ee6d790..61b0fb5c 100644 --- a/src/main/java/gregtech/common/items/ItemComb.java +++ b/src/main/java/gregtech/common/items/ItemComb.java @@ -212,7 +212,6 @@ public class ItemComb extends Item { tComb = getStackForType(CombType.SILVER); addSpecialCent(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Silver, 1), 30); addProcess(tComb, Materials.Silver, 100); - addProcess(tComb, Materials.Galena, 100); tComb = getStackForType(CombType.GOLD); addProcess(tComb, Materials.Gold, 100); addProcess(tComb, Materials.Magnetite, Materials.Gold, 100); diff --git a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java index 984c3339..1e29c895 100644 --- a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java +++ b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java @@ -997,8 +997,6 @@ if(Loader.isModLoaded("Railcraft")){ GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ilmenite, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 1L), GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.WroughtIron, 4L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Rutile, 4L), 800, 500, 1700); GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Ilmenite, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 1L), GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.WroughtIron, 4L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Rutile, 4L), 800, 500, 1700); GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnesium, 2L), GT_Values.NI, Materials.Titaniumtetrachloride.getFluid(1000L), GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.Titanium, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnesiumchloride, 2L), 800, 480, Materials.Titanium.mBlastFurnaceTemp + 200); - GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Galena, 1L), GT_Values.NI, Materials.Oxygen.getGas(2000L), GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Silver, 4L), GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Lead, 4L), 400, 500, 1500); - GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Galena, 1L), GT_Values.NI, Materials.Oxygen.getGas(2000L), GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Silver, 5L), GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Lead, 5L), 320, 500, 1500); GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iron, 1L), GT_Values.NI, Materials.Oxygen.getGas(1000L), GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 1L), null, 500, 120, 1000); GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.PigIron, 1L), GT_Values.NI, Materials.Oxygen.getGas(1000L), GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 1L), null, 100, 120, 1000); GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.WroughtIron, 1L), GT_Values.NI, Materials.Oxygen.getGas(1000L), GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 1L), null, 100, 120, 1000); @@ -1571,7 +1569,6 @@ if(Loader.isModLoaded("Railcraft")){ addProcess(tCrop, Materials.Sulfur, 100, false); tCrop = ItemList.Crop_Drop_Argentia.get(1, new Object[0]); addProcess(tCrop, Materials.Silver, 100, true); - addProcess(tCrop, Materials.Galena, 100, false); tCrop = ItemList.Crop_Drop_Aurelia.get(1, new Object[0]); addProcess(tCrop, Materials.Gold, 100, true); addProcess(tCrop, Materials.Magnetite, Materials.Gold, 100, false); @@ -3118,6 +3115,8 @@ if(Loader.isModLoaded("Railcraft")){ GT_Values.RA.addBlastRecipe(Materials.Stibnite.getDust(1), GT_Values.NI, Materials.Oxygen.getGas(3000), Materials.SulfurDioxide.getGas(1500), Materials.AntimonyTrioxide.getDust(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.Galena.getDust(1), GT_Values.NI, Materials.Oxygen.getGas(3000), Materials.SulfurDioxide.getGas(1000), Materials.Massicot.getDust(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + //Carbothermic Reduction GT_Values.RA.addBlastRecipe(Materials.CupricOxide.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Copper.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); GT_Values.RA.addBlastRecipe(Materials.CupricOxide.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Copper.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); @@ -3153,6 +3152,9 @@ if(Loader.isModLoaded("Railcraft")){ GT_Values.RA.addBlastRecipe(Materials.ArsenicTrioxide.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Arsenic.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); GT_Values.RA.addBlastRecipe(Materials.ArsenicTrioxide.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Arsenic.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + + GT_Values.RA.addBlastRecipe(Materials.Massicot.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Lead.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.Massicot.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Lead.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); } } From 306160fb69b41376644d793803c67b85bc125af3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Mon, 24 Jul 2017 11:14:52 +0200 Subject: [PATCH 14/51] Implemented Fluid Output for the EBF Regular Fluids are put out at the bottom layer. CO2, CO, and SO2 are put out at the top layer and their amount scales with the tier of the EBF's Muffler Hatch --- .../GT_MetaTileEntity_Hatch_Muffler.java | 4 +- ...T_MetaTileEntity_ElectricBlastFurnace.java | 64 +++++++++++++++++-- 2 files changed, 62 insertions(+), 6 deletions(-) diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Muffler.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Muffler.java index 86547d17..e6f4f3d7 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Muffler.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Muffler.java @@ -28,10 +28,12 @@ public class GT_MetaTileEntity_Hatch_Muffler extends GT_MetaTileEntity_Hatch { @Override public String[] getDescription() { - String[] desc = new String[mDescriptionArray.length + 2]; + String[] desc = new String[mDescriptionArray.length + 3]; System.arraycopy(mDescriptionArray, 0, desc, 0, mDescriptionArray.length); desc[mDescriptionArray.length] = "DO NOT OBSTRUCT THE OUTPUT!"; desc[mDescriptionArray.length + 1] = "Reduces Pollution to " + calculatePollutionReduction(100) + "%"; + //Pollution Recovery scales from 5% at LV to 100% at MAX Voltage + desc[mDescriptionArray.length + 2] = "Recovers " + (105 - calculatePollutionReduction(100)) + "% of CO2/CO/SO2"; return desc; } diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java index 3823e38a..1e729b5c 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java @@ -1,13 +1,17 @@ package gregtech.common.tileentities.machines.multi; import gregtech.api.GregTech_API; +import gregtech.api.enums.Materials; import gregtech.api.enums.Textures; import gregtech.api.gui.GT_GUIContainer_MultiMachine; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Muffler; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase; import gregtech.api.objects.GT_RenderedTexture; +import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; import net.minecraft.entity.player.InventoryPlayer; @@ -20,6 +24,9 @@ import java.util.ArrayList; public class GT_MetaTileEntity_ElectricBlastFurnace extends GT_MetaTileEntity_MultiBlockBase { private int mHeatingCapacity = 0; + private int controllerY; + private FluidStack[] pollutionFluidStacks = new FluidStack[]{Materials.CarbonDioxide.getGas(1000), + Materials.CarbonMonoxide.getGas(1000), Materials.SulfurDioxide.getGas(1000)}; public GT_MetaTileEntity_ElectricBlastFurnace(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -43,6 +50,8 @@ public class GT_MetaTileEntity_ElectricBlastFurnace "1x Energy Hatch (Any bottom layer casing)", "1x Maintenance Hatch (Any bottom layer casing)", "1x Muffler Hatch (Top middle)", + "1x Output Hatch to recover CO2/CO/SO2 (optional, any top layer casing),", + " Recovery scales with Muffler Hatch tier", "Heat Proof Machine Casings for the rest", "Each 900K over the min. Heat Capacity grants 5% speedup (multiplicatively)", "Each 1800K over the min. Heat Capacity allows for one upgraded overclock", @@ -136,6 +145,7 @@ public class GT_MetaTileEntity_ElectricBlastFurnace } this.mMaxProgresstime = Math.max(1, this.mMaxProgresstime); this.mOutputItems = new ItemStack[]{tRecipe.getOutput(0), tRecipe.getOutput(1)}; + this.mOutputFluids = new FluidStack[]{tRecipe.getFluidOutput(0)}; updateSlots(); return true; } @@ -144,6 +154,7 @@ public class GT_MetaTileEntity_ElectricBlastFurnace } public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { + controllerY = aBaseMetaTileEntity.getYCoord(); int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX; int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ; @@ -199,11 +210,13 @@ public class GT_MetaTileEntity_ElectricBlastFurnace if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 1, zDir + j) != tUsedMeta) { return false; } - if (aBaseMetaTileEntity.getBlockOffset(xDir + i, 3, zDir + j) != GregTech_API.sBlockCasings1) { - return false; - } - if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 3, zDir + j) != 11) { - return false; + if (!addOutputToMachineList(aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, 3, zDir + j), 11)) { + if (aBaseMetaTileEntity.getBlockOffset(xDir + i, 3, zDir + j) != GregTech_API.sBlockCasings1) { + return false; + } + if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 3, zDir + j) != 11) { + return false; + } } } } @@ -263,4 +276,45 @@ public class GT_MetaTileEntity_ElectricBlastFurnace } } } + + @Override + public boolean addOutput(FluidStack aLiquid) { + if (aLiquid == null) return false; + int targetHeight; + FluidStack tLiquid = aLiquid.copy(); + boolean isOutputPollution = false; + for (FluidStack pollutionFluidStack : pollutionFluidStacks) { + if (pollutionFluidStack.isFluidEqual(pollutionFluidStack)) { + isOutputPollution = true; + break; + } + } + if (isOutputPollution) { + targetHeight = this.controllerY + 3; + int pollutionReduction = 0; + for (GT_MetaTileEntity_Hatch_Muffler tHatch : mMufflerHatches) { + if (isValidMetaTileEntity(tHatch)) { + pollutionReduction = 100 - tHatch.calculatePollutionReduction(100); + break; + } + } + tLiquid.amount = tLiquid.amount * (pollutionReduction + 5) / 100; + } else { + targetHeight = this.controllerY; + } + for (GT_MetaTileEntity_Hatch_Output tHatch : mOutputHatches) { + if (isValidMetaTileEntity(tHatch) && GT_ModHandler.isSteam(aLiquid) ? tHatch.outputsSteam() : tHatch.outputsLiquids()) { + if (tHatch.getBaseMetaTileEntity().getYCoord() == targetHeight) { + int tAmount = tHatch.fill(tLiquid, false); + if (tAmount >= tLiquid.amount) { + return tHatch.fill(tLiquid, true) >= tLiquid.amount; + } else if (tAmount > 0) { + tLiquid.amount = tLiquid.amount - tHatch.fill(tLiquid, true); + } + } + } + } + return false; + } + } From 480f2f1413989cd155fa19310d5b6f8871c8ce6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Mon, 24 Jul 2017 12:07:44 +0200 Subject: [PATCH 15/51] Updated DONT_ADD_DEFAULT_BBF_RECIPE String --- src/main/java/gregtech/api/enums/SubTag.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/gregtech/api/enums/SubTag.java b/src/main/java/gregtech/api/enums/SubTag.java index e1b9eaab..e202aeaf 100644 --- a/src/main/java/gregtech/api/enums/SubTag.java +++ b/src/main/java/gregtech/api/enums/SubTag.java @@ -34,7 +34,7 @@ public final class SubTag implements ICondition { * Add this to a material with Direct Smelting to prevent the automatic generation of a Bricked/Bronze Blast Furnace recipe. Already listed are: * Chalcopyrite, Tetrahedrite */ - public static final SubTag DONT_ADD_DEFAULT_BBF_RECIPE = getNewSubTag("DONT_AUTOGENERATE_BBF_RECIPE"); + public static final SubTag DONT_ADD_DEFAULT_BBF_RECIPE = getNewSubTag("DONT_ADD_DEFAULT_BBF_RECIPE"); /** * Materials which are outputting less in an Induction Smelter. Already listed are: * Pyrite, Tetrahedrite, Sphalerite, Cinnabar From a0c6ec45daf3203b32f0d31baef93217eb2feaf0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Mon, 24 Jul 2017 12:16:56 +0200 Subject: [PATCH 16/51] Implemented Carbothermic Reduction for Silicon Dioxide --- .../postload/GT_MachineRecipeLoader.java | 62 ++++++++++--------- 1 file changed, 32 insertions(+), 30 deletions(-) diff --git a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java index 1e29c895..c703b8d9 100644 --- a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java +++ b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java @@ -3118,43 +3118,45 @@ if(Loader.isModLoaded("Railcraft")){ GT_Values.RA.addBlastRecipe(Materials.Galena.getDust(1), GT_Values.NI, Materials.Oxygen.getGas(3000), Materials.SulfurDioxide.getGas(1000), Materials.Massicot.getDust(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); //Carbothermic Reduction - GT_Values.RA.addBlastRecipe(Materials.CupricOxide.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Copper.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.CupricOxide.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Copper.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.Malachite.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(1500), Materials.Copper.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.Malachite.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(3000), Materials.Copper.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.CupricOxide.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Copper.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.CupricOxide.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Copper.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.Malachite.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(1500), Materials.Copper.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.Malachite.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(3000), Materials.Copper.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.AntimonyTrioxide.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(1500), Materials.Antimony.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.AntimonyTrioxide.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(3000), Materials.Antimony.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.AntimonyTrioxide.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(1500), Materials.Antimony.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.AntimonyTrioxide.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(3000), Materials.Antimony.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.BandedIron.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Iron.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.BandedIron.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.Magnetite.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Iron.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.Magnetite.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.YellowLimonite.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Iron.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.YellowLimonite.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.BrownLimonite.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Iron.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.BrownLimonite.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.BasalticMineralSand.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Iron.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.BasalticMineralSand.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.GraniticMineralSand.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Iron.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.GraniticMineralSand.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.BandedIron.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Iron.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.BandedIron.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.Magnetite.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Iron.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.Magnetite.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.YellowLimonite.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Iron.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.YellowLimonite.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.BrownLimonite.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Iron.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.BrownLimonite.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.BasalticMineralSand.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Iron.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.BasalticMineralSand.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.GraniticMineralSand.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Iron.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.GraniticMineralSand.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.Cassiterite.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Tin.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.Cassiterite.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Tin.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.CassiteriteSand.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Tin.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.CassiteriteSand.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Tin.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.Cassiterite.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Tin.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.Cassiterite.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Tin.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.CassiteriteSand.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Tin.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.CassiteriteSand.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Tin.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.Garnierite.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Nickel.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.Garnierite.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Nickel.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.Garnierite.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Nickel.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.Garnierite.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Nickel.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.CobaltOxide.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Cobalt.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.CobaltOxide.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Cobalt.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.CobaltOxide.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Cobalt.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.CobaltOxide.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Cobalt.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.ArsenicTrioxide.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Arsenic.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.ArsenicTrioxide.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Arsenic.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.ArsenicTrioxide.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Arsenic.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.ArsenicTrioxide.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Arsenic.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.Massicot.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Lead.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.Massicot.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Lead.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.Massicot.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Lead.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.Massicot.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Lead.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + + GT_Values.RA.addBlastRecipe(Materials.SiliconDioxide.getDust(1), Materials.Carbon.getDust(2), GT_Values.NF, Materials.CarbonMonoxide.getGas(2000), Materials.Silicon.getIngots(1), Materials.Ash.getDustTiny(1), 240, 120, 1200); } } From 02153358674d88d0014af33912b056a044d6e4f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Mon, 24 Jul 2017 19:12:42 +0200 Subject: [PATCH 17/51] Increased Direct Smelting yield: 5 Nuggets -> 6 Nuggets Previously you would only get 1 extra Nugget from Macerating Ore. Now you get 3 extra Nuggets. --- .../gregtech/loaders/oreprocessing/ProcessingOreSmelting.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java index e1fe0489..48aadc96 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java @@ -35,7 +35,7 @@ public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipe if (aMaterial.mDirectSmelting == aMaterial) { outputSize = 10; } else { - outputSize = 5; + outputSize = 6; } break; case dust: @@ -58,7 +58,7 @@ public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipe outputSize = 1; } else { outputPrefix = OrePrefixes.nugget; - outputSize = 5; + outputSize = 6; } break; default: From ff146a32bdf273f30aec6ad1c6b4331babf6d418 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Tue, 25 Jul 2017 09:37:35 +0200 Subject: [PATCH 18/51] Moved material IDs for the new materials due to Ash Rebalance materials --- src/main/java/gregtech/api/enums/Materials.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/java/gregtech/api/enums/Materials.java b/src/main/java/gregtech/api/enums/Materials.java index 107c8293..26915591 100644 --- a/src/main/java/gregtech/api/enums/Materials.java +++ b/src/main/java/gregtech/api/enums/Materials.java @@ -538,13 +538,13 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { public static Materials HeavyFuel = new Materials(741, TextureSet.SET_FLUID, 1.0F, 0, 0, 16, 255, 255, 0, 0, "HeavyFuel", "Heavy Fuel", 3, 192, -1, 0, false, false, 1, 1, 1, Dyes.dyeBlack).setCanBeCracked(true); public static Materials LPG = new Materials(742, TextureSet.SET_FLUID, 1.0F, 0, 0, 16, 255, 255, 0, 0, "LPG", "LPG", 1, 256, -1, 0, false, false, 1, 1, 1, Dyes.dyeYellow); - public static Materials Massicot = new MaterialBuilder(618, TextureSet.SET_DULL, "Massicot").addDustItems().setRGB(255, 221, 85).setColor(Dyes.dyeYellow).setMaterialList(new MaterialStack(Lead, 1), new MaterialStack(Oxygen, 1)).addElectrolyzerRecipe().constructMaterial(); - public static Materials ArsenicTrioxide = new MaterialBuilder(619, TextureSet.SET_SHINY, "Arsenic Trioxide").addDustItems().setRGB(255, 255, 255).setColor(Dyes.dyeGreen).setMaterialList(new MaterialStack(Arsenic, 2), new MaterialStack(Oxygen, 3)).addElectrolyzerRecipe().constructMaterial(); - public static Materials CobaltOxide = new MaterialBuilder(620, TextureSet.SET_DULL, "Cobalt Oxide").addDustItems().setRGB(102, 128, 0).setColor(Dyes.dyeGreen).setMaterialList(new MaterialStack(Cobalt, 1), new MaterialStack(Oxygen, 1)).addElectrolyzerRecipe().constructMaterial(); - public static Materials Zincite = new MaterialBuilder(621, TextureSet.SET_DULL, "Zincite").addDustItems().setRGB(255, 255, 245).setColor(Dyes.dyeWhite).setMaterialList(new MaterialStack(Zinc, 1), new MaterialStack(Oxygen, 1)).addElectrolyzerRecipe().constructMaterial(); - public static Materials AntimonyTrioxide = new MaterialBuilder(622, TextureSet.SET_DULL, "Antimony Trioxide").addDustItems().setRGB(230, 230, 240).setColor(Dyes.dyeWhite).setMaterialList(new MaterialStack(Antimony, 2), new MaterialStack(Oxygen, 3)).addElectrolyzerRecipe().constructMaterial(); - public static Materials CupricOxide = new MaterialBuilder(623, TextureSet.SET_DULL, "Cupric Oxide").addDustItems().setRGB(15, 15, 15).setColor(Dyes.dyeBlack).setMaterialList(new MaterialStack(Copper, 1), new MaterialStack(Oxygen, 1)).addElectrolyzerRecipe().constructMaterial(); - public static Materials Ferrosilite = new MaterialBuilder(624, TextureSet.SET_DULL, "Ferrosilite").addDustItems().setRGB(151, 99, 42).setColor(Dyes.dyeBrown).setMaterialList(new MaterialStack(Iron, 1), new MaterialStack(Silicon, 1), new MaterialStack(Oxygen, 3)).addElectrolyzerRecipe().constructMaterial(); + public static Materials Massicot = new MaterialBuilder(614, TextureSet.SET_DULL, "Massicot").addDustItems().setRGB(255, 221, 85).setColor(Dyes.dyeYellow).setMaterialList(new MaterialStack(Lead, 1), new MaterialStack(Oxygen, 1)).addElectrolyzerRecipe().constructMaterial(); + public static Materials ArsenicTrioxide = new MaterialBuilder(615, TextureSet.SET_SHINY, "Arsenic Trioxide").addDustItems().setRGB(255, 255, 255).setColor(Dyes.dyeGreen).setMaterialList(new MaterialStack(Arsenic, 2), new MaterialStack(Oxygen, 3)).addElectrolyzerRecipe().constructMaterial(); + public static Materials CobaltOxide = new MaterialBuilder(616, TextureSet.SET_DULL, "Cobalt Oxide").addDustItems().setRGB(102, 128, 0).setColor(Dyes.dyeGreen).setMaterialList(new MaterialStack(Cobalt, 1), new MaterialStack(Oxygen, 1)).addElectrolyzerRecipe().constructMaterial(); + public static Materials Zincite = new MaterialBuilder(617, TextureSet.SET_DULL, "Zincite").addDustItems().setRGB(255, 255, 245).setColor(Dyes.dyeWhite).setMaterialList(new MaterialStack(Zinc, 1), new MaterialStack(Oxygen, 1)).addElectrolyzerRecipe().constructMaterial(); + public static Materials AntimonyTrioxide = new MaterialBuilder(618, TextureSet.SET_DULL, "Antimony Trioxide").addDustItems().setRGB(230, 230, 240).setColor(Dyes.dyeWhite).setMaterialList(new MaterialStack(Antimony, 2), new MaterialStack(Oxygen, 3)).addElectrolyzerRecipe().constructMaterial(); + public static Materials CupricOxide = new MaterialBuilder(619, TextureSet.SET_DULL, "Cupric Oxide").addDustItems().setRGB(15, 15, 15).setColor(Dyes.dyeBlack).setMaterialList(new MaterialStack(Copper, 1), new MaterialStack(Oxygen, 1)).addElectrolyzerRecipe().constructMaterial(); + public static Materials Ferrosilite = new MaterialBuilder(620, TextureSet.SET_DULL, "Ferrosilite").addDustItems().setRGB(151, 99, 42).setColor(Dyes.dyeBrown).setMaterialList(new MaterialStack(Iron, 1), new MaterialStack(Silicon, 1), new MaterialStack(Oxygen, 3)).addElectrolyzerRecipe().constructMaterial(); public static Materials Brick = new MaterialBuilder(625, TextureSet.SET_ROUGH, "Brick").addDustItems().setRGB(155, 86, 67).setColor(Dyes.dyeBrown).setMaterialList(new MaterialStack(Aluminium, 4), new MaterialStack(Silicon, 3), new MaterialStack(Oxygen, 12)).constructMaterial(); public static Materials Fireclay = new MaterialBuilder(626, TextureSet.SET_ROUGH, "Fireclay").addDustItems().setRGB(173, 160, 155).setColor(Dyes.dyeBrown).setMaterialList(new MaterialStack(Brick, 1)).constructMaterial(); public static Materials BioDiesel = new MaterialBuilder(627, TextureSet.SET_FLUID, "Bio Diesel").addCell().addFluid().setRGB(255, 128, 0).setColor(Dyes.dyeOrange).setFuelType(MaterialBuilder.DIESEL).setFuelPower(192).constructMaterial(); From 1763f60b3638286cfa7b0f17f6aff72e744c8a1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Wed, 26 Jul 2017 23:26:17 +0200 Subject: [PATCH 19/51] Added a config for the converion rate of Direct Smelting: 1 <-> 2/3 --- src/main/java/gregtech/GT_Mod.java | 1 + .../java/gregtech/api/enums/Materials.java | 4 +- src/main/java/gregtech/common/GT_Proxy.java | 1 + .../loaders/oreprocessing/ProcessingOre.java | 2 +- .../oreprocessing/ProcessingOreSmelting.java | 31 ++++++--- .../postload/GT_MachineRecipeLoader.java | 66 ++++++++++--------- 6 files changed, 62 insertions(+), 43 deletions(-) diff --git a/src/main/java/gregtech/GT_Mod.java b/src/main/java/gregtech/GT_Mod.java index a08cbb8e..2e1cb011 100644 --- a/src/main/java/gregtech/GT_Mod.java +++ b/src/main/java/gregtech/GT_Mod.java @@ -271,6 +271,7 @@ public class GT_Mod implements IGT_Mod { gregtechproxy.mForceFreeFace = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "forceFreeFace",false); gregtechproxy.mEasierEVPlusCables = tMainConfig.get("general", "EasierEVPlusCables", false).getBoolean(false); gregtechproxy.mBrickedBlastFurnace = tMainConfig.get("general", "BrickedBlastFurnace", true).getBoolean(true); + gregtechproxy.mMixedOreOnlyYieldsTwoThirdsOfPureOre = tMainConfig.get("general", "MixedOreOnlyYieldsTwoThirdsOfPureOre", false).getBoolean(false); GregTech_API.mUseOnlyGoodSolderingMaterials = GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.harderrecipes, "useonlygoodsolderingmaterials", GregTech_API.mUseOnlyGoodSolderingMaterials); diff --git a/src/main/java/gregtech/api/enums/Materials.java b/src/main/java/gregtech/api/enums/Materials.java index 26915591..871bbfd0 100644 --- a/src/main/java/gregtech/api/enums/Materials.java +++ b/src/main/java/gregtech/api/enums/Materials.java @@ -1190,8 +1190,8 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { SubTag.ELECTROMAGNETIC_SEPERATION_NEODYMIUM.addTo(Bastnasite, Monazite, Forcicium, Forcillium); SubTag.ELECTROMAGNETIC_SEPERATION_GOLD.addTo(Magnetite, VanadiumMagnetite, BasalticMineralSand, GraniticMineralSand); SubTag.ELECTROMAGNETIC_SEPERATION_IRON.addTo(YellowLimonite, BrownLimonite, Pyrite, BandedIron, Nickel, Vermiculite, Glauconite, GlauconiteSand, Pentlandite, Tin, Antimony, Ilmenite, Manganese, Chrome, Chromite, Andradite); - SubTag.BLASTFURNACE_CALCITE_DOUBLE.addTo(Pyrite, YellowLimonite, BasalticMineralSand, GraniticMineralSand); - SubTag.BLASTFURNACE_CALCITE_TRIPLE.addTo(Iron, PigIron, DeepIron, ShadowIron, WroughtIron, MeteoricIron, BrownLimonite); + SubTag.BLASTFURNACE_CALCITE_DOUBLE.addTo(Pyrite, BrownLimonite, YellowLimonite, BasalticMineralSand, GraniticMineralSand, Magnetite); + SubTag.BLASTFURNACE_CALCITE_TRIPLE.addTo(Iron, PigIron, DeepIron, ShadowIron, WroughtIron, MeteoricIron); SubTag.WASHING_MERCURY.addTo(Gold, Silver, Osmium, Mithril, Platinum, Midasium, Cooperite, AstralSilver); SubTag.WASHING_SODIUMPERSULFATE.addTo(Zinc, Nickel, Copper, Cobalt, Cobaltite, Tetrahedrite); SubTag.METAL.addTo(AnyIron, AnyCopper, AnyBronze, Metal, Aluminium, Americium, Antimony, Beryllium, Bismuth, Caesium, Cerium, Chrome, Cobalt, Copper, Dysprosium, Erbium, Europium, Gadolinium, Gallium, Gold, diff --git a/src/main/java/gregtech/common/GT_Proxy.java b/src/main/java/gregtech/common/GT_Proxy.java index f7ff8385..0c81f887 100644 --- a/src/main/java/gregtech/common/GT_Proxy.java +++ b/src/main/java/gregtech/common/GT_Proxy.java @@ -193,6 +193,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler { public boolean mForceFreeFace = false; public boolean mEasierEVPlusCables = false; public boolean mBrickedBlastFurnace = true; + public boolean mMixedOreOnlyYieldsTwoThirdsOfPureOre = false; public GT_Proxy() { GameRegistry.registerFuelHandler(this); diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java index 8cb67f48..125c6fc8 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java @@ -89,7 +89,7 @@ public class ProcessingOre implements gregtech.api.interfaces.IOreRecipeRegistra if (aMaterial.contains(SubTag.BLASTFURNACE_CALCITE_TRIPLE)) { GT_Values.RA.addBlastRecipe(aOreStack, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcite, aMultiplier), null, null, GT_Utility.mul(aMultiplier * 3 * aMaterial.mSmeltingMultiplier, new Object[]{tSmeltInto}), ItemList.TE_Slag.get(1L, new Object[]{GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.DarkAsh, 1L)}), tSmeltInto.stackSize * 500, 120, 1500); } else if (aMaterial.contains(SubTag.BLASTFURNACE_CALCITE_DOUBLE)) { - GT_Values.RA.addBlastRecipe(aOreStack, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcite, aMultiplier), null, null, GT_Utility.mul(aMultiplier * 2 * aMaterial.mSmeltingMultiplier, new Object[]{tSmeltInto}), ItemList.TE_Slag.get(1L, new Object[]{GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.DarkAsh, 1L)}), tSmeltInto.stackSize * 500, 120, 1500); + GT_Values.RA.addBlastRecipe(aOreStack, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcite, aMultiplier), null, null, GT_Utility.mul(aMultiplier * (GT_Mod.gregtechproxy.mMixedOreOnlyYieldsTwoThirdsOfPureOre ? 2 : 3) * aMaterial.mSmeltingMultiplier, new Object[]{tSmeltInto}), ItemList.TE_Slag.get(1L, new Object[]{GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.DarkAsh, 1L)}), tSmeltInto.stackSize * 500, 120, 1500); } } diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java index 48aadc96..b982ddb8 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java @@ -1,5 +1,6 @@ package gregtech.loaders.oreprocessing; +import gregtech.GT_Mod; import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; @@ -31,23 +32,30 @@ public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipe case crushed: case crushedPurified: case crushedCentrifuged: - outputPrefix = OrePrefixes.nugget; if (aMaterial.mDirectSmelting == aMaterial) { outputSize = 10; + outputPrefix = OrePrefixes.nugget; } else { - outputSize = 6; + if (GT_Mod.gregtechproxy.mMixedOreOnlyYieldsTwoThirdsOfPureOre) { + outputSize = 6; + outputPrefix = OrePrefixes.nugget; + } else { + outputSize = 1; + outputPrefix = OrePrefixes.ingot; + } } break; case dust: if (aMaterial.mDirectSmelting != aMaterial) { if (!aMaterial.contains(SubTag.DONT_ADD_DEFAULT_BBF_RECIPE)) { - GT_Values.RA.addPrimitiveBlastRecipe(GT_Utility.copyAmount(2, aStack), GT_Values.NI, 2, aMaterial.mDirectSmelting.getIngots(2), GT_Values.NI, 2400); + GT_Values.RA.addPrimitiveBlastRecipe(GT_Utility.copyAmount(2, aStack), GT_Values.NI, 2, aMaterial.mDirectSmelting.getIngots(GT_Mod.gregtechproxy.mMixedOreOnlyYieldsTwoThirdsOfPureOre ? 2 : 3), GT_Values.NI, 2400); } else if (aMaterial == Materials.Chalcopyrite) { - GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), new ItemStack(Blocks.sand, 2), 2, aMaterial.mDirectSmelting.getIngots(2), Materials.Ferrosilite.getDustSmall(4), 2400); - GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), Materials.Glass.getDust(2), 2, aMaterial.mDirectSmelting.getIngots(2), Materials.Ferrosilite.getDustTiny(14), 2400); - GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), Materials.SiliconDioxide.getDust(2), 2, aMaterial.mDirectSmelting.getIngots(2), Materials.Ferrosilite.getDust(2), 2400); + int outputAmount = GT_Mod.gregtechproxy.mMixedOreOnlyYieldsTwoThirdsOfPureOre ? 2 : 3; + GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), new ItemStack(Blocks.sand, 2), 2, aMaterial.mDirectSmelting.getIngots(outputAmount), Materials.Ferrosilite.getDustSmall(2 * outputAmount), 2400); + GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), Materials.Glass.getDust(2), 2, aMaterial.mDirectSmelting.getIngots(outputAmount), Materials.Ferrosilite.getDustTiny(7 * outputAmount), 2400); + GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), Materials.SiliconDioxide.getDust(2), 2, aMaterial.mDirectSmelting.getIngots(outputAmount), Materials.Ferrosilite.getDust(outputAmount), 2400); } else if (aMaterial == Materials.Tetrahedrite) { - GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), GT_Values.NI, 2, aMaterial.mDirectSmelting.getIngots(2), Materials.Antimony.getNuggets(6), 2400); + GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), GT_Values.NI, 2, aMaterial.mDirectSmelting.getIngots(GT_Mod.gregtechproxy.mMixedOreOnlyYieldsTwoThirdsOfPureOre ? 2 : 3), Materials.Antimony.getNuggets(6), 2400); } } case dustImpure: @@ -57,8 +65,13 @@ public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipe outputPrefix = OrePrefixes.ingot; outputSize = 1; } else { - outputPrefix = OrePrefixes.nugget; - outputSize = 6; + if (GT_Mod.gregtechproxy.mMixedOreOnlyYieldsTwoThirdsOfPureOre) { + outputSize = 6; + outputPrefix = OrePrefixes.nugget; + } else { + outputSize = 1; + outputPrefix = OrePrefixes.ingot; + } } break; default: diff --git a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java index c703b8d9..da0d768c 100644 --- a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java +++ b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java @@ -3118,45 +3118,49 @@ if(Loader.isModLoaded("Railcraft")){ GT_Values.RA.addBlastRecipe(Materials.Galena.getDust(1), GT_Values.NI, Materials.Oxygen.getGas(3000), Materials.SulfurDioxide.getGas(1000), Materials.Massicot.getDust(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); //Carbothermic Reduction - GT_Values.RA.addBlastRecipe(Materials.CupricOxide.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Copper.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.CupricOxide.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Copper.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.Malachite.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(1500), Materials.Copper.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.Malachite.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(3000), Materials.Copper.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + int outputIngotAmount = GT_Mod.gregtechproxy.mMixedOreOnlyYieldsTwoThirdsOfPureOre ? 2 : 3; + GT_Values.RA.addBlastRecipe(Materials.CupricOxide.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Copper.getIngots(outputIngotAmount), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.Malachite.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(3000), Materials.Copper.getIngots(outputIngotAmount), Materials.Ash.getDustTiny(2), 240, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.AntimonyTrioxide.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(1500), Materials.Antimony.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.AntimonyTrioxide.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(3000), Materials.Antimony.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.AntimonyTrioxide.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(3000), Materials.Antimony.getIngots(outputIngotAmount), Materials.Ash.getDustTiny(2), 240, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.BandedIron.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Iron.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.BandedIron.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.Magnetite.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Iron.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.Magnetite.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.YellowLimonite.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Iron.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.YellowLimonite.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.BrownLimonite.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Iron.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.BrownLimonite.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.BasalticMineralSand.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Iron.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.BasalticMineralSand.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.GraniticMineralSand.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Iron.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.GraniticMineralSand.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.BandedIron.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(outputIngotAmount), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.Magnetite.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(outputIngotAmount), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.YellowLimonite.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(outputIngotAmount), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.BrownLimonite.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(outputIngotAmount), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.BasalticMineralSand.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(outputIngotAmount), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.GraniticMineralSand.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(outputIngotAmount), Materials.Ash.getDustTiny(2), 240, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.Cassiterite.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Tin.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.Cassiterite.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Tin.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.CassiteriteSand.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Tin.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.CassiteriteSand.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Tin.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.Cassiterite.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Tin.getIngots(outputIngotAmount), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.CassiteriteSand.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Tin.getIngots(outputIngotAmount), Materials.Ash.getDustTiny(2), 240, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.Garnierite.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Nickel.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.Garnierite.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Nickel.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.Garnierite.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Nickel.getIngots(outputIngotAmount), Materials.Ash.getDustTiny(2), 240, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.CobaltOxide.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Cobalt.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.CobaltOxide.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Cobalt.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.CobaltOxide.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Cobalt.getIngots(outputIngotAmount), Materials.Ash.getDustTiny(2), 240, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.ArsenicTrioxide.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Arsenic.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.ArsenicTrioxide.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Arsenic.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.ArsenicTrioxide.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Arsenic.getIngots(outputIngotAmount), Materials.Ash.getDustTiny(2), 240, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.Massicot.getDust(1), Materials.Carbon.getDustSmall(2), GT_Values.NF, Materials.CarbonDioxide.getGas(500), Materials.Lead.getIngots(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.Massicot.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Lead.getIngots(2), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.Massicot.getDust(2), Materials.Carbon.getDust(1), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Lead.getIngots(outputIngotAmount), Materials.Ash.getDustTiny(2), 240, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.SiliconDioxide.getDust(1), Materials.Carbon.getDust(2), GT_Values.NF, Materials.CarbonMonoxide.getGas(2000), Materials.Silicon.getIngots(1), Materials.Ash.getDustTiny(1), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.SiliconDioxide.getDust(1), Materials.Carbon.getDust(2), GT_Values.NF, Materials.CarbonMonoxide.getGas(2000), Materials.Silicon.getIngots(1), Materials.Ash.getDustTiny(1), 240, 120, 1200); + + if (GT_Mod.gregtechproxy.mMixedOreOnlyYieldsTwoThirdsOfPureOre) { + GT_Values.RA.addBlastRecipe(Materials.CupricOxide.getDust(2), Materials.Carbon.getDustSmall(4), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Copper.getIngots(outputIngotAmount), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.Malachite.getDust(2), Materials.Carbon.getDustSmall(4), GT_Values.NF, Materials.CarbonDioxide.getGas(3000), Materials.Copper.getIngots(outputIngotAmount), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.AntimonyTrioxide.getDust(2), Materials.Carbon.getDustSmall(4), GT_Values.NF, Materials.CarbonDioxide.getGas(3000), Materials.Antimony.getIngots(outputIngotAmount), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.BandedIron.getDust(2), Materials.Carbon.getDustSmall(4), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(outputIngotAmount), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.Magnetite.getDust(2), Materials.Carbon.getDustSmall(4), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(outputIngotAmount), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.YellowLimonite.getDust(2), Materials.Carbon.getDustSmall(4), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(outputIngotAmount), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.BrownLimonite.getDust(2), Materials.Carbon.getDustSmall(4), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(outputIngotAmount), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.BasalticMineralSand.getDust(2), Materials.Carbon.getDustSmall(4), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(outputIngotAmount), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.GraniticMineralSand.getDust(2), Materials.Carbon.getDustSmall(4), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Iron.getIngots(outputIngotAmount), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.Cassiterite.getDust(2), Materials.Carbon.getDustSmall(4), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Tin.getIngots(outputIngotAmount), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.CassiteriteSand.getDust(2), Materials.Carbon.getDustSmall(4), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Tin.getIngots(outputIngotAmount), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.Garnierite.getDust(2), Materials.Carbon.getDustSmall(4), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Nickel.getIngots(outputIngotAmount), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.CobaltOxide.getDust(2), Materials.Carbon.getDustSmall(4), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Cobalt.getIngots(outputIngotAmount), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.ArsenicTrioxide.getDust(2), Materials.Carbon.getDustSmall(4), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Arsenic.getIngots(outputIngotAmount), Materials.Ash.getDustTiny(2), 240, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.Massicot.getDust(2), Materials.Carbon.getDustSmall(4), GT_Values.NF, Materials.CarbonDioxide.getGas(1000), Materials.Lead.getIngots(outputIngotAmount), Materials.Ash.getDustTiny(2), 240, 120, 1200); + } } } From bfea3e8e9985168c28ad727019b18acb2b703314 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Wed, 26 Jul 2017 23:54:00 +0200 Subject: [PATCH 20/51] Increased output chance for Silver from washing with Mercury to 99% --- src/main/java/gregtech/api/enums/Materials.java | 3 ++- src/main/java/gregtech/api/enums/SubTag.java | 7 ++++++- .../gregtech/loaders/oreprocessing/ProcessingDirty.java | 4 ++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/gregtech/api/enums/Materials.java b/src/main/java/gregtech/api/enums/Materials.java index 871bbfd0..7e596089 100644 --- a/src/main/java/gregtech/api/enums/Materials.java +++ b/src/main/java/gregtech/api/enums/Materials.java @@ -1192,7 +1192,8 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { SubTag.ELECTROMAGNETIC_SEPERATION_IRON.addTo(YellowLimonite, BrownLimonite, Pyrite, BandedIron, Nickel, Vermiculite, Glauconite, GlauconiteSand, Pentlandite, Tin, Antimony, Ilmenite, Manganese, Chrome, Chromite, Andradite); SubTag.BLASTFURNACE_CALCITE_DOUBLE.addTo(Pyrite, BrownLimonite, YellowLimonite, BasalticMineralSand, GraniticMineralSand, Magnetite); SubTag.BLASTFURNACE_CALCITE_TRIPLE.addTo(Iron, PigIron, DeepIron, ShadowIron, WroughtIron, MeteoricIron); - SubTag.WASHING_MERCURY.addTo(Gold, Silver, Osmium, Mithril, Platinum, Midasium, Cooperite, AstralSilver); + SubTag.WASHING_MERCURY.addTo(Gold, Osmium, Mithril, Platinum, Midasium, Cooperite, AstralSilver); + SubTag.WASHING_MERCURY_99_PERCENT.addTo(Silver); SubTag.WASHING_SODIUMPERSULFATE.addTo(Zinc, Nickel, Copper, Cobalt, Cobaltite, Tetrahedrite); SubTag.METAL.addTo(AnyIron, AnyCopper, AnyBronze, Metal, Aluminium, Americium, Antimony, Beryllium, Bismuth, Caesium, Cerium, Chrome, Cobalt, Copper, Dysprosium, Erbium, Europium, Gadolinium, Gallium, Gold, Holmium, Indium, Iridium, Iron, Lanthanum, Lead, Lutetium, Magnesium, Manganese, Mercury, Niobium, Molybdenum, Neodymium, Neutronium, Nickel, Osmium, Palladium, Platinum, Plutonium, Plutonium241, diff --git a/src/main/java/gregtech/api/enums/SubTag.java b/src/main/java/gregtech/api/enums/SubTag.java index e202aeaf..76d1a5a3 100644 --- a/src/main/java/gregtech/api/enums/SubTag.java +++ b/src/main/java/gregtech/api/enums/SubTag.java @@ -47,9 +47,14 @@ public final class SubTag implements ICondition { public static final SubTag WASHING_SODIUMPERSULFATE = getNewSubTag("WASHING_SODIUMPERSULFATE"); /** * Add this to your Material if you want to have its Ore Mercury washed. Already listed are: - * Gold, Silver, Osmium, Mithril, Platinum, Midasium, Cooperite and AstralSilver. + * Gold, Osmium, Mithril, Platinum, Midasium, Cooperite and AstralSilver. */ public static final SubTag WASHING_MERCURY = getNewSubTag("WASHING_MERCURY"); + /** + * Add this to your Material if you want to have its Ore Mercury washed with 99% output chance. Already listed are: + * Silver + */ + public static final SubTag WASHING_MERCURY_99_PERCENT = getNewSubTag("WASHING_MERCURY_99_PERCENT"); /** * Add this to your Material if you want to have its Ore electromagnetically separated to give Gold. */ diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java index af71f70f..8948279e 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java @@ -25,11 +25,15 @@ public class ProcessingDirty implements gregtech.api.interfaces.IOreRecipeRegist if (aMaterial.contains(SubTag.WASHING_MERCURY)) GT_Values.RA.addChemicalBathRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), Materials.Mercury.getFluid(1000L), GT_OreDictUnificator.get(aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified : OrePrefixes.dustPure, aMaterial, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L), new int[]{10000, 7000, 4000}, 800, 8); + if (aMaterial.contains(SubTag.WASHING_MERCURY_99_PERCENT)) + GT_Values.RA.addChemicalBathRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), Materials.Mercury.getFluid(1000L), GT_OreDictUnificator.get(aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified : OrePrefixes.dustPure, aMaterial, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L), new int[]{10000, 9900, 4000}, 800, 8); if (aMaterial.contains(SubTag.WASHING_SODIUMPERSULFATE)) GT_Values.RA.addChemicalBathRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), Materials.SodiumPersulfate.getFluid(GT_Mod.gregtechproxy.mReenableSimplifiedChemicalRecipes ? 1000L : 100L), GT_OreDictUnificator.get(aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified : OrePrefixes.dustPure, aMaterial, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L), new int[]{10000, 7000, 4000}, 800, 8); for (Materials tMaterial : aMaterial.mOreByProducts) { if (tMaterial.contains(SubTag.WASHING_MERCURY)) GT_Values.RA.addChemicalBathRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), Materials.Mercury.getFluid(1000L), GT_OreDictUnificator.get(aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified : OrePrefixes.dustPure, aMaterial, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, tMaterial.mMacerateInto, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L), new int[]{10000, 7000, 4000}, 800, 8); + if (tMaterial.contains(SubTag.WASHING_MERCURY_99_PERCENT)) + GT_Values.RA.addChemicalBathRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), Materials.Mercury.getFluid(1000L), GT_OreDictUnificator.get(aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified : OrePrefixes.dustPure, aMaterial, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, tMaterial.mMacerateInto, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L), new int[]{10000, 9900, 4000}, 800, 8); if (tMaterial.contains(SubTag.WASHING_SODIUMPERSULFATE)) GT_Values.RA.addChemicalBathRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), Materials.SodiumPersulfate.getFluid(GT_Mod.gregtechproxy.mReenableSimplifiedChemicalRecipes ? 1000L : 100L), GT_OreDictUnificator.get(aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified : OrePrefixes.dustPure, aMaterial, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, tMaterial.mMacerateInto, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L), new int[]{10000, 7000, 4000}, 800, 8); } From af36dd30991f55e6589c8024cc6c2580f949895d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Thu, 27 Jul 2017 22:44:33 +0200 Subject: [PATCH 21/51] Fixed a bug where every Fluid was put out at the top of the EBF --- .../machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java index 1e729b5c..e6297712 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java @@ -284,7 +284,7 @@ public class GT_MetaTileEntity_ElectricBlastFurnace FluidStack tLiquid = aLiquid.copy(); boolean isOutputPollution = false; for (FluidStack pollutionFluidStack : pollutionFluidStacks) { - if (pollutionFluidStack.isFluidEqual(pollutionFluidStack)) { + if (tLiquid.isFluidEqual(pollutionFluidStack)) { isOutputPollution = true; break; } From c54ba03b4bde3d00e9cb07165a3a30956a6db79b Mon Sep 17 00:00:00 2001 From: Technus Date: Fri, 28 Jul 2017 12:56:47 +0200 Subject: [PATCH 22/51] Texture overhaul, allows for more textures to be added for casing, with extra byte of data for paging. Just change the value of mTexturePage at the same time you change mMachineBlock. --- .../metatileentity/BaseMetaTileEntity.java | 52 +++++++++++++++++-- .../GT_MetaTileEntity_Hatch.java | 19 +++++-- .../GT_MetaTileEntity_MultiBlockBase.java | 12 ++++- .../api/net/GT_Packet_TileEntity.java | 31 +++++++++-- .../multi/GT_MetaTileEntity_AssemblyLine.java | 1 + .../multi/GT_MetaTileEntity_DieselEngine.java | 1 + .../GT_MetaTileEntity_FusionComputer.java | 3 ++ .../GT_MetaTileEntity_HeatExchanger.java | 2 + .../multi/GT_MetaTileEntity_LargeTurbine.java | 1 + 9 files changed, 109 insertions(+), 13 deletions(-) diff --git a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java index 177810f9..aaff0bdc 100644 --- a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java +++ b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java @@ -9,6 +9,7 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IEnergyConnected; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import gregtech.api.net.GT_Packet_TileEntity; import gregtech.api.objects.GT_ItemStack; import gregtech.api.util.*; @@ -58,7 +59,7 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE private byte[] mSidedRedstone = new byte[]{15, 15, 15, 15, 15, 15}; private int[] mCoverSides = new int[]{0, 0, 0, 0, 0, 0}, mCoverData = new int[]{0, 0, 0, 0, 0, 0}, mTimeStatistics = new int[GregTech_API.TICKS_FOR_LAG_AVERAGING]; private boolean mHasEnoughEnergy = true, mRunningThroughTick = false, mInputDisabled = false, mOutputDisabled = false, mMuffler = false, mLockUpgrade = false, mActive = false, mRedstone = false, mWorkUpdate = false, mSteamConverter = false, mInventoryChanged = false, mWorks = true, mNeedsUpdate = true, mNeedsBlockUpdate = true, mSendClientData = false, oRedstone = false; - private byte mColor = 0, oColor = 0, mStrongRedstone = 0, oRedstoneData = 63, oTextureData = 0, oUpdateData = 0, oLightValueClient = -1, oLightValue = -1, mLightValue = 0, mOtherUpgrades = 0, mFacing = 0, oFacing = 0, mWorkData = 0; + private byte mColor = 0, oColor = 0, mStrongRedstone = 0, oRedstoneData = 63, oTextureData = 0, oUpdateData = 0, oTexturePage=0, oLightValueClient = -1, oLightValue = -1, mLightValue = 0, mOtherUpgrades = 0, mFacing = 0, oFacing = 0, mWorkData = 0; private int mDisplayErrorCode = 0, oX = 0, oY = 0, oZ = 0, mTimeStatisticsIndex = 0, mLagWarningCount = 0; private short mID = 0; private long mTickTimer = 0, oOutput = 0, mAcceptedAmperes = Long.MAX_VALUE; @@ -513,7 +514,15 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE if (aSideServer) { if (mTickTimer % 10 == 0) { if (mSendClientData) { - NW.sendPacketToAllPlayersInRange(worldObj, new GT_Packet_TileEntity(xCoord, (short) yCoord, zCoord, mID, mCoverSides[0], mCoverSides[1], mCoverSides[2], mCoverSides[3], mCoverSides[4], mCoverSides[5], oTextureData = (byte) ((mFacing & 7) | (mActive ? 8 : 0) | (mRedstone ? 16 : 0) | (mLockUpgrade ? 32 : 0)), oUpdateData = hasValidMetaTileEntity() ? mMetaTileEntity.getUpdateData() : 0, oRedstoneData = (byte) (((mSidedRedstone[0] > 0) ? 1 : 0) | ((mSidedRedstone[1] > 0) ? 2 : 0) | ((mSidedRedstone[2] > 0) ? 4 : 0) | ((mSidedRedstone[3] > 0) ? 8 : 0) | ((mSidedRedstone[4] > 0) ? 16 : 0) | ((mSidedRedstone[5] > 0) ? 32 : 0)), oColor = mColor), xCoord, zCoord); + NW.sendPacketToAllPlayersInRange(worldObj, + new GT_Packet_TileEntity(xCoord, (short) yCoord, zCoord, mID, + mCoverSides[0], mCoverSides[1], mCoverSides[2], mCoverSides[3], mCoverSides[4], mCoverSides[5], + oTextureData = (byte) ((mFacing & 7) | (mActive ? 8 : 0) | (mRedstone ? 16 : 0) | (mLockUpgrade ? 32 : 0)), + oTexturePage = (hasValidMetaTileEntity() && mMetaTileEntity instanceof GT_MetaTileEntity_Hatch) ? ((GT_MetaTileEntity_Hatch) mMetaTileEntity).getTexturePage() : 0, + oUpdateData = hasValidMetaTileEntity() ? mMetaTileEntity.getUpdateData() : 0, + oRedstoneData = (byte) (((mSidedRedstone[0] > 0) ? 1 : 0) | ((mSidedRedstone[1] > 0) ? 2 : 0) | ((mSidedRedstone[2] > 0) ? 4 : 0) | ((mSidedRedstone[3] > 0) ? 8 : 0) | ((mSidedRedstone[4] > 0) ? 16 : 0) | ((mSidedRedstone[5] > 0) ? 32 : 0)), + oColor = mColor), + xCoord, zCoord); mSendClientData = false; } } @@ -521,8 +530,13 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE if (mTickTimer > 10) { byte tData = (byte) ((mFacing & 7) | (mActive ? 8 : 0) | (mRedstone ? 16 : 0) | (mLockUpgrade ? 32 : 0)); if (tData != oTextureData) sendBlockEvent((byte) 0, oTextureData = tData); + tData = mMetaTileEntity.getUpdateData(); if (tData != oUpdateData) sendBlockEvent((byte) 1, oUpdateData = tData); + if(mMetaTileEntity instanceof GT_MetaTileEntity_Hatch) { + tData = ((GT_MetaTileEntity_Hatch) mMetaTileEntity).getTexturePage(); + if (tData != oTexturePage) sendBlockEvent((byte) 1, (byte)((oTexturePage = tData)|0x80));//set last bit as a flag for page + } if (mColor != oColor) sendBlockEvent((byte) 2, oColor = mColor); tData = (byte) (((mSidedRedstone[0] > 0) ? 1 : 0) | ((mSidedRedstone[1] > 0) ? 2 : 0) | ((mSidedRedstone[2] > 0) ? 4 : 0) | ((mSidedRedstone[3] > 0) ? 8 : 0) | ((mSidedRedstone[4] > 0) ? 16 : 0) | ((mSidedRedstone[5] > 0) ? 32 : 0)); if (tData != oRedstoneData) sendBlockEvent((byte) 3, oRedstoneData = tData); @@ -571,6 +585,30 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE return null; } + public final void receiveMetaTileEntityData(short aID, int aCover0, int aCover1, int aCover2, int aCover3, int aCover4, int aCover5, byte aTextureData, byte aTexturePage, byte aUpdateData, byte aRedstoneData, byte aColorData) { + issueTextureUpdate(); + if (mID != aID && aID > 0) { + mID = aID; + createNewMetatileEntity(mID); + } + + mCoverSides[0] = aCover0; + mCoverSides[1] = aCover1; + mCoverSides[2] = aCover2; + mCoverSides[3] = aCover3; + mCoverSides[4] = aCover4; + mCoverSides[5] = aCover5; + + for (byte i = 0; i < 6; i++) mCoverBehaviors[i] = GregTech_API.getCoverBehavior(mCoverSides[i]); + + receiveClientEvent(0, aTextureData); + receiveClientEvent(1, aUpdateData & 0x7F); + receiveClientEvent(1, aTexturePage | 0x80); + receiveClientEvent(2, aColorData); + receiveClientEvent(3, aRedstoneData); + } + + @Deprecated public final void receiveMetaTileEntityData(short aID, int aCover0, int aCover1, int aCover2, int aCover3, int aCover4, int aCover5, byte aTextureData, byte aUpdateData, byte aRedstoneData, byte aColorData) { issueTextureUpdate(); if (mID != aID && aID > 0) { @@ -588,7 +626,8 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE for (byte i = 0; i < 6; i++) mCoverBehaviors[i] = GregTech_API.getCoverBehavior(mCoverSides[i]); receiveClientEvent(0, aTextureData); - receiveClientEvent(1, aUpdateData); + receiveClientEvent(1, aUpdateData & 0x7F); + receiveClientEvent(1, 0x80); receiveClientEvent(2, aColorData); receiveClientEvent(3, aRedstoneData); } @@ -616,7 +655,12 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE //mLockUpgrade = ((aValue&32) != 0); break; case 1: - if (hasValidMetaTileEntity()) mMetaTileEntity.onValueUpdate((byte) aValue); + if (hasValidMetaTileEntity()) { + if ((aValue & 0x80) == 0) //Is texture index + mMetaTileEntity.onValueUpdate((byte) (aValue & 0x7F)); + else if (mMetaTileEntity instanceof GT_MetaTileEntity_Hatch)//is texture page and hatch + ((GT_MetaTileEntity_Hatch) mMetaTileEntity).onTexturePageUpdate((byte) (aValue & 0x7F)); + } break; case 2: if (aValue > 16 || aValue < 0) aValue = 0; diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java index 9c13aa1d..9a4402c3 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java @@ -6,8 +6,8 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.nbt.NBTTagCompound; public abstract class GT_MetaTileEntity_Hatch extends GT_MetaTileEntity_BasicTank { - public byte mMachineBlock = 0; + public byte mTexturePage = 0; public GT_MetaTileEntity_Hatch(int aID, String aName, String aNameRegional, int aTier, int aInvSlotCount, String aDescription, ITexture... aTextures) { super(aID, aName, aNameRegional, aTier, aInvSlotCount, aDescription, aTextures); @@ -36,29 +36,40 @@ public abstract class GT_MetaTileEntity_Hatch extends GT_MetaTileEntity_BasicTan @Override public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { - return aSide != aFacing ? mMachineBlock > 0 ? new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[mMachineBlock]} : new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]} : mMachineBlock > 0 ? aActive ? getTexturesActive(Textures.BlockIcons.CASING_BLOCKS[mMachineBlock]) : getTexturesInactive(Textures.BlockIcons.CASING_BLOCKS[mMachineBlock]) : aActive ? getTexturesActive(Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]) : getTexturesInactive(Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]); + int textureIndex=mMachineBlock|(mTexturePage<<7);//Shift seven since one page is 128 textures! + return aSide != aFacing ? (textureIndex > 0) ? new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[textureIndex]} : new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]} : textureIndex > 0 ? aActive ? getTexturesActive(Textures.BlockIcons.CASING_BLOCKS[textureIndex]) : getTexturesInactive(Textures.BlockIcons.CASING_BLOCKS[textureIndex]) : aActive ? getTexturesActive(Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]) : getTexturesInactive(Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]); } @Override public void saveNBTData(NBTTagCompound aNBT) { super.saveNBTData(aNBT); aNBT.setByte("mMachineBlock", mMachineBlock); + aNBT.setByte("mTexturePage", mTexturePage); } @Override public void loadNBTData(NBTTagCompound aNBT) { super.loadNBTData(aNBT); mMachineBlock = aNBT.getByte("mMachineBlock"); + mTexturePage = aNBT.getByte("mTexturePage"); } @Override public final void onValueUpdate(byte aValue) { - mMachineBlock = (byte) (aValue & 127); + mMachineBlock = (byte)(aValue & 0x7F); } @Override public final byte getUpdateData() { - return (byte) (mMachineBlock & 127); + return (byte)(mMachineBlock & 0x7F); + } + + public final void onTexturePageUpdate(byte aValue) { + mTexturePage = (byte)(aValue & 0x7F); + } + + public final byte getTexturePage() { + return (byte)(mTexturePage & 0x7F); } @Override diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java index a02a5568..a95ae7f1 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java @@ -709,8 +709,10 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { if (aTileEntity == null) return false; IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); if (aMetaTileEntity == null) return false; - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch) + if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) 0; + } if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input) return mInputHatches.add((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity); if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputBus) @@ -736,6 +738,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Maintenance) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) 0; return mMaintenanceHatches.add((GT_MetaTileEntity_Hatch_Maintenance) aMetaTileEntity); } return false; @@ -749,6 +752,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Energy) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) 0; return mEnergyHatches.add((GT_MetaTileEntity_Hatch_Energy) aMetaTileEntity); } return false; @@ -760,6 +764,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Dynamo) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) 0; return mDynamoHatches.add((GT_MetaTileEntity_Hatch_Dynamo) aMetaTileEntity); } return false; @@ -771,6 +776,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Muffler) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) 0; return mMufflerHatches.add((GT_MetaTileEntity_Hatch_Muffler) aMetaTileEntity); } return false; @@ -782,11 +788,13 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) 0; ((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity).mRecipeMap = getRecipeMap(); return mInputHatches.add((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity); } if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputBus) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) 0; ((GT_MetaTileEntity_Hatch_InputBus) aMetaTileEntity).mRecipeMap = getRecipeMap(); return mInputBusses.add((GT_MetaTileEntity_Hatch_InputBus) aMetaTileEntity); } @@ -799,10 +807,12 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Output) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) 0; return mOutputHatches.add((GT_MetaTileEntity_Hatch_Output) aMetaTileEntity); } if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_OutputBus) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) 0; return mOutputBusses.add((GT_MetaTileEntity_Hatch_OutputBus) aMetaTileEntity); } return false; diff --git a/src/main/java/gregtech/api/net/GT_Packet_TileEntity.java b/src/main/java/gregtech/api/net/GT_Packet_TileEntity.java index b916da27..457bd7f2 100644 --- a/src/main/java/gregtech/api/net/GT_Packet_TileEntity.java +++ b/src/main/java/gregtech/api/net/GT_Packet_TileEntity.java @@ -11,12 +11,33 @@ import net.minecraft.world.IBlockAccess; public class GT_Packet_TileEntity extends GT_Packet { private int mX, mZ, mC0, mC1, mC2, mC3, mC4, mC5; private short mY, mID; - private byte mTexture, mUpdate, mRedstone, mColor; + private byte mTexture, mTexturePage, mUpdate, mRedstone, mColor; public GT_Packet_TileEntity() { super(true); } + //For tiles + public GT_Packet_TileEntity(int aX, short aY, int aZ, short aID, int aC0, int aC1, int aC2, int aC3, int aC4, int aC5, byte aTexture, byte aTexturePage, byte aUpdate, byte aRedstone, byte aColor) { + super(false); + mX = aX; + mY = aY; + mZ = aZ; + mC0 = aC0; + mC1 = aC1; + mC2 = aC2; + mC3 = aC3; + mC4 = aC4; + mC5 = aC5; + mID = aID; + mTexture = aTexture; + mTexturePage=aTexturePage; + mUpdate = aUpdate; + mRedstone = aRedstone; + mColor = aColor; + } + + //For pipes public GT_Packet_TileEntity(int aX, short aY, int aZ, short aID, int aC0, int aC1, int aC2, int aC3, int aC4, int aC5, byte aTexture, byte aUpdate, byte aRedstone, byte aColor) { super(false); mX = aX; @@ -30,6 +51,7 @@ public class GT_Packet_TileEntity extends GT_Packet { mC5 = aC5; mID = aID; mTexture = aTexture; + mTexturePage=0; mUpdate = aUpdate; mRedstone = aRedstone; mColor = aColor; @@ -37,7 +59,7 @@ public class GT_Packet_TileEntity extends GT_Packet { @Override public byte[] encode() { - ByteArrayDataOutput tOut = ByteStreams.newDataOutput(40); + ByteArrayDataOutput tOut = ByteStreams.newDataOutput(41); tOut.writeInt(mX); tOut.writeShort(mY); @@ -52,6 +74,7 @@ public class GT_Packet_TileEntity extends GT_Packet { tOut.writeInt(mC5); tOut.writeByte(mTexture); + tOut.writeByte(mTexturePage); tOut.writeByte(mUpdate); tOut.writeByte(mRedstone); tOut.writeByte(mColor); @@ -61,7 +84,7 @@ public class GT_Packet_TileEntity extends GT_Packet { @Override public GT_Packet decode(ByteArrayDataInput aData) { - return new GT_Packet_TileEntity(aData.readInt(), aData.readShort(), aData.readInt(), aData.readShort(), aData.readInt(), aData.readInt(), aData.readInt(), aData.readInt(), aData.readInt(), aData.readInt(), aData.readByte(), aData.readByte(), aData.readByte(), aData.readByte()); + return new GT_Packet_TileEntity(aData.readInt(), aData.readShort(), aData.readInt(), aData.readShort(), aData.readInt(), aData.readInt(), aData.readInt(), aData.readInt(), aData.readInt(), aData.readInt(), aData.readByte(), aData.readByte(), aData.readByte(), aData.readByte(), aData.readByte()); } @Override @@ -70,7 +93,7 @@ public class GT_Packet_TileEntity extends GT_Packet { TileEntity tTileEntity = aWorld.getTileEntity(mX, mY, mZ); if (tTileEntity != null) { if (tTileEntity instanceof BaseMetaTileEntity) - ((BaseMetaTileEntity) tTileEntity).receiveMetaTileEntityData(mID, mC0, mC1, mC2, mC3, mC4, mC5, mTexture, mUpdate, mRedstone, mColor); + ((BaseMetaTileEntity) tTileEntity).receiveMetaTileEntityData(mID, mC0, mC1, mC2, mC3, mC4, mC5, mTexture, mTexturePage, mUpdate, mRedstone, mColor); else if (tTileEntity instanceof BaseMetaPipeEntity) ((BaseMetaPipeEntity) tTileEntity).receiveMetaTileEntityData(mID, mC0, mC1, mC2, mC3, mC4, mC5, mTexture, mUpdate, mRedstone, mColor); } diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java index 64359518..d2521bdd 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java @@ -354,6 +354,7 @@ public class GT_MetaTileEntity_AssemblyLine if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_DataAccess) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) 0; return mDataAccessHatches.add((GT_MetaTileEntity_Hatch_DataAccess) aMetaTileEntity); } return false; diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngine.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngine.java index ff382c36..9300f773 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngine.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngine.java @@ -155,6 +155,7 @@ public class GT_MetaTileEntity_DieselEngine extends GT_MetaTileEntity_MultiBlock if ((tTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_Dynamo)) { this.mDynamoHatches.add((GT_MetaTileEntity_Hatch_Dynamo) tTileEntity.getMetaTileEntity()); ((GT_MetaTileEntity_Hatch) tTileEntity.getMetaTileEntity()).mMachineBlock = getCasingTextureIndex(); + ((GT_MetaTileEntity_Hatch) tTileEntity.getMetaTileEntity()).mTexturePage = (byte) 0; } else { return false; } diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java index 82384bd0..2889cb5b 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java @@ -280,16 +280,19 @@ public abstract class GT_MetaTileEntity_FusionComputer extends GT_MetaTileEntity if (this.mEnergyHatches != null) { for (GT_MetaTileEntity_Hatch_Energy hatch : this.mEnergyHatches) { hatch.mMachineBlock = status ? (byte) 52 : (byte) 53; + hatch.mTexturePage=0; } } if (this.mOutputHatches != null) { for (GT_MetaTileEntity_Hatch_Output hatch : this.mOutputHatches) { hatch.mMachineBlock = status ? (byte) 52 : (byte) 53; + hatch.mTexturePage=0; } } if (this.mInputHatches != null) { for (GT_MetaTileEntity_Hatch_Input hatch : this.mInputHatches) { hatch.mMachineBlock = status ? (byte) 52 : (byte) 53; + hatch.mTexturePage=0; } } return true; diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java index 8bf054d8..7a003960 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java @@ -225,6 +225,7 @@ public class GT_MetaTileEntity_HeatExchanger extends GT_MetaTileEntity_MultiBloc if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Output) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) 0; mOutputColdFluidHatch = (GT_MetaTileEntity_Hatch_Output) aMetaTileEntity; return true; } @@ -237,6 +238,7 @@ public class GT_MetaTileEntity_HeatExchanger extends GT_MetaTileEntity_MultiBloc if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) 0; ((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity).mRecipeMap = getRecipeMap(); mInputHotFluidHatch = (GT_MetaTileEntity_Hatch_Input) aMetaTileEntity; return true; diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java index 74daf36a..db17bad9 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java @@ -91,6 +91,7 @@ public abstract class GT_MetaTileEntity_LargeTurbine extends GT_MetaTileEntity_M if ((tTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_Dynamo)) { this.mDynamoHatches.add((GT_MetaTileEntity_Hatch_Dynamo) tTileEntity.getMetaTileEntity()); ((GT_MetaTileEntity_Hatch) tTileEntity.getMetaTileEntity()).mMachineBlock = getCasingTextureIndex(); + ((GT_MetaTileEntity_Hatch) tTileEntity.getMetaTileEntity()).mTexturePage = (byte) 0; } else { return false; } From 2482504b5020741d2498cfa825b25c0caf6932b7 Mon Sep 17 00:00:00 2001 From: Dimach Date: Fri, 28 Jul 2017 16:12:40 +0300 Subject: [PATCH 23/51] Added new function to GT scanner - print voltage and amperage of electric cable at last second. --- src/main/java/gregtech/api/util/GT_Utility.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/gregtech/api/util/GT_Utility.java b/src/main/java/gregtech/api/util/GT_Utility.java index ec4db394..acc5c9da 100644 --- a/src/main/java/gregtech/api/util/GT_Utility.java +++ b/src/main/java/gregtech/api/util/GT_Utility.java @@ -14,6 +14,7 @@ import gregtech.api.interfaces.IProjectileItem; import gregtech.api.interfaces.tileentity.*; import gregtech.api.items.GT_EnergyArmor_Item; import gregtech.api.items.GT_Generic_Item; +import gregtech.api.metatileentity.implementations.GT_MetaPipeEntity_Cable; import gregtech.api.net.GT_Packet_Sound; import gregtech.api.objects.GT_ItemStack; import gregtech.api.objects.ItemData; @@ -1732,6 +1733,15 @@ public class GT_Utility { } catch (Throwable e) { if (D1) e.printStackTrace(GT_Log.err); } + try { + if (tTileEntity instanceof IGregTechTileEntity && ((IGregTechTileEntity) tTileEntity).getMetaTileEntity() instanceof GT_MetaPipeEntity_Cable) { + GT_MetaPipeEntity_Cable c = (GT_MetaPipeEntity_Cable) ((IGregTechTileEntity) tTileEntity).getMetaTileEntity(); + tList.add("Max voltage last second " + c.mTransferredVoltageLast20); + tList.add("Max amperage last second " + c.mTransferredAmperageLast20); + } + } catch (Throwable e) { + if (D1) e.printStackTrace(GT_Log.err); + } try { if (tTileEntity instanceof IBasicEnergyContainer && ((IBasicEnergyContainer) tTileEntity).getEUCapacity() > 0) { tList.add(trans("179","Max IN: ") + ((IBasicEnergyContainer) tTileEntity).getInputVoltage() + trans("180"," EU")); From 281254348e714ea68c880dae1129499ca2024076 Mon Sep 17 00:00:00 2001 From: Technus Date: Wed, 2 Aug 2017 18:49:42 +0200 Subject: [PATCH 24/51] Expand to add proper texture paging support. --- .../GT_MetaTileEntity_MultiBlockBase.java | 18 +++++++++--------- .../multi/GT_MetaTileEntity_AssemblyLine.java | 2 +- .../multi/GT_MetaTileEntity_DieselEngine.java | 2 +- .../GT_MetaTileEntity_FusionComputer.java | 6 +++--- .../multi/GT_MetaTileEntity_HeatExchanger.java | 4 ++-- .../multi/GT_MetaTileEntity_LargeTurbine.java | 2 +- 6 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java index a95ae7f1..f31a534b 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java @@ -711,7 +711,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) 0; + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) (aBaseCasingIndex>>7); } if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input) return mInputHatches.add((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity); @@ -738,7 +738,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Maintenance) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) 0; + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) (aBaseCasingIndex>>7); return mMaintenanceHatches.add((GT_MetaTileEntity_Hatch_Maintenance) aMetaTileEntity); } return false; @@ -752,7 +752,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Energy) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) 0; + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) (aBaseCasingIndex>>7); return mEnergyHatches.add((GT_MetaTileEntity_Hatch_Energy) aMetaTileEntity); } return false; @@ -764,7 +764,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Dynamo) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) 0; + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) (aBaseCasingIndex>>7); return mDynamoHatches.add((GT_MetaTileEntity_Hatch_Dynamo) aMetaTileEntity); } return false; @@ -776,7 +776,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Muffler) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) 0; + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) (aBaseCasingIndex>>7); return mMufflerHatches.add((GT_MetaTileEntity_Hatch_Muffler) aMetaTileEntity); } return false; @@ -788,13 +788,13 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) 0; + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) (aBaseCasingIndex>>7); ((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity).mRecipeMap = getRecipeMap(); return mInputHatches.add((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity); } if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputBus) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) 0; + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) (aBaseCasingIndex>>7); ((GT_MetaTileEntity_Hatch_InputBus) aMetaTileEntity).mRecipeMap = getRecipeMap(); return mInputBusses.add((GT_MetaTileEntity_Hatch_InputBus) aMetaTileEntity); } @@ -807,12 +807,12 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Output) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) 0; + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) (aBaseCasingIndex>>7); return mOutputHatches.add((GT_MetaTileEntity_Hatch_Output) aMetaTileEntity); } if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_OutputBus) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) 0; + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) (aBaseCasingIndex>>7); return mOutputBusses.add((GT_MetaTileEntity_Hatch_OutputBus) aMetaTileEntity); } return false; diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java index d2521bdd..535abf3e 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java @@ -354,7 +354,7 @@ public class GT_MetaTileEntity_AssemblyLine if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_DataAccess) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) 0; + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) (aBaseCasingIndex>>7); return mDataAccessHatches.add((GT_MetaTileEntity_Hatch_DataAccess) aMetaTileEntity); } return false; diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngine.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngine.java index 9300f773..2e5f316a 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngine.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngine.java @@ -155,7 +155,7 @@ public class GT_MetaTileEntity_DieselEngine extends GT_MetaTileEntity_MultiBlock if ((tTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_Dynamo)) { this.mDynamoHatches.add((GT_MetaTileEntity_Hatch_Dynamo) tTileEntity.getMetaTileEntity()); ((GT_MetaTileEntity_Hatch) tTileEntity.getMetaTileEntity()).mMachineBlock = getCasingTextureIndex(); - ((GT_MetaTileEntity_Hatch) tTileEntity.getMetaTileEntity()).mTexturePage = (byte) 0; + ((GT_MetaTileEntity_Hatch) tTileEntity.getMetaTileEntity()).mTexturePage = (byte) 0;//FORCED TO 0 } else { return false; } diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java index 2889cb5b..b1334527 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java @@ -280,19 +280,19 @@ public abstract class GT_MetaTileEntity_FusionComputer extends GT_MetaTileEntity if (this.mEnergyHatches != null) { for (GT_MetaTileEntity_Hatch_Energy hatch : this.mEnergyHatches) { hatch.mMachineBlock = status ? (byte) 52 : (byte) 53; - hatch.mTexturePage=0; + hatch.mTexturePage=0;//FORCED TO 0 } } if (this.mOutputHatches != null) { for (GT_MetaTileEntity_Hatch_Output hatch : this.mOutputHatches) { hatch.mMachineBlock = status ? (byte) 52 : (byte) 53; - hatch.mTexturePage=0; + hatch.mTexturePage=0;//FORCED TO 0 } } if (this.mInputHatches != null) { for (GT_MetaTileEntity_Hatch_Input hatch : this.mInputHatches) { hatch.mMachineBlock = status ? (byte) 52 : (byte) 53; - hatch.mTexturePage=0; + hatch.mTexturePage=0;//FORCED TO 0 } } return true; diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java index 7a003960..f7804849 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java @@ -225,7 +225,7 @@ public class GT_MetaTileEntity_HeatExchanger extends GT_MetaTileEntity_MultiBloc if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Output) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) 0; + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) (aBaseCasingIndex>>7); mOutputColdFluidHatch = (GT_MetaTileEntity_Hatch_Output) aMetaTileEntity; return true; } @@ -238,7 +238,7 @@ public class GT_MetaTileEntity_HeatExchanger extends GT_MetaTileEntity_MultiBloc if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) 0; + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) (aBaseCasingIndex>>7); ((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity).mRecipeMap = getRecipeMap(); mInputHotFluidHatch = (GT_MetaTileEntity_Hatch_Input) aMetaTileEntity; return true; diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java index db17bad9..4d5b0190 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java @@ -91,7 +91,7 @@ public abstract class GT_MetaTileEntity_LargeTurbine extends GT_MetaTileEntity_M if ((tTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_Dynamo)) { this.mDynamoHatches.add((GT_MetaTileEntity_Hatch_Dynamo) tTileEntity.getMetaTileEntity()); ((GT_MetaTileEntity_Hatch) tTileEntity.getMetaTileEntity()).mMachineBlock = getCasingTextureIndex(); - ((GT_MetaTileEntity_Hatch) tTileEntity.getMetaTileEntity()).mTexturePage = (byte) 0; + ((GT_MetaTileEntity_Hatch) tTileEntity.getMetaTileEntity()).mTexturePage = (byte) 0;//FORCED TO 0 } else { return false; } From 85479e17795a58a027fbdd16130784fa9bf9302d Mon Sep 17 00:00:00 2001 From: Technus Date: Wed, 2 Aug 2017 19:03:36 +0200 Subject: [PATCH 25/51] Add pages to array --- src/main/java/gregtech/api/enums/Textures.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/gregtech/api/enums/Textures.java b/src/main/java/gregtech/api/enums/Textures.java index 3154c4dc..b2f7bcb2 100644 --- a/src/main/java/gregtech/api/enums/Textures.java +++ b/src/main/java/gregtech/api/enums/Textures.java @@ -612,7 +612,7 @@ public class Textures { new GT_RenderedTexture(OVERLAY_LOCKER_012), new GT_RenderedTexture(OVERLAY_LOCKER_013), }, - CASING_BLOCKS = new ITexture[128], + CASING_BLOCKS = new ITexture[128*16],//16 Pages available 0-15 - each can hold 128 textures 0-127 MACHINE_CASINGS[] = new ITexture[10][17]; static { From 94ed98cbbdfa25987befa965cfbf32437bcff2e4 Mon Sep 17 00:00:00 2001 From: Technus Date: Thu, 3 Aug 2017 22:46:39 +0200 Subject: [PATCH 26/51] More compatible attempt --- .../java/gregtech/api/enums/Textures.java | 7 ++- .../GT_MetaTileEntity_Hatch.java | 49 ++++++++++++++++--- .../GT_MetaTileEntity_MultiBlockBase.java | 27 ++++------ .../multi/GT_MetaTileEntity_AssemblyLine.java | 3 +- .../multi/GT_MetaTileEntity_DieselEngine.java | 3 +- .../GT_MetaTileEntity_FusionComputer.java | 9 ++-- .../GT_MetaTileEntity_HeatExchanger.java | 6 +-- .../multi/GT_MetaTileEntity_LargeTurbine.java | 3 +- 8 files changed, 63 insertions(+), 44 deletions(-) diff --git a/src/main/java/gregtech/api/enums/Textures.java b/src/main/java/gregtech/api/enums/Textures.java index b2f7bcb2..6927d4f8 100644 --- a/src/main/java/gregtech/api/enums/Textures.java +++ b/src/main/java/gregtech/api/enums/Textures.java @@ -612,13 +612,16 @@ public class Textures { new GT_RenderedTexture(OVERLAY_LOCKER_012), new GT_RenderedTexture(OVERLAY_LOCKER_013), }, - CASING_BLOCKS = new ITexture[128*16],//16 Pages available 0-15 - each can hold 128 textures 0-127 - MACHINE_CASINGS[] = new ITexture[10][17]; + CASING_BLOCKS = new ITexture[128],//original variable still limited to 128 + MACHINE_CASINGS[] = new ITexture[16][17]; + + public static ITexture[][] casingTexturePages = new ITexture[128][];//page holder so we don't make an short long array static { for (byte i = 0; i < MACHINE_CASINGS.length; i++) for (byte j = 0; j < MACHINE_CASINGS[i].length; j++) MACHINE_CASINGS[i][j] = new GT_SidedTexture(MACHINECASINGS_BOTTOM[i], MACHINECASINGS_TOP[i], MACHINECASINGS_SIDE[i], Dyes.getModulation(j - 1, Dyes.MACHINE_METAL.mRGBa)); + casingTexturePages[0]=CASING_BLOCKS; } protected IIcon mIcon; diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java index 9a4402c3..3407eea9 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java @@ -6,8 +6,10 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.nbt.NBTTagCompound; public abstract class GT_MetaTileEntity_Hatch extends GT_MetaTileEntity_BasicTank { + @Deprecated //Use texture changing method public byte mMachineBlock = 0; - public byte mTexturePage = 0; + private byte mTexturePage = 0; + private byte actualTexture = 0; public GT_MetaTileEntity_Hatch(int aID, String aName, String aNameRegional, int aTier, int aInvSlotCount, String aDescription, ITexture... aTextures) { super(aID, aName, aNameRegional, aTier, aInvSlotCount, aDescription, aTextures); @@ -36,32 +38,52 @@ public abstract class GT_MetaTileEntity_Hatch extends GT_MetaTileEntity_BasicTan @Override public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { - int textureIndex=mMachineBlock|(mTexturePage<<7);//Shift seven since one page is 128 textures! - return aSide != aFacing ? (textureIndex > 0) ? new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[textureIndex]} : new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]} : textureIndex > 0 ? aActive ? getTexturesActive(Textures.BlockIcons.CASING_BLOCKS[textureIndex]) : getTexturesInactive(Textures.BlockIcons.CASING_BLOCKS[textureIndex]) : aActive ? getTexturesActive(Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]) : getTexturesInactive(Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]); + int textureIndex=actualTexture|(mTexturePage<<7);//Shift seven since one page is 128 textures! + return aSide != aFacing ? + textureIndex > 0 ? + new ITexture[]{Textures.BlockIcons.casingTexturePages[mTexturePage][actualTexture]} : + new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]} : + textureIndex > 0 ? + aActive ? + getTexturesActive(Textures.BlockIcons.casingTexturePages[mTexturePage][actualTexture]) : + getTexturesInactive(Textures.BlockIcons.casingTexturePages[mTexturePage][actualTexture]) : + aActive ? + getTexturesActive(Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]) : + getTexturesInactive(Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]); } @Override public void saveNBTData(NBTTagCompound aNBT) { super.saveNBTData(aNBT); - aNBT.setByte("mMachineBlock", mMachineBlock); + aNBT.setByte("mMachineBlock", actualTexture); aNBT.setByte("mTexturePage", mTexturePage); } @Override public void loadNBTData(NBTTagCompound aNBT) { super.loadNBTData(aNBT); - mMachineBlock = aNBT.getByte("mMachineBlock"); - mTexturePage = aNBT.getByte("mTexturePage"); + mMachineBlock=actualTexture=aNBT.getByte("mMachineBlock"); + mTexturePage=aNBT.getByte("mTexturePage"); + } + + public final void updateTexture(int textureIndex){ + onValueUpdate((byte) textureIndex); + onTexturePageUpdate((byte) (textureIndex>>7)); + } + + public final void updateTexture(byte texturePage, byte machineBlock){ + onValueUpdate(machineBlock); + onTexturePageUpdate(texturePage); } @Override public final void onValueUpdate(byte aValue) { - mMachineBlock = (byte)(aValue & 0x7F); + mMachineBlock=actualTexture=(byte)(aValue & 0x7F); } @Override public final byte getUpdateData() { - return (byte)(mMachineBlock & 0x7F); + return (byte)(actualTexture & 0x7F); } public final void onTexturePageUpdate(byte aValue) { @@ -101,4 +123,15 @@ public abstract class GT_MetaTileEntity_Hatch extends GT_MetaTileEntity_BasicTan public boolean displaysStackSize() { return false; } + + @Override + public void onPreTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {//in that method since it is usually not overriden, especially for hatches. + if(actualTexture!=mMachineBlock){//revert to page 0 on edition of the field - old code + mMachineBlock=actualTexture=(byte)(mMachineBlock & 0x7F);//assign back to mMachineBlock just in case the number was negative + mTexturePage=0;//assuming old code only supports page 0 + } + super.onPreTick(aBaseMetaTileEntity, aTick); + } + + //To change to other page -> use the setter method -> updateTexture } diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java index f31a534b..68457e97 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java @@ -710,8 +710,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch) { - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) (aBaseCasingIndex>>7); + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); } if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input) return mInputHatches.add((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity); @@ -737,8 +736,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Maintenance) { - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) (aBaseCasingIndex>>7); + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); return mMaintenanceHatches.add((GT_MetaTileEntity_Hatch_Maintenance) aMetaTileEntity); } return false; @@ -751,8 +749,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Energy) { - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) (aBaseCasingIndex>>7); + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); return mEnergyHatches.add((GT_MetaTileEntity_Hatch_Energy) aMetaTileEntity); } return false; @@ -763,8 +760,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Dynamo) { - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) (aBaseCasingIndex>>7); + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); return mDynamoHatches.add((GT_MetaTileEntity_Hatch_Dynamo) aMetaTileEntity); } return false; @@ -775,8 +771,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Muffler) { - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) (aBaseCasingIndex>>7); + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); return mMufflerHatches.add((GT_MetaTileEntity_Hatch_Muffler) aMetaTileEntity); } return false; @@ -787,14 +782,12 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input) { - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) (aBaseCasingIndex>>7); + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); ((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity).mRecipeMap = getRecipeMap(); return mInputHatches.add((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity); } if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputBus) { - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) (aBaseCasingIndex>>7); + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); ((GT_MetaTileEntity_Hatch_InputBus) aMetaTileEntity).mRecipeMap = getRecipeMap(); return mInputBusses.add((GT_MetaTileEntity_Hatch_InputBus) aMetaTileEntity); } @@ -806,13 +799,11 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Output) { - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) (aBaseCasingIndex>>7); + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); return mOutputHatches.add((GT_MetaTileEntity_Hatch_Output) aMetaTileEntity); } if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_OutputBus) { - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) (aBaseCasingIndex>>7); + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); return mOutputBusses.add((GT_MetaTileEntity_Hatch_OutputBus) aMetaTileEntity); } return false; diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java index 535abf3e..a5b938a3 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java @@ -353,8 +353,7 @@ public class GT_MetaTileEntity_AssemblyLine IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_DataAccess) { - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) (aBaseCasingIndex>>7); + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); return mDataAccessHatches.add((GT_MetaTileEntity_Hatch_DataAccess) aMetaTileEntity); } return false; diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngine.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngine.java index 2e5f316a..826cab56 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngine.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngine.java @@ -154,8 +154,7 @@ public class GT_MetaTileEntity_DieselEngine extends GT_MetaTileEntity_MultiBlock if ((tTileEntity != null) && (tTileEntity.getMetaTileEntity() != null)) { if ((tTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_Dynamo)) { this.mDynamoHatches.add((GT_MetaTileEntity_Hatch_Dynamo) tTileEntity.getMetaTileEntity()); - ((GT_MetaTileEntity_Hatch) tTileEntity.getMetaTileEntity()).mMachineBlock = getCasingTextureIndex(); - ((GT_MetaTileEntity_Hatch) tTileEntity.getMetaTileEntity()).mTexturePage = (byte) 0;//FORCED TO 0 + ((GT_MetaTileEntity_Hatch) tTileEntity.getMetaTileEntity()).updateTexture(getCasingTextureIndex()); } else { return false; } diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java index b1334527..92301a7e 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java @@ -279,20 +279,17 @@ public abstract class GT_MetaTileEntity_FusionComputer extends GT_MetaTileEntity public boolean turnCasingActive(boolean status) { if (this.mEnergyHatches != null) { for (GT_MetaTileEntity_Hatch_Energy hatch : this.mEnergyHatches) { - hatch.mMachineBlock = status ? (byte) 52 : (byte) 53; - hatch.mTexturePage=0;//FORCED TO 0 + hatch.updateTexture(status ? 52 : 53); } } if (this.mOutputHatches != null) { for (GT_MetaTileEntity_Hatch_Output hatch : this.mOutputHatches) { - hatch.mMachineBlock = status ? (byte) 52 : (byte) 53; - hatch.mTexturePage=0;//FORCED TO 0 + hatch.updateTexture(status ? 52 : 53); } } if (this.mInputHatches != null) { for (GT_MetaTileEntity_Hatch_Input hatch : this.mInputHatches) { - hatch.mMachineBlock = status ? (byte) 52 : (byte) 53; - hatch.mTexturePage=0;//FORCED TO 0 + hatch.updateTexture(status ? 52 : 53); } } return true; diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java index f7804849..b258a642 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java @@ -224,8 +224,7 @@ public class GT_MetaTileEntity_HeatExchanger extends GT_MetaTileEntity_MultiBloc IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Output) { - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) (aBaseCasingIndex>>7); + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); mOutputColdFluidHatch = (GT_MetaTileEntity_Hatch_Output) aMetaTileEntity; return true; } @@ -237,8 +236,7 @@ public class GT_MetaTileEntity_HeatExchanger extends GT_MetaTileEntity_MultiBloc IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input) { - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; - ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) (aBaseCasingIndex>>7); + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); ((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity).mRecipeMap = getRecipeMap(); mInputHotFluidHatch = (GT_MetaTileEntity_Hatch_Input) aMetaTileEntity; return true; diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java index 4d5b0190..9806f339 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java @@ -90,8 +90,7 @@ public abstract class GT_MetaTileEntity_LargeTurbine extends GT_MetaTileEntity_M if ((tTileEntity != null) && (tTileEntity.getMetaTileEntity() != null)) { if ((tTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_Dynamo)) { this.mDynamoHatches.add((GT_MetaTileEntity_Hatch_Dynamo) tTileEntity.getMetaTileEntity()); - ((GT_MetaTileEntity_Hatch) tTileEntity.getMetaTileEntity()).mMachineBlock = getCasingTextureIndex(); - ((GT_MetaTileEntity_Hatch) tTileEntity.getMetaTileEntity()).mTexturePage = (byte) 0;//FORCED TO 0 + ((GT_MetaTileEntity_Hatch) tTileEntity.getMetaTileEntity()).updateTexture(getCasingTextureIndex()); } else { return false; } From c0b1f74e083d9c0e3ade1d227fa88d93ef52e905 Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 3 Aug 2017 22:54:36 +0200 Subject: [PATCH 27/51] Minor error correction We have 16 tiers of textures. --- src/main/java/gregtech/api/enums/Textures.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/gregtech/api/enums/Textures.java b/src/main/java/gregtech/api/enums/Textures.java index 6927d4f8..f60fa257 100644 --- a/src/main/java/gregtech/api/enums/Textures.java +++ b/src/main/java/gregtech/api/enums/Textures.java @@ -613,7 +613,7 @@ public class Textures { new GT_RenderedTexture(OVERLAY_LOCKER_013), }, CASING_BLOCKS = new ITexture[128],//original variable still limited to 128 - MACHINE_CASINGS[] = new ITexture[16][17]; + MACHINE_CASINGS[] = new ITexture[10][17]; public static ITexture[][] casingTexturePages = new ITexture[128][];//page holder so we don't make an short long array From bf4f19557a7e778560011b3cf20fbc0a0d94a501 Mon Sep 17 00:00:00 2001 From: Technus Date: Thu, 3 Aug 2017 23:15:52 +0200 Subject: [PATCH 28/51] Fix one missing spot in deprecated api. (for texture change use that is) --- .../metatileentity/implementations/GT_MetaTileEntity_Hatch.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java index 3407eea9..3aa57732 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java @@ -79,6 +79,7 @@ public abstract class GT_MetaTileEntity_Hatch extends GT_MetaTileEntity_BasicTan @Override public final void onValueUpdate(byte aValue) { mMachineBlock=actualTexture=(byte)(aValue & 0x7F); + mTexturePage=0; } @Override From fc08b67f7d973d1b83d2027102ec385b29bfba89 Mon Sep 17 00:00:00 2001 From: Technus Date: Fri, 4 Aug 2017 22:03:59 +0200 Subject: [PATCH 29/51] Fix rare case of texture not updating when: Changing texture from page x to page 0 without changing the texture id --- .../GT_MetaTileEntity_Hatch.java | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java index 3aa57732..184e6129 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java @@ -62,8 +62,12 @@ public abstract class GT_MetaTileEntity_Hatch extends GT_MetaTileEntity_BasicTan @Override public void loadNBTData(NBTTagCompound aNBT) { super.loadNBTData(aNBT); - mMachineBlock=actualTexture=aNBT.getByte("mMachineBlock"); + actualTexture=aNBT.getByte("mMachineBlock"); mTexturePage=aNBT.getByte("mTexturePage"); + + if(mTexturePage!=0 && getBaseMetaTileEntity().isServerSide()) + actualTexture|=0x80;//<- lets just hope no one needs the correct value for that in client + mMachineBlock=actualTexture; } public final void updateTexture(int textureIndex){ @@ -78,7 +82,8 @@ public abstract class GT_MetaTileEntity_Hatch extends GT_MetaTileEntity_BasicTan @Override public final void onValueUpdate(byte aValue) { - mMachineBlock=actualTexture=(byte)(aValue & 0x7F); + actualTexture=(byte)(aValue & 0x7F); + mMachineBlock=actualTexture; mTexturePage=0; } @@ -89,6 +94,11 @@ public abstract class GT_MetaTileEntity_Hatch extends GT_MetaTileEntity_BasicTan public final void onTexturePageUpdate(byte aValue) { mTexturePage = (byte)(aValue & 0x7F); + if(mTexturePage!=0 && getBaseMetaTileEntity().isServerSide()) {//just to be sure + mMachineBlock|=0x80;//<- lets just hope no one needs the correct value for that in client + actualTexture=mMachineBlock; + } + //set last bit to allow working of the page reset-er to 0 in rare case when texture id is the same but page changes to 0 } public final byte getTexturePage() { @@ -127,8 +137,9 @@ public abstract class GT_MetaTileEntity_Hatch extends GT_MetaTileEntity_BasicTan @Override public void onPreTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {//in that method since it is usually not overriden, especially for hatches. - if(actualTexture!=mMachineBlock){//revert to page 0 on edition of the field - old code - mMachineBlock=actualTexture=(byte)(mMachineBlock & 0x7F);//assign back to mMachineBlock just in case the number was negative + if(actualTexture!=mMachineBlock){//revert to page 0 on edition of the field - old code way + actualTexture=(byte)(mMachineBlock & 0x7F); + mMachineBlock=actualTexture;//clear last bit in mMachineBlock since now we are at page 0 after the direct field change mTexturePage=0;//assuming old code only supports page 0 } super.onPreTick(aBaseMetaTileEntity, aTick); From c9ea7f7727be3ebd7714283626f00cb0ab529b1b Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 4 Aug 2017 23:02:16 +0200 Subject: [PATCH 30/51] Update commentary --- .../implementations/GT_MetaTileEntity_Hatch.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java index 184e6129..9695e71c 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java @@ -66,7 +66,7 @@ public abstract class GT_MetaTileEntity_Hatch extends GT_MetaTileEntity_BasicTan mTexturePage=aNBT.getByte("mTexturePage"); if(mTexturePage!=0 && getBaseMetaTileEntity().isServerSide()) - actualTexture|=0x80;//<- lets just hope no one needs the correct value for that in client + actualTexture|=0x80;//<- lets just hope no one needs the correct value for that on server mMachineBlock=actualTexture; } @@ -95,7 +95,7 @@ public abstract class GT_MetaTileEntity_Hatch extends GT_MetaTileEntity_BasicTan public final void onTexturePageUpdate(byte aValue) { mTexturePage = (byte)(aValue & 0x7F); if(mTexturePage!=0 && getBaseMetaTileEntity().isServerSide()) {//just to be sure - mMachineBlock|=0x80;//<- lets just hope no one needs the correct value for that in client + mMachineBlock|=0x80;//<- lets just hope no one needs the correct value for that on server actualTexture=mMachineBlock; } //set last bit to allow working of the page reset-er to 0 in rare case when texture id is the same but page changes to 0 From 1751ec494c85b66b43111f064dc4c3234fdac0c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Fri, 4 Aug 2017 10:47:54 +0200 Subject: [PATCH 31/51] Just in case the number goes negative --- .../implementations/GT_MetaTileEntity_Hatch.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java index 9695e71c..c6fa890b 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java @@ -39,14 +39,15 @@ public abstract class GT_MetaTileEntity_Hatch extends GT_MetaTileEntity_BasicTan @Override public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { int textureIndex=actualTexture|(mTexturePage<<7);//Shift seven since one page is 128 textures! + int texturePointer=(byte)(actualTexture&0x7F);//just to be sure, from my testing the 8th bit cannot be set clientside return aSide != aFacing ? textureIndex > 0 ? - new ITexture[]{Textures.BlockIcons.casingTexturePages[mTexturePage][actualTexture]} : + new ITexture[]{Textures.BlockIcons.casingTexturePages[mTexturePage][texturePointer]} : new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]} : textureIndex > 0 ? aActive ? - getTexturesActive(Textures.BlockIcons.casingTexturePages[mTexturePage][actualTexture]) : - getTexturesInactive(Textures.BlockIcons.casingTexturePages[mTexturePage][actualTexture]) : + getTexturesActive(Textures.BlockIcons.casingTexturePages[mTexturePage][texturePointer]) : + getTexturesInactive(Textures.BlockIcons.casingTexturePages[mTexturePage][texturePointer]) : aActive ? getTexturesActive(Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]) : getTexturesInactive(Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]); From 4822c5ca2808860cbfbfe6081251d616f9f33d91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Mon, 7 Aug 2017 21:06:41 +0200 Subject: [PATCH 32/51] Reverted the Galena formula: PbS -> Pb3Ag3S2 --- src/main/java/gregtech/api/enums/Materials.java | 4 ++-- .../gregtech/loaders/oreprocessing/ProcessingOreSmelting.java | 2 ++ .../gregtech/loaders/postload/GT_MachineRecipeLoader.java | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/gregtech/api/enums/Materials.java b/src/main/java/gregtech/api/enums/Materials.java index 7e596089..19089c1b 100644 --- a/src/main/java/gregtech/api/enums/Materials.java +++ b/src/main/java/gregtech/api/enums/Materials.java @@ -468,7 +468,7 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { public static Materials Electrum = new Materials(303, TextureSet.SET_SHINY, 12.0F, 64, 2, 1|2|64|128, 255, 255, 100, 0, "Electrum", "Electrum", 0, 0, -1, 0, false, false, 4, 1, 1, Dyes.dyeYellow, 2, Arrays.asList(new MaterialStack(Silver, 1), new MaterialStack(Gold, 1))); public static Materials Emerald = new Materials(501, TextureSet.SET_EMERALD, 7.0F, 256, 2, 1|4|8 |64, 80, 255, 80, 127, "Emerald", "Emerald", 0, 0, -1, 0, false, true, 5, 1, 1, Dyes.dyeGreen, 1, Arrays.asList(new MaterialStack(Beryllium, 3), new MaterialStack(Aluminium, 2), new MaterialStack(Silicon, 6), new MaterialStack(Oxygen, 18)), Arrays.asList(new TC_AspectStack(TC_Aspects.VITREUS, 3), new TC_AspectStack(TC_Aspects.LUCRUM, 5))); public static Materials FreshWater = new Materials(-1, TextureSet.SET_FLUID, 1.0F, 0, 0, 16, 0, 0, 255, 0, "FreshWater", "Fresh Water", 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyeBlue, 0, Arrays.asList(new MaterialStack(Hydrogen, 2), new MaterialStack(Oxygen, 1)), Arrays.asList(new TC_AspectStack(TC_Aspects.AQUA, 2))); - public static Materials Galena = new Materials(830, TextureSet.SET_DULL, 1.0F, 0, 3, 1 |8 , 100, 60, 100, 0, "Galena", "Galena", 0, 0, -1, 0, false, false, 4, 1, 1, Dyes.dyePurple, 1, Arrays.asList(new MaterialStack(Lead, 1), new MaterialStack(Sulfur, 1))); + public static Materials Galena = new Materials(830, TextureSet.SET_DULL, 1.0F, 0, 3, 1 |8 , 100, 60, 100, 0, "Galena", "Galena", 0, 0, -1, 0, false, false, 4, 1, 1, Dyes.dyePurple, 1, Arrays.asList(new MaterialStack(Lead, 3), new MaterialStack(Silver, 3), new MaterialStack(Sulfur, 2))); public static Materials Garnierite = new Materials(906, TextureSet.SET_METALLIC, 1.0F, 0, 3, 1 |8 , 50, 200, 70, 0, "Garnierite", "Garnierite", 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyeLightBlue, 1, Arrays.asList(new MaterialStack(Nickel, 1), new MaterialStack(Oxygen, 1))); public static Materials Glyceryl = new Materials(714, TextureSet.SET_FLUID, 1.0F, 0, 1, 16, 0, 150, 150, 0, "Glyceryl", "Glyceryl Trinitrate", 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyeCyan, 1, Arrays.asList(new MaterialStack(Carbon, 3), new MaterialStack(Hydrogen, 5), new MaterialStack(Nitrogen, 3), new MaterialStack(Oxygen, 9))); public static Materials GreenSapphire = new Materials(504, TextureSet.SET_GEM_HORIZONTAL, 7.0F, 256, 2, 1|4|8 |64, 100, 200, 130, 127, "GreenSapphire", "Green Sapphire", 0, 0, -1, 0, false, true, 5, 1, 1, Dyes.dyeCyan, 1, Arrays.asList(new MaterialStack(Aluminium, 2), new MaterialStack(Oxygen, 3)), Arrays.asList(new TC_AspectStack(TC_Aspects.LUCRUM, 5), new TC_AspectStack(TC_Aspects.VITREUS, 3))); @@ -890,7 +890,7 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { Pyrolusite .setDirectSmelting(Manganese ).add(SubTag.DONT_ADD_DEFAULT_BBF_RECIPE); Magnesite .setDirectSmelting(Magnesium ).add(SubTag.DONT_ADD_DEFAULT_BBF_RECIPE); Molybdenite .setDirectSmelting(Molybdenum ).add(SubTag.DONT_ADD_DEFAULT_BBF_RECIPE); - Galena .setDirectSmelting(Lead ); + Galena .setDirectSmelting(Lead ).add(SubTag.DONT_ADD_DEFAULT_BBF_RECIPE); Amber .setOreMultiplier( 2).setSmeltingMultiplier( 2); InfusedAir .setOreMultiplier( 2).setSmeltingMultiplier( 2); diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java index b982ddb8..4fa3c13b 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java @@ -56,6 +56,8 @@ public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipe GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), Materials.SiliconDioxide.getDust(2), 2, aMaterial.mDirectSmelting.getIngots(outputAmount), Materials.Ferrosilite.getDust(outputAmount), 2400); } else if (aMaterial == Materials.Tetrahedrite) { GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), GT_Values.NI, 2, aMaterial.mDirectSmelting.getIngots(GT_Mod.gregtechproxy.mMixedOreOnlyYieldsTwoThirdsOfPureOre ? 2 : 3), Materials.Antimony.getNuggets(6), 2400); + } else if (aMaterial == Materials.Galena) { + GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), GT_Values.NI, 2, aMaterial.mDirectSmelting.getIngots(GT_Mod.gregtechproxy.mMixedOreOnlyYieldsTwoThirdsOfPureOre ? 2 : 3), Materials.Silver.getNuggets(6), 2400); } } case dustImpure: diff --git a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java index da0d768c..ee3a9013 100644 --- a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java +++ b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java @@ -3115,7 +3115,7 @@ if(Loader.isModLoaded("Railcraft")){ GT_Values.RA.addBlastRecipe(Materials.Stibnite.getDust(1), GT_Values.NI, Materials.Oxygen.getGas(3000), Materials.SulfurDioxide.getGas(1500), Materials.AntimonyTrioxide.getDust(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); - GT_Values.RA.addBlastRecipe(Materials.Galena.getDust(1), GT_Values.NI, Materials.Oxygen.getGas(3000), Materials.SulfurDioxide.getGas(1000), Materials.Massicot.getDust(1), Materials.Ash.getDustTiny(1), 120, 120, 1200); + GT_Values.RA.addBlastRecipe(Materials.Galena.getDust(1), GT_Values.NI, Materials.Oxygen.getGas(3000), Materials.SulfurDioxide.getGas(1000), Materials.Massicot.getDust(1), Materials.Silver.getNuggets(6), 120, 120, 1200); //Carbothermic Reduction int outputIngotAmount = GT_Mod.gregtechproxy.mMixedOreOnlyYieldsTwoThirdsOfPureOre ? 2 : 3; From f3d3cc24ded8abf957951fb3619bd72c326b437e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Mon, 7 Aug 2017 21:20:43 +0200 Subject: [PATCH 33/51] Fixed a bug where the Nugget amount did not scale with the config --- .../oreprocessing/ProcessingOreSmelting.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java index 4fa3c13b..64bac7e6 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java @@ -46,18 +46,18 @@ public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipe } break; case dust: + int outputAmount = GT_Mod.gregtechproxy.mMixedOreOnlyYieldsTwoThirdsOfPureOre ? 2 : 3; if (aMaterial.mDirectSmelting != aMaterial) { if (!aMaterial.contains(SubTag.DONT_ADD_DEFAULT_BBF_RECIPE)) { - GT_Values.RA.addPrimitiveBlastRecipe(GT_Utility.copyAmount(2, aStack), GT_Values.NI, 2, aMaterial.mDirectSmelting.getIngots(GT_Mod.gregtechproxy.mMixedOreOnlyYieldsTwoThirdsOfPureOre ? 2 : 3), GT_Values.NI, 2400); + GT_Values.RA.addPrimitiveBlastRecipe(GT_Utility.copyAmount(2, aStack), GT_Values.NI, 2, aMaterial.mDirectSmelting.getIngots(outputAmount), GT_Values.NI, 2400); } else if (aMaterial == Materials.Chalcopyrite) { - int outputAmount = GT_Mod.gregtechproxy.mMixedOreOnlyYieldsTwoThirdsOfPureOre ? 2 : 3; - GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), new ItemStack(Blocks.sand, 2), 2, aMaterial.mDirectSmelting.getIngots(outputAmount), Materials.Ferrosilite.getDustSmall(2 * outputAmount), 2400); - GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), Materials.Glass.getDust(2), 2, aMaterial.mDirectSmelting.getIngots(outputAmount), Materials.Ferrosilite.getDustTiny(7 * outputAmount), 2400); - GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), Materials.SiliconDioxide.getDust(2), 2, aMaterial.mDirectSmelting.getIngots(outputAmount), Materials.Ferrosilite.getDust(outputAmount), 2400); + GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), new ItemStack(Blocks.sand, 2), 2, aMaterial.mDirectSmelting.getIngots(outputAmount), Materials.Ferrosilite.getDustSmall(2 * outputAmount), 2400); + GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), Materials.Glass.getDust(2), 2, aMaterial.mDirectSmelting.getIngots(outputAmount), Materials.Ferrosilite.getDustTiny(7 * outputAmount), 2400); + GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), Materials.SiliconDioxide.getDust(2), 2, aMaterial.mDirectSmelting.getIngots(outputAmount), Materials.Ferrosilite.getDust(outputAmount), 2400); } else if (aMaterial == Materials.Tetrahedrite) { - GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), GT_Values.NI, 2, aMaterial.mDirectSmelting.getIngots(GT_Mod.gregtechproxy.mMixedOreOnlyYieldsTwoThirdsOfPureOre ? 2 : 3), Materials.Antimony.getNuggets(6), 2400); + GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), GT_Values.NI, 2, aMaterial.mDirectSmelting.getIngots(outputAmount), Materials.Antimony.getNuggets(3 * outputAmount), 2400); } else if (aMaterial == Materials.Galena) { - GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), GT_Values.NI, 2, aMaterial.mDirectSmelting.getIngots(GT_Mod.gregtechproxy.mMixedOreOnlyYieldsTwoThirdsOfPureOre ? 2 : 3), Materials.Silver.getNuggets(6), 2400); + GT_Values.RA.addPrimitiveBlastRecipe(aMaterial.getDust(2), GT_Values.NI, 2, aMaterial.mDirectSmelting.getIngots(outputAmount), Materials.Silver.getNuggets(6 * outputAmount), 2400); } } case dustImpure: From a749a8536f08973ca0a3e778b37f3d78059b9ff2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Mon, 7 Aug 2017 23:12:27 +0200 Subject: [PATCH 34/51] Reverted changes to Mercury Ore Washing. --- src/main/java/gregtech/api/enums/Materials.java | 3 +-- src/main/java/gregtech/api/enums/SubTag.java | 7 +------ src/main/java/gregtech/common/items/ItemComb.java | 1 + .../gregtech/loaders/oreprocessing/ProcessingDirty.java | 4 ---- 4 files changed, 3 insertions(+), 12 deletions(-) diff --git a/src/main/java/gregtech/api/enums/Materials.java b/src/main/java/gregtech/api/enums/Materials.java index 19089c1b..bdb0dca1 100644 --- a/src/main/java/gregtech/api/enums/Materials.java +++ b/src/main/java/gregtech/api/enums/Materials.java @@ -1192,8 +1192,7 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { SubTag.ELECTROMAGNETIC_SEPERATION_IRON.addTo(YellowLimonite, BrownLimonite, Pyrite, BandedIron, Nickel, Vermiculite, Glauconite, GlauconiteSand, Pentlandite, Tin, Antimony, Ilmenite, Manganese, Chrome, Chromite, Andradite); SubTag.BLASTFURNACE_CALCITE_DOUBLE.addTo(Pyrite, BrownLimonite, YellowLimonite, BasalticMineralSand, GraniticMineralSand, Magnetite); SubTag.BLASTFURNACE_CALCITE_TRIPLE.addTo(Iron, PigIron, DeepIron, ShadowIron, WroughtIron, MeteoricIron); - SubTag.WASHING_MERCURY.addTo(Gold, Osmium, Mithril, Platinum, Midasium, Cooperite, AstralSilver); - SubTag.WASHING_MERCURY_99_PERCENT.addTo(Silver); + SubTag.WASHING_MERCURY.addTo(Gold, Silver, Osmium, Mithril, Platinum, Midasium, Cooperite, AstralSilver); SubTag.WASHING_SODIUMPERSULFATE.addTo(Zinc, Nickel, Copper, Cobalt, Cobaltite, Tetrahedrite); SubTag.METAL.addTo(AnyIron, AnyCopper, AnyBronze, Metal, Aluminium, Americium, Antimony, Beryllium, Bismuth, Caesium, Cerium, Chrome, Cobalt, Copper, Dysprosium, Erbium, Europium, Gadolinium, Gallium, Gold, Holmium, Indium, Iridium, Iron, Lanthanum, Lead, Lutetium, Magnesium, Manganese, Mercury, Niobium, Molybdenum, Neodymium, Neutronium, Nickel, Osmium, Palladium, Platinum, Plutonium, Plutonium241, diff --git a/src/main/java/gregtech/api/enums/SubTag.java b/src/main/java/gregtech/api/enums/SubTag.java index 76d1a5a3..e202aeaf 100644 --- a/src/main/java/gregtech/api/enums/SubTag.java +++ b/src/main/java/gregtech/api/enums/SubTag.java @@ -47,14 +47,9 @@ public final class SubTag implements ICondition { public static final SubTag WASHING_SODIUMPERSULFATE = getNewSubTag("WASHING_SODIUMPERSULFATE"); /** * Add this to your Material if you want to have its Ore Mercury washed. Already listed are: - * Gold, Osmium, Mithril, Platinum, Midasium, Cooperite and AstralSilver. + * Gold, Silver, Osmium, Mithril, Platinum, Midasium, Cooperite and AstralSilver. */ public static final SubTag WASHING_MERCURY = getNewSubTag("WASHING_MERCURY"); - /** - * Add this to your Material if you want to have its Ore Mercury washed with 99% output chance. Already listed are: - * Silver - */ - public static final SubTag WASHING_MERCURY_99_PERCENT = getNewSubTag("WASHING_MERCURY_99_PERCENT"); /** * Add this to your Material if you want to have its Ore electromagnetically separated to give Gold. */ diff --git a/src/main/java/gregtech/common/items/ItemComb.java b/src/main/java/gregtech/common/items/ItemComb.java index 61b0fb5c..6ee6d790 100644 --- a/src/main/java/gregtech/common/items/ItemComb.java +++ b/src/main/java/gregtech/common/items/ItemComb.java @@ -212,6 +212,7 @@ public class ItemComb extends Item { tComb = getStackForType(CombType.SILVER); addSpecialCent(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Silver, 1), 30); addProcess(tComb, Materials.Silver, 100); + addProcess(tComb, Materials.Galena, 100); tComb = getStackForType(CombType.GOLD); addProcess(tComb, Materials.Gold, 100); addProcess(tComb, Materials.Magnetite, Materials.Gold, 100); diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java index 8948279e..af71f70f 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java @@ -25,15 +25,11 @@ public class ProcessingDirty implements gregtech.api.interfaces.IOreRecipeRegist if (aMaterial.contains(SubTag.WASHING_MERCURY)) GT_Values.RA.addChemicalBathRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), Materials.Mercury.getFluid(1000L), GT_OreDictUnificator.get(aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified : OrePrefixes.dustPure, aMaterial, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L), new int[]{10000, 7000, 4000}, 800, 8); - if (aMaterial.contains(SubTag.WASHING_MERCURY_99_PERCENT)) - GT_Values.RA.addChemicalBathRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), Materials.Mercury.getFluid(1000L), GT_OreDictUnificator.get(aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified : OrePrefixes.dustPure, aMaterial, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L), new int[]{10000, 9900, 4000}, 800, 8); if (aMaterial.contains(SubTag.WASHING_SODIUMPERSULFATE)) GT_Values.RA.addChemicalBathRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), Materials.SodiumPersulfate.getFluid(GT_Mod.gregtechproxy.mReenableSimplifiedChemicalRecipes ? 1000L : 100L), GT_OreDictUnificator.get(aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified : OrePrefixes.dustPure, aMaterial, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L), new int[]{10000, 7000, 4000}, 800, 8); for (Materials tMaterial : aMaterial.mOreByProducts) { if (tMaterial.contains(SubTag.WASHING_MERCURY)) GT_Values.RA.addChemicalBathRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), Materials.Mercury.getFluid(1000L), GT_OreDictUnificator.get(aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified : OrePrefixes.dustPure, aMaterial, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, tMaterial.mMacerateInto, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L), new int[]{10000, 7000, 4000}, 800, 8); - if (tMaterial.contains(SubTag.WASHING_MERCURY_99_PERCENT)) - GT_Values.RA.addChemicalBathRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), Materials.Mercury.getFluid(1000L), GT_OreDictUnificator.get(aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified : OrePrefixes.dustPure, aMaterial, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, tMaterial.mMacerateInto, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L), new int[]{10000, 9900, 4000}, 800, 8); if (tMaterial.contains(SubTag.WASHING_SODIUMPERSULFATE)) GT_Values.RA.addChemicalBathRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), Materials.SodiumPersulfate.getFluid(GT_Mod.gregtechproxy.mReenableSimplifiedChemicalRecipes ? 1000L : 100L), GT_OreDictUnificator.get(aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified : OrePrefixes.dustPure, aMaterial, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, tMaterial.mMacerateInto, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L), new int[]{10000, 7000, 4000}, 800, 8); } From 8eade43a195ac74ee28880d8833eeaf7dbd7d64f Mon Sep 17 00:00:00 2001 From: Technus Date: Sat, 12 Aug 2017 15:07:28 +0200 Subject: [PATCH 35/51] Fix NPE, GREG why u no crash game! --- .../implementations/GT_MetaTileEntity_Hatch.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java index c6fa890b..f7fcda19 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java @@ -1,5 +1,7 @@ package gregtech.api.metatileentity.implementations; +import gregtech.GT_Mod; +import gregtech.api.enums.GT_Values; import gregtech.api.enums.Textures; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; @@ -66,7 +68,7 @@ public abstract class GT_MetaTileEntity_Hatch extends GT_MetaTileEntity_BasicTan actualTexture=aNBT.getByte("mMachineBlock"); mTexturePage=aNBT.getByte("mTexturePage"); - if(mTexturePage!=0 && getBaseMetaTileEntity().isServerSide()) + if(mTexturePage!=0 && GT_Values.GT.isServerSide()) actualTexture|=0x80;//<- lets just hope no one needs the correct value for that on server mMachineBlock=actualTexture; } From c09f6b5bdd47e51c3d5ec41d9947f1f94bfb0267 Mon Sep 17 00:00:00 2001 From: Antifluxfield Date: Wed, 16 Aug 2017 13:14:23 +0800 Subject: [PATCH 36/51] Fix Tooltip of Pump Add the missing bracket --- .../tileentities/machines/basic/GT_MetaTileEntity_Pump.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Pump.java b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Pump.java index 1cc9635f..c4fa8d73 100644 --- a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Pump.java +++ b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Pump.java @@ -34,7 +34,7 @@ public class GT_MetaTileEntity_Pump extends GT_MetaTileEntity_Hatch { public Block mPumpedBlock2 = null; public GT_MetaTileEntity_Pump(int aID, String aName, String aNameRegional, int aTier) { - super(aID, aName, aNameRegional, aTier, 3, new String[]{"The best way to empty Oceans!", "Pumping Area: " + (10 * ((int) Math.pow(1.6, aTier))) * 2 + 1 + "x" + (10 * ((int) Math.pow(1.6, aTier))) * 2 + 1}); + super(aID, aName, aNameRegional, aTier, 3, new String[]{"The best way to empty Oceans!", "Pumping Area: " + ((10 * ((int) Math.pow(1.6, aTier))) * 2 + 1) + "x" + ((10 * ((int) Math.pow(1.6, aTier))) * 2 + 1)}); } public GT_MetaTileEntity_Pump(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { From 4b36ca77be9997df93074353820ac6ec66af6643 Mon Sep 17 00:00:00 2001 From: Antifluxfield Date: Wed, 16 Aug 2017 16:23:08 +0800 Subject: [PATCH 37/51] Fix the Generated Item Pipes Correct the factor. --- .../gregtech/loaders/preload/GT_Loader_MetaTileEntities.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java b/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java index e88cc697..20898386 100644 --- a/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java +++ b/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java @@ -1629,7 +1629,7 @@ public class GT_Loader_MetaTileEntities implements Runnable { GT_OreDictUnificator.registerOre(OrePrefixes.pipeHuge.get(aMaterial), new GT_MetaPipeEntity_Item(startID + 2, "GT_Pipe_" + displayName + "_Huge", "Huge " + displayName +" Item Pipe", 1.00F, aMaterial, baseInvSlots * 4, 8192 / baseInvSlots, aBoolConst_0).getStackForm(1L)); GT_OreDictUnificator.registerOre(OrePrefixes.pipeRestrictiveMedium.get(aMaterial), new GT_MetaPipeEntity_Item(startID + 3, "GT_Pipe_Restrictive_" + displayName, "Restrictive " + displayName + " Item Pipe", 0.50F, aMaterial, baseInvSlots, 3276800 / baseInvSlots, true).getStackForm(1L)); GT_OreDictUnificator.registerOre(OrePrefixes.pipeRestrictiveLarge.get(aMaterial), new GT_MetaPipeEntity_Item(startID + 4, "GT_Pipe_Restrictive_" + displayName + "_Large","Large Restrictive " + displayName + " Item Pipe", 0.75F, aMaterial, baseInvSlots * 2, 1638400 / baseInvSlots, true).getStackForm(1L)); - GT_OreDictUnificator.registerOre(OrePrefixes.pipeRestrictiveHuge.get(aMaterial), new GT_MetaPipeEntity_Item(startID + 5, "GT_Pipe_Restrictive_" + displayName + "_Huge", "Huge Restrictive " + displayName + " Item Pipe", 0.875F, aMaterial, baseInvSlots * 2, 819200 / baseInvSlots, true).getStackForm(1L)); + GT_OreDictUnificator.registerOre(OrePrefixes.pipeRestrictiveHuge.get(aMaterial), new GT_MetaPipeEntity_Item(startID + 5, "GT_Pipe_Restrictive_" + displayName + "_Huge", "Huge Restrictive " + displayName + " Item Pipe", 0.875F, aMaterial, baseInvSlots * 4, 819200 / baseInvSlots, true).getStackForm(1L)); } From 6691f1e86c91aa524f40f01ba7406410728825fc Mon Sep 17 00:00:00 2001 From: Antifluxfield Date: Thu, 17 Aug 2017 14:51:45 +0800 Subject: [PATCH 38/51] Update GT_Cover_FluidRegulator.java Improve the screwdriver-rightclick behavior. --- .../java/gregtech/common/covers/GT_Cover_FluidRegulator.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java b/src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java index fd8e1350..0e6d19eb 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java @@ -61,9 +61,9 @@ public class GT_Cover_FluidRegulator extends GT_CoverBehavior { public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ) { if (GT_Utility.getClickedFacingCoords(aSide, aX, aY, aZ)[0] >= 0.5F) { - aCoverVariable += 16; + aCoverVariable += aPlayer.isSneaking() ? 256 : 16; } else { - aCoverVariable -= 16; + aCoverVariable -= aPlayer.isSneaking() ? 256 : 16; } if (aCoverVariable > mTransferRate) { aCoverVariable = mTransferRate; From ec0767d4fd84c149baebf17c1fd0a405357e8b2d Mon Sep 17 00:00:00 2001 From: Techlone Date: Sat, 19 Aug 2017 03:17:14 +0500 Subject: [PATCH 39/51] Fix inconsistent worldgen --- .../gregtech/common/GT_Worldgenerator.java | 33 ++++++++++++------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/src/main/java/gregtech/common/GT_Worldgenerator.java b/src/main/java/gregtech/common/GT_Worldgenerator.java index 2b63f337..9036d1f6 100644 --- a/src/main/java/gregtech/common/GT_Worldgenerator.java +++ b/src/main/java/gregtech/common/GT_Worldgenerator.java @@ -47,11 +47,10 @@ public class GT_Worldgenerator implements IWorldGenerator { if (tempDimensionId != -1 && tempDimensionId != 1 && !aChunkGenerator.getClass().getName().contains("galacticraft")) { tempDimensionId = 0; } - new WorldGenContainer(new XSTR(aRandom.nextInt()), aX * 16, aZ * 16, tempDimensionId, aWorld, aChunkGenerator, aChunkProvider, aWorld.getBiomeGenForCoords(aX * 16 + 8, aZ * 16 + 8).biomeName).run(); + new WorldGenContainer(aX * 16, aZ * 16, tempDimensionId, aWorld, aChunkGenerator, aChunkProvider, aWorld.getBiomeGenForCoords(aX * 16 + 8, aZ * 16 + 8).biomeName).run(); } public static class WorldGenContainer implements Runnable { - public final Random mRandom; public int mX; public int mZ; public final int mDimensionType; @@ -61,8 +60,7 @@ public class GT_Worldgenerator implements IWorldGenerator { public final String mBiome; public static HashSet mGenerated = new HashSet<>(2000); - public WorldGenContainer(Random aRandom, int aX, int aZ, int aDimensionType, World aWorld, IChunkProvider aChunkGenerator, IChunkProvider aChunkProvider, String aBiome) { - this.mRandom = aRandom; + public WorldGenContainer(int aX, int aZ, int aDimensionType, World aWorld, IChunkProvider aChunkGenerator, IChunkProvider aChunkProvider, String aBiome) { this.mX = aX; this.mZ = aZ; this.mDimensionType = aDimensionType; @@ -82,22 +80,35 @@ public class GT_Worldgenerator implements IWorldGenerator { return mWorld.checkChunksExist(xCenter - 16, 0, zCenter - 16, xCenter + 16, 0, zCenter + 16); } + public Random getRandom(int xChunk, int zChunk) { + long worldSeed = mWorld.getSeed(); + Random fmlRandom = new Random(worldSeed); + long xSeed = fmlRandom.nextLong() >> 2 + 1L; + long zSeed = fmlRandom.nextLong() >> 2 + 1L; + long chunkSeed = (xSeed * xChunk + zSeed * zChunk) ^ worldSeed; + fmlRandom.setSeed(chunkSeed); + return new XSTR(fmlRandom.nextInt()); + } + public void run() { - int xCenter = getVeinCenterCoordinate(mX >> 4) << 4; - int zCenter = getVeinCenterCoordinate(mZ >> 4) << 4; + int xCenter = getVeinCenterCoordinate(mX >> 4); + int zCenter = getVeinCenterCoordinate(mZ >> 4); + Random random = getRandom(xCenter, zCenter); + xCenter <<= 4; + zCenter <<= 4; ChunkCoordIntPair centerChunk = new ChunkCoordIntPair(xCenter, zCenter); - if (surroundingChunksLoaded(xCenter, zCenter) && !mGenerated.contains(centerChunk)) { + if (!mGenerated.contains(centerChunk) && surroundingChunksLoaded(xCenter, zCenter)) { mGenerated.add(centerChunk); if ((GT_Worldgen_GT_Ore_Layer.sWeight > 0) && (GT_Worldgen_GT_Ore_Layer.sList.size() > 0)) { boolean temp = true; int tRandomWeight; for (int i = 0; (i < 256) && (temp); i++) { - tRandomWeight = this.mRandom.nextInt(GT_Worldgen_GT_Ore_Layer.sWeight); + tRandomWeight = random.nextInt(GT_Worldgen_GT_Ore_Layer.sWeight); for (GT_Worldgen tWorldGen : GT_Worldgen_GT_Ore_Layer.sList) { tRandomWeight -= ((GT_Worldgen_GT_Ore_Layer) tWorldGen).mWeight; if (tRandomWeight <= 0) { try { - if (tWorldGen.executeWorldgen(this.mWorld, this.mRandom, this.mBiome, this.mDimensionType, xCenter, zCenter, this.mChunkGenerator, this.mChunkProvider)) { + if (tWorldGen.executeWorldgen(this.mWorld, random, this.mBiome, this.mDimensionType, xCenter, zCenter, this.mChunkGenerator, this.mChunkProvider)) { temp = false; } break; @@ -114,7 +125,7 @@ public class GT_Worldgenerator implements IWorldGenerator { for (int tZ = zCenter - 16; j < 3; tZ += 16) { try { for (GT_Worldgen tWorldGen : GregTech_API.sWorldgenList) { - tWorldGen.executeWorldgen(this.mWorld, this.mRandom, this.mBiome, this.mDimensionType, tX, tZ, this.mChunkGenerator, this.mChunkProvider); + tWorldGen.executeWorldgen(this.mWorld, random, this.mBiome, this.mDimensionType, tX, tZ, this.mChunkGenerator, this.mChunkProvider); } } catch (Throwable e) { e.printStackTrace(GT_Log.err); @@ -139,7 +150,7 @@ public class GT_Worldgenerator implements IWorldGenerator { for (int i = 0; (i < 256) && (temp); i++) { tRandomWeight = aRandom.nextInt(GT_Worldgen_GT_Ore_Layer.sWeight); for (GT_Worldgen_GT_Ore_Layer tWorldGen : GT_Worldgen_GT_Ore_Layer.sList) { - tRandomWeight -= ((GT_Worldgen_GT_Ore_Layer) tWorldGen).mWeight; + tRandomWeight -= tWorldGen.mWeight; if (tRandomWeight <= 0) { try { if ((tWorldGen.mEndAsteroid && tDimensionType == 1) || (tWorldGen.mAsteroid && tDimensionType == -30)) { From 4724bbe403fc5c608811300d1e337066667935bc Mon Sep 17 00:00:00 2001 From: Antifluxfield Date: Sat, 19 Aug 2017 12:08:34 +0800 Subject: [PATCH 40/51] Adding tooltip --- .../common/items/GT_MetaGenerated_Item_01.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java index 8f491ac5..018a8494 100644 --- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java +++ b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java @@ -484,11 +484,11 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { GregTech_API.registerCover(ItemList.Electric_Pump_ZPM.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[7][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PUMP)}), new GT_Cover_Pump(131072)); GregTech_API.registerCover(ItemList.Electric_Pump_UV.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[8][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PUMP)}), new GT_Cover_Pump(524288)); - ItemList.FluidRegulator_LV.set(addItem(tLastID = 615, "Fluid Regulator (LV)", "Configuable up to 640 L/sec (as Cover)", new Object[]{})); - ItemList.FluidRegulator_MV.set(addItem(tLastID = 616, "Fluid Regulator (MV)", "Configuable up to 2560 L/sec (as Cover)", new Object[]{})); - ItemList.FluidRegulator_HV.set(addItem(tLastID = 617, "Fluid Regulator (HV)", "Configuable up to 10240 L/sec (as Cover)", new Object[]{})); - ItemList.FluidRegulator_EV.set(addItem(tLastID = 618, "Fluid Regulator (EV)", "Configuable up to 40960 L/sec (as Cover)", new Object[]{})); - ItemList.FluidRegulator_IV.set(addItem(tLastID = 619, "Fluid Regulator (IV)", "Configuable up to 163840 L/sec (as Cover)", new Object[]{})); + ItemList.FluidRegulator_LV.set(addItem(tLastID = 615, "Fluid Regulator (LV)", "Configuable up to 640 L/sec (as Cover; rightclick/screwdriver-click/shift-screwdriver-click to adjust 1/16/256 per click.)", new Object[]{})); + ItemList.FluidRegulator_MV.set(addItem(tLastID = 616, "Fluid Regulator (MV)", "Configuable up to 2560 L/sec (as Cover; rightclick/screwdriver-click/shift-screwdriver-click to adjust 1/16/256 per click)", new Object[]{})); + ItemList.FluidRegulator_HV.set(addItem(tLastID = 617, "Fluid Regulator (HV)", "Configuable up to 10240 L/sec (as Cover; rightclick/screwdriver-click/shift-screwdriver-click to adjust 1/16/256 per click)", new Object[]{})); + ItemList.FluidRegulator_EV.set(addItem(tLastID = 618, "Fluid Regulator (EV)", "Configuable up to 40960 L/sec (as Cover; rightclick/screwdriver-click/shift-screwdriver-click to adjust 1/16/256 per click)", new Object[]{})); + ItemList.FluidRegulator_IV.set(addItem(tLastID = 619, "Fluid Regulator (IV)", "Configuable up to 163840 L/sec (as Cover; rightclick/screwdriver-click/shift-screwdriver-click to adjust 1/16/256 per click)", new Object[]{})); GregTech_API.registerCover(ItemList.FluidRegulator_LV.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[1][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PUMP)}), new GT_Cover_FluidRegulator(32)); GregTech_API.registerCover(ItemList.FluidRegulator_MV.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[2][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PUMP)}), new GT_Cover_FluidRegulator(128)); From d294ba97733726228aeb10c11290373bb5e3d9cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Sat, 19 Aug 2017 11:46:52 +0200 Subject: [PATCH 41/51] Reduced the cost of Fluid Canners Circuits: 2 -> 1 Pumps: 2 -> 1 Glass: 2 -> 4 --- .../preload/GT_Loader_MetaTileEntities.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java b/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java index e88cc697..7451bd47 100644 --- a/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java +++ b/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java @@ -792,14 +792,14 @@ public class GT_Loader_MetaTileEntities implements Runnable { ItemList.Machine_ZPM_ChemicalReactor.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(427, "basicmachine.chemicalreactor.tier.07", "Advanced Chemical Reactor VI", 7, "Letting Chemicals react with each other", GT_Recipe.GT_Recipe_Map.sChemicalRecipes, 2, 2, 16000, 0, 1, "ChemicalReactor.png", (String) GregTech_API.sSoundList.get(Integer.valueOf(200)), aBoolConst_0, aBoolConst_0, 0, "CHEMICAL_REACTOR", new Object[]{"GRG", "WEW", aTextCableHull, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'R', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.ROTOR, 'E', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.MOTOR, 'C', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE, 'G', OrePrefixes.pipeHuge.get(Materials.Plastic)}).getStackForm(1L)); ItemList.Machine_UV_ChemicalReactor.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(428, "basicmachine.chemicalreactor.tier.08", "Advanced Chemical Reactor VII", 8, "Letting Chemicals react with each other", GT_Recipe.GT_Recipe_Map.sChemicalRecipes, 2, 2, 16000, 0, 1, "ChemicalReactor.png", (String) GregTech_API.sSoundList.get(Integer.valueOf(200)), aBoolConst_0, aBoolConst_0, 0, "CHEMICAL_REACTOR", new Object[]{"GRG", "WEW", aTextCableHull, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'R', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.ROTOR, 'E', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.MOTOR, 'C', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE, 'G', OrePrefixes.pipeHuge.get(Materials.Plastic)}).getStackForm(1L)); - ItemList.Machine_LV_FluidCanner.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(431, "basicmachine.fluidcanner.tier.01", "Basic Fluid Canner", 1, "Puts Fluids into and out of Containers", GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes, 1, 1, 16000, 0, 1, "FluidCanner.png", "", true, aBoolConst_0, 0, "FLUID_CANNER", new Object[]{"GCG", aTextPlateMotor, aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PUMP, 'C', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE, 'G', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.GLASS}).getStackForm(1L)); - ItemList.Machine_MV_FluidCanner.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(432, "basicmachine.fluidcanner.tier.02", "Advanced Fluid Canner", 2, "Puts Fluids into and out of Containers", GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes, 1, 1, 32000, 0, 1, "FluidCanner.png", "", true, aBoolConst_0, 0, "FLUID_CANNER", new Object[]{"GCG", aTextPlateMotor, aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PUMP, 'C', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE, 'G', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.GLASS}).getStackForm(1L)); - ItemList.Machine_HV_FluidCanner.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(433, "basicmachine.fluidcanner.tier.03", "Quick Fluid Canner", 3, "Puts Fluids into and out of Containers", GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes, 1, 1, 48000, 0, 1, "FluidCanner.png", "", true, aBoolConst_0, 0, "FLUID_CANNER", new Object[]{"GCG", aTextPlateMotor, aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PUMP, 'C', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE, 'G', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.GLASS}).getStackForm(1L)); - ItemList.Machine_EV_FluidCanner.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(434, "basicmachine.fluidcanner.tier.04", "Turbo Fluid Canner", 4, "Puts Fluids into and out of Containers", GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes, 1, 1, 64000, 0, 1, "FluidCanner.png", "", true, aBoolConst_0, 0, "FLUID_CANNER", new Object[]{"GCG", aTextPlateMotor, aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PUMP, 'C', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE, 'G', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.GLASS}).getStackForm(1L)); - ItemList.Machine_IV_FluidCanner.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(435, "basicmachine.fluidcanner.tier.05", "Instant Fluid Canner", 5, "Puts Fluids into and out of Containers", GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes, 1, 1, 80000, 0, 1, "FluidCanner.png", "", true, aBoolConst_0, 0, "FLUID_CANNER", new Object[]{"GCG", aTextPlateMotor, aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PUMP, 'C', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE, 'G', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.GLASS}).getStackForm(1L)); - ItemList.Machine_LuV_FluidCanner.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(436, "basicmachine.fluidcanner.tier.06", "Instant Fluid Canner", 6, "Puts Fluids into and out of Containers", GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes, 1, 1, 80000, 0, 1, "FluidCanner.png", "", true, aBoolConst_0, 0, "FLUID_CANNER", new Object[]{"GCG", aTextPlateMotor, aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PUMP, 'C', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE, 'G', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.GLASS}).getStackForm(1L)); - ItemList.Machine_ZPM_FluidCanner.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(437, "basicmachine.fluidcanner.tier.07", "Instant Fluid Canner", 7, "Puts Fluids into and out of Containers", GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes, 1, 1, 80000, 0, 1, "FluidCanner.png", "", true, aBoolConst_0, 0, "FLUID_CANNER", new Object[]{"GCG", aTextPlateMotor, aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PUMP, 'C', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE, 'G', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.GLASS}).getStackForm(1L)); - ItemList.Machine_UV_FluidCanner.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(438, "basicmachine.fluidcanner.tier.08", "Instant Fluid Canner", 8, "Puts Fluids into and out of Containers", GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes, 1, 1, 80000, 0, 1, "FluidCanner.png", "", true, aBoolConst_0, 0, "FLUID_CANNER", new Object[]{"GCG", aTextPlateMotor, aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PUMP, 'C', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE, 'G', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.GLASS}).getStackForm(1L)); + ItemList.Machine_LV_FluidCanner.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(431, "basicmachine.fluidcanner.tier.01", "Basic Fluid Canner", 1, "Puts Fluids into and out of Containers", GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes, 1, 1, 16000, 0, 1, "FluidCanner.png", "", true, aBoolConst_0, 0, "FLUID_CANNER", new Object[]{"GCG", "GMG", "WPW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PUMP, 'C', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE, 'G', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.GLASS}).getStackForm(1L)); + ItemList.Machine_MV_FluidCanner.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(432, "basicmachine.fluidcanner.tier.02", "Advanced Fluid Canner", 2, "Puts Fluids into and out of Containers", GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes, 1, 1, 32000, 0, 1, "FluidCanner.png", "", true, aBoolConst_0, 0, "FLUID_CANNER", new Object[]{"GCG", "GMG", "WPW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PUMP, 'C', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE, 'G', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.GLASS}).getStackForm(1L)); + ItemList.Machine_HV_FluidCanner.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(433, "basicmachine.fluidcanner.tier.03", "Quick Fluid Canner", 3, "Puts Fluids into and out of Containers", GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes, 1, 1, 48000, 0, 1, "FluidCanner.png", "", true, aBoolConst_0, 0, "FLUID_CANNER", new Object[]{"GCG", "GMG", "WPW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PUMP, 'C', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE, 'G', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.GLASS}).getStackForm(1L)); + ItemList.Machine_EV_FluidCanner.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(434, "basicmachine.fluidcanner.tier.04", "Turbo Fluid Canner", 4, "Puts Fluids into and out of Containers", GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes, 1, 1, 64000, 0, 1, "FluidCanner.png", "", true, aBoolConst_0, 0, "FLUID_CANNER", new Object[]{"GCG", "GMG", "WPW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PUMP, 'C', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE, 'G', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.GLASS}).getStackForm(1L)); + ItemList.Machine_IV_FluidCanner.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(435, "basicmachine.fluidcanner.tier.05", "Instant Fluid Canner", 5, "Puts Fluids into and out of Containers", GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes, 1, 1, 80000, 0, 1, "FluidCanner.png", "", true, aBoolConst_0, 0, "FLUID_CANNER", new Object[]{"GCG", "GMG", "WPW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PUMP, 'C', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE, 'G', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.GLASS}).getStackForm(1L)); + ItemList.Machine_LuV_FluidCanner.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(436, "basicmachine.fluidcanner.tier.06", "Instant Fluid Canner", 6, "Puts Fluids into and out of Containers", GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes, 1, 1, 80000, 0, 1, "FluidCanner.png", "", true, aBoolConst_0, 0, "FLUID_CANNER", new Object[]{"GCG", "GMG", "WPW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PUMP, 'C', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE, 'G', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.GLASS}).getStackForm(1L)); + ItemList.Machine_ZPM_FluidCanner.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(437, "basicmachine.fluidcanner.tier.07", "Instant Fluid Canner", 7, "Puts Fluids into and out of Containers", GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes, 1, 1, 80000, 0, 1, "FluidCanner.png", "", true, aBoolConst_0, 0, "FLUID_CANNER", new Object[]{"GCG", "GMG", "WPW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PUMP, 'C', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE, 'G', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.GLASS}).getStackForm(1L)); + ItemList.Machine_UV_FluidCanner.set(new GT_MetaTileEntity_BasicMachine_GT_Recipe(438, "basicmachine.fluidcanner.tier.08", "Instant Fluid Canner", 8, "Puts Fluids into and out of Containers", GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes, 1, 1, 80000, 0, 1, "FluidCanner.png", "", true, aBoolConst_0, 0, "FLUID_CANNER", new Object[]{"GCG", "GMG", "WPW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PUMP, 'C', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE, 'G', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.GLASS}).getStackForm(1L)); ItemList.Machine_LV_RockBreaker.set(new GT_MetaTileEntity_RockBreaker(441, "basicmachine.rockbreaker.tier.01", "Basic Rock Breaker", 1).getStackForm(1L)); ItemList.Machine_MV_RockBreaker.set(new GT_MetaTileEntity_RockBreaker(442, "basicmachine.rockbreaker.tier.02", "Advanced Rock Breaker", 2).getStackForm(1L)); From 1c8df8fb7f05a8828ad09705d5d6a2fe730fa553 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Sat, 19 Aug 2017 23:56:48 +0200 Subject: [PATCH 42/51] Fixed Titaniumtetrachloride temperature --- .../loaders/preload/GT_Loader_Item_Block_And_Fluid.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java b/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java index 49d0e705..cf216a17 100644 --- a/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java +++ b/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java @@ -398,7 +398,7 @@ public class GT_Loader_Item_Block_And_Fluid GT_Mod.gregtechproxy.addFluid("Argon", "Argon", Materials.Argon, 2, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Argon, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); GT_Mod.gregtechproxy.addFluid("Radon", "Radon", Materials.Radon, 2, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Radon, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); GT_Mod.gregtechproxy.addFluid("Fluorine", "Fluorine", Materials.Fluorine, 2, 53, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Fluorine, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); - GT_Mod.gregtechproxy.addFluid("Titaniumtetrachloride", "Titaniumtetrachloride", Materials.Titaniumtetrachloride, 1, 2200, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Titaniumtetrachloride, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); + GT_Mod.gregtechproxy.addFluid("Titaniumtetrachloride", "Titaniumtetrachloride", Materials.Titaniumtetrachloride, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Titaniumtetrachloride, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); GT_Mod.gregtechproxy.addFluid("Helium-3", "Helium-3", Materials.Helium_3, 2, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Helium_3, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); GT_Mod.gregtechproxy.addFluid("Methane", "Methane", Materials.Methane, 2, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Methane, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); GT_Mod.gregtechproxy.addFluid("Nitrogen", "Nitrogen", Materials.Nitrogen, 2, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Nitrogen, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); From 3b3921034805f45e59534890faf258a3e19b21ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Sun, 20 Aug 2017 10:15:25 +0200 Subject: [PATCH 43/51] Fixed desulfuriation recipes colliding with hydro-cracking recipes --- .../postload/GT_MachineRecipeLoader.java | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java index 412f144f..484b3b1e 100644 --- a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java +++ b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java @@ -655,16 +655,16 @@ if(Loader.isModLoaded("Railcraft")){ GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.cell,Materials.SulfuricAcid, 1), null, null, null, new FluidStack(ItemList.sNitricAcid,1000), new FluidStack(ItemList.sNitrationMixture, 2000), ItemList.Cell_Empty.get(1, new Object[0]), 480, 2); GT_Values.RA.addChemicalRecipe(ItemList.GelledToluene.get(4, new Object[0]), GT_Values.NI, new FluidStack(ItemList.sNitrationMixture,500), Materials.DilutedSulfuricAcid.getFluid(500), GT_ModHandler.getIC2Item("industrialTnt", 1L), 80, 480); - GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2L), GT_Values.NI, Materials.NatruralGas.getGas(16000), Materials.Gas.getGas(16000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HydricSulfide, 1L), Materials.Empty.getCells(1), 160); - GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.NatruralGas, 16L), GT_Values.NI, Materials.Hydrogen.getGas(2000), Materials.HydricSulfide.getGas(1000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Gas, 16L), 160); - GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2L), GT_Values.NI, Materials.SulfuricGas.getGas(16000), Materials.Gas.getGas(16000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HydricSulfide, 1L), Materials.Empty.getCells(1), 160); - GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricGas, 16L), GT_Values.NI, Materials.Hydrogen.getGas(2000), Materials.HydricSulfide.getGas(1000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Gas, 16L), 160); - GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2L), GT_Values.NI, Materials.SulfuricNaphtha.getFluid(12000), Materials.Naphtha.getFluid(12000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HydricSulfide, 1L), Materials.Empty.getCells(1), 160); - GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricNaphtha, 12L), GT_Values.NI, Materials.Hydrogen.getGas(2000), Materials.HydricSulfide.getGas(1000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Naphtha, 12L), 160); - GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2L), GT_Values.NI, Materials.SulfuricLightFuel.getFluid(12000), Materials.LightFuel.getFluid(12000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HydricSulfide, 1L), Materials.Empty.getCells(1), 160); - GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricLightFuel, 12L), GT_Values.NI, Materials.Hydrogen.getGas(2000), Materials.HydricSulfide.getGas(1000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.LightFuel, 12L), 160); - GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2L), GT_Values.NI, Materials.SulfuricHeavyFuel.getFluid(8000), Materials.HeavyFuel.getFluid(8000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HydricSulfide, 1L), Materials.Empty.getCells(1), 160); - GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricHeavyFuel, 8L), GT_Values.NI, Materials.Hydrogen.getGas(2000), Materials.HydricSulfide.getGas(1000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HeavyFuel, 8L), 160); + GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2L), GT_Utility.getIntegratedCircuit(12), Materials.NatruralGas.getGas(16000), Materials.Gas.getGas(16000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HydricSulfide, 1L), Materials.Empty.getCells(1), 160); + GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.NatruralGas, 16L), GT_Utility.getIntegratedCircuit(12), Materials.Hydrogen.getGas(2000), Materials.HydricSulfide.getGas(1000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Gas, 16L), 160); + GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2L), GT_Utility.getIntegratedCircuit(12), Materials.SulfuricGas.getGas(16000), Materials.Gas.getGas(16000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HydricSulfide, 1L), Materials.Empty.getCells(1), 160); + GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricGas, 16L), GT_Utility.getIntegratedCircuit(12), Materials.Hydrogen.getGas(2000), Materials.HydricSulfide.getGas(1000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Gas, 16L), 160); + GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2L), GT_Utility.getIntegratedCircuit(12), Materials.SulfuricNaphtha.getFluid(12000), Materials.Naphtha.getFluid(12000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HydricSulfide, 1L), Materials.Empty.getCells(1), 160); + GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricNaphtha, 12L), GT_Utility.getIntegratedCircuit(12), Materials.Hydrogen.getGas(2000), Materials.HydricSulfide.getGas(1000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Naphtha, 12L), 160); + GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2L), GT_Utility.getIntegratedCircuit(12), Materials.SulfuricLightFuel.getFluid(12000), Materials.LightFuel.getFluid(12000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HydricSulfide, 1L), Materials.Empty.getCells(1), 160); + GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricLightFuel, 12L), GT_Utility.getIntegratedCircuit(12), Materials.Hydrogen.getGas(2000), Materials.HydricSulfide.getGas(1000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.LightFuel, 12L), 160); + GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2L), GT_Utility.getIntegratedCircuit(12), Materials.SulfuricHeavyFuel.getFluid(8000), Materials.HeavyFuel.getFluid(8000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HydricSulfide, 1L), Materials.Empty.getCells(1), 160); + GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricHeavyFuel, 8L), GT_Utility.getIntegratedCircuit(12), Materials.Hydrogen.getGas(2000), Materials.HydricSulfide.getGas(1000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HeavyFuel, 8L), 160); GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Saltpeter, 1L), null, Materials.Naphtha.getFluid(576), Materials.Polycaprolactam.getMolten(1296), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Potassium, 1), 640); GT_Values.RA.addWiremillRecipe(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Polycaprolactam, 1L), new ItemStack(Items.string, 32), 80, 48); From 78e03914a34fee288f23fdd4bd8ec9600e16e502 Mon Sep 17 00:00:00 2001 From: Antifluxfield Date: Mon, 21 Aug 2017 09:56:04 +0800 Subject: [PATCH 44/51] Improve tooltip Now the metaitems can automatically seperate its tooltip to multiple lines with "////". --- src/main/java/gregtech/api/items/GT_MetaBase_Item.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/gregtech/api/items/GT_MetaBase_Item.java b/src/main/java/gregtech/api/items/GT_MetaBase_Item.java index 77966915..395c1daf 100644 --- a/src/main/java/gregtech/api/items/GT_MetaBase_Item.java +++ b/src/main/java/gregtech/api/items/GT_MetaBase_Item.java @@ -189,8 +189,10 @@ public abstract class GT_MetaBase_Item extends GT_Generic_Item implements ISpeci @Override public final void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) { - String tKey = getUnlocalizedName(aStack) + ".tooltip", tString = GT_LanguageManager.getTranslation(tKey); - if (GT_Utility.isStringValid(tString) && !tKey.equals(tString)) aList.add(tString); + String tKey = getUnlocalizedName(aStack) + ".tooltip"; + String[] tStrings = GT_LanguageManager.getTranslation(tKey).split("////"); + for (String tString : tStrings) + if (GT_Utility.isStringValid(tString) && !tKey.equals(tString)) aList.add(tString); Long[] tStats = getElectricStats(aStack); @@ -607,4 +609,4 @@ public abstract class GT_MetaBase_Item extends GT_Generic_Item implements ISpeci public boolean getIsRepairable(ItemStack aStack, ItemStack aMaterial) { return false; } -} \ No newline at end of file +} From d5b0dcfa505e0cb5b6143633730bf5d1dc476e79 Mon Sep 17 00:00:00 2001 From: Antifluxfield Date: Mon, 21 Aug 2017 09:59:47 +0800 Subject: [PATCH 45/51] Multi-line tooltip of #1193 --- .../common/items/GT_MetaGenerated_Item_01.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java index 8f491ac5..43ea3079 100644 --- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java +++ b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java @@ -484,11 +484,11 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { GregTech_API.registerCover(ItemList.Electric_Pump_ZPM.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[7][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PUMP)}), new GT_Cover_Pump(131072)); GregTech_API.registerCover(ItemList.Electric_Pump_UV.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[8][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PUMP)}), new GT_Cover_Pump(524288)); - ItemList.FluidRegulator_LV.set(addItem(tLastID = 615, "Fluid Regulator (LV)", "Configuable up to 640 L/sec (as Cover)", new Object[]{})); - ItemList.FluidRegulator_MV.set(addItem(tLastID = 616, "Fluid Regulator (MV)", "Configuable up to 2560 L/sec (as Cover)", new Object[]{})); - ItemList.FluidRegulator_HV.set(addItem(tLastID = 617, "Fluid Regulator (HV)", "Configuable up to 10240 L/sec (as Cover)", new Object[]{})); - ItemList.FluidRegulator_EV.set(addItem(tLastID = 618, "Fluid Regulator (EV)", "Configuable up to 40960 L/sec (as Cover)", new Object[]{})); - ItemList.FluidRegulator_IV.set(addItem(tLastID = 619, "Fluid Regulator (IV)", "Configuable up to 163840 L/sec (as Cover)", new Object[]{})); + ItemList.FluidRegulator_LV.set(addItem(tLastID = 615, "Fluid Regulator (LV)", "Configuable up to 640 L/sec (as Cover)////Rightclick/Screwdriver-rightclick/Shift-screwdriver-rightclick////to adjust the pump speed by 1/16/256 L/sec per click", new Object[]{})); + ItemList.FluidRegulator_MV.set(addItem(tLastID = 616, "Fluid Regulator (MV)", "Configuable up to 2560 L/sec (as Cover)////Rightclick/Screwdriver-rightclick/Shift-screwdriver-rightclick////to adjust the pump speed by 1/16/256 L/sec per click", new Object[]{})); + ItemList.FluidRegulator_HV.set(addItem(tLastID = 617, "Fluid Regulator (HV)", "Configuable up to 10240 L/sec (as Cover)////Rightclick/Screwdriver-rightclick/Shift-screwdriver-rightclick////to adjust the pump speed by 1/16/256 L/sec per click", new Object[]{})); + ItemList.FluidRegulator_EV.set(addItem(tLastID = 618, "Fluid Regulator (EV)", "Configuable up to 40960 L/sec (as Cover)////Rightclick/Screwdriver-rightclick/Shift-screwdriver-rightclick////to adjust the pump speed by 1/16/256 L/sec per click", new Object[]{})); + ItemList.FluidRegulator_IV.set(addItem(tLastID = 619, "Fluid Regulator (IV)", "Configuable up to 163840 L/sec (as Cover)////Rightclick/Screwdriver-rightclick/Shift-screwdriver-rightclick////to adjust the pump speed by 1/16/256 L/sec per click", new Object[]{})); GregTech_API.registerCover(ItemList.FluidRegulator_LV.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[1][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PUMP)}), new GT_Cover_FluidRegulator(32)); GregTech_API.registerCover(ItemList.FluidRegulator_MV.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[2][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PUMP)}), new GT_Cover_FluidRegulator(128)); From 97fc717f9a69480beda609c4c7789027c89246bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Mon, 21 Aug 2017 08:42:24 +0200 Subject: [PATCH 46/51] Fixed LCM desulfurization recipes in combination with CirChemUpdateFU --- .../postload/GT_MachineRecipeLoader.java | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java index 484b3b1e..c49e4d9a 100644 --- a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java +++ b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java @@ -655,16 +655,16 @@ if(Loader.isModLoaded("Railcraft")){ GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.cell,Materials.SulfuricAcid, 1), null, null, null, new FluidStack(ItemList.sNitricAcid,1000), new FluidStack(ItemList.sNitrationMixture, 2000), ItemList.Cell_Empty.get(1, new Object[0]), 480, 2); GT_Values.RA.addChemicalRecipe(ItemList.GelledToluene.get(4, new Object[0]), GT_Values.NI, new FluidStack(ItemList.sNitrationMixture,500), Materials.DilutedSulfuricAcid.getFluid(500), GT_ModHandler.getIC2Item("industrialTnt", 1L), 80, 480); - GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2L), GT_Utility.getIntegratedCircuit(12), Materials.NatruralGas.getGas(16000), Materials.Gas.getGas(16000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HydricSulfide, 1L), Materials.Empty.getCells(1), 160); - GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.NatruralGas, 16L), GT_Utility.getIntegratedCircuit(12), Materials.Hydrogen.getGas(2000), Materials.HydricSulfide.getGas(1000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Gas, 16L), 160); - GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2L), GT_Utility.getIntegratedCircuit(12), Materials.SulfuricGas.getGas(16000), Materials.Gas.getGas(16000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HydricSulfide, 1L), Materials.Empty.getCells(1), 160); - GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricGas, 16L), GT_Utility.getIntegratedCircuit(12), Materials.Hydrogen.getGas(2000), Materials.HydricSulfide.getGas(1000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Gas, 16L), 160); - GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2L), GT_Utility.getIntegratedCircuit(12), Materials.SulfuricNaphtha.getFluid(12000), Materials.Naphtha.getFluid(12000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HydricSulfide, 1L), Materials.Empty.getCells(1), 160); - GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricNaphtha, 12L), GT_Utility.getIntegratedCircuit(12), Materials.Hydrogen.getGas(2000), Materials.HydricSulfide.getGas(1000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Naphtha, 12L), 160); - GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2L), GT_Utility.getIntegratedCircuit(12), Materials.SulfuricLightFuel.getFluid(12000), Materials.LightFuel.getFluid(12000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HydricSulfide, 1L), Materials.Empty.getCells(1), 160); - GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricLightFuel, 12L), GT_Utility.getIntegratedCircuit(12), Materials.Hydrogen.getGas(2000), Materials.HydricSulfide.getGas(1000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.LightFuel, 12L), 160); - GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2L), GT_Utility.getIntegratedCircuit(12), Materials.SulfuricHeavyFuel.getFluid(8000), Materials.HeavyFuel.getFluid(8000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HydricSulfide, 1L), Materials.Empty.getCells(1), 160); - GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricHeavyFuel, 8L), GT_Utility.getIntegratedCircuit(12), Materials.Hydrogen.getGas(2000), Materials.HydricSulfide.getGas(1000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HeavyFuel, 8L), 160); + GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2L), GT_Utility.getIntegratedCircuit(4), Materials.NatruralGas.getGas(16000), Materials.Gas.getGas(16000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HydricSulfide, 1L), Materials.Empty.getCells(1), 160); + GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.NatruralGas, 16L), GT_Utility.getIntegratedCircuit(4), Materials.Hydrogen.getGas(2000), Materials.HydricSulfide.getGas(1000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Gas, 16L), 160); + GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2L), GT_Utility.getIntegratedCircuit(4), Materials.SulfuricGas.getGas(16000), Materials.Gas.getGas(16000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HydricSulfide, 1L), Materials.Empty.getCells(1), 160); + GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricGas, 16L), GT_Utility.getIntegratedCircuit(4), Materials.Hydrogen.getGas(2000), Materials.HydricSulfide.getGas(1000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Gas, 16L), 160); + GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2L), GT_Utility.getIntegratedCircuit(4), Materials.SulfuricNaphtha.getFluid(12000), Materials.Naphtha.getFluid(12000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HydricSulfide, 1L), Materials.Empty.getCells(1), 160); + GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricNaphtha, 12L), GT_Utility.getIntegratedCircuit(4), Materials.Hydrogen.getGas(2000), Materials.HydricSulfide.getGas(1000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Naphtha, 12L), 160); + GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2L), GT_Utility.getIntegratedCircuit(4), Materials.SulfuricLightFuel.getFluid(12000), Materials.LightFuel.getFluid(12000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HydricSulfide, 1L), Materials.Empty.getCells(1), 160); + GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricLightFuel, 12L), GT_Utility.getIntegratedCircuit(4), Materials.Hydrogen.getGas(2000), Materials.HydricSulfide.getGas(1000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.LightFuel, 12L), 160); + GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2L), GT_Utility.getIntegratedCircuit(4), Materials.SulfuricHeavyFuel.getFluid(8000), Materials.HeavyFuel.getFluid(8000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HydricSulfide, 1L), Materials.Empty.getCells(1), 160); + GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricHeavyFuel, 8L), GT_Utility.getIntegratedCircuit(4), Materials.Hydrogen.getGas(2000), Materials.HydricSulfide.getGas(1000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HeavyFuel, 8L), 160); GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Saltpeter, 1L), null, Materials.Naphtha.getFluid(576), Materials.Polycaprolactam.getMolten(1296), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Potassium, 1), 640); GT_Values.RA.addWiremillRecipe(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Polycaprolactam, 1L), new ItemStack(Items.string, 32), 80, 48); From f94d61a3d27f34555c5ccc1171501e1b768be4aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Mon, 21 Aug 2017 08:56:24 +0200 Subject: [PATCH 47/51] Fixed Large Chemical Reactor GUI, was wrongly using default before --- .../multi/GT_MetaTileEntity_LargeChemicalReactor.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeChemicalReactor.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeChemicalReactor.java index 393f5b81..52120d2e 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeChemicalReactor.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeChemicalReactor.java @@ -2,6 +2,7 @@ package gregtech.common.tileentities.machines.multi; import gregtech.api.GregTech_API; import gregtech.api.enums.Textures; +import gregtech.api.gui.GT_GUIContainer_MultiMachine; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; @@ -10,6 +11,7 @@ import gregtech.api.objects.GT_RenderedTexture; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; import net.minecraft.block.Block; +import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.FluidStack; @@ -62,6 +64,11 @@ public class GT_MetaTileEntity_LargeChemicalReactor extends GT_MetaTileEntity_Mu } return new ITexture[] { Textures.BlockIcons.CASING_BLOCKS[CASING_INDEX] }; } + + @Override + public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { + return new GT_GUIContainer_MultiMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "LargeChemicalReactor.png"); + } @Override public boolean isCorrectMachinePart(ItemStack aStack) { From f6482e63ae4d4415c2e894118729d4aacb499c13 Mon Sep 17 00:00:00 2001 From: Antifluxfield Date: Mon, 21 Aug 2017 21:28:37 +0800 Subject: [PATCH 48/51] Use "/n " as seperator --- src/main/java/gregtech/api/items/GT_MetaBase_Item.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/gregtech/api/items/GT_MetaBase_Item.java b/src/main/java/gregtech/api/items/GT_MetaBase_Item.java index 395c1daf..237b15fa 100644 --- a/src/main/java/gregtech/api/items/GT_MetaBase_Item.java +++ b/src/main/java/gregtech/api/items/GT_MetaBase_Item.java @@ -190,7 +190,7 @@ public abstract class GT_MetaBase_Item extends GT_Generic_Item implements ISpeci @Override public final void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) { String tKey = getUnlocalizedName(aStack) + ".tooltip"; - String[] tStrings = GT_LanguageManager.getTranslation(tKey).split("////"); + String[] tStrings = GT_LanguageManager.getTranslation(tKey).split("/n "); for (String tString : tStrings) if (GT_Utility.isStringValid(tString) && !tKey.equals(tString)) aList.add(tString); From eb749f64cac9db103d4c61002d8f663e23b3f435 Mon Sep 17 00:00:00 2001 From: Antifluxfield Date: Mon, 21 Aug 2017 21:38:39 +0800 Subject: [PATCH 49/51] Use "/n " as seperator --- .../common/items/GT_MetaGenerated_Item_01.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java index 43ea3079..2e017d3b 100644 --- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java +++ b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java @@ -484,11 +484,11 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { GregTech_API.registerCover(ItemList.Electric_Pump_ZPM.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[7][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PUMP)}), new GT_Cover_Pump(131072)); GregTech_API.registerCover(ItemList.Electric_Pump_UV.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[8][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PUMP)}), new GT_Cover_Pump(524288)); - ItemList.FluidRegulator_LV.set(addItem(tLastID = 615, "Fluid Regulator (LV)", "Configuable up to 640 L/sec (as Cover)////Rightclick/Screwdriver-rightclick/Shift-screwdriver-rightclick////to adjust the pump speed by 1/16/256 L/sec per click", new Object[]{})); - ItemList.FluidRegulator_MV.set(addItem(tLastID = 616, "Fluid Regulator (MV)", "Configuable up to 2560 L/sec (as Cover)////Rightclick/Screwdriver-rightclick/Shift-screwdriver-rightclick////to adjust the pump speed by 1/16/256 L/sec per click", new Object[]{})); - ItemList.FluidRegulator_HV.set(addItem(tLastID = 617, "Fluid Regulator (HV)", "Configuable up to 10240 L/sec (as Cover)////Rightclick/Screwdriver-rightclick/Shift-screwdriver-rightclick////to adjust the pump speed by 1/16/256 L/sec per click", new Object[]{})); - ItemList.FluidRegulator_EV.set(addItem(tLastID = 618, "Fluid Regulator (EV)", "Configuable up to 40960 L/sec (as Cover)////Rightclick/Screwdriver-rightclick/Shift-screwdriver-rightclick////to adjust the pump speed by 1/16/256 L/sec per click", new Object[]{})); - ItemList.FluidRegulator_IV.set(addItem(tLastID = 619, "Fluid Regulator (IV)", "Configuable up to 163840 L/sec (as Cover)////Rightclick/Screwdriver-rightclick/Shift-screwdriver-rightclick////to adjust the pump speed by 1/16/256 L/sec per click", new Object[]{})); + ItemList.FluidRegulator_LV.set(addItem(tLastID = 615, "Fluid Regulator (LV)", "Configuable up to 640 L/sec (as Cover)/n Rightclick/Screwdriver-rightclick/Shift-screwdriver-rightclick/n to adjust the pump speed by 1/16/256 L/sec per click", new Object[]{})); + ItemList.FluidRegulator_MV.set(addItem(tLastID = 616, "Fluid Regulator (MV)", "Configuable up to 2560 L/sec (as Cover)/n Rightclick/Screwdriver-rightclick/Shift-screwdriver-rightclick/n to adjust the pump speed by 1/16/256 L/sec per click", new Object[]{})); + ItemList.FluidRegulator_HV.set(addItem(tLastID = 617, "Fluid Regulator (HV)", "Configuable up to 10240 L/sec (as Cover)/n Rightclick/Screwdriver-rightclick/Shift-screwdriver-rightclick/n to adjust the pump speed by 1/16/256 L/sec per click", new Object[]{})); + ItemList.FluidRegulator_EV.set(addItem(tLastID = 618, "Fluid Regulator (EV)", "Configuable up to 40960 L/sec (as Cover)/n Rightclick/Screwdriver-rightclick/Shift-screwdriver-rightclick/n to adjust the pump speed by 1/16/256 L/sec per click", new Object[]{})); + ItemList.FluidRegulator_IV.set(addItem(tLastID = 619, "Fluid Regulator (IV)", "Configuable up to 163840 L/sec (as Cover)/n Rightclick/Screwdriver-rightclick/Shift-screwdriver-rightclick/n to adjust the pump speed by 1/16/256 L/sec per click", new Object[]{})); GregTech_API.registerCover(ItemList.FluidRegulator_LV.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[1][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PUMP)}), new GT_Cover_FluidRegulator(32)); GregTech_API.registerCover(ItemList.FluidRegulator_MV.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[2][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PUMP)}), new GT_Cover_FluidRegulator(128)); From d0e3e9d68d8f61d5748a0f1282c96d0dedba85fb Mon Sep 17 00:00:00 2001 From: Blood-Asp Date: Sun, 3 Sep 2017 16:09:25 +0200 Subject: [PATCH 50/51] Fix #1194 --- .../java/gregtech/loaders/postload/GT_MachineRecipeLoader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java index 80609bf6..d1467b38 100644 --- a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java +++ b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java @@ -2622,7 +2622,7 @@ if(Loader.isModLoaded("Railcraft")){ GT_Values.RA.addDefaultPolymerizationRecipes(Materials.Ethylene.mGas, Materials.Plastic.mStandardMoltenFluid); - GT_Values.RA.addChemicalRecipe(Materials.Sodium.getDust(1), GT_Values.NI, Materials.Water.getFluid(1000), Materials.Hydrogen.getGas(1000), Materials.SodiumHydroxide.getDust(1), 40, 8); + GT_Values.RA.addChemicalRecipe(Materials.Sodium.getDust(1), GT_Utility.getIntegratedCircuit(1), Materials.Water.getFluid(1000), Materials.Hydrogen.getGas(1000), Materials.SodiumHydroxide.getDust(1), 40, 8); GT_Values.RA.addChemicalRecipe(Materials.Chlorine.getCells(1), GT_Utility.getIntegratedCircuit(1), Materials.Hydrogen.getGas(1000), Materials.HydrochloricAcid.getFluid(1000), Materials.Empty.getCells(1), 60, 8); GT_Values.RA.addChemicalRecipe(Materials.Hydrogen.getCells(1), GT_Utility.getIntegratedCircuit(1), Materials.Chlorine.getGas(1000), Materials.HydrochloricAcid.getFluid(1000), Materials.Empty.getCells(1), 60, 8); From a6a74841389345b08e68d678e454dd76a46cc2a4 Mon Sep 17 00:00:00 2001 From: Blood-Asp Date: Sun, 3 Sep 2017 17:10:27 +0200 Subject: [PATCH 51/51] Fix #1167 --- .../postload/GT_MachineRecipeLoader.java | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java index d1467b38..c7cf256e 100644 --- a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java +++ b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java @@ -1842,16 +1842,16 @@ if(Loader.isModLoaded("Railcraft")){ // RobotArm - + Object o = new Object[0]; GT_Values.RA.addAssemblylineRecipe(ItemList.Robot_Arm_IV.get(1, new Object(){}),144000,new ItemStack[]{ GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.HSSG, 4L), GT_OreDictUnificator.get(OrePrefixes.gear, Materials.HSSG, 1L), GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.HSSG, 3L), ItemList.Electric_Motor_LuV.get(2, new Object(){}), ItemList.Electric_Piston_LuV.get(1, new Object(){}), - ItemList.Circuit_Masterquantumcomputer.get(2, null), - ItemList.Circuit_Quantumcomputer.get(2, null), - ItemList.Circuit_Nanoprocessor.get(6,null), + ItemList.Circuit_Masterquantumcomputer.get(2, o), + ItemList.Circuit_Quantumcomputer.get(2, o), + ItemList.Circuit_Nanoprocessor.get(6,o), GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.YttriumBariumCuprate, 6L)}, new FluidStack[]{ Materials.SolderingAlloy.getMolten(576), Materials.Lubricant.getFluid(250)}, ItemList.Robot_Arm_LuV.get(1, new Object[]{}), 600, 6000); @@ -1862,9 +1862,9 @@ if(Loader.isModLoaded("Railcraft")){ GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.HSSE, 3L), ItemList.Electric_Motor_ZPM.get(2, new Object(){}), ItemList.Electric_Piston_ZPM.get(1, new Object(){}), - ItemList.Circuit_Masterquantumcomputer.get(4, null), - ItemList.Circuit_Quantumcomputer.get(4, null), - ItemList.Circuit_Nanoprocessor.get(12,null), + ItemList.Circuit_Masterquantumcomputer.get(4, o), + ItemList.Circuit_Quantumcomputer.get(4, o), + ItemList.Circuit_Nanoprocessor.get(12,o), GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.VanadiumGallium, 6L)}, new FluidStack[]{ Materials.SolderingAlloy.getMolten(1152), Materials.Lubricant.getFluid(750)}, ItemList.Robot_Arm_ZPM.get(1, new Object[]{}), 600, 24000); @@ -1875,9 +1875,9 @@ if(Loader.isModLoaded("Railcraft")){ GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Neutronium, 3L), ItemList.Electric_Motor_UV.get(2, new Object(){}), ItemList.Electric_Piston_UV.get(1, new Object(){}), - ItemList.Circuit_Crystalcomputer.get(8, null), - ItemList.Circuit_Crystalprocessor.get(8, null), - ItemList.Circuit_Nanoprocessor.get(24,null), + ItemList.Circuit_Crystalcomputer.get(8, o), + ItemList.Circuit_Crystalprocessor.get(8, o), + ItemList.Circuit_Nanoprocessor.get(24,o), GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NiobiumTitanium, 6L)}, new FluidStack[]{ Materials.SolderingAlloy.getMolten(2304), Materials.Lubricant.getFluid(2000)}, ItemList.Robot_Arm_UV.get(1, new Object[]{}), 600, 100000); @@ -1890,7 +1890,7 @@ if(Loader.isModLoaded("Railcraft")){ ItemList.Emitter_IV.get(1, new Object(){}), ItemList.Emitter_EV.get(2, new Object(){}), ItemList.Emitter_HV.get(4, new Object(){}), - ItemList.Circuit_Nanoprocessor.get(7,null), + ItemList.Circuit_Nanoprocessor.get(7,o), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Electrum, 64L), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Electrum, 64L), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Electrum, 64L), @@ -1903,7 +1903,7 @@ if(Loader.isModLoaded("Railcraft")){ ItemList.Emitter_LuV.get(1, new Object(){}), ItemList.Emitter_IV.get(2, new Object(){}), ItemList.Emitter_EV.get(4, new Object(){}), - ItemList.Circuit_Quantumcomputer.get(7, null), + ItemList.Circuit_Quantumcomputer.get(7, o), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Platinum, 64L), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Platinum, 64L), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Platinum, 64L), @@ -1916,7 +1916,7 @@ if(Loader.isModLoaded("Railcraft")){ ItemList.Emitter_ZPM.get(1, new Object(){}), ItemList.Emitter_LuV.get(2, new Object(){}), ItemList.Emitter_IV.get(4, new Object(){}), - ItemList.Circuit_Crystalcomputer.get(7, null), + ItemList.Circuit_Crystalcomputer.get(7, o), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmiridium, 64L), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmiridium, 64L), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmiridium, 64L), @@ -1931,7 +1931,7 @@ if(Loader.isModLoaded("Railcraft")){ ItemList.Sensor_IV.get(1, new Object(){}), ItemList.Sensor_EV.get(2, new Object(){}), ItemList.Sensor_HV.get(4, new Object(){}), - ItemList.Circuit_Nanoprocessor.get(7,null), + ItemList.Circuit_Nanoprocessor.get(7,o), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Electrum, 64L), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Electrum, 64L), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Electrum, 64L), @@ -1944,7 +1944,7 @@ if(Loader.isModLoaded("Railcraft")){ ItemList.Sensor_LuV.get(1, new Object(){}), ItemList.Sensor_IV.get(2, new Object(){}), ItemList.Sensor_EV.get(4, new Object(){}), - ItemList.Circuit_Quantumcomputer.get(7, null), + ItemList.Circuit_Quantumcomputer.get(7, o), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Platinum, 64L), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Platinum, 64L), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Platinum, 64L), @@ -1957,7 +1957,7 @@ if(Loader.isModLoaded("Railcraft")){ ItemList.Sensor_ZPM.get(1, new Object(){}), ItemList.Sensor_LuV.get(2, new Object(){}), ItemList.Sensor_IV.get(4, new Object(){}), - ItemList.Circuit_Crystalcomputer.get(7, null), + ItemList.Circuit_Crystalcomputer.get(7, o), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmiridium, 64L), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmiridium, 64L), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmiridium, 64L), @@ -1972,7 +1972,7 @@ if(Loader.isModLoaded("Railcraft")){ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.HSSG, 6L), ItemList.QuantumStar.get(1, new Object(){}), ItemList.Emitter_LuV.get(4, new Object(){}), - ItemList.Circuit_Masterquantumcomputer.get(8, null), + ItemList.Circuit_Masterquantumcomputer.get(8, o), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Osmium, 64L), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Osmium, 64L), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Osmium, 64L), @@ -1986,7 +1986,7 @@ if(Loader.isModLoaded("Railcraft")){ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.HSSE, 6L), ItemList.QuantumStar.get(4, new Object(){}), ItemList.Emitter_ZPM.get(4, new Object(){}), - ItemList.Circuit_Crystalcomputer.get(16, null), + ItemList.Circuit_Crystalcomputer.get(16, o), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Osmium, 64L), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Osmium, 64L), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Osmium, 64L), @@ -2004,7 +2004,7 @@ if(Loader.isModLoaded("Railcraft")){ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 6L), ItemList.Gravistar.get(1, new Object(){}), ItemList.Emitter_UV.get(4, new Object(){}), - ItemList.Circuit_Neuroprocessor.get(64, null), + ItemList.Circuit_Neuroprocessor.get(64, o), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Osmium, 64L), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Osmium, 64L), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Osmium, 64L), @@ -2021,7 +2021,7 @@ if(Loader.isModLoaded("Railcraft")){ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("quantumHelmet", 1L)); GT_Values.RA.addAssemblylineRecipe(GT_ModHandler.getIC2Item("nanoHelmet", 1L, GT_Values.W), 144000, new ItemStack[]{ GT_ModHandler.getIC2Item("nanoHelmet", 1L, GT_Values.W), - ItemList.Circuit_Masterquantumcomputer.get(2, null), + ItemList.Circuit_Masterquantumcomputer.get(2, o), GT_OreDictUnificator.get(OrePrefixes.plateAlloy, Materials.Iridium, 4), ItemList.Energy_LapotronicOrb.get(1, new Object[]{}), ItemList.Sensor_IV.get(1, new Object[]{}), @@ -2035,7 +2035,7 @@ if(Loader.isModLoaded("Railcraft")){ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("quantumBodyarmor", 1L)); GT_Values.RA.addAssemblylineRecipe(Loader.isModLoaded("GraviSuite") ? GT_ModHandler.getModItem("GraviSuite", "advNanoChestPlate", 1, GT_Values.W) : GT_ModHandler.getIC2Item("nanoBodyarmor", 1L, GT_Values.W), 144000, new ItemStack[]{ Loader.isModLoaded("GraviSuite") ? GT_ModHandler.getModItem("GraviSuite", "advNanoChestPlate", 1, GT_Values.W) : GT_ModHandler.getIC2Item("nanoBodyarmor", 1L, GT_Values.W), - ItemList.Circuit_Masterquantumcomputer.get(2, null), + ItemList.Circuit_Masterquantumcomputer.get(2, o), GT_OreDictUnificator.get(OrePrefixes.plateAlloy, Materials.Iridium, 6), ItemList.Energy_LapotronicOrb.get(1, new Object[]{}), ItemList.Field_Generator_HV.get(2, new Object[]{}), @@ -2049,7 +2049,7 @@ if(Loader.isModLoaded("Railcraft")){ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("quantumLeggings", 1L)); GT_Values.RA.addAssemblylineRecipe(GT_ModHandler.getIC2Item("nanoLeggings", 1L, GT_Values.W), 144000, new ItemStack[]{ GT_ModHandler.getIC2Item("nanoLeggings", 1L, GT_Values.W), - ItemList.Circuit_Masterquantumcomputer.get(2, null), + ItemList.Circuit_Masterquantumcomputer.get(2, o), GT_OreDictUnificator.get(OrePrefixes.plateAlloy, Materials.Iridium, 6), ItemList.Energy_LapotronicOrb.get(1, new Object[]{}), ItemList.Field_Generator_HV.get(2, new Object[]{}), @@ -2063,7 +2063,7 @@ if(Loader.isModLoaded("Railcraft")){ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("quantumBoots", 1L)); GT_Values.RA.addAssemblylineRecipe(GT_ModHandler.getIC2Item("nanoBoots", 1L, GT_Values.W), 144000, new ItemStack[]{ GT_ModHandler.getIC2Item("nanoBoots", 1L, GT_Values.W), - ItemList.Circuit_Masterquantumcomputer.get(2, null), + ItemList.Circuit_Masterquantumcomputer.get(2, o), GT_OreDictUnificator.get(OrePrefixes.plateAlloy, Materials.Iridium, 4), ItemList.Energy_LapotronicOrb.get(1, new Object[]{}), ItemList.Field_Generator_HV.get(1, new Object[]{}), @@ -2079,10 +2079,11 @@ if(Loader.isModLoaded("Railcraft")){ GT_Values.RA.addAssemblylineRecipe(GT_ModHandler.getIC2Item("quantumBodyarmor", 1L, GT_Values.W), 144000, new ItemStack[]{ GT_ModHandler.getIC2Item("quantumBodyarmor", 1L, GT_Values.W), GT_ModHandler.getModItem("GraviSuite", "ultimateLappack", 1, GT_Values.W), - ItemList.Circuit_Ultimatecrystalcomputer.get(2, null), + ItemList.Circuit_Ultimatecrystalcomputer.get(2, o), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Duranium, 6), ItemList.Energy_LapotronicOrb2.get(1, new Object[]{}), ItemList.Field_Generator_IV.get(2, new Object[]{}), + GT_ModHandler.getModItem("GraviSuite", "itemSimpleItem", 4, 3), ItemList.Electric_Motor_ZPM.get(2, new Object[]{}), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Superconductor, 32), GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Duranium, 4) @@ -2092,7 +2093,6 @@ if(Loader.isModLoaded("Railcraft")){ }, GT_ModHandler.getModItem("GraviSuite", "graviChestPlate", 1, 27), 1500, 16388); } - Object o = new Object[0]; GT_Values.RA.addAssemblylineRecipe(ItemList.Circuit_Crystalmainframe.get(1,o), 72000, new ItemStack[]{ ItemList.Circuit_Board_Wetware.get(1,o), ItemList.Circuit_Chip_Stemcell.get(8,o),