diff options
author | Sphyix <masifede2@gmail.com> | 2022-01-23 03:39:41 +0100 |
---|---|---|
committer | Sphyix <masifede2@gmail.com> | 2022-01-23 03:39:41 +0100 |
commit | 03a4f719d406af2f979b0d1d903c53d8cf2cc24e (patch) | |
tree | 9248cd3387e9d6ba08002b2d49c8794e7fc04c6f /src/main/java/gtPlusPlus | |
parent | b86abdfa2fca6be84dafd5655d8eced43f2a57b0 (diff) | |
download | GT5-Unofficial-03a4f719d406af2f979b0d1d903c53d8cf2cc24e.tar.gz GT5-Unofficial-03a4f719d406af2f979b0d1d903c53d8cf2cc24e.tar.bz2 GT5-Unofficial-03a4f719d406af2f979b0d1d903c53d8cf2cc24e.zip |
commented old code, fixed output amount, mapped sapling to wood
Diffstat (limited to 'src/main/java/gtPlusPlus')
-rw-r--r-- | src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java | 128 |
1 files changed, 116 insertions, 12 deletions
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java index c7355d23d2..29ddd549c3 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java @@ -76,6 +76,7 @@ public class GregtechMetaTileEntityTreeFarm extends GregtechMeta_MultiBlockBase< .addInfo("Converts EU to Oak Logs") .addInfo("Eu Usage: 100% | Parallel: 1") .addInfo("Requires a Saw or Chainsaw in GUI slot") + .addInfo("Add a sapling in the input bus to change wood type output") .addPollutionAmount(getPollutionPerSecond(null)) .addSeparator() .beginStructureBlock(3, 3, 3, true) @@ -156,8 +157,39 @@ public class GregtechMetaTileEntityTreeFarm extends GregtechMeta_MultiBlockBase< this.mEUt = (-this.mEUt); } + /* Old Methods with FakeWorld + int aChance = MathUtils.randInt(0, 10); + + try { + if (aChance < 8) { + ItemStackMap<Integer> allOutputs = new ItemStackMap<>(); + if (aLeaves == null) + aLeaves = ItemUtils.getSimpleStack(Blocks.leaves); + //1% Chance per Tick + for (int u = 0; u < (Math.max(4, (MathUtils.randInt((3 * tTier), 100) * tTier * tTier) / 14)); u++) { + AutoMap<ItemStack> aOutputs = mTreeData.generateOutput(0); + if (aOutputs.size() > 0) { + for (ItemStack aOutputItemStack : aOutputs) { + if (!GT_Utility.areStacksEqual(aLeaves, aOutputItemStack)) { + Integer oldStackSize = allOutputs.get(aOutputItemStack); + int oldStackSizeUnboxed = oldStackSize == null ? 0 : oldStackSize; + allOutputs.put(aOutputItemStack, oldStackSizeUnboxed + aOutputItemStack.stackSize); + } + } + } + } + + mOutputItems = allOutputs.entries().stream() + .map(e -> { + e.key.stackSize = e.value; + return e.key; + }).toArray(ItemStack[]::new); + } + } catch (Throwable t) { + t.printStackTrace(GT_Log.err); + */ try { - int outputAmount = (2 * tTier ^ 2) - (2 * tTier) + 5; + int outputAmount = ((2 * (tTier * tTier)) - (2 * tTier) + 5)*(mMaxProgresstime/20); int lastStack = outputAmount % 64; mTreeType.stackSize = 64; for (int i = 0; i < (outputAmount - lastStack) / 64; i++) { @@ -260,29 +292,101 @@ public class GregtechMetaTileEntityTreeFarm extends GregtechMeta_MultiBlockBase< return false; } - public boolean getWoodBasedOnSapling() { + public void getWoodBasedOnSapling() { for (GT_MetaTileEntity_Hatch_InputBus mInputBus : this.mInputBusses) { for (int i = 0; i < mInputBus.mInventory.length; i++) { ItemStack uStack = mInputBus.mInventory[i]; - if (uStack != null) { - ItemStack aWood = woodMapper(uStack); + ItemStack aWood = woodMapper(uStack); if(aWood != null) { this.mTreeType = aWood; - return true; - } else{ - this.mTreeType = new ItemStack(Blocks.log, 0); + return; } - } } + this.mTreeType = new ItemStack(Blocks.log, 0); //default to oak wood } - return false; } public ItemStack woodMapper(ItemStack aStack){ - String b = aStack.getUnlocalizedName(); + if(aStack == null){ + return null; + } String registryName = Item.itemRegistry.getNameForObject(aStack.getItem()); - String modID = registryName.substring(0, registryName.indexOf(":")); - return null; + switch(registryName){ + case "minecraft:sapling": + switch(aStack.getItemDamage()) { + case 0: + return new ItemStack(Blocks.log,1, 0); //oak + case 1: + return new ItemStack(Blocks.log,1, 1); //spruce + case 2: + return new ItemStack(Blocks.log,1, 2); //birch + case 3: + return new ItemStack(Blocks.log,1, 3); //jungle + case 4: + return new ItemStack(Blocks.log2,1, 0); //acacia + case 5: + return new ItemStack(Blocks.log2,1, 1); //dark oak + default: + return null; + } + case "GalaxySpace:barnardaCsapling": + return GT_ModHandler.getModItem("GalaxySpace","barnardaClog", 1); + case "IC2:blockRubSapling": + return GT_ModHandler.getModItem("IC2","blockRubWood", 1); + case "Natura:florasapling": + switch(aStack.getItemDamage()){ + case 1: + return GT_ModHandler.getModItem("Natura","tree", 1, 0); //eucalyptus + case 2: + return GT_ModHandler.getModItem("Natura","tree", 1, 3); //hopseed + case 3: + return GT_ModHandler.getModItem("Natura","tree", 1, 1); //sakura + case 4: + return GT_ModHandler.getModItem("Natura","tree", 1, 2); //ghostwood + case 5: + return GT_ModHandler.getModItem("Natura","bloodwood", 1, 0); //bloodwood + case 6: + return GT_ModHandler.getModItem("Natura","Dark Tree", 1, 0); //darkwood + case 7: + return GT_ModHandler.getModItem("Natura","Dark Tree", 1, 1); //fusewood + default: + return null; + } + case "Natura:Rare Sapling": + switch(aStack.getItemDamage()){ + case 0: + return GT_ModHandler.getModItem("Natura","Rare Tree", 1, 0); //maple + case 1: + return GT_ModHandler.getModItem("Natura","Rare Tree", 1, 1); //silverbell + case 2: + return GT_ModHandler.getModItem("Natura","Rare Tree", 1, 2); //amaranth + case 3: + return GT_ModHandler.getModItem("Natura","Rare Tree", 1, 3); //tigerwood + case 4: + return GT_ModHandler.getModItem("Natura","willow", 1, 0); //willow + default: + return null; + } + case "TConstruct:slime.sapling": + return GT_ModHandler.getModItem("TConstruct","slime.gel", 1, 1); //green slime blocks + case "TaintedMagic:BlockWarpwoodSapling": + return GT_ModHandler.getModItem("TaintedMagic","BlockWarpwoodLog", 1); //warpwood + case "Thaumcraft:blockCustomPlant": + switch(aStack.getItemDamage()){ + case 0: + return GT_ModHandler.getModItem("Thaumcraft","blockMagicalLog", 0); //greatwood + case 1: + return GT_ModHandler.getModItem("Thaumcraft","blockMagicalLog", 1); //silverwood + default: + return null; + } + case "miscutils:blockRainforestOakSapling": + return GT_ModHandler.getModItem("miscutils","blockRainforestOakLog", 1); //gt++ rainforest + case "miscutils:blockPineSapling": + return GT_ModHandler.getModItem("miscutils","blockPineLogLog", 1); //gt++ pine + default: + return null; + } } public boolean tryDamageTool(ItemStack invItem) { |