From 611e7e1d3ed76fc8839c2206d6ad296c83df44ac Mon Sep 17 00:00:00 2001 From: Yang Xizhi <60341015+GlodBlock@users.noreply.github.com> Date: Fri, 1 Apr 2022 05:11:48 +0800 Subject: [PATCH 1/3] decrease the allowed hatch amount (#27) * decrease the allowed hatch amount * remove useless code * oversight --- .../blocks/tileEntity/PreciseAssembler.java | 43 ++++------------ .../goodgenerator/main/GoodGenerator.java | 2 + .../network/MessageResetTileTexture.java | 51 +++++++++++++++++++ .../assets/goodgenerator/lang/en_US.lang | 4 +- 4 files changed, 64 insertions(+), 36 deletions(-) create mode 100644 src/main/java/goodgenerator/network/MessageResetTileTexture.java 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/main/GoodGenerator.java b/src/main/java/goodgenerator/main/GoodGenerator.java index e81d6b1d..36bf8d42 100644 --- a/src/main/java/goodgenerator/main/GoodGenerator.java +++ b/src/main/java/goodgenerator/main/GoodGenerator.java @@ -5,6 +5,7 @@ import goodgenerator.items.MyMaterial; import goodgenerator.loader.*; import goodgenerator.network.MessageOpenNeutronSensorGUI; +import goodgenerator.network.MessageResetTileTexture; import goodgenerator.network.MessageSetNeutronSensorData; import goodgenerator.tabs.MyTabs; import com.github.bartimaeusnek.bartworks.API.WerkstoffAdderRegistry; @@ -39,6 +40,7 @@ public final class GoodGenerator { static { CHANNEL.registerMessage(MessageSetNeutronSensorData.ServerHandler.class, MessageSetNeutronSensorData.class, 0, Side.SERVER); CHANNEL.registerMessage(MessageOpenNeutronSensorGUI.ClientHandler.class, MessageOpenNeutronSensorGUI.class, 1, Side.CLIENT); + CHANNEL.registerMessage(MessageResetTileTexture.ClientHandler.class, MessageResetTileTexture.class, 1, Side.CLIENT); } @Mod.Instance(GoodGenerator.MOD_ID) diff --git a/src/main/java/goodgenerator/network/MessageResetTileTexture.java b/src/main/java/goodgenerator/network/MessageResetTileTexture.java new file mode 100644 index 00000000..dd729af6 --- /dev/null +++ b/src/main/java/goodgenerator/network/MessageResetTileTexture.java @@ -0,0 +1,51 @@ +package goodgenerator.network; + +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import cpw.mods.fml.common.network.simpleimpl.MessageContext; +import goodgenerator.blocks.tileEntity.PreciseAssembler; +import gregtech.api.interfaces.metatileentity.IMetaTileEntity; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import io.netty.buffer.ByteBuf; + +public class MessageResetTileTexture extends MessageMTEBase { + + protected int index; + + public MessageResetTileTexture(){ + } + + public MessageResetTileTexture(IGregTechTileEntity tile, int index) { + super(tile); + this.index = index; + } + + @Override + public void fromBytes(ByteBuf buf) { + super.fromBytes(buf); + index = buf.readInt(); + } + + @Override + public void toBytes(ByteBuf buf) { + super.toBytes(buf); + buf.writeInt(index); + } + + public static class ClientHandler extends MessageMTEBase.Handler { + + @Override + protected IMessage onError(MessageResetTileTexture message, MessageContext ctx) { + return null; + } + + @Override + protected IMessage onSuccess(MessageResetTileTexture message, MessageContext ctx, IMetaTileEntity mte) { + if (mte instanceof PreciseAssembler) { + ((PreciseAssembler) mte).setCasingTier(message.index); + mte.markDirty(); + } + return null; + } + } + +} diff --git a/src/main/resources/assets/goodgenerator/lang/en_US.lang b/src/main/resources/assets/goodgenerator/lang/en_US.lang index 23b3780c..9c7e5d9a 100644 --- a/src/main/resources/assets/goodgenerator/lang/en_US.lang +++ b/src/main/resources/assets/goodgenerator/lang/en_US.lang @@ -324,7 +324,7 @@ ExtremeHeatExchanger.hint.2=2 - Output hatch for SC Steam/SH Steam/Steam ExtremeHeatExchanger.hint.3=3 - Input hatch for hot fluid ExtremeHeatExchanger.hint.4=4 - Output hatch for cold fluid ExtremeHeatExchanger.hint.5=Any Casing - Maintenance Hatch -PreciseAssembler.hint.0=At least 12x Precise Electronic Unit Casings +PreciseAssembler.hint.0=At least 42x Precise Electronic Unit Casings PreciseAssembler.hint.1=12x Tungstensteel Frame Box PreciseAssembler.hint.2=42x Reinforced Glasses PreciseAssembler.hint.3=21x Machine Casing (Not Machine Hull!) @@ -461,4 +461,4 @@ research.ESSENTIA_UPGRADE_RADIATION.page.0=The use of this Essentia for power ge research.ESSENTIA_UPGRADE_RADIATION.page.1=Acceptable Aspects:

Radio: 238000EU Coefficient:x1.0

Custom4: 118000EU Coefficient:x0.5 research.ESSENTIA_UPGRADE_RADIATION.page.2=Optional Liquid:

Molten Caesium: Efficiency:x2.0

Molten Uranium-235: Efficiency:x3.0

Molten Naquadah: Efficiency:x4.0

Molten Atomic Separation Catalyst: Efficiency:x16.0 research.ESSENTIA_UPGRADE_ELECTRIC.page.0=The ELECTRUM Essentia itself represents electricity!

The higher the voltage of the generator dynamo hatch, the more ELECTRUM will be affected by potential difference and increase the amount of energy. -research.ESSENTIA_UPGRADE_ELECTRIC.page.1=Acceptable Aspects: Electrum

The formula to calculate its power:
8x(3.0^Dynamo Hatch Tier)EU \ No newline at end of file +research.ESSENTIA_UPGRADE_ELECTRIC.page.1=Acceptable Aspects: Electrum

The formula to calculate its power:
8x(3.0^Dynamo Hatch Tier)EU From efed035bb0f0c9c740451756041d2f8a7111d064 Mon Sep 17 00:00:00 2001 From: Jakub <53441451+kuba6000@users.noreply.github.com> Date: Fri, 1 Apr 2022 16:50:21 +0200 Subject: [PATCH 2/3] Fix dependency (#30) --- src/main/java/goodgenerator/main/GoodGenerator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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"; From 7d9a80de8a1495a6e775af487259216e0097c144 Mon Sep 17 00:00:00 2001 From: Yang Xizhi <60341015+GlodBlock@users.noreply.github.com> Date: Sat, 2 Apr 2022 00:10:16 +0800 Subject: [PATCH 3/3] attempt to fix NA in thermos (#31) * attempt to fix NA in thermos * fix colen's oversight --- .../GTMetaTileEntity/NeutronAccelerator.java | 10 +++------- .../blocks/tileEntity/NeutronActivator.java | 6 +++--- .../java/goodgenerator/loader/RecipeLoader_02.java | 14 ++++++++++++++ 3 files changed, 20 insertions(+), 10 deletions(-) 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/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[]{