diff --git a/dependencies.gradle b/dependencies.gradle index 112c8e2d2c9..d3b9586622d 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -62,6 +62,8 @@ dependencies { compileOnly rfg.deobf("curse.maven:chisel-235279:2915375") // Chisel 1.0.2.45 compileOnly rfg.deobf("curse.maven:littletiles-257818:4750222") // LittleTiles 1.5.82-1.12.2 compileOnly rfg.deobf("curse.maven:creativecore-257814:4722163") // Creative Core 1.10.71 + compileOnly rfg.deobf("curse.maven:exnihilo-274456:2817545") // Ex Nihilo Creatio 0.4.7.2 + compileOnly rfg.deobf("curse.maven:forgelin-248453:2785465") // Forgelin 1.8.4 // Mods with Soft compat but which have no need to be in code, such as isModLoaded() checks and getModItem() recipes. // Uncomment any of these to test them in-game. diff --git a/src/main/java/gregtech/GregTechMod.java b/src/main/java/gregtech/GregTechMod.java index 4ae0d0745c2..1487b1be5f9 100644 --- a/src/main/java/gregtech/GregTechMod.java +++ b/src/main/java/gregtech/GregTechMod.java @@ -35,7 +35,7 @@ "after:appliedenergistics2;" + "after:forestry;" + "after:extrabees;" + "after:extratrees;" + "after:genetics;" + "after:magicbees;" + "after:jei@[4.15.0,);" + "after:crafttweaker@[4.1.20,);" + "after:groovyscript@[1.2.0,);" + - "after:theoneprobe;" + "after:hwyla;") + "after:theoneprobe;" + "after:hwyla;" + "after:exnihilocreatio;") public class GregTechMod { // Hold this so that we can reference non-interface methods without diff --git a/src/main/java/gregtech/api/gui/GuiTextures.java b/src/main/java/gregtech/api/gui/GuiTextures.java index 8c984b5d4ed..d51f458f769 100644 --- a/src/main/java/gregtech/api/gui/GuiTextures.java +++ b/src/main/java/gregtech/api/gui/GuiTextures.java @@ -377,6 +377,8 @@ public class GuiTextures { .fullImage("textures/gui/progress_bar/progress_bar_replicator.png"); public static final TextureArea PROGRESS_BAR_SIFT = TextureArea .fullImage("textures/gui/progress_bar/progress_bar_sift.png"); + public static final SteamTexture PROGRESS_BAR_SIFT_STEAM = SteamTexture + .fullImage("textures/gui/progress_bar/progress_bar_sift_%s.png"); public static final TextureArea PROGRESS_BAR_SLICE = TextureArea .fullImage("textures/gui/progress_bar/progress_bar_slice.png"); public static final SteamTexture PROGRESS_BAR_SOLAR_STEAM = SteamTexture diff --git a/src/main/java/gregtech/api/unification/ore/OrePrefix.java b/src/main/java/gregtech/api/unification/ore/OrePrefix.java index ad05ae197ae..47df289f29c 100644 --- a/src/main/java/gregtech/api/unification/ore/OrePrefix.java +++ b/src/main/java/gregtech/api/unification/ore/OrePrefix.java @@ -254,6 +254,8 @@ public class OrePrefix { // Prefix to determine which kind of Rock this is. public static final OrePrefix stone = new OrePrefix("stone", -1, Materials.Stone, null, SELF_REFERENCING, null); + public static final OrePrefix cobble = new OrePrefix("cobble", -1, null, null, 0, null); + public static final OrePrefix frameGt = new OrePrefix("frameGt", M * 2, null, null, ENABLE_UNIFICATION, material -> material.hasFlag(GENERATE_FRAME)); diff --git a/src/main/java/gregtech/api/util/Mods.java b/src/main/java/gregtech/api/util/Mods.java index 4c73cbdb699..334a4475500 100644 --- a/src/main/java/gregtech/api/util/Mods.java +++ b/src/main/java/gregtech/api/util/Mods.java @@ -41,6 +41,7 @@ public enum Mods { CraftTweaker(Names.CRAFT_TWEAKER), EnderCore(Names.ENDER_CORE), EnderIO(Names.ENDER_IO), + ExNihiloCreatio(Names.EX_NIHILO_CREATIO), ExtraBees(Names.EXTRA_BEES), ExtraTrees(Names.EXTRA_TREES), ExtraUtilities2(Names.EXTRA_UTILITIES2), @@ -156,6 +157,7 @@ public static class Names { public static final String XAEROS_MINIMAP = "xaerominimap"; public static final String VINTAGIUM = "vintagium"; public static final String ALFHEIM = "alfheim"; + public static final String EX_NIHILO_CREATIO = "exnihilocreatio"; } private final String ID; diff --git a/src/main/java/gregtech/common/metatileentities/MetaTileEntityRegistration.java b/src/main/java/gregtech/common/metatileentities/MetaTileEntityRegistration.java index 55cd52e5cd4..add5822ffb4 100644 --- a/src/main/java/gregtech/common/metatileentities/MetaTileEntityRegistration.java +++ b/src/main/java/gregtech/common/metatileentities/MetaTileEntityRegistration.java @@ -142,6 +142,8 @@ static void register() { // Multiblock parts: 11000-12999 multiblockParts(); + + // Ex Nihilo integration: 13000-13014 } /** diff --git a/src/main/java/gregtech/integration/exnihilo/ExNihiloConfig.java b/src/main/java/gregtech/integration/exnihilo/ExNihiloConfig.java new file mode 100644 index 00000000000..aa6b5a7e18a --- /dev/null +++ b/src/main/java/gregtech/integration/exnihilo/ExNihiloConfig.java @@ -0,0 +1,35 @@ +package gregtech.integration.exnihilo; + +import gregtech.api.GTValues; + +import net.minecraftforge.common.config.Config; + +import static net.minecraftforge.common.config.Config.Comment; +import static net.minecraftforge.common.config.Config.LangKey; +import static net.minecraftforge.common.config.Config.RequiresMcRestart; + +@LangKey("gregtech.config.ex_nihilo") +@Config(modid = GTValues.MODID, name = GTValues.MODID + "/ex_nihilo", category = "Ex Nihilo") +public class ExNihiloConfig { + + @Config.Comment({ + "Override all Sifting Tables to drop excess outputs once GT drops have been added.", + "Default: true" + }) + @RequiresMcRestart + public static boolean overrideAllSiftDrops = true; + + @Comment({ + "Replace Ex Nihilo Mesh recipes with GT-style recipes", + "Default: true" + }) + @RequiresMcRestart + public static boolean harderMeshes = true; + + @Comment({ + "Mirror all Ex Nihilo Crucible recipes to the Fluid Extractor.", + "Default: true" + }) + @RequiresMcRestart + public static boolean crucibleExtractorRecipes = true; +} diff --git a/src/main/java/gregtech/integration/exnihilo/ExNihiloModule.java b/src/main/java/gregtech/integration/exnihilo/ExNihiloModule.java new file mode 100644 index 00000000000..112e2780959 --- /dev/null +++ b/src/main/java/gregtech/integration/exnihilo/ExNihiloModule.java @@ -0,0 +1,115 @@ +package gregtech.integration.exnihilo; + +import gregtech.api.GTValues; +import gregtech.api.modules.GregTechModule; +import gregtech.api.recipes.RecipeMap; +import gregtech.api.recipes.RecipeMapBuilder; +import gregtech.api.recipes.builders.SimpleRecipeBuilder; +import gregtech.api.unification.material.event.MaterialEvent; +import gregtech.api.unification.material.info.MaterialIconType; +import gregtech.api.unification.ore.OrePrefix; +import gregtech.api.util.Mods; +import gregtech.common.items.MetaItems; +import gregtech.integration.IntegrationModule; +import gregtech.integration.IntegrationSubmodule; +import gregtech.integration.exnihilo.items.ExNihiloPebble; +import gregtech.integration.exnihilo.metatileentities.MetaTileEntities; +import gregtech.integration.exnihilo.recipes.CraftingRecipes; +import gregtech.integration.exnihilo.recipes.MachineRecipes; +import gregtech.integration.exnihilo.recipes.SieveDrops; +import gregtech.integration.exnihilo.recipes.SieveRecipes; +import gregtech.integration.exnihilo.recipes.ui.SieveUI; +import gregtech.modules.GregTechModules; + +import net.minecraft.init.SoundEvents; +import net.minecraft.item.crafting.IRecipe; +import net.minecraftforge.event.RegistryEvent; +import net.minecraftforge.fml.common.event.FMLInitializationEvent; +import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; +import net.minecraftforge.fml.common.eventhandler.EventPriority; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; + +import org.jetbrains.annotations.NotNull; + +import java.util.Collections; +import java.util.List; + +import static gregtech.api.unification.ore.OrePrefix.Conditions.hasOreProperty; +import static gregtech.api.unification.ore.OrePrefix.Flags.ENABLE_UNIFICATION; + +@GregTechModule( + moduleID = GregTechModules.MODULE_EX_NIHILO, + containerID = GTValues.MODID, + modDependencies = Mods.Names.EX_NIHILO_CREATIO, + name = "GregTech Ex Nihilo Creatio Integration", + description = "Ex Nihilo Integration Module") +public class ExNihiloModule extends IntegrationSubmodule { + + // Items + public static ExNihiloPebble pebbleItem; + + // Recipe maps + public static final RecipeMap SIEVE_RECIPES = new RecipeMapBuilder<>("electric_sieve", + new SimpleRecipeBuilder().duration(100).EUt(4)) + .itemInputs(2) + .itemOutputs(36) + .ui(SieveUI::new) + .sound(SoundEvents.BLOCK_SAND_PLACE) + .build(); + + // Ore prefixes + public static OrePrefix oreChunk; + public static OrePrefix oreEnderChunk; + public static OrePrefix oreNetherChunk; + + // Icon Types + public static MaterialIconType oreChunkIcon; + public static MaterialIconType oreEnderChunkIcon; + public static MaterialIconType oreNetherChunkIcon; + + @NotNull + @Override + public List> getEventBusSubscribers() { + return Collections.singletonList(ExNihiloModule.class); + } + + @Override + public void preInit(@NotNull FMLPreInitializationEvent event) { + getLogger().info("Registering Ex Nihilo Compat Items, Blocks, and Machines"); + pebbleItem = new ExNihiloPebble(); + MetaTileEntities.registerMetaTileEntities(); + } + + // Has to be done in init phase because of ExNi registering outside the Registry event + @Override + public void init(@NotNull FMLInitializationEvent event) { + SieveDrops.registerSiftingRecipes(); + MachineRecipes.mirrorExNihiloRecipes(); + } + + @SubscribeEvent() + public static void registerRecipes(RegistryEvent.Register event) { + IntegrationModule.logger.info("Registering Ex Nihilo Compat Recipes"); + CraftingRecipes.registerRecipes(); + MachineRecipes.registerRecipes(); + SieveRecipes.registerRecipes(); + } + + @SubscribeEvent(priority = EventPriority.LOW) + public static void registerMaterials(MaterialEvent event) { + oreChunkIcon = new MaterialIconType("oreChunk"); + oreEnderChunkIcon = new MaterialIconType("oreEnderChunk"); + oreNetherChunkIcon = new MaterialIconType("oreNetherChunk"); + + oreChunk = new OrePrefix("oreChunk", -1, null, oreChunkIcon, ENABLE_UNIFICATION, hasOreProperty); + oreEnderChunk = new OrePrefix("oreEnderChunk", -1, null, oreEnderChunkIcon, ENABLE_UNIFICATION, hasOreProperty); + oreNetherChunk = new OrePrefix("oreNetherChunk", -1, null, oreNetherChunkIcon, ENABLE_UNIFICATION, + hasOreProperty); + + oreChunk.setAlternativeOreName(OrePrefix.ore.name()); + oreEnderChunk.setAlternativeOreName(OrePrefix.oreEndstone.name()); + oreNetherChunk.setAlternativeOreName(OrePrefix.oreNetherrack.name()); + + MetaItems.addOrePrefix(oreChunk, oreEnderChunk, oreNetherChunk); + } +} diff --git a/src/main/java/gregtech/integration/exnihilo/items/ExNihiloPebble.java b/src/main/java/gregtech/integration/exnihilo/items/ExNihiloPebble.java new file mode 100644 index 00000000000..4ba814e754c --- /dev/null +++ b/src/main/java/gregtech/integration/exnihilo/items/ExNihiloPebble.java @@ -0,0 +1,114 @@ +package gregtech.integration.exnihilo.items; + +import gregtech.api.util.GTUtility; +import gregtech.integration.exnihilo.ExNihiloModule; + +import net.minecraft.client.renderer.block.model.ModelBakery; +import net.minecraft.client.renderer.block.model.ModelResourceLocation; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.SoundEvents; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.*; +import net.minecraft.world.World; +import net.minecraftforge.client.event.ModelRegistryEvent; +import net.minecraftforge.client.model.ModelLoader; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; + +import exnihilocreatio.ExNihiloCreatio; +import exnihilocreatio.entities.ProjectileStone; +import exnihilocreatio.util.Data; +import exnihilocreatio.util.IHasModel; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public class ExNihiloPebble extends Item implements IHasModel { + + public ExNihiloPebble() { + setTranslationKey("gtPebble"); + setRegistryName(GTUtility.gregtechId("pebble")); + setCreativeTab(ExNihiloCreatio.tabExNihilo); + setHasSubtypes(true); + Data.ITEMS.add(this); + } + + @Override + @NotNull + public String getTranslationKey(@NotNull ItemStack stack) { + return String.format("%s.%s", getTranslationKey(), GTPebbles.VALUES[stack.getMetadata()].getName()); + } + + @Override + public void getSubItems(@Nullable CreativeTabs tab, @NotNull NonNullList list) { + if (tab != null && isInCreativeTab(tab)) { + for (GTPebbles pebble : GTPebbles.VALUES) { + list.add(new ItemStack(ExNihiloModule.pebbleItem, 1, pebble.ordinal())); + } + } + } + + @Override + @NotNull + public ActionResult onItemRightClick(@NotNull World world, @NotNull EntityPlayer player, + @NotNull EnumHand hand) { + ItemStack stack = player.getHeldItem(hand); + + if (!stack.isEmpty()) { + world.playSound(player, player.posX, player.posY, player.posZ, + SoundEvents.ENTITY_SNOWBALL_THROW, SoundCategory.NEUTRAL, 0.5F, + 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F)); + + if (!world.isRemote) { + ItemStack thrown = stack.copy(); + thrown.setCount(1); + + ProjectileStone projectile = new ProjectileStone(world, player); + projectile.setStack(thrown); + projectile.shoot(player, player.rotationPitch, player.rotationYaw, 0.0F, 1.5F, 0.5F); + world.spawnEntity(projectile); + } + + if (!player.capabilities.isCreativeMode) { + stack.shrink(1); + } + return new ActionResult<>(EnumActionResult.SUCCESS, stack); + } + return new ActionResult<>(EnumActionResult.PASS, stack); + } + + @Override + @SideOnly(Side.CLIENT) + public void initModel(ModelRegistryEvent e) { + ModelResourceLocation[] locations = new ModelResourceLocation[GTPebbles.VALUES.length]; + for (GTPebbles pebble : GTPebbles.VALUES) { + locations[pebble.ordinal()] = new ModelResourceLocation(getRegistryName(), + String.format("type=%s", pebble.getName())); + } + + ModelBakery.registerItemVariants(this, locations); + ModelLoader.setCustomMeshDefinition(this, stack -> locations[stack.getMetadata()]); + } + + public enum GTPebbles implements IStringSerializable { + + BASALT("basalt"), + BLACK_GRANITE("black_granite"), + MARBLE("marble"), + RED_GRANITE("red_granite"); + + private final String name; + public static final GTPebbles[] VALUES = values(); + + GTPebbles(String name) { + this.name = name; + } + + @Override + @NotNull + public String getName() { + return this.name; + } + } +} diff --git a/src/main/java/gregtech/integration/exnihilo/metatileentities/MetaTileEntities.java b/src/main/java/gregtech/integration/exnihilo/metatileentities/MetaTileEntities.java new file mode 100644 index 00000000000..b1dfe1f2155 --- /dev/null +++ b/src/main/java/gregtech/integration/exnihilo/metatileentities/MetaTileEntities.java @@ -0,0 +1,54 @@ +package gregtech.integration.exnihilo.metatileentities; + +import gregtech.api.GTValues; + +import net.minecraft.util.ResourceLocation; + +import static gregtech.common.metatileentities.MetaTileEntities.getHighTier; +import static gregtech.common.metatileentities.MetaTileEntities.getMidTier; + +public class MetaTileEntities { + + // Machines + public static MetaTileEntitySteamSieve STEAM_SIEVE_BRONZE; + public static MetaTileEntitySteamSieve STEAM_SIEVE_STEEL; + public static MetaTileEntitySieve[] SIEVES = new MetaTileEntitySieve[GTValues.V.length - 1]; + + public static void registerMetaTileEntities() { + STEAM_SIEVE_BRONZE = gregtech.common.metatileentities.MetaTileEntities.registerMetaTileEntity(13000, + new MetaTileEntitySteamSieve(new ResourceLocation(GTValues.MODID, "sieve.steam"), false)); + STEAM_SIEVE_STEEL = gregtech.common.metatileentities.MetaTileEntities.registerMetaTileEntity(13001, + new MetaTileEntitySteamSieve(new ResourceLocation(GTValues.MODID, "steam_sieve_steel"), true)); + + SIEVES[0] = gregtech.common.metatileentities.MetaTileEntities.registerMetaTileEntity(13002, + new MetaTileEntitySieve(new ResourceLocation(GTValues.MODID, "sieve.lv"), 1)); + SIEVES[1] = gregtech.common.metatileentities.MetaTileEntities.registerMetaTileEntity(13003, + new MetaTileEntitySieve(new ResourceLocation(GTValues.MODID, "sieve.mv"), 2)); + SIEVES[2] = gregtech.common.metatileentities.MetaTileEntities.registerMetaTileEntity(13004, + new MetaTileEntitySieve(new ResourceLocation(GTValues.MODID, "sieve.hv"), 3)); + SIEVES[3] = gregtech.common.metatileentities.MetaTileEntities.registerMetaTileEntity(13005, + new MetaTileEntitySieve(new ResourceLocation(GTValues.MODID, "sieve.ev"), 4)); + SIEVES[4] = gregtech.common.metatileentities.MetaTileEntities.registerMetaTileEntity(13006, + new MetaTileEntitySieve(new ResourceLocation(GTValues.MODID, "sieve.iv"), 5)); + if (getMidTier("sieve")) { + SIEVES[5] = gregtech.common.metatileentities.MetaTileEntities.registerMetaTileEntity(13007, + new MetaTileEntitySieve(new ResourceLocation(GTValues.MODID, "sieve.luv"), 6)); + SIEVES[6] = gregtech.common.metatileentities.MetaTileEntities.registerMetaTileEntity(13008, + new MetaTileEntitySieve(new ResourceLocation(GTValues.MODID, "sieve.zpm"), 7)); + SIEVES[7] = gregtech.common.metatileentities.MetaTileEntities.registerMetaTileEntity(13009, + new MetaTileEntitySieve(new ResourceLocation(GTValues.MODID, "sieve.uv"), 8)); + } + if (getHighTier("sieve")) { + SIEVES[8] = gregtech.common.metatileentities.MetaTileEntities.registerMetaTileEntity(13010, + new MetaTileEntitySieve(new ResourceLocation(GTValues.MODID, "sieve.uhv"), 9)); + SIEVES[9] = gregtech.common.metatileentities.MetaTileEntities.registerMetaTileEntity(13011, + new MetaTileEntitySieve(new ResourceLocation(GTValues.MODID, "sieve.uev"), 10)); + SIEVES[10] = gregtech.common.metatileentities.MetaTileEntities.registerMetaTileEntity(13012, + new MetaTileEntitySieve(new ResourceLocation(GTValues.MODID, "sieve.uiv"), 11)); + SIEVES[11] = gregtech.common.metatileentities.MetaTileEntities.registerMetaTileEntity(13013, + new MetaTileEntitySieve(new ResourceLocation(GTValues.MODID, "sieve.uxv"), 12)); + SIEVES[12] = gregtech.common.metatileentities.MetaTileEntities.registerMetaTileEntity(13014, + new MetaTileEntitySieve(new ResourceLocation(GTValues.MODID, "sieve.opv"), 13)); + } + } +} diff --git a/src/main/java/gregtech/integration/exnihilo/metatileentities/MetaTileEntitySieve.java b/src/main/java/gregtech/integration/exnihilo/metatileentities/MetaTileEntitySieve.java new file mode 100644 index 00000000000..af5f8a6732e --- /dev/null +++ b/src/main/java/gregtech/integration/exnihilo/metatileentities/MetaTileEntitySieve.java @@ -0,0 +1,56 @@ +package gregtech.integration.exnihilo.metatileentities; + +import gregtech.api.gui.GuiTextures; +import gregtech.api.gui.ModularUI; +import gregtech.api.gui.widgets.ImageWidget; +import gregtech.api.gui.widgets.ProgressWidget; +import gregtech.api.gui.widgets.ToggleButtonWidget; +import gregtech.api.metatileentity.MetaTileEntity; +import gregtech.api.metatileentity.SimpleMachineMetaTileEntity; +import gregtech.api.metatileentity.interfaces.IGregTechTileEntity; +import gregtech.client.renderer.texture.Textures; +import gregtech.integration.exnihilo.ExNihiloModule; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.ResourceLocation; + +import org.jetbrains.annotations.NotNull; + +public class MetaTileEntitySieve extends SimpleMachineMetaTileEntity { + + public MetaTileEntitySieve(ResourceLocation metaTileEntityId, int tier) { + super(metaTileEntityId, ExNihiloModule.SIEVE_RECIPES, Textures.SIFTER_OVERLAY, tier, false); + } + + @Override + public MetaTileEntity createMetaTileEntity(IGregTechTileEntity holder) { + return new MetaTileEntitySieve(metaTileEntityId, getTier()); + } + + @Override + protected ModularUI.Builder createGuiTemplate(@NotNull EntityPlayer player) { + ModularUI.Builder builder = new ModularUI.Builder(GuiTextures.BACKGROUND, 176, 192) + .label(5, 5, this.getMetaFullName()) + .slot(this.importItems, 0, 17, 25, GuiTextures.SLOT) + .slot(this.importItems, 1, 35, 25, GuiTextures.SLOT, GuiTextures.STRING_SLOT_OVERLAY) + .progressBar(workable::getProgressPercent, 25, 50, 20, 20, + GuiTextures.PROGRESS_BAR_SIFT, ProgressWidget.MoveType.VERTICAL_INVERTED, + workable.getRecipeMap()) + .widget(new ImageWidget(25, 69, 18, 18, GuiTextures.INDICATOR_NO_ENERGY).setIgnoreColor(true) + .setPredicate(workable::isHasNotEnoughEnergy)) + .bindPlayerInventory(player.inventory, GuiTextures.SLOT, 7, 109); + + for (int y = 0; y < 5; y++) { + for (int x = 0; x < 6; x++) { + builder.slot(this.exportItems, y * 6 + x, 61 + x * 18, 15 + y * 18, true, false, GuiTextures.SLOT); + } + } + + builder.widget(new ToggleButtonWidget(7, 87, 18, 18, + GuiTextures.BUTTON_ITEM_OUTPUT, this::isAutoOutputItems, this::setAutoOutputItems) + .setTooltipText("gregtech.gui.item_auto_output.tooltip") + .shouldUseBaseBackground()); + + return builder; + } +} diff --git a/src/main/java/gregtech/integration/exnihilo/metatileentities/MetaTileEntitySteamSieve.java b/src/main/java/gregtech/integration/exnihilo/metatileentities/MetaTileEntitySteamSieve.java new file mode 100644 index 00000000000..e21b999ec77 --- /dev/null +++ b/src/main/java/gregtech/integration/exnihilo/metatileentities/MetaTileEntitySteamSieve.java @@ -0,0 +1,68 @@ +package gregtech.integration.exnihilo.metatileentities; + +import gregtech.api.capability.impl.NotifiableItemStackHandler; +import gregtech.api.gui.GuiTextures; +import gregtech.api.gui.ModularUI; +import gregtech.api.gui.widgets.ImageWidget; +import gregtech.api.gui.widgets.ProgressWidget; +import gregtech.api.metatileentity.MetaTileEntity; +import gregtech.api.metatileentity.SteamMetaTileEntity; +import gregtech.api.metatileentity.interfaces.IGregTechTileEntity; +import gregtech.client.renderer.texture.Textures; +import gregtech.integration.exnihilo.ExNihiloModule; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.items.IItemHandlerModifiable; + +public class MetaTileEntitySteamSieve extends SteamMetaTileEntity { + + public MetaTileEntitySteamSieve(ResourceLocation metaTileEntityId, boolean isHighPressure) { + super(metaTileEntityId, ExNihiloModule.SIEVE_RECIPES, Textures.SIFTER_OVERLAY, isHighPressure); + } + + @Override + public MetaTileEntity createMetaTileEntity(IGregTechTileEntity metaTileEntityHolder) { + return new MetaTileEntitySteamSieve(metaTileEntityId, isHighPressure); + } + + @Override + protected IItemHandlerModifiable createImportItemHandler() { + return new NotifiableItemStackHandler(this, 2, this, false); + } + + @Override + protected IItemHandlerModifiable createExportItemHandler() { + return new NotifiableItemStackHandler(this, 30, this, true); + } + + @Override + public ModularUI.Builder createUITemplate(EntityPlayer player) { + ModularUI.Builder builder = new ModularUI.Builder(GuiTextures.BACKGROUND_STEAM.get(this.isHighPressure), 176, + 192) + .label(6, 6, this.getMetaFullName()).shouldColor(false) + .slot(this.importItems, 0, 17, 43, GuiTextures.SLOT_STEAM.get(isHighPressure)) + .slot(this.importItems, 1, 35, 43, GuiTextures.SLOT_STEAM.get(isHighPressure), + GuiTextures.STRING_SLOT_OVERLAY) + .progressBar(workableHandler::getProgressPercent, 25, 68, 20, 20, + GuiTextures.PROGRESS_BAR_SIFT_STEAM.get(isHighPressure), + ProgressWidget.MoveType.VERTICAL_INVERTED, workableHandler.getRecipeMap()) + .widget((new ImageWidget(79, 77, 18, 18, + GuiTextures.INDICATOR_NO_STEAM.get(this.isHighPressure))) + .setPredicate(() -> this.workableHandler.isHasNotEnoughEnergy())) + .bindPlayerInventory(player.inventory, GuiTextures.SLOT_STEAM.get(this.isHighPressure), 7, 109); + + for (int y = 0; y < 5; y++) { + for (int x = 0; x < 6; x++) { + builder.slot(this.exportItems, y * 6 + x, 61 + x * 18, 15 + y * 18, true, false, + GuiTextures.SLOT_STEAM.get(isHighPressure)); + } + } + return builder; + } + + @Override + protected ModularUI createUI(EntityPlayer entityPlayer) { + return createUITemplate(entityPlayer).build(getHolder(), entityPlayer); + } +} diff --git a/src/main/java/gregtech/integration/exnihilo/recipes/CraftingRecipes.java b/src/main/java/gregtech/integration/exnihilo/recipes/CraftingRecipes.java new file mode 100644 index 00000000000..48ca3ebc3df --- /dev/null +++ b/src/main/java/gregtech/integration/exnihilo/recipes/CraftingRecipes.java @@ -0,0 +1,75 @@ +package gregtech.integration.exnihilo.recipes; + +import gregtech.api.recipes.ModHandler; +import gregtech.api.unification.OreDictUnifier; +import gregtech.api.unification.material.Materials; +import gregtech.api.unification.ore.OrePrefix; +import gregtech.api.unification.stack.UnificationEntry; +import gregtech.common.blocks.MetaBlocks; +import gregtech.integration.exnihilo.ExNihiloConfig; +import gregtech.integration.exnihilo.ExNihiloModule; +import gregtech.integration.exnihilo.items.ExNihiloPebble; +import gregtech.loaders.recipe.MetaTileEntityLoader; + +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +import exnihilocreatio.ModBlocks; +import exnihilocreatio.ModItems; + +import static gregtech.api.unification.material.Materials.*; +import static gregtech.api.unification.material.Materials.GraniteRed; +import static gregtech.api.unification.ore.OrePrefix.*; +import static gregtech.common.blocks.BlockSteamCasing.SteamCasingType.BRONZE_HULL; +import static gregtech.integration.exnihilo.metatileentities.MetaTileEntities.*; +import static gregtech.integration.exnihilo.metatileentities.MetaTileEntities.STEAM_SIEVE_BRONZE; +import static gregtech.loaders.recipe.CraftingComponent.*; + +public class CraftingRecipes { + + public static void registerRecipes() { + // Machine Recipes + MetaTileEntityLoader.registerMachineRecipe(SIEVES, "CPC", "FMF", "OSO", 'M', HULL, 'C', CIRCUIT, 'O', CABLE, + 'F', CONVEYOR, 'S', new ItemStack(ModBlocks.sieve), 'P', PISTON); + ModHandler.addShapedRecipe(true, "steam_sieve_bronze", STEAM_SIEVE_BRONZE.getStackForm(), "BPB", "BMB", "BSB", + 'B', new UnificationEntry(OrePrefix.pipeSmallFluid, Materials.Bronze), 'M', + MetaBlocks.STEAM_CASING.getItemVariant(BRONZE_HULL), 'S', new ItemStack(ModBlocks.sieve), 'P', + Blocks.PISTON); + ModHandler.addShapedRecipe(true, "steam_sieve_steel", STEAM_SIEVE_STEEL.getStackForm(), "BPB", "WMW", "BBB", + 'B', new UnificationEntry(OrePrefix.pipeSmallFluid, Materials.TinAlloy), 'M', + STEAM_SIEVE_BRONZE.getStackForm(), 'W', new UnificationEntry(OrePrefix.plate, Materials.WroughtIron), + 'P', new UnificationEntry(OrePrefix.plate, Materials.Steel)); + + // Pebbles + ModHandler.addShapedRecipe("pebble_to_basalt", OreDictUnifier.get(cobble, Basalt, 1), "PP", "PP", 'P', + new ItemStack(ExNihiloModule.pebbleItem, 1, ExNihiloPebble.GTPebbles.BASALT.ordinal())); + ModHandler.addShapedRecipe("pebble_to_black_granite", OreDictUnifier.get(cobble, GraniteBlack, 1), "PP", "PP", + 'P', + new ItemStack(ExNihiloModule.pebbleItem, 1, ExNihiloPebble.GTPebbles.BLACK_GRANITE.ordinal())); + ModHandler.addShapedRecipe("pebble_to_marble", OreDictUnifier.get(cobble, Marble, 1), "PP", "PP", 'P', + new ItemStack(ExNihiloModule.pebbleItem, 1, ExNihiloPebble.GTPebbles.MARBLE.ordinal())); + ModHandler.addShapedRecipe("pebble_to_red_granite", OreDictUnifier.get(cobble, GraniteRed, 1), "PP", "PP", 'P', + new ItemStack(ExNihiloModule.pebbleItem, 1, ExNihiloPebble.GTPebbles.RED_GRANITE.ordinal())); + + // Meshes + if (ExNihiloConfig.harderMeshes) { + ModHandler.removeRecipeByName("exnihilocreatio:item_mesh_2"); + ModHandler.addShapedRecipe("bronze_mesh", new ItemStack(ModItems.mesh, 1, 2), "TFT", "SRS", "TST", + 'R', new UnificationEntry(ring, Bronze), + 'T', new UnificationEntry(stick, Bronze), + 'F', new ItemStack(Items.FLINT), + 'S', new ItemStack(Items.STRING)); + ModHandler.removeRecipeByName("exnihilocreatio:item_mesh_3"); + ModHandler.addShapedRecipe("steel_mesh", new ItemStack(ModItems.mesh, 1, 3), "TST", "SRS", "TST", + 'R', new UnificationEntry(ring, Steel), + 'T', new UnificationEntry(stick, Steel), + 'S', new ItemStack(Items.STRING)); + ModHandler.removeRecipeByName("exnihilocreatio:item_mesh_4"); + ModHandler.addShapedRecipe("aluminium_mesh", new ItemStack(ModItems.mesh, 1, 4), "TST", "SRS", "TST", + 'R', new UnificationEntry(ring, Aluminium), + 'T', new UnificationEntry(stick, Aluminium), + 'S', new ItemStack(Items.STRING)); + } + } +} diff --git a/src/main/java/gregtech/integration/exnihilo/recipes/MachineRecipes.java b/src/main/java/gregtech/integration/exnihilo/recipes/MachineRecipes.java new file mode 100644 index 00000000000..846e155ac3b --- /dev/null +++ b/src/main/java/gregtech/integration/exnihilo/recipes/MachineRecipes.java @@ -0,0 +1,198 @@ +package gregtech.integration.exnihilo.recipes; + +import gregtech.api.recipes.builders.SimpleRecipeBuilder; +import gregtech.api.recipes.chance.output.ChancedOutputLogic; +import gregtech.api.unification.OreDictUnifier; +import gregtech.api.util.Mods; +import gregtech.integration.exnihilo.ExNihiloConfig; +import gregtech.integration.exnihilo.ExNihiloModule; + +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidUtil; + +import exnihilocreatio.ModBlocks; +import exnihilocreatio.ModItems; +import exnihilocreatio.compatibility.jei.crucible.CrucibleRecipe; +import exnihilocreatio.compatibility.jei.sieve.SieveRecipe; +import exnihilocreatio.modules.AppliedEnergistics2; +import exnihilocreatio.registries.manager.ExNihiloRegistryManager; +import exnihilocreatio.registries.types.Siftable; +import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import static gregtech.api.recipes.RecipeMaps.*; +import static gregtech.api.unification.material.Materials.*; +import static gregtech.api.unification.ore.OrePrefix.*; +import static gregtech.integration.exnihilo.ExNihiloModule.*; + +public class MachineRecipes { + + public static void registerRecipes() { + // Pebbles + COMPRESSOR_RECIPES.recipeBuilder() + .inputs(new ItemStack(ModItems.pebbles, 4, 0)) + .output(Blocks.COBBLESTONE) + .EUt(4) + .duration(40) + .buildAndRegister(); + COMPRESSOR_RECIPES.recipeBuilder() + .inputs(new ItemStack(ModItems.pebbles, 4, 1)) + .outputs(new ItemStack(Blocks.STONE, 1, 1)) + .EUt(4) + .duration(40) + .buildAndRegister(); + COMPRESSOR_RECIPES.recipeBuilder() + .inputs(new ItemStack(ModItems.pebbles, 4, 2)) + .outputs(new ItemStack(Blocks.STONE, 1, 3)) + .EUt(4) + .duration(40) + .buildAndRegister(); + COMPRESSOR_RECIPES.recipeBuilder() + .inputs(new ItemStack(ModItems.pebbles, 4, 3)) + .outputs(new ItemStack(Blocks.STONE, 1, 5)) + .EUt(4) + .duration(40) + .buildAndRegister(); + COMPRESSOR_RECIPES.recipeBuilder() + .inputs(new ItemStack(ExNihiloModule.pebbleItem, 4, 0)) + .outputs(OreDictUnifier.get(cobble, Basalt, 1)) + .EUt(4) + .duration(40) + .buildAndRegister(); + COMPRESSOR_RECIPES.recipeBuilder() + .inputs(new ItemStack(ExNihiloModule.pebbleItem, 4, 1)) + .outputs(OreDictUnifier.get(cobble, GraniteBlack, 1)) + .EUt(4) + .duration(40) + .buildAndRegister(); + COMPRESSOR_RECIPES.recipeBuilder() + .inputs(new ItemStack(ExNihiloModule.pebbleItem, 4, 2)) + .outputs(OreDictUnifier.get(cobble, Marble, 1)) + .EUt(4) + .duration(40) + .buildAndRegister(); + COMPRESSOR_RECIPES.recipeBuilder() + .inputs(new ItemStack(ExNihiloModule.pebbleItem, 4, 3)) + .outputs(OreDictUnifier.get(cobble, GraniteRed, 1)) + .EUt(4) + .duration(40) + .buildAndRegister(); + + // Crushed stones + if (Mods.AppliedEnergistics2.isModLoaded()) { + FORGE_HAMMER_RECIPES.recipeBuilder() + .inputs(Mods.AppliedEnergistics2.getItem("sky_stone_block")) + .output(AppliedEnergistics2.skystoneCrushed) + .EUt(16) + .duration(10) + .buildAndRegister(); + } + FORGE_HAMMER_RECIPES.recipeBuilder() + .input(Blocks.SAND) + .output(ModBlocks.dust) + .EUt(16) + .duration(10) + .buildAndRegister(); + FORGE_HAMMER_RECIPES.recipeBuilder() + .inputs(new ItemStack(Blocks.STONE, 1, 1)) + .output(ModBlocks.crushedGranite) + .EUt(16) + .duration(10) + .buildAndRegister(); + FORGE_HAMMER_RECIPES.recipeBuilder() + .inputs(new ItemStack(Blocks.STONE, 1, 3)) + .output(ModBlocks.crushedDiorite) + .EUt(16) + .duration(10) + .buildAndRegister(); + FORGE_HAMMER_RECIPES.recipeBuilder() + .inputs(new ItemStack(Blocks.STONE, 1, 5)) + .output(ModBlocks.crushedAndesite) + .EUt(16) + .duration(10) + .buildAndRegister(); + FORGE_HAMMER_RECIPES.recipeBuilder() + .input(Blocks.NETHERRACK) + .output(ModBlocks.netherrackCrushed) + .EUt(16) + .duration(10) + .buildAndRegister(); + FORGE_HAMMER_RECIPES.recipeBuilder() + .input(Blocks.END_STONE) + .output(ModBlocks.endstoneCrushed) + .EUt(16) + .duration(10) + .buildAndRegister(); + } + + public static void mirrorExNihiloRecipes() { + Map> sieveRecipes = new Object2ObjectOpenHashMap<>(); + ArrayList extractorRecipes = new ArrayList<>(); + + // Mirror Ex Nihilo Sifter recipes to Sifter RecipeMap + for (SieveRecipe recipe : ExNihiloRegistryManager.SIEVE_REGISTRY.getRecipeList()) { + for (ItemStack stack : recipe.getSievables()) { + SimpleRecipeBuilder builder = SIEVE_RECIPES.recipeBuilder().notConsumable(recipe.getMesh()) + .inputs(stack); + switch (recipe.getMesh().getMetadata()) { + case 1: + builder.EUt(8); + break; + case 2: + builder.EUt(16); + break; + case 3: + builder.EUt(32); + break; + case 4: + builder.EUt(64); + break; + } + if (sieveRecipes.containsKey(stack) && sieveRecipes.get(stack).contains(recipe.getMesh())) + continue; + for (Siftable siftable : ExNihiloRegistryManager.SIEVE_REGISTRY.getDrops(stack)) { + if (siftable.getDrop() == null) continue; + if (siftable.getMeshLevel() == recipe.getMesh().getMetadata()) { + int maxChance = ChancedOutputLogic.getMaxChancedValue(); + if ((int) (siftable.getChance() * (float) maxChance) >= maxChance) { + builder.outputs(siftable.getDrop().getItemStack()); + } else { + builder.chancedOutput(siftable.getDrop().getItemStack(), + (int) (siftable.getChance() * (float) maxChance), 500); + } + } + } + if (sieveRecipes.keySet().stream().noneMatch(stack::isItemEqual)) { + sieveRecipes.put(stack, new ArrayList<>()); + } + sieveRecipes.computeIfAbsent(stack, key -> new ArrayList<>()).add(recipe.getMesh()); + builder.buildAndRegister(); + } + } + + // Mirror Crucible recipes to Extractor RecipeMap if enabled in config + if (ExNihiloConfig.crucibleExtractorRecipes) { + for (CrucibleRecipe recipe : ExNihiloRegistryManager.CRUCIBLE_STONE_REGISTRY.getRecipeList()) { + if (FluidUtil.getFluidContained(recipe.getFluid()) != null) { + for (List listStack : recipe.getInputs()) { + for (ItemStack stack : listStack) { + if (extractorRecipes.stream().anyMatch(stack::isItemEqual)) { + continue; + } + extractorRecipes.add(stack); + EXTRACTOR_RECIPES.recipeBuilder() + .inputs(stack) + .fluidOutputs(FluidUtil.getFluidContained(recipe.getFluid())) + .duration(100) + .buildAndRegister(); + } + } + } + } + } + } +} diff --git a/src/main/java/gregtech/integration/exnihilo/recipes/SieveDrops.java b/src/main/java/gregtech/integration/exnihilo/recipes/SieveDrops.java new file mode 100644 index 00000000000..cebce70ba67 --- /dev/null +++ b/src/main/java/gregtech/integration/exnihilo/recipes/SieveDrops.java @@ -0,0 +1,134 @@ +package gregtech.integration.exnihilo.recipes; + +import gregtech.api.unification.OreDictUnifier; +import gregtech.integration.IntegrationModule; +import gregtech.integration.exnihilo.ExNihiloConfig; + +import net.minecraft.block.Block; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.Ingredient; +import net.minecraftforge.oredict.OreIngredient; + +import exnihilocreatio.registries.manager.ExNihiloRegistryManager; +import exnihilocreatio.registries.types.Siftable; +import exnihilocreatio.util.ItemInfo; +import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Optional; + +/** + * Used for adding/removing recipes to the Sieve for CEu (and addons), drops will be added at + * {@link net.minecraftforge.fml.common.event.FMLInitializationEvent} to the Ex Nihilo sifting list. + */ +public class SieveDrops { + + private static Object2ObjectOpenHashMap> siftables = new Object2ObjectOpenHashMap<>(); + + private static boolean validateDrops(ItemStack output, int meshlevel, float chance) { + if (output == null) { + IntegrationModule.logger.error("Output stack is null!", new Throwable()); + return false; + } else if (output.isEmpty()) { + IntegrationModule.logger.error("Output stack is empty!", new Throwable()); + return false; + } + if (chance > 1F) { + IntegrationModule.logger.error("Chance for {} can't be higher than 1!", output.getDisplayName(), + new Throwable()); + return false; + } + if (meshlevel > 4) { + IntegrationModule.logger.error("Mesh Level for {} out of range!", output.getDisplayName(), new Throwable()); + return false; + } + return true; + } + + @SuppressWarnings("unused") + public static void removeDrop(ItemStack input, ItemStack output) { + if (input.isEmpty()) { + IntegrationModule.logger.error("Input stack is empty!", new Throwable()); + return; + } + if (output.isEmpty()) { + IntegrationModule.logger.error("Output stack is empty!", new Throwable()); + return; + } + Optional optionalIngredient = siftables.keySet().stream() + .filter(ingredient -> ingredient.apply(input)).findFirst(); + if (optionalIngredient.isPresent()) { + Ingredient ingredient = optionalIngredient.get(); + if (!siftables.get(ingredient) + .removeIf(siftable -> siftable.getDrop().getItemStack().isItemEqual(output))) { + IntegrationModule.logger.error("Cannot find Output for stack {} and Input stack {}", + output.getDisplayName(), input.getDisplayName(), new Throwable()); + } + } else { + IntegrationModule.logger.error("Cannot find Input for stack {}", input.getDisplayName(), new Throwable()); + } + } + + public static void addDrop(Block input, ItemStack output, int meshLevel, float chance) { + addDrop(Ingredient.fromStacks(new ItemStack(input)), output, meshLevel, chance); + } + + @SuppressWarnings("unused") + public static void addDrop(ItemStack input, ItemStack output, int meshLevel, float chance) { + if (input.isEmpty()) { + IntegrationModule.logger.error("Input stack is empty!", new Throwable()); + return; + } + addDrop(Ingredient.fromStacks(input), output, meshLevel, chance); + } + + public static void addDrop(String oredict, ItemStack output, int meshLevel, float chance) { + List stacks = OreDictUnifier.getAllWithOreDictionaryName(oredict); + if (stacks.isEmpty()) { + IntegrationModule.logger.error("Cannot find oredict {}!", oredict, new Throwable()); + return; + } + addDrop(new OreIngredient(oredict), output, meshLevel, chance); + } + + public static void addDrop(Ingredient ingredient, ItemStack output, int meshLevel, float chance) { + addDrop(ingredient, new Siftable(new ItemInfo(output), chance, meshLevel)); + } + + public static void addDrop(Ingredient ingredient, Siftable siftable) { + if (!validateDrops(siftable.getDrop().getItemStack(), siftable.getMeshLevel(), siftable.getChance())) { + return; + } + ItemStack[] matchingStacks = ingredient.getMatchingStacks(); + Optional optionalIngredient = siftables.keySet().stream() + .filter(ingredient1 -> Arrays.stream(ingredient1.getMatchingStacks()).allMatch(stack -> Arrays + .stream(matchingStacks).anyMatch(stack1 -> ItemStack.areItemsEqual(stack, stack1)))) + .findFirst(); + if (!optionalIngredient.isPresent()) { + siftables.put(ingredient, new ArrayList<>()); + } else { + ingredient = optionalIngredient.get(); + } + siftables.get(ingredient).add(siftable); + } + + public static void registerSiftingRecipes() { + // If all recipes are getting removed, backup and readd the dirt sifting table so a void world playthrough is + // doable. + if (ExNihiloConfig.overrideAllSiftDrops) { + List siftablesDirt = ExNihiloRegistryManager.SIEVE_REGISTRY.getDrops(OreDictUnifier.get("dirt")); + ExNihiloRegistryManager.SIEVE_REGISTRY.getRegistry().clear(); + if (!siftablesDirt.isEmpty()) { + ExNihiloRegistryManager.SIEVE_REGISTRY.register( + Ingredient.fromStacks( + OreDictUnifier.getAllWithOreDictionaryName("dirt").toArray(new ItemStack[0])), + siftablesDirt); + } + } + siftables.forEach(ExNihiloRegistryManager.SIEVE_REGISTRY::register); + + siftables = null; // let this get GC'd, no more eating my memory + } +} diff --git a/src/main/java/gregtech/integration/exnihilo/recipes/SieveRecipes.java b/src/main/java/gregtech/integration/exnihilo/recipes/SieveRecipes.java new file mode 100644 index 00000000000..34a09b2ef7b --- /dev/null +++ b/src/main/java/gregtech/integration/exnihilo/recipes/SieveRecipes.java @@ -0,0 +1,326 @@ +package gregtech.integration.exnihilo.recipes; + +import gregtech.api.unification.OreDictUnifier; +import gregtech.api.unification.material.Materials; +import gregtech.common.blocks.MetaBlocks; +import gregtech.integration.exnihilo.ExNihiloModule; + +import net.minecraft.item.ItemStack; + +import exnihilocreatio.ModBlocks; +import exnihilocreatio.blocks.BlockSieve; + +public class SieveRecipes { + + public static void registerRecipes() { + // Dirt + SieveDrops.addDrop("dirt", new ItemStack(ExNihiloModule.pebbleItem, 2), BlockSieve.MeshType.STRING.getID(), + 0.3f); + SieveDrops.addDrop("dirt", new ItemStack(ExNihiloModule.pebbleItem, 2, 1), BlockSieve.MeshType.STRING.getID(), + 0.3f); + SieveDrops.addDrop("dirt", new ItemStack(ExNihiloModule.pebbleItem, 2, 2), BlockSieve.MeshType.STRING.getID(), + 0.3f); + SieveDrops.addDrop("dirt", new ItemStack(ExNihiloModule.pebbleItem, 1, 3), BlockSieve.MeshType.STRING.getID(), + 0.3f); + SieveDrops.addDrop("dirt", new ItemStack(MetaBlocks.RUBBER_SAPLING.getBlockState().getBlock()), + BlockSieve.MeshType.STRING.getID(), + 0.4f); + + // Crushed Andesite + SieveDrops.addDrop(ModBlocks.crushedAndesite, + OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Chalcopyrite), 1, + 0.07F); + SieveDrops.addDrop(ModBlocks.crushedAndesite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Coal), 1, + 0.08F); + SieveDrops.addDrop(ModBlocks.crushedAndesite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Copper), 1, + 0.07F); + SieveDrops.addDrop(ModBlocks.crushedAndesite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Iron), 1, + 0.09F); + SieveDrops.addDrop(ModBlocks.crushedAndesite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Pyrite), 1, + 0.09F); + + SieveDrops.addDrop(ModBlocks.crushedAndesite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Coal), 2, + 0.23F); + SieveDrops.addDrop(ModBlocks.crushedAndesite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Diamond), 2, + 0.08F); + SieveDrops.addDrop(ModBlocks.crushedAndesite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Graphite), + 2, 0.005F); + + SieveDrops.addDrop(ModBlocks.crushedAndesite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.BandedIron), + 3, 0.15F); + SieveDrops.addDrop(ModBlocks.crushedAndesite, + OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.BrownLimonite), 3, + 0.18F); + SieveDrops.addDrop(ModBlocks.crushedAndesite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Malachite), + 3, 0.075F); + SieveDrops.addDrop(ModBlocks.crushedAndesite, + OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.YellowLimonite), 3, + 0.18F); + + SieveDrops.addDrop(ModBlocks.crushedAndesite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Apatite), 4, + 0.15F); + SieveDrops.addDrop(ModBlocks.crushedAndesite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Pyrochlore), + 4, + 0.005F); + SieveDrops.addDrop(ModBlocks.crushedAndesite, + OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.TricalciumPhosphate), + 4, 0.1F); + + // Crushed Diorite + SieveDrops.addDrop(ModBlocks.crushedDiorite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Cassiterite), + 1, 0.07F); + SieveDrops.addDrop(ModBlocks.crushedDiorite, + OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Chalcopyrite), 1, 0.2F); + SieveDrops.addDrop(ModBlocks.crushedDiorite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Coal), 1, + 0.06F); + SieveDrops.addDrop(ModBlocks.crushedDiorite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Zeolite), 1, + 0.001F); + + SieveDrops.addDrop(ModBlocks.crushedDiorite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Calcite), 2, + 0.1F); + SieveDrops.addDrop(ModBlocks.crushedDiorite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Lapis), 2, + 0.25F); + SieveDrops.addDrop(ModBlocks.crushedDiorite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Lazurite), 2, + 0.001F); + SieveDrops.addDrop(ModBlocks.crushedDiorite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Sodalite), 2, + 0.001F); + + SieveDrops.addDrop(ModBlocks.crushedDiorite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Cobaltite), + 3, 0.02F); + SieveDrops.addDrop(ModBlocks.crushedDiorite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Garnierite), + 3, 0.12F); + SieveDrops.addDrop(ModBlocks.crushedDiorite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Nickel), 3, + 0.12F); + SieveDrops.addDrop(ModBlocks.crushedDiorite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Pentlandite), + 3, 0.09F); + + SieveDrops.addDrop(ModBlocks.crushedDiorite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Pentlandite), + 4, 0.06F); + SieveDrops.addDrop(ModBlocks.crushedDiorite, + OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.GlauconiteSand), 4, + 0.04F); + SieveDrops.addDrop(ModBlocks.crushedDiorite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Soapstone), + 4, 0.16F); + SieveDrops.addDrop(ModBlocks.crushedDiorite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Talc), 4, + 0.16F); + + // Crushed Granite + SieveDrops.addDrop(ModBlocks.crushedGranite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Coal), 1, + 0.12F); + SieveDrops.addDrop(ModBlocks.crushedGranite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Gold), 1, + 0.05F); + SieveDrops.addDrop(ModBlocks.crushedGranite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Magnetite), + 1, 0.25F); + SieveDrops.addDrop(ModBlocks.crushedGranite, + OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.VanadiumMagnetite), 1, + 0.005F); + + SieveDrops.addDrop(ModBlocks.crushedGranite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Cinnabar), 2, + 0.005F); + SieveDrops.addDrop(ModBlocks.crushedGranite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Redstone), 2, + 0.3F); + SieveDrops.addDrop(ModBlocks.crushedGranite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Ruby), 2, + 0.08F); + + SieveDrops.addDrop(ModBlocks.crushedGranite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Bentonite), + 3, 0.001F); + SieveDrops.addDrop(ModBlocks.crushedGranite, + OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.GlauconiteSand), 3, + 0.04F); + SieveDrops.addDrop(ModBlocks.crushedGranite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Magnesite), + 3, 0.005F); + SieveDrops.addDrop(ModBlocks.crushedGranite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Olivine), 3, + 0.025F); + + SieveDrops.addDrop(ModBlocks.crushedGranite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Grossular), + 4, 0.001F); + SieveDrops.addDrop(ModBlocks.crushedGranite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Pyrolusite), + 4, 0.1F); + SieveDrops.addDrop(ModBlocks.crushedGranite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Spessartine), + 4, + 0.001F); + SieveDrops.addDrop(ModBlocks.crushedGranite, OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Tantalite), + 4, 0.005F); + + // Gravel + SieveDrops.addDrop("gravel", OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Cassiterite), 1, 0.05F); + SieveDrops.addDrop("gravel", OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Coal), 1, 0.1F); + SieveDrops.addDrop("gravel", OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Tin), 1, 0.2F); + + SieveDrops.addDrop("gravel", OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Galena), 2, 0.16F); + SieveDrops.addDrop("gravel", OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Lead), 2, 0.08F); + SieveDrops.addDrop("gravel", OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Silver), 2, 0.1F); + + SieveDrops.addDrop("gravel", OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Lepidolite), 3, 0.005F); + SieveDrops.addDrop("gravel", OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.RockSalt), 3, 0.12F); + SieveDrops.addDrop("gravel", OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Salt), 3, 0.2F); + SieveDrops.addDrop("gravel", OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Spodumene), 3, 0.001F); + + SieveDrops.addDrop("gravel", OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Bauxite), 4, 0.3F); + SieveDrops.addDrop("gravel", OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Kyanite), 4, 0.001F); + SieveDrops.addDrop("gravel", OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Mica), 4, 0.005F); + SieveDrops.addDrop("gravel", OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Pollucite), 4, 0.001F); + + // Sand + SieveDrops.addDrop("sand", OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.BasalticMineralSand), 2, 0.1F); + SieveDrops.addDrop("sand", OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.CassiteriteSand), 2, 0.12F); + SieveDrops.addDrop("sand", OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Diatomite), 2, 0.001F); + SieveDrops.addDrop("sand", OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Asbestos), 2, 0.001F); + SieveDrops.addDrop("sand", OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.GarnetSand), 2, 0.001F); + SieveDrops.addDrop("sand", OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.GraniticMineralSand), 2, 0.1F); + SieveDrops.addDrop("sand", OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Gypsum), 2, 0.1F); + + SieveDrops.addDrop("sand", OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Almandine), 3, 0.001F); + SieveDrops.addDrop("sand", OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Amethyst), 3, 0.001F); + SieveDrops.addDrop("sand", OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.GreenSapphire), 3, 0.15F); + SieveDrops.addDrop("sand", OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Opal), 3, 0.001F); + SieveDrops.addDrop("sand", OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Pyrope), 3, 0.001F); + SieveDrops.addDrop("sand", OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.GarnetRed), 3, 0.001F); + SieveDrops.addDrop("sand", OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Sapphire), 3, 0.35F); + SieveDrops.addDrop("sand", OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.GarnetYellow), 3, 0.001F); + SieveDrops.addDrop("sand", OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Realgar), 3, 0.15F); + + SieveDrops.addDrop("sand", OreDictUnifier.get(ExNihiloModule.oreChunk, Materials.Oilsands), 4, 0.3F); + + // Crushed Netherrack + SieveDrops.addDrop(ModBlocks.netherrackCrushed, + OreDictUnifier.get(ExNihiloModule.oreNetherChunk, Materials.BandedIron), 1, + 0.2F); + SieveDrops.addDrop(ModBlocks.netherrackCrushed, + OreDictUnifier.get(ExNihiloModule.oreNetherChunk, Materials.BrownLimonite), + 1, 0.2F); + SieveDrops.addDrop(ModBlocks.netherrackCrushed, + OreDictUnifier.get(ExNihiloModule.oreNetherChunk, Materials.Copper), 1, + 0.2F); + SieveDrops.addDrop(ModBlocks.netherrackCrushed, + OreDictUnifier.get(ExNihiloModule.oreNetherChunk, Materials.Gold), 1, + 0.1F); + SieveDrops.addDrop(ModBlocks.netherrackCrushed, + OreDictUnifier.get(ExNihiloModule.oreNetherChunk, Materials.Stibnite), 1, + 0.005F); + SieveDrops.addDrop(ModBlocks.netherrackCrushed, + OreDictUnifier.get(ExNihiloModule.oreNetherChunk, Materials.Tetrahedrite), + 1, 0.2F); + SieveDrops.addDrop(ModBlocks.netherrackCrushed, + OreDictUnifier.get(ExNihiloModule.oreNetherChunk, Materials.YellowLimonite), 1, 0.2F); + + SieveDrops.addDrop(ModBlocks.netherrackCrushed, + OreDictUnifier.get(ExNihiloModule.oreNetherChunk, Materials.Barite), 2, + 0.005F); + SieveDrops.addDrop(ModBlocks.netherrackCrushed, + OreDictUnifier.get(ExNihiloModule.oreNetherChunk, Materials.CertusQuartz), + 2, 0.25F); + SieveDrops.addDrop(ModBlocks.netherrackCrushed, + OreDictUnifier.get(ExNihiloModule.oreNetherChunk, Materials.NetherQuartz), + 2, 0.25F); + SieveDrops.addDrop(ModBlocks.netherrackCrushed, + OreDictUnifier.get(ExNihiloModule.oreNetherChunk, Materials.Pyrite), 2, + 0.15F); + SieveDrops.addDrop(ModBlocks.netherrackCrushed, + OreDictUnifier.get(ExNihiloModule.oreNetherChunk, Materials.Quartzite), 2, + 0.1F); + SieveDrops.addDrop(ModBlocks.netherrackCrushed, + OreDictUnifier.get(ExNihiloModule.oreNetherChunk, Materials.Sphalerite), 2, + 0.05F); + SieveDrops.addDrop(ModBlocks.netherrackCrushed, + OreDictUnifier.get(ExNihiloModule.oreNetherChunk, Materials.Sulfur), 2, + 0.15F); + + SieveDrops.addDrop(ModBlocks.netherrackCrushed, + OreDictUnifier.get(ExNihiloModule.oreNetherChunk, Materials.Beryllium), 3, + 0.005F); + SieveDrops.addDrop(ModBlocks.netherrackCrushed, + OreDictUnifier.get(ExNihiloModule.oreNetherChunk, Materials.BlueTopaz), 3, + 0.075F); + SieveDrops.addDrop(ModBlocks.netherrackCrushed, + OreDictUnifier.get(ExNihiloModule.oreNetherChunk, Materials.Bornite), 3, + 0.1F); + SieveDrops.addDrop(ModBlocks.netherrackCrushed, + OreDictUnifier.get(ExNihiloModule.oreNetherChunk, Materials.Chalcocite), 3, + 0.1F); + SieveDrops.addDrop(ModBlocks.netherrackCrushed, + OreDictUnifier.get(ExNihiloModule.oreNetherChunk, Materials.Emerald), 3, + 0.1F); + SieveDrops.addDrop(ModBlocks.netherrackCrushed, + OreDictUnifier.get(ExNihiloModule.oreNetherChunk, Materials.Thorium), 3, + 0.001F); + SieveDrops.addDrop(ModBlocks.netherrackCrushed, + OreDictUnifier.get(ExNihiloModule.oreNetherChunk, Materials.Topaz), 3, + 0.1F); + + SieveDrops.addDrop(ModBlocks.netherrackCrushed, + OreDictUnifier.get(ExNihiloModule.oreNetherChunk, Materials.Bastnasite), 4, + 0.1F); + SieveDrops.addDrop(ModBlocks.netherrackCrushed, + OreDictUnifier.get(ExNihiloModule.oreNetherChunk, Materials.Electrotine), + 4, 0.005F); + SieveDrops.addDrop(ModBlocks.netherrackCrushed, + OreDictUnifier.get(ExNihiloModule.oreNetherChunk, Materials.Molybdenite), + 4, 0.06F); + SieveDrops.addDrop(ModBlocks.netherrackCrushed, + OreDictUnifier.get(ExNihiloModule.oreNetherChunk, Materials.Monazite), 4, + 0.035F); + SieveDrops.addDrop(ModBlocks.netherrackCrushed, + OreDictUnifier.get(ExNihiloModule.oreNetherChunk, Materials.Neodymium), 4, + 0.005F); + SieveDrops.addDrop(ModBlocks.netherrackCrushed, + OreDictUnifier.get(ExNihiloModule.oreNetherChunk, Materials.Powellite), 4, + 0.03F); + SieveDrops.addDrop(ModBlocks.netherrackCrushed, + OreDictUnifier.get(ExNihiloModule.oreNetherChunk, Materials.Wulfenite), 4, + 0.06F); + + // Crushed Endstone + SieveDrops.addDrop(ModBlocks.endstoneCrushed, + OreDictUnifier.get(ExNihiloModule.oreEnderChunk, Materials.Aluminium), 2, + 0.25F); + SieveDrops.addDrop(ModBlocks.endstoneCrushed, + OreDictUnifier.get(ExNihiloModule.oreEnderChunk, Materials.Bauxite), 2, + 0.25F); + SieveDrops.addDrop(ModBlocks.endstoneCrushed, + OreDictUnifier.get(ExNihiloModule.oreEnderChunk, Materials.Chromite), 2, + 0.3F); + SieveDrops.addDrop(ModBlocks.endstoneCrushed, OreDictUnifier.get(ExNihiloModule.oreEnderChunk, Materials.Gold), + 2, 0.2F); + SieveDrops.addDrop(ModBlocks.endstoneCrushed, + OreDictUnifier.get(ExNihiloModule.oreEnderChunk, Materials.Ilmenite), 2, + 0.25F); + SieveDrops.addDrop(ModBlocks.endstoneCrushed, + OreDictUnifier.get(ExNihiloModule.oreEnderChunk, Materials.Magnetite), 2, + 0.25F); + SieveDrops.addDrop(ModBlocks.endstoneCrushed, + OreDictUnifier.get(ExNihiloModule.oreEnderChunk, Materials.VanadiumMagnetite), 2, 0.15F); + + SieveDrops.addDrop(ModBlocks.endstoneCrushed, + OreDictUnifier.get(ExNihiloModule.oreEnderChunk, Materials.Bornite), 3, + 0.05F); + SieveDrops.addDrop(ModBlocks.endstoneCrushed, + OreDictUnifier.get(ExNihiloModule.oreEnderChunk, Materials.Cooperite), 3, + 0.05F); + SieveDrops.addDrop(ModBlocks.endstoneCrushed, + OreDictUnifier.get(ExNihiloModule.oreEnderChunk, Materials.Lithium), 3, + 0.05F); + SieveDrops.addDrop(ModBlocks.endstoneCrushed, + OreDictUnifier.get(ExNihiloModule.oreEnderChunk, Materials.Palladium), 3, + 0.005F); + SieveDrops.addDrop(ModBlocks.endstoneCrushed, + OreDictUnifier.get(ExNihiloModule.oreEnderChunk, Materials.Platinum), 3, + 0.005F); + SieveDrops.addDrop(ModBlocks.endstoneCrushed, + OreDictUnifier.get(ExNihiloModule.oreEnderChunk, Materials.Scheelite), 3, + 0.25F); + SieveDrops.addDrop(ModBlocks.endstoneCrushed, + OreDictUnifier.get(ExNihiloModule.oreEnderChunk, Materials.Tungstate), 3, + 0.25F); + + SieveDrops.addDrop(ModBlocks.endstoneCrushed, + OreDictUnifier.get(ExNihiloModule.oreEnderChunk, Materials.Naquadah), 4, + 0.001F); + SieveDrops.addDrop(ModBlocks.endstoneCrushed, + OreDictUnifier.get(ExNihiloModule.oreEnderChunk, Materials.Pitchblende), 4, + 0.125F); + SieveDrops.addDrop(ModBlocks.endstoneCrushed, + OreDictUnifier.get(ExNihiloModule.oreEnderChunk, Materials.Uraninite), 4, + 0.1F); + } +} diff --git a/src/main/java/gregtech/integration/exnihilo/recipes/ui/SieveUI.java b/src/main/java/gregtech/integration/exnihilo/recipes/ui/SieveUI.java new file mode 100644 index 00000000000..3553ea87e58 --- /dev/null +++ b/src/main/java/gregtech/integration/exnihilo/recipes/ui/SieveUI.java @@ -0,0 +1,53 @@ +package gregtech.integration.exnihilo.recipes.ui; + +import gregtech.api.capability.impl.FluidTankList; +import gregtech.api.gui.GuiTextures; +import gregtech.api.gui.ModularUI; +import gregtech.api.gui.widgets.ProgressWidget; +import gregtech.api.gui.widgets.RecipeProgressWidget; +import gregtech.api.recipes.RecipeMap; +import gregtech.api.recipes.ui.RecipeMapUI; + +import net.minecraftforge.items.IItemHandlerModifiable; + +import org.jetbrains.annotations.NotNull; + +public class SieveUI> extends RecipeMapUI { + + public SieveUI(@NotNull R recipeMap) { + super(recipeMap, false, true, false, false, false); + setProgressBar(GuiTextures.PROGRESS_BAR_SIFT, ProgressWidget.MoveType.VERTICAL_INVERTED); + } + + @Override + @NotNull + public ModularUI.Builder createJeiUITemplate(IItemHandlerModifiable importItems, IItemHandlerModifiable exportItems, + FluidTankList importFluids, FluidTankList exportFluids, int yOffset) { + ModularUI.Builder builder = new ModularUI.Builder(GuiTextures.BACKGROUND, 176, 192 + yOffset); + builder.widget(new RecipeProgressWidget(200, 25, 50 + yOffset, 20, 20, this.progressBarTexture(), + this.progressBarMoveType(), this.recipeMap())); + this.addInventorySlotGroup(builder, importItems, importFluids, false, yOffset); + this.addInventorySlotGroup(builder, exportItems, exportFluids, true, yOffset); + if (this.specialTexture() != null && this.specialTexturePosition() != null) { + this.addSpecialTexture(builder); + } + + return builder; + } + + @Override + protected void addInventorySlotGroup(ModularUI.@NotNull Builder builder, + @NotNull IItemHandlerModifiable itemHandler, + @NotNull FluidTankList fluidHandler, boolean isOutputs, int yOffset) { + if (isOutputs) { + for (int y = 0; y < 5; y++) { + for (int x = 0; x < 6; x++) { + addSlot(builder, 61 + x * 18, y * 18, y * 6 + x, itemHandler, fluidHandler, false, true); + } + } + } else { + addSlot(builder, 17, 26, 0, itemHandler, fluidHandler, false, false); + addSlot(builder, 35, 26, 1, itemHandler, fluidHandler, false, false); + } + } +} diff --git a/src/main/java/gregtech/loaders/OreDictionaryLoader.java b/src/main/java/gregtech/loaders/OreDictionaryLoader.java index 1eb67b54fcc..25b8bc019ac 100644 --- a/src/main/java/gregtech/loaders/OreDictionaryLoader.java +++ b/src/main/java/gregtech/loaders/OreDictionaryLoader.java @@ -19,8 +19,6 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.oredict.OreDictionary; -import com.google.common.base.CaseFormat; - import static gregtech.api.GTValues.M; import static gregtech.api.GTValues.W; @@ -121,8 +119,7 @@ public static void init() { OreDictUnifier.registerOre(smoothType, type.getOrePrefix(), type.getMaterial()); ItemStack cobbleType = MetaBlocks.STONE_BLOCKS.get(StoneVariantBlock.StoneVariant.COBBLE) .getItemVariant(type); - OreDictUnifier.registerOre(cobbleType, - CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, "cobble_" + type.getName())); + OreDictUnifier.registerOre(cobbleType, "cobble", type.getMaterial()); } OreDictUnifier.registerOre(new ItemStack(Blocks.ANVIL), "craftingAnvil"); diff --git a/src/main/java/gregtech/modules/GregTechModules.java b/src/main/java/gregtech/modules/GregTechModules.java index b0ba5a45e30..aec478b9372 100644 --- a/src/main/java/gregtech/modules/GregTechModules.java +++ b/src/main/java/gregtech/modules/GregTechModules.java @@ -19,6 +19,7 @@ public final class GregTechModules implements IModuleContainer { public static final String MODULE_HWYLA = "hwyla_integration"; public static final String MODULE_BAUBLES = "baubles_integration"; public static final String MODULE_FR = "fr_integration"; + public static final String MODULE_EX_NIHILO = "ex_nihilo_integration"; public static final String MODULE_CHISEL = "chisel_integration"; @Override diff --git a/src/main/resources/assets/gregtech/blockstates/pebble.json b/src/main/resources/assets/gregtech/blockstates/pebble.json new file mode 100644 index 00000000000..f7f4f558030 --- /dev/null +++ b/src/main/resources/assets/gregtech/blockstates/pebble.json @@ -0,0 +1,31 @@ +{ + "forge_marker": 1, + "defaults": { + "model": "builtin/generated", + "transform": "forge:default-item" + }, + "variants": { + "type": { + "basalt": { + "textures": { + "layer0": "gregtech:items/basalt_pebble" + } + }, + "black_granite": { + "textures": { + "layer0": "gregtech:items/black_granite_pebble" + } + }, + "marble": { + "textures": { + "layer0": "gregtech:items/marble_pebble" + } + }, + "red_granite": { + "textures": { + "layer0": "gregtech:items/red_granite_pebble" + } + } + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/lang/en_us.lang b/src/main/resources/assets/gregtech/lang/en_us.lang index bdf8e329563..5913a7d7cf9 100644 --- a/src/main/resources/assets/gregtech/lang/en_us.lang +++ b/src/main/resources/assets/gregtech/lang/en_us.lang @@ -6543,3 +6543,48 @@ gregtech.scanner.forestry.pollen=§oScanned Pollen gregtech.mutation.block_of=Block of %s record.sus=Leonz - Among Us Drip + +### Ex Nihilo Integration +item.gtPebble.basalt.name=Basalt Pebble +item.gtPebble.black_granite.name=Black Granite Pebble +item.gtPebble.marble.name=Marble Pebble +item.gtPebble.red_granite.name=Red Granite Pebble + +item.material.oreprefix.oreChunk=%s Ore Chunk +item.material.oreprefix.oreEnderChunk=Ender %s Ore Chunk +item.material.oreprefix.oreNetherChunk=Nether %s Ore Chunk +item.material.oreprefix.oreSandyChunk=Sandy %s Ore Chunk + +recipemap.electric_sieve.name=Electric Sieve + +gregtech.machine.sieve.steam.name=Steam Sieve +gregtech.machine.sieve.steam.tooltip=Tired of Right-Clicking all day? +gregtech.machine.steam_sieve_steel.name=High Pressure Steam Sieve +gregtech.machine.steam_sieve_steel.tooltip=Tired of Right-Clicking all day? + +gregtech.machine.sieve.lv.name=Basic Electric Sieve +gregtech.machine.sieve.lv.tooltip=AFK Simulator +gregtech.machine.sieve.mv.name=Advanced Electric Sieve +gregtech.machine.sieve.mv.tooltip=AFK Simulator +gregtech.machine.sieve.hv.name=Advanced Electric Sieve II +gregtech.machine.sieve.hv.tooltip=AFK Simulator +gregtech.machine.sieve.ev.name=Advanced Electric Sieve III +gregtech.machine.sieve.ev.tooltip=AFK Simulator +gregtech.machine.sieve.iv.name=Elite Electric Sieve +gregtech.machine.sieve.iv.tooltip=Particle Vibration Chamber +gregtech.machine.sieve.luv.name=Elite Electric Sieve II +gregtech.machine.sieve.luv.tooltip=Particle Vibration Chamber +gregtech.machine.sieve.zpm.name=Elite Electric Sieve III +gregtech.machine.sieve.zpm.tooltip=Particle Vibration Chamber +gregtech.machine.sieve.uv.name=Ultimate Electric Sieve +gregtech.machine.sieve.uv.tooltip=From nothing, something +gregtech.machine.sieve.uhv.name=Epic Electric Sieve +gregtech.machine.sieve.uhv.tooltip=From nothing, something +gregtech.machine.sieve.uev.name=Epic Electric Sieve II +gregtech.machine.sieve.uev.tooltip=From nothing, something +gregtech.machine.sieve.uiv.name=Epic Electric Sieve III +gregtech.machine.sieve.uiv.tooltip=From nothing, something +gregtech.machine.sieve.uxv.name=Epic Electric Sieve IV +gregtech.machine.sieve.uxv.tooltip=From nothing, something +gregtech.machine.sieve.opv.name=Legendary Electric Sieve +gregtech.machine.sieve.opv.tooltip=From nothing, something \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/diamond/ore_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/diamond/ore_chunk.json new file mode 100644 index 00000000000..8cb11084c06 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/diamond/ore_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/diamond/ore_chunk", + "layer1": "gregtech:items/material_sets/diamond/ore_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/diamond/ore_ender_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/diamond/ore_ender_chunk.json new file mode 100644 index 00000000000..aac9fed2f1f --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/diamond/ore_ender_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/diamond/ore_chunk", + "layer1": "gregtech:items/material_sets/diamond/ore_ender_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/diamond/ore_nether_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/diamond/ore_nether_chunk.json new file mode 100644 index 00000000000..58ec4906596 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/diamond/ore_nether_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/diamond/ore_chunk", + "layer1": "gregtech:items/material_sets/diamond/ore_nether_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/dull/ore_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/dull/ore_chunk.json new file mode 100644 index 00000000000..dff45f541d9 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/dull/ore_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/dull/ore_chunk", + "layer1": "gregtech:items/material_sets/dull/ore_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/dull/ore_ender_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/dull/ore_ender_chunk.json new file mode 100644 index 00000000000..4f9374716b4 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/dull/ore_ender_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/dull/ore_chunk", + "layer1": "gregtech:items/material_sets/dull/ore_ender_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/dull/ore_nether_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/dull/ore_nether_chunk.json new file mode 100644 index 00000000000..ae269f78748 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/dull/ore_nether_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/dull/ore_chunk", + "layer1": "gregtech:items/material_sets/dull/ore_nether_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/emerald/ore_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/emerald/ore_chunk.json new file mode 100644 index 00000000000..ca03d4784d7 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/emerald/ore_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/emerald/ore_chunk", + "layer1": "gregtech:items/material_sets/emerald/ore_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/emerald/ore_ender_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/emerald/ore_ender_chunk.json new file mode 100644 index 00000000000..3fc295a09c1 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/emerald/ore_ender_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/emerald/ore_chunk", + "layer1": "gregtech:items/material_sets/emerald/ore_ender_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/emerald/ore_nether_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/emerald/ore_nether_chunk.json new file mode 100644 index 00000000000..cce855dc6b4 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/emerald/ore_nether_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/emerald/ore_chunk", + "layer1": "gregtech:items/material_sets/emerald/ore_nether_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/fine/ore_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/fine/ore_chunk.json new file mode 100644 index 00000000000..6c214238db6 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/fine/ore_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/fine/ore_chunk", + "layer1": "gregtech:items/material_sets/fine/ore_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/fine/ore_ender_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/fine/ore_ender_chunk.json new file mode 100644 index 00000000000..8577f07acbe --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/fine/ore_ender_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/fine/ore_chunk", + "layer1": "gregtech:items/material_sets/fine/ore_ender_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/fine/ore_nether_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/fine/ore_nether_chunk.json new file mode 100644 index 00000000000..c74932d387d --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/fine/ore_nether_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/fine/ore_chunk", + "layer1": "gregtech:items/material_sets/fine/ore_nether_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/flint/ore_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/flint/ore_chunk.json new file mode 100644 index 00000000000..f50c65793b1 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/flint/ore_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/flint/ore_chunk", + "layer1": "gregtech:items/material_sets/flint/ore_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/flint/ore_ender_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/flint/ore_ender_chunk.json new file mode 100644 index 00000000000..0f20d778fa7 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/flint/ore_ender_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/flint/ore_chunk", + "layer1": "gregtech:items/material_sets/flint/ore_ender_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/flint/ore_nether_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/flint/ore_nether_chunk.json new file mode 100644 index 00000000000..b69da1d6a62 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/flint/ore_nether_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/flint/ore_chunk", + "layer1": "gregtech:items/material_sets/flint/ore_nether_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/gem_horizontal/ore_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/gem_horizontal/ore_chunk.json new file mode 100644 index 00000000000..67e52bf1178 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/gem_horizontal/ore_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/gem_horizontal/ore_chunk", + "layer1": "gregtech:items/material_sets/gem_horizontal/ore_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/gem_horizontal/ore_ender_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/gem_horizontal/ore_ender_chunk.json new file mode 100644 index 00000000000..b460a239ff8 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/gem_horizontal/ore_ender_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/gem_horizontal/ore_chunk", + "layer1": "gregtech:items/material_sets/gem_horizontal/ore_ender_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/gem_horizontal/ore_nether_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/gem_horizontal/ore_nether_chunk.json new file mode 100644 index 00000000000..13ea58ce795 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/gem_horizontal/ore_nether_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/gem_horizontal/ore_chunk", + "layer1": "gregtech:items/material_sets/gem_horizontal/ore_nether_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/gem_vertical/ore_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/gem_vertical/ore_chunk.json new file mode 100644 index 00000000000..75424bf2f6e --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/gem_vertical/ore_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/gem_vertical/ore_chunk", + "layer1": "gregtech:items/material_sets/gem_vertical/ore_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/gem_vertical/ore_ender_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/gem_vertical/ore_ender_chunk.json new file mode 100644 index 00000000000..f56d8571f7d --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/gem_vertical/ore_ender_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/gem_vertical/ore_chunk", + "layer1": "gregtech:items/material_sets/gem_vertical/ore_ender_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/gem_vertical/ore_nether_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/gem_vertical/ore_nether_chunk.json new file mode 100644 index 00000000000..e5d69c92b4a --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/gem_vertical/ore_nether_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/gem_vertical/ore_chunk", + "layer1": "gregtech:items/material_sets/gem_vertical/ore_nether_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/lapis/ore_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/lapis/ore_chunk.json new file mode 100644 index 00000000000..dfedee68533 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/lapis/ore_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/lapis/ore_chunk", + "layer1": "gregtech:items/material_sets/lapis/ore_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/lapis/ore_ender_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/lapis/ore_ender_chunk.json new file mode 100644 index 00000000000..58cd98a3aa1 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/lapis/ore_ender_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/lapis/ore_chunk", + "layer1": "gregtech:items/material_sets/lapis/ore_ender_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/lapis/ore_nether_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/lapis/ore_nether_chunk.json new file mode 100644 index 00000000000..64ba6531c78 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/lapis/ore_nether_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/lapis/ore_chunk", + "layer1": "gregtech:items/material_sets/lapis/ore_nether_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/lignite/ore_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/lignite/ore_chunk.json new file mode 100644 index 00000000000..578bd9c38f7 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/lignite/ore_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/lignite/ore_chunk", + "layer1": "gregtech:items/material_sets/lignite/ore_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/lignite/ore_ender_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/lignite/ore_ender_chunk.json new file mode 100644 index 00000000000..59dfeb1670e --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/lignite/ore_ender_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/lignite/ore_chunk", + "layer1": "gregtech:items/material_sets/lignite/ore_ender_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/lignite/ore_nether_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/lignite/ore_nether_chunk.json new file mode 100644 index 00000000000..d4e750b215a --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/lignite/ore_nether_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/lignite/ore_chunk", + "layer1": "gregtech:items/material_sets/lignite/ore_nether_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/metallic/ore_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/metallic/ore_chunk.json new file mode 100644 index 00000000000..ad4f6e5feb5 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/metallic/ore_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/metallic/ore_chunk", + "layer1": "gregtech:items/material_sets/metallic/ore_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/metallic/ore_ender_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/metallic/ore_ender_chunk.json new file mode 100644 index 00000000000..1f6fdf304eb --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/metallic/ore_ender_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/metallic/ore_chunk", + "layer1": "gregtech:items/material_sets/metallic/ore_ender_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/metallic/ore_nether_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/metallic/ore_nether_chunk.json new file mode 100644 index 00000000000..fe901ad62d2 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/metallic/ore_nether_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/metallic/ore_chunk", + "layer1": "gregtech:items/material_sets/metallic/ore_nether_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/netherstar/ore_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/netherstar/ore_chunk.json new file mode 100644 index 00000000000..73d073c291f --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/netherstar/ore_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/netherstar/ore_chunk", + "layer1": "gregtech:items/material_sets/netherstar/ore_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/netherstar/ore_ender_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/netherstar/ore_ender_chunk.json new file mode 100644 index 00000000000..9e12bd19a8d --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/netherstar/ore_ender_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/netherstar/ore_chunk", + "layer1": "gregtech:items/material_sets/netherstar/ore_ender_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/netherstar/ore_nether_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/netherstar/ore_nether_chunk.json new file mode 100644 index 00000000000..42a66661a29 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/netherstar/ore_nether_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/netherstar/ore_chunk", + "layer1": "gregtech:items/material_sets/netherstar/ore_nether_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/opal/ore_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/opal/ore_chunk.json new file mode 100644 index 00000000000..e1037da8f73 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/opal/ore_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/ruby/ore_chunk", + "layer1": "gregtech:items/material_sets/ruby/ore_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/opal/ore_ender_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/opal/ore_ender_chunk.json new file mode 100644 index 00000000000..c8f6184b29c --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/opal/ore_ender_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/ruby/ore_chunk", + "layer1": "gregtech:items/material_sets/ruby/ore_ender_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/opal/ore_nether_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/opal/ore_nether_chunk.json new file mode 100644 index 00000000000..17800b95722 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/opal/ore_nether_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/ruby/ore_chunk", + "layer1": "gregtech:items/material_sets/ruby/ore_nether_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/quartz/ore_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/quartz/ore_chunk.json new file mode 100644 index 00000000000..e09f1b5dc22 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/quartz/ore_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/quartz/ore_chunk", + "layer1": "gregtech:items/material_sets/quartz/ore_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/quartz/ore_ender_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/quartz/ore_ender_chunk.json new file mode 100644 index 00000000000..90581ecaeeb --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/quartz/ore_ender_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/quartz/ore_chunk", + "layer1": "gregtech:items/material_sets/quartz/ore_ender_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/quartz/ore_nether_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/quartz/ore_nether_chunk.json new file mode 100644 index 00000000000..050a2802a34 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/quartz/ore_nether_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/quartz/ore_chunk", + "layer1": "gregtech:items/material_sets/quartz/ore_nether_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/rough/ore_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/rough/ore_chunk.json new file mode 100644 index 00000000000..bdb7a579b1c --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/rough/ore_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/rough/ore_chunk", + "layer1": "gregtech:items/material_sets/rough/ore_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/rough/ore_ender_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/rough/ore_ender_chunk.json new file mode 100644 index 00000000000..3445d383873 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/rough/ore_ender_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/rough/ore_chunk", + "layer1": "gregtech:items/material_sets/rough/ore_ender_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/rough/ore_nether_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/rough/ore_nether_chunk.json new file mode 100644 index 00000000000..12e9fcbd6ff --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/rough/ore_nether_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/rough/ore_chunk", + "layer1": "gregtech:items/material_sets/rough/ore_nether_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/ruby/ore_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/ruby/ore_chunk.json new file mode 100644 index 00000000000..e1037da8f73 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/ruby/ore_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/ruby/ore_chunk", + "layer1": "gregtech:items/material_sets/ruby/ore_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/ruby/ore_ender_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/ruby/ore_ender_chunk.json new file mode 100644 index 00000000000..c8f6184b29c --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/ruby/ore_ender_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/ruby/ore_chunk", + "layer1": "gregtech:items/material_sets/ruby/ore_ender_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/ruby/ore_nether_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/ruby/ore_nether_chunk.json new file mode 100644 index 00000000000..17800b95722 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/ruby/ore_nether_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/ruby/ore_chunk", + "layer1": "gregtech:items/material_sets/ruby/ore_nether_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/sand/ore_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/sand/ore_chunk.json new file mode 100644 index 00000000000..6c214238db6 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/sand/ore_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/fine/ore_chunk", + "layer1": "gregtech:items/material_sets/fine/ore_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/sand/ore_ender_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/sand/ore_ender_chunk.json new file mode 100644 index 00000000000..8577f07acbe --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/sand/ore_ender_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/fine/ore_chunk", + "layer1": "gregtech:items/material_sets/fine/ore_ender_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/sand/ore_nether_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/sand/ore_nether_chunk.json new file mode 100644 index 00000000000..c74932d387d --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/sand/ore_nether_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/fine/ore_chunk", + "layer1": "gregtech:items/material_sets/fine/ore_nether_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/shiny/ore_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/shiny/ore_chunk.json new file mode 100644 index 00000000000..ba6fcccd65c --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/shiny/ore_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/shiny/ore_chunk", + "layer1": "gregtech:items/material_sets/shiny/ore_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/shiny/ore_ender_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/shiny/ore_ender_chunk.json new file mode 100644 index 00000000000..28df9b6946b --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/shiny/ore_ender_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/shiny/ore_chunk", + "layer1": "gregtech:items/material_sets/shiny/ore_ender_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/models/item/material_sets/shiny/ore_nether_chunk.json b/src/main/resources/assets/gregtech/models/item/material_sets/shiny/ore_nether_chunk.json new file mode 100644 index 00000000000..9e51adb7e93 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/material_sets/shiny/ore_nether_chunk.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/material_sets/shiny/ore_chunk", + "layer1": "gregtech:items/material_sets/shiny/ore_nether_chunk_overlay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_sift_bronze.png b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_sift_bronze.png new file mode 100644 index 00000000000..ebdea364f1f Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_sift_bronze.png differ diff --git a/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_sift_steel.png b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_sift_steel.png new file mode 100644 index 00000000000..8a7535fdc63 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_sift_steel.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/basalt_pebble.png b/src/main/resources/assets/gregtech/textures/items/basalt_pebble.png new file mode 100644 index 00000000000..86869f9e316 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/basalt_pebble.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/black_granite_pebble.png b/src/main/resources/assets/gregtech/textures/items/black_granite_pebble.png new file mode 100644 index 00000000000..e8b9b70031e Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/black_granite_pebble.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/marble_pebble.png b/src/main/resources/assets/gregtech/textures/items/marble_pebble.png new file mode 100644 index 00000000000..e64fafbd515 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/marble_pebble.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/diamond/ore_chunk.png b/src/main/resources/assets/gregtech/textures/items/material_sets/diamond/ore_chunk.png new file mode 100644 index 00000000000..bb341708dd4 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/diamond/ore_chunk.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/diamond/ore_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/diamond/ore_chunk_overlay.png new file mode 100644 index 00000000000..d9c6d3976f4 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/diamond/ore_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/diamond/ore_ender_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/diamond/ore_ender_chunk_overlay.png new file mode 100644 index 00000000000..2878240756c Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/diamond/ore_ender_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/diamond/ore_nether_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/diamond/ore_nether_chunk_overlay.png new file mode 100644 index 00000000000..3d103e9b581 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/diamond/ore_nether_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/dull/ore_chunk.png b/src/main/resources/assets/gregtech/textures/items/material_sets/dull/ore_chunk.png new file mode 100644 index 00000000000..42300029099 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/dull/ore_chunk.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/dull/ore_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/dull/ore_chunk_overlay.png new file mode 100644 index 00000000000..2f9bcddab96 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/dull/ore_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/dull/ore_ender_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/dull/ore_ender_chunk_overlay.png new file mode 100644 index 00000000000..7c21ccf1570 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/dull/ore_ender_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/dull/ore_nether_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/dull/ore_nether_chunk_overlay.png new file mode 100644 index 00000000000..a0f79b00b3d Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/dull/ore_nether_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/emerald/ore_chunk.png b/src/main/resources/assets/gregtech/textures/items/material_sets/emerald/ore_chunk.png new file mode 100644 index 00000000000..9718bd04b52 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/emerald/ore_chunk.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/emerald/ore_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/emerald/ore_chunk_overlay.png new file mode 100644 index 00000000000..ea7ad7c10cb Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/emerald/ore_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/emerald/ore_ender_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/emerald/ore_ender_chunk_overlay.png new file mode 100644 index 00000000000..f36419b097a Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/emerald/ore_ender_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/emerald/ore_nether_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/emerald/ore_nether_chunk_overlay.png new file mode 100644 index 00000000000..bc43ccb5e4a Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/emerald/ore_nether_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/fine/ore_chunk.png b/src/main/resources/assets/gregtech/textures/items/material_sets/fine/ore_chunk.png new file mode 100644 index 00000000000..29b558767cd Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/fine/ore_chunk.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/fine/ore_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/fine/ore_chunk_overlay.png new file mode 100644 index 00000000000..a83ffe3c2b3 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/fine/ore_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/fine/ore_ender_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/fine/ore_ender_chunk_overlay.png new file mode 100644 index 00000000000..6a4c733bb06 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/fine/ore_ender_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/fine/ore_nether_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/fine/ore_nether_chunk_overlay.png new file mode 100644 index 00000000000..109ae3b4dc6 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/fine/ore_nether_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/flint/ore_chunk.png b/src/main/resources/assets/gregtech/textures/items/material_sets/flint/ore_chunk.png new file mode 100644 index 00000000000..8bf2bbfe610 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/flint/ore_chunk.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/flint/ore_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/flint/ore_chunk_overlay.png new file mode 100644 index 00000000000..0379b397147 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/flint/ore_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/flint/ore_ender_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/flint/ore_ender_chunk_overlay.png new file mode 100644 index 00000000000..8de7fee9b1a Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/flint/ore_ender_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/flint/ore_nether_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/flint/ore_nether_chunk_overlay.png new file mode 100644 index 00000000000..2a48136a61e Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/flint/ore_nether_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/gem_horizontal/ore_chunk.png b/src/main/resources/assets/gregtech/textures/items/material_sets/gem_horizontal/ore_chunk.png new file mode 100644 index 00000000000..64dd229427b Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/gem_horizontal/ore_chunk.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/gem_horizontal/ore_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/gem_horizontal/ore_chunk_overlay.png new file mode 100644 index 00000000000..c5a9360e3ba Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/gem_horizontal/ore_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/gem_horizontal/ore_ender_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/gem_horizontal/ore_ender_chunk_overlay.png new file mode 100644 index 00000000000..111207b4db6 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/gem_horizontal/ore_ender_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/gem_horizontal/ore_nether_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/gem_horizontal/ore_nether_chunk_overlay.png new file mode 100644 index 00000000000..eef536e5678 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/gem_horizontal/ore_nether_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/gem_vertical/ore_chunk.png b/src/main/resources/assets/gregtech/textures/items/material_sets/gem_vertical/ore_chunk.png new file mode 100644 index 00000000000..f275c1c20dd Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/gem_vertical/ore_chunk.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/gem_vertical/ore_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/gem_vertical/ore_chunk_overlay.png new file mode 100644 index 00000000000..dccb5a83c9f Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/gem_vertical/ore_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/gem_vertical/ore_ender_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/gem_vertical/ore_ender_chunk_overlay.png new file mode 100644 index 00000000000..5c0fdee1b89 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/gem_vertical/ore_ender_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/gem_vertical/ore_nether_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/gem_vertical/ore_nether_chunk_overlay.png new file mode 100644 index 00000000000..177dd296fd6 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/gem_vertical/ore_nether_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/lapis/ore_chunk.png b/src/main/resources/assets/gregtech/textures/items/material_sets/lapis/ore_chunk.png new file mode 100644 index 00000000000..c3e6b6e6026 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/lapis/ore_chunk.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/lapis/ore_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/lapis/ore_chunk_overlay.png new file mode 100644 index 00000000000..57172f5759f Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/lapis/ore_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/lapis/ore_ender_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/lapis/ore_ender_chunk_overlay.png new file mode 100644 index 00000000000..ceaac66e3c1 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/lapis/ore_ender_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/lapis/ore_nether_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/lapis/ore_nether_chunk_overlay.png new file mode 100644 index 00000000000..b930d70929a Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/lapis/ore_nether_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/lignite/ore_chunk.png b/src/main/resources/assets/gregtech/textures/items/material_sets/lignite/ore_chunk.png new file mode 100644 index 00000000000..ba364f5a902 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/lignite/ore_chunk.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/lignite/ore_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/lignite/ore_chunk_overlay.png new file mode 100644 index 00000000000..4f24ddc158d Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/lignite/ore_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/lignite/ore_ender_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/lignite/ore_ender_chunk_overlay.png new file mode 100644 index 00000000000..3a757c32619 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/lignite/ore_ender_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/lignite/ore_nether_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/lignite/ore_nether_chunk_overlay.png new file mode 100644 index 00000000000..4f3643eed67 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/lignite/ore_nether_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/metallic/ore_chunk.png b/src/main/resources/assets/gregtech/textures/items/material_sets/metallic/ore_chunk.png new file mode 100644 index 00000000000..9ae00ef4128 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/metallic/ore_chunk.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/metallic/ore_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/metallic/ore_chunk_overlay.png new file mode 100644 index 00000000000..2deb06160af Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/metallic/ore_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/metallic/ore_ender_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/metallic/ore_ender_chunk_overlay.png new file mode 100644 index 00000000000..f7346b1b41f Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/metallic/ore_ender_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/metallic/ore_nether_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/metallic/ore_nether_chunk_overlay.png new file mode 100644 index 00000000000..90e79137975 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/metallic/ore_nether_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/netherstar/ore_chunk.png b/src/main/resources/assets/gregtech/textures/items/material_sets/netherstar/ore_chunk.png new file mode 100644 index 00000000000..42300029099 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/netherstar/ore_chunk.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/netherstar/ore_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/netherstar/ore_chunk_overlay.png new file mode 100644 index 00000000000..2f9bcddab96 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/netherstar/ore_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/netherstar/ore_ender_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/netherstar/ore_ender_chunk_overlay.png new file mode 100644 index 00000000000..7c21ccf1570 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/netherstar/ore_ender_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/netherstar/ore_nether_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/netherstar/ore_nether_chunk_overlay.png new file mode 100644 index 00000000000..a0f79b00b3d Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/netherstar/ore_nether_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/quartz/ore_chunk.png b/src/main/resources/assets/gregtech/textures/items/material_sets/quartz/ore_chunk.png new file mode 100644 index 00000000000..952210318fa Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/quartz/ore_chunk.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/quartz/ore_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/quartz/ore_chunk_overlay.png new file mode 100644 index 00000000000..7b9bdddcf1e Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/quartz/ore_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/quartz/ore_ender_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/quartz/ore_ender_chunk_overlay.png new file mode 100644 index 00000000000..f0581f7ca5f Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/quartz/ore_ender_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/quartz/ore_nether_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/quartz/ore_nether_chunk_overlay.png new file mode 100644 index 00000000000..8ad94d8fcf1 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/quartz/ore_nether_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/rough/ore_chunk.png b/src/main/resources/assets/gregtech/textures/items/material_sets/rough/ore_chunk.png new file mode 100644 index 00000000000..2f2fa58e719 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/rough/ore_chunk.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/rough/ore_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/rough/ore_chunk_overlay.png new file mode 100644 index 00000000000..5dd3c1aab61 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/rough/ore_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/rough/ore_ender_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/rough/ore_ender_chunk_overlay.png new file mode 100644 index 00000000000..0076a390836 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/rough/ore_ender_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/rough/ore_nether_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/rough/ore_nether_chunk_overlay.png new file mode 100644 index 00000000000..cb44315884f Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/rough/ore_nether_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/ruby/ore_chunk.png b/src/main/resources/assets/gregtech/textures/items/material_sets/ruby/ore_chunk.png new file mode 100644 index 00000000000..70b91f59151 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/ruby/ore_chunk.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/ruby/ore_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/ruby/ore_chunk_overlay.png new file mode 100644 index 00000000000..94985135116 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/ruby/ore_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/ruby/ore_ender_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/ruby/ore_ender_chunk_overlay.png new file mode 100644 index 00000000000..a4740bd769b Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/ruby/ore_ender_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/ruby/ore_nether_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/ruby/ore_nether_chunk_overlay.png new file mode 100644 index 00000000000..817e6fe5c3a Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/ruby/ore_nether_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/shiny/ore_chunk.png b/src/main/resources/assets/gregtech/textures/items/material_sets/shiny/ore_chunk.png new file mode 100644 index 00000000000..49f7ce2f60c Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/shiny/ore_chunk.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/shiny/ore_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/shiny/ore_chunk_overlay.png new file mode 100644 index 00000000000..473d5423fee Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/shiny/ore_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/shiny/ore_ender_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/shiny/ore_ender_chunk_overlay.png new file mode 100644 index 00000000000..94aa0a9345d Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/shiny/ore_ender_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/material_sets/shiny/ore_nether_chunk_overlay.png b/src/main/resources/assets/gregtech/textures/items/material_sets/shiny/ore_nether_chunk_overlay.png new file mode 100644 index 00000000000..6ec74c522de Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/material_sets/shiny/ore_nether_chunk_overlay.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/red_granite_pebble.png b/src/main/resources/assets/gregtech/textures/items/red_granite_pebble.png new file mode 100644 index 00000000000..2bfd399ee93 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/red_granite_pebble.png differ