From 708b3bcae140ef6454311f555b0e6acf0bf5545f Mon Sep 17 00:00:00 2001 From: GlodBlock <60341015+GlodBlock@users.noreply.github.com> Date: Tue, 10 Aug 2021 22:50:47 +0800 Subject: [PATCH 1/6] change the blacklist into whitelist. --- .../emt/tile/TileEntityEtherealMacerator.java | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/src/main/java/emt/tile/TileEntityEtherealMacerator.java b/src/main/java/emt/tile/TileEntityEtherealMacerator.java index 1b229b2..e59e626 100644 --- a/src/main/java/emt/tile/TileEntityEtherealMacerator.java +++ b/src/main/java/emt/tile/TileEntityEtherealMacerator.java @@ -1,5 +1,6 @@ package emt.tile; +import com.google.common.collect.Lists; import emt.init.EMTBlocks; import emt.util.EMTConfigHandler; import ic2.api.item.IC2Items; @@ -16,6 +17,8 @@ import net.minecraft.nbt.NBTTagList; import net.minecraftforge.oredict.OreDictionary; import thaumcraft.common.config.ConfigItems; +import java.util.List; + public class TileEntityEtherealMacerator extends TileEntityEMT implements ISidedInventory, IWrenchable { private static final int[] slots_top = new int[]{0}; @@ -24,6 +27,7 @@ public class TileEntityEtherealMacerator extends TileEntityEMT implements ISided public int maceratingSpeed = EMTConfigHandler.etherealProcessorBaseSpeed; public int cookTime; private ItemStack[] slots = new ItemStack[3]; + List allowedOreDictList = Lists.newArrayList("ore", "cluster"); public int getSizeInventory() { return this.slots.length; @@ -118,7 +122,7 @@ public class TileEntityEtherealMacerator extends TileEntityEMT implements ISided } public void updateEntity() { - if (this.canSmelt() && isOverLimit(1) == false && isOverLimit(2) == false && isOP() == false) { + if (this.canSmelt() && !isOverLimit(1) && !isOverLimit(2) && isAllowed()) { ++this.cookTime; this.isOn = true; worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); @@ -226,18 +230,17 @@ public class TileEntityEtherealMacerator extends TileEntityEMT implements ISided } } - public boolean isOP() { - final int cobblestoneId = OreDictionary.getOreID("blockCobble"); + public boolean isAllowed() { - if (OreDictionary.getOreID(this.slots[0]) == cobblestoneId || this.slots[0].getItem() == Item.getItemFromBlock(Blocks.sand) || this.slots[0].getItem() == Items.potato || this.slots[0].getItem() == Items.porkchop || this.slots[0].getItem() == Items.beef || this.slots[0].getItem() == Items.chicken || this.slots[0].getItem() == Items.fish - || this.slots[0].getItem() == IC2Items.getItem("coalDust").getItem() - || (OreDictionary.getOreName(OreDictionary.getOreID(this.slots[0])).toLowerCase().contains("dust") || this.slots[0].getItem().getUnlocalizedName(this.slots[0]).toLowerCase().contains("armour") || this.slots[0].getItem().getUnlocalizedName(this.slots[0]).toLowerCase().contains("armor") || this.slots[0].getItem().getUnlocalizedName(this.slots[0]).toLowerCase().contains("helm") - || this.slots[0].getItem().getUnlocalizedName(this.slots[0]).toLowerCase().contains("legging") || this.slots[0].getItem().getUnlocalizedName(this.slots[0]).toLowerCase().contains("boot") || this.slots[0].getItem().getUnlocalizedName(this.slots[0]).toLowerCase().contains("chestp") || this.slots[0].getItem().getUnlocalizedName(this.slots[0]).toLowerCase().contains("pick") - || this.slots[0].getItem().getUnlocalizedName(this.slots[0]).toLowerCase().contains("shovel") || this.slots[0].getItem().getUnlocalizedName(this.slots[0]).toLowerCase().contains("axe") || this.slots[0].getItem().getUnlocalizedName(this.slots[0]).toLowerCase().contains("pick"))) { - return true; - } else { - return false; + int[] OreDictIDs = OreDictionary.getOreIDs(this.slots[0]); + for (int ID : OreDictIDs) { + String tName = OreDictionary.getOreName(ID); + for (String allowed : allowedOreDictList) { + if (tName.contains(allowed)) return true; + } } + return false; + } @Override From 301cdce23c62eb481bfe2b8cbc6cfb8e67cbd3f0 Mon Sep 17 00:00:00 2001 From: GlodBlock <60341015+GlodBlock@users.noreply.github.com> Date: Tue, 10 Aug 2021 22:54:40 +0800 Subject: [PATCH 2/6] remove unused imports --- src/main/java/emt/tile/TileEntityEtherealMacerator.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/main/java/emt/tile/TileEntityEtherealMacerator.java b/src/main/java/emt/tile/TileEntityEtherealMacerator.java index e59e626..933ef68 100644 --- a/src/main/java/emt/tile/TileEntityEtherealMacerator.java +++ b/src/main/java/emt/tile/TileEntityEtherealMacerator.java @@ -3,13 +3,9 @@ package emt.tile; import com.google.common.collect.Lists; import emt.init.EMTBlocks; import emt.util.EMTConfigHandler; -import ic2.api.item.IC2Items; import ic2.api.tile.IWrenchable; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.nbt.NBTTagCompound; From 2a98bb16ffce18cd1651a950fb46b0dd770b0b0f Mon Sep 17 00:00:00 2001 From: GlodBlock <60341015+GlodBlock@users.noreply.github.com> Date: Sun, 15 Aug 2021 10:05:54 +0800 Subject: [PATCH 3/6] add config for whitelist --- src/main/java/emt/util/EMTConfigHandler.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/emt/util/EMTConfigHandler.java b/src/main/java/emt/util/EMTConfigHandler.java index bfd17e7..c1845c4 100644 --- a/src/main/java/emt/util/EMTConfigHandler.java +++ b/src/main/java/emt/util/EMTConfigHandler.java @@ -5,6 +5,9 @@ import gregtech.api.enums.GT_Values; import net.minecraftforge.common.config.Configuration; import java.io.File; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; /** * TODO: Need to rewrite... @@ -72,6 +75,7 @@ public class EMTConfigHandler { public static boolean smoke; public static boolean oneRingSpawn; public static boolean removeAmberAndCinnabarMacerating; + public static List etherealMaceratorWhiteList = new ArrayList<>(); /** * Loot chance @@ -156,6 +160,7 @@ public class EMTConfigHandler { chanceOneRing = config.get(RANDOM, "One Ring spawning chance", 15, "If you have a lot of mods adding dungeon loot, you should definetely increase this").getInt(); removeAmberAndCinnabarMacerating = config.get(RANDOM, "Clear Amber/Cinnabar Macerating", true, "This is here because of conflicts between mods that add the same input and different outputs").getBoolean(removeAmberAndCinnabarMacerating); impactOfRain = config.get(RANDOM, "Impact of rain", true, "The impact of rain on all wings").getBoolean(impactOfRain); + etherealMaceratorWhiteList.addAll(Arrays.asList(config.get(RANDOM, "White List for Ethereal Processor", new String[]{"ore", "cluster"}, "The allowed ore dictionary prefix for Ethereal Processor.").getStringList())); // DEFAULTS - Aer - 15,000 Aqua - 5,000 Ignis - 20,000 Ordo - 16,000 Perditio - 10,000 Terra - 2,000 airOutput = config.get(OUTPUTS, "Aer Output", 15000).getDouble(airOutput); @@ -190,7 +195,6 @@ public class EMTConfigHandler { inventoryBaubleProdution = config.get(VALUES, "Inventory Charging Ring production", 32, "Default is 32").getInt(); wandChargeFocusCost = config.get(VALUES, "Wand Focus: Wand Charging Cost", 40000, "Default is 40000").getInt(); - nanoBootsMinDrop = config.get(VALUES, "Nano Boots of the Traveller minimum drop", 6.0, "The distance allowed to fall without any damage").getDouble(nanoBootsMinDrop); nanoBootsMaxDrop = config.get(VALUES, "Nano Boots of the Traveller maximum healthy drop", 35.0, "Energy amount drained will tripled if player drops more than this amount of blocks").getDouble(nanoBootsMaxDrop); quantumBootsMinDrop = config.get(VALUES, "Quantum Boots of the Traveller minimum drop", 10.0, "The distance allowed to fall without any damage").getDouble(quantumBootsMinDrop); From 49652c32e516bfa5a4f9ff259f24d8e09478d4e5 Mon Sep 17 00:00:00 2001 From: GlodBlock <60341015+GlodBlock@users.noreply.github.com> Date: Sun, 15 Aug 2021 10:07:12 +0800 Subject: [PATCH 4/6] enable the config --- src/main/java/emt/tile/TileEntityEtherealMacerator.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/java/emt/tile/TileEntityEtherealMacerator.java b/src/main/java/emt/tile/TileEntityEtherealMacerator.java index 933ef68..fabf618 100644 --- a/src/main/java/emt/tile/TileEntityEtherealMacerator.java +++ b/src/main/java/emt/tile/TileEntityEtherealMacerator.java @@ -1,6 +1,5 @@ package emt.tile; -import com.google.common.collect.Lists; import emt.init.EMTBlocks; import emt.util.EMTConfigHandler; import ic2.api.tile.IWrenchable; @@ -23,7 +22,7 @@ public class TileEntityEtherealMacerator extends TileEntityEMT implements ISided public int maceratingSpeed = EMTConfigHandler.etherealProcessorBaseSpeed; public int cookTime; private ItemStack[] slots = new ItemStack[3]; - List allowedOreDictList = Lists.newArrayList("ore", "cluster"); + List allowedOreDictList = EMTConfigHandler.etherealMaceratorWhiteList; public int getSizeInventory() { return this.slots.length; @@ -232,7 +231,7 @@ public class TileEntityEtherealMacerator extends TileEntityEMT implements ISided for (int ID : OreDictIDs) { String tName = OreDictionary.getOreName(ID); for (String allowed : allowedOreDictList) { - if (tName.contains(allowed)) return true; + if (tName.indexOf(allowed) == 0) return true; } } return false; From f1c08b6f5f17b894d2f5d81cfaf96b4e82bf27c7 Mon Sep 17 00:00:00 2001 From: GlodBlock <60341015+GlodBlock@users.noreply.github.com> Date: Tue, 17 Aug 2021 10:43:34 +0800 Subject: [PATCH 5/6] small changes to variable name --- src/main/java/emt/tile/TileEntityEtherealMacerator.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/main/java/emt/tile/TileEntityEtherealMacerator.java b/src/main/java/emt/tile/TileEntityEtherealMacerator.java index fabf618..8a1de95 100644 --- a/src/main/java/emt/tile/TileEntityEtherealMacerator.java +++ b/src/main/java/emt/tile/TileEntityEtherealMacerator.java @@ -12,8 +12,6 @@ import net.minecraft.nbt.NBTTagList; import net.minecraftforge.oredict.OreDictionary; import thaumcraft.common.config.ConfigItems; -import java.util.List; - public class TileEntityEtherealMacerator extends TileEntityEMT implements ISidedInventory, IWrenchable { private static final int[] slots_top = new int[]{0}; @@ -22,7 +20,6 @@ public class TileEntityEtherealMacerator extends TileEntityEMT implements ISided public int maceratingSpeed = EMTConfigHandler.etherealProcessorBaseSpeed; public int cookTime; private ItemStack[] slots = new ItemStack[3]; - List allowedOreDictList = EMTConfigHandler.etherealMaceratorWhiteList; public int getSizeInventory() { return this.slots.length; @@ -228,9 +225,9 @@ public class TileEntityEtherealMacerator extends TileEntityEMT implements ISided public boolean isAllowed() { int[] OreDictIDs = OreDictionary.getOreIDs(this.slots[0]); - for (int ID : OreDictIDs) { - String tName = OreDictionary.getOreName(ID); - for (String allowed : allowedOreDictList) { + for (int OreDictID : OreDictIDs) { + String tName = OreDictionary.getOreName(OreDictID); + for (String allowed : EMTConfigHandler.etherealMaceratorWhiteList) { if (tName.indexOf(allowed) == 0) return true; } } From ba203f4a577c6155561de8c9bcb3346b4b99b4ea Mon Sep 17 00:00:00 2001 From: GlodBlock <60341015+GlodBlock@users.noreply.github.com> Date: Tue, 17 Aug 2021 16:30:48 +0800 Subject: [PATCH 6/6] use lower camel name style --- src/main/java/emt/tile/TileEntityEtherealMacerator.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/emt/tile/TileEntityEtherealMacerator.java b/src/main/java/emt/tile/TileEntityEtherealMacerator.java index 8a1de95..baaf38d 100644 --- a/src/main/java/emt/tile/TileEntityEtherealMacerator.java +++ b/src/main/java/emt/tile/TileEntityEtherealMacerator.java @@ -224,9 +224,9 @@ public class TileEntityEtherealMacerator extends TileEntityEMT implements ISided public boolean isAllowed() { - int[] OreDictIDs = OreDictionary.getOreIDs(this.slots[0]); - for (int OreDictID : OreDictIDs) { - String tName = OreDictionary.getOreName(OreDictID); + int[] oreDictIDs = OreDictionary.getOreIDs(this.slots[0]); + for (int oreDictID : oreDictIDs) { + String tName = OreDictionary.getOreName(oreDictID); for (String allowed : EMTConfigHandler.etherealMaceratorWhiteList) { if (tName.indexOf(allowed) == 0) return true; }