aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/common')
-rw-r--r--src/main/java/gregtech/common/GT_Pollution.java16
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Charcoal_Pit.java5
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Cleanroom.java18
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PrimitiveBlastFurnace.java10
4 files changed, 38 insertions, 11 deletions
diff --git a/src/main/java/gregtech/common/GT_Pollution.java b/src/main/java/gregtech/common/GT_Pollution.java
index bc7c136e96..49b33fb1cb 100644
--- a/src/main/java/gregtech/common/GT_Pollution.java
+++ b/src/main/java/gregtech/common/GT_Pollution.java
@@ -5,11 +5,14 @@ import cpw.mods.fml.common.gameevent.TickEvent;
import cpw.mods.fml.common.network.NetworkRegistry;
import gregtech.GT_Mod;
import gregtech.api.enums.GT_Values;
+import gregtech.api.interfaces.metatileentity.IMachineCallback;
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.net.GT_Packet_Pollution;
import gregtech.api.util.GT_ChunkAssociatedData;
import gregtech.api.util.GT_Utility;
import gregtech.common.render.GT_PollutionRenderer;
+import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_Cleanroom;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.entity.EntityLivingBase;
@@ -281,8 +284,19 @@ public class GT_Pollution {
}
/** @see #addPollution(World, int, int, int) */
+ @SuppressWarnings("rawtypes")
public static void addPollution(IGregTechTileEntity te, int aPollution) {
if (!GT_Mod.gregtechproxy.mPollution || aPollution == 0 || te.isClientSide()) return;
+ IMetaTileEntity iMetaTileEntity = te.getMetaTileEntity();
+
+ if (iMetaTileEntity instanceof IMachineCallback) {
+ if (((IMachineCallback) iMetaTileEntity).getCallbackBase() instanceof GT_MetaTileEntity_Cleanroom) {
+ if (aPollution > 0) {
+ ((GT_MetaTileEntity_Cleanroom) ((IMachineCallback) iMetaTileEntity).getCallbackBase()).doMaintenanceIssue();
+ }
+ }
+ }
+
mutatePollution(te.getWorld(), te.getXCoord() >> 4, te.getZCoord() >> 4, d -> d.changeAmount(aPollution), null);
}
@@ -362,7 +376,7 @@ public class GT_Pollution {
//Add compatibility with old code
@Deprecated /*Don't use it... too weird way of passing position*/
public static void addPollution(World aWorld, ChunkPosition aPos, int aPollution) {
- //The abuse of ChunkPosition to store block position and dim...
+ //The abuse of ChunkPosition to store block position and dim...
//is just bad especially when that is both used to store ChunkPos and BlockPos depending on context
addPollution(aWorld.getChunkFromBlockCoords(aPos.chunkPosX, aPos.chunkPosZ), aPollution);
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Charcoal_Pit.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Charcoal_Pit.java
index 89f62e3d15..b6c9b230a1 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Charcoal_Pit.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Charcoal_Pit.java
@@ -55,6 +55,11 @@ public class GT_MetaTileEntity_Charcoal_Pit extends GT_MetaTileEntity_TooltipMul
}
@Override
+ public Class<?> getType() {
+ return GT_MetaTileEntity_Cleanroom.class;
+ }
+
+ @Override
public boolean isCorrectMachinePart(ItemStack aStack) {
return true;
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Cleanroom.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Cleanroom.java
index 9d8b657330..b1c4534655 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Cleanroom.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Cleanroom.java
@@ -1,12 +1,7 @@
package gregtech.common.tileentities.machines.multi;
-import java.util.HashMap;
-import java.util.Map;
-
import com.gtnewhorizon.structurelib.StructureLibAPI;
-import com.gtnewhorizon.structurelib.alignment.IAlignmentLimits;
import com.gtnewhorizon.structurelib.alignment.constructable.IConstructable;
-import com.gtnewhorizon.structurelib.structure.IStructureDefinition;
import gregtech.api.GregTech_API;
import gregtech.api.enums.GT_Values;
import gregtech.api.gui.GT_GUIContainer_MultiMachine;
@@ -29,7 +24,9 @@ import net.minecraft.world.World;
import net.minecraftforge.common.config.ConfigCategory;
import net.minecraftforge.common.config.Configuration;
import net.minecraftforge.common.util.ForgeDirection;
-import org.lwjgl.input.Keyboard;
+
+import java.util.HashMap;
+import java.util.Map;
import static gregtech.api.enums.GT_Values.debugCleanroom;
import static gregtech.api.enums.Textures.BlockIcons.*;
@@ -289,6 +286,15 @@ public class GT_MetaTileEntity_Cleanroom extends GT_MetaTileEntity_TooltipMultiB
return true;
}
+ public void doMaintenanceIssue() {
+ mWrench = false;
+ mScrewdriver = false;
+ mSoftHammer = false;
+ mHardHammer = false;
+ mSolderingTool = false;
+ mCrowbar = false;
+ }
+
private void setCallbacks(int x, int y, int z, IGregTechTileEntity aBaseMetaTileEntity) {
for (int dX = -x + 1; dX <= x - 1; dX++)
for (int dZ = -z + 1; dZ <= z - 1; dZ++)
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PrimitiveBlastFurnace.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PrimitiveBlastFurnace.java
index 3d806b253d..e020c2830c 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PrimitiveBlastFurnace.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PrimitiveBlastFurnace.java
@@ -230,10 +230,7 @@ public abstract class GT_MetaTileEntity_PrimitiveBlastFurnace extends MetaTileEn
}
}
if (this.mMaxProgresstime > 0 && (aTimer % 20L == 0L)) {
- GT_Pollution.addPollution(this.getBaseMetaTileEntity().getWorld(),
- new ChunkPosition(this.getBaseMetaTileEntity().getXCoord(), this.getBaseMetaTileEntity().getYCoord(),
- this.getBaseMetaTileEntity().getZCoord()),
- GT_Mod.gregtechproxy.mPollutionPrimitveBlastFurnacePerSecond);
+ GT_Pollution.addPollution(this.getBaseMetaTileEntity(), GT_Mod.gregtechproxy.mPollutionPrimitveBlastFurnacePerSecond);
}
aBaseMetaTileEntity.setActive((this.mMaxProgresstime > 0) && (this.mMachine));
@@ -273,6 +270,11 @@ public abstract class GT_MetaTileEntity_PrimitiveBlastFurnace extends MetaTileEn
}
}
+ @Override
+ public Class<?> getType() {
+ return GT_MetaTileEntity_Cleanroom.class;
+ }
+
private void addOutputProducts() {
if (this.mOutputItems == null) {
return;