diff options
author | GlodBlock <1356392126@qq.com> | 2021-08-20 11:38:44 +0800 |
---|---|---|
committer | GlodBlock <1356392126@qq.com> | 2021-08-20 11:38:44 +0800 |
commit | 3534b7dd4bfe5f7bcdc030cd69e201a012aa6977 (patch) | |
tree | 53c31cd4ae71f709667e2af56604a83ff93b6e35 | |
parent | 82f768f48e8964d6dee6b2b64f042ccc755bfb6a (diff) | |
download | GT5-Unofficial-3534b7dd4bfe5f7bcdc030cd69e201a012aa6977.tar.gz GT5-Unofficial-3534b7dd4bfe5f7bcdc030cd69e201a012aa6977.tar.bz2 GT5-Unofficial-3534b7dd4bfe5f7bcdc030cd69e201a012aa6977.zip |
fix LEG explode when essetia is overloaded
5 files changed, 46 insertions, 8 deletions
diff --git a/src/main/java/GoodGenerator/Blocks/TEs/LargeEssentiaGenerator.java b/src/main/java/GoodGenerator/Blocks/TEs/LargeEssentiaGenerator.java index 1631bd60f3..ec2ffc1324 100644 --- a/src/main/java/GoodGenerator/Blocks/TEs/LargeEssentiaGenerator.java +++ b/src/main/java/GoodGenerator/Blocks/TEs/LargeEssentiaGenerator.java @@ -18,6 +18,7 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.*; import gregtech.api.objects.GT_RenderedTexture; import gregtech.api.render.TextureFactory; +import gregtech.api.util.GT_Log; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -249,9 +250,11 @@ public class LargeEssentiaGenerator extends GT_MetaTileEntity_MultiblockBase_EM for (EssentiaHatch hatch: this.mEssentiaHatch){ AspectList aspects = hatch.getAspects(); for (Aspect aspect: aspects.aspects.keySet()) { - while (EUt < EULimit && aspects.getAmount(aspect) > 0) { + while (EUt + getPerAspectEnergy(aspect) <= EULimit && aspects.getAmount(aspect) > 0) { EUt += getPerAspectEnergy(aspect); aspects.reduce(aspect, 1); + if (aspects.getAmount(aspect) == 0) + aspects.remove(aspect); } } } diff --git a/src/main/java/GoodGenerator/Items/RadioactiveItem.java b/src/main/java/GoodGenerator/Items/RadioactiveItem.java new file mode 100644 index 0000000000..408246ba67 --- /dev/null +++ b/src/main/java/GoodGenerator/Items/RadioactiveItem.java @@ -0,0 +1,30 @@ +package GoodGenerator.Items; + +import gregtech.api.util.GT_Utility; +import ic2.core.IC2Potion; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.potion.PotionEffect; +import net.minecraft.world.World; + +public class RadioactiveItem extends MyItems{ + + private final int mRadio; + + public RadioactiveItem(String name, CreativeTabs Tab, int Rad) { + super(name, Tab); + this.mRadio = Rad; + } + + @Override + public void onUpdate(ItemStack aStack, World aWorld, Entity aPlayer, int aTimer, boolean aIsInHand) { + super.onUpdate(aStack, aWorld, aPlayer, aTimer, aIsInHand); + EntityLivingBase tPlayer = (EntityPlayer) aPlayer; + if (!GT_Utility.isWearingFullRadioHazmat(tPlayer)) + tPlayer.addPotionEffect(new PotionEffect(IC2Potion.radiation.id, mRadio, 4)); + } + +} diff --git a/src/main/java/GoodGenerator/Loader/Loaders.java b/src/main/java/GoodGenerator/Loader/Loaders.java index 0b78e92bd7..6133ccbb25 100644 --- a/src/main/java/GoodGenerator/Loader/Loaders.java +++ b/src/main/java/GoodGenerator/Loader/Loaders.java @@ -9,6 +9,7 @@ import GoodGenerator.Blocks.TEs.MetaTE.NeutronAccelerator; import GoodGenerator.Blocks.TEs.MetaTE.NeutronSensor; import GoodGenerator.Items.MyItemBlocks; import GoodGenerator.Items.MyItems; +import GoodGenerator.Items.RadioactiveItem; import GoodGenerator.Main.GoodGenerator; import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.registry.GameRegistry; @@ -28,20 +29,22 @@ public class Loaders { public static final Item radiationProtectionPlate = new MyItems("radiationProtectionPlate", GoodGenerator.GG); public static final Item wrappedUraniumIngot = new MyItems("wrappedUraniumIngot", GoodGenerator.GG); - public static final Item highDensityUraniumNugget = new MyItems("highDensityUraniumNugget", GoodGenerator.GG); - public static final Item highDensityUranium = new MyItems("highDensityUranium", GoodGenerator.GG); + public static final Item highDensityUraniumNugget = new RadioactiveItem("highDensityUraniumNugget", GoodGenerator.GG, 200); + public static final Item highDensityUranium = new RadioactiveItem("highDensityUranium", GoodGenerator.GG, 1800); public static final Item wrappedThoriumIngot = new MyItems("wrappedThoriumIngot", GoodGenerator.GG); - public static final Item highDensityThoriumNugget = new MyItems("highDensityThoriumNugget", GoodGenerator.GG); - public static final Item highDensityThorium = new MyItems("highDensityThorium", GoodGenerator.GG); + public static final Item highDensityThoriumNugget = new RadioactiveItem("highDensityThoriumNugget", GoodGenerator.GG, 50); + public static final Item highDensityThorium = new RadioactiveItem("highDensityThorium", GoodGenerator.GG, 450); public static final Item wrappedPlutoniumIngot = new MyItems("wrappedPlutoniumIngot", GoodGenerator.GG); - public static final Item highDensityPlutoniumNugget = new MyItems("highDensityPlutoniumNugget", GoodGenerator.GG); - public static final Item highDensityPlutonium = new MyItems("highDensityPlutonium", GoodGenerator.GG); + public static final Item highDensityPlutoniumNugget = new RadioactiveItem("highDensityPlutoniumNugget", GoodGenerator.GG, 450); + public static final Item highDensityPlutonium = new RadioactiveItem("highDensityPlutonium", GoodGenerator.GG, 4050); public static final Item rawAtomicSeparationCatalyst = new MyItems("rawAtomicSeparationCatalyst", GoodGenerator.GG); public static final Item advancedRadiationProtectionPlate = new MyItems("advancedRadiationProtectionPlate", GoodGenerator.GG); public static final Item aluminumNitride = new MyItems("aluminumNitride", GoodGenerator.GG); public static final Item specialCeramics = new MyItems("specialCeramics", GoodGenerator.GG); public static final Item specialCeramicsPlate = new MyItems("specialCeramicsPlate", GoodGenerator.GG); - public static final Item radioactiveWaste = new MyItems("radioactiveWaste", GoodGenerator.GG); + public static final Item radioactiveWaste = new RadioactiveItem("radioactiveWaste", GoodGenerator.GG, 400); + //public static final Item plasticCase = new MyItems("plasticCase", GoodGenerator.GG); + public static final Block MAR_Casing = new Casing("MAR_Casing", new String[]{GoodGenerator.MOD_ID+":MAR_Casing"}); public static final Block FRF_Casings = new Casing("FRF_Casing", new String[]{"gregtech:iconsets/MACHINE_CASING_MINING_BLACKPLUTONIUM"}); diff --git a/src/main/java/GoodGenerator/util/ItemRefer.java b/src/main/java/GoodGenerator/util/ItemRefer.java index 4a76951224..242e6b98e6 100644 --- a/src/main/java/GoodGenerator/util/ItemRefer.java +++ b/src/main/java/GoodGenerator/util/ItemRefer.java @@ -26,6 +26,7 @@ public final class ItemRefer { public static ItemRefer Special_Ceramics_Plate = getItemStack(specialCeramicsPlate); public static ItemRefer Radioactive_Waste = getItemStack(radioactiveWaste); + public static ItemRefer Field_Restriction_Casing = getItemStack(MAR_Casing); public static ItemRefer Naquadah_Fuel_Refinery_Casing = getItemStack(FRF_Casings); public static ItemRefer Field_Restriction_Coil_T1 = getItemStack(FRF_Coil_1); diff --git a/src/main/resources/assets/goodgenerator/lang/en_US.lang b/src/main/resources/assets/goodgenerator/lang/en_US.lang index 5806e781cd..210fcff57d 100644 --- a/src/main/resources/assets/goodgenerator/lang/en_US.lang +++ b/src/main/resources/assets/goodgenerator/lang/en_US.lang @@ -34,6 +34,7 @@ item.chromaticGem.name=Chromatic Gem item.aluminumNitride.name=Aluminum Nitride Dust item.specialCeramics.name=Special Ceramics Dust item.specialCeramicsPlate.name=Special Ceramics Plate +item.radioactiveWaste.name=Radioactive Waste #Fluids fluid.lightlyCrackedNaquadahGas=Lightly Cracked Naquadah Gas |