aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEthryan <3237986+Ethryan@users.noreply.github.com>2024-05-22 21:42:42 +0200
committerGitHub <noreply@github.com>2024-05-22 21:42:42 +0200
commit2cf455aa66b7d78286923bb873cffabcd997edc6 (patch)
treee0daba2e808479b745c7dcc6e5637e9e2d616df5
parent66b60bb8192ab9982dd756e8725b6dbb44fec581 (diff)
downloadGT5-Unofficial-2cf455aa66b7d78286923bb873cffabcd997edc6.tar.gz
GT5-Unofficial-2cf455aa66b7d78286923bb873cffabcd997edc6.tar.bz2
GT5-Unofficial-2cf455aa66b7d78286923bb873cffabcd997edc6.zip
Implementation: Raw Ore Items as Ore Drops (#2502)
* testing * Fix textures * Adding Drops, still need to add furnace recipe * Need to fix the multiple smelting recipes. otherwise stuff works. * part 2 * Remove wip block code I added * Moved it to a new processing file * Fix Oredict and add a stone dust chance output. And added a config option for fortune bonus. * Finally got Spotless to work * fix config system set it in gregtech config with oredropbehaviour in gregtech.cfg * Added new option and an option that returns it to the old behaviour. * Moved the raw ores to meta3 since meta1 was full. (MetaID range fix) * Fixing the MBM to only process small ores with fortune. * New config option * try to fix the recipes not working on Zeta * Implement Caedis Fortune fix * Added comment * Spotless * Fix stone dust amount from macerator * Adding Raw ore to the OreFactory (Untested) * spotless * Update this to actually drop the amount number of stack, instead of the stack set to the amount * New Random function for fortune and shapeless crushing recipes for the raw ores. * Fix * Actually make the block per dimension. * Fix an () issue. And make this actually work ingame. and not just randomly. * Change back drops Ned to look into Silk Touch more * Enable Silk Touch * Wth Spotless?, THIS made you complain?
-rw-r--r--src/main/java/gregtech/api/enums/OrePrefixes.java4
-rw-r--r--src/main/java/gregtech/api/enums/TextureSet.java16
-rw-r--r--src/main/java/gregtech/common/GT_Proxy.java10
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Ores.java25
-rw-r--r--src/main/java/gregtech/common/blocks/GT_TileEntity_Ores.java69
-rw-r--r--src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java8
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_IntegratedOreFactory.java4
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlantBase.java11
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingRawOre.java219
-rw-r--r--src/main/java/gregtech/loaders/preload/GT_Loader_OreProcessing.java2
-rw-r--r--src/main/java/gregtech/loaders/preload/GT_PreLoad.java20
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/oreRaw.pngbin0 -> 417 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/oreRaw_OVERLAY.pngbin0 -> 376 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/DULL/oreRaw.pngbin0 -> 335 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/DULL/oreRaw_OVERLAY.pngbin0 -> 141 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/oreRaw.pngbin0 -> 417 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/oreRaw_OVERLAY.pngbin0 -> 376 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/oreRaw.pngbin0 -> 295 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/oreRaw_OVERLAY.pngbin0 -> 141 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/FINE/oreRaw.pngbin0 -> 295 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/FINE/oreRaw_OVERLAY.pngbin0 -> 141 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/oreRaw.pngbin0 -> 295 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/oreRaw_OVERLAY.pngbin0 -> 141 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/oreRaw.pngbin0 -> 295 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/oreRaw_OVERLAY.pngbin0 -> 141 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/oreRaw.pngbin0 -> 417 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/oreRaw_OVERLAY.pngbin0 -> 376 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/oreRaw.pngbin0 -> 417 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/oreRaw_OVERLAY.pngbin0 -> 376 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/oreRaw.pngbin0 -> 328 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/oreRaw_OVERLAY.pngbin0 -> 141 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/oreRaw.pngbin0 -> 417 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/oreRaw_OVERLAY.pngbin0 -> 376 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/oreRaw.pngbin0 -> 295 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/oreRaw_OVERLAY.pngbin0 -> 141 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/oreRaw.pngbin0 -> 295 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/oreRaw_OVERLAY.pngbin0 -> 141 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/oreRaw.pngbin0 -> 295 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/oreRaw_OVERLAY.pngbin0 -> 141 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/oreRaw.pngbin0 -> 333 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/oreRaw_OVERLAY.pngbin0 -> 141 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/oreRaw.pngbin0 -> 295 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/oreRaw_OVERLAY.pngbin0 -> 141 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/NONE/oreRaw.pngbin0 -> 295 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/NONE/oreRaw_OVERLAY.pngbin0 -> 141 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/oreRaw.pngbin0 -> 417 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/oreRaw_OVERLAY.pngbin0 -> 376 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/oreRaw.pngbin0 -> 295 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/oreRaw_OVERLAY.pngbin0 -> 141 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/oreRaw.pngbin0 -> 295 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/oreRaw_OVERLAY.pngbin0 -> 141 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/oreRaw.pngbin0 -> 328 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/oreRaw_OVERLAY.pngbin0 -> 141 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/oreRaw.pngbin0 -> 295 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/oreRaw_OVERLAY.pngbin0 -> 141 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/oreRaw.pngbin0 -> 417 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/oreRaw_OVERLAY.pngbin0 -> 376 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/SAND/oreRaw.pngbin0 -> 295 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/SAND/oreRaw_OVERLAY.pngbin0 -> 141 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/oreRaw.pngbin0 -> 417 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/oreRaw_OVERLAY.pngbin0 -> 376 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/oreRaw.pngbin0 -> 328 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/oreRaw_OVERLAY.pngbin0 -> 141 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/oreRaw.pngbin0 -> 295 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/oreRaw_OVERLAY.pngbin0 -> 141 bytes
65 files changed, 373 insertions, 15 deletions
diff --git a/src/main/java/gregtech/api/enums/OrePrefixes.java b/src/main/java/gregtech/api/enums/OrePrefixes.java
index 26dee844e7..bd30f03c3e 100644
--- a/src/main/java/gregtech/api/enums/OrePrefixes.java
+++ b/src/main/java/gregtech/api/enums/OrePrefixes.java
@@ -93,6 +93,9 @@ public enum OrePrefixes {
true, B[3], -1, 64, 6),
crushed("Crushed Ores", "Crushed ", " Ore", true, true, false, false, false, false, false, true, false, true, B[3],
-1, 64, 5),
+ rawOre("Raw Ore", "Raw ", " Ore", true, true, false, false, false, false, false, false, false, true, B[3], -1, 64,
+ 64),
+
/** Introduced by Mekanism */
shard("Crystallised Shards", "", "", true, true, false, false, false, false, false, false, false, true, B[3], -1,
64, -1),
@@ -978,6 +981,7 @@ public enum OrePrefixes {
orePoor.mSecondaryMaterial = new MaterialStack(Materials.Stone, dust.mMaterialAmount * 2);
oreSmall.mSecondaryMaterial = new MaterialStack(Materials.Stone, dust.mMaterialAmount * 2);
oreNormal.mSecondaryMaterial = new MaterialStack(Materials.Stone, dust.mMaterialAmount * 2);
+ rawOre.mSecondaryMaterial = new MaterialStack(Materials.Stone, dust.mMaterialAmount);
oreRich.mSecondaryMaterial = new MaterialStack(Materials.Stone, dust.mMaterialAmount * 2);
ore.mSecondaryMaterial = new MaterialStack(Materials.Stone, dust.mMaterialAmount);
crushed.mSecondaryMaterial = new MaterialStack(Materials.Stone, dust.mMaterialAmount);
diff --git a/src/main/java/gregtech/api/enums/TextureSet.java b/src/main/java/gregtech/api/enums/TextureSet.java
index 9bf690d423..9e9b182c39 100644
--- a/src/main/java/gregtech/api/enums/TextureSet.java
+++ b/src/main/java/gregtech/api/enums/TextureSet.java
@@ -18,7 +18,7 @@ public class TextureSet {
TextureType.ITEM, TextureType.ITEM, TextureType.ITEM, TextureType.ITEM, TextureType.ITEM, TextureType.ITEM,
TextureType.ITEM, TextureType.ITEM, TextureType.ITEM, TextureType.ITEM, TextureType.ITEM, TextureType.ITEM,
TextureType.ITEM, TextureType.ITEM, TextureType.ITEM, TextureType.ITEM, TextureType.ITEM, TextureType.ITEM,
- TextureType.ITEM, TextureType.ITEM, TextureType.BLOCK, TextureType.BLOCK, TextureType.BLOCK, TextureType.BLOCK,
+ TextureType.ITEM, TextureType.ITEM, TextureType.ITEM, TextureType.BLOCK, TextureType.BLOCK, TextureType.BLOCK,
TextureType.BLOCK, TextureType.BLOCK, TextureType.BLOCK, TextureType.BLOCK, TextureType.BLOCK,
TextureType.BLOCK, TextureType.BLOCK, TextureType.BLOCK, TextureType.BLOCK, TextureType.BLOCK,
TextureType.BLOCK, TextureType.BLOCK, TextureType.BLOCK, TextureType.BLOCK, TextureType.BLOCK,
@@ -39,15 +39,15 @@ public class TextureSet {
"/toolHeadChainsaw", "/toolHeadWrench", "/toolHeadUniversalSpade", "/toolHeadSense", "/toolHeadPlow",
"/toolHeadArrow", "/toolHeadScrewdriver", "/toolHeadBuzzSaw", "/toolHeadSoldering", "/nanites", "/wireFine",
"/gearGtSmall", "/rotor", "/stickLong", "/springSmall", "/spring", "/arrowGtWood", "/arrowGtPlastic",
- "/gemChipped", "/gemFlawed", "/gemFlawless", "/gemExquisite", "/gearGt", aTextVoidDir, aTextVoidDir,
- aTextVoidDir, "/oreSmall", "/ore", "/wire", "/foil", "/block1", "/block2", "/block3", "/block4", "/block5",
- "/block6", "/pipeSide", "/pipeTiny", "/pipeSmall", "/pipeMedium", "/pipeLarge", "/pipeHuge", "/frameGt",
- "/pipeQuadruple", "/pipeNonuple", aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir,
- aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, "/crateGtDust", "/crateGtIngot",
- "/crateGtGem", "/crateGtPlate", "/turbineBlade", aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir,
+ "/gemChipped", "/gemFlawed", "/gemFlawless", "/gemExquisite", "/gearGt", "/oreRaw", aTextVoidDir, aTextVoidDir,
+ "/oreSmall", "/ore", "/wire", "/foil", "/block1", "/block2", "/block3", "/block4", "/block5", "/block6",
+ "/pipeSide", "/pipeTiny", "/pipeSmall", "/pipeMedium", "/pipeLarge", "/pipeHuge", "/frameGt", "/pipeQuadruple",
+ "/pipeNonuple", aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir,
+ aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, "/crateGtDust", "/crateGtIngot", "/crateGtGem",
+ "/crateGtPlate", "/turbineBlade", aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir,
aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir,
aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir,
- aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, "/handleMallet", "/toolHeadMallet", };
+ aTextVoidDir, aTextVoidDir, aTextVoidDir, aTextVoidDir, "/handleMallet", "/toolHeadMallet", };
public boolean is_custom = false;
diff --git a/src/main/java/gregtech/common/GT_Proxy.java b/src/main/java/gregtech/common/GT_Proxy.java
index 4b2c227413..c80414843b 100644
--- a/src/main/java/gregtech/common/GT_Proxy.java
+++ b/src/main/java/gregtech/common/GT_Proxy.java
@@ -646,6 +646,16 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
public boolean costlyCableConnection = false;
public boolean crashOnNullRecipeInput = false;
+ public enum OreDropSystem {
+ Block,
+ PerDimBlock,
+ UnifiedBlock,
+ FortuneItem,
+ Item
+ }
+
+ public OreDropSystem oreDropSystem = OreDropSystem.FortuneItem;
+
/**
* This enables ambient-occlusion smooth lighting on tiles
*/
diff --git a/src/main/java/gregtech/common/blocks/GT_Block_Ores.java b/src/main/java/gregtech/common/blocks/GT_Block_Ores.java
index 1bfd24f75c..015baa2319 100644
--- a/src/main/java/gregtech/common/blocks/GT_Block_Ores.java
+++ b/src/main/java/gregtech/common/blocks/GT_Block_Ores.java
@@ -10,9 +10,12 @@ import java.util.Arrays;
import net.minecraft.block.Block;
import net.minecraft.block.material.MapColor;
import net.minecraft.block.material.Material;
+import net.minecraft.enchantment.EnchantmentHelper;
+import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
+import net.minecraftforge.common.util.FakePlayer;
import net.minecraftforge.common.util.ForgeDirection;
import cpw.mods.fml.relauncher.Side;
@@ -126,4 +129,26 @@ public class GT_Block_Ores extends GT_Block_Ores_Abstract {
.build();
return rTextures;
}
+
+ @Override
+ public void harvestBlock(World worldIn, EntityPlayer player, int x, int y, int z, int meta) {
+
+ if (EnchantmentHelper.getSilkTouchModifier(player)) {
+ GT_TileEntity_Ores.shouldSilkTouch = true;
+ super.harvestBlock(worldIn, player, x, y, z, meta);
+
+ if (GT_TileEntity_Ores.shouldSilkTouch) {
+ GT_TileEntity_Ores.shouldSilkTouch = false;
+ }
+ return;
+ }
+
+ if (!(player instanceof FakePlayer)) {
+ GT_TileEntity_Ores.shouldFortune = true;
+ }
+ super.harvestBlock(worldIn, player, x, y, z, meta);
+ if (GT_TileEntity_Ores.shouldFortune) {
+ GT_TileEntity_Ores.shouldFortune = false;
+ }
+ }
}
diff --git a/src/main/java/gregtech/common/blocks/GT_TileEntity_Ores.java b/src/main/java/gregtech/common/blocks/GT_TileEntity_Ores.java
index eb9ae2d694..f3d247a265 100644
--- a/src/main/java/gregtech/common/blocks/GT_TileEntity_Ores.java
+++ b/src/main/java/gregtech/common/blocks/GT_TileEntity_Ores.java
@@ -30,6 +30,8 @@ import gregtech.api.util.GT_Utility;
public class GT_TileEntity_Ores extends TileEntity implements IAllSidedTexturedTileEntity {
public short mMetaData = 0;
+ protected static boolean shouldFortune = false;
+ protected static boolean shouldSilkTouch = false;
public boolean mNatural = false;
public boolean mBlocked = true;
public boolean mBlockedChecked = false;
@@ -300,11 +302,74 @@ public class GT_TileEntity_Ores extends TileEntity implements IAllSidedTexturedT
rList.add(new ItemStack(Blocks.cobblestone, 1, 0));
return rList;
}
+ Materials aOreMaterial = GregTech_API.sGeneratedMaterials[(this.mMetaData % 1000)];
if (this.mMetaData < 16000) {
- rList.add(new ItemStack(aDroppedOre, 1, this.mMetaData));
+ boolean tIsRich = false;
+
+ // For Sake of god of balance!
+
+ // Dense ore
+
+ // NetherOre
+ if (GT_Mod.gregtechproxy.mNetherOreYieldMultiplier && !tIsRich) {
+ tIsRich = (this.mMetaData >= 1000 && this.mMetaData < 2000);
+ }
+ // EndOre
+ if (GT_Mod.gregtechproxy.mEndOreYieldMultiplier && !tIsRich) {
+ tIsRich = (this.mMetaData >= 2000 && this.mMetaData < 3000);
+ }
+
+ // Silk Touch
+ if (shouldSilkTouch) {
+ rList.add(new ItemStack(aDroppedOre, 1, this.mMetaData));
+
+ } else {
+ switch (GT_Mod.gregtechproxy.oreDropSystem) {
+ case Item -> {
+ rList.add(GT_OreDictUnificator.get(OrePrefixes.rawOre, aOreMaterial, (tIsRich ? 2 : 1)));
+ }
+ // TODO: Test
+ 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 && aFortune > 0) {
+ int aMinAmount = 1;
+ // Max applicable fortune
+ if (aFortune > 3) aFortune = 3;
+ long amount = (long) new Random().nextInt(aFortune * (tIsRich ? 2 : 1)) + aMinAmount;
+ for (int i = 0; i < amount; i++) {
+ rList.add(GT_OreDictUnificator.get(OrePrefixes.rawOre, aOreMaterial, 1));
+ }
+ } else {
+ for (int i = 0; i < (tIsRich ? 2 : 1); i++) {
+ rList.add(GT_OreDictUnificator.get(OrePrefixes.rawOre, aOreMaterial, 1));
+ }
+ }
+ }
+ case UnifiedBlock -> {
+ // Unified ore
+ for (int i = 0; i < (tIsRich ? 2 : 1); i++) {
+ rList.add(new ItemStack(aDroppedOre, 1, this.mMetaData % 1000));
+ }
+ }
+ case PerDimBlock -> {
+ // Per Dimension ore
+ if (tIsRich) {
+ rList.add(new ItemStack(aDroppedOre, 1, this.mMetaData));
+ } else {
+ rList.add(new ItemStack(aDroppedOre, 1, this.mMetaData % 1000));
+ }
+ }
+ case Block -> {
+ // Regular ore
+ rList.add(new ItemStack(aDroppedOre, 1, this.mMetaData));
+ }
+ }
+ }
return rList;
}
- Materials aOreMaterial = GregTech_API.sGeneratedMaterials[(this.mMetaData % 1000)];
// Everyone gets a free small fortune boost
aFortune += 1;
diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java
index 26a2d1777e..3a0c4a95d8 100644
--- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java
+++ b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java
@@ -46,7 +46,8 @@ public class GT_MetaGenerated_Item_03 extends GT_MetaGenerated_Item_X32 {
OrePrefixes.crateGtIngot,
OrePrefixes.crateGtGem,
OrePrefixes.crateGtPlate,
- OrePrefixes.nanite);
+ OrePrefixes.nanite,
+ OrePrefixes.rawOre);
INSTANCE = this;
Object[] o = new Object[0];
@@ -1078,6 +1079,9 @@ public class GT_MetaGenerated_Item_03 extends GT_MetaGenerated_Item_X32 {
public boolean doesShowInCreative(OrePrefixes aPrefix, Materials aMaterial, boolean aDoShowAllItems) {
return aDoShowAllItems || (aPrefix.toString()
.toLowerCase()
- .contains("nanite"));
+ .contains("nanite"))
+ || (aPrefix.toString()
+ .toLowerCase()
+ .contains("rawore"));
}
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_IntegratedOreFactory.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_IntegratedOreFactory.java
index 9ea42c6a00..27998e97e1 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_IntegratedOreFactory.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_IntegratedOreFactory.java
@@ -163,6 +163,10 @@ public class GT_MetaTileEntity_IntegratedOreFactory extends
for (ItemStack stack : OreDictionary.getOres(name)) {
isOre.add(GT_Utility.stackToInt(stack));
}
+ } else if (name.startsWith("rawOre")) {
+ for (ItemStack stack : OreDictionary.getOres(name)) {
+ isOre.add(GT_Utility.stackToInt(stack));
+ }
}
}
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlantBase.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlantBase.java
index 045374823f..9c15d2b6eb 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlantBase.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlantBase.java
@@ -503,7 +503,16 @@ public abstract class GT_MetaTileEntity_OreDrillingPlantBase extends GT_MetaTile
final int blockMeta = getBaseMetaTileEntity().getMetaID(posX, posY, posZ);
if (oreBlock.canSilkHarvest(getBaseMetaTileEntity().getWorld(), null, posX, posY, posZ, blockMeta)) {
return Collections.singleton(new ItemStack(oreBlock, 1, blockMeta));
- } else return oreBlock.getDrops(getBaseMetaTileEntity().getWorld(), posX, posY, posZ, blockMeta, mTier + 3);
+ }
+ if (oreBlock instanceof GT_Block_Ores_Abstract) {
+ TileEntity tTileEntity = getBaseMetaTileEntity().getTileEntity(posX, posY, posZ);
+ if (tTileEntity instanceof GT_TileEntity_Ores && ((GT_TileEntity_Ores) tTileEntity).mMetaData >= 16000) {
+ // GT_Log.out.println("Running Small Ore");
+ return oreBlock.getDrops(getBaseMetaTileEntity().getWorld(), posX, posY, posZ, blockMeta, mTier + 3);
+ }
+ }
+ // GT_Log.out.println("Running Normal Ore");
+ return oreBlock.getDrops(getBaseMetaTileEntity().getWorld(), posX, posY, posZ, blockMeta, 0);
}
private boolean tryConsumeDrillingFluid(boolean simulate) {
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingRawOre.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingRawOre.java
new file mode 100644
index 0000000000..5ece6f5315
--- /dev/null
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingRawOre.java
@@ -0,0 +1,219 @@
+package gregtech.loaders.oreprocessing;
+
+import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes;
+import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes;
+import static gregtech.api.recipe.RecipeMaps.hammerRecipes;
+import static gregtech.api.recipe.RecipeMaps.maceratorRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+import static gregtech.api.util.GT_RecipeConstants.COIL_HEAT;
+
+import net.minecraft.item.ItemStack;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.enums.SubTag;
+import gregtech.api.enums.TierEU;
+import gregtech.api.enums.ToolDictNames;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Utility;
+
+public class ProcessingRawOre implements gregtech.api.interfaces.IOreRecipeRegistrator {
+
+ private final OrePrefixes[] mRawOrePrefixes = { OrePrefixes.rawOre };
+
+ public ProcessingRawOre() {
+ for (OrePrefixes tPrefix : this.mRawOrePrefixes) tPrefix.add(this);
+ }
+
+ @Override
+ public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName,
+ ItemStack aStack) {
+ if (aMaterial == Materials.Oilsands) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1, aStack))
+ .itemOutputs(new ItemStack(net.minecraft.init.Blocks.sand, 1, 0))
+ .outputChances(4000)
+ .fluidOutputs(Materials.OilHeavy.getFluid(2000L))
+ .duration(15 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(centrifugeRecipes);
+ } else {
+ registerStandardOreRecipes(
+ aPrefix,
+ aMaterial,
+ GT_Utility.copyAmount(1, aStack),
+ Math.max(
+ 1,
+ gregtech.api.GregTech_API.sOPStuff.get(
+ gregtech.api.enums.ConfigCategories.Materials.oreprocessingoutputmultiplier,
+ aMaterial.toString(),
+ 1)));
+ }
+ }
+
+ private boolean registerStandardOreRecipes(OrePrefixes aPrefix, Materials aMaterial, ItemStack aOreStack,
+ int aMultiplier) {
+ if ((aOreStack == null) || (aMaterial == null)) return false;
+ GT_ModHandler
+ .addValuableOre(GT_Utility.getBlockFromStack(aOreStack), aOreStack.getItemDamage(), aMaterial.mOreValue);
+ Materials tMaterial = aMaterial.mOreReplacement;
+ Materials tPrimaryByMaterial = null;
+ aMultiplier = Math.max(1, aMultiplier);
+ aOreStack = GT_Utility.copyAmount(1, aOreStack);
+ aOreStack.stackSize = 1;
+ ItemStack tIngot = GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial.mDirectSmelting, 1L);
+ ItemStack tGem = GT_OreDictUnificator.get(OrePrefixes.gem, tMaterial, 1L);
+ ItemStack tSmeltInto = tIngot
+ == null
+ ? null
+ : aMaterial.contains(SubTag.SMELTING_TO_GEM)
+ ? GT_OreDictUnificator.get(
+ OrePrefixes.gem,
+ tMaterial.mDirectSmelting,
+ GT_OreDictUnificator.get(
+ OrePrefixes.crystal,
+ tMaterial.mDirectSmelting,
+ GT_OreDictUnificator.get(
+ OrePrefixes.gem,
+ tMaterial,
+ GT_OreDictUnificator.get(OrePrefixes.crystal, tMaterial, 1L),
+ 1L),
+ 1L),
+ 1L)
+ : tIngot;
+ ItemStack tDust = GT_OreDictUnificator.get(OrePrefixes.dust, tMaterial, tGem, 1L);
+ ItemStack tCleaned = GT_OreDictUnificator.get(OrePrefixes.crushedPurified, tMaterial, tDust, 1L);
+ ItemStack tCrushed = GT_OreDictUnificator.get(OrePrefixes.crushed, tMaterial, (long) aMaterial.mOreMultiplier);
+ ItemStack tPrimaryByProduct = null;
+
+ if (tCrushed == null) {
+ tCrushed = GT_OreDictUnificator.get(
+ OrePrefixes.dustImpure,
+ tMaterial,
+ GT_Utility.copyAmount(aMaterial.mOreMultiplier, tCleaned, tDust, tGem),
+ (long) aMaterial.mOreMultiplier);
+ }
+
+ for (Materials tMat : aMaterial.mOreByProducts) {
+ GT_OreDictUnificator.get(OrePrefixes.dust, tMat, 1L);
+ if (tPrimaryByProduct == null) {
+ tPrimaryByMaterial = tMat;
+ tPrimaryByProduct = GT_OreDictUnificator.get(OrePrefixes.dust, tMat, 1L);
+ if (GT_OreDictUnificator.get(OrePrefixes.dustSmall, tMat, 1L) == null) GT_OreDictUnificator
+ .get(OrePrefixes.dustTiny, tMat, GT_OreDictUnificator.get(OrePrefixes.nugget, tMat, 2L), 2L);
+ }
+ GT_OreDictUnificator.get(OrePrefixes.dust, tMat, 1L);
+ if (GT_OreDictUnificator.get(OrePrefixes.dustSmall, tMat, 1L) == null) GT_OreDictUnificator
+ .get(OrePrefixes.dustTiny, tMat, GT_OreDictUnificator.get(OrePrefixes.nugget, tMat, 2L), 2L);
+ }
+
+ if (tPrimaryByMaterial == null) tPrimaryByMaterial = tMaterial;
+ if (tPrimaryByProduct == null) tPrimaryByProduct = tDust;
+ boolean tHasSmelting = false;
+
+ if (tSmeltInto != null) {
+ if ((aMaterial.mBlastFurnaceRequired) || (aMaterial.mDirectSmelting.mBlastFurnaceRequired)) {
+ GT_ModHandler.removeFurnaceSmelting(aOreStack);
+ } else {
+ tHasSmelting = GT_ModHandler
+ .addSmeltingRecipe(aOreStack, GT_Utility.copyAmount(aMaterial.mSmeltingMultiplier, tSmeltInto));
+ }
+
+ if (aMaterial.contains(SubTag.BLASTFURNACE_CALCITE_TRIPLE)) {
+ if (aMaterial.mAutoGenerateBlastFurnaceRecipes) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ aOreStack,
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcite, aMultiplier))
+ .itemOutputs(
+ GT_Utility.mul(3 * aMaterial.mSmeltingMultiplier, tSmeltInto),
+ GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.DarkAsh, 1L))
+ .duration(tSmeltInto.stackSize * 25 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .metadata(COIL_HEAT, 1500)
+ .addTo(blastFurnaceRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ aOreStack,
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Quicklime, aMultiplier))
+ .itemOutputs(
+ GT_Utility.mul(3 * aMaterial.mSmeltingMultiplier, tSmeltInto),
+ GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.DarkAsh, 1L))
+ .duration(tSmeltInto.stackSize * 25 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .metadata(COIL_HEAT, 1500)
+ .addTo(blastFurnaceRecipes);
+ }
+ } else if (aMaterial.contains(SubTag.BLASTFURNACE_CALCITE_DOUBLE)) {
+ if (aMaterial.mAutoGenerateBlastFurnaceRecipes) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ aOreStack,
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcite, aMultiplier))
+ .itemOutputs(
+ GT_Utility.mul(2 * aMaterial.mSmeltingMultiplier, tSmeltInto),
+ GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.DarkAsh, 1L))
+ .duration(tSmeltInto.stackSize * 25 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .metadata(COIL_HEAT, 1500)
+ .addTo(blastFurnaceRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ aOreStack,
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Quicklime, aMultiplier))
+ .itemOutputs(
+ GT_Utility.mul(2 * aMaterial.mSmeltingMultiplier, tSmeltInto),
+ GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.DarkAsh, 1L))
+ .duration(tSmeltInto.stackSize * 25 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .metadata(COIL_HEAT, 1500)
+ .addTo(blastFurnaceRecipes);
+ }
+ }
+ }
+
+ if (!tHasSmelting) {
+ GT_ModHandler.addSmeltingRecipe(
+ aOreStack,
+ GT_OreDictUnificator
+ .get(OrePrefixes.gem, tMaterial.mDirectSmelting, Math.max(1, aMaterial.mSmeltingMultiplier / 2)));
+ }
+
+ if (tCrushed != null) {
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_Utility.mul(1, tCrushed),
+ new Object[] { aOreStack, ToolDictNames.craftingToolHardHammer });
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(aOreStack)
+ .itemOutputs(GT_Utility.copy(GT_Utility.copyAmount(tCrushed.stackSize, tGem), tCrushed))
+ .duration(10)
+ .eut(16)
+ .addTo(hammerRecipes);
+
+ int chanceOre2 = tPrimaryByProduct == null ? 0
+ : tPrimaryByProduct.stackSize * 5 * aMaterial.mByProductMultiplier;
+ chanceOre2 = 100 * chanceOre2; // converting to the GT format, 100% is 10000
+ GT_Values.RA.stdBuilder()
+ .itemInputs(aOreStack)
+ .itemOutputs(
+ GT_Utility.mul(2, tCrushed),
+ tMaterial.contains(SubTag.PULVERIZING_CINNABAR) ? GT_OreDictUnificator.get(
+ OrePrefixes.crystal,
+ Materials.Cinnabar,
+ GT_OreDictUnificator
+ .get(OrePrefixes.gem, tPrimaryByMaterial, GT_Utility.copyAmount(1, tPrimaryByProduct), 1L),
+ 1L)
+ : GT_OreDictUnificator
+ .get(OrePrefixes.gem, tPrimaryByMaterial, GT_Utility.copyAmount(1, tPrimaryByProduct), 1L),
+ GT_OreDictUnificator.getDust(aPrefix.mSecondaryMaterial))
+ .outputChances(10000, chanceOre2, 5000)
+ .duration(20 * SECONDS)
+ .eut(2)
+ .addTo(maceratorRecipes);
+ }
+ return true;
+ }
+}
diff --git a/src/main/java/gregtech/loaders/preload/GT_Loader_OreProcessing.java b/src/main/java/gregtech/loaders/preload/GT_Loader_OreProcessing.java
index fd19cd6ab8..116b6928e4 100644
--- a/src/main/java/gregtech/loaders/preload/GT_Loader_OreProcessing.java
+++ b/src/main/java/gregtech/loaders/preload/GT_Loader_OreProcessing.java
@@ -34,6 +34,7 @@ import gregtech.loaders.oreprocessing.ProcessingPipe;
import gregtech.loaders.oreprocessing.ProcessingPlank;
import gregtech.loaders.oreprocessing.ProcessingPlate;
import gregtech.loaders.oreprocessing.ProcessingPure;
+import gregtech.loaders.oreprocessing.ProcessingRawOre;
import gregtech.loaders.oreprocessing.ProcessingRecycling;
import gregtech.loaders.oreprocessing.ProcessingRotor;
import gregtech.loaders.oreprocessing.ProcessingRound;
@@ -89,6 +90,7 @@ public class GT_Loader_OreProcessing implements Runnable {
new ProcessingOre();
new ProcessingOrePoor();
new ProcessingOreSmelting();
+ new ProcessingRawOre();
new ProcessingPipe();
new ProcessingPlank();
new ProcessingPlate();
diff --git a/src/main/java/gregtech/loaders/preload/GT_PreLoad.java b/src/main/java/gregtech/loaders/preload/GT_PreLoad.java
index ba1edbd0e2..bbbb9af59d 100644
--- a/src/main/java/gregtech/loaders/preload/GT_PreLoad.java
+++ b/src/main/java/gregtech/loaders/preload/GT_PreLoad.java
@@ -55,6 +55,7 @@ import gregtech.api.util.GT_Log;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_RecipeBuilder;
import gregtech.api.util.GT_Utility;
+import gregtech.common.GT_Proxy;
import gregtech.common.tileentities.machines.long_distance.GT_MetaTileEntity_LongDistancePipelineBase;
import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_Cleanroom;
@@ -280,7 +281,7 @@ public class GT_PreLoad {
null, "ingot", "ingotHot", "ingotDouble", "ingotTriple", "ingotQuadruple",
"ingotQuintuple", "plate", "plateDouble", "plateTriple", "plateQuadruple",
"plateQuintuple", "plateDense", "stick", "lens", "round", "bolt", "screw", "ring",
- "foil", "cell", "cellPlasma", "cellMolten" };
+ "foil", "cell", "cellPlasma", "cellMolten", "rawOre" };
if (mIt == 2) tags = new String[] { "toolHeadSword", "toolHeadPickaxe",
"toolHeadShovel", "toolHeadAxe", "toolHeadHoe", "toolHeadHammer", "toolHeadFile",
"toolHeadSaw", "toolHeadDrill", "toolHeadChainsaw", "toolHeadWrench",
@@ -313,7 +314,7 @@ public class GT_PreLoad {
"toolHeadUniversalSpade", "toolHeadSense", "toolHeadPlow", "toolHeadArrow", "toolHeadBuzzSaw",
"turbineBlade", "wireFine", "gearGtSmall", "rotor", "stickLong", "springSmall", "spring", "arrowGtWood",
"arrowGtPlastic", "gemChipped", "gemFlawed", "gemFlawless", "gemExquisite", "gearGt", "crateGtDust",
- "crateGtIngot", "crateGtGem", "crateGtPlate", "nanite", "cellMolten" };
+ "crateGtIngot", "crateGtGem", "crateGtPlate", "nanite", "cellMolten", "rawOre" };
List<String> mMTTags = new ArrayList<>();
oreTags.stream()
@@ -761,6 +762,21 @@ public class GT_PreLoad {
GT_MetaTileEntity_LongDistancePipelineBase.minimalDistancePoints = tMainConfig
.get("general", "LongDistancePipelineMinimalDistancePoints", 64)
.getInt(64);
+ try {
+ String setting_string = tMainConfig.get(
+ "OreDropBehaviour",
+ "general",
+ "FortuneItem",
+ "Settings: \n'PerDimBlock': Sets the drop to the block variant of the ore block based on dimension, defaults to stone type, \n'UnifiedBlock': Sets the drop to the stone variant of the ore block, \n'Block': Sets the drop to the ore mined, \n'FortuneItem': Sets the drop to the new ore item and makes it affected by fortune, \n'Item': Sets the drop to the new ore item, \nDefaults to: 'FortuneItem'")
+ .getString();
+ GT_Log.out.println("Trying to set it to: " + setting_string);
+ GT_Proxy.OreDropSystem setting = GT_Proxy.OreDropSystem.valueOf(setting_string);
+ GT_Mod.gregtechproxy.oreDropSystem = setting;
+
+ } catch (IllegalArgumentException e) {
+ GT_Log.err.println(e);
+ GT_Mod.gregtechproxy.oreDropSystem = GT_Proxy.OreDropSystem.FortuneItem;
+ }
GT_Mod.gregtechproxy.mChangeHarvestLevels = GregTech_API.sMaterialProperties
.get("havestLevel", "activateHarvestLevelChange", false); // TODO CHECK
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/oreRaw.png b/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/oreRaw.png
new file mode 100644
index 0000000000..9934452754
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/oreRaw.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/oreRaw_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/oreRaw_OVERLAY.png
new file mode 100644
index 0000000000..a8a3153147
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/oreRaw_OVERLAY.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/oreRaw.png b/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/oreRaw.png
new file mode 100644
index 0000000000..2ffdb3feae
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/oreRaw.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/oreRaw_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/oreRaw_OVERLAY.png
new file mode 100644
index 0000000000..fbc3a6800e
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/DULL/oreRaw_OVERLAY.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/oreRaw.png b/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/oreRaw.png
new file mode 100644
index 0000000000..9934452754
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/oreRaw.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/oreRaw_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/oreRaw_OVERLAY.png
new file mode 100644
index 0000000000..a8a3153147
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/oreRaw_OVERLAY.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/oreRaw.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/oreRaw.png
new file mode 100644
index 0000000000..d62139a374
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/oreRaw.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/oreRaw_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/oreRaw_OVERLAY.png
new file mode 100644
index 0000000000..fbc3a6800e
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/FIERY/oreRaw_OVERLAY.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/oreRaw.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/oreRaw.png
new file mode 100644
index 0000000000..d62139a374
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/oreRaw.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/oreRaw_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/oreRaw_OVERLAY.png
new file mode 100644
index 0000000000..fbc3a6800e
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/FINE/oreRaw_OVERLAY.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/oreRaw.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/oreRaw.png
new file mode 100644
index 0000000000..d62139a374
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/oreRaw.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/oreRaw_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/oreRaw_OVERLAY.png
new file mode 100644
index 0000000000..fbc3a6800e
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/FLINT/oreRaw_OVERLAY.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/oreRaw.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/oreRaw.png
new file mode 100644
index 0000000000..d62139a374
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/oreRaw.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/oreRaw_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/oreRaw_OVERLAY.png
new file mode 100644
index 0000000000..fbc3a6800e
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/FLUID/oreRaw_OVERLAY.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/oreRaw.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/oreRaw.png
new file mode 100644
index 0000000000..9934452754
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/oreRaw.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/oreRaw_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/oreRaw_OVERLAY.png
new file mode 100644
index 0000000000..a8a3153147
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/oreRaw_OVERLAY.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/oreRaw.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/oreRaw.png
new file mode 100644
index 0000000000..9934452754
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/oreRaw.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/oreRaw_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/oreRaw_OVERLAY.png
new file mode 100644
index 0000000000..a8a3153147
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/oreRaw_OVERLAY.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/oreRaw.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/oreRaw.png
new file mode 100644
index 0000000000..b275591db9
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/oreRaw.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/oreRaw_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/oreRaw_OVERLAY.png
new file mode 100644
index 0000000000..fbc3a6800e
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/GLASS/oreRaw_OVERLAY.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/oreRaw.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/oreRaw.png
new file mode 100644
index 0000000000..9934452754
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/oreRaw.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/oreRaw_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/oreRaw_OVERLAY.png
new file mode 100644
index 0000000000..a8a3153147
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/oreRaw_OVERLAY.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/oreRaw.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/oreRaw.png
new file mode 100644
index 0000000000..d62139a374
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/oreRaw.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/oreRaw_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/oreRaw_OVERLAY.png
new file mode 100644
index 0000000000..fbc3a6800e
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/LEAF/oreRaw_OVERLAY.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/oreRaw.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/oreRaw.png
new file mode 100644
index 0000000000..d62139a374
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/oreRaw.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/oreRaw_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/oreRaw_OVERLAY.png
new file mode 100644
index 0000000000..fbc3a6800e
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/oreRaw_OVERLAY.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/oreRaw.png b/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/oreRaw.png
new file mode 100644
index 0000000000..d62139a374
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/oreRaw.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/oreRaw_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/oreRaw_OVERLAY.png
new file mode 100644
index 0000000000..fbc3a6800e
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/oreRaw_OVERLAY.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/oreRaw.png b/src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/oreRaw.png
new file mode 100644
index 0000000000..24e8f98813
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/oreRaw.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/oreRaw_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/oreRaw_OVERLAY.png
new file mode 100644
index 0000000000..fbc3a6800e
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/oreRaw_OVERLAY.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/oreRaw.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/oreRaw.png
new file mode 100644
index 0000000000..d62139a374
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/oreRaw.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/oreRaw_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/oreRaw_OVERLAY.png
new file mode 100644
index 0000000000..fbc3a6800e
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/oreRaw_OVERLAY.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/oreRaw.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/oreRaw.png
new file mode 100644
index 0000000000..d62139a374
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/oreRaw.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/oreRaw_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/oreRaw_OVERLAY.png
new file mode 100644
index 0000000000..fbc3a6800e
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/NONE/oreRaw_OVERLAY.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/oreRaw.png b/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/oreRaw.png
new file mode 100644
index 0000000000..9934452754
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/oreRaw.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/oreRaw_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/oreRaw_OVERLAY.png
new file mode 100644
index 0000000000..a8a3153147
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/OPAL/oreRaw_OVERLAY.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/oreRaw.png b/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/oreRaw.png
new file mode 100644
index 0000000000..d62139a374
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/oreRaw.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/oreRaw_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/oreRaw_OVERLAY.png
new file mode 100644
index 0000000000..fbc3a6800e
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/PAPER/oreRaw_OVERLAY.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/oreRaw.png b/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/oreRaw.png
new file mode 100644
index 0000000000..d62139a374
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/oreRaw.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/oreRaw_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/oreRaw_OVERLAY.png
new file mode 100644
index 0000000000..fbc3a6800e
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/POWDER/oreRaw_OVERLAY.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/oreRaw.png b/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/oreRaw.png
new file mode 100644
index 0000000000..b275591db9
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/oreRaw.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/oreRaw_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/oreRaw_OVERLAY.png
new file mode 100644
index 0000000000..fbc3a6800e
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/oreRaw_OVERLAY.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/oreRaw.png b/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/oreRaw.png
new file mode 100644
index 0000000000..d62139a374
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/oreRaw.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/oreRaw_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/oreRaw_OVERLAY.png
new file mode 100644
index 0000000000..fbc3a6800e
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/oreRaw_OVERLAY.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/oreRaw.png b/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/oreRaw.png
new file mode 100644
index 0000000000..9934452754
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/oreRaw.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/oreRaw_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/oreRaw_OVERLAY.png
new file mode 100644
index 0000000000..a8a3153147
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/RUBY/oreRaw_OVERLAY.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/oreRaw.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/oreRaw.png
new file mode 100644
index 0000000000..d62139a374
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/oreRaw.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/oreRaw_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/oreRaw_OVERLAY.png
new file mode 100644
index 0000000000..fbc3a6800e
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/SAND/oreRaw_OVERLAY.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/oreRaw.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/oreRaw.png
new file mode 100644
index 0000000000..9934452754
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/oreRaw.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/oreRaw_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/oreRaw_OVERLAY.png
new file mode 100644
index 0000000000..a8a3153147
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/oreRaw_OVERLAY.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/oreRaw.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/oreRaw.png
new file mode 100644
index 0000000000..b275591db9
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/oreRaw.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/oreRaw_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/oreRaw_OVERLAY.png
new file mode 100644
index 0000000000..fbc3a6800e
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/SHINY/oreRaw_OVERLAY.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/oreRaw.png b/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/oreRaw.png
new file mode 100644
index 0000000000..d62139a374
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/oreRaw.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/oreRaw_OVERLAY.png b/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/oreRaw_OVERLAY.png
new file mode 100644
index 0000000000..fbc3a6800e
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/materialicons/WOOD/oreRaw_OVERLAY.png
Binary files differ