diff --git a/src/main/java/appeng/client/render/effects/MatterCannonFX.java b/src/main/java/appeng/client/render/effects/MatterCannonFX.java index 0f1934738..61b9ef755 100644 --- a/src/main/java/appeng/client/render/effects/MatterCannonFX.java +++ b/src/main/java/appeng/client/render/effects/MatterCannonFX.java @@ -18,14 +18,15 @@ package appeng.client.render.effects; -import appeng.api.util.AEPartLocation; -import appeng.core.AppEng; import net.minecraft.client.particle.*; import net.minecraft.particles.BasicParticleType; import net.minecraft.world.World; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; +import appeng.api.util.AEPartLocation; +import appeng.core.AppEng; + public class MatterCannonFX extends SpriteTexturedParticle { public static final BasicParticleType TYPE = new BasicParticleType(false); diff --git a/src/main/java/appeng/fluids/parts/PartFluidAnnihilationPlane.java b/src/main/java/appeng/fluids/parts/PartFluidAnnihilationPlane.java index 8dcdfd9cf..2b9f80d40 100644 --- a/src/main/java/appeng/fluids/parts/PartFluidAnnihilationPlane.java +++ b/src/main/java/appeng/fluids/parts/PartFluidAnnihilationPlane.java @@ -11,8 +11,11 @@ import net.minecraft.fluid.Fluid; import net.minecraft.fluid.Fluids; import net.minecraft.fluid.IFluidState; import net.minecraft.item.ItemStack; +import net.minecraft.tags.FluidTags; +import net.minecraft.tags.Tag; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.Direction; +import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.BlockPos; import net.minecraft.world.IBlockReader; import net.minecraft.world.World; @@ -56,6 +59,10 @@ import appeng.parts.automation.PlaneModels; import appeng.util.Platform; public class PartFluidAnnihilationPlane extends PartBasicState implements IGridTickable { + + public static final ResourceLocation TAG_BLACKLIST = new ResourceLocation(AppEng.MOD_ID, + "blacklisted/fluid_annihilation_plane"); + private static final PlaneModels MODELS = new PlaneModels("part/fluid_annihilation_plane", "part/fluid_annihilation_plane_on"); @@ -227,8 +234,11 @@ public class PartFluidAnnihilationPlane extends PartBasicState implements IGridT IFluidState fluidState = blockstate.getFluidState(); Fluid fluid = fluidState.getFluid(); - if (fluid != Fluids.EMPTY && fluidState.isSource()) { + if (isFluidBlacklisted(fluid)) { + return TickRateModulation.SLEEP; + } + if (fluid != Fluids.EMPTY && fluidState.isSource()) { // Attempt to store the fluid in the network final IAEFluidStack blockFluid = AEFluidStack .fromFluidStack(new FluidStack(fluidState.getFluid(), FluidAttributes.BUCKET_VOLUME)); @@ -236,8 +246,7 @@ public class PartFluidAnnihilationPlane extends PartBasicState implements IGridT // If that would succeed, actually slurp up the liquid as if we were using a // bucket // This _MIGHT_ change the liquid, and if it does, and we dont have enough - // space, - // tough luck. you loose the source block. + // space, tough luck. you loose the source block. fluid = ((IBucketPickupHandler) blockstate.getBlock()).pickupFluid(w, pos, blockstate); this.storeFluid(AEFluidStack.fromFluidStack(new FluidStack(fluid, FluidAttributes.BUCKET_VOLUME)), true); @@ -303,4 +312,9 @@ public class PartFluidAnnihilationPlane extends PartBasicState implements IGridT return new PlaneModelData(getConnections()); } + private boolean isFluidBlacklisted(Fluid fluid) { + Tag tag = FluidTags.getCollection().getOrCreate(TAG_BLACKLIST); + return fluid.isIn(tag); + } + } diff --git a/src/main/resources/data/appliedenergistics2/tags/blocks/blacklisted/annihilation_plane.json b/src/main/resources/data/appliedenergistics2/tags/blocks/blacklisted/annihilation_plane.json index 096ea75d0..0d91c6c29 100644 --- a/src/main/resources/data/appliedenergistics2/tags/blocks/blacklisted/annihilation_plane.json +++ b/src/main/resources/data/appliedenergistics2/tags/blocks/blacklisted/annihilation_plane.json @@ -5,4 +5,4 @@ "minecraft:end_portal_frame", "minecraft:command_block" ] -} \ No newline at end of file +} diff --git a/src/main/resources/data/appliedenergistics2/tags/fluids/blacklisted/fluid_annihilation_plane.json b/src/main/resources/data/appliedenergistics2/tags/fluids/blacklisted/fluid_annihilation_plane.json new file mode 100644 index 000000000..86dde3df2 --- /dev/null +++ b/src/main/resources/data/appliedenergistics2/tags/fluids/blacklisted/fluid_annihilation_plane.json @@ -0,0 +1,3 @@ +{ + "values": [] +} diff --git a/src/main/resources/data/appliedenergistics2/tags/items/blacklisted/annihilation_plane.json b/src/main/resources/data/appliedenergistics2/tags/items/blacklisted/annihilation_plane.json index d6649e775..86dde3df2 100644 --- a/src/main/resources/data/appliedenergistics2/tags/items/blacklisted/annihilation_plane.json +++ b/src/main/resources/data/appliedenergistics2/tags/items/blacklisted/annihilation_plane.json @@ -1,4 +1,3 @@ { - "values": [ - ] -} \ No newline at end of file + "values": [] +}