From d3c382947d4c3016ce167e88999dccd26758a391 Mon Sep 17 00:00:00 2001 From: IzzelAliz Date: Sun, 22 May 2022 14:53:52 +0800 Subject: [PATCH] Fix schematic cannon crash (#591) --- .../entity/ItemEntityMixin_ActivationRange.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/optimization/general/activationrange/entity/ItemEntityMixin_ActivationRange.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/optimization/general/activationrange/entity/ItemEntityMixin_ActivationRange.java index 86f8e089..dd43f53b 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/optimization/general/activationrange/entity/ItemEntityMixin_ActivationRange.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/optimization/general/activationrange/entity/ItemEntityMixin_ActivationRange.java @@ -3,6 +3,7 @@ package io.izzel.arclight.common.mixin.optimization.general.activationrange.enti import io.izzel.arclight.common.bridge.core.world.WorldBridge; import io.izzel.arclight.common.mixin.optimization.general.activationrange.EntityMixin_ActivationRange; import io.izzel.arclight.common.mod.ArclightConstants; +import io.izzel.arclight.common.mod.util.DistValidate; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.item.ItemEntity; import net.minecraft.world.item.ItemStack; @@ -26,12 +27,14 @@ public abstract class ItemEntityMixin_ActivationRange extends EntityMixin_Activa @Inject(method = "(Lnet/minecraft/world/entity/EntityType;Lnet/minecraft/world/level/Level;)V", at = @At("RETURN")) private void activationRange$init(EntityType entityType, Level world, CallbackInfo ci) { - this.lifespan = ((WorldBridge) this.level).bridge$spigotConfig().itemDespawnRate; + if (DistValidate.isValid(this.level)) { + this.lifespan = ((WorldBridge) this.level).bridge$spigotConfig().itemDespawnRate; + } } @Inject(method = "(Lnet/minecraft/world/level/Level;DDDLnet/minecraft/world/item/ItemStack;)V", at = @At("RETURN")) private void activationRange$init(Level worldIn, double x, double y, double z, ItemStack stack, CallbackInfo ci) { - if (this.lifespan == 6000) { + if (DistValidate.isValid(this.level) && this.lifespan == 6000) { this.lifespan = ((WorldBridge) this.level).bridge$spigotConfig().itemDespawnRate; } }