]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/commitdiff
Port to 1.19 1.19-fabric-dev
authorElias Fleckenstein <eliasfleckenstein@web.de>
Wed, 22 Jun 2022 20:31:31 +0000 (22:31 +0200)
committerElias Fleckenstein <eliasfleckenstein@web.de>
Wed, 22 Jun 2022 20:31:31 +0000 (22:31 +0200)
18 files changed:
gradle.properties
src/main/java/com/irtimaled/bbor/client/commands/CommandHelper.java
src/main/java/com/irtimaled/bbor/client/gui/AbstractControl.java
src/main/java/com/irtimaled/bbor/client/gui/IntSettingSlider.java
src/main/java/com/irtimaled/bbor/client/gui/ListScreen.java
src/main/java/com/irtimaled/bbor/client/gui/LoadSavesScreen.java
src/main/java/com/irtimaled/bbor/client/gui/SearchField.java
src/main/java/com/irtimaled/bbor/client/gui/WorldSaveRow.java
src/main/java/com/irtimaled/bbor/client/interop/ClientInterop.java
src/main/java/com/irtimaled/bbor/client/interop/FlowerForestHelper.java
src/main/java/com/irtimaled/bbor/client/interop/NBTStructureLoader.java
src/main/java/com/irtimaled/bbor/client/interop/SpawnableBlocksHelper.java
src/main/java/com/irtimaled/bbor/client/providers/SlimeChunkProvider.java
src/main/java/com/irtimaled/bbor/client/renderers/RenderBatch.java
src/main/java/com/irtimaled/bbor/common/interop/CommonInterop.java
src/main/java/com/irtimaled/bbor/mixin/access/IBiome.java [deleted file]
src/main/java/com/irtimaled/bbor/mixin/network/play/server/MixinSChatPacket.java
src/main/resources/bbor.mixins.json

index 56d829f9d756cbe00675e5939565370284e9bd42..c55127834694a7063874ee723243196140ce0446 100644 (file)
@@ -3,4 +3,4 @@ org.gradle.jvmargs=-Xmx4G
 name=bbor
 buildVersion=2.4
 # leave a space to reduce merge conflicts on version change
-mcVersion=1.18.2
+mcVersion=1.19
index 810fbe829c4a27bccfac0490b310dcece2ef62ff..b20c7113d2ebd4c890e8aa996e647469c4ee5528 100644 (file)
@@ -5,11 +5,12 @@ import com.mojang.brigadier.context.ParsedCommandNode;
 import com.mojang.brigadier.tree.CommandNode;
 import com.mojang.brigadier.tree.LiteralCommandNode;
 import net.minecraft.server.command.ServerCommandSource;
-import net.minecraft.text.TranslatableText;
+import net.minecraft.text.MutableText;
+import net.minecraft.text.TranslatableTextContent;
 
 class CommandHelper {
     static void feedback(CommandContext<ServerCommandSource> context, String format, Object... values) {
-        context.getSource().sendFeedback(new TranslatableText(format, values), false);
+        context.getSource().sendFeedback(MutableText.of(new TranslatableTextContent(format, values)), false);
     }
 
     static boolean lastNodeIsLiteral(CommandContext<ServerCommandSource> context, String literal) {
index 3dc6996e22c1ceebcded088fff62dac8e7c59353..d367a9735d008f3393d88f04fa3dc372ddcd7d5b 100644 (file)
@@ -3,7 +3,8 @@ package com.irtimaled.bbor.client.gui;
 import net.minecraft.client.MinecraftClient;
 import net.minecraft.client.gui.widget.ClickableWidget;
 import net.minecraft.client.util.math.MatrixStack;
-import net.minecraft.text.LiteralText;
+import net.minecraft.text.LiteralTextContent;
+import net.minecraft.text.MutableText;
 
 import java.awt.*;
 
@@ -12,7 +13,7 @@ abstract class AbstractControl extends ClickableWidget implements IControl {
     protected final MinecraftClient minecraft;
 
     AbstractControl(int x, int y, int width, String name) {
-        super(x, y, width, 20, new LiteralText(name));
+        super(x, y, width, 20, MutableText.of(new LiteralTextContent(name)));
         this.minecraft = MinecraftClient.getInstance();
     }
 
@@ -51,7 +52,7 @@ abstract class AbstractControl extends ClickableWidget implements IControl {
     }
 
     public void filter(String lowerValue) {
-        String lowerString = this.getMessage().asString().toLowerCase();
+        String lowerString = this.getMessage().asTruncatedString(256).toLowerCase();
         this.visible = lowerValue.equals("") ||
                 lowerString.startsWith(lowerValue) ||
                 lowerString.contains(" " + lowerValue);
index a681e6d2e8cf1ac5bd9315751b2b77fdf4da6919..5c42a59d0e5414c69818a18f891ca0cf1028f281 100644 (file)
@@ -3,7 +3,8 @@ package com.irtimaled.bbor.client.gui;
 import com.irtimaled.bbor.client.config.Setting;
 import net.minecraft.client.gui.screen.narration.NarrationMessageBuilder;
 import net.minecraft.client.resource.language.I18n;
-import net.minecraft.text.LiteralText;
+import net.minecraft.text.LiteralTextContent;
+import net.minecraft.text.MutableText;
 
 import java.util.HashMap;
 import java.util.Map;
@@ -42,7 +43,7 @@ class IntSettingSlider extends AbstractSlider {
 
     private void updateText() {
         Integer value = setting.get();
-        this.setMessage(new LiteralText(I18n.translate(format, displayValues.getOrDefault(value, value.toString()))));
+        this.setMessage(MutableText.of(new LiteralTextContent(I18n.translate(format, displayValues.getOrDefault(value, value.toString())))));
     }
 
     @Override
index 447b9cb12c219eb28430f163c2158e79cb584f91..f2e55c70e44f4d614473953643e48193a833588e 100644 (file)
@@ -7,8 +7,9 @@ import net.minecraft.client.gui.Element;
 import net.minecraft.client.gui.screen.Screen;
 import net.minecraft.client.gui.widget.ButtonWidget;
 import net.minecraft.client.util.math.MatrixStack;
-import net.minecraft.text.LiteralText;
-import net.minecraft.text.TranslatableText;
+import net.minecraft.text.LiteralTextContent;
+import net.minecraft.text.MutableText;
+import net.minecraft.text.TranslatableTextContent;
 
 import java.util.List;
 
@@ -21,7 +22,7 @@ public abstract class ListScreen extends Screen {
     private SearchField searchField;
 
     ListScreen(Screen lastScreen) {
-        super(new LiteralText("Bounding Box Outline Reloaded"));
+        super(MutableText.of(new LiteralTextContent("Bounding Box Outline Reloaded")));
         this.lastScreen = lastScreen;
     }
 
@@ -37,7 +38,7 @@ public abstract class ListScreen extends Screen {
     protected void init() {
         this.controlList = this.buildList(48, this.height - 28);
         this.searchField = new SearchField(this.textRenderer, this.width / 2 - 100, 22, 200, 20, this.controlList);
-        this.doneButton = new ButtonWidget(this.width / 2 - 100, this.height - 24, 200, 20, new TranslatableText("gui.done"), buttonWidget -> onDoneClicked());
+        this.doneButton = new ButtonWidget(this.width / 2 - 100, this.height - 24, 200, 20, MutableText.of(new TranslatableTextContent("gui.done")), buttonWidget -> onDoneClicked());
 
         this.addDrawableChild(this.searchField);
         ((List<Element>) this.children()).add(this.controlList);
@@ -56,7 +57,7 @@ public abstract class ListScreen extends Screen {
         this.renderBackground(matrixStack);
         this.controlList.render(matrixStack, mouseX, mouseY);
 
-        this.drawCenteredText(matrixStack, this.textRenderer, this.title.asString(), this.width / 2, 8, 16777215);
+        this.drawCenteredText(matrixStack, this.textRenderer, this.title.asTruncatedString(256), this.width / 2, 8, 16777215);
         this.searchField.render(matrixStack, mouseX, mouseY);
         this.doneButton.render(matrixStack, mouseX, mouseY, 0f);
 
index ed3b5d17ed37c1f2cfd3036dca17c905cc170423..4f16bf11ffe62ff9e2612c823b6539573ea2d443 100644 (file)
@@ -9,6 +9,7 @@ import net.minecraft.world.level.storage.LevelStorageException;
 import net.minecraft.world.level.storage.LevelSummary;
 
 import java.util.List;
+import java.util.concurrent.ExecutionException;
 
 public class LoadSavesScreen extends ListScreen {
     private SelectableControlList controlList;
@@ -26,10 +27,10 @@ public class LoadSavesScreen extends ListScreen {
         controlList = new SelectableControlList(this.width, this.height, top, bottom);
         try {
             final LevelStorage saveLoader = this.client.getLevelStorage();
-            List<LevelSummary> saveList = saveLoader.getLevelList();
+            List<LevelSummary> saveList = saveLoader.loadSummaries(saveLoader.getLevelList()).get();
             saveList.sort(null);
             saveList.forEach(world -> controlList.add(new WorldSaveRow(world, saveLoader, controlList::setSelectedEntry)));
-        } catch (LevelStorageException e) {
+        } catch (LevelStorageException | InterruptedException | ExecutionException e) {
             e.printStackTrace();
         }
         return controlList;
index 402bea9f5f38affdfe3641485de2476fbd71019a..b1081203f6ee7edfb42410814092e3150af47e47 100644 (file)
@@ -3,17 +3,18 @@ package com.irtimaled.bbor.client.gui;
 import net.minecraft.client.font.TextRenderer;
 import net.minecraft.client.gui.widget.TextFieldWidget;
 import net.minecraft.client.util.math.MatrixStack;
-import net.minecraft.text.LiteralText;
+import net.minecraft.text.LiteralTextContent;
+import net.minecraft.text.MutableText;
 
 public class SearchField extends TextFieldWidget implements IControl {
     private final ControlList controlList;
 
     SearchField(TextRenderer fontRenderer, int left, int top, int width, int height, ControlList controlList) {
-        super(fontRenderer, left, top, width, height, new LiteralText(""));
+        super(fontRenderer, left, top, width, height, MutableText.of(new LiteralTextContent("")));
 
         this.controlList = controlList;
         this.setChangedListener(text -> this.controlList.filter(removeLeadingSpaces(text.toLowerCase())));
-        this.setRenderTextProvider((text, id) -> new LiteralText(removeLeadingSpaces(text)).asOrderedText());
+        this.setRenderTextProvider((text, id) -> MutableText.of(new LiteralTextContent(removeLeadingSpaces(text))).asOrderedText());
         this.setFocused(true);
     }
 
index 3c8aca227e191840dd12cfa5ab7f0bb5c851e2c1..d298e3c51d150da916e9a8f9630e8be40d328a28 100644 (file)
@@ -21,6 +21,7 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.nio.file.Path;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
 import java.util.Date;
@@ -38,7 +39,7 @@ public class WorldSaveRow extends ControlListEntry implements Comparable<WorldSa
     private final Identifier iconLocation;
     private final NativeImageBackedTexture icon;
 
-    private File iconFile;
+    private Path iconPath;
     private long lastClickTime;
 
     WorldSaveRow(LevelSummary worldSummary, LevelStorage saveLoader, Consumer<ControlListEntry> setSelectedEntry) {
@@ -46,11 +47,8 @@ public class WorldSaveRow extends ControlListEntry implements Comparable<WorldSa
         this.saveLoader = saveLoader;
         this.setSelectedEntry = setSelectedEntry;
         this.client = MinecraftClient.getInstance();
-        this.iconLocation = new Identifier("worlds/" + Hashing.sha1().hashUnencodedChars(worldSummary.getName()) + "/icon");
-        this.iconFile = worldSummary.getFile();
-        if (!this.iconFile.isFile()) {
-            this.iconFile = null;
-        }
+        this.iconPath = worldSummary.getIconPath();
+        this.iconLocation = new Identifier(this.iconPath.toString());
 
         this.icon = this.loadIcon();
     }
@@ -96,18 +94,12 @@ public class WorldSaveRow extends ControlListEntry implements Comparable<WorldSa
     }
 
     private NativeImageBackedTexture loadIcon() {
-        if (this.iconFile == null || !this.iconFile.isFile()) {
-            this.client.getTextureManager().destroyTexture(this.iconLocation);
-            return null;
-        }
-
-        try (InputStream stream = new FileInputStream(this.iconFile)) {
+        try (InputStream stream = new FileInputStream(this.iconPath.toFile())) {
             NativeImageBackedTexture texture = new NativeImageBackedTexture(NativeImage.read(stream));
             this.client.getTextureManager().registerTexture(this.iconLocation, texture);
             return texture;
         } catch (Throwable exception) {
             LOGGER.error("Invalid icon for world {}", this.worldSummary.getName(), exception);
-            this.iconFile = null;
             return null;
         }
     }
index 5501a91b6d10e1f119a54e680771e62547f820e9..280ecbe31c16b4d8a589cba3165b1c6585ab84b0 100644 (file)
@@ -23,11 +23,11 @@ import net.minecraft.client.util.math.MatrixStack;
 import net.minecraft.command.CommandSource;
 import net.minecraft.server.command.ServerCommandSource;
 import net.minecraft.text.ClickEvent;
-import net.minecraft.text.LiteralText;
+import net.minecraft.text.LiteralTextContent;
 import net.minecraft.text.MutableText;
 import net.minecraft.text.Text;
 import net.minecraft.text.Texts;
-import net.minecraft.text.TranslatableText;
+import net.minecraft.text.TranslatableTextContent;
 import net.minecraft.util.Formatting;
 import net.minecraft.util.math.BlockPos;
 
@@ -53,7 +53,7 @@ public class ClientInterop {
                 } catch (CommandSyntaxException exception) {
                     commandSource.sendError(Texts.toText(exception.getRawMessage()));
                     if (exception.getInput() != null && exception.getCursor() >= 0) {
-                        MutableText suggestion = new LiteralText("")
+                        MutableText suggestion = MutableText.of(new LiteralTextContent(""))
                                 .formatted(Formatting.GRAY)
                                 .styled(style -> style.withClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, message)));
                         int textLength = Math.min(exception.getInput().length(), exception.getCursor());
@@ -63,11 +63,11 @@ public class ClientInterop {
 
                         suggestion.append(exception.getInput().substring(Math.max(0, textLength - 10), textLength));
                         if (textLength < exception.getInput().length()) {
-                            suggestion.append(new LiteralText(exception.getInput().substring(textLength))
+                            suggestion.append(MutableText.of(new LiteralTextContent(exception.getInput().substring(textLength)))
                                     .formatted(Formatting.RED, Formatting.UNDERLINE));
                         }
 
-                        suggestion.append(new TranslatableText("command.context.here")
+                        suggestion.append(MutableText.of(new TranslatableTextContent("command.context.here"))
                                 .formatted(Formatting.RED, Formatting.ITALIC));
                         commandSource.sendError(suggestion);
                     }
@@ -83,18 +83,20 @@ public class ClientInterop {
     }
 
     public static int getRenderDistanceChunks() {
-        return MinecraftClient.getInstance().options.viewDistance;
+        return MinecraftClient.getInstance().options.getViewDistance().getValue();
     }
 
     public static void handleSeedMessage(Text chatComponent) {
-        TypeHelper.doIfType(chatComponent, TranslatableText.class, message -> {
-            if (!message.getKey().equals("commands.seed.success")) return;
+        TypeHelper.doIfType(chatComponent, MutableText.class, message -> {
+            TypeHelper.doIfType(message.getContent(), TranslatableTextContent.class, content -> {
+                if (!content.getKey().equals("commands.seed.success")) return;
 
-            try {
-                long seed = Long.parseLong(message.getArgs()[0].toString());
-                SlimeChunkProvider.setSeed(seed);
-            } catch (Exception ignored) {
-            }
+                try {
+                    long seed = Long.parseLong(content.getArgs()[0].toString());
+                    SlimeChunkProvider.setSeed(seed);
+                } catch (Exception ignored) {
+                }
+            });
         });
     }
 
index f15f4f9ecea57e0ed346c94bb5c59aebb7c87c70..e95fbeb952924ca89d9344e1eedbd3b8f2d3984f 100644 (file)
@@ -8,6 +8,8 @@ import net.minecraft.block.BlockState;
 import net.minecraft.block.Blocks;
 import net.minecraft.client.MinecraftClient;
 import net.minecraft.util.math.BlockPos;
+import net.minecraft.util.math.random.Random;
+import net.minecraft.util.math.random.CheckedRandom;
 import net.minecraft.util.registry.BuiltinRegistries;
 import net.minecraft.world.biome.Biome;
 import net.minecraft.world.biome.BiomeKeys;
@@ -20,10 +22,9 @@ import net.minecraft.world.gen.stateprovider.BlockStateProvider;
 
 import java.util.HashMap;
 import java.util.Map;
-import java.util.Random;
 
 public class FlowerForestHelper {
-    private static final Random random = new Random();
+    private static final Random random = new CheckedRandom(new java.util.Random().nextLong());
 
     private static final Map<BlockState, Setting<HexColor>> flowerColorMap = new HashMap<>();
 
index d8c81438a2b0284becaadeac912dd6a3b9b1ee19..47e049a0386a0f4f736c4b7c258ee2e9fa78e643 100644 (file)
@@ -14,6 +14,7 @@ import net.minecraft.structure.StructureStart;
 import net.minecraft.util.math.BlockBox;
 import net.minecraft.util.math.BlockPos;
 import net.minecraft.util.math.ChunkPos;
+import net.minecraft.util.math.random.Random;
 import net.minecraft.world.FeatureUpdater;
 import net.minecraft.world.PersistentStateManager;
 import net.minecraft.world.StructureWorldAccess;
@@ -31,7 +32,6 @@ import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
-import java.util.Random;
 import java.util.Set;
 import java.util.function.BiFunction;
 
index 6d44fcd1edc2bcd3749020b7f97179610f157f26..2b6818fc56f4353161c00423e999fb12d7d0c9b0 100644 (file)
@@ -1,19 +1,21 @@
 package com.irtimaled.bbor.client.interop;
 
 import com.irtimaled.bbor.common.models.Coords;
-import com.irtimaled.bbor.mixin.access.IBiome;
 import net.minecraft.block.Block;
 import net.minecraft.block.BlockState;
 import net.minecraft.client.MinecraftClient;
 import net.minecraft.entity.EntityType;
 import net.minecraft.entity.SpawnGroup;
+import net.minecraft.tag.BiomeTags;
 import net.minecraft.tag.BlockTags;
 import net.minecraft.util.math.BlockPos;
 import net.minecraft.util.math.Direction;
+import net.minecraft.util.registry.RegistryEntry;
 import net.minecraft.util.shape.VoxelShape;
 import net.minecraft.world.LightType;
 import net.minecraft.world.World;
 import net.minecraft.world.biome.Biome;
+import net.minecraft.world.biome.BiomeKeys;
 
 public class SpawnableBlocksHelper {
     private static final EntityType entityType = EntityType.Builder.create(SpawnGroup.MONSTER)
@@ -50,9 +52,10 @@ public class SpawnableBlocksHelper {
 
     static boolean isSpawnable(World world, BlockPos pos, BlockState spawnBlockState, BlockState upperBlockState) {
         VoxelShape collisionShape = upperBlockState.getCollisionShape(world, pos);
-        Biome biome = world.getBiome(pos).value();
-        boolean isNether = ((IBiome) biome).bbor$getCategory() == Biome.Category.NETHER;
-        return ((IBiome) biome).bbor$getCategory() != Biome.Category.MUSHROOM &&
+        RegistryEntry<Biome> entry = world.getBiome(pos);
+        Biome biome = entry.value();
+        boolean isNether = entry.isIn(BiomeTags.IS_NETHER);
+        return entry == BiomeKeys.MUSHROOM_FIELDS &&
                 spawnBlockState.allowsSpawning(world, pos.down(), isNether ? EntityType.ZOMBIFIED_PIGLIN : entityType) &&
                 !Block.isFaceFullSquare(collisionShape, Direction.UP) &&
                 !upperBlockState.emitsRedstonePower() &&
index c22b4627316003639bd766816932869dc4f2a8b8..8423416910ad150ec29584ae722df1a74c10ed7f 100644 (file)
@@ -10,7 +10,7 @@ import com.irtimaled.bbor.common.models.Coords;
 import com.irtimaled.bbor.common.models.DimensionId;
 import net.minecraft.client.MinecraftClient;
 import net.minecraft.client.world.ClientWorld;
-import net.minecraft.world.gen.random.ChunkRandom;
+import net.minecraft.util.math.random.ChunkRandom;
 
 import java.util.HashSet;
 import java.util.Set;
@@ -44,7 +44,7 @@ public class SlimeChunkProvider implements IBoundingBoxProvider<BoundingBoxSlime
         final ClientWorld world = MinecraftClient.getInstance().world;
         final int minimumY;
         if (world != null) {
-            minimumY = world.getDimension().getMinimumY();
+            minimumY = world.getDimension().minY();
         } else {
             minimumY = 0;
         }
index 42a679bfbb9ca7ffd5dcd8775be6dbb46dfda58e..026f2955d73d36ef95cb25e6c8d7330d9366a928 100644 (file)
@@ -156,9 +156,9 @@ public class RenderBatch {
     static void endBatch() {
         RenderSystem.setShader(GameRenderer::getPositionColorShader);
         long startTime = System.nanoTime();
-        quadBufferBuilderMasked.end();
-        quadBufferBuilderNonMasked.end();
-        lineBufferBuilder.end();
+        BufferBuilder.BuiltBuffer quadBufferMasked = quadBufferBuilderMasked.end();
+        BufferBuilder.BuiltBuffer quadBufferNonMasked = quadBufferBuilderNonMasked.end();
+        BufferBuilder.BuiltBuffer lineBuffer = lineBufferBuilder.end();
 
         synchronized (mutex) {
             quadMaskedCountLast.set(quadMaskedCount.get());
@@ -170,11 +170,11 @@ public class RenderBatch {
         }
 
         RenderSystem.depthMask(true);
-        BufferRenderer.draw(quadBufferBuilderMasked);
-        BufferRenderer.draw(lineBufferBuilder);
+        BufferRenderer.drawWithShader(quadBufferMasked);
+        BufferRenderer.drawWithShader(lineBuffer);
 
         RenderSystem.depthMask(false);
-        BufferRenderer.draw(quadBufferBuilderNonMasked);
+        BufferRenderer.drawWithShader(quadBufferNonMasked);
         lastDurationNanos.set(System.nanoTime() - startTime);
 
         RenderSystem.depthMask(true);
index b2daee13745286a11ae4ed4635a3a7606f510c3c..9af5d35f97162231c844b41321159b715edd870e 100644 (file)
@@ -28,7 +28,7 @@ import net.minecraft.util.registry.Registry;
 import net.minecraft.util.registry.RegistryKey;
 import net.minecraft.world.World;
 import net.minecraft.world.chunk.WorldChunk;
-import net.minecraft.world.gen.feature.ConfiguredStructureFeature;
+import net.minecraft.world.gen.structure.Structure;
 
 import java.util.Arrays;
 import java.util.Collection;
@@ -41,9 +41,9 @@ public class CommonInterop {
     public static void chunkLoaded(WorldChunk chunk) {
         DimensionId dimensionId = DimensionId.from(chunk.getWorld().getRegistryKey());
         Map<String, StructureStart> structures = new HashMap<>();
-        final Registry<ConfiguredStructureFeature<?, ?>> structureFeatureRegistry = chunk.getWorld().getRegistryManager().get(Registry.CONFIGURED_STRUCTURE_FEATURE_KEY);
-        for (Map.Entry<ConfiguredStructureFeature<?, ?>, StructureStart> es : chunk.getStructureStarts().entrySet()) {
-            final Optional<RegistryKey<ConfiguredStructureFeature<?, ?>>> optional = structureFeatureRegistry.getKey(es.getKey());
+        final Registry<Structure> structureRegistry = chunk.getWorld().getRegistryManager().get(Registry.STRUCTURE_KEY);
+        for (Map.Entry<Structure, StructureStart> es : chunk.getStructureStarts().entrySet()) {
+            final Optional<RegistryKey<Structure>> optional = structureRegistry.getKey(es.getKey());
             optional.ifPresent(key -> structures.put(key.getValue().toString(), es.getValue()));
         }
         if (structures.size() > 0) EventBus.publish(new StructuresLoaded(structures, dimensionId));
@@ -57,9 +57,9 @@ public class CommonInterop {
     }
 
     public static void loadWorldStructures(World world) {
-        final Registry<ConfiguredStructureFeature<?, ?>> structureFeatureRegistry = world.getRegistryManager().get(Registry.CONFIGURED_STRUCTURE_FEATURE_KEY);
-        System.out.println("Registring structures: " + Arrays.toString(structureFeatureRegistry.getEntrySet().stream().map(entry -> entry.getKey().getValue().toString()).distinct().toArray(String[]::new)));
-        for (var entry : structureFeatureRegistry.getEntrySet()) {
+        final Registry<Structure> structureRegistry = world.getRegistryManager().get(Registry.STRUCTURE_KEY);
+        System.out.println("Registring structures: " + Arrays.toString(structureRegistry.getEntrySet().stream().map(entry -> entry.getKey().getValue().toString()).distinct().toArray(String[]::new)));
+        for (var entry : structureRegistry.getEntrySet()) {
             final Identifier value = entry.getKey().getValue();
             final BoundingBoxType boundingBoxType = BoundingBoxType.register("structure:" + value);
             StructureProcessor.registerSupportedStructure(boundingBoxType);
diff --git a/src/main/java/com/irtimaled/bbor/mixin/access/IBiome.java b/src/main/java/com/irtimaled/bbor/mixin/access/IBiome.java
deleted file mode 100644 (file)
index 9493c63..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.irtimaled.bbor.mixin.access;
-
-import net.minecraft.world.biome.Biome;
-import org.spongepowered.asm.mixin.Mixin;
-import org.spongepowered.asm.mixin.gen.Accessor;
-
-@Mixin(Biome.class)
-public interface IBiome {
-
-    @Accessor("category")
-    Biome.Category bbor$getCategory();
-
-}
index b4ed03c0db39f5fb1326f844652c9fcdd348a083..a684d3e852f74f677e4b59f1331e78a044d212a4 100644 (file)
@@ -12,10 +12,10 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
 @Mixin(GameMessageS2CPacket.class)
 public class MixinSChatPacket {
     @Shadow
-    private Text message;
+    private Text content;
 
     @Inject(method = "apply", at = @At("RETURN"))
     private void processPacket(CallbackInfo ci) {
-        ClientInterop.handleSeedMessage(this.message);
+        ClientInterop.handleSeedMessage(this.content);
     }
 }
index 8aee69244df8b42533b87b44d2e03fadab63c8f5..865a8f1715c9ad48a55d60eb4cfaefb59981e7f7 100644 (file)
@@ -6,7 +6,6 @@
   "package": "com.irtimaled.bbor.mixin",
   "mixins": [
     "access.IBeaconBlockEntity",
-    "access.IBiome",
     "access.IStructureStart",
     "client.renderer.MixinDebugHud",
     "client.renderer.MixinWorldRenderer",