From dc6a5e6ebb831903885b9aa8d25ac1ae8fb6dd39 Mon Sep 17 00:00:00 2001 From: Boblet Date: Thu, 1 Dec 2022 10:44:45 +0100 Subject: [PATCH] GT6 iron type compat for crucible, hazard values for naquadah --- .../java/com/hbm/hazard/HazardRegistry.java | 18 +++++++++++ .../inventory/material/MaterialShapes.java | 1 + .../java/com/hbm/inventory/material/Mats.java | 31 ++++++++++--------- .../inventory/recipes/CrucibleRecipes.java | 13 ++++++++ .../items/machine/ItemCrucibleTemplate.java | 19 ++++++++++++ src/main/resources/assets/hbm/lang/de_DE.lang | 14 ++++++++- src/main/resources/assets/hbm/lang/en_US.lang | 14 ++++++++- 7 files changed, 94 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/hbm/hazard/HazardRegistry.java b/src/main/java/com/hbm/hazard/HazardRegistry.java index b09ca07a9..d81e65ca4 100644 --- a/src/main/java/com/hbm/hazard/HazardRegistry.java +++ b/src/main/java/com/hbm/hazard/HazardRegistry.java @@ -9,6 +9,7 @@ import com.hbm.config.GeneralConfig; import com.hbm.hazard.modifier.*; import com.hbm.hazard.transformer.*; import com.hbm.hazard.type.*; +import com.hbm.inventory.material.MaterialShapes; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemBreedingRod.BreedingRodType; import com.hbm.items.machine.ItemRTGPelletDepleted.DepletedRTGMaterial; @@ -486,6 +487,23 @@ public class HazardRegistry { } } } + + if(Compat.isModLoaded(Compat.MOD_GT6)) { + + Object[][] data = new Object[][] { + {"Naquadah", u}, + {"Naquadah-Enriched", u235}, + {"Naquadria", pu239}, + }; + + for(MaterialShapes shape : MaterialShapes.allShapes) { + for(String prefix : shape.prefixes) { + for(Object[] o : data) { + HazardSystem.register(prefix + o[0], new HazardData().setMutex(0b1).addEntry(new HazardEntry(RADIATION, (float) o[1] * shape.q(1) / MaterialShapes.INGOT.q(1)))); + } + } + } + } } public static void registerTrafos() { diff --git a/src/main/java/com/hbm/inventory/material/MaterialShapes.java b/src/main/java/com/hbm/inventory/material/MaterialShapes.java index 38868e2d7..773a4aafb 100644 --- a/src/main/java/com/hbm/inventory/material/MaterialShapes.java +++ b/src/main/java/com/hbm/inventory/material/MaterialShapes.java @@ -28,6 +28,7 @@ public class MaterialShapes { new MaterialShapes(BLOCK.q(1), "blockDust"); new MaterialShapes(BLOCK.q(1), "blockGem"); new MaterialShapes(BLOCK.q(1), "blockIngot"); + new MaterialShapes(BLOCK.q(1), "blockSolid"); new MaterialShapes(INGOT.q(9, 8), "crushed"); new MaterialShapes(INGOT.q(9, 72), "crushedTiny"); new MaterialShapes(INGOT.q(10, 8), "crushedPurified"); diff --git a/src/main/java/com/hbm/inventory/material/Mats.java b/src/main/java/com/hbm/inventory/material/Mats.java index 2f71ca88a..cb10c3fe1 100644 --- a/src/main/java/com/hbm/inventory/material/Mats.java +++ b/src/main/java/com/hbm/inventory/material/Mats.java @@ -47,20 +47,23 @@ public class Mats { public static final int _AS = 30; //Vanilla and vanilla-like - public static final NTMMaterial MAT_STONE = makeSmeltable(_VS + 00, df("Stone"), 0x4D2F23).omitAutoGen(); - public static final NTMMaterial MAT_CARBON = makeAdditive( 1499, df("Carbon"), 0x404040).omitAutoGen(); - public static final NTMMaterial MAT_COAL = make( 1400, COAL) .setConversion(MAT_CARBON, 2, 1).omitAutoGen(); - public static final NTMMaterial MAT_LIGNITE = make( 1401, LIGNITE) .setConversion(MAT_CARBON, 3, 1); - public static final NTMMaterial MAT_COALCOKE = make( 1410, COALCOKE) .setConversion(MAT_CARBON, 4, 3); - public static final NTMMaterial MAT_PETCOKE = make( 1411, PETCOKE) .setConversion(MAT_CARBON, 4, 3); - public static final NTMMaterial MAT_LIGCOKE = make( 1412, LIGCOKE) .setConversion(MAT_CARBON, 4, 3); - public static final NTMMaterial MAT_GRAPHITE = make( 1420, GRAPHITE) .setConversion(MAT_CARBON, 1, 1); - public static final NTMMaterial MAT_IRON = makeSmeltable(2600, IRON, 0xFFA259).omitAutoGen(); - public static final NTMMaterial MAT_GOLD = makeSmeltable(7900, GOLD, 0xE8D754).omitAutoGen(); - public static final NTMMaterial MAT_REDSTONE = makeSmeltable(_VS + 01, REDSTONE, 0xFF1000).omitAutoGen(); - public static final NTMMaterial MAT_OBSIDIAN = makeSmeltable(_VS + 02, df("Obsidian"), 0x3D234D).omitAutoGen(); - public static final NTMMaterial MAT_HEMATITE = makeAdditive( 2601, HEMATITE, 0x6E463D).omitAutoGen(); - public static final NTMMaterial MAT_MALACHITE = makeAdditive( 2901, MALACHITE, 0x61AF87).omitAutoGen(); + public static final NTMMaterial MAT_STONE = makeSmeltable(_VS + 00, df("Stone"), 0x4D2F23).omitAutoGen(); + public static final NTMMaterial MAT_CARBON = makeAdditive( 1499, df("Carbon"), 0x404040).omitAutoGen(); + public static final NTMMaterial MAT_COAL = make( 1400, COAL) .setConversion(MAT_CARBON, 2, 1).omitAutoGen(); + public static final NTMMaterial MAT_LIGNITE = make( 1401, LIGNITE) .setConversion(MAT_CARBON, 3, 1); + public static final NTMMaterial MAT_COALCOKE = make( 1410, COALCOKE) .setConversion(MAT_CARBON, 4, 3); + public static final NTMMaterial MAT_PETCOKE = make( 1411, PETCOKE) .setConversion(MAT_CARBON, 4, 3); + public static final NTMMaterial MAT_LIGCOKE = make( 1412, LIGCOKE) .setConversion(MAT_CARBON, 4, 3); + public static final NTMMaterial MAT_GRAPHITE = make( 1420, GRAPHITE) .setConversion(MAT_CARBON, 1, 1); + public static final NTMMaterial MAT_IRON = makeSmeltable(2600, IRON, 0xFFA259).omitAutoGen(); + public static final NTMMaterial MAT_WROUGHTIRON = makeSmeltable(2601, df("WroughtIron"), 0xFAAB89).omitAutoGen(); + public static final NTMMaterial MAT_PIGIRON = makeSmeltable(2602, df("PigIron"), 0xFF8B59).omitAutoGen(); + public static final NTMMaterial MAT_METEORICIRON = makeSmeltable(2603, df("MeteoricIron"), 0x715347).omitAutoGen(); + public static final NTMMaterial MAT_GOLD = makeSmeltable(7900, GOLD, 0xE8D754).omitAutoGen(); + public static final NTMMaterial MAT_REDSTONE = makeSmeltable(_VS + 01, REDSTONE, 0xFF1000).omitAutoGen(); + public static final NTMMaterial MAT_OBSIDIAN = makeSmeltable(_VS + 02, df("Obsidian"), 0x3D234D).omitAutoGen(); + public static final NTMMaterial MAT_HEMATITE = makeAdditive( 2601, HEMATITE, 0x6E463D).omitAutoGen(); + public static final NTMMaterial MAT_MALACHITE = makeAdditive( 2901, MALACHITE, 0x61AF87).omitAutoGen(); //Radioactive public static final NTMMaterial MAT_URANIUM = makeSmeltable(9200, U, 0x9AA196).setShapes(NUGGET, BILLET, INGOT, DUST, BLOCK); diff --git a/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java b/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java index 885ca6f77..b20b9ee03 100644 --- a/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java @@ -25,6 +25,7 @@ import com.hbm.inventory.recipes.loader.SerializableRecipe; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemMold; import com.hbm.items.machine.ItemMold.Mold; +import com.hbm.util.Compat; import com.hbm.items.machine.ItemScraps; import net.minecraft.init.Blocks; @@ -51,6 +52,18 @@ public class CrucibleRecipes extends SerializableRecipe { .inputs(new MaterialStack(Mats.MAT_IRON, n * 2), new MaterialStack(Mats.MAT_CARBON, n)) .outputs(new MaterialStack(Mats.MAT_STEEL, n * 2))); + if(Compat.isModLoaded(Compat.MOD_GT6)) { + recipes.add(new CrucibleRecipe(9, "crucible.steelWrought", 2, new ItemStack(ModItems.ingot_steel)) + .inputs(new MaterialStack(Mats.MAT_WROUGHTIRON, n * 2), new MaterialStack(Mats.MAT_CARBON, n)) + .outputs(new MaterialStack(Mats.MAT_STEEL, n * 2))); + recipes.add(new CrucibleRecipe(10, "crucible.steelPig", 2, new ItemStack(ModItems.ingot_steel)) + .inputs(new MaterialStack(Mats.MAT_PIGIRON, n * 2), new MaterialStack(Mats.MAT_CARBON, n)) + .outputs(new MaterialStack(Mats.MAT_STEEL, n * 2))); + recipes.add(new CrucibleRecipe(11, "crucible.steelMeteoric", 2, new ItemStack(ModItems.ingot_steel)) + .inputs(new MaterialStack(Mats.MAT_METEORICIRON, n * 2), new MaterialStack(Mats.MAT_CARBON, n)) + .outputs(new MaterialStack(Mats.MAT_STEEL, n * 2))); + } + recipes.add(new CrucibleRecipe(7, "crucible.hematite", 6, DictFrame.fromOne(ModBlocks.stone_resource, EnumStoneType.HEMATITE)) .inputs(new MaterialStack(Mats.MAT_HEMATITE, i * 2), new MaterialStack(Mats.MAT_FLUX, n * 2)) .outputs(new MaterialStack(Mats.MAT_IRON, i), new MaterialStack(Mats.MAT_SLAG, n * 3))); diff --git a/src/main/java/com/hbm/items/machine/ItemCrucibleTemplate.java b/src/main/java/com/hbm/items/machine/ItemCrucibleTemplate.java index de34fd045..38cc57570 100644 --- a/src/main/java/com/hbm/items/machine/ItemCrucibleTemplate.java +++ b/src/main/java/com/hbm/items/machine/ItemCrucibleTemplate.java @@ -17,6 +17,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; public class ItemCrucibleTemplate extends Item { @@ -32,6 +33,24 @@ public class ItemCrucibleTemplate extends Item { list.add(new ItemStack(item, 1, CrucibleRecipes.recipes.get(i).getId())); } } + + public String getItemStackDisplayName(ItemStack stack) { + + CrucibleRecipe recipe = CrucibleRecipes.indexMapping.get(stack.getItemDamage()); + + if(recipe == null) { + return super.getItemStackDisplayName(stack); + } + + String s = ("" + StatCollector.translateToLocal(this.getUnlocalizedName() + ".name")).trim(); + String s1 = ("" + StatCollector.translateToLocal(recipe.getName())).trim(); + + if(s1 != null) { + s = s + " " + s1; + } + + return s; + } @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index a119bf656..c11796120 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -399,6 +399,18 @@ container.wasteDrum=Abklingbecken-Trommel container.watzPowerplant=Watzkraftwerk container.zirnox=ZIRNOX Atomreaktor +crucible.aa=Herstellung - Fortgeschrittene Legierung +crucible.ferro=Herstellung - Ferrouran +crucible.hematite=Herstellung - Eisen aus Hämatit +crucible.hss=Herstellung - Schnellarbeitsstahl +crucible.malachite=Herstellung - Kupfer aus Malachit +crucible.redcopper=Herstellung - Roter Kupfer +crucible.steel=Herstellung - Stahl +crucible.steelMeteoric=Herstellung - Stahl aus Meteoriteneisen +crucible.steelPig=Herstellung - Stahl aus Roheisen +crucible.steelWrought=Herstellung - Stahl aus Schmiedeeisen +crucible.tcalloy=Herstellung - Technetiumstahl + death.attack.acid=%1$s fiel in Säure. death.attack.acidPlayer=%1$s wurde von %2$s aufgelöst. death.attack.ams=%1$s wurde in tödlichen Teilchen gebadet, die von der Menschheit erst benannt werden müssen. @@ -1406,7 +1418,7 @@ item.cotton_candy.name=Radioaktive Zuckerwatte item.crate_caller.name=Nachschub-Requester item.crowbar.name=Mk.V Kistenöffnungsapparat "Brechstange" item.crucible.name=Schmelztiegel -item.crucible_template.name=Schmelztiegelvorlage +item.crucible_template.name=Schmelztiegelvorlage: item.crystal_aluminium.name=Aluminiumkristalle item.crystal_beryllium.name=Berylliumkristalle item.crystal_charred.name=Verkohlter Kristall diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 479841d7d..520c9cb4d 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -678,6 +678,18 @@ container.wasteDrum=Spent Fuel Pool Drum container.watzPowerplant=Watz Power Plant container.zirnox=ZIRNOX Nuclear Reactor +crucible.aa=Advanced Alloy Production +crucible.ferro=Ferrouranium Production +crucible.hematite=Iron Production from Hematite +crucible.hss=High-Speed Steel Production +crucible.malachite=Copper Production from Malachite +crucible.redcopper=Red Copper Production +crucible.steel=Steel Production +crucible.steelMeteoric=Steel Production from Meteoric Iron +crucible.steelPig=Steel Production from Pig Iron +crucible.steelWrought=Steel Production from Wrought Iron +crucible.tcalloy=Technetium Steel Production + death.attack.acid=%1$s fell into acid. death.attack.acidPlayer=%1$s was dissolved by %2$s. death.attack.ams=%1$s was bathed in deadly particles that have yet to be named by human science. @@ -1741,7 +1753,7 @@ item.cotton_candy.name=Radioactive Cotton Candy item.crate_caller.name=Supply Drop Requester item.crowbar.name=Mk.V Crate Opening Device "Crowbar" item.crucible.name=Crucible -item.crucible_template.name=Crucible Template +item.crucible_template.name=Crucible Template: item.crystal_aluminium.name=Aluminium Crystals item.crystal_beryllium.name=Beryllium Crystals item.crystal_charred.name=Charred Crystal