From 288e556f2a740bff3c3cb6a6c67a076e97ac36d9 Mon Sep 17 00:00:00 2001 From: RePixelatedMC Date: Thu, 17 Oct 2024 13:53:23 +0200 Subject: [PATCH] weee --- .../volmit/iris/engine/object/IrisMerger.java | 23 ++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/core/src/main/java/com/volmit/iris/engine/object/IrisMerger.java b/core/src/main/java/com/volmit/iris/engine/object/IrisMerger.java index e9c2fa197..9b1491f94 100644 --- a/core/src/main/java/com/volmit/iris/engine/object/IrisMerger.java +++ b/core/src/main/java/com/volmit/iris/engine/object/IrisMerger.java @@ -78,13 +78,8 @@ public class IrisMerger { Hunk vh = Hunk.newArrayHunk(16, engine.getMemoryWorld().getBukkit().getMaxHeight() - engine.getMemoryWorld().getBukkit().getMinHeight(), 16); Hunk vbh = Hunk.newArrayHunk(16, engine.getMemoryWorld().getBukkit().getMaxHeight() - engine.getMemoryWorld().getBukkit().getMinHeight(), 16); -// PaperLib.getChunkAtAsync(engine.getMemoryWorld().getBukkit(), x, z, true).thenAccept((i) -> { -// memoryWorldToHunk(engine.getMemoryWorld().getChunkData(x, z), vh, vbh, engine); -// }).get(); memoryWorldToHunk(engine.getMemoryWorld().getChunkData(x, z), vh, vbh, engine); - //removeSurface(vh, x, z, engine); - int totalHeight = engine.getMemoryWorld().getBukkit().getMaxHeight() - engine.getMemoryWorld().getBukkit().getMinHeight(); int minHeight = Math.abs(engine.getMemoryWorld().getBukkit().getMinHeight()); @@ -103,7 +98,7 @@ public class IrisMerger { BlockData blockData = vh.get(xx, y, zz); Biome biome = vbh.get(xx, y, zz); if (blockData != null) { - INMS.get().setBlock(engine.getWorld().realWorld(), x * 16 + xx, y - minHeight, z * 16 + zz, blockData, 1042, 0); + INMS.get().setBlock(engine.getWorld().realWorld(), x * 16 + xx, y - minHeight, z * 16 + zz, blockData, new Flags(false, false, true, false, false).value(), 0); if (biome != null && caveBiomes.contains(biome)) { engine.getWorld().realWorld().setBiome(x * 16 + xx, y - minHeight, z * 16 + zz, biome); } @@ -138,4 +133,20 @@ public class IrisMerger { }); } + public record Flags(boolean listener, boolean flag, boolean client, boolean update, boolean physics) { + public static Flags fromValue(int value) { + return new Flags((value & 1024) != 0, (value & 64) != 0, (value & 2) != 0, (value & 1) != 0, (value & 16) == 0); + } + + public int value() { + int value = 0; + if (!listener) value |= 1024; + if (flag) value |= 64; + if (client) value |= 2; + if (update) value |= 1; + if (!physics) value |= 16; + return value; + } + } + }