From 5022998e18e513831e57f1d85c0d03a71086adbf Mon Sep 17 00:00:00 2001 From: HbmMods Date: Fri, 13 Apr 2018 21:10:15 +0200 Subject: [PATCH] Enhanced radar, military circuits in recipes, more achievements --- assets/hbm/lang/de_DE.lang | 6 +- assets/hbm/lang/en_US.lang | 6 +- assets/hbm/sounds.json | 1 + assets/hbm/sounds/block/sonarPing.ogg | Bin 0 -> 30142 bytes assets/hbm/textures/items/bottle_opener.png | Bin 235 -> 233 bytes .../missile/EntityMissileBunkerBuster.java | 8 +- .../entity/missile/EntityMissileBurst.java | 1 + .../missile/EntityMissileBusterStrong.java | 1 + .../entity/missile/EntityMissileCluster.java | 1 + .../missile/EntityMissileClusterStrong.java | 1 + .../entity/missile/EntityMissileDrill.java | 1 + com/hbm/entity/missile/EntityMissileEndo.java | 1 + com/hbm/entity/missile/EntityMissileExo.java | 1 + .../entity/missile/EntityMissileGeneric.java | 1 + .../missile/EntityMissileIncendiary.java | 1 + .../EntityMissileIncendiaryStrong.java | 1 + .../entity/missile/EntityMissileInferno.java | 1 + .../entity/missile/EntityMissileMicro.java | 1 + com/hbm/entity/missile/EntityMissileMirv.java | 1 + .../entity/missile/EntityMissileNuclear.java | 1 + com/hbm/entity/missile/EntityMissileRain.java | 1 + .../entity/missile/EntityMissileStrong.java | 1 + .../entity/missile/EntityMissileTaint.java | 1 + com/hbm/inventory/MachineRecipes.java | 130 +++++++++++------- com/hbm/main/CraftingManager.java | 6 + com/hbm/main/MainRegistry.java | 8 +- com/hbm/main/ModEventHandler.java | 6 + com/hbm/render/tileentity/RenderRadar.java | 6 +- .../machine/TileEntityDiFurnace.java | 4 +- .../machine/TileEntityMachinePress.java | 2 +- .../machine/TileEntityMachineRadar.java | 9 ++ 31 files changed, 147 insertions(+), 62 deletions(-) create mode 100644 assets/hbm/sounds/block/sonarPing.ogg diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index b6418a9c4..22d377221 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -12,6 +12,10 @@ achievement.tasteofblood=Der Geschmack von Blut achievement.tasteofblood.desc=ist nicht Teil des Testprotokolls. achievement.freytag=Freytag achievement.freytag.desc=Leibgarde Herold +achievement.selenium=Und täglich grüßt der Mond +achievement.selenium.desc=Lange nicht gesehen! +achievement.potato=Machtgeile KI +achievement.potato.desc=Du stichst mich! Was soll denn das? potion.hbm_taint=Verdorben @@ -517,7 +521,7 @@ item.circuit_targeting_tier4.name=Militärische Schaltplatte (Stufe 4) item.circuit_targeting_tier5.name=Militärische Schaltplatte (Stufe 5) item.circuit_targeting_tier6.name=Militärische Schaltplatte (Stufe 6) -item.selenium_piston.name=Sternmotorenkolben +item.piston_selenium.name=Sternmotorenkolben tile.block_aluminium.name=Aluminiumblock tile.block_copper.name=Kupferblock diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index f552def80..d95d1f98d 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -12,6 +12,10 @@ achievement.tasteofblood=The Taste of Blood achievement.tasteofblood.desc=is not part of any testing protocol. achievement.freytag=Freytag achievement.freytag.desc=Herold's life guards +achievement.selenium=XVIII The Moon +achievement.selenium.desc=Yeah. +achievement.potato=Rogue AI +achievement.potato.desc=You stabbed me! What is WRONG with yo-WOOOAAH potion.hbm_taint=Tainted @@ -517,7 +521,7 @@ item.circuit_targeting_tier4.name=Military Grade Circuit Board (Tier 4) item.circuit_targeting_tier5.name=Military Grade Circuit Board (Tier 5) item.circuit_targeting_tier6.name=Military Grade Circuit Board (Tier 6) -item.selenium_piston.name=Radial Engine Piston +item.piston_selenium.name=Radial Engine Piston tile.block_aluminium.name=Block of Aluminium tile.block_copper.name=Block of Copper diff --git a/assets/hbm/sounds.json b/assets/hbm/sounds.json index 89108d493..0f2cb294a 100644 --- a/assets/hbm/sounds.json +++ b/assets/hbm/sounds.json @@ -16,6 +16,7 @@ "block.broadcast1": {"category": "block", "sounds": [{"name": "block/broadcast1", "stream": false}]}, "block.broadcast2": {"category": "block", "sounds": [{"name": "block/broadcast2", "stream": false}]}, "block.broadcast3": {"category": "block", "sounds": [{"name": "block/broadcast3", "stream": false}]}, + "block.sonarPing": {"category": "block", "sounds": [{"name": "block/sonarPing", "stream": false}]}, "item.techBleep": {"category": "player", "sounds": [{"name": "tool/techBleep", "stream": false}]}, "item.techBoop": {"category": "player", "sounds": [{"name": "tool/techBoop", "stream": false}]}, diff --git a/assets/hbm/sounds/block/sonarPing.ogg b/assets/hbm/sounds/block/sonarPing.ogg new file mode 100644 index 0000000000000000000000000000000000000000..8fb23f12bf689725cdf12f4156a10322ddc681ca GIT binary patch literal 30142 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 Lj@(f{f&>2#VWu5; literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/bottle_opener.png b/assets/hbm/textures/items/bottle_opener.png index f30bfc3c40b2fcbe395f7c0240943e45efcf302f..fc5eab8b0df2a8ee17ca89250e6440874459c50b 100644 GIT binary patch delta 189 zcmV;u07C!k0qFsdG=HE;L_t(Ijir(?4gw(%MIXk_(hHcdjiEL1I@X@T3wSUqJpdfR zWE0qAvJF<-!9ZlH3IFrv2L=Yq)CA{T-g*(i7=!n|>Q?~((=_FhZ`TVlk1t rfi}Gh@I72rUEPDYtQ>i@W{lMjDN-(D%3nvT00000NkvXXu0mjf$x>1h delta 191 zcmV;w06_og0qX&fG=HK=L_t(IjbmV-5HRAB(AL)e4`cuM@q>Ypk&)rfojW+y<28VR zfq_9qMdd#>bxgz>_~pwNtl})VH2nDSgF#tY`9C8geplm_g&FYw|9^(Nckg0Vi_--R z3=9k>t06vo^XV^xMgev;1jAs;qiDSH1PzD~SV+DBZ$AAYWH>%?(fIDmU&;)i$OZUp tC(3|bf0D>I;N6$M3~ns*2-!gy001{bE getDebris() { List list = new ArrayList(); - list.add(new ItemStack(ModItems.plate_steel, 16)); - list.add(new ItemStack(ModItems.plate_titanium, 10)); - list.add(new ItemStack(ModItems.thruster_large, 1)); + list.add(new ItemStack(ModItems.plate_titanium, 4)); + list.add(new ItemStack(ModItems.thruster_small, 1)); + list.add(new ItemStack(ModItems.circuit_targeting_tier1, 1)); return list; } @Override public ItemStack getDebrisRareDrop() { - return new ItemStack(ModItems.warhead_buster_large); + return new ItemStack(ModItems.warhead_buster_small); } @Override diff --git a/com/hbm/entity/missile/EntityMissileBurst.java b/com/hbm/entity/missile/EntityMissileBurst.java index c2311c234..278fc52cd 100644 --- a/com/hbm/entity/missile/EntityMissileBurst.java +++ b/com/hbm/entity/missile/EntityMissileBurst.java @@ -35,6 +35,7 @@ public class EntityMissileBurst extends EntityMissileBaseAdvanced { list.add(new ItemStack(ModItems.plate_steel, 16)); list.add(new ItemStack(ModItems.plate_titanium, 10)); list.add(new ItemStack(ModItems.thruster_large, 1)); + list.add(new ItemStack(ModItems.circuit_targeting_tier3, 1)); return list; } diff --git a/com/hbm/entity/missile/EntityMissileBusterStrong.java b/com/hbm/entity/missile/EntityMissileBusterStrong.java index 863436b29..ba07675f7 100644 --- a/com/hbm/entity/missile/EntityMissileBusterStrong.java +++ b/com/hbm/entity/missile/EntityMissileBusterStrong.java @@ -39,6 +39,7 @@ public class EntityMissileBusterStrong extends EntityMissileBaseAdvanced { list.add(new ItemStack(ModItems.plate_steel, 10)); list.add(new ItemStack(ModItems.plate_titanium, 6)); list.add(new ItemStack(ModItems.thruster_medium, 1)); + list.add(new ItemStack(ModItems.circuit_targeting_tier2, 1)); return list; } diff --git a/com/hbm/entity/missile/EntityMissileCluster.java b/com/hbm/entity/missile/EntityMissileCluster.java index 7b58c5ff5..1b8603472 100644 --- a/com/hbm/entity/missile/EntityMissileCluster.java +++ b/com/hbm/entity/missile/EntityMissileCluster.java @@ -39,6 +39,7 @@ public class EntityMissileCluster extends EntityMissileBaseAdvanced { list.add(new ItemStack(ModItems.plate_titanium, 4)); list.add(new ItemStack(ModItems.thruster_small, 1)); + list.add(new ItemStack(ModItems.circuit_targeting_tier1, 1)); return list; } diff --git a/com/hbm/entity/missile/EntityMissileClusterStrong.java b/com/hbm/entity/missile/EntityMissileClusterStrong.java index 3be33842c..41cef143c 100644 --- a/com/hbm/entity/missile/EntityMissileClusterStrong.java +++ b/com/hbm/entity/missile/EntityMissileClusterStrong.java @@ -40,6 +40,7 @@ public class EntityMissileClusterStrong extends EntityMissileBaseAdvanced { list.add(new ItemStack(ModItems.plate_steel, 10)); list.add(new ItemStack(ModItems.plate_titanium, 6)); list.add(new ItemStack(ModItems.thruster_medium, 1)); + list.add(new ItemStack(ModItems.circuit_targeting_tier2, 1)); return list; } diff --git a/com/hbm/entity/missile/EntityMissileDrill.java b/com/hbm/entity/missile/EntityMissileDrill.java index b89ad1a4b..82c2b4c54 100644 --- a/com/hbm/entity/missile/EntityMissileDrill.java +++ b/com/hbm/entity/missile/EntityMissileDrill.java @@ -39,6 +39,7 @@ public class EntityMissileDrill extends EntityMissileBaseAdvanced { list.add(new ItemStack(ModItems.plate_steel, 16)); list.add(new ItemStack(ModItems.plate_titanium, 10)); list.add(new ItemStack(ModItems.thruster_large, 1)); + list.add(new ItemStack(ModItems.circuit_targeting_tier3, 1)); return list; } diff --git a/com/hbm/entity/missile/EntityMissileEndo.java b/com/hbm/entity/missile/EntityMissileEndo.java index f17ebd7e8..7f43dbbf9 100644 --- a/com/hbm/entity/missile/EntityMissileEndo.java +++ b/com/hbm/entity/missile/EntityMissileEndo.java @@ -36,6 +36,7 @@ public class EntityMissileEndo extends EntityMissileBaseAdvanced { list.add(new ItemStack(ModItems.plate_steel, 14)); list.add(new ItemStack(ModItems.plate_aluminium, 8)); list.add(new ItemStack(ModItems.thruster_large, 1)); + list.add(new ItemStack(ModItems.circuit_targeting_tier4, 1)); return list; } diff --git a/com/hbm/entity/missile/EntityMissileExo.java b/com/hbm/entity/missile/EntityMissileExo.java index 837da79a0..227679a2a 100644 --- a/com/hbm/entity/missile/EntityMissileExo.java +++ b/com/hbm/entity/missile/EntityMissileExo.java @@ -36,6 +36,7 @@ public class EntityMissileExo extends EntityMissileBaseAdvanced { list.add(new ItemStack(ModItems.plate_steel, 14)); list.add(new ItemStack(ModItems.plate_aluminium, 8)); list.add(new ItemStack(ModItems.thruster_large, 1)); + list.add(new ItemStack(ModItems.circuit_targeting_tier4, 1)); return list; } diff --git a/com/hbm/entity/missile/EntityMissileGeneric.java b/com/hbm/entity/missile/EntityMissileGeneric.java index b1b3388c5..54dcc99c9 100644 --- a/com/hbm/entity/missile/EntityMissileGeneric.java +++ b/com/hbm/entity/missile/EntityMissileGeneric.java @@ -32,6 +32,7 @@ public class EntityMissileGeneric extends EntityMissileBaseAdvanced { list.add(new ItemStack(ModItems.plate_titanium, 4)); list.add(new ItemStack(ModItems.thruster_small, 1)); + list.add(new ItemStack(ModItems.circuit_targeting_tier1, 1)); return list; } diff --git a/com/hbm/entity/missile/EntityMissileIncendiary.java b/com/hbm/entity/missile/EntityMissileIncendiary.java index a9007c8d5..2f15f5f94 100644 --- a/com/hbm/entity/missile/EntityMissileIncendiary.java +++ b/com/hbm/entity/missile/EntityMissileIncendiary.java @@ -34,6 +34,7 @@ public class EntityMissileIncendiary extends EntityMissileBaseAdvanced { list.add(new ItemStack(ModItems.plate_titanium, 4)); list.add(new ItemStack(ModItems.thruster_small, 1)); + list.add(new ItemStack(ModItems.circuit_targeting_tier1, 1)); return list; } diff --git a/com/hbm/entity/missile/EntityMissileIncendiaryStrong.java b/com/hbm/entity/missile/EntityMissileIncendiaryStrong.java index 0f0422620..6295ae1f1 100644 --- a/com/hbm/entity/missile/EntityMissileIncendiaryStrong.java +++ b/com/hbm/entity/missile/EntityMissileIncendiaryStrong.java @@ -35,6 +35,7 @@ public class EntityMissileIncendiaryStrong extends EntityMissileBaseAdvanced { list.add(new ItemStack(ModItems.plate_steel, 10)); list.add(new ItemStack(ModItems.plate_titanium, 6)); list.add(new ItemStack(ModItems.thruster_medium, 1)); + list.add(new ItemStack(ModItems.circuit_targeting_tier2, 1)); return list; } diff --git a/com/hbm/entity/missile/EntityMissileInferno.java b/com/hbm/entity/missile/EntityMissileInferno.java index 7bf293abe..3d60a5e01 100644 --- a/com/hbm/entity/missile/EntityMissileInferno.java +++ b/com/hbm/entity/missile/EntityMissileInferno.java @@ -36,6 +36,7 @@ public class EntityMissileInferno extends EntityMissileBaseAdvanced { list.add(new ItemStack(ModItems.plate_steel, 16)); list.add(new ItemStack(ModItems.plate_titanium, 10)); list.add(new ItemStack(ModItems.thruster_large, 1)); + list.add(new ItemStack(ModItems.circuit_targeting_tier3, 1)); return list; } diff --git a/com/hbm/entity/missile/EntityMissileMicro.java b/com/hbm/entity/missile/EntityMissileMicro.java index d65a33830..3463e12c9 100644 --- a/com/hbm/entity/missile/EntityMissileMicro.java +++ b/com/hbm/entity/missile/EntityMissileMicro.java @@ -65,6 +65,7 @@ public class EntityMissileMicro extends EntityMissileBaseAdvanced { list.add(new ItemStack(ModItems.plate_titanium, 4)); list.add(new ItemStack(ModItems.hull_small_aluminium, 2)); list.add(new ItemStack(ModItems.ducttape, 1)); + list.add(new ItemStack(ModItems.circuit_targeting_tier1, 1)); return list; } diff --git a/com/hbm/entity/missile/EntityMissileMirv.java b/com/hbm/entity/missile/EntityMissileMirv.java index eec502081..e09497bb1 100644 --- a/com/hbm/entity/missile/EntityMissileMirv.java +++ b/com/hbm/entity/missile/EntityMissileMirv.java @@ -54,6 +54,7 @@ public class EntityMissileMirv extends EntityMissileBaseAdvanced { list.add(new ItemStack(ModItems.plate_aluminium, 12)); list.add(new ItemStack(ModItems.thruster_large, 1)); list.add(new ItemStack(ModItems.warhead_mirvlet, 8)); + list.add(new ItemStack(ModItems.circuit_targeting_tier5, 1)); return list; } diff --git a/com/hbm/entity/missile/EntityMissileNuclear.java b/com/hbm/entity/missile/EntityMissileNuclear.java index 4156ba3eb..f5beda3eb 100644 --- a/com/hbm/entity/missile/EntityMissileNuclear.java +++ b/com/hbm/entity/missile/EntityMissileNuclear.java @@ -53,6 +53,7 @@ public class EntityMissileNuclear extends EntityMissileBaseAdvanced { list.add(new ItemStack(ModItems.plate_steel, 20)); list.add(new ItemStack(ModItems.plate_aluminium, 12)); list.add(new ItemStack(ModItems.thruster_large, 1)); + list.add(new ItemStack(ModItems.circuit_targeting_tier4, 1)); return list; } diff --git a/com/hbm/entity/missile/EntityMissileRain.java b/com/hbm/entity/missile/EntityMissileRain.java index 83fbad956..07a817b7d 100644 --- a/com/hbm/entity/missile/EntityMissileRain.java +++ b/com/hbm/entity/missile/EntityMissileRain.java @@ -40,6 +40,7 @@ public class EntityMissileRain extends EntityMissileBaseAdvanced { list.add(new ItemStack(ModItems.plate_steel, 16)); list.add(new ItemStack(ModItems.plate_titanium, 10)); list.add(new ItemStack(ModItems.thruster_large, 1)); + list.add(new ItemStack(ModItems.circuit_targeting_tier3, 1)); return list; } diff --git a/com/hbm/entity/missile/EntityMissileStrong.java b/com/hbm/entity/missile/EntityMissileStrong.java index 9b6c3bffe..59c46ffed 100644 --- a/com/hbm/entity/missile/EntityMissileStrong.java +++ b/com/hbm/entity/missile/EntityMissileStrong.java @@ -33,6 +33,7 @@ public class EntityMissileStrong extends EntityMissileBaseAdvanced { list.add(new ItemStack(ModItems.plate_steel, 10)); list.add(new ItemStack(ModItems.plate_titanium, 6)); list.add(new ItemStack(ModItems.thruster_medium, 1)); + list.add(new ItemStack(ModItems.circuit_targeting_tier2, 1)); return list; } diff --git a/com/hbm/entity/missile/EntityMissileTaint.java b/com/hbm/entity/missile/EntityMissileTaint.java index 34536004c..7c1ea595e 100644 --- a/com/hbm/entity/missile/EntityMissileTaint.java +++ b/com/hbm/entity/missile/EntityMissileTaint.java @@ -42,6 +42,7 @@ public class EntityMissileTaint extends EntityMissileBaseAdvanced { list.add(new ItemStack(ModItems.plate_titanium, 4)); list.add(new ItemStack(ModItems.hull_small_aluminium, 2)); list.add(new ItemStack(ModItems.powder_magic, 1)); + list.add(new ItemStack(ModItems.circuit_targeting_tier1, 1)); return list; } diff --git a/com/hbm/inventory/MachineRecipes.java b/com/hbm/inventory/MachineRecipes.java index feedcb29c..0f4b8d5d9 100644 --- a/com/hbm/inventory/MachineRecipes.java +++ b/com/hbm/inventory/MachineRecipes.java @@ -32,14 +32,18 @@ public class MachineRecipes { return new MachineRecipes(); } - public static ItemStack getFurnaceProcessingResult(Item item, Item item2) { + public static ItemStack getFurnaceProcessingResult(ItemStack item, ItemStack item2) { return getFurnaceOutput(item, item2); } - public static ItemStack getFurnaceOutput(Item item, Item item2) { + public static ItemStack getFurnaceOutput(ItemStack item, ItemStack item2) { + + if(item == null || item2 == null) + return null; + if (MainRegistry.enableDebugMode) { - if (item == Items.iron_ingot && item2 == Items.quartz - || item == Items.quartz && item2 == Items.iron_ingot) { + if (item.getItem() == Items.iron_ingot && item2.getItem() == Items.quartz + || item.getItem() == Items.quartz && item2.getItem() == Items.iron_ingot) { return new ItemStack(ModBlocks.test_render, 1); } } @@ -64,13 +68,13 @@ public class MachineRecipes { return new ItemStack(ModItems.ingot_steel, 2); } - if (mODE(item, new String[] {"ingotCopper", "dustCopper"}) && item2 == Items.redstone - || item == Items.redstone && mODE(item2, new String[] {"ingotCopper", "dustCopper"})) { + if (mODE(item, new String[] {"ingotCopper", "dustCopper"}) && item2.getItem() == Items.redstone + || item.getItem() == Items.redstone && mODE(item2, new String[] {"ingotCopper", "dustCopper"})) { return new ItemStack(ModItems.ingot_red_copper, 2); } - if (item == ModItems.canister_fuel && item2 == Items.slime_ball - || item == Items.slime_ball && item2 == ModItems.canister_fuel) { + if (item.getItem() == ModItems.canister_fuel && item2.getItem() == Items.slime_ball + || item.getItem() == Items.slime_ball && item2.getItem() == ModItems.canister_fuel) { return new ItemStack(ModItems.canister_napalm, 1); } @@ -84,8 +88,8 @@ public class MachineRecipes { return new ItemStack(ModItems.ingot_magnetized_tungsten, 1); } - if (item == ModItems.plate_mixed && mODE(item2, "plateGold") - || mODE(item, "plateGold") && item2 == ModItems.plate_mixed) { + if (item.getItem() == ModItems.plate_mixed && mODE(item2, "plateGold") + || mODE(item, "plateGold") && item2.getItem() == ModItems.plate_mixed) { return new ItemStack(ModItems.plate_paa, 2); } @@ -94,13 +98,13 @@ public class MachineRecipes { return new ItemStack(ModItems.ingot_dura_steel, 2); } - if (mODE(item, new String[] {"ingotSteel", "dustSteel"}) && item2 == ModItems.powder_cobalt - || item == ModItems.powder_cobalt && mODE(item2, new String[] {"ingotSteel", "dustSteel"})) { + if (mODE(item, new String[] {"ingotSteel", "dustSteel"}) && item2.getItem() == ModItems.powder_cobalt + || item.getItem() == ModItems.powder_cobalt && mODE(item2, new String[] {"ingotSteel", "dustSteel"})) { return new ItemStack(ModItems.ingot_dura_steel, 2); } - if (mODE(item, new String[] {"ingotSteel", "dustSteel"}) && item2 == ModItems.powder_meteorite - || item == ModItems.powder_meteorite && mODE(item2, new String[] {"ingotSteel", "dustSteel"})) { + if (mODE(item, new String[] {"ingotSteel", "dustSteel"}) && item2.getItem() == ModItems.powder_meteorite + || item.getItem() == ModItems.powder_meteorite && mODE(item2, new String[] {"ingotSteel", "dustSteel"})) { return new ItemStack(ModItems.ingot_starmetal, 2); } @@ -268,15 +272,22 @@ public class MachineRecipes { add(ModItems.stamp_obsidian_circuit); add(ModItems.stamp_schrabidium_circuit); }}; - - public static ItemStack getPressResultNN(Item stamp, Item input) { + + public static ItemStack getPressResultNN(ItemStack stamp, ItemStack input) { return getPressResult(input, stamp) == null ? new ItemStack(ModItems.nothing) : getPressResult(input, stamp); } + + public static ItemStack getPressResultNN(Item stamp, Item input) { + return getPressResult(new ItemStack(input), new ItemStack(stamp)) == null ? new ItemStack(ModItems.nothing) : getPressResult(new ItemStack(input), new ItemStack(stamp)); + } - public static ItemStack getPressResult(Item input, Item stamp) { + public static ItemStack getPressResult(ItemStack input, ItemStack stamp) { - if(stamps_flat.contains(stamp)) { + if(input == null || stamp == null) + return null; + + if(stamps_flat.contains(stamp.getItem())) { if(mODE(input, "dustCoal")) return new ItemStack(Items.coal); @@ -290,13 +301,13 @@ public class MachineRecipes { return new ItemStack(Items.diamond); if(mODE(input, "dustEmerald")) return new ItemStack(Items.emerald); - if(input == ModItems.pellet_coal) + if(input.getItem() == ModItems.pellet_coal) return new ItemStack(Items.diamond); - if(input == ModItems.biomass) + if(input.getItem() == ModItems.biomass) return new ItemStack(ModItems.biomass_compressed); } - if(stamps_plate.contains(stamp)) { + if(stamps_plate.contains(stamp.getItem())) { if(mODE(input, "ingotIron")) return new ItemStack(ModItems.plate_iron); @@ -323,7 +334,7 @@ public class MachineRecipes { } - if(stamps_wire.contains(stamp)) { + if(stamps_wire.contains(stamp.getItem())) { if(mODE(input, "ingotAluminum")) return new ItemStack(ModItems.wire_aluminium, 3); @@ -347,9 +358,9 @@ public class MachineRecipes { return new ItemStack(ModItems.wire_magnetized_tungsten, 3); } - if(stamps_circuit.contains(stamp)) { + if(stamps_circuit.contains(stamp.getItem())) { - if(input == ModItems.circuit_raw) + if(input.getItem() == ModItems.circuit_raw) return new ItemStack(ModItems.circuit_aluminium); } @@ -767,29 +778,29 @@ public class MachineRecipes { } try { recipes.put(new ItemStack[] { new ItemStack(Items.iron_ingot), new ItemStack(Items.coal) }, - getFurnaceOutput(Items.iron_ingot, Items.coal).copy()); + getFurnaceOutput(new ItemStack(Items.iron_ingot), new ItemStack(Items.coal)).copy()); recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_lead), new ItemStack(ModItems.ingot_copper) }, - getFurnaceOutput(ModItems.ingot_lead, ModItems.ingot_copper).copy()); + getFurnaceOutput(new ItemStack(ModItems.ingot_lead), new ItemStack(ModItems.ingot_copper)).copy()); recipes.put(new ItemStack[] { new ItemStack(ModItems.plate_lead), new ItemStack(ModItems.plate_copper) }, - getFurnaceOutput(ModItems.plate_lead, ModItems.plate_copper).copy()); + getFurnaceOutput(new ItemStack(ModItems.plate_lead), new ItemStack(ModItems.plate_copper)).copy()); recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_tungsten), new ItemStack(Items.coal) }, - getFurnaceOutput(ModItems.ingot_tungsten, Items.coal).copy()); + getFurnaceOutput(new ItemStack(ModItems.ingot_tungsten), new ItemStack(Items.coal)).copy()); recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_copper), new ItemStack(Items.redstone) }, - getFurnaceOutput(ModItems.ingot_copper, Items.redstone).copy()); + getFurnaceOutput(new ItemStack(ModItems.ingot_copper), new ItemStack(Items.redstone)).copy()); recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_red_copper), new ItemStack(ModItems.ingot_steel) }, - getFurnaceOutput(ModItems.ingot_red_copper, ModItems.ingot_steel).copy()); + getFurnaceOutput(new ItemStack(ModItems.ingot_red_copper), new ItemStack(ModItems.ingot_steel)).copy()); recipes.put(new ItemStack[] { new ItemStack(ModItems.canister_fuel), new ItemStack(Items.slime_ball) }, - getFurnaceOutput(ModItems.canister_fuel, Items.slime_ball).copy()); + getFurnaceOutput(new ItemStack(ModItems.canister_fuel), new ItemStack(Items.slime_ball)).copy()); recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_tungsten), new ItemStack(ModItems.nugget_schrabidium) }, - getFurnaceOutput(ModItems.ingot_tungsten, ModItems.nugget_schrabidium).copy()); + getFurnaceOutput(new ItemStack(ModItems.ingot_tungsten), new ItemStack(ModItems.nugget_schrabidium)).copy()); recipes.put(new ItemStack[] { new ItemStack(ModItems.plate_mixed), new ItemStack(ModItems.plate_gold) }, - getFurnaceOutput(ModItems.plate_mixed, ModItems.plate_gold).copy()); + getFurnaceOutput(new ItemStack(ModItems.plate_mixed), new ItemStack(ModItems.plate_gold)).copy()); recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_steel), new ItemStack(ModItems.ingot_tungsten) }, - getFurnaceOutput(ModItems.ingot_steel, ModItems.ingot_tungsten).copy()); + getFurnaceOutput(new ItemStack(ModItems.ingot_steel), new ItemStack(ModItems.ingot_tungsten)).copy()); recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_steel), new ItemStack(ModItems.powder_cobalt) }, - getFurnaceOutput(ModItems.ingot_steel, ModItems.powder_cobalt).copy()); + getFurnaceOutput(new ItemStack(ModItems.ingot_steel), new ItemStack(ModItems.powder_cobalt)).copy()); recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_steel), new ItemStack(ModItems.powder_meteorite) }, - getFurnaceOutput(ModItems.ingot_steel, ModItems.powder_meteorite).copy()); + getFurnaceOutput(new ItemStack(ModItems.ingot_steel), new ItemStack(ModItems.powder_meteorite)).copy()); } catch (Exception x) { MainRegistry.logger.error("Unable to register alloy recipes for NEI!"); } @@ -1812,6 +1823,7 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.plate_titanium, 6)); list.add(new ItemStack(ModItems.wire_aluminium, 6)); list.add(new ItemStack(ModItems.canister_kerosene, 3)); + list.add(new ItemStack(ModItems.circuit_targeting_tier1, 1)); break; case WT1_CLUSTER: list.add(new ItemStack(ModItems.warhead_generic_small, 1)); @@ -2572,14 +2584,14 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.sphere_steel, 1)); list.add(new ItemStack(ModItems.fins_flat, 2)); list.add(new ItemStack(ModItems.pedestal_steel, 1)); - list.add(new ItemStack(ModItems.circuit_red_copper, 1)); + list.add(new ItemStack(ModItems.circuit_targeting_tier3, 1)); list.add(new ItemStack(ModItems.wire_gold, 6)); list.add(new ItemStack(Items.dye, 6, 8)); break; case LITTLE_BOY: list.add(new ItemStack(ModItems.hull_small_steel, 2)); list.add(new ItemStack(ModItems.fins_small_steel, 1)); - list.add(new ItemStack(ModItems.circuit_copper, 1)); + list.add(new ItemStack(ModItems.circuit_targeting_tier2, 1)); list.add(new ItemStack(ModItems.wire_aluminium, 6)); list.add(new ItemStack(Items.dye, 4, 4)); break; @@ -2587,7 +2599,7 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.sphere_steel, 1)); list.add(new ItemStack(ModItems.hull_big_steel, 2)); list.add(new ItemStack(ModItems.fins_big_steel, 1)); - list.add(new ItemStack(ModItems.circuit_copper, 1)); + list.add(new ItemStack(ModItems.circuit_targeting_tier2, 2)); list.add(new ItemStack(ModItems.wire_copper, 6)); list.add(new ItemStack(Items.dye, 6, 11)); break; @@ -2595,7 +2607,7 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.sphere_steel, 1)); list.add(new ItemStack(ModItems.hull_big_aluminium, 4)); list.add(new ItemStack(ModItems.cap_aluminium, 1)); - list.add(new ItemStack(ModItems.circuit_gold, 4)); + list.add(new ItemStack(ModItems.circuit_targeting_tier4, 3)); list.add(new ItemStack(ModItems.wire_gold, 18)); list.add(new ItemStack(Items.dye, 12, 7)); break; @@ -2604,7 +2616,7 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.hull_big_titanium, 6)); list.add(new ItemStack(ModItems.hull_small_steel, 2)); list.add(new ItemStack(ModItems.fins_tri_steel, 1)); - list.add(new ItemStack(ModItems.circuit_gold, 6)); + list.add(new ItemStack(ModItems.circuit_targeting_tier4, 5)); list.add(new ItemStack(ModItems.wire_gold, 24)); list.add(new ItemStack(ModItems.wire_tungsten, 12)); list.add(new ItemStack(Items.dye, 6, 0)); @@ -2613,13 +2625,13 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.dysfunctional_reactor, 1)); list.add(new ItemStack(ModItems.hull_small_steel, 2)); list.add(new ItemStack(ModItems.ingot_euphemium, 3)); - list.add(new ItemStack(ModItems.circuit_gold, 2)); + list.add(new ItemStack(ModItems.circuit_targeting_tier5, 1)); list.add(new ItemStack(ModItems.wire_gold, 16)); break; case FLEIJA: list.add(new ItemStack(ModItems.hull_small_aluminium, 1)); list.add(new ItemStack(ModItems.fins_quad_titanium, 1)); - list.add(new ItemStack(ModItems.circuit_gold, 2)); + list.add(new ItemStack(ModItems.circuit_targeting_tier4, 2)); list.add(new ItemStack(ModItems.wire_gold, 8)); list.add(new ItemStack(Items.dye, 4, 15)); break; @@ -2676,7 +2688,7 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.pipes_steel, 2)); list.add(new ItemStack(ModItems.ingot_red_copper, 2)); list.add(new ItemStack(ModItems.motor, 2)); - list.add(new ItemStack(ModItems.circuit_red_copper, 2)); + list.add(new ItemStack(ModItems.circuit_targeting_tier2, 2)); break; case TURRET_HEAVY: list.add(new ItemStack(ModItems.ingot_steel, 8)); @@ -2685,7 +2697,7 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.hull_small_steel, 1)); list.add(new ItemStack(ModItems.ingot_red_copper, 4)); list.add(new ItemStack(ModItems.motor, 2)); - list.add(new ItemStack(ModItems.circuit_red_copper, 3)); + list.add(new ItemStack(ModItems.circuit_targeting_tier2, 3)); break; case TURRET_ROCKET: list.add(new ItemStack(ModItems.ingot_steel, 12)); @@ -2693,7 +2705,7 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.hull_small_steel, 8)); list.add(new ItemStack(ModItems.ingot_red_copper, 6)); list.add(new ItemStack(ModItems.motor, 2)); - list.add(new ItemStack(ModItems.circuit_gold, 2)); + list.add(new ItemStack(ModItems.circuit_targeting_tier3, 2)); break; case TURRET_FLAMER: list.add(new ItemStack(ModItems.ingot_steel, 8)); @@ -2702,7 +2714,7 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.tank_steel, 2)); list.add(new ItemStack(ModItems.ingot_red_copper, 4)); list.add(new ItemStack(ModItems.motor, 2)); - list.add(new ItemStack(ModItems.circuit_red_copper, 2)); + list.add(new ItemStack(ModItems.circuit_targeting_tier3, 2)); break; case TURRET_TAU: list.add(new ItemStack(ModItems.ingot_steel, 16)); @@ -2711,7 +2723,7 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.redcoil_capacitor, 3)); list.add(new ItemStack(ModItems.ingot_red_copper, 12)); list.add(new ItemStack(ModItems.motor, 2)); - list.add(new ItemStack(ModItems.circuit_gold, 4)); + list.add(new ItemStack(ModItems.circuit_targeting_tier4, 2)); break; case TURRET_SPITFIRE: list.add(new ItemStack(ModItems.ingot_steel, 6)); @@ -2721,7 +2733,7 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.hull_small_steel, 4)); list.add(new ItemStack(ModItems.pipes_steel, 2)); list.add(new ItemStack(ModItems.motor, 3)); - list.add(new ItemStack(ModItems.circuit_red_copper, 4)); + list.add(new ItemStack(ModItems.circuit_targeting_tier3, 1)); break; case TURRET_CIWS: list.add(new ItemStack(ModItems.ingot_steel, 6)); @@ -2731,7 +2743,7 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.hull_small_aluminium, 2)); list.add(new ItemStack(ModItems.pipes_steel, 6)); list.add(new ItemStack(ModItems.motor, 4)); - list.add(new ItemStack(ModItems.circuit_gold, 5)); + list.add(new ItemStack(ModItems.circuit_targeting_tier4, 2)); list.add(new ItemStack(ModItems.magnetron, 3)); break; case TURRET_CHEAPO: @@ -2739,7 +2751,7 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.plate_iron, 4)); list.add(new ItemStack(ModItems.pipes_steel, 3)); list.add(new ItemStack(ModItems.motor, 3)); - list.add(new ItemStack(ModItems.circuit_red_copper, 3)); + list.add(new ItemStack(ModItems.circuit_targeting_tier1, 4)); break; case HUNTER_CHOPPER: list.add(new ItemStack(ModItems.chopper_blades, 5)); @@ -2754,24 +2766,28 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.fuel_tank_small, 1)); list.add(new ItemStack(ModItems.thruster_small, 1)); list.add(new ItemStack(ModItems.plate_titanium, 6)); + list.add(new ItemStack(ModItems.circuit_targeting_tier1, 1)); break; case MISSILE_FIRE_1: list.add(new ItemStack(ModItems.warhead_incendiary_small, 1)); list.add(new ItemStack(ModItems.fuel_tank_small, 1)); list.add(new ItemStack(ModItems.thruster_small, 1)); list.add(new ItemStack(ModItems.plate_titanium, 6)); + list.add(new ItemStack(ModItems.circuit_targeting_tier1, 1)); break; case MISSILE_CLUSTER_1: list.add(new ItemStack(ModItems.warhead_cluster_small, 1)); list.add(new ItemStack(ModItems.fuel_tank_small, 1)); list.add(new ItemStack(ModItems.thruster_small, 1)); list.add(new ItemStack(ModItems.plate_titanium, 6)); + list.add(new ItemStack(ModItems.circuit_targeting_tier1, 1)); break; case MISSILE_BUSTER_1: list.add(new ItemStack(ModItems.warhead_buster_small, 1)); list.add(new ItemStack(ModItems.fuel_tank_small, 1)); list.add(new ItemStack(ModItems.thruster_small, 1)); list.add(new ItemStack(ModItems.plate_titanium, 6)); + list.add(new ItemStack(ModItems.circuit_targeting_tier1, 1)); break; case MISSILE_HE_2: list.add(new ItemStack(ModItems.warhead_generic_medium, 1)); @@ -2779,6 +2795,7 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.thruster_medium, 1)); list.add(new ItemStack(ModItems.plate_titanium, 10)); list.add(new ItemStack(ModItems.plate_steel, 14)); + list.add(new ItemStack(ModItems.circuit_targeting_tier2, 1)); break; case MISSILE_FIRE_2: list.add(new ItemStack(ModItems.warhead_incendiary_medium, 1)); @@ -2786,6 +2803,7 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.thruster_medium, 1)); list.add(new ItemStack(ModItems.plate_titanium, 10)); list.add(new ItemStack(ModItems.plate_steel, 14)); + list.add(new ItemStack(ModItems.circuit_targeting_tier2, 1)); break; case MISSILE_CLUSTER_2: list.add(new ItemStack(ModItems.warhead_cluster_medium, 1)); @@ -2793,6 +2811,7 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.thruster_medium, 1)); list.add(new ItemStack(ModItems.plate_titanium, 10)); list.add(new ItemStack(ModItems.plate_steel, 14)); + list.add(new ItemStack(ModItems.circuit_targeting_tier2, 1)); break; case MISSILE_BUSTER_2: list.add(new ItemStack(ModItems.warhead_buster_medium, 1)); @@ -2800,6 +2819,7 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.thruster_medium, 1)); list.add(new ItemStack(ModItems.plate_titanium, 10)); list.add(new ItemStack(ModItems.plate_steel, 14)); + list.add(new ItemStack(ModItems.circuit_targeting_tier2, 1)); break; case MISSILE_HE_3: list.add(new ItemStack(ModItems.warhead_generic_large, 1)); @@ -2808,6 +2828,7 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.plate_titanium, 14)); list.add(new ItemStack(ModItems.plate_steel, 20)); list.add(new ItemStack(ModItems.plate_aluminium, 12)); + list.add(new ItemStack(ModItems.circuit_targeting_tier3, 1)); break; case MISSILE_FIRE_3: list.add(new ItemStack(ModItems.warhead_incendiary_large, 1)); @@ -2816,6 +2837,7 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.plate_titanium, 14)); list.add(new ItemStack(ModItems.plate_steel, 20)); list.add(new ItemStack(ModItems.plate_aluminium, 12)); + list.add(new ItemStack(ModItems.circuit_targeting_tier3, 1)); break; case MISSILE_CLUSTER_3: list.add(new ItemStack(ModItems.warhead_cluster_large, 1)); @@ -2824,6 +2846,7 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.plate_titanium, 14)); list.add(new ItemStack(ModItems.plate_steel, 20)); list.add(new ItemStack(ModItems.plate_aluminium, 12)); + list.add(new ItemStack(ModItems.circuit_targeting_tier3, 1)); break; case MISSILE_BUSTER_3: list.add(new ItemStack(ModItems.warhead_buster_large, 1)); @@ -2832,6 +2855,7 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.plate_titanium, 14)); list.add(new ItemStack(ModItems.plate_steel, 20)); list.add(new ItemStack(ModItems.plate_aluminium, 12)); + list.add(new ItemStack(ModItems.circuit_targeting_tier3, 1)); break; case MISSILE_NUCLEAR: list.add(new ItemStack(ModItems.warhead_nuclear, 1)); @@ -2840,6 +2864,7 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.plate_titanium, 20)); list.add(new ItemStack(ModItems.plate_steel, 24)); list.add(new ItemStack(ModItems.plate_aluminium, 16)); + list.add(new ItemStack(ModItems.circuit_targeting_tier4, 1)); break; case MISSILE_MIRV: list.add(new ItemStack(ModItems.warhead_mirv, 1)); @@ -2848,6 +2873,7 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.plate_titanium, 20)); list.add(new ItemStack(ModItems.plate_steel, 24)); list.add(new ItemStack(ModItems.plate_aluminium, 16)); + list.add(new ItemStack(ModItems.circuit_targeting_tier5, 1)); break; case MISSILE_ENDO: list.add(new ItemStack(ModItems.warhead_thermo_endo, 1)); @@ -2856,6 +2882,7 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.plate_titanium, 14)); list.add(new ItemStack(ModItems.plate_steel, 20)); list.add(new ItemStack(ModItems.plate_aluminium, 12)); + list.add(new ItemStack(ModItems.circuit_targeting_tier4, 1)); break; case MISSILE_EXO: list.add(new ItemStack(ModItems.warhead_thermo_exo, 1)); @@ -2864,6 +2891,7 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.plate_titanium, 14)); list.add(new ItemStack(ModItems.plate_steel, 20)); list.add(new ItemStack(ModItems.plate_aluminium, 12)); + list.add(new ItemStack(ModItems.circuit_targeting_tier4, 1)); break; case DEFAB: list.add(new ItemStack(ModItems.ingot_steel, 2)); diff --git a/com/hbm/main/CraftingManager.java b/com/hbm/main/CraftingManager.java index 163c6e673..048d6bd2c 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -243,6 +243,7 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_neptunium, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_lead, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_schrabidium, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_solinium, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_uranium_fuel, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_plutonium_fuel, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_mox_fuel, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel }); @@ -267,6 +268,7 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_neptunium, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_lead, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_schrabidium, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_solinium, 1), new Object[] { ModItems.rod_dual_empty, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_uranium_fuel, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_plutonium_fuel, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_mox_fuel, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel }); @@ -292,6 +294,7 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_neptunium, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_neptunium, ModItems.ingot_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_lead, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_lead, ModItems.ingot_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_schrabidium, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_schrabidium, ModItems.ingot_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_solinium, 1), new Object[] { ModItems.rod_quad_empty, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_uranium_fuel, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_uranium_fuel, ModItems.ingot_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_plutonium_fuel, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_plutonium_fuel, ModItems.ingot_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_mox_fuel, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_mox_fuel, ModItems.ingot_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel }); @@ -311,6 +314,7 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_neptunium, 6), new Object[] { ModItems.rod_neptunium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_lead, 6), new Object[] { ModItems.rod_lead }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_schrabidium, 6), new Object[] { ModItems.rod_schrabidium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_solinium, 6), new Object[] { ModItems.rod_solinium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_uranium_fuel, 6), new Object[] { ModItems.rod_uranium_fuel }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_plutonium_fuel, 6), new Object[] { ModItems.rod_plutonium_fuel }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_mox_fuel, 6), new Object[] { ModItems.rod_mox_fuel }); @@ -333,6 +337,7 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_neptunium, 12), new Object[] { ModItems.rod_dual_neptunium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_lead, 12), new Object[] { ModItems.rod_dual_lead }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_schrabidium, 12), new Object[] { ModItems.rod_dual_schrabidium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_solinium, 12), new Object[] { ModItems.rod_dual_solinium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_uranium_fuel, 12), new Object[] { ModItems.rod_dual_uranium_fuel }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_plutonium_fuel, 12), new Object[] { ModItems.rod_dual_plutonium_fuel }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_mox_fuel, 12), new Object[] { ModItems.rod_dual_mox_fuel }); @@ -348,6 +353,7 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_neptunium, 24), new Object[] { ModItems.rod_quad_neptunium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_lead, 24), new Object[] { ModItems.rod_quad_lead }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_schrabidium, 24), new Object[] { ModItems.rod_quad_schrabidium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_solinium, 24), new Object[] { ModItems.rod_quad_solinium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_uranium_fuel, 24), new Object[] { ModItems.rod_quad_uranium_fuel }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_plutonium_fuel, 24), new Object[] { ModItems.rod_quad_plutonium_fuel }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_mox_fuel, 24), new Object[] { ModItems.rod_quad_mox_fuel }); diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java index a080e590d..6021cab69 100644 --- a/com/hbm/main/MainRegistry.java +++ b/com/hbm/main/MainRegistry.java @@ -383,6 +383,8 @@ public class MainRegistry public static Achievement achImpossible; public static Achievement achTOB; public static Achievement achFreytag; + public static Achievement achSelenium; + public static Achievement achPotato; public static boolean enableDebugMode = true; public static boolean enableMycelium = false; @@ -900,12 +902,16 @@ public class MainRegistry achImpossible = new Achievement("achievement.impossible", "impossible", 2, 0, ModItems.nothing, null).initIndependentStat().setSpecial().registerStat(); achTOB = new Achievement("achievement.tasteofblood", "tasteofblood", 0, 2, new ItemStack(ModItems.fluid_icon, 1, FluidType.ASCHRAB.getID()), null).initIndependentStat().setSpecial().registerStat(); achFreytag = new Achievement("achievement.freytag", "freytag", 0, -2, ModItems.gun_mp40, null).initIndependentStat().setSpecial().registerStat(); + achSelenium = new Achievement("achievement.selenium", "selenium", -2, -2, ModItems.ingot_starmetal, null).initIndependentStat().setSpecial().registerStat(); + achPotato = new Achievement("achievement.potato", "potato", -2, 0, ModItems.battery_potatos, null).initIndependentStat().setSpecial().registerStat(); AchievementPage.registerAchievementPage(new AchievementPage("Nuclear Tech", new Achievement[]{ achSacrifice, achImpossible, achTOB, - achFreytag + achFreytag, + achSelenium, + achPotato })); OreDictionary.registerOre("ingotUranium", ModItems.ingot_uranium); diff --git a/com/hbm/main/ModEventHandler.java b/com/hbm/main/ModEventHandler.java index 98ea41cc2..1a3439be9 100644 --- a/com/hbm/main/ModEventHandler.java +++ b/com/hbm/main/ModEventHandler.java @@ -87,6 +87,12 @@ public class ModEventHandler if(item == ModItems.gun_mp40) { e.player.addStat(MainRegistry.achFreytag, 1); } + if(item == ModItems.piston_selenium) { + e.player.addStat(MainRegistry.achSelenium, 1); + } + if(item == ModItems.battery_potatos) { + e.player.addStat(MainRegistry.achPotato, 1); + } } /*@SubscribeEvent diff --git a/com/hbm/render/tileentity/RenderRadar.java b/com/hbm/render/tileentity/RenderRadar.java index fab4779cb..86cfe02c5 100644 --- a/com/hbm/render/tileentity/RenderRadar.java +++ b/com/hbm/render/tileentity/RenderRadar.java @@ -4,6 +4,7 @@ import org.lwjgl.opengl.GL11; import com.hbm.main.ResourceManager; import com.hbm.tileentity.machine.TileEntityMachineMiningDrill; +import com.hbm.tileentity.machine.TileEntityMachineRadar; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; @@ -36,7 +37,10 @@ public class RenderRadar extends TileEntitySpecialRenderer { GL11.glDisable(GL11.GL_CULL_FACE); GL11.glRotatef(180, 0F, 1F, 0F); - GL11.glRotatef((System.currentTimeMillis() / 10) % 360, 0F, 1F, 0F); + TileEntityMachineRadar radar = (TileEntityMachineRadar)tileEntity; + + if(radar.power > 0) + GL11.glRotatef((System.currentTimeMillis() / 10) % 360, 0F, 1F, 0F); bindTexture(ResourceManager.radar_head_tex); ResourceManager.radar_head.renderAll(); diff --git a/com/hbm/tileentity/machine/TileEntityDiFurnace.java b/com/hbm/tileentity/machine/TileEntityDiFurnace.java index 7957829cc..9a1396b7c 100644 --- a/com/hbm/tileentity/machine/TileEntityDiFurnace.java +++ b/com/hbm/tileentity/machine/TileEntityDiFurnace.java @@ -224,7 +224,7 @@ public class TileEntityDiFurnace extends TileEntity implements ISidedInventory { { return false; } - ItemStack itemStack = MachineRecipes.getFurnaceProcessingResult(slots[0].getItem(), slots[1].getItem()); + ItemStack itemStack = MachineRecipes.getFurnaceProcessingResult(slots[0], slots[1]); if(itemStack == null) { return false; @@ -248,7 +248,7 @@ public class TileEntityDiFurnace extends TileEntity implements ISidedInventory { private void processItem() { if(canProcess()) { - ItemStack itemStack = MachineRecipes.getFurnaceProcessingResult(slots[0].getItem(), slots[1].getItem()); + ItemStack itemStack = MachineRecipes.getFurnaceProcessingResult(slots[0], slots[1]); if(slots[3] == null) { diff --git a/com/hbm/tileentity/machine/TileEntityMachinePress.java b/com/hbm/tileentity/machine/TileEntityMachinePress.java index c401bfd5a..d8ee411a9 100644 --- a/com/hbm/tileentity/machine/TileEntityMachinePress.java +++ b/com/hbm/tileentity/machine/TileEntityMachinePress.java @@ -233,7 +233,7 @@ public class TileEntityMachinePress extends TileEntity implements ISidedInventor int speed = power * 25 / maxPower; if(slots[1] != null && slots[2] != null) { - ItemStack stack = MachineRecipes.getPressResult(slots[2].getItem(), slots[1].getItem()); + ItemStack stack = MachineRecipes.getPressResult(slots[2].copy(), slots[1].copy()); if(stack != null && (slots[3] == null || (slots[3].getItem() == stack.getItem() && diff --git a/com/hbm/tileentity/machine/TileEntityMachineRadar.java b/com/hbm/tileentity/machine/TileEntityMachineRadar.java index 3ea6db69b..f3a6d1b0e 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineRadar.java +++ b/com/hbm/tileentity/machine/TileEntityMachineRadar.java @@ -26,6 +26,8 @@ public class TileEntityMachineRadar extends TileEntity implements IConsumer { public static List allMissiles = new ArrayList(); public List nearbyMissiles = new ArrayList(); + int pingTimer = 0; + final static int maxTimer = 40; public long power = 0; public static final int maxPower = 100000; @@ -69,6 +71,13 @@ public class TileEntityMachineRadar extends TileEntity implements IConsumer { if(!worldObj.isRemote) PacketDispatcher.wrapper.sendToAll(new AuxElectricityPacket(xCoord, yCoord, zCoord, power)); + + pingTimer++; + + if(power > 0 && pingTimer >= maxTimer) { + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.sonarPing", 5.0F, 1.0F); + pingTimer = 0; + } } private void allocateMissiles() {