From 66925c4f60afa2981be80a9aeb31acd732b3721a Mon Sep 17 00:00:00 2001 From: Businessman381 Date: Fri, 1 Nov 2024 15:08:34 +0200 Subject: [PATCH] Ported to 1.21.2 --- build.gradle | 2 +- gradle.properties | 8 ++++---- libs.versions.toml | 8 ++++---- .../java/folk/sisby/surveyor/Surveyor.java | 2 +- .../packet/C2SKnownStructuresPacket.java | 5 ++--- .../packet/C2SKnownTerrainPacket.java | 5 ++--- .../packet/S2CGroupChangedPacket.java | 5 ++--- .../packet/S2CGroupUpdatedPacket.java | 3 +-- .../packet/S2CStructuresAddedPacket.java | 5 ++--- .../packet/S2CUpdateRegionPacket.java | 5 ++--- .../packet/SyncLandmarksAddedPacket.java | 3 +-- .../packet/SyncLandmarksRemovedPacket.java | 3 +-- .../structure/RegionStructureSummary.java | 4 ++-- .../structure/WorldStructureSummary.java | 20 +++++-------------- .../sisby/surveyor/terrain/ChunkSummary.java | 6 +++--- .../sisby/surveyor/terrain/LayerSummary.java | 2 +- .../sisby/surveyor/terrain/RegionSummary.java | 12 +++++------ .../folk/sisby/surveyor/util/RaycastUtil.java | 8 ++------ .../resources/META-INF/neoforge.mods.toml | 8 ++++---- src/main/resources/fabric.mod.json | 14 ++++++------- src/main/resources/surveyor.accesswidener | 14 ------------- 21 files changed, 53 insertions(+), 89 deletions(-) delete mode 100644 src/main/resources/surveyor.accesswidener diff --git a/build.gradle b/build.gradle index 630ba3d..8db9e9c 100644 --- a/build.gradle +++ b/build.gradle @@ -65,7 +65,7 @@ jar { } loom { - accessWidenerPath = file("src/main/resources/${modId}.accesswidener") + accessWidenerPath = file("src/main/resources/surveyor.accesswidener") } publishing { diff --git a/gradle.properties b/gradle.properties index d2afa16..859fb87 100644 --- a/gradle.properties +++ b/gradle.properties @@ -17,9 +17,9 @@ authors=Sisby folk contributors=Ampflower, falkreon, jaskarth, Garden System license=LGPL-3.0-or-later # Mod Version -baseVersion=0.6.25 +baseVersion=0.6.26 # Branch Metadata -branch=1.21 -tagBranch=1.20 -compatibleVersions=1.21, 1.21.1 +branch=1.21.2 +tagBranch=1.21.2 +compatibleVersions=1.21.2 compatibleLoaders=fabric, quilt, neoforge diff --git a/libs.versions.toml b/libs.versions.toml index 8c73442..f8acb3b 100644 --- a/libs.versions.toml +++ b/libs.versions.toml @@ -5,10 +5,10 @@ minotaur = "2.+" kaleidoConfig = "0.3.1+1.3.2" -mc = "1.21.1" -fl = "0.15.11" -yarn = "1.21.1+build.3" -fapi = "0.104.0+1.21.1" +mc = "1.21.2" +fl = "0.16.7" +yarn = "1.21.2+build.1" +fapi = "0.106.1+1.21.2" [plugins] loom = { id = "fabric-loom", version.ref = "loom" } diff --git a/src/main/java/folk/sisby/surveyor/Surveyor.java b/src/main/java/folk/sisby/surveyor/Surveyor.java index a5f83fc..cdca9db 100644 --- a/src/main/java/folk/sisby/surveyor/Surveyor.java +++ b/src/main/java/folk/sisby/surveyor/Surveyor.java @@ -53,7 +53,7 @@ public static void checkStructureExploration(ServerWorld world, ServerPlayerEnti if (!world.isChunkLoaded(pos.getX() >> 4, pos.getZ() >> 4)) return; WorldStructureSummary worldStructures = WorldSummary.of(world).structures(); if (worldStructures == null) return; - Registry structureRegistry = world.getRegistryManager().get(RegistryKeys.STRUCTURE); + Registry structureRegistry = world.getRegistryManager().getOrThrow(RegistryKeys.STRUCTURE); SurveyorExploration exploration = SurveyorExploration.of(player); Map structureReferences = world.getChunk(pos.getX() >> 4, pos.getZ() >> 4, ChunkStatus.STRUCTURE_REFERENCES).getStructureReferences(); if (!structureReferences.isEmpty()) { diff --git a/src/main/java/folk/sisby/surveyor/packet/C2SKnownStructuresPacket.java b/src/main/java/folk/sisby/surveyor/packet/C2SKnownStructuresPacket.java index 57666de..2fbe2c5 100644 --- a/src/main/java/folk/sisby/surveyor/packet/C2SKnownStructuresPacket.java +++ b/src/main/java/folk/sisby/surveyor/packet/C2SKnownStructuresPacket.java @@ -4,18 +4,17 @@ import folk.sisby.surveyor.Surveyor; import net.minecraft.network.PacketByteBuf; import net.minecraft.network.codec.PacketCodec; -import net.minecraft.network.packet.CustomPayload; import net.minecraft.registry.RegistryKey; import net.minecraft.util.Identifier; import net.minecraft.util.math.ChunkPos; import net.minecraft.world.gen.structure.Structure; public record C2SKnownStructuresPacket(Multimap, ChunkPos> structureKeys) implements C2SPacket { - public static final CustomPayload.Id ID = new CustomPayload.Id<>(Identifier.of(Surveyor.ID, "c2s_known_structures")); + public static final Id ID = new Id<>(Identifier.of(Surveyor.ID, "c2s_known_structures")); public static final PacketCodec CODEC = SurveyorPacketCodecs.STRUCTURE_KEYS.xmap(C2SKnownStructuresPacket::new, C2SKnownStructuresPacket::structureKeys); @Override - public CustomPayload.Id getId() { + public Id getId() { return ID; } } diff --git a/src/main/java/folk/sisby/surveyor/packet/C2SKnownTerrainPacket.java b/src/main/java/folk/sisby/surveyor/packet/C2SKnownTerrainPacket.java index 4792e97..1a54c47 100644 --- a/src/main/java/folk/sisby/surveyor/packet/C2SKnownTerrainPacket.java +++ b/src/main/java/folk/sisby/surveyor/packet/C2SKnownTerrainPacket.java @@ -3,7 +3,6 @@ import folk.sisby.surveyor.Surveyor; import net.minecraft.network.PacketByteBuf; import net.minecraft.network.codec.PacketCodec; -import net.minecraft.network.packet.CustomPayload; import net.minecraft.util.Identifier; import net.minecraft.util.math.ChunkPos; @@ -11,11 +10,11 @@ import java.util.Map; public record C2SKnownTerrainPacket(Map regionBits) implements C2SPacket { - public static final CustomPayload.Id ID = new CustomPayload.Id<>(Identifier.of(Surveyor.ID, "known_terrain")); + public static final Id ID = new Id<>(Identifier.of(Surveyor.ID, "known_terrain")); public static final PacketCodec CODEC = SurveyorPacketCodecs.TERRAIN_KEYS.xmap(C2SKnownTerrainPacket::new, C2SKnownTerrainPacket::regionBits); @Override - public CustomPayload.Id getId() { + public Id getId() { return ID; } } diff --git a/src/main/java/folk/sisby/surveyor/packet/S2CGroupChangedPacket.java b/src/main/java/folk/sisby/surveyor/packet/S2CGroupChangedPacket.java index 284482e..833a0b5 100644 --- a/src/main/java/folk/sisby/surveyor/packet/S2CGroupChangedPacket.java +++ b/src/main/java/folk/sisby/surveyor/packet/S2CGroupChangedPacket.java @@ -5,7 +5,6 @@ import it.unimi.dsi.fastutil.longs.LongSet; import net.minecraft.network.RegistryByteBuf; import net.minecraft.network.codec.PacketCodec; -import net.minecraft.network.packet.CustomPayload; import net.minecraft.registry.RegistryKey; import net.minecraft.util.Identifier; import net.minecraft.util.math.ChunkPos; @@ -16,7 +15,7 @@ import java.util.UUID; public record S2CGroupChangedPacket(Map players, Map regionBits, Map, LongSet> structureKeys) implements S2CPacket { - public static final CustomPayload.Id ID = new CustomPayload.Id<>(Identifier.of(Surveyor.ID, "s2c_group_changed")); + public static final Id ID = new Id<>(Identifier.of(Surveyor.ID, "s2c_group_changed")); public static final PacketCodec CODEC = PacketCodec.tuple( SurveyorPacketCodecs.GROUP_SUMMARIES, S2CGroupChangedPacket::players, SurveyorPacketCodecs.TERRAIN_KEYS, S2CGroupChangedPacket::regionBits, @@ -25,7 +24,7 @@ public record S2CGroupChangedPacket(Map players, Map getId() { + public Id getId() { return ID; } } diff --git a/src/main/java/folk/sisby/surveyor/packet/S2CGroupUpdatedPacket.java b/src/main/java/folk/sisby/surveyor/packet/S2CGroupUpdatedPacket.java index 4b39444..5a94270 100644 --- a/src/main/java/folk/sisby/surveyor/packet/S2CGroupUpdatedPacket.java +++ b/src/main/java/folk/sisby/surveyor/packet/S2CGroupUpdatedPacket.java @@ -4,14 +4,13 @@ import folk.sisby.surveyor.Surveyor; import net.minecraft.network.RegistryByteBuf; import net.minecraft.network.codec.PacketCodec; -import net.minecraft.network.packet.CustomPayload; import net.minecraft.util.Identifier; import java.util.Map; import java.util.UUID; public record S2CGroupUpdatedPacket(Map players) implements S2CPacket { - public static final CustomPayload.Id ID = new CustomPayload.Id<>(Identifier.of(Surveyor.ID, "s2c_group_updated")); + public static final Id ID = new Id<>(Identifier.of(Surveyor.ID, "s2c_group_updated")); public static final PacketCodec CODEC = SurveyorPacketCodecs.GROUP_SUMMARIES.xmap(S2CGroupUpdatedPacket::new, S2CGroupUpdatedPacket::players); public static S2CGroupUpdatedPacket of(UUID uuid, PlayerSummary summary) { diff --git a/src/main/java/folk/sisby/surveyor/packet/S2CStructuresAddedPacket.java b/src/main/java/folk/sisby/surveyor/packet/S2CStructuresAddedPacket.java index 6b821eb..aad14cf 100644 --- a/src/main/java/folk/sisby/surveyor/packet/S2CStructuresAddedPacket.java +++ b/src/main/java/folk/sisby/surveyor/packet/S2CStructuresAddedPacket.java @@ -10,7 +10,6 @@ import net.minecraft.network.PacketByteBuf; import net.minecraft.network.codec.PacketCodec; import net.minecraft.network.codec.PacketCodecs; -import net.minecraft.network.packet.CustomPayload; import net.minecraft.registry.RegistryKey; import net.minecraft.registry.tag.TagKey; import net.minecraft.util.Identifier; @@ -23,7 +22,7 @@ import java.util.Map; public record S2CStructuresAddedPacket(boolean shared, Map, Map> structures, Map, RegistryKey>> types, Multimap, TagKey> tags) implements S2CPacket { - public static final CustomPayload.Id ID = new CustomPayload.Id<>(Identifier.of(Surveyor.ID, "s2c_structures_added")); + public static final Id ID = new Id<>(Identifier.of(Surveyor.ID, "s2c_structures_added")); public static final PacketCodec CODEC = PacketCodec.tuple( PacketCodecs.BOOL, S2CStructuresAddedPacket::shared, SurveyorPacketCodecs.STRUCTURE_SUMMARIES, S2CStructuresAddedPacket::structures, @@ -69,7 +68,7 @@ public List toPayloads() { } @Override - public CustomPayload.Id getId() { + public Id getId() { return ID; } } diff --git a/src/main/java/folk/sisby/surveyor/packet/S2CUpdateRegionPacket.java b/src/main/java/folk/sisby/surveyor/packet/S2CUpdateRegionPacket.java index ef85a40..7a0961b 100644 --- a/src/main/java/folk/sisby/surveyor/packet/S2CUpdateRegionPacket.java +++ b/src/main/java/folk/sisby/surveyor/packet/S2CUpdateRegionPacket.java @@ -9,7 +9,6 @@ import net.minecraft.network.PacketByteBuf; import net.minecraft.network.codec.PacketCodec; import net.minecraft.network.codec.PacketCodecs; -import net.minecraft.network.packet.CustomPayload; import net.minecraft.util.Identifier; import net.minecraft.util.dynamic.Codecs; import net.minecraft.util.math.ChunkPos; @@ -19,7 +18,7 @@ import java.util.List; public record S2CUpdateRegionPacket(boolean shared, ChunkPos regionPos, List biomePalette, List blockPalette, BitSet set, List chunks) implements S2CPacket { - public static final CustomPayload.Id ID = new CustomPayload.Id<>(Identifier.of(Surveyor.ID, "s2c_update_region")); + public static final Id ID = new Id<>(Identifier.of(Surveyor.ID, "s2c_update_region")); public static final PacketCodec CODEC = PacketCodec.tuple( PacketCodecs.BOOL, S2CUpdateRegionPacket::shared, PacketCodecs.VAR_LONG.xmap(ChunkPos::new, ChunkPos::toLong), S2CUpdateRegionPacket::regionPos, @@ -55,7 +54,7 @@ public List toPayloads() { } @Override - public CustomPayload.Id getId() { + public Id getId() { return ID; } } diff --git a/src/main/java/folk/sisby/surveyor/packet/SyncLandmarksAddedPacket.java b/src/main/java/folk/sisby/surveyor/packet/SyncLandmarksAddedPacket.java index 7d59b46..ca9d5c3 100644 --- a/src/main/java/folk/sisby/surveyor/packet/SyncLandmarksAddedPacket.java +++ b/src/main/java/folk/sisby/surveyor/packet/SyncLandmarksAddedPacket.java @@ -11,7 +11,6 @@ import io.netty.buffer.Unpooled; import net.minecraft.network.PacketByteBuf; import net.minecraft.network.codec.PacketCodec; -import net.minecraft.network.packet.CustomPayload; import net.minecraft.util.Identifier; import net.minecraft.util.math.BlockPos; @@ -20,7 +19,7 @@ import java.util.Map; public record SyncLandmarksAddedPacket(Map, Map>> landmarks) implements SyncPacket { - public static final CustomPayload.Id ID = new CustomPayload.Id<>(Identifier.of(Surveyor.ID, "landmarks_added")); + public static final Id ID = new Id<>(Identifier.of(Surveyor.ID, "landmarks_added")); public static final PacketCodec CODEC = SurveyorPacketCodecs.LANDMARK_SUMMARIES.xmap(SyncLandmarksAddedPacket::new, SyncLandmarksAddedPacket::landmarks); public static SyncLandmarksAddedPacket of(Multimap, BlockPos> keySet, WorldLandmarks summary) { diff --git a/src/main/java/folk/sisby/surveyor/packet/SyncLandmarksRemovedPacket.java b/src/main/java/folk/sisby/surveyor/packet/SyncLandmarksRemovedPacket.java index f56343c..467e03c 100644 --- a/src/main/java/folk/sisby/surveyor/packet/SyncLandmarksRemovedPacket.java +++ b/src/main/java/folk/sisby/surveyor/packet/SyncLandmarksRemovedPacket.java @@ -7,7 +7,6 @@ import net.minecraft.network.RegistryByteBuf; import net.minecraft.network.codec.PacketCodec; import net.minecraft.network.codec.PacketCodecs; -import net.minecraft.network.packet.CustomPayload; import net.minecraft.util.Identifier; import net.minecraft.util.math.BlockPos; @@ -16,7 +15,7 @@ import java.util.Map; public record SyncLandmarksRemovedPacket(Multimap, BlockPos> landmarks) implements SyncPacket { - public static final CustomPayload.Id ID = new CustomPayload.Id<>(Identifier.of(Surveyor.ID, "landmarks_removed")); + public static final Id ID = new Id<>(Identifier.of(Surveyor.ID, "landmarks_removed")); public static final PacketCodec CODEC = PacketCodecs., List, Map, List>>map(HashMap::new, PacketCodecs.codec(LandmarkType.CODEC), BlockPos.PACKET_CODEC.collect(PacketCodecs.toList())) .xmap(MapUtil::asMultiMap, MapUtil::asListMap) .xmap(SyncLandmarksRemovedPacket::new, SyncLandmarksRemovedPacket::landmarks); diff --git a/src/main/java/folk/sisby/surveyor/structure/RegionStructureSummary.java b/src/main/java/folk/sisby/surveyor/structure/RegionStructureSummary.java index 5877b70..7917cf9 100644 --- a/src/main/java/folk/sisby/surveyor/structure/RegionStructureSummary.java +++ b/src/main/java/folk/sisby/surveyor/structure/RegionStructureSummary.java @@ -82,7 +82,7 @@ protected static RegionStructureSummary readNbt(NbtCompound nbt) { } public boolean contains(World world, StructureStart start) { - RegistryKey key = world.getRegistryManager().get(RegistryKeys.STRUCTURE).getKey(start.getStructure()).orElse(null); + RegistryKey key = world.getRegistryManager().getOrThrow(RegistryKeys.STRUCTURE).getKey(start.getStructure()).orElse(null); if (key == null) { Surveyor.LOGGER.error("Encountered an unregistered structure! {} | {}", start, start.getStructure()); return true; @@ -103,7 +103,7 @@ public Multimap, ChunkPos> keySet() { } public void put(ServerWorld world, StructureStart start) { - RegistryKey key = world.getRegistryManager().get(RegistryKeys.STRUCTURE).getKey(start.getStructure()).orElseThrow(); + RegistryKey key = world.getRegistryManager().getOrThrow(RegistryKeys.STRUCTURE).getKey(start.getStructure()).orElseThrow(); structures.computeIfAbsent(key, k -> new ConcurrentHashMap<>()); ChunkPos pos = start.getPos(); StructureStartSummary summary = summarisePieces(StructureContext.from(world), start); diff --git a/src/main/java/folk/sisby/surveyor/structure/WorldStructureSummary.java b/src/main/java/folk/sisby/surveyor/structure/WorldStructureSummary.java index e68abc4..05b276a 100644 --- a/src/main/java/folk/sisby/surveyor/structure/WorldStructureSummary.java +++ b/src/main/java/folk/sisby/surveyor/structure/WorldStructureSummary.java @@ -12,12 +12,7 @@ import folk.sisby.surveyor.terrain.RegionSummary; import folk.sisby.surveyor.util.ChunkUtil; import folk.sisby.surveyor.util.MapUtil; -import net.minecraft.nbt.NbtCompound; -import net.minecraft.nbt.NbtElement; -import net.minecraft.nbt.NbtIo; -import net.minecraft.nbt.NbtList; -import net.minecraft.nbt.NbtSizeTracker; -import net.minecraft.nbt.NbtString; +import net.minecraft.nbt.*; import net.minecraft.registry.Registries; import net.minecraft.registry.RegistryKey; import net.minecraft.registry.RegistryKeys; @@ -34,12 +29,7 @@ import java.io.File; import java.io.IOException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Optional; +import java.util.*; import java.util.concurrent.ConcurrentHashMap; public class WorldStructureSummary { @@ -164,8 +154,8 @@ public Multimap, ChunkPos> keySet(SurveyorExploration exp public void put(ServerWorld world, StructureStart start) { if (Surveyor.CONFIG.structures == SystemMode.FROZEN) return; ChunkPos rPos = regionPosOf(start.getPos()); - RegistryKey key = world.getRegistryManager().get(RegistryKeys.STRUCTURE).getKey(start.getStructure()).orElseThrow(); - Optional>> type = world.getRegistryManager().get(RegistryKeys.STRUCTURE_TYPE).getKey(start.getStructure().getType()); + RegistryKey key = world.getRegistryManager().getOrThrow(RegistryKeys.STRUCTURE).getKey(start.getStructure()).orElseThrow(); + Optional>> type = world.getRegistryManager().getOrThrow(RegistryKeys.STRUCTURE_TYPE).getKey(start.getStructure().getType()); if (!start.hasChildren()) { Surveyor.LOGGER.error("Cowardly refusing to save structure {} as it has no pieces! Report this to the structure mod author!", key.getValue()); return; @@ -175,7 +165,7 @@ public void put(ServerWorld world, StructureStart start) { return; } regions.computeIfAbsent(rPos, k -> new RegionStructureSummary()).put(world, start); - List> tags = world.getRegistryManager().get(RegistryKeys.STRUCTURE).getEntry(start.getStructure()).streamTags().toList(); + List> tags = world.getRegistryManager().getOrThrow(RegistryKeys.STRUCTURE).getEntry(start.getStructure()).streamTags().toList(); structureTypes.put(key, type.orElseThrow()); structureTags.putAll(key, tags); dirty(); diff --git a/src/main/java/folk/sisby/surveyor/terrain/ChunkSummary.java b/src/main/java/folk/sisby/surveyor/terrain/ChunkSummary.java index 146f402..d446802 100644 --- a/src/main/java/folk/sisby/surveyor/terrain/ChunkSummary.java +++ b/src/main/java/folk/sisby/surveyor/terrain/ChunkSummary.java @@ -64,7 +64,7 @@ public ChunkSummary(World world, WorldChunk chunk, int[] layerHeights, RegistryP BlockState state = section.getBlockState(x, y, z); Fluid fluid = state.getFluidState().getFluid(); - if (!state.blocksMovement() && fluid.matchesType(Fluids.EMPTY)) { + if (!state.isSolidBlock(world, pos) && fluid.matchesType(Fluids.EMPTY)) { walkspaceHeight++; waterDepth = 0; if (walkspaceHeight >= MINIMUM_AIR_DEPTH && state.getMapColor(world, pos) != MapColor.CLEAR) { @@ -76,7 +76,7 @@ public ChunkSummary(World world, WorldChunk chunk, int[] layerHeights, RegistryP } else { // Blocks Movement or Has Non-Water Fluid. if (foundFloor == null) { if (carpetPos.getY() == y + 1) { - foundFloor = new LayerSummary.FloorSummary(carpetPos.getY(), biomePalette.findOrAdd(section.getBiomeEntry(x, carpetPos.getY(), z, world.getBottomY(), world.getTopY()).value()), blockPalette.findOrAdd(carpetBlock), world.getLightLevel(LightType.BLOCK, carpetPos), waterDepth, waterDepth == 0 ? 0 : world.getLightLevel(LightType.BLOCK, pos.up().up(waterDepth))); + foundFloor = new LayerSummary.FloorSummary(carpetPos.getY(), biomePalette.findOrAdd(section.getBiomeEntry(x, carpetPos.getY(), z, world.getBottomY(), world.getTopYInclusive()).value()), blockPalette.findOrAdd(carpetBlock), world.getLightLevel(LightType.BLOCK, carpetPos), waterDepth, waterDepth == 0 ? 0 : world.getLightLevel(LightType.BLOCK, pos.up().up(waterDepth))); if (carpetPos.getY() > layerHeights[layerIndex]) { // Actually a floor for the layer above if (layerFloors[layerIndex - 1][x * 16 + z] == null) layerFloors[layerIndex - 1][x * 16 + z] = foundFloor; foundFloor = null; @@ -85,7 +85,7 @@ public ChunkSummary(World world, WorldChunk chunk, int[] layerHeights, RegistryP walkspaceHeight = 0; waterDepth = 0; } else if (walkspaceHeight >= MINIMUM_AIR_DEPTH && state.getMapColor(world, pos) != MapColor.CLEAR) { - foundFloor = new LayerSummary.FloorSummary(y, biomePalette.findOrAdd(section.getBiomeEntry(x, y, z, world.getBottomY(), world.getTopY()).value()), blockPalette.findOrAdd(state.getBlock()), world.getLightLevel(LightType.BLOCK, pos.up()), waterDepth, waterDepth == 0 ? 0 : world.getLightLevel(LightType.BLOCK, pos.up().up(waterDepth))); + foundFloor = new LayerSummary.FloorSummary(y, biomePalette.findOrAdd(section.getBiomeEntry(x, y, z, world.getBottomY(), world.getTopYInclusive()).value()), blockPalette.findOrAdd(state.getBlock()), world.getLightLevel(LightType.BLOCK, pos.up()), waterDepth, waterDepth == 0 ? 0 : world.getLightLevel(LightType.BLOCK, pos.up().up(waterDepth))); } } if (state.getMapColor(world, pos) != MapColor.CLEAR) { // Don't reset walkspace for glass/barriers/etc. diff --git a/src/main/java/folk/sisby/surveyor/terrain/LayerSummary.java b/src/main/java/folk/sisby/surveyor/terrain/LayerSummary.java index df37456..83a9a74 100644 --- a/src/main/java/folk/sisby/surveyor/terrain/LayerSummary.java +++ b/src/main/java/folk/sisby/surveyor/terrain/LayerSummary.java @@ -127,7 +127,7 @@ public void writeBuf(PacketByteBuf buf) { UInts.writeBuf(glint, buf); } - public void fillEmptyFloors(int depthOffset, int minDepth, int maxDepth, LayerSummary.Raw outLayer) { + public void fillEmptyFloors(int depthOffset, int minDepth, int maxDepth, Raw outLayer) { int i = 0; for (int j = 0; j < 256; j++) { if (found.get(j)) { diff --git a/src/main/java/folk/sisby/surveyor/terrain/RegionSummary.java b/src/main/java/folk/sisby/surveyor/terrain/RegionSummary.java index d1d5b11..704a361 100644 --- a/src/main/java/folk/sisby/surveyor/terrain/RegionSummary.java +++ b/src/main/java/folk/sisby/surveyor/terrain/RegionSummary.java @@ -47,8 +47,8 @@ public class RegionSummary { protected boolean dirty = false; public RegionSummary(DynamicRegistryManager manager) { - biomePalette = new RegistryPalette<>(manager.get(RegistryKeys.BIOME)); - blockPalette = new RegistryPalette<>(manager.get(RegistryKeys.BLOCK)); + biomePalette = new RegistryPalette<>(manager.getOrThrow(RegistryKeys.BIOME)); + blockPalette = new RegistryPalette<>(manager.getOrThrow(RegistryKeys.BLOCK)); } public static List mapIterable(Iterable palette, Function mapper) { @@ -93,8 +93,8 @@ public static ChunkPos chunkForBit(ChunkPos rPos, int i) { public static RegionSummary readNbt(NbtCompound nbt, DynamicRegistryManager manager, ChunkPos pos) { RegionSummary summary = new RegionSummary(manager); - Registry biomeRegistry = manager.get(RegistryKeys.BIOME); - Registry blockRegistry = manager.get(RegistryKeys.BLOCK); + Registry biomeRegistry = manager.getOrThrow(RegistryKeys.BIOME); + Registry blockRegistry = manager.getOrThrow(RegistryKeys.BLOCK); NbtList biomeList = nbt.getList(KEY_BIOMES, NbtElement.STRING_TYPE); Map biomeRemap = new Int2IntArrayMap(biomeList.size()); for (int i = 0; i < biomeList.size(); i++) { @@ -157,8 +157,8 @@ public void putChunk(World world, WorldChunk chunk) { } public NbtCompound writeNbt(DynamicRegistryManager manager, NbtCompound nbt, ChunkPos regionPos) { - Registry biomeRegistry = manager.get(RegistryKeys.BIOME); - Registry blockRegistry = manager.get(RegistryKeys.BLOCK); + Registry biomeRegistry = manager.getOrThrow(RegistryKeys.BIOME); + Registry blockRegistry = manager.getOrThrow(RegistryKeys.BLOCK); nbt.put(KEY_BIOMES, new NbtList(mapIterable(biomePalette.view(), b -> NbtString.of(biomeRegistry.getId(b).toString())), NbtElement.STRING_TYPE)); nbt.put(KEY_BLOCKS, new NbtList(mapIterable(blockPalette.view(), b -> NbtString.of(blockRegistry.getId(b).toString())), NbtElement.STRING_TYPE)); nbt.putIntArray(KEY_BIOME_WATER, mapIterable(biomePalette.view(), Biome::getWaterColor)); diff --git a/src/main/java/folk/sisby/surveyor/util/RaycastUtil.java b/src/main/java/folk/sisby/surveyor/util/RaycastUtil.java index 0b9304d..892faff 100644 --- a/src/main/java/folk/sisby/surveyor/util/RaycastUtil.java +++ b/src/main/java/folk/sisby/surveyor/util/RaycastUtil.java @@ -5,11 +5,7 @@ import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.util.hit.BlockHitResult; import net.minecraft.util.hit.HitResult; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.ChunkSectionPos; -import net.minecraft.util.math.Direction; -import net.minecraft.util.math.MathHelper; -import net.minecraft.util.math.Vec3d; +import net.minecraft.util.math.*; import net.minecraft.util.shape.VoxelShape; import net.minecraft.world.BlockView; import net.minecraft.world.RaycastContext; @@ -25,7 +21,7 @@ public static HitResult playerViewRaycast(ServerPlayerEntity player, int renderD double y = blockRadius * Math.tan(phi); double distance; double bottom = player.getWorld().getBottomY() - cameraPos.y; - double top = player.getWorld().getTopY() - cameraPos.y; + double top = player.getWorld().getTopYInclusive() - cameraPos.y; if (y < bottom || y > top) { // Distance To Circular Planes distance = Math.abs(MathHelper.clamp(y, bottom, top) / Math.sin(phi)); } else { // Distance To Curved Surface diff --git a/src/main/resources/META-INF/neoforge.mods.toml b/src/main/resources/META-INF/neoforge.mods.toml index 29344ad..9e68c70 100644 --- a/src/main/resources/META-INF/neoforge.mods.toml +++ b/src/main/resources/META-INF/neoforge.mods.toml @@ -15,28 +15,28 @@ logoFile = "assets/${modId}/icon.png" [properties] "connector:placeholder" = true -[[dependencies.${ modId }]] +[[dependencies."${modId}"]] modId = "connector" type = "required" versionRange = "*" ordering = "NONE" side = "BOTH" -[[dependencies.${ modId }]] +[[dependencies."${modId}"]] modId = "neoforge" type = "required" versionRange = "*" ordering = "NONE" side = "BOTH" -[[dependencies.${ modId }]] +[[dependencies."${modId}"]] modId = "minecraft" type = "required" versionRange = "[${mc},)" ordering = "NONE" side = "BOTH" -[[dependencies.${ modId }]] +[[dependencies."${modId}"]] modId = "fabric_api" type = "required" versionRange = "[${fapi},)" diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 5ddeb08..a7c2dc5 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -1,6 +1,6 @@ { "schemaVersion": 1, - "id": "${modId}", + "id": "surveyor", "version": "${version}", "name": "${modName}", "description": "${modDescription}", @@ -16,15 +16,15 @@ "sources": "${sources}" }, "license": "${license}", - "icon": "assets/${modId}/icon.png", - "accessWidener": "${modId}.accesswidener", + "icon": "assets/surveyor/icon.png", + "accessWidener": "surveyor.accesswidener", "mixins": [ - "${modId}.mixins.json" + "surveyor.mixins.json" ], "depends": { - "minecraft": ">=${mc}", - "fabricloader": ">=${fl}", - "fabric-api": ">=${fapi}" + "minecraft": ">=1.21.2", + "fabricloader": ">=0.16.7", + "fabric-api": ">=0.106.1+1.21.2" }, "entrypoints": { "main": [ diff --git a/src/main/resources/surveyor.accesswidener b/src/main/resources/surveyor.accesswidener deleted file mode 100644 index ab91225..0000000 --- a/src/main/resources/surveyor.accesswidener +++ /dev/null @@ -1,14 +0,0 @@ -accessWidener v2 named -accessible field net/minecraft/world/ChunkRegion world Lnet/minecraft/server/world/ServerWorld; -accessible field net/minecraft/structure/pool/SinglePoolElement location Lcom/mojang/datafixers/util/Either; -accessible field net/minecraft/structure/pool/FeaturePoolElement feature Lnet/minecraft/registry/entry/RegistryEntry; -accessible field net/minecraft/world/chunk/ChunkSection nonEmptyBlockCount S -accessible method net/minecraft/nbt/NbtList (Ljava/util/List;B)V -accessible field net/minecraft/world/PersistentStateManager directory Ljava/io/File; -accessible field net/minecraft/world/biome/source/BiomeAccess seed J -accessible field net/minecraft/structure/pool/ListPoolElement elements Ljava/util/List; -accessible field net/minecraft/structure/PoolStructurePiece structureTemplateManager Lnet/minecraft/structure/StructureTemplateManager; -accessible field net/minecraft/client/network/ClientLoginNetworkHandler serverInfo Lnet/minecraft/client/network/ServerInfo; -accessible field net/minecraft/world/chunk/PalettedContainer data Lnet/minecraft/world/chunk/PalettedContainer$Data; -accessible field net/minecraft/world/chunk/PalettedContainer$Data storage Lnet/minecraft/util/collection/PaletteStorage; -accessible field net/minecraft/world/chunk/PalettedContainer$Data palette Lnet/minecraft/world/chunk/Palette; \ No newline at end of file