aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorBlood-Asp <bloodasphendrik@gmail.com>2017-06-04 00:26:31 +0200
committerTechnus <daniel112092@gmail.com>2017-06-04 08:46:28 +0200
commit127bc9fc1b01e011b69e3913771dc7a0037ecab7 (patch)
tree01a49cad412a7792441dac3c9e98706dea7ca780 /src/main
parent69b943083da96677f27003811db2004d39088e2c (diff)
downloadGT5-Unofficial-127bc9fc1b01e011b69e3913771dc7a0037ecab7.tar.gz
GT5-Unofficial-127bc9fc1b01e011b69e3913771dc7a0037ecab7.tar.bz2
GT5-Unofficial-127bc9fc1b01e011b69e3913771dc7a0037ecab7.zip
Cleanroom outputs in redstone its cleannes/efficiency.
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntity.java2
-rw-r--r--src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java4
-rw-r--r--src/main/java/gregtech/api/metatileentity/MetaTileEntity.java5
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Buffer.java6
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Cleanroom.java55
5 files changed, 45 insertions, 27 deletions
diff --git a/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntity.java b/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntity.java
index 64c5072c39..2454392cf7 100644
--- a/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntity.java
+++ b/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntity.java
@@ -379,6 +379,8 @@ public interface IMetaTileEntity extends ISidedInventory, IFluidTank, IFluidHand
public void onColorChangeClient(byte aColor);
public int getLightOpacity();
+
+ public boolean allowGeneralRedstoneOutput();
public void addCollisionBoxesToList(World aWorld, int aX, int aY, int aZ, AxisAlignedBB inputAABB, List<AxisAlignedBB> outputAABB, Entity collider);
diff --git a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java
index 028f47dee3..c66aae8593 100644
--- a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java
+++ b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java
@@ -65,7 +65,7 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE
private long mTickTimer = 0, oOutput = 0, mAcceptedAmperes = Long.MAX_VALUE;
private String mOwnerName = "";
private NBTTagCompound mRecipeStuff = new NBTTagCompound();
-
+
private static final Field ENTITY_ITEM_HEALTH_FIELD;
static
{
@@ -1414,7 +1414,7 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE
@Override
public byte getOutputRedstoneSignal(byte aSide) {
- return getCoverBehaviorAtSide(aSide).manipulatesSidedRedstoneOutput(aSide, getCoverIDAtSide(aSide), getCoverDataAtSide(aSide), this) ? mSidedRedstone[aSide] : 0;
+ return getCoverBehaviorAtSide(aSide).manipulatesSidedRedstoneOutput(aSide, getCoverIDAtSide(aSide), getCoverDataAtSide(aSide), this) ? mSidedRedstone[aSide] : mMetaTileEntity.allowGeneralRedstoneOutput() ? mSidedRedstone[aSide] : 0;
}
@Override
diff --git a/src/main/java/gregtech/api/metatileentity/MetaTileEntity.java b/src/main/java/gregtech/api/metatileentity/MetaTileEntity.java
index d8349d0d04..13936d3f5e 100644
--- a/src/main/java/gregtech/api/metatileentity/MetaTileEntity.java
+++ b/src/main/java/gregtech/api/metatileentity/MetaTileEntity.java
@@ -882,4 +882,9 @@ public abstract class MetaTileEntity implements IMetaTileEntity {
public void onCreated(ItemStack aStack, World aWorld, EntityPlayer aPlayer) {
//
}
+
+ @Override
+ public boolean allowGeneralRedstoneOutput(){
+ return false;
+ }
} \ No newline at end of file
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Buffer.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Buffer.java
index 42758c86e1..85f7fe2388 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Buffer.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Buffer.java
@@ -224,6 +224,7 @@ public abstract class GT_MetaTileEntity_Buffer extends GT_MetaTileEntity_TieredM
if (aBaseMetaTileEntity.isAllowedToWork() && aBaseMetaTileEntity.isServerSide() && aBaseMetaTileEntity.isUniversalEnergyStored(getMinimumStoredEU()) && (aBaseMetaTileEntity.hasWorkJustBeenEnabled() || aBaseMetaTileEntity.hasInventoryBeenModified() || aTimer % 200 == 0 || mSuccess > 0)) {
mSuccess--;
moveItems(aBaseMetaTileEntity, aTimer);
+ System.out.println("inv "+bInvert+" full "+bRedstoneIfFull);
aBaseMetaTileEntity.setGenericRedstoneOutput(bInvert);
if (bRedstoneIfFull) {
aBaseMetaTileEntity.setGenericRedstoneOutput(!bInvert);
@@ -256,4 +257,9 @@ public abstract class GT_MetaTileEntity_Buffer extends GT_MetaTileEntity_TieredM
public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
return aSide != aBaseMetaTileEntity.getBackFacing();
}
+
+ @Override
+ public boolean allowGeneralRedstoneOutput(){
+ return true;
+ }
} \ No newline at end of file
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 31ee92ea8f..e001e4c509 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
@@ -16,15 +16,15 @@ import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.item.ItemStack;
public class GT_MetaTileEntity_Cleanroom extends GT_MetaTileEntity_MultiBlockBase {
-private int mHeatingCapacity = 0;
+ private int mHeatingCapacity = 0;
-public GT_MetaTileEntity_Cleanroom(int aID, String aName, String aNameRegional) {
-super(aID, aName, aNameRegional);
-}
+ public GT_MetaTileEntity_Cleanroom(int aID, String aName, String aNameRegional) {
+ super(aID, aName, aNameRegional);
+ }
-public GT_MetaTileEntity_Cleanroom(String aName) {
-super(aName);
-}
+ public GT_MetaTileEntity_Cleanroom(String aName) {
+ super(aName);
+ }
@Override
public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
@@ -36,7 +36,7 @@ super(aName);
return new String[]{
"Controller Block for the Cleanroom",
"Min(WxHxD): 3x3x3 (Hollow), Max(WxHxD): 15x15x15 (Hollow)",
- "Controller (Top center), Walls Plascrete",
+ "Controller (Top center), Walls Plascrete (20 min)",
"Top besides contoller and edges Filter Machine Casings",
"1x Reinforced Door",
"1x MV+ Energy Hatch, 1x Maintainance Hatch",
@@ -114,9 +114,7 @@ super(aName);
mDoorCount++;
} else {
if (tTileEntity == null) {
- {
return false;
- }
}
IMetaTileEntity aMetaTileEntity = tTileEntity.getMetaTileEntity();
if (aMetaTileEntity == null) {
@@ -130,8 +128,6 @@ super(aName);
}
}
}
- } else {
-
}
}
}
@@ -153,21 +149,30 @@ super(aName);
}
}
- if (doorState) {
- mEfficiency = Math.max(0, mEfficiency - 200);
- }
-
-return true;
-}
+ if (doorState) {
+ mEfficiency = Math.max(0, mEfficiency - 200);
+ }
+ for(byte i = 0 ; i<6 ; i++){
+ byte t = (byte) Math.max(1, (byte)(15/(10000f / mEfficiency)));
+ aBaseMetaTileEntity.setInternalOutputRedstoneSignal(i, t);
+ }
+
+ return true;
+ }
+
+ @Override
+ public boolean allowGeneralRedstoneOutput(){
+ return true;
+ }
- @Override
- public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {
- if (aSide == 0 || aSide == 1) {
- return new ITexture[]{new GT_RenderedTexture(Textures.BlockIcons.BLOCK_PLASCRETE), new GT_RenderedTexture(aActive ? Textures.BlockIcons.OVERLAY_TOP_CLEANROOM_ACTIVE : Textures.BlockIcons.OVERLAY_TOP_CLEANROOM)};
+ public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {
+ if (aSide == 0 || aSide == 1) {
+ return new ITexture[]{new GT_RenderedTexture(Textures.BlockIcons.BLOCK_PLASCRETE),
+ new GT_RenderedTexture(aActive ? Textures.BlockIcons.OVERLAY_TOP_CLEANROOM_ACTIVE : Textures.BlockIcons.OVERLAY_TOP_CLEANROOM)};
-}
-return new ITexture[]{new GT_RenderedTexture(Textures.BlockIcons.BLOCK_PLASCRETE)};
-}
+ }
+ return new ITexture[]{new GT_RenderedTexture(Textures.BlockIcons.BLOCK_PLASCRETE)};
+ }
@Override
public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {