aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDraknyte1 <Draknyte1@hotmail.com>2017-05-07 14:26:09 +1000
committerDraknyte1 <Draknyte1@hotmail.com>2017-05-07 14:26:09 +1000
commit0c3d983f6bfa7ada1c85a6176f599a3ea4bb8d2a (patch)
tree6a929349dd18bbf56e1e46d33aa7c93daa81d6de /src
parent0ce12b7874ff31d6fabc6c6f7402e00f7b0f34c1 (diff)
downloadGT5-Unofficial-0c3d983f6bfa7ada1c85a6176f599a3ea4bb8d2a.tar.gz
GT5-Unofficial-0c3d983f6bfa7ada1c85a6176f599a3ea4bb8d2a.tar.bz2
GT5-Unofficial-0c3d983f6bfa7ada1c85a6176f599a3ea4bb8d2a.zip
% Tweaked Tree Farmer.
+ Added better support for detecting valid tools. - Removed old Dev/Debug stuff.
Diffstat (limited to 'src')
-rw-r--r--src/Java/gtPlusPlus/core/slots/SlotBuzzSaw.java2
-rw-r--r--src/Java/gtPlusPlus/core/util/debug/DEBUG_INIT.java12
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_TreeFarmer.java5
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/helpers/TreeFarmHelper.java5
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntityTreeFarm.java102
5 files changed, 78 insertions, 48 deletions
diff --git a/src/Java/gtPlusPlus/core/slots/SlotBuzzSaw.java b/src/Java/gtPlusPlus/core/slots/SlotBuzzSaw.java
index 2434344184..f55a759b8f 100644
--- a/src/Java/gtPlusPlus/core/slots/SlotBuzzSaw.java
+++ b/src/Java/gtPlusPlus/core/slots/SlotBuzzSaw.java
@@ -27,7 +27,7 @@ public class SlotBuzzSaw extends Slot{
isValid = false;
}*/
if (OrePrefixes.craftingTool.contains(itemstack)){
- if (itemstack.getDisplayName().toLowerCase().contains("saw")){
+ if (itemstack.getDisplayName().toLowerCase().contains("saw") || itemstack.getDisplayName().toLowerCase().contains("gt.metatool.01.10") || itemstack.getDisplayName().toLowerCase().contains("gt.metatool.01.140")){
if (itemstack.getItemDamage() == 10){
isValid = true;
this.currentTool = SAWTOOL.SAW;
diff --git a/src/Java/gtPlusPlus/core/util/debug/DEBUG_INIT.java b/src/Java/gtPlusPlus/core/util/debug/DEBUG_INIT.java
index 8ac31a038f..b1cd1697f5 100644
--- a/src/Java/gtPlusPlus/core/util/debug/DEBUG_INIT.java
+++ b/src/Java/gtPlusPlus/core/util/debug/DEBUG_INIT.java
@@ -1,12 +1,6 @@
package gtPlusPlus.core.util.debug;
-import cpw.mods.fml.common.registry.GameRegistry;
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.item.ModItems;
-import gtPlusPlus.core.item.base.BaseItemWithCharge;
-import gtPlusPlus.core.item.general.BedLocator_Base;
import gtPlusPlus.core.lib.CORE;
-import net.minecraftforge.common.MinecraftForge;
public class DEBUG_INIT {
@@ -18,12 +12,12 @@ public class DEBUG_INIT {
}
public static void registerItems(){
- ModItems.itemDebugShapeSpawner = new DEBUG_ITEM_ShapeSpawner("itemDebugShapeSpawner", AddToCreativeTab.tabMisc, 1, 500);
+ /*ModItems.itemDebugShapeSpawner = new DEBUG_ITEM_ShapeSpawner("itemDebugShapeSpawner", AddToCreativeTab.tabMisc, 1, 500);
GameRegistry.registerItem(ModItems.itemDebugShapeSpawner, "itemDebugShapeSpawner");
ModItems.itemBedLocator_Base = new BedLocator_Base("itemBedLocator_Base");
GameRegistry.registerItem(ModItems.itemBedLocator_Base, "itemBedLocator_Base");
ModItems.itemBaseItemWithCharge = new BaseItemWithCharge("itemBaseItemWithCharge", 0, 1000);
- GameRegistry.registerItem(ModItems.itemBaseItemWithCharge, "itemBaseItemWithCharge");
+ GameRegistry.registerItem(ModItems.itemBaseItemWithCharge, "itemBaseItemWithCharge");*/
}
public static void registerTEs(){
@@ -37,7 +31,7 @@ public class DEBUG_INIT {
}
public static void registerHandlers(){
- MinecraftForge.EVENT_BUS.register(new DEBUG_ScreenOverlay());
+ //MinecraftForge.EVENT_BUS.register(new DEBUG_ScreenOverlay());
}
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_TreeFarmer.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_TreeFarmer.java
index 3c6b0ac2d7..82bc38aa9a 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_TreeFarmer.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/CONTAINER_TreeFarmer.java
@@ -34,7 +34,7 @@ public class CONTAINER_TreeFarmer extends GT_ContainerMetaTile_Machine {
@Override
public int getShiftClickSlotCount() {
- return 0;
+ return 1;
}
@Override
@@ -59,6 +59,9 @@ public class CONTAINER_TreeFarmer extends GT_ContainerMetaTile_Machine {
for(final ICrafting crafting : (List<ICrafting>)this.crafters) {
crafting.sendProgressBarUpdate(this, 100, (int) ((GregtechMetaTileEntityTreeFarm) this.mTileEntity.getMetaTileEntity()).maxEUStore());
crafting.sendProgressBarUpdate(this, 101, (int) ((GregtechMetaTileEntityTreeFarm) this.mTileEntity.getMetaTileEntity()).getStoredInternalPower());
+ if (((GregtechMetaTileEntityTreeFarm) this.mTileEntity.getMetaTileEntity()).isCorrectMachinePart(this.mTileEntity.getStackInSlot(1))){
+ this.mTileEntity.markDirty();
+ }
}
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/TreeFarmHelper.java b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/TreeFarmHelper.java
index fcde96042c..9e1cd007c9 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/TreeFarmHelper.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/TreeFarmHelper.java
@@ -229,13 +229,14 @@ public class TreeFarmHelper {
public static SAWTOOL isCorrectMachinePart(final ItemStack aStack) {
if (aStack != null){
+ //Utils.LOG_INFO("Found "+aStack.getDisplayName()+" in the GUI slot.");
if ((aStack.getItem() instanceof GT_MetaGenerated_Item_02) || (aStack.getItem() instanceof GT_MetaGenerated_Tool)){
if (OrePrefixes.craftingTool.contains(aStack)){
- if (aStack.getDisplayName().toLowerCase().contains("saw")){
+ if (aStack.getDisplayName().toLowerCase().contains("saw") || aStack.getDisplayName().toLowerCase().contains("gt.metatool.01.10")){
if (aStack.getItemDamage() == 10){
return SAWTOOL.SAW;
}
- else if (aStack.getItemDamage() == 140){
+ else if (aStack.getItemDamage() == 140 || aStack.getDisplayName().toLowerCase().contains("gt.metatool.01.140")){
return SAWTOOL.BUZZSAW;
}
else {
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 cb91eda3b6..6624c483c3 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
@@ -36,6 +36,7 @@ import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.*;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagList;
import net.minecraft.server.MinecraftServer;
import net.minecraft.world.World;
import net.minecraftforge.fluids.FluidStack;
@@ -92,13 +93,42 @@ public class GregtechMetaTileEntityTreeFarm extends GT_MetaTileEntity_MultiBlock
@Override
public void saveNBTData(final NBTTagCompound aNBT) {
+
+ Utils.LOG_INFO("Called NBT data save");
aNBT.setLong("mInternalPower", this.mInternalPower);
+
+ //Save [Buzz]Saw
+ final NBTTagList list = new NBTTagList();
+ for(int i = 0;i<2;i++){
+ final ItemStack stack = this.mInventory[i];
+ if(stack != null){
+ final NBTTagCompound data = new NBTTagCompound();
+ stack.writeToNBT(data);
+ data.setInteger("Slot", i);
+ Utils.LOG_INFO("Saving "+stack.getDisplayName()+" in slot "+i);
+ list.appendTag(data);
+ }
+ }
+ aNBT.setTag("Items", list);
+
super.saveNBTData(aNBT);
}
@Override
public void loadNBTData(final NBTTagCompound aNBT) {
this.mInternalPower = aNBT.getLong("mInternalPower");
+
+ //Load [Buzz]Saw
+ final NBTTagList list = aNBT.getTagList("Items", 10);
+ for(int i = 0;i<list.tagCount();i++){
+ final NBTTagCompound data = list.getCompoundTagAt(i);
+ final int slot = data.getInteger("Slot");
+ if((slot >= 0) && (slot < 2)){
+ this.mInventory[slot] = ItemStack.loadItemStackFromNBT(data);
+ Utils.LOG_INFO("Loading "+this.mInventory[slot].getDisplayName()+" in slot "+i);
+ }
+ }
+
super.loadNBTData(aNBT);
}
@@ -133,10 +163,10 @@ public class GregtechMetaTileEntityTreeFarm extends GT_MetaTileEntity_MultiBlock
else {
if (this.energyHatchRetryCount <= 10){
this.energyHatchRetryCount++;
- Utils.LOG_MACHINE_INFO("No energy hatches found.");
+ //Utils.LOG_MACHINE_INFO("No energy hatches found.");
}
else {
- Utils.LOG_MACHINE_INFO("Rechecking for Energy hatches.");
+ //Utils.LOG_MACHINE_INFO("Rechecking for Energy hatches.");
this.energyHatchRetryCount = 0;
this.mEnergyHatches = new ArrayList<>();
this.checkMachine(aBaseMetaTileEntity, this.mInventory[1]);
@@ -190,18 +220,19 @@ public class GregtechMetaTileEntityTreeFarm extends GT_MetaTileEntity_MultiBlock
@Override
public Object getClientGUI(final int aID, final InventoryPlayer aPlayerInventory, final IGregTechTileEntity aBaseMetaTileEntity) {
- return new GUI_TreeFarmer(aPlayerInventory, aBaseMetaTileEntity, this.getLocalName(), "TreeFarmer.png");
+ return new GUI_TreeFarmer(aPlayerInventory, aBaseMetaTileEntity, this.getLocalName(), "TreeFarmer.png");
}
@Override
public Object getServerGUI(final int aID, final InventoryPlayer aPlayerInventory, final IGregTechTileEntity aBaseMetaTileEntity) {
- return new CONTAINER_TreeFarmer(aPlayerInventory, aBaseMetaTileEntity);
+ return new CONTAINER_TreeFarmer(aPlayerInventory, aBaseMetaTileEntity);
}
@Override
public boolean onRightclick(final IGregTechTileEntity aBaseMetaTileEntity, final EntityPlayer aPlayer) {
- if (aBaseMetaTileEntity.isClientSide()) {
- return true;
+ if (aBaseMetaTileEntity.isClientSide() || aBaseMetaTileEntity.getWorld().isRemote) {
+ Utils.LOG_INFO("Doing nothing Client Side.");
+ return false;
}
aBaseMetaTileEntity.openGUI(aPlayer);
return true;
@@ -360,7 +391,7 @@ public class GregtechMetaTileEntityTreeFarm extends GT_MetaTileEntity_MultiBlock
GT_MetaTileEntity_Hatch_Maintenance x = this.mMaintenanceHatches.get(0);
//Utils.LOG_MACHINE_INFO("Checking status of maint. hatches.");
if (x.mCrowbar && x.mHardHammer && x.mScrewdriver && x.mSoftHammer && x.mSolderingTool && x.mWrench){
- Utils.LOG_MACHINE_INFO("Maint. hatch 0 was okay.");
+ //Utils.LOG_MACHINE_INFO("Maint. hatch 0 was okay.");
return true;
}
else {
@@ -376,7 +407,7 @@ public class GregtechMetaTileEntityTreeFarm extends GT_MetaTileEntity_MultiBlock
}
}
else {
- Utils.LOG_MACHINE_INFO("Found no maint. hatches.");
+ //Utils.LOG_MACHINE_INFO("Found no maint. hatches.");
}
return false;
}
@@ -486,31 +517,31 @@ public class GregtechMetaTileEntityTreeFarm extends GT_MetaTileEntity_MultiBlock
final int h = 1;
//Utils.LOG_MACHINE_INFO("Looking for saplings.");
if (this.mInternalPower >= 32) {
- if (TreefarmManager.isSapling(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_MACHINE_INFO("Found a sapling to grow.");
- saplings++;
-
- if (this.depleteFertiliser()){
- if (this.drainEnergyInput(powerDrain)){
- final short fertTier = this.getFertiliserTier(this.getCurrentFertiliserStack());
- TreeFarmHelper.applyBonemeal(this.getFakePlayer(), aBaseMetaTileEntity.getWorld(), posiX, posiY, posiZ, fertTier);
+ if (TreefarmManager.isSapling(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_MACHINE_INFO("Found a sapling to grow.");
+ saplings++;
+
+ if (this.depleteFertiliser()){
+ if (this.drainEnergyInput(powerDrain)){
+ final short fertTier = this.getFertiliserTier(this.getCurrentFertiliserStack());
+ TreeFarmHelper.applyBonemeal(this.getFakePlayer(), aBaseMetaTileEntity.getWorld(), posiX, posiY, posiZ, fertTier);
+ }
+ else {
+ Utils.LOG_MACHINE_INFO("x3");
+ break;
+ }
}
else {
- Utils.LOG_MACHINE_INFO("x3");
+ Utils.LOG_MACHINE_INFO("x2");
break;
}
}
- else {
- Utils.LOG_MACHINE_INFO("x2");
- break;
- }
}
}
- }
}
Utils.LOG_MACHINE_INFO("Tried to grow saplings: | "+saplings );
return true;
@@ -526,7 +557,7 @@ public class GregtechMetaTileEntityTreeFarm extends GT_MetaTileEntity_MultiBlock
int counter = 0;
if (r.size() > 0){
Utils.LOG_MACHINE_INFO("| r was not null. "+r.size()+" |");
- if (this.mInternalPower >= 32) {
+ if (this.getStoredInternalPower() >= 32) {
OUTER : for (final ItemStack n : r){
Utils.LOG_MACHINE_INFO("found "+n.getDisplayName());
if (OrePrefixes.sapling.contains(n) || n.getDisplayName().toLowerCase().contains("sapling")){
@@ -636,10 +667,10 @@ public class GregtechMetaTileEntityTreeFarm extends GT_MetaTileEntity_MultiBlock
final Block block = world.getBlock(x, y, z);
int chanceForLeaves = 1000;
//is it leaves or a log? if leaves, heavily reduce chance to obtain rubber/output
- if (block.getUnlocalizedName().toLowerCase().contains("leaves")){
- chanceForLeaves = MathUtils.randInt(1, 1000);
- if (chanceForLeaves > 990) {
- Utils.LOG_MACHINE_INFO("Found some leaves that will drop, chance to drop item "+chanceForLeaves+", needed 990-1000.");
+ if (block.getUnlocalizedName().toLowerCase().contains("leaves") || block.getUnlocalizedName().toLowerCase().contains("leaf") || TreefarmManager.isLeaves(block)){
+ chanceForLeaves = MathUtils.randInt(1, 10);
+ if (chanceForLeaves > 8) {
+ Utils.LOG_MACHINE_INFO("Found some leaves that will drop, chance to drop item "+chanceForLeaves+", needed 800-1000.");
}
}
@@ -648,7 +679,7 @@ public class GregtechMetaTileEntityTreeFarm extends GT_MetaTileEntity_MultiBlock
final ItemStack rubberResin = ItemUtils.getCorrectStacktype("IC2:itemHarz", 1);
final int chanceForRubber = MathUtils.randInt(1, 10);
final int multiplier = MathUtils.randInt(1, 3);
- if ((chanceForRubber > 7) && (chanceForLeaves > 990)){
+ if ((chanceForRubber > 7) && (chanceForLeaves > 8)){
rubberResin.stackSize = multiplier;
Utils.LOG_MACHINE_INFO("Adding "+rubberResin.getDisplayName()+" x"+rubberResin.stackSize);
this.addOutput(rubberResin);
@@ -663,7 +694,7 @@ public class GregtechMetaTileEntityTreeFarm extends GT_MetaTileEntity_MultiBlock
//Add Drops
if (drops != null){
for (final ItemStack outputs : drops){
- if (chanceForLeaves > 990){
+ if (chanceForLeaves > 8){
Utils.LOG_MACHINE_INFO("Adding 1x "+outputs.getDisplayName());
this.addOutput(outputs);
//Update bus contents.
@@ -951,13 +982,14 @@ public class GregtechMetaTileEntityTreeFarm extends GT_MetaTileEntity_MultiBlock
}
//Tick TE
this.tickHandler();
+ this.markDirty();
}
//Client Side - do nothing
}
-
-
+
+
public static boolean damageOrDechargeItem(ItemStack aStack, int aDamage, int aDecharge, EntityLivingBase aPlayer) {
if ((GT_Utility.isStackInvalid(aStack)) || ((aStack.getMaxStackSize() <= 1) && (aStack.stackSize > 1)))
return false;