diff --git a/src/main/java/goodgenerator/blocks/tileEntity/GTMetaTileEntity/NeutronAccelerator.java b/src/main/java/goodgenerator/blocks/tileEntity/GTMetaTileEntity/NeutronAccelerator.java index 1ee64e26..504f149d 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/GTMetaTileEntity/NeutronAccelerator.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/GTMetaTileEntity/NeutronAccelerator.java @@ -10,8 +10,6 @@ public class NeutronAccelerator extends GT_MetaTileEntity_Hatch_Energy { - public boolean isRunning; - public NeutronAccelerator(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier); } @@ -27,13 +25,11 @@ public int getMaxEUConsume() { @Override public void loadNBTData(NBTTagCompound aNBT) { super.loadNBTData(aNBT); - this.isRunning = aNBT.getBoolean("isRunning"); } @Override public void saveNBTData(NBTTagCompound aNBT) { super.saveNBTData(aNBT); - aNBT.setBoolean("isRunning", this.isRunning); } @Override @@ -53,12 +49,12 @@ public String[] getDescription() { @Override public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - if (this.getBaseMetaTileEntity().isServerSide()) { + if (aBaseMetaTileEntity.isServerSide()) { if (aBaseMetaTileEntity.getStoredEU() >= getMaxEUConsume() && aBaseMetaTileEntity.isAllowedToWork()) { setEUVar(aBaseMetaTileEntity.getStoredEU() - getMaxEUConsume()); - isRunning = true; + aBaseMetaTileEntity.setActive(true); } else { - isRunning = false; + aBaseMetaTileEntity.setActive(false); } } super.onPostTick(aBaseMetaTileEntity, aTick); diff --git a/src/main/java/goodgenerator/blocks/tileEntity/NeutronActivator.java b/src/main/java/goodgenerator/blocks/tileEntity/NeutronActivator.java index 22d3d389..40cd1ef6 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/NeutronActivator.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/NeutronActivator.java @@ -330,7 +330,7 @@ public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { super.onPostTick(aBaseMetaTileEntity, aTick); boolean anyWorking = false; - if (this.getBaseMetaTileEntity().isServerSide()) { + if (aBaseMetaTileEntity.isServerSide()) { for (ItemStack input : getStoredInputs()) { if (input.isItemEqual(Materials.Graphite.getDust(1)) || input.isItemEqual(Materials.Beryllium.getDust(1))) { @@ -341,7 +341,7 @@ public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { } for (NeutronAccelerator tHatch : mNeutronAccelerator) { - if (tHatch.isRunning && this.getRepairStatus() == this.getIdealStatus()) { + if (tHatch.getBaseMetaTileEntity().isActive() && this.getRepairStatus() == this.getIdealStatus()) { anyWorking = true; this.eV += Math.max(nextInt(tHatch.getMaxEUConsume(), tHatch.getMaxEUConsume() * 2 + 1) * 10 * Math.pow(0.95, height - 4), 10); } @@ -413,7 +413,7 @@ public String[] getInfoData() { int currentNKEInput = 0; boolean anyWorking = false; for (NeutronAccelerator tHatch : mNeutronAccelerator) { - if (tHatch.isRunning) { + if (tHatch.getBaseMetaTileEntity().isActive()) { currentNKEInput += nextInt(tHatch.getMaxEUConsume(), tHatch.getMaxEUConsume() * 2 + 1) * 10 * Math.pow(0.95, height - 4); anyWorking = true; } diff --git a/src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java b/src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java index 76999906..8ead6373 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java @@ -5,10 +5,13 @@ import com.gtnewhorizon.structurelib.alignment.constructable.IConstructable; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; import com.gtnewhorizon.structurelib.structure.StructureDefinition; +import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import goodgenerator.blocks.tileEntity.base.GT_MetaTileEntity_TooltipMultiBlockBase_EM; import goodgenerator.loader.Loaders; +import goodgenerator.main.GoodGenerator; +import goodgenerator.network.MessageResetTileTexture; import goodgenerator.util.DescTextLocalization; import goodgenerator.util.MyRecipeAdder; import gregtech.api.GregTech_API; @@ -27,6 +30,7 @@ import ic2.core.Ic2Items; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.StatCollector; @@ -194,7 +198,7 @@ public boolean checkRecipe_EM(ItemStack itemStack) { if (this.mode == 0) { for (GT_MetaTileEntity_Hatch_InputBus bus : mInputBusses) { if (!isValidMetaTileEntity(bus)) continue; - GT_Recipe tRecipe = getRecipeMap().findRecipe(this.getBaseMetaTileEntity(), true, Math.min(getMachineVoltageLimit(), getMaxInputVoltage()), inputFluids, getStoredItemFromHatch(bus)); + GT_Recipe tRecipe = getRecipeMap().findRecipe(this.getBaseMetaTileEntity(), false, Math.min(getMachineVoltageLimit(), getMaxInputVoltage()), inputFluids, getStoredItemFromHatch(bus)); if (tRecipe != null && tRecipe.mSpecialValue <= casingTier) { this.mEfficiency = (10000 - (this.getIdealStatus() - this.getRepairStatus()) * 1000); this.mEfficiencyIncrease = 10000; @@ -211,8 +215,8 @@ public boolean checkRecipe_EM(ItemStack itemStack) { } else { for (GT_MetaTileEntity_Hatch_InputBus bus : mInputBusses) { - if (!isValidMetaTileEntity(bus)) continue; - GT_Recipe tRecipe = getRecipeMap().findRecipe(this.getBaseMetaTileEntity(), true, Math.min(getMachineVoltageLimit(), getMaxInputVoltage()), inputFluids, getStoredItemFromHatch(bus)); + if (!isValidMetaTileEntity(bus) || getStoredItemFromHatch(bus).length < 1) continue; + GT_Recipe tRecipe = getRecipeMap().findRecipe(this.getBaseMetaTileEntity(), false, Math.min(getMachineVoltageLimit(), getMaxInputVoltage()), inputFluids, getStoredItemFromHatch(bus)); if (tRecipe != null) { this.mEfficiency = (10000 - (this.getIdealStatus() - this.getRepairStatus()) * 1000); this.mEfficiencyIncrease = 10000; @@ -319,7 +323,8 @@ public boolean checkMachine_EM(IGregTechTileEntity aBaseMetaTileEntity, ItemStac if (casingTier != 0) { reUpdate(1538 + casingTier); } - return casingAmount >= 12 && machineTier != 0 && casingTier != 0 && mMaintenanceHatches.size() == 1 && !mMufflerHatches.isEmpty(); + GoodGenerator.CHANNEL.sendToAllAround(new MessageResetTileTexture(aBaseMetaTileEntity, casingTier), new NetworkRegistry.TargetPoint(aBaseMetaTileEntity.getWorld().provider.dimensionId, aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getZCoord(), 16)); + return casingAmount >= 42 && machineTier != 0 && casingTier != 0 && mMaintenanceHatches.size() == 1 && !mMufflerHatches.isEmpty(); } return false; } @@ -431,34 +436,4 @@ public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide } else return new ITexture[] {Textures.BlockIcons.getCasingTextureForId(1538 + t)}; } - - @SideOnly(Side.CLIENT) - public int getCasingTierClient() { - if (this.getBaseMetaTileEntity().getWorld() == null) { - return 0; - } - try { - for (byte i = 0; i < 6; i++) { - Block casing = getBaseMetaTileEntity().getBlockAtSide(i); - if (casing != null && casing.equals(Loaders.preciseUnitCasing)) { - return getBaseMetaTileEntity().getMetaIDAtSide(i) + 1; - } - } - } - catch (Throwable t) { - return 0; - } - return 0; - } - - @Override - public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - if (aBaseMetaTileEntity.isClientSide()) { - if (this.getBaseMetaTileEntity() != null && this.getBaseMetaTileEntity().getWorld() != null) { - this.casingTier = getCasingTierClient(); - markDirty(); - } - } - super.onPostTick(aBaseMetaTileEntity, aTick); - } } diff --git a/src/main/java/goodgenerator/loader/RecipeLoader_02.java b/src/main/java/goodgenerator/loader/RecipeLoader_02.java index f4be8c46..77ece932 100644 --- a/src/main/java/goodgenerator/loader/RecipeLoader_02.java +++ b/src/main/java/goodgenerator/loader/RecipeLoader_02.java @@ -23,6 +23,20 @@ public class RecipeLoader_02 { public static void RecipeLoad(){ + GT_Values.RA.addAssemblerRecipe( + new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.StainlessSteel,1), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.BlueAlloy,1), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorHV,32), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Beryllium,32), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Elite,1) + }, + null, + ItemRefer.Speeding_Pipe.get(1), + 300, + 1920 + ); + // Compact MK1 Fusion Disassembly Recipe GT_Values.RA.addAssemblerRecipe( new ItemStack[]{ diff --git a/src/main/java/goodgenerator/main/GoodGenerator.java b/src/main/java/goodgenerator/main/GoodGenerator.java index 36bf8d42..f1f8d31b 100644 --- a/src/main/java/goodgenerator/main/GoodGenerator.java +++ b/src/main/java/goodgenerator/main/GoodGenerator.java @@ -25,7 +25,7 @@ + "required-after:bartworks; " + "required-after:tectech; " + "required-after:structurelib; " - + "required:dreamcraft;") + + "after:dreamcraft;") public final class GoodGenerator { public static final String MOD_ID = "GRADLETOKEN_MODID"; public static final String MOD_NAME = "GRADLETOKEN_MODNAME";