From 90336e06cca3162da82ad2c4367d747509af57ff Mon Sep 17 00:00:00 2001
From: Ethryan <3237986+Ethryan@users.noreply.github.com>
Date: Sat, 20 Apr 2024 20:13:47 +0200
Subject: [PATCH 1/9] Add RawOre items and processing

---
 dependencies.gradle                           |  2 +-
 .../core/block/base/BlockBaseOre.java         | 54 ++++++++++++++++++
 .../core/item/base/ore/BaseItemRawOre.java    | 10 ++++
 .../core/item/base/ore/BaseOreComponent.java  |  3 +
 .../gtPlusPlus/core/material/Material.java    |  4 ++
 .../core/material/MaterialGenerator.java      |  3 +
 .../gregtech/loaders/RecipeGen_Fluorite.java  | 10 ++++
 .../xmod/gregtech/loaders/RecipeGen_Ore.java  |  9 +++
 .../assets/miscutils/lang/en_US.lang          | 55 ++++++++++++++++++-
 9 files changed, 147 insertions(+), 3 deletions(-)
 create mode 100644 src/main/java/gtPlusPlus/core/item/base/ore/BaseItemRawOre.java

diff --git a/dependencies.gradle b/dependencies.gradle
index 1c7247d657..0f30ec1710 100644
--- a/dependencies.gradle
+++ b/dependencies.gradle
@@ -1,5 +1,5 @@
 dependencies {
-    api('com.github.GTNewHorizons:GT5-Unofficial:5.09.45.155:dev')
+    api('com.github.GTNewHorizons:GT5-Unofficial:5.09.45.154-pre:dev')
     api("com.github.GTNewHorizons:bartworks:0.9.21:dev")
 
     implementation('curse.maven:cofh-core-69162:2388751')
diff --git a/src/main/java/gtPlusPlus/core/block/base/BlockBaseOre.java b/src/main/java/gtPlusPlus/core/block/base/BlockBaseOre.java
index 91b49cb7a3..69ddecd818 100644
--- a/src/main/java/gtPlusPlus/core/block/base/BlockBaseOre.java
+++ b/src/main/java/gtPlusPlus/core/block/base/BlockBaseOre.java
@@ -1,20 +1,26 @@
 package gtPlusPlus.core.block.base;
 
 import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.Random;
 
 import net.minecraft.block.Block;
 import net.minecraft.client.renderer.texture.IIconRegister;
 import net.minecraft.entity.EnumCreatureType;
 import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
 import net.minecraft.util.IIcon;
 import net.minecraft.world.IBlockAccess;
+import net.minecraft.world.World;
 import net.minecraftforge.common.util.ForgeDirection;
 
 import cpw.mods.fml.common.registry.GameRegistry;
+import gregtech.GT_Mod;
 import gregtech.api.enums.OrePrefixes;
 import gregtech.api.enums.Textures;
 import gregtech.api.interfaces.IIconContainer;
 import gregtech.api.interfaces.ITexture;
+import gregtech.api.objects.XSTR;
 import gregtech.api.util.GT_OreDictUnificator;
 import gtPlusPlus.api.interfaces.ITexturedBlock;
 import gtPlusPlus.core.client.renderer.CustomOreBlockRenderer;
@@ -29,6 +35,8 @@
 public class BlockBaseOre extends BasicBlock implements ITexturedBlock {
 
     private final Material blockMaterial;
+    protected static boolean shouldFortune = false;
+    public boolean mNatural = false;
 
     public BlockBaseOre(final Material material, final BlockTypes blockType) {
         super(
@@ -130,4 +138,50 @@ public ITexture[] getTexture(Block block, ForgeDirection side) {
     @Override
     public void registerBlockIcons(IIconRegister p_149651_1_) {}
 
+    @Override
+    public ArrayList<ItemStack> getDrops(World world, int x, int y, int z, int metadata, int fortune) {
+        ArrayList<ItemStack> drops = new ArrayList<>();
+        // TODO: Silk Touch?
+        switch (GT_Mod.gregtechproxy.oreDropSystem) {
+            case Item -> {
+                drops.add(
+                        ItemUtils.getItemStackOfAmountFromOreDictNoBroken(
+                                "oreRaw" + this.blockMaterial.getLocalizedName(),
+                                1));
+            }
+            case FortuneItem -> {
+                // if shouldFortune and isNatural then get fortune drops
+                // if not shouldFortune or not isNatural then get normal drops
+                // if not shouldFortune and isNatural then get normal drops
+                // if shouldFortune and not isNatural then get normal drops
+                if (shouldFortune && this.mNatural) {
+                    Random tRandom = new XSTR(x ^ y ^ z);
+                    long amount = (long) Math.max(1, tRandom.nextInt(1 + Math.min(3, fortune)));
+                    drops.add(
+                            ItemUtils.getItemStackOfAmountFromOreDictNoBroken(
+                                    "oreRaw" + this.blockMaterial.getLocalizedName(),
+                                    (int) amount));
+                } else {
+                    drops.add(
+                            ItemUtils.getItemStackOfAmountFromOreDictNoBroken(
+                                    "oreRaw" + this.blockMaterial.getLocalizedName(),
+                                    1));
+                }
+            }
+            case UnifiedBlock -> {
+                // Unified ore
+                drops.add(ItemUtils.simpleMetaStack(this, metadata, 1));
+            }
+            case PerDimBlock -> {
+                // Per Dimension ore
+                drops.add(ItemUtils.simpleMetaStack(this, metadata, 1));
+            }
+            case Block -> {
+                // Regular ore
+                drops.add(ItemUtils.simpleMetaStack(this, metadata, 1));
+            }
+        }
+        return drops;
+    }
+
 }
diff --git a/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemRawOre.java b/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemRawOre.java
new file mode 100644
index 0000000000..bca44d0045
--- /dev/null
+++ b/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemRawOre.java
@@ -0,0 +1,10 @@
+package gtPlusPlus.core.item.base.ore;
+
+import gtPlusPlus.core.material.Material;
+
+public class BaseItemRawOre extends BaseOreComponent {
+
+    public BaseItemRawOre(final Material material) {
+        super(material, BaseOreComponent.ComponentTypes.RAWORE);
+    }
+}
diff --git a/src/main/java/gtPlusPlus/core/item/base/ore/BaseOreComponent.java b/src/main/java/gtPlusPlus/core/item/base/ore/BaseOreComponent.java
index 13c8986a78..aed9621e56 100644
--- a/src/main/java/gtPlusPlus/core/item/base/ore/BaseOreComponent.java
+++ b/src/main/java/gtPlusPlus/core/item/base/ore/BaseOreComponent.java
@@ -85,6 +85,8 @@ public boolean registerComponent() {
             aKey = OrePrefixes.dustPure.name();
         } else if (componentType == ComponentTypes.MILLED) {
             aKey = OrePrefixes.milled.name();
+        } else if (componentType == ComponentTypes.RAWORE) {
+            aKey = OrePrefixes.rawOre.name();
         }
 
         ItemStack x = aMap.get(aKey);
@@ -241,6 +243,7 @@ public static enum ComponentTypes {
         CRUSHED("crushed", "Crushed ", " Ore", true),
         CRUSHEDCENTRIFUGED("crushedCentrifuged", "Centrifuged Crushed ", " Ore", true),
         CRUSHEDPURIFIED("crushedPurified", "Purified Crushed ", " Ore", true),
+        RAWORE("oreRaw", "Raw ", " Ore", true),
         MILLED("milled", "Milled ", " Ore", true);
 
         private final String COMPONENT_NAME;
diff --git a/src/main/java/gtPlusPlus/core/material/Material.java b/src/main/java/gtPlusPlus/core/material/Material.java
index 11ef72f06c..d6598d4d29 100644
--- a/src/main/java/gtPlusPlus/core/material/Material.java
+++ b/src/main/java/gtPlusPlus/core/material/Material.java
@@ -1191,6 +1191,10 @@ public final ItemStack getMilled(final int stacksize) {
         return getComponentByPrefix(OrePrefixes.milled, stacksize);
     }
 
+    public final ItemStack getRawOre(final int stacksize) {
+        return getComponentByPrefix(OrePrefixes.rawOre, stacksize);
+    }
+
     public final boolean hasSolidForm() {
         if (ItemUtils
                 .checkForInvalidItems(new ItemStack[] { getDust(1), getBlock(1), getTinyDust(1), getSmallDust(1) })) {
diff --git a/src/main/java/gtPlusPlus/core/material/MaterialGenerator.java b/src/main/java/gtPlusPlus/core/material/MaterialGenerator.java
index 2e120107c9..3b7881616b 100644
--- a/src/main/java/gtPlusPlus/core/material/MaterialGenerator.java
+++ b/src/main/java/gtPlusPlus/core/material/MaterialGenerator.java
@@ -27,6 +27,7 @@
 import gtPlusPlus.core.item.base.ore.BaseItemImpureDust;
 import gtPlusPlus.core.item.base.ore.BaseItemPurifiedCrushedOre;
 import gtPlusPlus.core.item.base.ore.BaseItemPurifiedDust;
+import gtPlusPlus.core.item.base.ore.BaseItemRawOre;
 import gtPlusPlus.core.item.base.plates.BaseItemPlate;
 import gtPlusPlus.core.item.base.plates.BaseItemPlateDense;
 import gtPlusPlus.core.item.base.plates.BaseItemPlateDouble;
@@ -357,6 +358,7 @@ public static void generateOreMaterial(final Material matInfo, boolean generateO
             temp = new BaseItemPurifiedCrushedOre(matInfo);
             temp = new BaseItemImpureDust(matInfo);
             temp = new BaseItemPurifiedDust(matInfo);
+            temp = new BaseItemRawOre(matInfo);
 
             Logger.MATERIALS(
                     "Generated all ore components for " + matInfo.getLocalizedName()
@@ -398,6 +400,7 @@ public static boolean generateOreMaterialWithAllExcessComponents(final Material
             temp = new BaseItemPurifiedCrushedOre(matInfo);
             temp = new BaseItemImpureDust(matInfo);
             temp = new BaseItemPurifiedDust(matInfo);
+            temp = new BaseItemRawOre(matInfo);
 
             Logger.MATERIALS(
                     "Generated all ore & base components for " + matInfo.getLocalizedName()
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluorite.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluorite.java
index c8f87d7cb3..7a1404caae 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluorite.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluorite.java
@@ -168,6 +168,16 @@ public static void generateRecipes(final Material material) {
                 tVoltageMultiplier / 2)) {
             Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate ore to Crushed ore'");
         }
+        // Macerate raw ore to Crushed
+        if (GT_Values.RA.addPulveriserRecipe(
+                material.getRawOre(1),
+                new ItemStack[] { material.getCrushed(2) },
+                new int[] { 10000 },
+                20 * 20,
+                tVoltageMultiplier / 2)) {
+            Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate raw ore to Crushed ore'");
+        }
+
         // Macerate Centrifuged to Pure Dust
         if (GT_Values.RA.addPulveriserRecipe(
                 material.getCrushedCentrifuged(1),
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java
index 68799b15d1..8c889a9724 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java
@@ -182,6 +182,15 @@ private void generateRecipes(final Material material, final boolean disableOptio
                 tVoltageMultiplier / 2)) {
             Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate ore to Crushed ore'");
         }
+        // Macerate raw ore to Crushed
+        if (GT_Values.RA.addPulveriserRecipe(
+                material.getRawOre(1),
+                new ItemStack[] { material.getCrushed(2) },
+                new int[] { 10000 },
+                20 * 20,
+                tVoltageMultiplier / 2)) {
+            Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate raw ore to Crushed ore'");
+        }
         // Macerate Crushed to Impure Dust
         if (GT_Values.RA.addPulveriserRecipe(
                 material.getCrushed(1),
diff --git a/src/main/resources/assets/miscutils/lang/en_US.lang b/src/main/resources/assets/miscutils/lang/en_US.lang
index 24fd2d4cd3..6fe80a2360 100644
--- a/src/main/resources/assets/miscutils/lang/en_US.lang
+++ b/src/main/resources/assets/miscutils/lang/en_US.lang
@@ -1281,6 +1281,7 @@ item.itemDustFluoriteF.name=Fluorite (F) Dust
 item.itemDustTinyFluoriteF.name=Tiny Pile of Fluorite (F) Dust
 item.itemDustSmallFluoriteF.name=Small Pile of Fluorite (F) Dust
 item.crushedFluoriteF.name=Crushed Fluorite (F) Ore
+item.oreRawFluoriteF.name=Raw Fluorite (F) Ore
 item.crushedCentrifugedFluoriteF.name=Centrifuged Crushed Fluorite (F) Ore
 item.crushedPurifiedFluoriteF.name=Purified Crushed Fluorite (F) Ore
 item.dustImpureFluoriteF.name=Impure Fluorite (F) Dust
@@ -1289,6 +1290,7 @@ item.itemDustCrocoite.name=Crocoite Dust
 item.itemDustTinyCrocoite.name=Tiny Pile of Crocoite Dust
 item.itemDustSmallCrocoite.name=Small Pile of Crocoite Dust
 item.crushedCrocoite.name=Crushed Crocoite Ore
+item.oreRawCrocoite.name=Raw Crocoite Ore
 item.crushedCentrifugedCrocoite.name=Centrifuged Crushed Crocoite Ore
 item.crushedPurifiedCrocoite.name=Purified Crushed Crocoite Ore
 item.dustImpureCrocoite.name=Impure Crocoite Dust
@@ -1297,6 +1299,7 @@ item.itemDustGeikielite.name=Geikielite Dust
 item.itemDustTinyGeikielite.name=Tiny Pile of Geikielite Dust
 item.itemDustSmallGeikielite.name=Small Pile of Geikielite Dust
 item.crushedGeikielite.name=Crushed Geikielite Ore
+item.oreRawGeikielite.name=Raw Geikielite Ore
 item.crushedCentrifugedGeikielite.name=Centrifuged Crushed Geikielite Ore
 item.crushedPurifiedGeikielite.name=Purified Crushed Geikielite Ore
 item.dustImpureGeikielite.name=Impure Geikielite Dust
@@ -1305,6 +1308,7 @@ item.itemDustNichromite.name=Nichromite Dust
 item.itemDustTinyNichromite.name=Tiny Pile of Nichromite Dust
 item.itemDustSmallNichromite.name=Small Pile of Nichromite Dust
 item.crushedNichromite.name=Crushed Nichromite Ore
+item.oreRawNichromite.name=Raw Nichromite Ore
 item.crushedCentrifugedNichromite.name=Centrifuged Crushed Nichromite Ore
 item.crushedPurifiedNichromite.name=Purified Crushed Nichromite Ore
 item.dustImpureNichromite.name=Impure Nichromite Dust
@@ -1313,6 +1317,7 @@ item.itemDustTitanite.name=Titanite Dust
 item.itemDustTinyTitanite.name=Tiny Pile of Titanite Dust
 item.itemDustSmallTitanite.name=Small Pile of Titanite Dust
 item.crushedTitanite.name=Crushed Titanite Ore
+item.oreRawTitanite.name=Raw Titanite Ore
 item.crushedCentrifugedTitanite.name=Centrifuged Crushed Titanite Ore
 item.crushedPurifiedTitanite.name=Purified Crushed Titanite Ore
 item.dustImpureTitanite.name=Impure Titanite Dust
@@ -1321,6 +1326,7 @@ item.itemDustZimbabweite.name=Zimbabweite Dust
 item.itemDustTinyZimbabweite.name=Tiny Pile of Zimbabweite Dust
 item.itemDustSmallZimbabweite.name=Small Pile of Zimbabweite Dust
 item.crushedZimbabweite.name=Crushed Zimbabweite Ore
+item.oreRawZimbabweite.name=Raw Zimbabweite Ore
 item.crushedCentrifugedZimbabweite.name=Centrifuged Crushed Zimbabweite Ore
 item.crushedPurifiedZimbabweite.name=Purified Crushed Zimbabweite Ore
 item.dustImpureZimbabweite.name=Impure Zimbabweite Dust
@@ -1329,6 +1335,7 @@ item.itemDustZirconolite.name=Zirconolite Dust
 item.itemDustTinyZirconolite.name=Tiny Pile of Zirconolite Dust
 item.itemDustSmallZirconolite.name=Small Pile of Zirconolite Dust
 item.crushedZirconolite.name=Crushed Zirconolite Ore
+item.oreRawZirconolite.name=Raw Zirconolite Ore
 item.crushedCentrifugedZirconolite.name=Centrifuged Crushed Zirconolite Ore
 item.crushedPurifiedZirconolite.name=Purified Crushed Zirconolite Ore
 item.dustImpureZirconolite.name=Impure Zirconolite Dust
@@ -1337,6 +1344,7 @@ item.itemDustGadoliniteCe.name=Gadolinite (Ce) Dust
 item.itemDustTinyGadoliniteCe.name=Tiny Pile of Gadolinite (Ce) Dust
 item.itemDustSmallGadoliniteCe.name=Small Pile of Gadolinite (Ce) Dust
 item.crushedGadoliniteCe.name=Crushed Gadolinite (Ce) Ore
+item.oreRawGadoliniteCe.name=Raw Gadolinite (Ce) Ore
 item.crushedCentrifugedGadoliniteCe.name=Centrifuged Crushed Gadolinite (Ce) Ore
 item.crushedPurifiedGadoliniteCe.name=Purified Crushed Gadolinite (Ce) Ore
 item.dustImpureGadoliniteCe.name=Impure Gadolinite (Ce) Dust
@@ -1345,6 +1353,7 @@ item.itemDustGadoliniteY.name=Gadolinite (Y) Dust
 item.itemDustTinyGadoliniteY.name=Tiny Pile of Gadolinite (Y) Dust
 item.itemDustSmallGadoliniteY.name=Small Pile of Gadolinite (Y) Dust
 item.crushedGadoliniteY.name=Crushed Gadolinite (Y) Ore
+item.oreRawGadoliniteY.name=Raw Gadolinite (Y) Ore
 item.crushedCentrifugedGadoliniteY.name=Centrifuged Crushed Gadolinite (Y) Ore
 item.crushedPurifiedGadoliniteY.name=Purified Crushed Gadolinite (Y) Ore
 item.dustImpureGadoliniteY.name=Impure Gadolinite (Y) Dust
@@ -1353,6 +1362,7 @@ item.itemDustLepersonnite.name=Lepersonnite Dust
 item.itemDustTinyLepersonnite.name=Tiny Pile of Lepersonnite Dust
 item.itemDustSmallLepersonnite.name=Small Pile of Lepersonnite Dust
 item.crushedLepersonnite.name=Crushed Lepersonnite Ore
+item.oreRawLepersonnite.name=Raw Lepersonnite Ore
 item.crushedCentrifugedLepersonnite.name=Centrifuged Crushed Lepersonnite Ore
 item.crushedPurifiedLepersonnite.name=Purified Crushed Lepersonnite Ore
 item.dustImpureLepersonnite.name=Impure Lepersonnite Dust
@@ -1361,6 +1371,7 @@ item.itemDustSamarskiteY.name=Samarskite (Y) Dust
 item.itemDustTinySamarskiteY.name=Tiny Pile of Samarskite (Y) Dust
 item.itemDustSmallSamarskiteY.name=Small Pile of Samarskite (Y) Dust
 item.crushedSamarskiteY.name=Crushed Samarskite (Y) Ore
+item.oreRawSamarskiteY.name=Raw Samarskite (Y) Ore
 item.crushedCentrifugedSamarskiteY.name=Centrifuged Crushed Samarskite (Y) Ore
 item.crushedPurifiedSamarskiteY.name=Purified Crushed Samarskite (Y) Ore
 item.dustImpureSamarskiteY.name=Impure Samarskite (Y) Dust
@@ -1369,6 +1380,7 @@ item.itemDustSamarskiteYb.name=Samarskite (Yb) Dust
 item.itemDustTinySamarskiteYb.name=Tiny Pile of Samarskite (Yb) Dust
 item.itemDustSmallSamarskiteYb.name=Small Pile of Samarskite (Yb) Dust
 item.crushedSamarskiteYb.name=Crushed Samarskite (Yb) Ore
+item.oreRawSamarskiteYb.name=Raw Samarskite (Yb) Ore
 item.crushedCentrifugedSamarskiteYb.name=Centrifuged Crushed Samarskite (Yb) Ore
 item.crushedPurifiedSamarskiteYb.name=Purified Crushed Samarskite (Yb) Ore
 item.dustImpureSamarskiteYb.name=Impure Samarskite (Yb) Dust
@@ -1377,6 +1389,7 @@ item.itemDustXenotime.name=Xenotime Dust
 item.itemDustTinyXenotime.name=Tiny Pile of Xenotime Dust
 item.itemDustSmallXenotime.name=Small Pile of Xenotime Dust
 item.crushedXenotime.name=Crushed Xenotime Ore
+item.oreRawXenotime.name=Raw Xenotime Ore
 item.crushedCentrifugedXenotime.name=Centrifuged Crushed Xenotime Ore
 item.crushedPurifiedXenotime.name=Purified Crushed Xenotime Ore
 item.dustImpureXenotime.name=Impure Xenotime Dust
@@ -1385,6 +1398,7 @@ item.itemDustYttriaite.name=Yttriaite Dust
 item.itemDustTinyYttriaite.name=Tiny Pile of Yttriaite Dust
 item.itemDustSmallYttriaite.name=Small Pile of Yttriaite Dust
 item.crushedYttriaite.name=Crushed Yttriaite Ore
+item.oreRawYttriaite.name=Raw Yttriaite Ore
 item.crushedCentrifugedYttriaite.name=Centrifuged Crushed Yttriaite Ore
 item.crushedPurifiedYttriaite.name=Purified Crushed Yttriaite Ore
 item.dustImpureYttriaite.name=Impure Yttriaite Dust
@@ -1393,6 +1407,7 @@ item.itemDustYttrialite.name=Yttrialite Dust
 item.itemDustTinyYttrialite.name=Tiny Pile of Yttrialite Dust
 item.itemDustSmallYttrialite.name=Small Pile of Yttrialite Dust
 item.crushedYttrialite.name=Crushed Yttrialite Ore
+item.oreRawYttrialite.name=Raw Yttrialite Ore
 item.crushedCentrifugedYttrialite.name=Centrifuged Crushed Yttrialite Ore
 item.crushedPurifiedYttrialite.name=Purified Crushed Yttrialite Ore
 item.dustImpureYttrialite.name=Impure Yttrialite Dust
@@ -1401,6 +1416,7 @@ item.itemDustYttrocerite.name=Yttrocerite Dust
 item.itemDustTinyYttrocerite.name=Tiny Pile of Yttrocerite Dust
 item.itemDustSmallYttrocerite.name=Small Pile of Yttrocerite Dust
 item.crushedYttrocerite.name=Crushed Yttrocerite Ore
+item.oreRawYttrocerite.name=Raw Yttrocerite Ore
 item.crushedCentrifugedYttrocerite.name=Centrifuged Crushed Yttrocerite Ore
 item.crushedPurifiedYttrocerite.name=Purified Crushed Yttrocerite Ore
 item.dustImpureYttrocerite.name=Impure Yttrocerite Dust
@@ -1409,6 +1425,7 @@ item.itemDustZircon.name=Zircon Dust
 item.itemDustTinyZircon.name=Tiny Pile of Zircon Dust
 item.itemDustSmallZircon.name=Small Pile of Zircon Dust
 item.crushedZircon.name=Crushed Zircon Ore
+item.oreRawZircon.name=Raw Zircon Ore
 item.crushedCentrifugedZircon.name=Centrifuged Crushed Zircon Ore
 item.crushedPurifiedZircon.name=Purified Crushed Zircon Ore
 item.dustImpureZircon.name=Impure Zircon Dust
@@ -1417,6 +1434,7 @@ item.itemDustPolycrase.name=Polycrase Dust
 item.itemDustTinyPolycrase.name=Tiny Pile of Polycrase Dust
 item.itemDustSmallPolycrase.name=Small Pile of Polycrase Dust
 item.crushedPolycrase.name=Crushed Polycrase Ore
+item.oreRawPolycrase.name=Raw Polycrase Ore
 item.crushedCentrifugedPolycrase.name=Centrifuged Crushed Polycrase Ore
 item.crushedPurifiedPolycrase.name=Purified Crushed Polycrase Ore
 item.dustImpurePolycrase.name=Impure Polycrase Dust
@@ -1425,6 +1443,7 @@ item.itemDustZircophyllite.name=Zircophyllite Dust
 item.itemDustTinyZircophyllite.name=Tiny Pile of Zircophyllite Dust
 item.itemDustSmallZircophyllite.name=Small Pile of Zircophyllite Dust
 item.crushedZircophyllite.name=Crushed Zircophyllite Ore
+item.oreRawZircophyllite.name=Raw Zircophyllite Ore
 item.crushedCentrifugedZircophyllite.name=Centrifuged Crushed Zircophyllite Ore
 item.crushedPurifiedZircophyllite.name=Purified Crushed Zircophyllite Ore
 item.dustImpureZircophyllite.name=Impure Zircophyllite Dust
@@ -1433,6 +1452,7 @@ item.itemDustZirkelite.name=Zirkelite Dust
 item.itemDustTinyZirkelite.name=Tiny Pile of Zirkelite Dust
 item.itemDustSmallZirkelite.name=Small Pile of Zirkelite Dust
 item.crushedZirkelite.name=Crushed Zirkelite Ore
+item.oreRawZirkelite.name=Raw Zirkelite Ore
 item.crushedCentrifugedZirkelite.name=Centrifuged Crushed Zirkelite Ore
 item.crushedPurifiedZirkelite.name=Purified Crushed Zirkelite Ore
 item.dustImpureZirkelite.name=Impure Zirkelite Dust
@@ -1441,6 +1461,7 @@ item.itemDustLanthaniteLa.name=Lanthanite (La) Dust
 item.itemDustTinyLanthaniteLa.name=Tiny Pile of Lanthanite (La) Dust
 item.itemDustSmallLanthaniteLa.name=Small Pile of Lanthanite (La) Dust
 item.crushedLanthaniteLa.name=Crushed Lanthanite (La) Ore
+item.oreRawLanthaniteLa.name=Raw Lanthanite (La) Ore
 item.crushedCentrifugedLanthaniteLa.name=Centrifuged Crushed Lanthanite (La) Ore
 item.crushedPurifiedLanthaniteLa.name=Purified Crushed Lanthanite (La) Ore
 item.dustImpureLanthaniteLa.name=Impure Lanthanite (La) Dust
@@ -1449,6 +1470,7 @@ item.itemDustLanthaniteCe.name=Lanthanite (Ce) Dust
 item.itemDustTinyLanthaniteCe.name=Tiny Pile of Lanthanite (Ce) Dust
 item.itemDustSmallLanthaniteCe.name=Small Pile of Lanthanite (Ce) Dust
 item.crushedLanthaniteCe.name=Crushed Lanthanite (Ce) Ore
+item.oreRawLanthaniteCe.name=Raw Lanthanite (Ce) Ore
 item.crushedCentrifugedLanthaniteCe.name=Centrifuged Crushed Lanthanite (Ce) Ore
 item.crushedPurifiedLanthaniteCe.name=Purified Crushed Lanthanite (Ce) Ore
 item.dustImpureLanthaniteCe.name=Impure Lanthanite (Ce) Dust
@@ -1457,6 +1479,7 @@ item.itemDustLanthaniteNd.name=Lanthanite (Nd) Dust
 item.itemDustTinyLanthaniteNd.name=Tiny Pile of Lanthanite (Nd) Dust
 item.itemDustSmallLanthaniteNd.name=Small Pile of Lanthanite (Nd) Dust
 item.crushedLanthaniteNd.name=Crushed Lanthanite (Nd) Ore
+item.oreRawLanthaniteNd.name=Raw Lanthanite (Nd) Ore
 item.crushedCentrifugedLanthaniteNd.name=Centrifuged Crushed Lanthanite (Nd) Ore
 item.crushedPurifiedLanthaniteNd.name=Purified Crushed Lanthanite (Nd) Ore
 item.dustImpureLanthaniteNd.name=Impure Lanthanite (Nd) Dust
@@ -1465,6 +1488,7 @@ item.itemDustAgarditeY.name=Agardite (Y) Dust
 item.itemDustTinyAgarditeY.name=Tiny Pile of Agardite (Y) Dust
 item.itemDustSmallAgarditeY.name=Small Pile of Agardite (Y) Dust
 item.crushedAgarditeY.name=Crushed Agardite (Y) Ore
+item.oreRawAgarditeY.name=Raw Agardite (Y) Ore
 item.crushedCentrifugedAgarditeY.name=Centrifuged Crushed Agardite (Y) Ore
 item.crushedPurifiedAgarditeY.name=Purified Crushed Agardite (Y) Ore
 item.dustImpureAgarditeY.name=Impure Agardite (Y) Dust
@@ -1473,6 +1497,7 @@ item.itemDustAgarditeCd.name=Agardite (Cd) Dust
 item.itemDustTinyAgarditeCd.name=Tiny Pile of Agardite (Cd) Dust
 item.itemDustSmallAgarditeCd.name=Small Pile of Agardite (Cd) Dust
 item.crushedAgarditeCd.name=Crushed Agardite (Cd) Ore
+item.oreRawAgarditeCd.name=Raw Agardite (Cd) Ore
 item.crushedCentrifugedAgarditeCd.name=Centrifuged Crushed Agardite (Cd) Ore
 item.crushedPurifiedAgarditeCd.name=Purified Crushed Agardite (Cd) Ore
 item.dustImpureAgarditeCd.name=Impure Agardite (Cd) Dust
@@ -1481,6 +1506,7 @@ item.itemDustAgarditeLa.name=Agardite (La) Dust
 item.itemDustTinyAgarditeLa.name=Tiny Pile of Agardite (La) Dust
 item.itemDustSmallAgarditeLa.name=Small Pile of Agardite (La) Dust
 item.crushedAgarditeLa.name=Crushed Agardite (La) Ore
+item.oreRawAgarditeLa.name=Raw Agardite (La) Ore
 item.crushedCentrifugedAgarditeLa.name=Centrifuged Crushed Agardite (La) Ore
 item.crushedPurifiedAgarditeLa.name=Purified Crushed Agardite (La) Ore
 item.dustImpureAgarditeLa.name=Impure Agardite (La) Dust
@@ -1489,6 +1515,7 @@ item.itemDustAgarditeNd.name=Agardite (Nd) Dust
 item.itemDustTinyAgarditeNd.name=Tiny Pile of Agardite (Nd) Dust
 item.itemDustSmallAgarditeNd.name=Small Pile of Agardite (Nd) Dust
 item.crushedAgarditeNd.name=Crushed Agardite (Nd) Ore
+item.oreRawAgarditeNd.name=Raw Agardite (Nd) Ore
 item.crushedCentrifugedAgarditeNd.name=Centrifuged Crushed Agardite (Nd) Ore
 item.crushedPurifiedAgarditeNd.name=Purified Crushed Agardite (Nd) Ore
 item.dustImpureAgarditeNd.name=Impure Agardite (Nd) Dust
@@ -1497,6 +1524,7 @@ item.itemDustHibonite.name=Hibonite Dust
 item.itemDustTinyHibonite.name=Tiny Pile of Hibonite Dust
 item.itemDustSmallHibonite.name=Small Pile of Hibonite Dust
 item.crushedHibonite.name=Crushed Hibonite Ore
+item.oreRawHibonite.name=Raw Hibonite Ore
 item.crushedCentrifugedHibonite.name=Centrifuged Crushed Hibonite Ore
 item.crushedPurifiedHibonite.name=Purified Crushed Hibonite Ore
 item.dustImpureHibonite.name=Impure Hibonite Dust
@@ -1505,6 +1533,7 @@ item.itemDustCerite.name=Cerite Dust
 item.itemDustTinyCerite.name=Tiny Pile of Cerite Dust
 item.itemDustSmallCerite.name=Small Pile of Cerite Dust
 item.crushedCerite.name=Crushed Cerite Ore
+item.oreRawCerite.name=Raw Cerite Ore
 item.crushedCentrifugedCerite.name=Centrifuged Crushed Cerite Ore
 item.crushedPurifiedCerite.name=Purified Crushed Cerite Ore
 item.dustImpureCerite.name=Impure Cerite Dust
@@ -1513,6 +1542,7 @@ item.itemDustFluorcaphite.name=Fluorcaphite Dust
 item.itemDustTinyFluorcaphite.name=Tiny Pile of Fluorcaphite Dust
 item.itemDustSmallFluorcaphite.name=Small Pile of Fluorcaphite Dust
 item.crushedFluorcaphite.name=Crushed Fluorcaphite Ore
+item.oreRawFluorcaphite.name=Raw Fluorcaphite Ore
 item.crushedCentrifugedFluorcaphite.name=Centrifuged Crushed Fluorcaphite Ore
 item.crushedPurifiedFluorcaphite.name=Purified Crushed Fluorcaphite Ore
 item.dustImpureFluorcaphite.name=Impure Fluorcaphite Dust
@@ -1521,6 +1551,7 @@ item.itemDustFlorencite.name=Florencite Dust
 item.itemDustTinyFlorencite.name=Tiny Pile of Florencite Dust
 item.itemDustSmallFlorencite.name=Small Pile of Florencite Dust
 item.crushedFlorencite.name=Crushed Florencite Ore
+item.oreRawFlorencite.name=Raw Florencite Ore
 item.crushedCentrifugedFlorencite.name=Centrifuged Crushed Florencite Ore
 item.crushedPurifiedFlorencite.name=Purified Crushed Florencite Ore
 item.dustImpureFlorencite.name=Impure Florencite Dust
@@ -1529,6 +1560,7 @@ item.itemDustCryoliteF.name=Cryolite (F) Dust
 item.itemDustTinyCryoliteF.name=Tiny Pile of Cryolite (F) Dust
 item.itemDustSmallCryoliteF.name=Small Pile of Cryolite (F) Dust
 item.crushedCryoliteF.name=Crushed Cryolite (F) Ore
+item.oreRawCryoliteF.name=Raw Cryolite (F) Ore
 item.crushedCentrifugedCryoliteF.name=Centrifuged Crushed Cryolite (F) Ore
 item.crushedPurifiedCryoliteF.name=Purified Crushed Cryolite (F) Ore
 item.dustImpureCryoliteF.name=Impure Cryolite (F) Dust
@@ -1536,6 +1568,7 @@ item.dustPureCryoliteF.name=Purified Cryolite (F) Dust
 item.itemDustTinyYellorium.name=Tiny Pile of Yellorium Dust
 item.itemDustSmallYellorium.name=Small Pile of Yellorium Dust
 item.crushedYellorium.name=Crushed Yellorium Ore
+item.oreRawYellorium.name=Raw Yellorium Ore
 item.crushedCentrifugedYellorium.name=Centrifuged Crushed Yellorium Ore
 item.crushedPurifiedYellorium.name=Purified Crushed Yellorium Ore
 item.dustImpureYellorium.name=Impure Yellorium Dust
@@ -1778,8 +1811,6 @@ item.itemDehydratorCoilWire_0.name=Coil Wire [EV]
 item.itemDehydratorCoil_0.name=Dehydrator Coil [EV]
 item.itemAirFilter_0.name=Air Filter
 item.itemAirFilter_1.name=Air Filter
-item.itemLavaFilter.name=Lava Filter
-item.itemGrindleTablet.name=Git
 item.itemDragonJar.name=Dragon Capture Jar
 item.CoalGas.name=Coal Gas Cell
 item.Ethylbenzene.name=Ethylbenzene Cell
@@ -2168,6 +2199,7 @@ item.LiquidOxygen.name=Liquid Oxygen Cell [LOX]
 
 tile.OreIrarsite.name=Irarsite Ore
 item.crushedIrarsite.name=Crushed Irarsite Ore
+item.oreRawIrarsite.name=Raw Irarsite Ore
 item.crushedCentrifugedIrarsite.name=Centrifuged Crushed Irarsite Ore
 item.crushedPurifiedIrarsite.name=Purified Crushed Irarsite Ore
 item.dustImpureIrarsite.name=Impure Irarsite Dust
@@ -2178,6 +2210,7 @@ item.itemDustSmallIrarsite.name=Small Pile of Irarsite Dust
 
 tile.OreMiessiite.name=Miessiite Ore
 item.crushedMiessiite.name=Crushed Miessiite Ore
+item.oreRawMiessiite.name=Raw Miessiite Ore
 item.crushedCentrifugedMiessiite.name=Centrifuged Crushed Miessiite Ore
 item.crushedPurifiedMiessiite.name=Purified Crushed Miessiite Ore
 item.dustImpureMiessiite.name=Impure Miessiite Dust
@@ -2188,6 +2221,7 @@ item.itemDustSmallMiessiite.name=Small Pile of Miessiite Dust
 
 tile.OreComancheite.name=Comancheite Ore
 item.crushedComancheite.name=Crushed Comancheite Ore
+item.oreRawComancheite.name=Raw Comancheite Ore
 item.crushedCentrifugedComancheite.name=Centrifuged Crushed Comancheite Ore
 item.crushedPurifiedComancheite.name=Purified Crushed Comancheite Ore
 item.dustImpureComancheite.name=Impure Comancheite Dust
@@ -2198,6 +2232,7 @@ item.itemDustSmallComancheite.name=Small Pile of Comancheite Dust
 
 tile.OreKoboldite.name=Koboldite Ore
 item.crushedKoboldite.name=Crushed Koboldite Ore
+item.oreRawKoboldite.name=Raw Koboldite Ore
 item.crushedCentrifugedKoboldite.name=Centrifuged Crushed Koboldite Ore
 item.crushedPurifiedKoboldite.name=Purified Crushed Koboldite Ore
 item.dustImpureKoboldite.name=Impure Koboldite Dust
@@ -2208,6 +2243,7 @@ item.itemDustSmallKoboldite.name=Small Pile of Koboldite Dust
 
 tile.OrePerroudite.name=Perroudite Ore
 item.crushedPerroudite.name=Crushed Perroudite Ore
+item.oreRawPerroudite.name=Raw Perroudite Ore
 item.crushedCentrifugedPerroudite.name=Centrifuged Crushed Perroudite Ore
 item.crushedPurifiedPerroudite.name=Purified Crushed Perroudite Ore
 item.dustImpurePerroudite.name=Impure Perroudite Dust
@@ -2218,6 +2254,7 @@ item.itemDustSmallPerroudite.name=Small Pile of Perroudite Dust
 
 tile.OreDemicheleite.name=Demicheleite Ore
 item.crushedDemicheleite.name=Crushed Demicheleite Ore
+item.oreRawDemicheleite.name=Raw Demicheleite Ore
 item.crushedCentrifugedDemicheleite.name=Centrifuged Crushed Demicheleite Ore
 item.crushedPurifiedDemicheleite.name=Purified Crushed Demicheleite Ore
 item.dustImpureDemicheleite.name=Impure Demicheleite Dust
@@ -2228,6 +2265,7 @@ item.itemDustSmallDemicheleite.name=Small Pile of Demicheleite Dust
 
 tile.OreAlburnite.name=Alburnite Ore
 item.crushedAlburnite.name=Crushed Alburnite Ore
+item.oreRawAlburnite.name=Raw Alburnite Ore
 item.crushedCentrifugedAlburnite.name=Centrifuged Crushed Alburnite Ore
 item.crushedPurifiedAlburnite.name=Purified Crushed Alburnite Ore
 item.dustImpureAlburnite.name=Impure Alburnite Dust
@@ -2238,6 +2276,7 @@ item.itemDustSmallAlburnite.name=Small Pile of Alburnite Dust
 
 tile.OreLautarite.name=Lautarite Ore
 item.crushedLautarite.name=Crushed Lautarite Ore
+item.oreRawLautarite.name=Raw Lautarite Ore
 item.crushedCentrifugedLautarite.name=Centrifuged Crushed Lautarite Ore
 item.crushedPurifiedLautarite.name=Purified Crushed Lautarite Ore
 item.dustImpureLautarite.name=Impure Lautarite Dust
@@ -2248,6 +2287,7 @@ item.itemDustSmallLautarite.name=Small Pile of Lautarite Dust
 
 tile.OreBariteRd.name=Barite (Rd) Ore
 item.crushedBariteRd.name=Crushed Barite (Rd) Ore
+item.oreRawBariteRd.name=Raw Barite (Rd) Ore
 item.crushedCentrifugedBariteRd.name=Centrifuged Crushed Barite (Rd) Ore
 item.crushedPurifiedBariteRd.name=Purified Crushed Barite (Rd) Ore
 item.dustImpureBariteRd.name=Impure Barite (Rd) Dust
@@ -2258,6 +2298,7 @@ item.itemDustSmallBariteRd.name=Small Pile of Barite (Rd) Dust
 
 tile.OreHoneaite.name=Honeaite Ore
 item.crushedHoneaite.name=Crushed Honeaite Ore
+item.oreRawHoneaite.name=Raw Honeaite Ore
 item.crushedCentrifugedHoneaite.name=Centrifuged Crushed Honeaite Ore
 item.crushedPurifiedHoneaite.name=Purified Crushed Honeaite Ore
 item.dustImpureHoneaite.name=Impure Honeaite Dust
@@ -2268,6 +2309,7 @@ item.itemDustSmallHoneaite.name=Small Pile of Honeaite Dust
 
 tile.OreLafossaite.name=Lafossaite Ore
 item.crushedLafossaite.name=Crushed Lafossaite Ore
+item.oreRawLafossaite.name=Raw Lafossaite Ore
 item.crushedCentrifugedLafossaite.name=Centrifuged Crushed Lafossaite Ore
 item.crushedPurifiedLafossaite.name=Purified Crushed Lafossaite Ore
 item.dustImpureLafossaite.name=Impure Lafossaite Dust
@@ -2278,6 +2320,7 @@ item.itemDustSmallLafossaite.name=Small Pile of Lafossaite Dust
 
 tile.OreKashinite.name=Kashinite Ore
 item.crushedKashinite.name=Crushed Kashinite Ore
+item.oreRawKashinite.name=Raw Kashinite Ore
 item.crushedCentrifugedKashinite.name=Centrifuged Crushed Kashinite Ore
 item.crushedPurifiedKashinite.name=Purified Crushed Kashinite Ore
 item.dustImpureKashinite.name=Impure Kashinite Dust
@@ -2288,6 +2331,7 @@ item.itemDustSmallKashinite.name=Small Pile of Kashinite Dust
 
 tile.OreRadioactiveMineralMix.name=Strange Ore
 item.crushedRadioactiveMineralMix.name=Crushed Strange Ore
+item.oreRawRadioactiveMineralMix.name=Raw Strange Ore
 item.crushedCentrifugedRadioactiveMineralMix.name=Centrifuged Crushed Strange Ore
 item.crushedPurifiedRadioactiveMineralMix.name=Purified Crushed Strange Ore
 item.dustImpureRadioactiveMineralMix.name=Impure Strange Dust
@@ -2298,6 +2342,7 @@ item.itemDustSmallRadioactiveMineralMix.name=Small Pile of Strange Dust
 
 tile.OreDemicheleiteBr.name=Demicheleite (Br) Ore
 item.crushedDemicheleiteBr.name=Crushed Demicheleite (Br) Ore
+item.oreRawDemicheleiteBr.name=Raw Demicheleite (Br) Ore
 item.crushedCentrifugedDemicheleiteBr.name=Centrifuged Crushed Demicheleite (Br) Ore
 item.crushedPurifiedDemicheleiteBr.name=Purified Crushed Demicheleite (Br) Ore
 item.dustImpureDemicheleiteBr.name=Impure Demicheleite (Br) Dust
@@ -2994,6 +3039,7 @@ tile.White Metal Frame Box.name=White Metal Frame Box
 //Added 29/04/2019
 tile.OreRunite.name=Runite Ore
 item.crushedRunite.name=Crushed Runite Ore
+item.oreRawRunite.name=Raw Runite Ore
 item.crushedCentrifugedRunite.name=Centrifuged Crushed Runite Ore
 item.crushedPurifiedRunite.name=Purified Crushed Runite Ore
 item.dustImpureRunite.name=Impure Runite Dust
@@ -3001,6 +3047,7 @@ item.dustPureRunite.name=Purified Runite Dust
 
 tile.OreAncientGranite.name=Ancient Granite Ore
 item.crushedAncientGranite.name=Crushed Ancient Granite Ore
+item.oreRawAncientGranite.name=Raw Ancient Granite Ore
 item.crushedCentrifugedAncientGranite.name=Centrifuged Crushed Ancient Granite Ore
 item.crushedPurifiedAncientGranite.name=Purified Crushed Ancient Granite Ore
 item.dustImpureAncientGranite.name=Impure Ancient Granite Dust
@@ -3107,6 +3154,7 @@ item.null.name=Null Item report it on github
 //Added 24/8/19
 tile.OreGreenockite.name=Greenockite Ore
 item.crushedGreenockite.name=Crushed Greenockite Ore
+item.oreRawGreenockite.name=Raw Greenockite Ore
 item.crushedCentrifugedGreenockite.name=Centrifuged Crushed Greenockite Ore
 item.crushedPurifiedGreenockite.name=Purified Crushed Greenockite Ore
 item.dustImpureGreenockite.name=Impure Greenockite Dust
@@ -3117,6 +3165,7 @@ item.itemDustSmallGreenockite.name=Small Pile of Greenockite Dust
 
 tile.OreRareEarthI.name=Rare Earth (I) Ore
 item.crushedRareEarthI.name=Crushed Rare Earth (I) Ore
+item.oreRawRareEarthI.name=Raw Rare Earth (I) Ore
 item.crushedCentrifugedRareEarthI.name=Centrifuged Crushed Rare Earth (I) Ore
 item.crushedPurifiedRareEarthI.name=Purified Crushed Rare Earth (I) Ore
 item.dustImpureRareEarthI.name=Impure Rare Earth (I) Dust
@@ -3127,6 +3176,7 @@ item.itemDustSmallRareEarthI.name=Small Pile of Rare Earth (I) Dust
 
 tile.OreRareEarthII.name=Rare Earth (II) Ore
 item.crushedRareEarthII.name=Crushed Rare Earth (II) Ore
+item.oreRawRareEarthII.name=Raw Rare Earth (II) Ore
 item.crushedCentrifugedRareEarthII.name=Centrifuged Crushed Rare Earth (II) Ore
 item.crushedPurifiedRareEarthII.name=Purified Crushed Rare Earth (II) Ore
 item.dustImpureRareEarthII.name=Impure Rare Earth (II) Dust
@@ -3137,6 +3187,7 @@ item.itemDustSmallRareEarthII.name=Small Pile of Rare Earth (II) Dust
 
 tile.OreRareEarthIII.name=Rare Earth (III) Ore
 item.crushedRareEarthIII.name=Crushed Rare Earth (III) Ore
+item.oreRawRareEarthIII.name=Raw Rare Earth (III) Ore
 item.crushedCentrifugedRareEarthIII.name=Centrifuged Crushed Rare Earth (III) Ore
 item.crushedPurifiedRareEarthIII.name=Purified Crushed Rare Earth (III) Ore
 item.dustImpureRareEarthIII.name=Impure Rare Earth (III) Dust

From 09215ccb4c5cd9eb5b245a301809e8df3bb50e79 Mon Sep 17 00:00:00 2001
From: Ethryan <3237986+Ethryan@users.noreply.github.com>
Date: Sat, 20 Apr 2024 20:39:12 +0200
Subject: [PATCH 2/9] Added textures

---
 .../items/materialicons/ENRICHED/oreRaw.png      | Bin 0 -> 295 bytes
 .../materialicons/ENRICHED/oreRaw_OVERLAY.png    | Bin 0 -> 1646 bytes
 .../items/materialicons/GEM_A/oreRaw.png         | Bin 0 -> 417 bytes
 .../items/materialicons/GEM_A/oreRaw_OVERLAY.png | Bin 0 -> 376 bytes
 .../items/materialicons/NUCLEAR/oreRaw.png       | Bin 0 -> 295 bytes
 .../materialicons/NUCLEAR/oreRaw_OVERLAY.png     | Bin 0 -> 1464 bytes
 .../items/materialicons/REFINED/oreRaw.png       | Bin 0 -> 295 bytes
 .../materialicons/REFINED/oreRaw_OVERLAY.png     | Bin 0 -> 141 bytes
 8 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/oreRaw.png
 create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/oreRaw_OVERLAY.png
 create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/oreRaw.png
 create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/oreRaw_OVERLAY.png
 create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/oreRaw.png
 create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/oreRaw_OVERLAY.png
 create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/oreRaw.png
 create mode 100644 src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/oreRaw_OVERLAY.png

diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/oreRaw.png b/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/oreRaw.png
new file mode 100644
index 0000000000000000000000000000000000000000..d62139a374b9be50410f74ec7debfec0b2617cd7
GIT binary patch
literal 295
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGf*{OTpAtV2D9B#o
z>Fdh=lvPMrP;qCi+$5k7TavfC3&Vd9T(EcfWT40vPZ!4!i{7P^FLEAG;BkpPWh!&r
z_0Cb<IfrEbY>j!Kax7rUUyCay-)Bki6rcOxo;^8eR@ik0mFrRI?_;k-P5#WA!<ZnG
zoTKd!aX%r+P042p`{t>#3^f-NaxbNEa~isFP78AJd0_cm=g_>5%nc2`ml(dClR3fa
z@a_G*3c>b##*&ruI;XFUwq=l7bk-nHMzi?g)WC{Rg<}?sIa5EdDjdmZuKvD>@!k@}
lTYGGmNq1cPD7F6;<HDXDHC}3chk@>A@O1TaS?83{1OV)|ZNUHl

literal 0
HcmV?d00001

diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/oreRaw_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/ENRICHED/oreRaw_OVERLAY.png
new file mode 100644
index 0000000000000000000000000000000000000000..1ebeb9fc43004e726bda90ecfaa3fdb4f1b49577
GIT binary patch
literal 1646
zcmbVNO=#Rk6jmvX8>fbpKqw(4!#E{v6G@|y*4iDS1lMcV8!Xp2TjJa@JDS~9z0xSs
z*t_;ExrJN`rH3YgkXxZp+(Mz?LJOt66ng6+$6RvBA%{Q;p^%RDM>xT8LWHy$N#Fb4
z_kQN>wWY;RC&rJAYnnDuo3Adb`@#Hrd!PC}_UI{9xBbcd#Z1!<9LldZv>UhH)3mp?
z!}^L`@fQdakwF8|;6^V>6k5|xpY0`-t#Sz(ycNbCe7OB91YzL83nd@<$qa9Y^P4F@
zzqwdvo2#r6z_Vw-=^jx85tkJ7qE4KVo(KE9M6L7JCIo$mT=n2|?hvf_OJGK%9Jq$1
zGlURuD+UiJZrIIJ03&RfmO35X!o)_z!C-hm<t`1HWVt#wbf%s>*p@OOrrGUwjjnBo
zv}IbAO2tIj#8_7dJ==&S?dfqgIbx{tjHO{BLlJ|Vkv7Dd^q`VDh#^V}+Bh5LNoCCJ
z(ZsY2l*iNu2CTp(YiXzNJYXj8@QBAUQ&_9OCT$@_))p_IE<QiwK;_o=3m>~`iK4<q
zCTG`G7{i3@iq7gA2{)H{Ce~8MXV;a?$vm2b%%q%3k=BLij4HJ>k_@nISm478VH}8V
z_R$UlUZs+IP*u&*k)vZ&$B5WADdCd{6NCm(Uj$)uV^?UIIOrLu>Y0E_`ciPfNK>Q{
zRRM<)ZE-V+TM!g!Br~ETQsr2wv->K1pVZ<^(wOmD)q^T#BMbv#S!IkdVtNU4OLuLD
z>6K=~)h)YGD$&x^6fX0TeO0ivys{(vK-oJ}4VO>Zj_w9dQ*V|WN2km}I^|^>xfZpV
zOGoyfrJ>qdwDa0L`G(6|g3O1RD%QquN1W%EhpSEq`dvUM%e&iyEH5h$;P7?0O9oyo
zf&p!}%@ye$<sQH?(Ue`9^68e!)=S&Te3AH!uJ0}V)rz-=^quYZI?{(}Wo;U_xSEwF
z%!4uWp)x3n`Fy?l-*yb35nN5Rd|Av>^-xS?9xLip&D-y`t_U@&FV?El_3~f;eD%Y-
zzkzq&{ORe@Q-2=6y{|kz_RY`d?kqleboWQ?^W&R0;g`1_C&3mP+uG`suYRqa{P&n9
zT7PTbE?l~IV$#*#|6<{AvOV_r;|ITgFn8$s!~e8%zx**VaeuD=mr$EstbYH=rK|q~
D&(Z^?

literal 0
HcmV?d00001

diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/oreRaw.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/oreRaw.png
new file mode 100644
index 0000000000000000000000000000000000000000..9934452754fae81d2b3a426cc17e765a44cfdbfb
GIT binary patch
literal 417
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGf*{OTpAtV2D9B#o
z>Fdh=lvPOBlG}cE<vXAdTavfC3&Vd9T(EcfWCjLCJx>?M5DWjMlNb6OaS&*G9?9{K
z$5g;!uHzRW84rOBo_Q_i86Fi~r?_11o?O-S>l@>%SF=+0H{Q(I?JJ=E&&PW6|LvPE
zueEsoM5MLd=Dcv^+I89Kw^%mpSfwS|=6Kblci-gWSHACE^?DbJ5QD_>%u5pQJ2GY5
z&ChQ>X6kbGO^0Oe%ts#Tvl}+=j-IOD#opoQQ`WLAS2V$RlFsQX6+ge}@XvoQ6(9eN
z>!aJj1h*o)S8ALLpCA6t7Gz8`c>M6A+q&=8miu>kFwVH(ULPXa(r0k2*)=tC7i)t`
zZj#aCcQ4~ybN{MFaJw+N2DZEmPH^wpvfJ$V<_`_`s~K3LY%;C&EAL&rA7JW#{fyEb
zjSL;LKo>!W^h9@W20@ptY@c0o)YACEf7&x{?DOfae<<>o;m+ow(6GOM;(%ev;OXk;
Jvd$@?2>`M1sIUM4

literal 0
HcmV?d00001

diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/oreRaw_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_A/oreRaw_OVERLAY.png
new file mode 100644
index 0000000000000000000000000000000000000000..a8a31531478667723d5d2f737d0881f9ef1518b7
GIT binary patch
literal 376
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGf*{OTpAtV2D9B#o
z>Fdh=lvPMrTrSdaiY8EqEy>&6h2cL4F4((#G6Mr6tEY=&h{fr>lQ(i5G7xdSzg|Pn
zPw$fB#Y;}IEQQ)HUQJN4=y;Gfy{@tO!6pB~_wGOV*B#ny{=sRImPXg%r&~SWpRDzC
zKI3!0;~$fSdhFtUMuXUL<F(zhOcb6eb}6;}5l!6nRPwI>&UJQ2W^C4Zyhx)Y)N5nz
zChbW!tOsJIEe&R6IXGjP=JCQajsgYD48kFyQ>Qsh;BYhC&*H(Ybl)PrFLTP5Emnv3
z-FB*$x|Fbg(b10%9dFljOy0Zk!m|5C{*L}@oNuja$!VDJ_UsXhpv9u>3;I{IDd?#w
z-sV}c<r;&+q@R&l9KTu&`pS2k8YbWSx%$J#6LQQBLY*nf_jhqOcqm;wpZA#Aq}|GT
UJA0KfFo+mDUHx3vIVCg!0KU+a<NyEw

literal 0
HcmV?d00001

diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/oreRaw.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/oreRaw.png
new file mode 100644
index 0000000000000000000000000000000000000000..d62139a374b9be50410f74ec7debfec0b2617cd7
GIT binary patch
literal 295
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGf*{OTpAtV2D9B#o
z>Fdh=lvPMrP;qCi+$5k7TavfC3&Vd9T(EcfWT40vPZ!4!i{7P^FLEAG;BkpPWh!&r
z_0Cb<IfrEbY>j!Kax7rUUyCay-)Bki6rcOxo;^8eR@ik0mFrRI?_;k-P5#WA!<ZnG
zoTKd!aX%r+P042p`{t>#3^f-NaxbNEa~isFP78AJd0_cm=g_>5%nc2`ml(dClR3fa
z@a_G*3c>b##*&ruI;XFUwq=l7bk-nHMzi?g)WC{Rg<}?sIa5EdDjdmZuKvD>@!k@}
lTYGGmNq1cPD7F6;<HDXDHC}3chk@>A@O1TaS?83{1OV)|ZNUHl

literal 0
HcmV?d00001

diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/oreRaw_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NUCLEAR/oreRaw_OVERLAY.png
new file mode 100644
index 0000000000000000000000000000000000000000..88fa0ebcc554c20659b10a5d22c9eb55cf36cb00
GIT binary patch
literal 1464
zcmbVMNodqi7*0#6T5&-SiWftAaZB>D)Hu&Zt(|HI%vjq2D-`ri@@6J<l9wj0ooVqP
zDp(I9=tab%f(z<FDT271ys024p0r*?To2+w^ktTyQWXtJ-uAuk-~ZzS*`13zR&{V3
zw<yz}9%SRv_?zF({;NNILu^<O^zVx}ZsGFyYvInGTgh>4Z{6H59kzBsn|Km(NFGa7
zFJNen>)u)okUfeipT|YlH-&e%?+Lu?n8MyJ3s^xfF1h_vAs(8_=Ip6aJLL#lxA5In
z$Ot@45nuJnegvzgP~(Mc9&gJ6UxUz5Q|O5W^262u-%CQw8<Ha0007=dN!USZUMp<i
zRiG-e!d_ieRHy-{t9;`Tn7Gg>z`^v6hA_4=g%YI!l;ujLB2_erghg3NrBX6bWmOd!
zLX0MTimIX?bv7B&II=@Gpf2(Gm=Wd4I5h>PYTX7eNND}2;V0%Xxrzc=kw9!y4d~bj
zE*KBXHQ|me<1+TJPa}p^5^PW+ltd-+8|vivCjrd2mX*kuQy0%mL`1Z2f|=29$eidX
zHyL1g5JzM@v~k}AQ?oO+CV;&mMwEm(LdwlZ4K!8eRZUX(HG5s(A(d$D4;OG6QEUn<
zYPtw?Q3W{_Kuv>P>Uy9;0P0YSIBsEbPN)HO<0mM~83$4HSFmHl0tr3D40b(K#B$&l
z1wL^j>?LIqGQmtct)_)#!HgeK<l8utHU(z0<hl;jH|7nzQPV}k(F<asOV>qYD?mhe
zlLib0X|{oy_tV54k0aZ>@BHKa-J#1$3zh$yCoZ@+C1AfBv0zO$Dq;waHD+a(uVn#5
zcAVX&V8>y_j?mb4|Jws~+DZvC(m#Z|4vR>ER#1q0ip*PoO(&TtFUNIQw?qEb#M;>p
zHQR)<Mi5Vv7Q_}w6T?31Tp?>wQzyH8*4~0lx+k~k#M9F~9rwZfwy#4U`Y!B$Y|N|#
zH+Ni}y>#r(^yc=5%edFmkH#*}POE0io~YvrH+ZIXU17<y)?F{#Mvi=Id7j;HcOCa)
z-sRS3Ggr?`FIGIvzJEPa)GnS$9ld?%dgj&Q%a?A*Bkr3AU)n#nY<u$Y;H^_}Z_V^&
K)7Q2iIQ$)R+SFzM

literal 0
HcmV?d00001

diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/oreRaw.png b/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/oreRaw.png
new file mode 100644
index 0000000000000000000000000000000000000000..d62139a374b9be50410f74ec7debfec0b2617cd7
GIT binary patch
literal 295
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGf*{OTpAtV2D9B#o
z>Fdh=lvPMrP;qCi+$5k7TavfC3&Vd9T(EcfWT40vPZ!4!i{7P^FLEAG;BkpPWh!&r
z_0Cb<IfrEbY>j!Kax7rUUyCay-)Bki6rcOxo;^8eR@ik0mFrRI?_;k-P5#WA!<ZnG
zoTKd!aX%r+P042p`{t>#3^f-NaxbNEa~isFP78AJd0_cm=g_>5%nc2`ml(dClR3fa
z@a_G*3c>b##*&ruI;XFUwq=l7bk-nHMzi?g)WC{Rg<}?sIa5EdDjdmZuKvD>@!k@}
lTYGGmNq1cPD7F6;<HDXDHC}3chk@>A@O1TaS?83{1OV)|ZNUHl

literal 0
HcmV?d00001

diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/oreRaw_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/REFINED/oreRaw_OVERLAY.png
new file mode 100644
index 0000000000000000000000000000000000000000..fbc3a6800e0e2937f4b59d5616923d8c0e873127
GIT binary patch
literal 141
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGf*{OTpAtV2D9B#o
z>FdgVkCB&Oimmd8og+|)Ey>&61xN$IPv_nBKuXHf#WBR9H~G*1|MtwP4TV=40-4=-
bCG>!X|BcdrShwZ;C6H=QS3j3^P6<r_!8IaW

literal 0
HcmV?d00001


From e3058d43ec0e36491546ec5331fa7605be7040ea Mon Sep 17 00:00:00 2001
From: Ethryan <3237986+Ethryan@users.noreply.github.com>
Date: Tue, 23 Apr 2024 13:50:19 +0200
Subject: [PATCH 3/9] Change to a switch instead of elseif and add
 shouldFortune check

Removed isNatural check since GT++ Ores aren't TileEntities
---
 .../core/block/base/BlockBaseOre.java         | 16 ++++++++++--
 .../core/item/base/ore/BaseOreComponent.java  | 25 +++++++------------
 2 files changed, 23 insertions(+), 18 deletions(-)

diff --git a/src/main/java/gtPlusPlus/core/block/base/BlockBaseOre.java b/src/main/java/gtPlusPlus/core/block/base/BlockBaseOre.java
index 69ddecd818..dd1123fdc5 100644
--- a/src/main/java/gtPlusPlus/core/block/base/BlockBaseOre.java
+++ b/src/main/java/gtPlusPlus/core/block/base/BlockBaseOre.java
@@ -7,11 +7,13 @@
 import net.minecraft.block.Block;
 import net.minecraft.client.renderer.texture.IIconRegister;
 import net.minecraft.entity.EnumCreatureType;
+import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.init.Blocks;
 import net.minecraft.item.ItemStack;
 import net.minecraft.util.IIcon;
 import net.minecraft.world.IBlockAccess;
 import net.minecraft.world.World;
+import net.minecraftforge.common.util.FakePlayer;
 import net.minecraftforge.common.util.ForgeDirection;
 
 import cpw.mods.fml.common.registry.GameRegistry;
@@ -36,7 +38,6 @@ public class BlockBaseOre extends BasicBlock implements ITexturedBlock {
 
     private final Material blockMaterial;
     protected static boolean shouldFortune = false;
-    public boolean mNatural = false;
 
     public BlockBaseOre(final Material material, final BlockTypes blockType) {
         super(
@@ -138,6 +139,17 @@ public ITexture[] getTexture(Block block, ForgeDirection side) {
     @Override
     public void registerBlockIcons(IIconRegister p_149651_1_) {}
 
+    @Override
+    public void harvestBlock(World worldIn, EntityPlayer player, int x, int y, int z, int meta) {
+        if (!(player instanceof FakePlayer)) {
+            shouldFortune = true;
+        }
+        super.harvestBlock(worldIn, player, x, y, z, meta);
+        if (shouldFortune) {
+            shouldFortune = false;
+        }
+    }
+
     @Override
     public ArrayList<ItemStack> getDrops(World world, int x, int y, int z, int metadata, int fortune) {
         ArrayList<ItemStack> drops = new ArrayList<>();
@@ -154,7 +166,7 @@ public ArrayList<ItemStack> getDrops(World world, int x, int y, int z, int metad
                 // if not shouldFortune or not isNatural then get normal drops
                 // if not shouldFortune and isNatural then get normal drops
                 // if shouldFortune and not isNatural then get normal drops
-                if (shouldFortune && this.mNatural) {
+                if (shouldFortune) {
                     Random tRandom = new XSTR(x ^ y ^ z);
                     long amount = (long) Math.max(1, tRandom.nextInt(1 + Math.min(3, fortune)));
                     drops.add(
diff --git a/src/main/java/gtPlusPlus/core/item/base/ore/BaseOreComponent.java b/src/main/java/gtPlusPlus/core/item/base/ore/BaseOreComponent.java
index aed9621e56..eff545871b 100644
--- a/src/main/java/gtPlusPlus/core/item/base/ore/BaseOreComponent.java
+++ b/src/main/java/gtPlusPlus/core/item/base/ore/BaseOreComponent.java
@@ -71,22 +71,15 @@ public boolean registerComponent() {
             aMap = new HashMap<>();
         }
         String aKey = "Invalid";
-        if (componentType == ComponentTypes.CRUSHED) {
-            aKey = OrePrefixes.crushed.name();
-        } else if (componentType == ComponentTypes.CRUSHEDCENTRIFUGED) {
-            aKey = OrePrefixes.crushedCentrifuged.name();
-        } else if (componentType == ComponentTypes.CRUSHEDPURIFIED) {
-            aKey = OrePrefixes.crushedPurified.name();
-        } else if (componentType == ComponentTypes.DUST) {
-            aKey = OrePrefixes.dust.name();
-        } else if (componentType == ComponentTypes.DUSTIMPURE) {
-            aKey = OrePrefixes.dustImpure.name();
-        } else if (componentType == ComponentTypes.DUSTPURE) {
-            aKey = OrePrefixes.dustPure.name();
-        } else if (componentType == ComponentTypes.MILLED) {
-            aKey = OrePrefixes.milled.name();
-        } else if (componentType == ComponentTypes.RAWORE) {
-            aKey = OrePrefixes.rawOre.name();
+        switch (componentType) {
+            case CRUSHED -> aKey = OrePrefixes.crushed.name();
+            case CRUSHEDCENTRIFUGED -> aKey = OrePrefixes.crushedCentrifuged.name();
+            case CRUSHEDPURIFIED -> aKey = OrePrefixes.crushedPurified.name();
+            case DUST -> aKey = OrePrefixes.dust.name();
+            case DUSTIMPURE -> aKey = OrePrefixes.dustImpure.name();
+            case DUSTPURE -> aKey = OrePrefixes.dustPure.name();
+            case MILLED -> aKey = OrePrefixes.milled.name();
+            case RAWORE -> aKey = OrePrefixes.rawOre.name();
         }
 
         ItemStack x = aMap.get(aKey);

From c2bd5609ff1617038a4ab0fc429904db0c116704 Mon Sep 17 00:00:00 2001
From: Martin Robertz <dream-master@gmx.net>
Date: Wed, 24 Apr 2024 22:01:47 +0200
Subject: [PATCH 4/9] update

---
 dependencies.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dependencies.gradle b/dependencies.gradle
index 0f30ec1710..4a2673808d 100644
--- a/dependencies.gradle
+++ b/dependencies.gradle
@@ -1,5 +1,5 @@
 dependencies {
-    api('com.github.GTNewHorizons:GT5-Unofficial:5.09.45.154-pre:dev')
+    api('com.github.GTNewHorizons:GT5-Unofficial:5.09.45.162-pre:dev')
     api("com.github.GTNewHorizons:bartworks:0.9.21:dev")
 
     implementation('curse.maven:cofh-core-69162:2388751')

From e84cafcbd8c9a428c177ef623d478ff989d870a4 Mon Sep 17 00:00:00 2001
From: Martin Robertz <dream-master@gmx.net>
Date: Sat, 4 May 2024 10:18:04 +0200
Subject: [PATCH 5/9] update

---
 dependencies.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dependencies.gradle b/dependencies.gradle
index 394e54303b..4f2839453d 100644
--- a/dependencies.gradle
+++ b/dependencies.gradle
@@ -1,5 +1,5 @@
 dependencies {
-    api('com.github.GTNewHorizons:GT5-Unofficial:5.09.46.02:dev')
+    api('com.github.GTNewHorizons:GT5-Unofficial:5.09.46.03-pre:dev')
     api("com.github.GTNewHorizons:bartworks:0.10.0:dev")
 
     implementation('curse.maven:cofh-core-69162:2388751')

From beaf0cfc1e89b026cc074e7d7afc0712b8a5387e Mon Sep 17 00:00:00 2001
From: Pilad <piladt@gmail.com>
Date: Tue, 7 May 2024 15:30:20 +0500
Subject: [PATCH 6/9] Fixed the controller texture for the turbines.

---
 .../multi/production/turbines/GT_MTE_LargeTurbine_Gas.java   | 5 +++--
 .../production/turbines/GT_MTE_LargeTurbine_Plasma.java      | 5 +++--
 .../production/turbines/GT_MTE_LargeTurbine_SCSteam.java     | 5 +++--
 .../production/turbines/GT_MTE_LargeTurbine_SHSteam.java     | 5 +++--
 .../multi/production/turbines/GT_MTE_LargeTurbine_Steam.java | 5 +++--
 5 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Gas.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Gas.java
index f2fd9a9a0a..c1491c7bf6 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Gas.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Gas.java
@@ -25,6 +25,7 @@
 import gregtech.api.recipe.maps.FuelBackend;
 import gregtech.api.util.GT_Recipe;
 import gregtech.api.util.GT_Utility;
+import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
 
 @SuppressWarnings("deprecation")
 public class GT_MTE_LargeTurbine_Gas extends GregtechMetaTileEntity_LargerTurbineBase {
@@ -194,11 +195,11 @@ protected String getCasingName() {
 
     @Override
     protected ITexture getTextureFrontFace() {
-        return new GT_RenderedTexture(gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS5);
+        return new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Controller_Advanced);
     }
 
     @Override
     protected ITexture getTextureFrontFaceActive() {
-        return new GT_RenderedTexture(gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS_ACTIVE5);
+        return new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active);
     }
 }
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Plasma.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Plasma.java
index fb875dba3a..f6293920b5 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Plasma.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Plasma.java
@@ -26,6 +26,7 @@
 import gregtech.api.util.shutdown.ShutDownReasonRegistry;
 import gtPlusPlus.core.util.math.MathUtils;
 import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Turbine;
+import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
 
 @SuppressWarnings("deprecation")
 public class GT_MTE_LargeTurbine_Plasma extends GregtechMetaTileEntity_LargerTurbineBase {
@@ -301,11 +302,11 @@ protected String getCasingName() {
 
     @Override
     protected ITexture getTextureFrontFace() {
-        return new GT_RenderedTexture(gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU5);
+        return new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Controller_Advanced);
     }
 
     @Override
     protected ITexture getTextureFrontFaceActive() {
-        return new GT_RenderedTexture(gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU_ACTIVE5);
+        return new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active);
     }
 }
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_SCSteam.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_SCSteam.java
index 627717695b..7ee40757fd 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_SCSteam.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_SCSteam.java
@@ -13,6 +13,7 @@
 import gregtech.api.util.GT_ModHandler;
 import gregtech.api.util.GT_Utility;
 import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
 
 public class GT_MTE_LargeTurbine_SCSteam extends GregtechMetaTileEntity_LargerTurbineBase {
 
@@ -115,11 +116,11 @@ protected String getCasingName() {
 
     @Override
     protected ITexture getTextureFrontFace() {
-        return TextureFactory.of(gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI5);
+        return TextureFactory.of(TexturesGtBlock.Overlay_Machine_Controller_Advanced);
     }
 
     @Override
     protected ITexture getTextureFrontFaceActive() {
-        return TextureFactory.of(gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI_ACTIVE5);
+        return TextureFactory.of(TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active);
     }
 }
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_SHSteam.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_SHSteam.java
index 7d36d35c77..dded1d04d9 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_SHSteam.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_SHSteam.java
@@ -18,6 +18,7 @@
 import gtPlusPlus.core.lib.CORE;
 import gtPlusPlus.core.util.math.MathUtils;
 import gtPlusPlus.core.util.minecraft.PlayerUtils;
+import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
 
 @SuppressWarnings("deprecation")
 public class GT_MTE_LargeTurbine_SHSteam extends GregtechMetaTileEntity_LargerTurbineBase {
@@ -188,11 +189,11 @@ protected String getCasingName() {
 
     @Override
     protected ITexture getTextureFrontFace() {
-        return new GT_RenderedTexture(gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI5);
+        return new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Controller_Advanced);
     }
 
     @Override
     protected ITexture getTextureFrontFaceActive() {
-        return new GT_RenderedTexture(gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI_ACTIVE5);
+        return new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active);
     }
 }
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Steam.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Steam.java
index 3173ef8f37..cb8bc06124 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Steam.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Steam.java
@@ -19,6 +19,7 @@
 import gregtech.api.util.GT_Utility;
 import gtPlusPlus.core.util.math.MathUtils;
 import gtPlusPlus.core.util.minecraft.PlayerUtils;
+import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
 
 @SuppressWarnings("deprecation")
 public class GT_MTE_LargeTurbine_Steam extends GregtechMetaTileEntity_LargerTurbineBase {
@@ -199,11 +200,11 @@ protected String getCasingName() {
 
     @Override
     protected ITexture getTextureFrontFace() {
-        return new GT_RenderedTexture(gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST5);
+        return new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Controller_Advanced);
     }
 
     @Override
     protected ITexture getTextureFrontFaceActive() {
-        return new GT_RenderedTexture(gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST_ACTIVE5);
+        return new GT_RenderedTexture(TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active);
     }
 }

From d3a93bfb5edb3b075b56971f59ff391e5d110797 Mon Sep 17 00:00:00 2001
From: Pilad <piladt@gmail.com>
Date: Tue, 7 May 2024 15:39:28 +0500
Subject: [PATCH 7/9] The file is not called anywhere?

This file doesn't seem to be used anywhere. Maybe it's worth removing?
---
 .../gtPlusPlus/core/common/CommonProxy.java   |  3 -
 .../core/util/player/PlayerCache.java         | 66 -------------------
 2 files changed, 69 deletions(-)
 delete mode 100644 src/main/java/gtPlusPlus/core/util/player/PlayerCache.java

diff --git a/src/main/java/gtPlusPlus/core/common/CommonProxy.java b/src/main/java/gtPlusPlus/core/common/CommonProxy.java
index ab7090351b..70062a5f00 100644
--- a/src/main/java/gtPlusPlus/core/common/CommonProxy.java
+++ b/src/main/java/gtPlusPlus/core/common/CommonProxy.java
@@ -36,7 +36,6 @@
 import gtPlusPlus.core.util.Utils;
 import gtPlusPlus.core.util.minecraft.EntityUtils;
 import gtPlusPlus.core.util.minecraft.ItemUtils;
-import gtPlusPlus.core.util.player.PlayerCache;
 import gtPlusPlus.core.util.reflect.ReflectionUtils;
 import gtPlusPlus.preloader.CORE_Preloader;
 import gtPlusPlus.xmod.gregtech.api.util.SpecialBehaviourTooltipHandler;
@@ -101,8 +100,6 @@ public void init(final FMLInitializationEvent e) {
     }
 
     public void postInit(final FMLPostInitializationEvent e) {
-        Logger.INFO("Cleaning up, doing postInit.");
-        PlayerCache.initCache();
 
         // Make Burnables burnable
         if (!CORE.burnables.isEmpty()) {
diff --git a/src/main/java/gtPlusPlus/core/util/player/PlayerCache.java b/src/main/java/gtPlusPlus/core/util/player/PlayerCache.java
deleted file mode 100644
index a403756c77..0000000000
--- a/src/main/java/gtPlusPlus/core/util/player/PlayerCache.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package gtPlusPlus.core.util.player;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.OutputStream;
-import java.util.HashMap;
-import java.util.Properties;
-import java.util.UUID;
-
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.lib.CORE;
-
-public class PlayerCache {
-
-    private static final File cache = new File("PlayerCache.dat");
-
-    public static void initCache() {
-        if (CORE.PlayerCache == null) {
-            if (cache.exists()) {
-                CORE.PlayerCache = PlayerCache.readPropertiesFileAsMap();
-                Logger.INFO("Loaded PlayerCache.dat");
-            }
-            if (CORE.PlayerCache == null) {
-                Logger.INFO("Failed to load PlayerCache.dat");
-                PlayerCache.createPropertiesFile("PLAYER_", "DATA");
-            }
-        }
-    }
-
-    public static void createPropertiesFile(final String playerName, final String playerUUIDasString) {
-        try {
-            final Properties props = new Properties();
-            props.setProperty(playerName + " ", playerUUIDasString);
-            final OutputStream out = new FileOutputStream(cache);
-            props.store(out, "Player Cache.");
-            Logger.INFO("PlayerCache.dat created for future use.");
-            out.close();
-        } catch (final Exception e) {
-            e.printStackTrace();
-        }
-    }
-
-    public static HashMap<String, UUID> readPropertiesFileAsMap() {
-        HashMap<String, UUID> map = null;
-        try {
-            final FileInputStream fis = new FileInputStream(cache);
-            final ObjectInputStream ois = new ObjectInputStream(fis);
-            map = (HashMap<String, UUID>) ois.readObject();
-            ois.close();
-            fis.close();
-        } catch (final IOException ioe) {
-            ioe.printStackTrace();
-            return null;
-        } catch (final ClassNotFoundException c) {
-            Logger.INFO("Class not found");
-            c.printStackTrace();
-            return null;
-        }
-        Logger.WARNING("Deserialized PlayerCache..");
-        return map;
-    }
-
-}

From 1f05bad58a2ac851dd1744eea702cd74b5b89df5 Mon Sep 17 00:00:00 2001
From: Martin Robertz <dream-master@gmx.net>
Date: Thu, 9 May 2024 10:27:53 +0200
Subject: [PATCH 8/9] update

---
 dependencies.gradle | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/dependencies.gradle b/dependencies.gradle
index 4f2839453d..5ecbb5050f 100644
--- a/dependencies.gradle
+++ b/dependencies.gradle
@@ -1,5 +1,5 @@
 dependencies {
-    api('com.github.GTNewHorizons:GT5-Unofficial:5.09.46.03-pre:dev')
+    api('com.github.GTNewHorizons:GT5-Unofficial:5.09.46.05:dev')
     api("com.github.GTNewHorizons:bartworks:0.10.0:dev")
 
     implementation('curse.maven:cofh-core-69162:2388751')
@@ -14,5 +14,5 @@ dependencies {
     compileOnly('thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev') {transitive=false}
     compileOnly('com.github.GTNewHorizons:Chisel:2.14.1-GTNH:dev') {transitive=false}
 
-    runtimeOnly('com.github.GTNewHorizons:ForestryMC:4.8.9:dev') {transitive=false}
+    runtimeOnly('com.github.GTNewHorizons:ForestryMC:4.9.0:dev') {transitive=false}
 }

From 4344636652abac985873ae7845daa4a211bd50a4 Mon Sep 17 00:00:00 2001
From: Martin Robertz <dream-master@gmx.net>
Date: Thu, 9 May 2024 10:29:02 +0200
Subject: [PATCH 9/9] update

---
 dependencies.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dependencies.gradle b/dependencies.gradle
index 5ecbb5050f..015e4b471b 100644
--- a/dependencies.gradle
+++ b/dependencies.gradle
@@ -1,5 +1,5 @@
 dependencies {
-    api('com.github.GTNewHorizons:GT5-Unofficial:5.09.46.05:dev')
+    api('com.github.GTNewHorizons:GT5-Unofficial:5.09.46.07-pre:dev')
     api("com.github.GTNewHorizons:bartworks:0.10.0:dev")
 
     implementation('curse.maven:cofh-core-69162:2388751')