aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus')
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java36
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java6
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java19
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_ThermalBoiler.java60
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_NuclearReactor.java8
5 files changed, 82 insertions, 47 deletions
diff --git a/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java
index 4d167949c6..a85102005e 100644
--- a/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java
@@ -9,6 +9,7 @@ import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.Item.ToolMaterial;
import net.minecraft.item.ItemStack;
+import net.minecraft.util.StatCollector;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
@@ -17,6 +18,7 @@ import gregtech.api.util.GT_OreDictUnificator;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.data.Pair;
+import gtPlusPlus.api.objects.minecraft.BlockPos;
import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.item.base.BasicSpawnEgg;
import gtPlusPlus.core.item.base.dusts.BaseItemDust;
@@ -281,7 +283,7 @@ public class ItemUtils {
Logger.WARNING("Looking up: "+oredictName+" - from method: "+ReflectionUtils.getMethodName(4));
Logger.WARNING("Looking up: "+oredictName+" - from method: "+ReflectionUtils.getMethodName(5));
}
-
+
try{
//Adds a check to grab dusts using GT methodology if possible.
@@ -727,10 +729,40 @@ public class ItemUtils {
return null;
}
}
-
+
public static boolean registerFuel(ItemStack aBurnable, int burn){
return CORE.burnables.add(new Pair<Integer, ItemStack>(burn, aBurnable));
}
+
+ /**
+ * Quick Block Name Lookup that is friendly to servers and locale.
+ */
+ private static volatile Map<String, String> mLocaleCache = new HashMap<String, String>();
+ public static String getLocalizedNameOfBlock(BlockPos pos) {
+ Block block = pos.world.getBlock(pos.xPos, pos.yPos, pos.zPos);
+ int metaData = pos.world.getBlockMetadata(pos.xPos, pos.yPos, pos.zPos);
+ return getLocalizedNameOfBlock(block, metaData);
+ }
+
+ public synchronized static String getLocalizedNameOfBlock(Block block, int meta) {
+ if (block == null || meta < 0) {
+ return "Bad Block";
+ }
+ String mCacheKey = block.getUnlocalizedName()+":"+meta;
+ if (mLocaleCache.containsKey(mCacheKey)) {
+ return mLocaleCache.get(mCacheKey);
+ }
+ else {
+ Item item = Item.getItemFromBlock(block);
+ if (item == null) {
+ return "Bad Item";
+ }
+ String unlocalizedName = item.getUnlocalizedName(new ItemStack(block, 1, meta));
+ String blockName = StatCollector.translateToLocal(unlocalizedName + ".name");
+ mLocaleCache.put(mCacheKey, blockName);
+ return blockName;
+ }
+ }
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java
index a8a6f33b3c..a2e40ca4c9 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java
@@ -6,7 +6,7 @@ import net.minecraftforge.fluids.FluidStack;
import gregtech.api.enums.TAE;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.util.minecraft.FluidUtils;
-import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
import net.minecraft.item.ItemStack;
@@ -36,7 +36,7 @@ public class GregtechMetaTileEntity_IndustrialVacuumFreezer extends GregtechMeta
mFuelStack = FluidUtils.getFluidStack("cryotheum", 1);
CASING_TEXTURE_ID = TAE.getIndexFromPage(2, 10);
mCryoFuelName = mFuelStack.getLocalizedName();
- mCasingName = GregtechItemList.Casing_AdvancedVacuum.get(1).getDisplayName();
+ mCasingName = ItemUtils.getLocalizedNameOfBlock(ModBlocks.blockCasings3Misc, 10);
}
public GregtechMetaTileEntity_IndustrialVacuumFreezer(final String aName) {
@@ -44,7 +44,7 @@ public class GregtechMetaTileEntity_IndustrialVacuumFreezer extends GregtechMeta
mFuelStack = FluidUtils.getFluidStack("cryotheum", 1);
CASING_TEXTURE_ID = TAE.getIndexFromPage(2, 10);
mCryoFuelName = mFuelStack.getLocalizedName();
- mCasingName = GregtechItemList.Casing_AdvancedVacuum.get(1).getDisplayName();
+ mCasingName = ItemUtils.getLocalizedNameOfBlock(ModBlocks.blockCasings3Misc, 10);
}
public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java
index 641ebd656b..0b70ea8188 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java
@@ -18,7 +18,7 @@ import gregtech.api.util.GT_Utility;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.util.minecraft.FluidUtils;
-import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
import net.minecraft.entity.player.InventoryPlayer;
@@ -49,14 +49,14 @@ public class GregtechMetaTileEntity_Adv_EBF extends GregtechMeta_MultiBlockBase
super(aID, aName, aNameRegional);
CASING_TEXTURE_ID = TAE.getIndexFromPage(2, 11);
mHotFuelName = FluidUtils.getFluidStack("pyrotheum", 1).getLocalizedName();
- mCasingName = GregtechItemList.Casing_Adv_BlastFurnace.get(1).getDisplayName();
+ mCasingName = ItemUtils.getLocalizedNameOfBlock(ModBlocks.blockCasings3Misc, 11);
}
public GregtechMetaTileEntity_Adv_EBF(String aName) {
super(aName);
CASING_TEXTURE_ID = TAE.getIndexFromPage(2, 11);
mHotFuelName = FluidUtils.getFluidStack("pyrotheum", 1).getLocalizedName();
- mCasingName = GregtechItemList.Casing_Adv_BlastFurnace.get(1).getDisplayName();
+ mCasingName = ItemUtils.getLocalizedNameOfBlock(ModBlocks.blockCasings3Misc, 11);
}
public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
@@ -412,5 +412,18 @@ public class GregtechMetaTileEntity_Adv_EBF extends GregtechMeta_MultiBlockBase
return true;
}
+
+ @Override
+ public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
+ if (this.getBaseMetaTileEntity().isActive()) {
+ if (this.depleteInput(FluidUtils.getFluidStack("pyrotheum", 1))) {
+ //Nom Fuel
+ }
+ else {
+ this.getBaseMetaTileEntity().setActive(false);
+ }
+ }
+ super.onPostTick(aBaseMetaTileEntity, aTick);
+ }
} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_ThermalBoiler.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_ThermalBoiler.java
index 4a115ea75c..cc189b6f97 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_ThermalBoiler.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_ThermalBoiler.java
@@ -15,6 +15,7 @@ import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.item.general.ItemLavaFilter;
import gtPlusPlus.core.lib.CORE;
+import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
public class GT4Entity_ThermalBoiler
@@ -160,7 +161,7 @@ extends GT_MetaTileEntity_MultiBlockBase
@Override
public int getPollutionPerTick(ItemStack aStack)
{
- return 32;
+ return 0;
}
public int getAmountOfOutputs()
@@ -178,10 +179,8 @@ extends GT_MetaTileEntity_MultiBlockBase
"Controller (front middle)",
"2x Output Hatch/Bus",
"2x Input Hatch",
- "1x Maintenance Hatch (Centre of top)",
+ "1x Maintenance Hatch",
"Thermal Containment Casings for the rest",
- "Input & Output hatches can go be configured how you wish",
- "Place them in the middle block of the Back, Bottom and Sides",
"Use 2 Output Hatches by default, change one to a Bus if filtering Lava",
"Consult user manual for more information",
CORE.GT_Tooltip};
@@ -197,48 +196,33 @@ extends GT_MetaTileEntity_MultiBlockBase
}
@Override
- public boolean checkMachine(IGregTechTileEntity arg0, ItemStack arg1) {
- byte tSide = getBaseMetaTileEntity().getBackFacing();
- if (getBaseMetaTileEntity().getAirAtSideAndDistance(getBaseMetaTileEntity().getBackFacing(), 1))
- {
- int META = 11;
- int CASING = TAE.GTPP_INDEX(1);
- if (((getBaseMetaTileEntity().getBlockAtSideAndDistance(getBaseMetaTileEntity().getBackFacing(), 2) != ModBlocks.blockCasings2Misc) || (getBaseMetaTileEntity().getMetaIDAtSideAndDistance(getBaseMetaTileEntity().getBackFacing(), 2) != META)) &&
- (!addToMachineList(getBaseMetaTileEntity().getIGregTechTileEntityAtSideAndDistance(getBaseMetaTileEntity().getBackFacing(), 2), CASING))) {
- return false;
- }
- int tX = getBaseMetaTileEntity().getXCoord();int tY = getBaseMetaTileEntity().getYCoord();int tZ = getBaseMetaTileEntity().getZCoord();
- for (byte i = -1; i < 2; i = (byte)(i + 1)) {
- for (byte j = -1; j < 2; j = (byte)(j + 1)) {
- if ((i != 0) || (j != 0)) {
- for (byte k = 0; k < 3; k = (byte)(k + 1)) {
- if (((i == 0) || (j == 0)) && (k == 1))
- {
- if (getBaseMetaTileEntity().getBlock(tX + (tSide == 5 ? k : tSide < 4 ? i : -k), tY + j, tZ + (tSide < 4 ? -k : tSide == 3 ? k : i)) == ModBlocks.blockCasings2Misc)
- {
- if (getBaseMetaTileEntity().getMetaID(tX + (tSide == 5 ? k : tSide < 4 ? i : -k), tY + j, tZ + (tSide < 4 ? -k : tSide == 3 ? k : i)) == META) {}
- }
- else if (!addToMachineList(getBaseMetaTileEntity().getIGregTechTileEntity(tX + (tSide == 5 ? k : tSide < 4 ? i : -k), tY + j, tZ + (tSide < 4 ? -k : tSide == 3 ? k : i)), CASING)) {
- return false;
- }
- }
- else if (getBaseMetaTileEntity().getBlock(tX + (tSide == 5 ? k : tSide < 4 ? i : -k), tY + j, tZ + (tSide < 4 ? -k : tSide == 3 ? k : i)) == ModBlocks.blockCasings2Misc)
- {
- if (getBaseMetaTileEntity().getMetaID(tX + (tSide == 5 ? k : tSide < 4 ? i : -k), tY + j, tZ + (tSide < 4 ? -k : tSide == 3 ? k : i)) == META) {}
+ public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack arg1) {
+ final int xDir = ForgeDirection.getOrientation((int) aBaseMetaTileEntity.getBackFacing()).offsetX;
+ final int zDir = ForgeDirection.getOrientation((int) aBaseMetaTileEntity.getBackFacing()).offsetZ;
+ if (!aBaseMetaTileEntity.getAirOffset(xDir, 0, zDir)) {
+ return false;
+ }
+ int tAmount = 0;
+ for (int i = -1; i < 2; ++i) {
+ for (int j = -1; j < 2; ++j) {
+ for (int h = -1; h < 2; ++h) {
+ if (h != 0 || ((xDir + i != 0 || zDir + j != 0) && (i != 0 || j != 0))) {
+ final IGregTechTileEntity tTileEntity = aBaseMetaTileEntity
+ .getIGregTechTileEntityOffset(xDir + i, h, zDir + j);
+ if (!this.addToMachineList(tTileEntity, TAE.GTPP_INDEX(1))) {
+ if (aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j) != ModBlocks.blockCasings2Misc) {
+ return false;
}
- else {
+ if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j) != 11) {
return false;
}
+ ++tAmount;
}
}
}
}
}
- else
- {
- return false;
- }
- return true;
+ return tAmount >= 10;
}
public boolean damageFilter(){
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_NuclearReactor.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_NuclearReactor.java
index 431d2590eb..a2dba63e68 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_NuclearReactor.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_NuclearReactor.java
@@ -28,10 +28,11 @@ import gtPlusPlus.core.material.nuclear.NUCLIDE;
import gtPlusPlus.core.util.math.MathUtils;
import gtPlusPlus.core.util.minecraft.FluidUtils;
import gtPlusPlus.xmod.gregtech.api.gui.GUI_MultiMachine;
+import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
-public class GregtechMTE_NuclearReactor extends GT_MetaTileEntity_MultiBlockBase {
+public class GregtechMTE_NuclearReactor extends GregtechMeta_MultiBlockBase {
public GT_Recipe mLastRecipe;
protected long mEUStore;
@@ -660,4 +661,9 @@ public class GregtechMTE_NuclearReactor extends GT_MetaTileEntity_MultiBlockBase
super.onPostTick(aBaseMetaTileEntity, aTick);
}
+ @Override
+ public boolean hasSlotInGUI() {
+ return true;
+ }
+
} \ No newline at end of file