From 7ba38c4b275f6e8e2b962b77905936dda0493dca Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Mon, 12 Jul 2021 07:18:39 +0300 Subject: [PATCH] Hydrogen biome array fox (#237) --- .../mixin/common/ChunkBiomeContainerMixin.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/ru/betterend/mixin/common/ChunkBiomeContainerMixin.java b/src/main/java/ru/betterend/mixin/common/ChunkBiomeContainerMixin.java index 3766a672..d1f953a3 100644 --- a/src/main/java/ru/betterend/mixin/common/ChunkBiomeContainerMixin.java +++ b/src/main/java/ru/betterend/mixin/common/ChunkBiomeContainerMixin.java @@ -35,7 +35,7 @@ public class ChunkBiomeContainerMixin implements IBiomeArray { int biomeZ = pos.getZ() >> 2; int index = be_getArrayIndex(biomeX, biomeY, biomeZ); - if (Integrations.hasHydrogen()) { + if (Integrations.hasHydrogen() && be_shouldWriteToHydrogen()) { try { ChunkBiomeContainer self = (ChunkBiomeContainer) (Object) this; BitStorage storage = be_getHydrogenStorage(self); @@ -80,6 +80,16 @@ public class ChunkBiomeContainerMixin implements IBiomeArray { @Final private int quartHeight; + private boolean be_shouldWriteToHydrogen() { + try { + Field field = ChunkBiomeContainer.class.getDeclaredField("intArray"); + return field != null; + } + catch (NoSuchFieldException e) { + return false; + } + } + private int be_getArrayIndex(int biomeX, int biomeY, int biomeZ) { int i = biomeX & HORIZONTAL_MASK; int j = Mth.clamp(biomeY - this.quartMinY, 0, this.quartHeight);