diff options
Diffstat (limited to 'src')
14 files changed, 86 insertions, 18 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 b537ce71ef..2d3e00ae6c 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 0fd4061275..0ea0fa1aa5 100644 --- a/src/main/java/gregtech/api/metatileentity/MetaTileEntity.java +++ b/src/main/java/gregtech/api/metatileentity/MetaTileEntity.java @@ -863,4 +863,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_BasicMachine.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java index fc4ecfeea9..81948bb563 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java @@ -741,11 +741,33 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B       * @return see constants above       */      public int checkRecipe() { +        return checkRecipe(false); +    } + +    public static boolean isValidForLowGravity(GT_Recipe tRecipe, int dimId){ +        return //TODO check or get a better solution +                DimensionManager.getProvider(dimId).getClass().getName().contains("Orbit") || +                DimensionManager.getProvider(dimId).getClass().getName().endsWith("Space") || +                DimensionManager.getProvider(dimId).getClass().getName().endsWith("Asteroids") || +                DimensionManager.getProvider(dimId).getClass().getName().endsWith("SS") || +                DimensionManager.getProvider(dimId).getClass().getName().contains("SpaceStation"); +    } + + +    /** +     * +     * @param skipOC disables OverclockedNess calculation and check - if you do you must implement your own method... +     * @return +     */ +    public int checkRecipe(boolean skipOC){          GT_Recipe_Map tMap = getRecipeList();          if (tMap == null) return DID_NOT_FIND_RECIPE;          GT_Recipe tRecipe = tMap.findRecipe(getBaseMetaTileEntity(), mLastRecipe, false, V[mTier], new FluidStack[]{getFillableStack()}, getSpecialSlot(), getAllInputs());          if (tRecipe == null) return DID_NOT_FIND_RECIPE; -        if (GT_Mod.gregtechproxy.mLowGravProcessing && tRecipe.mSpecialValue == -100 && !(DimensionManager.getProvider(getBaseMetaTileEntity().getWorld().provider.dimensionId).getClass().getName().endsWith("Orbit")||DimensionManager.getProvider(getBaseMetaTileEntity().getWorld().provider.dimensionId).getClass().getName().endsWith("Space"))) return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS; + +        if (GT_Mod.gregtechproxy.mLowGravProcessing && tRecipe.mSpecialValue == -100 && +                !isValidForLowGravity(tRecipe,getBaseMetaTileEntity().getWorld().provider.dimensionId)) +            return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS;          if (tRecipe.mCanBeBuffered) mLastRecipe = tRecipe;          if (!canOutput(tRecipe)) {              mOutputBlocked++; 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 abbf5b7ee5..fba40a13a0 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/GT_Pollution.java b/src/main/java/gregtech/common/GT_Pollution.java index 78040bdb36..175ea6ac85 100644 --- a/src/main/java/gregtech/common/GT_Pollution.java +++ b/src/main/java/gregtech/common/GT_Pollution.java @@ -110,7 +110,7 @@ public class GT_Pollution {  				tNeighbors[2]=(new ChunkCoordIntPair(actualPos.chunkXPos,actualPos.chunkZPos+1));  				tNeighbors[3]=(new ChunkCoordIntPair(actualPos.chunkXPos,actualPos.chunkZPos-1));  				for(ChunkCoordIntPair neighborPosition : tNeighbors){ -					if(!chunkData.containsKey(neighborPosition)) chunkData.put(actualPos,getDefaultChunkDataOnCreation()); +					if(!chunkData.containsKey(neighborPosition)) chunkData.put(neighborPosition,getDefaultChunkDataOnCreation());  					int neighborPollution = chunkData.get(neighborPosition)[GTPOLLUTION];  					if(neighborPollution*6 < tPollution*5){//METHEMATICS... diff --git a/src/main/java/gregtech/common/blocks/GT_Material_Casings.java b/src/main/java/gregtech/common/blocks/GT_Material_Casings.java index 211fbdd65f..94afcbd894 100644 --- a/src/main/java/gregtech/common/blocks/GT_Material_Casings.java +++ b/src/main/java/gregtech/common/blocks/GT_Material_Casings.java @@ -13,6 +13,6 @@ public class GT_Material_Casings      }
      public boolean isOpaque() {
 -        return false;
 +        return true;
      }
  }
 diff --git a/src/main/java/gregtech/common/blocks/GT_Material_Reinforced.java b/src/main/java/gregtech/common/blocks/GT_Material_Reinforced.java index a6cf425caa..4aa9ba6931 100644 --- a/src/main/java/gregtech/common/blocks/GT_Material_Reinforced.java +++ b/src/main/java/gregtech/common/blocks/GT_Material_Reinforced.java @@ -12,6 +12,6 @@ public class GT_Material_Reinforced      }      public boolean isOpaque() { -        return false; +        return true;      }  } diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java index cf57b4edb6..97052a85ae 100644 --- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java +++ b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java @@ -81,9 +81,9 @@ public class GT_MetaGenerated_Item_03           * 
           * quantum chips
           */
 -        ItemList.Circuit_Silicon_Ingot.set(addItem(tLastID = 30, "Monocrystalline Silicon Ingot", "Raw Circuit", o));
 -        ItemList.Circuit_Silicon_Ingot2.set(addItem(tLastID = 31, "Glowstone doped Monocrystalline Silicon Ingot", "Raw Circuit", o));
 -        ItemList.Circuit_Silicon_Ingot3.set(addItem(tLastID = 32, "Naquadah doped Monocrystalline Silicon Ingot", "Raw Circuit", o));
 +        ItemList.Circuit_Silicon_Ingot.set(addItem(tLastID = 30, "Monocrystalline Silicon Boule", "Raw Circuit", o));
 +        ItemList.Circuit_Silicon_Ingot2.set(addItem(tLastID = 31, "Glowstone doped Monocrystalline Silicon Boule", "Raw Circuit", o));
 +        ItemList.Circuit_Silicon_Ingot3.set(addItem(tLastID = 32, "Naquadah doped Monocrystalline Silicon Boule", "Raw Circuit", o));
          ItemList.Circuit_Silicon_Wafer.set(addItem(tLastID = 33, "Wafer", "Raw Circuit", o));
          ItemList.Circuit_Silicon_Wafer2.set(addItem(tLastID = 34, "Glowstone doped Wafer", "Raw Circuit", o));
 diff --git a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_MicrowaveEnergyTransmitter.java b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_MicrowaveEnergyTransmitter.java index a60ed1daed..859dd0a6e1 100644 --- a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_MicrowaveEnergyTransmitter.java +++ b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_MicrowaveEnergyTransmitter.java @@ -111,7 +111,8 @@ public class GT_MetaTileEntity_MicrowaveEnergyTransmitter extends GT_MetaTileEnt          mPassiveEnergyUse = aConfig.get(ConfigCategories.machineconfig, "MicrowaveTransmitter.PassiveEnergy", true);      } -    public void onFirstTick() { +    @Override +    public void onFirstTick(IGregTechTileEntity aBaseMetaTileEntity) {          if (getBaseMetaTileEntity().isServerSide()) {              if ((this.mTargetX == 0) && (this.mTargetY == 0) && (this.mTargetZ == 0) && (this.mTargetD == 0)) {                  this.mTargetX = getBaseMetaTileEntity().getXCoord(); diff --git a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Teleporter.java b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Teleporter.java index a834e48db7..aa4e5645a0 100644 --- a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Teleporter.java +++ b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Teleporter.java @@ -205,7 +205,8 @@ public class GT_MetaTileEntity_Teleporter extends GT_MetaTileEntity_BasicTank {          sFPowerMultiplyer = sPowerMultiplyer / 100.0;              } -    public void onFirstTick() { +    @Override +    public void onFirstTick(IGregTechTileEntity aBaseMetaTileEntity) {          if (getBaseMetaTileEntity().isServerSide()) {              if ((this.mTargetX == 0) && (this.mTargetY == 0) && (this.mTargetZ == 0) && (this.mTargetD == 0)) {                  this.mTargetX = getBaseMetaTileEntity().getXCoord(); 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 015670cb02..6d3bf94534 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 @@ -148,9 +148,18 @@ public class GT_MetaTileEntity_Cleanroom extends GT_MetaTileEntity_MultiBlockBas          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; +    }      public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {          if (aSide == 0 || aSide == 1) { diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java index db8462f76b..b45c0da6ca 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java @@ -1,5 +1,6 @@  package gregtech.common.tileentities.machines.multi; +import gregtech.GT_Mod;  import gregtech.api.GregTech_API;  import gregtech.api.enums.Textures;  import gregtech.api.gui.GT_GUIContainer_MultiMachine; @@ -22,6 +23,8 @@ import java.util.Arrays;  import java.util.Collections;  import java.util.List; +import static gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine.isValidForLowGravity; +  public class GT_MetaTileEntity_ProcessingArray extends GT_MetaTileEntity_MultiBlockBase {      GT_Recipe mLastRecipe; @@ -64,7 +67,7 @@ public class GT_MetaTileEntity_ProcessingArray extends GT_MetaTileEntity_MultiBl      public GT_Recipe.GT_Recipe_Map getRecipeMap() {          if (mInventory[1] == null) return null; -        String tmp = mInventory[1].getUnlocalizedName().replaceAll("gt.blockmachines.basicmachine.", ""); +        String tmp = mInventory[1].getUnlocalizedName().replaceAll("gt\\.blockmachines\\.basicmachine\\.", "");          if (tmp.startsWith("centrifuge")) {              return GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes;          } else if (tmp.startsWith("electrolyzer")) { @@ -131,8 +134,25 @@ public class GT_MetaTileEntity_ProcessingArray extends GT_MetaTileEntity_MultiBl              return GT_Recipe.GT_Recipe_Map.sPolarizerRecipes;          } else if(tmp.startsWith("press")){              return GT_Recipe.GT_Recipe_Map.sPressRecipes; +        } else if (tmp.startsWith("plasmaarcfurnace")) { +            return GT_Recipe.GT_Recipe_Map.sPlasmaArcFurnaceRecipes; +        } else if (tmp.startsWith("printer")) { +            return GT_Recipe.GT_Recipe_Map.sPrinterRecipes; +        } else if (tmp.startsWith("press")) { +            return GT_Recipe.GT_Recipe_Map.sPressRecipes; +        } else if (tmp.startsWith("fluidcanner")) { +            return GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes; +        } else if (tmp.startsWith("fluidheater")) { +            return GT_Recipe.GT_Recipe_Map.sFluidHeaterRecipes; +        } else if (tmp.startsWith("distillery")) { +            return GT_Recipe.GT_Recipe_Map.sDistilleryRecipes; +        } else if (tmp.startsWith("slicer")) { +            return GT_Recipe.GT_Recipe_Map.sSlicerRecipes; +        } else if (tmp.startsWith("amplifier")) { +            return GT_Recipe.GT_Recipe_Map.sAmplifiers; +        } else if (tmp.startsWith("circuitassembler")) { +            return GT_Recipe.GT_Recipe_Map.sCircuitAssemblerRecipes;          } -          return null;      } @@ -153,9 +173,7 @@ public class GT_MetaTileEntity_ProcessingArray extends GT_MetaTileEntity_MultiBl              return false;          }          GT_Recipe.GT_Recipe_Map map = getRecipeMap(); -        if (map == null) { -            return false; -        } +        if (map == null) return false;          ArrayList<ItemStack> tInputList = getStoredInputs();          int tTier = 0;          if (mInventory[1].getUnlocalizedName().endsWith("1")) { @@ -186,6 +204,10 @@ public class GT_MetaTileEntity_ProcessingArray extends GT_MetaTileEntity_MultiBl          if (tInputList.size() > 0 || tFluids.length > 0) {              GT_Recipe tRecipe = map.findRecipe(getBaseMetaTileEntity(), mLastRecipe, false, gregtech.api.enums.GT_Values.V[tTier], tFluids, tInputs);              if (tRecipe != null) { +                if (GT_Mod.gregtechproxy.mLowGravProcessing && tRecipe.mSpecialValue == -100 && +                        !isValidForLowGravity(tRecipe,getBaseMetaTileEntity().getWorld().provider.dimensionId)) +                    return false; +                  mLastRecipe = tRecipe;                  this.mEUt = 0;                  this.mOutputItems = null; diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java index 2e00133a69..64a8edaa5b 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java @@ -85,7 +85,7 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist                  if (aMaterial.mFuelPower > 0)                      GT_Values.RA.addFuel(GT_Utility.copyAmount(1L, new Object[]{aStack}), null, aMaterial.mFuelPower, aMaterial.mFuelType);                  GT_Utility.removeSimpleIC2MachineRecipe(GT_Utility.copyAmount(9L, new Object[]{aStack}), GT_ModHandler.getCompressorRecipeList(), GT_OreDictUnificator.get(OrePrefixes.plateDense, aMaterial, 1L)); -                GT_Values.RA.addImplosionRecipe(GT_Utility.copyAmount(2L, new Object[]{aStack}), 2, GT_OreDictUnificator.get(OrePrefixes.compressed, aMaterial, 1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 1L)); +                GT_Values.RA.addImplosionRecipe(GT_Utility.copyAmount(aMaterial == Materials.MeteoricIron ? 1 : 2, new Object[]{aStack}), 2, GT_OreDictUnificator.get(OrePrefixes.compressed, aMaterial, 1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 1L));                  GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.foil, aMaterial, 2L), GT_Proxy.tBits, new Object[]{"hX", 'X', OrePrefixes.plate.get(aMaterial)});                  if (aMaterial == Materials.Paper) | 
