aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus
diff options
context:
space:
mode:
authorDraknyte1 <Draknyte1@hotmail.com>2017-01-11 16:32:07 +1000
committerDraknyte1 <Draknyte1@hotmail.com>2017-01-11 16:32:07 +1000
commit8d3d640b9e4f52a81f11255c89f201db80e7a9d4 (patch)
treede01f737a175a4b641072726de82f7c30d83185a /src/Java/gtPlusPlus
parent5f5f2168e3d9f6e9c9aad504498bacd3b4102afb (diff)
downloadGT5-Unofficial-8d3d640b9e4f52a81f11255c89f201db80e7a9d4.tar.gz
GT5-Unofficial-8d3d640b9e4f52a81f11255c89f201db80e7a9d4.tar.bz2
GT5-Unofficial-8d3d640b9e4f52a81f11255c89f201db80e7a9d4.zip
+ Added Tree farm Fluid/solid Fertilisers.
+ Added a handler for creating non-molten fluids. + Added the basis for a config switch to enable or disable the tree farmer. $ Improved Tree Farm cutting and cleanup code. $ Fixed a bug in ItemUtils, stemming from ancient code which pointed at an array index which never exists. (Now I compare array length.) - Removed some useless code from Material.java.
Diffstat (limited to 'src/Java/gtPlusPlus')
-rw-r--r--src/Java/gtPlusPlus/core/item/ModItems.java69
-rw-r--r--src/Java/gtPlusPlus/core/lib/CORE.java2
-rw-r--r--src/Java/gtPlusPlus/core/material/Material.java16
-rw-r--r--src/Java/gtPlusPlus/core/util/Utils.java2
-rw-r--r--src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java75
-rw-r--r--src/Java/gtPlusPlus/core/util/item/ItemUtils.java8
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntityTreeFarm.java56
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialTreeFarm.java2
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTreeFarmerTE.java19
9 files changed, 172 insertions, 77 deletions
diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java
index 99020b7b3b..3335a8d89f 100644
--- a/src/Java/gtPlusPlus/core/item/ModItems.java
+++ b/src/Java/gtPlusPlus/core/item/ModItems.java
@@ -185,6 +185,10 @@ public final class ModItems {
private static BaseItemPlate itemPlateClay;
+ private static Item dustFertUN18;
+
+ private static Item dustFertUN32;
+
//@SuppressWarnings("unused")
@@ -345,7 +349,6 @@ public final class ModItems {
//Leagrisium
MaterialGenerator.generate(ALLOY.LEAGRISIUM);
-
//Must be the final Alloy to Generate
MaterialGenerator.generate(ALLOY.QUANTUM);
@@ -353,15 +356,16 @@ public final class ModItems {
} catch (Throwable r){
Utils.LOG_INFO("Failed to Generated a Material. "+r.getMessage());
//Utils.LOG_INFO("Failed to Generated a Material. "+r.getCause().getMessage());
- Utils.LOG_INFO("Failed to Generated a Material. "+r.getStackTrace()[0].getMethodName());
- Utils.LOG_INFO("Failed to Generated a Material. "+r.getStackTrace()[1].getMethodName());
+ //Utils.LOG_INFO("Failed to Generated a Material. "+r.getStackTrace()[0].getMethodName());
+ //Utils.LOG_INFO("Failed to Generated a Material. "+r.getStackTrace()[1].getMethodName());
r.printStackTrace();
- System.exit(1);
+ //System.exit(1);
}
//TC Style Shards, for use in making energy crystal mix.
//A dull shard, able to be infused with an element.
shardDull = new BaseItemTCShard("Drained", Utils.rgbtoHexValue(75, 75, 75), "Can be infused to create a magical shard.", "Obtained from Mining Stone/SandStone, Chopping Logs or Shovelling Dirt.");
+
//Generates four elemental shards when TC is not installed.
if (!LoadedMods.Thaumcraft){
shardAer = new BaseItemTCShard("Aer", Utils.rgbtoHexValue(225, 225, 5));
@@ -414,29 +418,50 @@ public final class ModItems {
dustZrCl4 = ItemUtils.generateSpecialUseDusts("ZrCl4", "ZrCl4", Utils.rgbtoHexValue(180, 180, 180))[0]; //http://www.iaea.org/inis/collection/NCLCollectionStore/_Public/39/036/39036750.pdf
dustCookedZrCl4 = ItemUtils.generateSpecialUseDusts("CookedZrCl4", "Cooked ZrCl4", Utils.rgbtoHexValue(180, 180, 180))[0]; //http://www.iaea.org/inis/collection/NCLCollectionStore/_Public/39/036/39036750.pdf
//Zirconium Tetrafluoride
- //dustZrF4 = ItemUtils.generateSpecialUseDusts("ZrF4", "ZrF4", Utils.rgbtoHexValue(170, 170, 170))[0]; //https://en.wikipedia.org/wiki/Zirconium_tetrafluoride
- //GT_OreDictUnificator.registerOre("dustZirconiumTetrafluoride", new ItemStack(ModItems.dustZrF4));
GT_OreDictUnificator.registerOre("cellZrF4", ItemUtils.getItemStackOfAmountFromOreDict("cellZirconiumTetrafluoride", 1));
GT_OreDictUnificator.registerOre("dustZrF4", ItemUtils.getItemStackOfAmountFromOreDict("dustZirconiumTetrafluoride", 1));
- FluidUtils.generateFluid("ZirconiumTetrafluoride", "Zirconium Tetrafluoride [ZrF4]", 500, new short[]{170, 170, 140, 100});
+ FluidUtils.generateFluid("ZirconiumTetrafluoride", "Zirconium Tetrafluoride [ZrF4]", 500, new short[]{170, 170, 140, 100}); //https://en.wikipedia.org/wiki/Zirconium_tetrafluoride
//Coolant Salt
//NaBF4 - NaF - 621C
- /*dustNaBF4NaF = ItemUtils.generateSpecialUseDusts("NaBF4NaF", "NaBF4NaF", Utils.rgbtoHexValue(45, 45, 90))[0]; //https://en.wikipedia.org/wiki/Zirconium_tetrafluoride
- //Fuel Salt
- //7LiF - BeF2 - ZrF4 - UF4 - 650C
- dustLiFBeF2ZrF4UF4 = ItemUtils.generateSpecialUseDusts("LiFBeF2ZrF4UF4", "LiF-BeF2-ZrF4-UF4", Utils.rgbtoHexValue(35, 90, 25))[0]; //https://en.wikipedia.org/wiki/Zirconium_tetrafluoride
- //7LiF - BeF2 - ZrF4 - U235 - 590C
- dustLiFBeF2ZrF4U235 = ItemUtils.generateSpecialUseDusts("LiFBeF2ZrF4U235", "LiF-BeF2-ZrF4-U235", Utils.rgbtoHexValue(35, 80, 15))[0]; //https://en.wikipedia.org/wiki/Zirconium_tetrafluoride
- //7liF - BeF2 - ThF4 - UF4 - 566C
- dustLiFBeF2ThF4UF4 = ItemUtils.generateSpecialUseDusts("LiFBeF2ThF4UF4", "LiF-BeF2-ThF4-UF4", Utils.rgbtoHexValue(35, 70, 25))[0]; //https://en.wikipedia.org/wiki/Zirconium_tetrafluoride
+ //dustNaBF4NaF = ItemUtils.generateSpecialUseDusts("NaBF4NaF", "NaBF4NaF", Utils.rgbtoHexValue(45, 45, 90))[0]; //https://en.wikipedia.org/wiki/Zirconium_tetrafluoride
+
+
+ //Load Tree Farmer
+ if (CORE.configSwitches.enableMultiblock_TreeFarmer){ //https://en.wikipedia.org/wiki/UAN
+ dustFertUN18 = ItemUtils.generateSpecialUseDusts("UN18Fertiliser", "UN-18 Fertiliser", Utils.rgbtoHexValue(60, 155, 60))[0];
+ dustFertUN32 = ItemUtils.generateSpecialUseDusts("UN32Fertiliser", "UN-32 Fertiliser", Utils.rgbtoHexValue(55, 190, 55))[0];
+
+ ItemStack temp1 = null;
+ ItemStack temp2 = null;
+
+ if (LoadedMods.IndustrialCraft2){
+ temp1 = ItemUtils.getCorrectStacktype("IC2:itemFertilizer", 1);
+ }
+ if (LoadedMods.Forestry){
+ temp2 = ItemUtils.getCorrectStacktype("Forestry:fertilizerCompound", 1);
+ }
+ if (temp1 != null){
+ FluidUtils.generateFluidNonMolten("Fertiliser", "Fertiliser", 32, new short[]{45, 170, 45, 100}, temp1, temp2);
+ }
+ FluidUtils.generateFluidNonMolten("UN32Fertiliser", "UN-32 Fertiliser", 24, new short[]{55, 190, 55, 100}, null, null);
+ FluidUtils.generateFluidNonMolten("UN18Fertiliser", "UN-18 Fertiliser", 22, new short[]{60, 155, 60, 100}, null, null);
+
+ /*GT_Values.RA.addMixerRecipe(
+ arg0, //Item In
+ arg1,
+ arg2,
+ arg3,
+ arg4, //Fluid in
+ arg5, //Fluid Out
+ arg6, //Item out
+ arg7, //Eu
+ arg8); //Time
+ */
+
+ }
- FluidUtils.generateFluid("NaBF4NaF", "NaBF4-NaF", 621, new short[]{45, 45, 90, 100});
- FluidUtils.generateFluid("LiFBeF2ZrF4UF4", "LiF-BeF2-ZrF4-UF4", 650, new short[]{35, 90, 25, 100});
- FluidUtils.generateFluid("LiFBeF2ZrF4U235", "LiF-BeF2-ZrF4-U235", 590, new short[]{35, 80, 15, 100});
- FluidUtils.generateFluid("LiFBeF2ThF4UF4", "LiF-BeF2-ThF4-UF4", 566, new short[]{35, 70, 25, 100}); */
-
//Test items
metaItem2 = new BaseEuItem();
metaItem2.registerItem(0, EnumChatFormatting.BLACK+"Test Item 0", 0, 0, "I am 0.");
@@ -446,8 +471,10 @@ public final class ModItems {
metaItem2.registerItem(4, "Whirlygig", 1043644000, (short) 5, "Spin me right round.", EnumRarity.rare, EnumChatFormatting.DARK_GREEN, true);
metaItem2.registerItem(5, "Whirlygig 2", 2124867000, (short) 7, "Spin me right round.", EnumRarity.uncommon, EnumChatFormatting.RED, true);
+
+
+ //Load Multitools
boolean gtStyleTools = LoadedMods.Gregtech;
-
if (CORE.configSwitches.enableMultiSizeTools){
Materials[] rm = Materials.values();
for (Materials m : rm){
diff --git a/src/Java/gtPlusPlus/core/lib/CORE.java b/src/Java/gtPlusPlus/core/lib/CORE.java
index a72e41caa7..dbc7cde09d 100644
--- a/src/Java/gtPlusPlus/core/lib/CORE.java
+++ b/src/Java/gtPlusPlus/core/lib/CORE.java
@@ -122,6 +122,8 @@ public class CORE {
public static boolean enableMultiblock_PowerSubstation = true;
public static boolean enableMultiblock_LiquidFluorideThoriumReactor = true;
public static boolean enableMultiblock_NuclearFuelRefinery = true;
+
+ public static boolean enableMultiblock_TreeFarmer = true;
}
diff --git a/src/Java/gtPlusPlus/core/material/Material.java b/src/Java/gtPlusPlus/core/material/Material.java
index b590b8b1c0..3e034cf274 100644
--- a/src/Java/gtPlusPlus/core/material/Material.java
+++ b/src/Java/gtPlusPlus/core/material/Material.java
@@ -308,7 +308,6 @@ public class Material {
}
final public ItemStack[] getMaterialComposites(){
- //Utils.LOG_WARNING("Something requested the materials needed for "+localizedName);
if (vMaterialInput != null){
if (!vMaterialInput.isEmpty()){
ItemStack[] temp = new ItemStack[vMaterialInput.size()];
@@ -395,8 +394,7 @@ public class Material {
return null;
}
- @SuppressWarnings("unused")
- final String getToolTip(String chemSymbol, long aMultiplier, boolean aShowQuestionMarks) {
+ public final String getToolTip(String chemSymbol, long aMultiplier, boolean aShowQuestionMarks) {
if (!aShowQuestionMarks && (vChemicalFormula.equals("?")||vChemicalFormula.equals("??"))) return "";
Utils.LOG_WARNING("===============| Calculating Atomic Formula for "+this.localizedName+" |===============");
if (!chemSymbol.equals(""))
@@ -451,7 +449,7 @@ public class Material {
}
- final Fluid generateFluid(){
+ public final Fluid generateFluid(){
if (Materials.get(localizedName).mFluid == null){
Utils.LOG_WARNING("Generating our own fluid.");
@@ -476,18 +474,8 @@ public class Material {
final public FluidStack getFluid(int fluidAmount) {
Utils.LOG_WARNING("Attempting to get "+fluidAmount+"L of "+this.vMoltenFluid.getName());
-
FluidStack moltenFluid = new FluidStack(this.vMoltenFluid, fluidAmount);
-
Utils.LOG_WARNING("Info: "+moltenFluid.getFluid().getName()+" Info: "+moltenFluid.amount+" Info: "+moltenFluid.getFluidID());
-
- //FluidStack moltenFluid = FluidUtils.getFluidStack(this.vMoltenFluid.getName(), fluidAmount);
- /*boolean isNull = (moltenFluid == null);
- if (isNull) Utils.LOG_WARNING("Did not obtain fluid.");
- else Utils.LOG_WARNING("Found fluid.");
- if (isNull){
- return null;
- }*/
return moltenFluid;
}
diff --git a/src/Java/gtPlusPlus/core/util/Utils.java b/src/Java/gtPlusPlus/core/util/Utils.java
index f30d0ed69e..9f14683382 100644
--- a/src/Java/gtPlusPlus/core/util/Utils.java
+++ b/src/Java/gtPlusPlus/core/util/Utils.java
@@ -530,7 +530,7 @@ public class Utils {
public static ToolMaterial generateMaterialFromGT(Materials gtMaterial){
String name = gtMaterial.name();
int harvestLevel = gtMaterial.mToolQuality;
- int durability = gtMaterial.mDurability;
+ int durability = gtMaterial.mDurability*3;
float damage = gtMaterial.mToolQuality;
int efficiency = (int) gtMaterial.mToolSpeed;
int enchantability = gtMaterial.mEnchantmentToolsLevel;
diff --git a/src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java b/src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java
index 2e0973d9a4..dd1fcfacbc 100644
--- a/src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java
+++ b/src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java
@@ -25,7 +25,7 @@ public class FluidUtils {
}
}
-
+
public static FluidStack getFluidStack(FluidStack vmoltenFluid, int fluidAmount) {
Utils.LOG_WARNING("Trying to get a fluid stack of "+vmoltenFluid.getFluid().getName());
try {
@@ -35,7 +35,7 @@ public class FluidUtils {
return null;
}
}
-
+
public static FluidStack getFluidStack(Fluid vFluid, int fluidAmount) {
Utils.LOG_WARNING("Trying to get a fluid stack of "+vFluid.getName());
try {
@@ -69,8 +69,8 @@ public class FluidUtils {
}
}
-
-
+
+
/**
* @param String displayName
* @param String fluidName
@@ -140,12 +140,12 @@ public class FluidUtils {
}
return generatedFluid;
}
-
+
public static Fluid addAutogeneratedMoltenFluid(String materialNameFormatted, short[] rgba, int MeltingPoint) {
return addFluid("molten." + materialNameFormatted.toLowerCase(), "molten.autogenerated", "Molten " + materialNameFormatted, null, rgba, 1, (MeltingPoint <= 0L) ? 1000L : MeltingPoint, null, null, 0);
}
-
+
public static Fluid addAutogeneratedMoltenFluid(final GT_Materials aMaterial) {
return addFluid("molten." + aMaterial.name().toLowerCase(), "molten.autogenerated", "Molten " + aMaterial.name(), aMaterial, aMaterial.mMoltenRGBa, 1, (aMaterial.mMeltingPoint <= 0L) ? 1000L : aMaterial.mMeltingPoint, null, null, 0);
}
@@ -217,11 +217,15 @@ public class FluidUtils {
}
return rFluid;
}
-
+
public static Fluid addGTFluid(final String aName, final String aLocalized, final short[] aRGBa, final int aState, final long aTemperatureK, final ItemStack aFullContainer, final ItemStack aEmptyContainer, final int aFluidAmount) {
return addGTFluid("molten."+aName, "molten.autogenerated", aLocalized, aRGBa, aState, aTemperatureK, aFullContainer, aEmptyContainer, aFluidAmount);
}
+ public static Fluid addGTFluidNonMolten(final String aName, final String aLocalized, final short[] aRGBa, final int aState, final long aTemperatureK, final ItemStack aFullContainer, final ItemStack aEmptyContainer, final int aFluidAmount) {
+ return addGTFluid("fluid."+aName, "fluid.autogenerated", aLocalized, aRGBa, aState, aTemperatureK, aFullContainer, aEmptyContainer, aFluidAmount);
+ }
+
public static Fluid addGTFluid(String aName, final String aTexture, final String aLocalized, final short[] aRGBa, final int aState, final long aTemperatureK, final ItemStack aFullContainer, final ItemStack aEmptyContainer, final int aFluidAmount) {
aName = Utils.sanitizeString(aName.toLowerCase());
Fluid rFluid = new FluidGT6(aName, aTexture, (aRGBa != null) ? aRGBa : Dyes._NULL.getRGBA());
@@ -348,7 +352,7 @@ public class FluidUtils {
public static ItemStack container(final ItemStack aStack, final boolean aCheckIFluidContainerItems, final int aStacksize) {
return amount(aStacksize, container(aStack, aCheckIFluidContainerItems));
}
-
+
public final static Fluid generateFluid(String unlocalizedName, String localizedName, int MeltingPoint, short[] RGBA){
if (FluidUtils.getFluidStack("molten"+"."+unlocalizedName.toLowerCase(), 1) == null && ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dust"+Utils.sanitizeString(localizedName), 1) != null){
Utils.LOG_WARNING("Generating our own fluid.");
@@ -358,7 +362,7 @@ public class FluidUtils {
@SuppressWarnings("unused")
Item temp = new BaseItemComponent(unlocalizedName, localizedName, RGBA);
}
-
+
Fluid gtFluid = FluidUtils.addGTFluid(
unlocalizedName,
"Molten "+localizedName,
@@ -368,7 +372,7 @@ public class FluidUtils {
ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+unlocalizedName, 1),
ItemList.Cell_Empty.get(1L, new Object[0]),
1000);
-
+
GT_Values.RA.addFluidExtractionRecipe(
ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dust"+Utils.sanitizeString(localizedName), 1), //Input
null, //Input 2
@@ -379,6 +383,57 @@ public class FluidUtils {
);
return gtFluid;
}
+ Utils.LOG_INFO("FLUID GENERATION FAILED FOR "+localizedName);
+ return null;
+ }
+
+ public final static Fluid generateFluidNonMolten(String unlocalizedName, String localizedName, int MeltingPoint, short[] RGBA, ItemStack dustStack, ItemStack dustStack2){
+ if (dustStack == null){
+ dustStack = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dust"+Utils.sanitizeString(localizedName), 1);
+ }
+ if (FluidUtils.getFluidStack(unlocalizedName.toLowerCase(), 1) == null && (dustStack != null || dustStack2 != null)){
+ Utils.LOG_WARNING("Generating our own fluid.");
+
+ //Generate a Cell if we need to
+ if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+unlocalizedName, 1) == null){
+ @SuppressWarnings("unused")
+ Item temp = new BaseItemComponent(unlocalizedName, localizedName, RGBA);
+ }
+
+ Fluid gtFluid = FluidUtils.addGTFluidNonMolten(
+ unlocalizedName,
+ localizedName,
+ RGBA,
+ 4,
+ MeltingPoint,
+ ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+unlocalizedName, 1),
+ ItemList.Cell_Empty.get(1L, new Object[0]),
+ 1000);
+
+ if (dustStack != null){
+ GT_Values.RA.addFluidExtractionRecipe(
+ dustStack, //Input
+ null, //Input 2
+ FluidUtils.getFluidStack(gtFluid, 144), //Fluid Output
+ 0, //Chance
+ 1*20, //Duration
+ 16 //Eu Tick
+ );
+ }
+ if (dustStack2 != null){
+ GT_Values.RA.addFluidExtractionRecipe(
+ dustStack2, //Input
+ null, //Input 2
+ FluidUtils.getFluidStack(gtFluid, 144), //Fluid Output
+ 0, //Chance
+ 1*20, //Duration
+ 16 //Eu Tick
+ );
+ }
+
+ return gtFluid;
+ }
+ Utils.LOG_INFO("FLUID GENERATION FAILED FOR "+localizedName);
return null;
}
diff --git a/src/Java/gtPlusPlus/core/util/item/ItemUtils.java b/src/Java/gtPlusPlus/core/util/item/ItemUtils.java
index 2df848cae5..2595f88fec 100644
--- a/src/Java/gtPlusPlus/core/util/item/ItemUtils.java
+++ b/src/Java/gtPlusPlus/core/util/item/ItemUtils.java
@@ -177,8 +177,12 @@ public class ItemUtils {
return temp;
}
String[] fqrnSplit = fqrn.split(":");
- if(fqrnSplit[2] == null){fqrnSplit[2] = "0";}
- temp = ItemUtils.getItemStackWithMeta(LoadedMods.MiscUtils, fqrn, fqrnSplit[1], Integer.parseInt(fqrnSplit[2]), stackSize);
+ String temp1;
+ String temp2;
+ temp1 = fqrnSplit[1];
+ if (fqrnSplit.length < 3){temp2 = "0";}
+ else {temp2 = fqrnSplit[2];}
+ temp = ItemUtils.getItemStackWithMeta(LoadedMods.MiscUtils, fqrn, temp1, Integer.parseInt(temp2), stackSize);
return temp;
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntityTreeFarm.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntityTreeFarm.java
index 6a660bcd34..4eea109600 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntityTreeFarm.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntityTreeFarm.java
@@ -25,7 +25,7 @@ public class GregtechMetaTileEntityTreeFarm extends GT_MetaTileEntity_MultiBlock
public ArrayList<GT_MetaTileEntity_TieredMachineBlock> mCasings = new ArrayList();
- int treeCheckTicks = 0;
+ /* private */ private int treeCheckTicks = 0;
public GregtechMetaTileEntityTreeFarm(final int aID, final String aName, final String aNameRegional) {
super(aID, aName, aNameRegional);
@@ -140,8 +140,8 @@ public class GregtechMetaTileEntityTreeFarm extends GT_MetaTileEntity_MultiBlock
if (h == 0) {
//Dirt Floor
if (!TreefarmManager.isDirtBlock(aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j))) {
- Utils.LOG_WARNING("Dirt like block missing from inner 14x14.");
- Utils.LOG_WARNING("Instead, found "+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
+ Utils.LOG_INFO("Dirt like block missing from inner 14x14.");
+ Utils.LOG_INFO("Instead, found "+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
aBaseMetaTileEntity.getWorld().setBlock(
(aBaseMetaTileEntity.getXCoord()+(xDir+i)),
(aBaseMetaTileEntity.getYCoord()+(h)),
@@ -155,9 +155,9 @@ public class GregtechMetaTileEntityTreeFarm extends GT_MetaTileEntity_MultiBlock
//else if (h == 1){
//Farm Inner 14x14
/*if (!TreefarmManager.isWoodLog(aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j)) || !TreefarmManager.isAirBlock(aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j)) || !aBaseMetaTileEntity.getAirOffset(xDir+i, h, zDir+j)) {
- Utils.LOG_WARNING("Wood like block missing from inner 14x14, layer 2."); //TODO
- Utils.LOG_WARNING("Instead, found "+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
- Utils.LOG_WARNING("Found at x:"+(xDir+i)+" y:"+h+" z:"+(zDir+j));
+ Utils.LOG_INFO("Wood like block missing from inner 14x14, layer 2."); //TODO
+ Utils.LOG_INFO("Instead, found "+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
+ Utils.LOG_INFO("Found at x:"+(xDir+i)+" y:"+h+" z:"+(zDir+j));
//return false;
}*/
//}
@@ -169,8 +169,8 @@ public class GregtechMetaTileEntityTreeFarm extends GT_MetaTileEntity_MultiBlock
//Deal with all 4 sides (Fenced area)
if (h == 1) {
if (!TreefarmManager.isFenceBlock(aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j))) {
- Utils.LOG_WARNING("Fence/Gate missing from outside the second layer.");
- Utils.LOG_WARNING("Instead, found "+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
+ Utils.LOG_INFO("Fence/Gate missing from outside the second layer.");
+ Utils.LOG_INFO("Instead, found "+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
return false;
}
}
@@ -179,9 +179,9 @@ public class GregtechMetaTileEntityTreeFarm extends GT_MetaTileEntity_MultiBlock
if ((!addMaintenanceToMachineList(tTileEntity, 77)) && (!addInputToMachineList(tTileEntity, 77)) && (!addOutputToMachineList(tTileEntity, 77)) && (!addEnergyInputToMachineList(tTileEntity, 77))) {
if ((xDir + i != 0) || (zDir + j != 0)) {//no controller
- if (aBaseMetaTileEntity.getMetaTileID() != 752) {
- Utils.LOG_WARNING("Farm Keeper Casings Missing from one of the edges on the bottom edge. x:"+(xDir+i)+" y:"+h+" z:"+(zDir+j)+" | "+aBaseMetaTileEntity.getClass());
- Utils.LOG_WARNING("Instead, found "+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName());
+ if (tTileEntity.getMetaTileID() != 752) {
+ Utils.LOG_INFO("Farm Keeper Casings Missing from one of the edges on the bottom edge. x:"+(xDir+i)+" y:"+h+" z:"+(zDir+j)+" | "+aBaseMetaTileEntity.getClass());
+ Utils.LOG_INFO("Instead, found "+aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j).getLocalizedName()+" "+tTileEntity.getMetaTileID());
return false;
}
Utils.LOG_WARNING("Found a farm keeper.");
@@ -293,6 +293,9 @@ public class GregtechMetaTileEntityTreeFarm extends GT_MetaTileEntity_MultiBlock
Utils.LOG_INFO("Looking For Trees - Serverside | "+treeCheckTicks);
final boolean b = findLogs(aBaseMetaTileEntity);
Utils.LOG_INFO("Did I manage to find/cut logs? "+b);
+ if (b){
+ cleanUp(aBaseMetaTileEntity);
+ }
}
}
@@ -381,16 +384,43 @@ public class GregtechMetaTileEntityTreeFarm extends GT_MetaTileEntity_MultiBlock
}
}
}
- Utils.LOG_INFO("general failure | cut:"+logsCut );
+ cleanUp(aBaseMetaTileEntity);
+ Utils.LOG_INFO("general failure | maybe there is no logs, not an error. | cut:"+logsCut );
return false;
}
+
+ private static boolean cleanUp(final IGregTechTileEntity aBaseMetaTileEntity){
+ Utils.LOG_INFO("called cleanUp()");
+ int cleanedUp = 0;
+ final int xDir = net.minecraftforge.common.util.ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX * 7;
+ final int zDir = net.minecraftforge.common.util.ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ * 7;
+ for (int i = -10; i <= 10; i++) {
+ for (int j = -10; j <= 10; j++) {
+ for (int h=3;h<175;h++){
+ if (TreefarmManager.isLeaves(aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j)) || TreefarmManager.isWoodLog(aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j))){
+ int posiX, posiY, posiZ;
+ posiX = aBaseMetaTileEntity.getXCoord()+xDir+i;
+ posiY = aBaseMetaTileEntity.getYCoord()+h;
+ posiZ = aBaseMetaTileEntity.getZCoord()+zDir+j;
+ Utils.LOG_INFO("Cleaning Up some leftovers.");
+ cleanedUp++;
+ aBaseMetaTileEntity.getWorld().setBlockToAir(posiX, posiY, posiZ);
+ }
+
+ }
+
+ }
+ }
+ Utils.LOG_INFO("cleaning up | "+cleanedUp );
+ return true;
+ }
private static boolean cutLog (final World world, final int x, final int y, final int z){
Utils.LOG_INFO("Cutting Log");
try {
final Block block = world.getBlock(x, y, z);
- Utils.LOG_WARNING(block.toString());
+ Utils.LOG_INFO(block.toString());
block.dropBlockAsItem(world, x, y, z, world.getBlockMetadata(x, y, z), 0);
world.setBlockToAir(x, y, z);
return true;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialTreeFarm.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialTreeFarm.java
index 52058e081d..250a0df68a 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialTreeFarm.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialTreeFarm.java
@@ -14,7 +14,7 @@ public class GregtechIndustrialTreeFarm
{
if (gtPlusPlus.core.lib.LoadedMods.Gregtech){
Utils.LOG_INFO("Gregtech5u Content | Registering Tree Farm Multiblock.");
- if (CORE.configSwitches.enableMultiblock_NuclearFuelRefinery) run1();
+ if (CORE.configSwitches.enableMultiblock_TreeFarmer) run1();
}
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTreeFarmerTE.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTreeFarmerTE.java
index 87e8a6bb55..9debd17084 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTreeFarmerTE.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTreeFarmerTE.java
@@ -5,26 +5,15 @@ import gtPlusPlus.core.util.Utils;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GregtechMetaTreeFarmerStructural;
-public class GregtechTreeFarmerTE
-{
- public static void run()
- {
+public class GregtechTreeFarmerTE {
+ public static void run() {
if (gtPlusPlus.core.lib.LoadedMods.Gregtech){
Utils.LOG_INFO("Gregtech5u Content | Registering Tree Farmer Structural Block.");
- if (CORE.configSwitches.enableMachine_Safes) run1();
+ if (CORE.configSwitches.enableMultiblock_TreeFarmer) run1();
}
-
}
- private static void run1()
- {
-
+ private static void run1() {
GregtechItemList.TreeFarmer_Structural.set(new GregtechMetaTreeFarmerStructural(752, "treefarmer.structural", "Farm Keeper", 0).getStackForm(1L));
-
-
-
-
-
-
}
}