diff --git a/src/main/java/org/betterx/betterend/blocks/InfusionPedestal.java b/src/main/java/org/betterx/betterend/blocks/InfusionPedestal.java index 49e500b4..ca04431b 100644 --- a/src/main/java/org/betterx/betterend/blocks/InfusionPedestal.java +++ b/src/main/java/org/betterx/betterend/blocks/InfusionPedestal.java @@ -84,7 +84,7 @@ public class InfusionPedestal extends PedestalBlock { BlockState blockState, BlockEntityType blockEntityType ) { - return InfusionPedestalEntity::tickEnity; + return InfusionPedestalEntity::tickEntity; } static { diff --git a/src/main/java/org/betterx/betterend/blocks/entities/InfusionPedestalEntity.java b/src/main/java/org/betterx/betterend/blocks/entities/InfusionPedestalEntity.java index bc1d952e..c1896f2c 100644 --- a/src/main/java/org/betterx/betterend/blocks/entities/InfusionPedestalEntity.java +++ b/src/main/java/org/betterx/betterend/blocks/entities/InfusionPedestalEntity.java @@ -52,13 +52,15 @@ public class InfusionPedestalEntity extends PedestalBlockEntity { protected void fromTag(CompoundTag tag) { super.fromTag(tag); if (tag.contains("ritual")) { - linkedRitual = new InfusionRitual(this, level, worldPosition); + if (!hasRitual()) { + linkedRitual = new InfusionRitual(this, level, worldPosition); + } linkedRitual.fromTag(tag.getCompound("ritual")); linkedRitual.configure(); } } - public static void tickEnity( + public static void tickEntity( Level level, BlockPos blockPos, BlockState blockState, diff --git a/src/main/java/org/betterx/betterend/rituals/InfusionRitual.java b/src/main/java/org/betterx/betterend/rituals/InfusionRitual.java index 353de131..6077fa30 100644 --- a/src/main/java/org/betterx/betterend/rituals/InfusionRitual.java +++ b/src/main/java/org/betterx/betterend/rituals/InfusionRitual.java @@ -16,6 +16,7 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.chunk.LevelChunk.EntityCreationType; import net.minecraft.world.phys.Vec3; import java.awt.*; @@ -56,7 +57,9 @@ public class InfusionRitual implements Container { for (int i = 0; i < catalysts.length; i++) { Point point = PEDESTALS_MAP[i]; MutableBlockPos checkPos = worldPos.mutable().move(Direction.EAST, point.x).move(Direction.NORTH, point.y); - BlockEntity catalystEntity = world.getBlockEntity(checkPos); + BlockEntity catalystEntity = world.isClientSide + ? world.getChunkAt(checkPos).getBlockEntity(checkPos, EntityCreationType.CHECK) + : world.getBlockEntity(checkPos); if (catalystEntity instanceof PedestalBlockEntity) { catalysts[i] = (PedestalBlockEntity) catalystEntity; } else {