]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/commitdiff
1.18.1
authorishland <ishlandmc@yeah.net>
Wed, 9 Feb 2022 11:00:36 +0000 (19:00 +0800)
committerirtimaled <irtimaled@gmail.com>
Sat, 26 Feb 2022 18:33:12 +0000 (10:33 -0800)
32 files changed:
.gitignore
build.gradle
gradle.properties
gradle/wrapper/gradle-wrapper.properties
src/main/java/com/irtimaled/bbor/client/ClientProxy.java
src/main/java/com/irtimaled/bbor/client/ClientRenderer.java
src/main/java/com/irtimaled/bbor/client/config/BoundingBoxTypeHelper.java
src/main/java/com/irtimaled/bbor/client/config/ConfigManager.java
src/main/java/com/irtimaled/bbor/client/gui/ListScreen.java
src/main/java/com/irtimaled/bbor/client/gui/SettingsScreen.java
src/main/java/com/irtimaled/bbor/client/interop/BedrockCeilingHelper.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/SaveGameStructureLoader.java
src/main/java/com/irtimaled/bbor/client/models/BoundingBoxBedrockCeiling.java
src/main/java/com/irtimaled/bbor/client/models/BoundingBoxFlowerForest.java
src/main/java/com/irtimaled/bbor/client/providers/BedrockCeilingProvider.java
src/main/java/com/irtimaled/bbor/client/providers/FlowerForestProvider.java
src/main/java/com/irtimaled/bbor/client/providers/SlimeChunkProvider.java
src/main/java/com/irtimaled/bbor/client/renderers/AbstractRenderer.java
src/main/java/com/irtimaled/bbor/client/renderers/FlowerForestRenderer.java
src/main/java/com/irtimaled/bbor/client/renderers/RenderBatch.java
src/main/java/com/irtimaled/bbor/client/renderers/RenderHelper.java
src/main/java/com/irtimaled/bbor/client/renderers/Renderer.java
src/main/java/com/irtimaled/bbor/common/BoundingBoxType.java
src/main/java/com/irtimaled/bbor/common/StructureProcessor.java
src/main/java/com/irtimaled/bbor/mixin/access/IStructureStart.java
src/main/java/com/irtimaled/bbor/mixin/client/gui/screen/MixinChatScreen.java
src/main/java/com/irtimaled/bbor/mixin/client/settings/MixinKeyBinding.java
src/main/java/com/irtimaled/bbor/mixin/world/chunk/MixinChunk.java
src/main/resources/bbor.accesswidener
src/main/resources/fabric.mod.json

index 567b0842865bfb58cd9fdbf29dc16d6913725dc0..fcf0e7c448e38de7e421f71ed81fdbc3bfc14b69 100644 (file)
@@ -1,7 +1,7 @@
 .DS_Store
 .gradle
 build
-run
+run*/
 .idea
 classes
 *.iml
@@ -9,3 +9,4 @@ classes
 *.ipr
 out
 logs/
+*.hprof
index 28169bc0e20d4bf67508ecc897c27e707965c85d..b0e66d06ee05de6de9c9a80853bde04076f948c2 100644 (file)
@@ -1,17 +1,23 @@
 buildscript {
     repositories {
-        jcenter()
+        mavenCentral()
         maven {
             name = 'Fabric'
             url = 'https://maven.fabricmc.net/'
         }
+        maven {
+            name = 'Cotton'
+            url = 'https://server.bbkr.space/artifactory/libs-release/'
+        }
     }
     dependencies {
-        classpath "net.fabricmc:fabric-loom:0.8-SNAPSHOT"
+        classpath "net.fabricmc:fabric-loom:0.11-SNAPSHOT"
+        classpath "io.github.juuxel:loom-quiltflower:1.6.0"
     }
 }
 
 apply plugin: 'fabric-loom'
+apply plugin: 'io.github.juuxel.loom-quiltflower'
 apply plugin: 'java'
 apply plugin: 'idea'
 
@@ -19,8 +25,8 @@ group 'com.irtimaled'
 version project.buildVersion + '-' + project.mcVersion
 archivesBaseName = 'BBOutlineReloaded'
 
-sourceCompatibility = JavaVersion.VERSION_16
-targetCompatibility = JavaVersion.VERSION_16
+sourceCompatibility = JavaVersion.VERSION_17
+targetCompatibility = JavaVersion.VERSION_17
 
 tasks.withType(JavaCompile).configureEach {
     // ensure that the encoding is set to UTF-8, no matter what the system default is
@@ -29,22 +35,17 @@ tasks.withType(JavaCompile).configureEach {
     // If Javadoc is generated, this must be specified in that task too.
     it.options.encoding = "UTF-8"
 
-    // Minecraft 1.17 (21w19a) upwards uses Java 16.
-    it.options.release = 16
+    it.options.release = 17
 }
 
 dependencies {
     minecraft 'com.mojang:minecraft:' + project.mcVersion
-    mappings 'net.fabricmc:yarn:' + project.mcVersion + '+build.29:v2'
-    modImplementation 'net.fabricmc:fabric-loader:0.11.6'
+    mappings 'net.fabricmc:yarn:' + project.mcVersion + '+build.22:v2'
+    modImplementation 'net.fabricmc:fabric-loader:0.12.12'
 }
 
 loom {
-    accessWidener "src/main/resources/bbor.accesswidener"
-}
-
-minecraft {
-    refmapName = 'mixins.bbor.refmap.json'
+    accessWidenerPath = file("src/main/resources/bbor.accesswidener")
 }
 
 processResources {
@@ -55,7 +56,7 @@ processResources {
 
 java {
     toolchain {
-        languageVersion = JavaLanguageVersion.of(16)
+        languageVersion = JavaLanguageVersion.of(17)
     }
     withSourcesJar()
 }
@@ -78,3 +79,9 @@ jar {
 afterEvaluate {
     remapJar.classifier = 'fabric'
 }
+
+afterEvaluate {
+    migrateMappings.configure {
+        outputDir = project.file("src/main/java")
+    }
+}
index 341f34c2671ec8e5662d3df96f055af77b60aa21..428708c131f8d4a8d5a0668534626402a635f1a4 100644 (file)
@@ -1,4 +1,6 @@
+# Done to increase the memory available to gradle and improve build times.
+org.gradle.jvmargs=-Xmx4G
 name=bbor
 buildVersion=2.4
 # leave a space to reduce merge conflicts on version change
-mcVersion=1.17.1
+mcVersion=1.18.1
index 9927d0c97f5da6cdc25adda2d966e1049bcf4b53..6f065e750772b22998c2cd5f5eefba15e9ef2fa4 100644 (file)
@@ -1,5 +1,5 @@
 #Tue May 26 09:16:06 PDT 2020
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.1.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.2-all.zip
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStorePath=wrapper/dists
index 8a5d4bf1dd7a63d1b7499a2420640a39c7e0500b..49ff7360533cfd9656c75669ae9c9bcafbd38ea6 100644 (file)
@@ -8,7 +8,6 @@ import com.irtimaled.bbor.client.events.SaveLoaded;
 import com.irtimaled.bbor.client.events.UpdateWorldSpawnReceived;
 import com.irtimaled.bbor.client.gui.LoadSavesScreen;
 import com.irtimaled.bbor.client.gui.SettingsScreen;
-import com.irtimaled.bbor.client.interop.FlowerForestHelper;
 import com.irtimaled.bbor.client.keyboard.Key;
 import com.irtimaled.bbor.client.keyboard.KeyListener;
 import com.irtimaled.bbor.client.providers.CacheProvider;
@@ -79,7 +78,7 @@ public class ClientProxy extends CommonProxy {
     protected void setSeed(long seed) {
         super.setSeed(seed);
         SlimeChunkProvider.setSeed(seed);
-        FlowerForestHelper.setSeed(seed);
+//        FlowerForestHelper.setSeed(seed);
     }
 
     @Override
index 15aa4931998e6a72d6cf470be12fb239a0d1cd71..4ea6885ffb9a3f5c16119f4f392dcc8d3f767fd9 100644 (file)
@@ -5,14 +5,12 @@ import com.irtimaled.bbor.client.interop.ClientInterop;
 import com.irtimaled.bbor.client.interop.TileEntitiesHelper;
 import com.irtimaled.bbor.client.models.Point;
 import com.irtimaled.bbor.client.providers.BeaconProvider;
-import com.irtimaled.bbor.client.providers.BedrockCeilingProvider;
 import com.irtimaled.bbor.client.providers.BiomeBorderProvider;
 import com.irtimaled.bbor.client.providers.ConduitProvider;
 import com.irtimaled.bbor.client.providers.CustomBeaconProvider;
 import com.irtimaled.bbor.client.providers.CustomBoxProvider;
 import com.irtimaled.bbor.client.providers.CustomLineProvider;
 import com.irtimaled.bbor.client.providers.CustomSphereProvider;
-import com.irtimaled.bbor.client.providers.FlowerForestProvider;
 import com.irtimaled.bbor.client.providers.IBoundingBoxProvider;
 import com.irtimaled.bbor.client.providers.ICachingProvider;
 import com.irtimaled.bbor.client.providers.MobSpawnerProvider;
@@ -80,8 +78,8 @@ public class ClientRenderer {
         registerProvider(new SpawnableBlocksProvider());
         registerProvider(new CustomLineProvider());
         registerProvider(new CustomSphereProvider());
-        registerProvider(new FlowerForestProvider());
-        registerProvider(new BedrockCeilingProvider());
+//        registerProvider(new FlowerForestProvider());
+//        registerProvider(new BedrockCeilingProvider());
     }
 
     public static <T extends AbstractBoundingBox> void registerProvider(IBoundingBoxProvider<T> provider) {
index d22d71b995f594771acd5f57a96d3ee666c64f96..27850a1b27a7d000c48f98ed488ced5380e41576 100644 (file)
@@ -25,8 +25,8 @@ public class BoundingBoxTypeHelper {
         registerType(BoundingBoxType.Custom, ConfigManager.drawConduits, ConfigManager.colorCustom);
         registerType(BoundingBoxType.Conduit, ConfigManager.drawConduits, ConfigManager.colorConduits);
         registerType(BoundingBoxType.SpawnableBlocks, ConfigManager.drawSpawnableBlocks, ConfigManager.colorSpawnableBlocks);
-        registerType(BoundingBoxType.FlowerForest, ConfigManager.drawFlowerForests, null);
-        registerType(BoundingBoxType.BedrockCeiling, ConfigManager.drawBedrockCeilingBlocks, ConfigManager.colorBedrockCeilingBlocks);
+//        registerType(BoundingBoxType.FlowerForest, ConfigManager.drawFlowerForests, null);
+//        registerType(BoundingBoxType.BedrockCeiling, ConfigManager.drawBedrockCeilingBlocks, ConfigManager.colorBedrockCeilingBlocks);
 
         registerType(BoundingBoxType.JungleTemple, ConfigManager.drawJungleTemples, ConfigManager.colorJungleTemples);
         registerType(BoundingBoxType.DesertTemple, ConfigManager.drawDesertTemples, ConfigManager.colorDesertTemples);
index 7a53b9c4a291eb7b034b66845506287a64a41d3c..d0e5caa59eabe6a648ebf3036b72ef79ba56c19b 100644 (file)
@@ -53,9 +53,9 @@ public class ConfigManager {
     public static Setting<Integer> spawnableBlocksRenderHeight;
     public static Setting<Boolean> invertBoxColorPlayerInside;
     public static Setting<Boolean> renderSphereAsDots;
-    public static Setting<Boolean> drawFlowerForests;
-    public static Setting<Integer> flowerForestsRenderDistance;
-    public static Setting<Boolean> drawBedrockCeilingBlocks;
+//    public static Setting<Boolean> drawFlowerForests;
+//    public static Setting<Integer> flowerForestsRenderDistance;
+//    public static Setting<Boolean> drawBedrockCeilingBlocks;
 
     public static Setting<HexColor> colorWorldSpawn;
     public static Setting<HexColor> colorLazySpawnChunks;
@@ -131,10 +131,10 @@ public class ConfigManager {
         biomeBordersRenderDistance = setup(config, "biomeBorders", "biomeBordersRenderDistance", 3, "The distance from the player where biome borders will be drawn.");
         biomeBordersMaxY = setup(config, "biomeBorders", "biomeBordersMaxY", -1, "The maximum top of the biome borders. If set to -1 it will use the value when activated, if set to 0 it will always track the players feet.");
 
-        drawFlowerForests = setup(config, "flowerForests", "drawFlowerForests", true, "If set to true flower forest flower overlays will be drawn.");
-        flowerForestsRenderDistance = setup(config, "flowerForests", "flowerForestsRenderDistance", 3, "The distance from the player where flower forests will be drawn.");
+//        drawFlowerForests = setup(config, "flowerForests", "drawFlowerForests", true, "If set to true flower forest flower overlays will be drawn.");
+//        flowerForestsRenderDistance = setup(config, "flowerForests", "flowerForestsRenderDistance", 3, "The distance from the player where flower forests will be drawn.");
 
-        drawBedrockCeilingBlocks = setup(config, "bedrockCeiling", "drawBedrockCeilingBlocks", true, "If set to true position with only one layer of bedrock will be drawn.");
+//        drawBedrockCeilingBlocks = setup(config, "bedrockCeiling", "drawBedrockCeilingBlocks", true, "If set to true position with only one layer of bedrock will be drawn.");
 
         drawVillages = setup(config, "structures", "drawVillages", false, "If set to true village bounding boxes will be drawn.");
         drawDesertTemples = setup(config, "structures", "drawDesertTemples", true, "If set to true desert temple bounding boxes are drawn.");
index e455896dbbd9ef9acd7483063b57739fb14455f4..447b9cb12c219eb28430f163c2158e79cb584f91 100644 (file)
@@ -52,7 +52,7 @@ public abstract class ListScreen extends Screen {
     }
 
     protected void render(MatrixStack matrixStack, int mouseX, int mouseY) {
-        RenderSystem.assertThread(RenderSystem::isOnRenderThread);
+        RenderSystem.assertOnRenderThread();
         this.renderBackground(matrixStack);
         this.controlList.render(matrixStack, mouseX, mouseY);
 
index a4b135ae57c7473c086773234b65d5f57ac543a6..d07db83849169484335b37031a20b35ec2992899 100644 (file)
@@ -72,14 +72,14 @@ public class SettingsScreen extends ListScreen {
                                 .addDisplayValue(1, I18n.translate("bbor.options.distance.nearest"))
                                 .addDisplayValue(2, I18n.translate("bbor.options.distance.nearer"))
                                 .addDisplayValue(3, I18n.translate("bbor.options.distance.normal")))
-                .section(I18n.translate("bbor.features.flowerForests"),
-                        width -> new BoundingBoxTypeButton(width, I18n.translate("bbor.features.flowerForests"), BoundingBoxType.FlowerForest),
-                        width -> new IntSettingSlider(width, 1, 3, "bbor.options.distance", ConfigManager.flowerForestsRenderDistance)
-                                .addDisplayValue(1, I18n.translate("bbor.options.distance.nearest"))
-                                .addDisplayValue(2, I18n.translate("bbor.options.distance.nearer"))
-                                .addDisplayValue(3, I18n.translate("bbor.options.distance.normal")))
-                .section(I18n.translate("bbor.features.bedrockCeilingBlocks"),
-                        width -> new BoundingBoxTypeButton(width, I18n.translate("bbor.features.bedrockCeilingBlocks"), BoundingBoxType.BedrockCeiling))
+//                .section(I18n.translate("bbor.features.flowerForests"),
+//                        width -> new BoundingBoxTypeButton(width, I18n.translate("bbor.features.flowerForests"), BoundingBoxType.FlowerForest),
+//                        width -> new IntSettingSlider(width, 1, 3, "bbor.options.distance", ConfigManager.flowerForestsRenderDistance)
+//                                .addDisplayValue(1, I18n.translate("bbor.options.distance.nearest"))
+//                                .addDisplayValue(2, I18n.translate("bbor.options.distance.nearer"))
+//                                .addDisplayValue(3, I18n.translate("bbor.options.distance.normal")))
+//                .section(I18n.translate("bbor.features.bedrockCeilingBlocks"),
+//                        width -> new BoundingBoxTypeButton(width, I18n.translate("bbor.features.bedrockCeilingBlocks"), BoundingBoxType.BedrockCeiling))
                 .section(I18n.translate("bbor.features.mobSpawners"),
                         width -> new BoundingBoxTypeButton(width, I18n.translate("bbor.features.mobSpawners"), BoundingBoxType.MobSpawner),
                         width -> new BoolSettingButton(width, I18n.translate("bbor.features.mobSpawners.spawnArea"), ConfigManager.renderMobSpawnerSpawnArea),
index 9671a41b3c58967c079012726bdda662724c8961..05a9adfd3a320f2f75317d4401952eb979ccb5b4 100644 (file)
@@ -1,10 +1,12 @@
+/*
 package com.irtimaled.bbor.client.interop;
 
 import net.minecraft.block.BlockState;
 import net.minecraft.block.Blocks;
 import net.minecraft.client.MinecraftClient;
 import net.minecraft.util.math.BlockPos;
-import net.minecraft.world.gen.ChunkRandom;
+import net.minecraft.world.gen.random.ChunkRandom;
+import net.minecraft.world.gen.random.SimpleRandom;
 
 import java.util.Random;
 
@@ -20,8 +22,10 @@ public class BedrockCeilingHelper {
     }
 
     public static Random getRandomForChunk(int chunkX, int chunkZ) {
-        ChunkRandom random = new ChunkRandom();
+        ChunkRandom random = new ChunkRandom(new SimpleRandom());
         random.setTerrainSeed(chunkX, chunkZ);
         return random;
     }
 }
+
+ */
index 8afa36e3805d000de37c2c28b48706d495bd8c95..06c5cc890f6dc93ddde67a808b26c976d057b3b4 100644 (file)
@@ -1,3 +1,4 @@
+/*
 package com.irtimaled.bbor.client.interop;
 
 import com.irtimaled.bbor.client.config.ConfigManager;
@@ -60,3 +61,5 @@ public class FlowerForestHelper {
         return MinecraftClient.getInstance().world.getBlockState(new BlockPos(x, y, z)).getBlock() == Blocks.GRASS_BLOCK;
     }
 }
+
+ */
\ No newline at end of file
index 6e3f5c8ada645b7f79f71b974f9db9ee86d652ba..c6ab45cc8fa74f2e2b06438ed3510bea90c71762 100644 (file)
@@ -7,20 +7,17 @@ import com.irtimaled.bbor.common.models.DimensionId;
 import net.minecraft.client.MinecraftClient;
 import net.minecraft.nbt.NbtCompound;
 import net.minecraft.nbt.NbtList;
-import net.minecraft.server.world.ServerWorld;
-import net.minecraft.structure.StructureManager;
+import net.minecraft.structure.StructureContext;
 import net.minecraft.structure.StructurePiece;
+import net.minecraft.structure.StructurePiecesList;
 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.registry.DynamicRegistryManager;
 import net.minecraft.world.FeatureUpdater;
-import net.minecraft.world.HeightLimitView;
 import net.minecraft.world.PersistentStateManager;
 import net.minecraft.world.StructureWorldAccess;
 import net.minecraft.world.World;
-import net.minecraft.world.biome.Biome;
 import net.minecraft.world.dimension.DimensionType;
 import net.minecraft.world.gen.StructureAccessor;
 import net.minecraft.world.gen.chunk.ChunkGenerator;
@@ -28,10 +25,12 @@ import net.minecraft.world.gen.feature.FeatureConfig;
 import net.minecraft.world.level.storage.LevelStorage;
 import net.minecraft.world.storage.RegionBasedStorage;
 
-import java.io.File;
 import java.io.IOException;
+import java.nio.file.Path;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.List;
 import java.util.Map;
 import java.util.Random;
 import java.util.Set;
@@ -43,10 +42,10 @@ class NBTStructureLoader {
 
     private FeatureUpdater legacyStructureDataUtil = null;
     private LevelStorage.Session saveHandler = null;
-    private File chunkSaveLocation = null;
+    private Path chunkSaveLocation = null;
     private ChunkLoader chunkLoader;
 
-    NBTStructureLoader(DimensionId dimensionId, LevelStorage.Session saveHandler, File worldDirectory) {
+    NBTStructureLoader(DimensionId dimensionId, LevelStorage.Session saveHandler, Path worldDirectory) {
         this.dimensionId = dimensionId;
         this.configure(saveHandler, worldDirectory);
     }
@@ -70,19 +69,19 @@ class NBTStructureLoader {
         }
     }
 
-    void configure(LevelStorage.Session saveHandler, File worldDirectory) {
+    void configure(LevelStorage.Session saveHandler, Path worldDirectory) {
         this.saveHandler = saveHandler;
         if (worldDirectory != null) {
-            this.chunkSaveLocation = new File(DimensionType.getSaveDirectory(this.dimensionId.getDimensionType(), worldDirectory), "region");
+            this.chunkSaveLocation = DimensionType.getSaveDirectory(this.dimensionId.getDimensionType(), worldDirectory).resolve("region");
             this.chunkLoader = new ChunkLoader(this.chunkSaveLocation);
         }
     }
 
     private FeatureUpdater getLegacyStructureDataUtil() {
         if (this.legacyStructureDataUtil == null) {
-            File dataFolder = new File(this.saveHandler.getWorldDirectory(World.OVERWORLD), "data");
+            Path dataFolder = this.saveHandler.getWorldDirectory(World.OVERWORLD).resolve("data");
             this.legacyStructureDataUtil = FeatureUpdater.create(dimensionId.getDimensionType(),
-                    new PersistentStateManager(dataFolder, MinecraftClient.getInstance().getDataFixer()));
+                    new PersistentStateManager(dataFolder.toFile(), MinecraftClient.getInstance().getDataFixer()));
         }
         return this.legacyStructureDataUtil;
     }
@@ -129,15 +128,19 @@ class NBTStructureLoader {
             super(null,
                     new ChunkPos(0, 0),
                     0,
-                    0);
+                    new StructurePiecesList(createList(compound)));
 
             this.parsedBoundingBox = create(compound.getIntArray("BB"));
+        }
 
+        private static List<StructurePiece> createList(NbtCompound compound) {
+            final ArrayList<StructurePiece> pieces = new ArrayList<>();
             NbtList children = compound.getList("Children", 10);
             for (int index = 0; index < children.size(); ++index) {
                 NbtCompound child = children.getCompound(index);
-                if (child.contains("BB")) this.children.add(new SimpleStructurePiece(child));
+                if (child.contains("BB")) pieces.add(new SimpleStructurePiece(child));
             }
+            return pieces;
         }
 
         private static BlockBox create(int[] compound) {
@@ -148,11 +151,11 @@ class NBTStructureLoader {
         }
 
         @Override
-        public void init(DynamicRegistryManager dynamicRegistryManager, ChunkGenerator chunkGenerator, StructureManager structureManager, ChunkPos chunkPos, Biome biome, FeatureConfig featureConfig, HeightLimitView heightLimitView) {
+        public void place(StructureWorldAccess world, StructureAccessor structureAccessor, ChunkGenerator chunkGenerator, Random random, BlockBox chunkBox, ChunkPos chunkPos) {
         }
 
         @Override
-        protected BlockBox calculateBoundingBox() {
+        public BlockBox getBoundingBox() {
             return this.parsedBoundingBox;
         }
     }
@@ -163,22 +166,21 @@ class NBTStructureLoader {
         }
 
         @Override
-        protected void writeNbt(ServerWorld serverWorld, NbtCompound nbtCompound) {
+        protected void writeNbt(StructureContext context, NbtCompound nbt) {
         }
 
         @Override
-        public boolean generate(StructureWorldAccess structureWorldAccess, StructureAccessor structureAccessor, ChunkGenerator chunkGenerator, Random random, BlockBox blockBox, ChunkPos chunkPos, BlockPos blockPos) {
-            return false;
+        public void generate(StructureWorldAccess structureWorldAccess, StructureAccessor structureAccessor, ChunkGenerator chunkGenerator, Random random, BlockBox blockBox, ChunkPos chunkPos, BlockPos blockPos) {
         }
     }
 
     private static class ChunkLoader implements AutoCloseable {
-        private static final BiFunction<File, Boolean, RegionBasedStorage> creator =
-                ReflectionHelper.getPrivateInstanceBuilder(RegionBasedStorage.class, File.class, boolean.class);
+        private static final BiFunction<Path, Boolean, RegionBasedStorage> creator =
+                ReflectionHelper.getPrivateInstanceBuilder(RegionBasedStorage.class, Path.class, boolean.class);
 
         private final RegionBasedStorage regionFileCache;
 
-        public ChunkLoader(File file) {
+        public ChunkLoader(Path file) {
             this.regionFileCache = creator.apply(file, false);
         }
 
index 998ab11b4b73daefb8caea5bb7c6b434de9fac8e..112f8bbcd069b1b904a77f7b85d0e7417b9aae83 100644 (file)
@@ -5,15 +5,15 @@ import com.irtimaled.bbor.common.models.DimensionId;
 import net.minecraft.client.MinecraftClient;
 import net.minecraft.world.level.storage.LevelStorage;
 
-import java.io.File;
 import java.io.IOException;
+import java.nio.file.Path;
 import java.util.HashMap;
 import java.util.Map;
 
 public class SaveGameStructureLoader {
     private static final Map<DimensionId, NBTStructureLoader> nbtStructureLoaders = new HashMap<>();
     private static LevelStorage.Session saveHandler = null;
-    private static File worldDirectory = null;
+    private static Path worldDirectory = null;
 
     static void loadSaveGame(String fileName) {
         MinecraftClient minecraft = MinecraftClient.getInstance();
@@ -23,7 +23,7 @@ public class SaveGameStructureLoader {
         } catch (IOException e) {
             e.printStackTrace();
         }
-        worldDirectory = saveLoader.getSavesDirectory().resolve(fileName).toFile();
+        worldDirectory = saveLoader.getSavesDirectory().resolve(fileName);
 
         for (DimensionId dimensionId : nbtStructureLoaders.keySet()) {
             NBTStructureLoader dimensionProcessor = getNBTStructureLoader(dimensionId);
index 39a54e7b811fa8df513763678fe675f770e31b4e..ab6d2c106e8604dd12a76f08dcc4e231f56c9e62 100644 (file)
@@ -1,3 +1,4 @@
+/*
 package com.irtimaled.bbor.client.models;
 
 import com.irtimaled.bbor.client.renderers.AbstractRenderer;
@@ -19,3 +20,4 @@ public class BoundingBoxBedrockCeiling extends BoundingBoxCuboid {
         return RENDERER;
     }
 }
+ */
index 11d61d03476a6f20a47126a808afd654ac400eea..3f0abbf75110e8e85c88a4e4b9e611afe1b77126 100644 (file)
@@ -1,3 +1,4 @@
+/*
 package com.irtimaled.bbor.client.models;
 
 import com.irtimaled.bbor.client.RenderCulling;
@@ -63,3 +64,4 @@ public class BoundingBoxFlowerForest extends AbstractBoundingBox {
         return RenderCulling.isVisibleCulling(coords.getX(), coords.getY() + 0.01d, coords.getZ(), coords.getX() + 1, coords.getY(), coords.getZ() + 1);
     }
 }
+ */
index 46438801d255c474be19527b9c2269ca2d2d7e7a..a35d5d6896609bdf4fa54d64ca3e55844819be7e 100644 (file)
@@ -1,3 +1,4 @@
+/*
 package com.irtimaled.bbor.client.providers;
 
 import com.irtimaled.bbor.client.Player;
@@ -140,3 +141,4 @@ public class BedrockCeilingProvider implements IBoundingBoxProvider<BoundingBoxB
         return dimensionId == DimensionId.NETHER && BoundingBoxTypeHelper.shouldRender(BoundingBoxType.BedrockCeiling) && Player.getY() > 110;
     }
 }
+ */
index b26745e5c8a56d7f81db9051f6b12d29a678d626..dcb4d2b367465c853579f71d90d9477930455c3a 100644 (file)
@@ -1,3 +1,4 @@
+/*
 package com.irtimaled.bbor.client.providers;
 
 import com.irtimaled.bbor.client.Player;
@@ -89,3 +90,5 @@ public class FlowerForestProvider implements IBoundingBoxProvider<BoundingBoxFlo
         return 0;
     }
 }
+
+ */
\ No newline at end of file
index c504b1eacdf29e2425740d6927729a4ccac5622b..804dab37b29416ccc6bd7cde001925ce04cf5e91 100644 (file)
@@ -8,7 +8,7 @@ import com.irtimaled.bbor.common.BoundingBoxType;
 import com.irtimaled.bbor.common.MathHelper;
 import com.irtimaled.bbor.common.models.Coords;
 import com.irtimaled.bbor.common.models.DimensionId;
-import net.minecraft.world.gen.ChunkRandom;
+import net.minecraft.world.gen.random.ChunkRandom;
 
 import java.util.HashSet;
 import java.util.Set;
index 69724b682915e7904dd33264f301ba1ceb5b20c7..da85517a30d8c5304382990e8987b7737dc2d0d0 100644 (file)
@@ -61,8 +61,8 @@ public abstract class AbstractRenderer<T extends AbstractBoundingBox> {
         }
         if (!fillOnly) {
             stack.push();
-            stack.peek().getModel().load(lastStack.getModel());
-            stack.peek().getNormal().load(lastStack.getNormal());
+            stack.peek().getPositionMatrix().load(lastStack.getPositionMatrix());
+            stack.peek().getNormalMatrix().load(lastStack.getNormalMatrix());
             renderLine(stack, new OffsetPoint(minX, minY, minZ), new OffsetPoint(maxX, minY, minZ), color, true);
             renderLine(stack, new OffsetPoint(maxX, minY, minZ), new OffsetPoint(maxX, minY, maxZ), color, true);
             renderLine(stack, new OffsetPoint(maxX, minY, maxZ), new OffsetPoint(minX, minY, maxZ), color, true);
index 81c3e777622e41f7392bea10ecef3ad440c6023c..ef42565a609873b11b45f5482dc91106c994d8dd 100644 (file)
@@ -1,3 +1,4 @@
+/*
 package com.irtimaled.bbor.client.renderers;
 
 import com.irtimaled.bbor.client.models.BoundingBoxFlowerForest;
@@ -16,3 +17,4 @@ public class FlowerForestRenderer extends AbstractRenderer<BoundingBoxFlowerFore
                 boundingBox.getColor(), true, 127);
     }
 }
+ */
index 016b45747277c812d6dc62bf8aa1da8f2c0f922f..22be45e69339928e410110dcf9dd9404bb573fca 100644 (file)
@@ -52,51 +52,51 @@ public class RenderBatch {
         if (!sameX && !sameZ) {
             if (mask) quadMaskedCount.getAndIncrement();
             else quadNonMaskedCount.getAndIncrement();
-            bufferBuilder.vertex(matrixEntry.getModel(), minX, minY, minZ).color(red, green, blue, alpha).next();
-            bufferBuilder.vertex(matrixEntry.getModel(), maxX, minY, minZ).color(red, green, blue, alpha).next();
-            bufferBuilder.vertex(matrixEntry.getModel(), maxX, minY, maxZ).color(red, green, blue, alpha).next();
-            bufferBuilder.vertex(matrixEntry.getModel(), minX, minY, maxZ).color(red, green, blue, alpha).next();
+            bufferBuilder.vertex(matrixEntry.getPositionMatrix(), minX, minY, minZ).color(red, green, blue, alpha).next();
+            bufferBuilder.vertex(matrixEntry.getPositionMatrix(), maxX, minY, minZ).color(red, green, blue, alpha).next();
+            bufferBuilder.vertex(matrixEntry.getPositionMatrix(), maxX, minY, maxZ).color(red, green, blue, alpha).next();
+            bufferBuilder.vertex(matrixEntry.getPositionMatrix(), minX, minY, maxZ).color(red, green, blue, alpha).next();
             if (!sameY) {
                 if (mask) quadMaskedCount.getAndIncrement();
                 else quadNonMaskedCount.getAndIncrement();
-                bufferBuilder.vertex(matrixEntry.getModel(), minX, maxY, minZ).color(red, green, blue, alpha).next();
-                bufferBuilder.vertex(matrixEntry.getModel(), minX, maxY, maxZ).color(red, green, blue, alpha).next();
-                bufferBuilder.vertex(matrixEntry.getModel(), maxX, maxY, maxZ).color(red, green, blue, alpha).next();
-                bufferBuilder.vertex(matrixEntry.getModel(), maxX, maxY, minZ).color(red, green, blue, alpha).next();
+                bufferBuilder.vertex(matrixEntry.getPositionMatrix(), minX, maxY, minZ).color(red, green, blue, alpha).next();
+                bufferBuilder.vertex(matrixEntry.getPositionMatrix(), minX, maxY, maxZ).color(red, green, blue, alpha).next();
+                bufferBuilder.vertex(matrixEntry.getPositionMatrix(), maxX, maxY, maxZ).color(red, green, blue, alpha).next();
+                bufferBuilder.vertex(matrixEntry.getPositionMatrix(), maxX, maxY, minZ).color(red, green, blue, alpha).next();
             }
         }
 
         if (!sameX && !sameY) {
             if (mask) quadMaskedCount.getAndIncrement();
             else quadNonMaskedCount.getAndIncrement();
-            bufferBuilder.vertex(matrixEntry.getModel(), minX, minY, minZ).color(red, green, blue, alpha).next();
-            bufferBuilder.vertex(matrixEntry.getModel(), minX, maxY, minZ).color(red, green, blue, alpha).next();
-            bufferBuilder.vertex(matrixEntry.getModel(), maxX, maxY, minZ).color(red, green, blue, alpha).next();
-            bufferBuilder.vertex(matrixEntry.getModel(), maxX, minY, minZ).color(red, green, blue, alpha).next();
+            bufferBuilder.vertex(matrixEntry.getPositionMatrix(), minX, minY, minZ).color(red, green, blue, alpha).next();
+            bufferBuilder.vertex(matrixEntry.getPositionMatrix(), minX, maxY, minZ).color(red, green, blue, alpha).next();
+            bufferBuilder.vertex(matrixEntry.getPositionMatrix(), maxX, maxY, minZ).color(red, green, blue, alpha).next();
+            bufferBuilder.vertex(matrixEntry.getPositionMatrix(), maxX, minY, minZ).color(red, green, blue, alpha).next();
             if (!sameZ) {
                 if (mask) quadMaskedCount.getAndIncrement();
                 else quadNonMaskedCount.getAndIncrement();
-                bufferBuilder.vertex(matrixEntry.getModel(), minX, minY, maxZ).color(red, green, blue, alpha).next();
-                bufferBuilder.vertex(matrixEntry.getModel(), maxX, minY, maxZ).color(red, green, blue, alpha).next();
-                bufferBuilder.vertex(matrixEntry.getModel(), maxX, maxY, maxZ).color(red, green, blue, alpha).next();
-                bufferBuilder.vertex(matrixEntry.getModel(), minX, maxY, maxZ).color(red, green, blue, alpha).next();
+                bufferBuilder.vertex(matrixEntry.getPositionMatrix(), minX, minY, maxZ).color(red, green, blue, alpha).next();
+                bufferBuilder.vertex(matrixEntry.getPositionMatrix(), maxX, minY, maxZ).color(red, green, blue, alpha).next();
+                bufferBuilder.vertex(matrixEntry.getPositionMatrix(), maxX, maxY, maxZ).color(red, green, blue, alpha).next();
+                bufferBuilder.vertex(matrixEntry.getPositionMatrix(), minX, maxY, maxZ).color(red, green, blue, alpha).next();
             }
         }
 
         if (!sameY && !sameZ) {
             if (mask) quadMaskedCount.getAndIncrement();
             else quadNonMaskedCount.getAndIncrement();
-            bufferBuilder.vertex(matrixEntry.getModel(), minX, minY, minZ).color(red, green, blue, alpha).next();
-            bufferBuilder.vertex(matrixEntry.getModel(), minX, minY, maxZ).color(red, green, blue, alpha).next();
-            bufferBuilder.vertex(matrixEntry.getModel(), minX, maxY, maxZ).color(red, green, blue, alpha).next();
-            bufferBuilder.vertex(matrixEntry.getModel(), minX, maxY, minZ).color(red, green, blue, alpha).next();
+            bufferBuilder.vertex(matrixEntry.getPositionMatrix(), minX, minY, minZ).color(red, green, blue, alpha).next();
+            bufferBuilder.vertex(matrixEntry.getPositionMatrix(), minX, minY, maxZ).color(red, green, blue, alpha).next();
+            bufferBuilder.vertex(matrixEntry.getPositionMatrix(), minX, maxY, maxZ).color(red, green, blue, alpha).next();
+            bufferBuilder.vertex(matrixEntry.getPositionMatrix(), minX, maxY, minZ).color(red, green, blue, alpha).next();
             if (!sameX) {
                 if (mask) quadMaskedCount.getAndIncrement();
                 else quadNonMaskedCount.getAndIncrement();
-                bufferBuilder.vertex(matrixEntry.getModel(), maxX, minY, minZ).color(red, green, blue, alpha).next();
-                bufferBuilder.vertex(matrixEntry.getModel(), maxX, maxY, minZ).color(red, green, blue, alpha).next();
-                bufferBuilder.vertex(matrixEntry.getModel(), maxX, maxY, maxZ).color(red, green, blue, alpha).next();
-                bufferBuilder.vertex(matrixEntry.getModel(), maxX, minY, maxZ).color(red, green, blue, alpha).next();
+                bufferBuilder.vertex(matrixEntry.getPositionMatrix(), maxX, minY, minZ).color(red, green, blue, alpha).next();
+                bufferBuilder.vertex(matrixEntry.getPositionMatrix(), maxX, maxY, minZ).color(red, green, blue, alpha).next();
+                bufferBuilder.vertex(matrixEntry.getPositionMatrix(), maxX, maxY, maxZ).color(red, green, blue, alpha).next();
+                bufferBuilder.vertex(matrixEntry.getPositionMatrix(), maxX, minY, maxZ).color(red, green, blue, alpha).next();
             }
         }
     }
@@ -108,14 +108,14 @@ public class RenderBatch {
         lineCount.getAndIncrement();
 
         lineBufferBuilder
-                .vertex(matrixEntry.getModel(),
+                .vertex(matrixEntry.getPositionMatrix(),
                         (float) startPoint.getX() - regionX,
                         (float) startPoint.getY(),
                         (float) startPoint.getZ() - regionZ)
                 .color(color.getRed(), color.getGreen(), color.getBlue(), alpha)
                 .next();
         lineBufferBuilder
-                .vertex(matrixEntry.getModel(),
+                .vertex(matrixEntry.getPositionMatrix(),
                         (float) endPoint.getX() - regionX,
                         (float) endPoint.getY(),
                         (float) endPoint.getZ() - regionZ)
index 28af6b0446bfae12028c21c5330baed6a63f3e88..a9b8710c8cef33fbd76a20cdf0bb77824c3103ff 100644 (file)
@@ -34,7 +34,7 @@ public class RenderHelper {
     }
 
     public static void beforeRenderFont(MatrixStack matrixStack, OffsetPoint offsetPoint) {
-        RenderSystem.assertThread(RenderSystem::isOnRenderThread);
+        RenderSystem.assertOnRenderThread();
         matrixStack.push();
         polygonModeFill();
         matrixStack.translate(offsetPoint.getX(), offsetPoint.getY() + 0.002D, offsetPoint.getZ());
@@ -52,7 +52,7 @@ public class RenderHelper {
     public static void afterRenderFont(MatrixStack matrixStack) {
         disableTexture();
         disableBlend();
-        RenderSystem.assertThread(RenderSystem::isOnRenderThread);
+        RenderSystem.assertOnRenderThread();
         matrixStack.pop();
         enableDepthTest();
     }
@@ -116,7 +116,7 @@ public class RenderHelper {
 //    }
 
     public static void lineWidth2() {
-        RenderSystem.assertThread(RenderSystem::isOnRenderThread);
+        RenderSystem.assertOnRenderThread();
         RenderSystem.lineWidth(2f);
     }
 
@@ -133,7 +133,7 @@ public class RenderHelper {
     }
 
     public static void enablePolygonOffsetLine() {
-        RenderSystem.assertThread(RenderSystem::isOnRenderThread);
+        RenderSystem.assertOnRenderThread();
         GL11.glEnable(GL11.GL_POLYGON_OFFSET_LINE);
     }
 
index 0a89f5bb2606db7273c667f377422a10c09678d9..aea5916e973628f64f468e0a0e3d0a1631c81969 100644 (file)
@@ -104,7 +104,7 @@ public class Renderer {
     }
 
     private void pos(double x, double y, double z) {
-        bufferBuilder.vertex(matrixStack.peek().getModel(), (float) x, (float) y, (float) z);
+        bufferBuilder.vertex(matrixStack.peek().getPositionMatrix(), (float) x, (float) y, (float) z);
     }
 
     private void tex(double u, double v) {
index 38850f8c4f35e9f1affe9358f6a90511588e27d0..98a747a55100f02c2f1f14677a0b30cfbe373dc3 100644 (file)
@@ -17,8 +17,8 @@ public class BoundingBoxType {
     public static final BoundingBoxType Beacon = register("Beacon");
     public static final BoundingBoxType Conduit = register("Conduit");
     public static final BoundingBoxType SpawnableBlocks = register("Spawnable Blocks");
-    public static final BoundingBoxType FlowerForest = register("Flower Forest");
-    public static final BoundingBoxType BedrockCeiling = register("Bedrock Ceiling");
+//    public static final BoundingBoxType FlowerForest = register("Flower Forest");
+//    public static final BoundingBoxType BedrockCeiling = register("Bedrock Ceiling");
 
     public static final BoundingBoxType JungleTemple = register("jungle_pyramid");
     public static final BoundingBoxType DesertTemple = register("desert_pyramid");
index daf57f7b3a4ca642340a0c1d494e7a4aebf7c454..f1681cec64f5d14e6ed38933224919d68caef74b 100644 (file)
@@ -29,11 +29,11 @@ class StructureProcessor {
         if (structureStart == null) return;
 
         try {
-            structureStart.setBoundingBoxFromChildren();
+            structureStart.getBoundingBox();
         } catch (Throwable ignored) {
         }
 
-        BlockBox bb = ((IStructureStart) structureStart).getBoundingBox();
+        BlockBox bb = ((IStructureStart) structureStart).getBoundingBox1();
         if (bb == null) return;
 
         AbstractBoundingBox boundingBox = buildStructure(bb, type);
index a4026066ecaf10e58031bdc4811e1b8cb5d2ac0a..fbdd3ce818958f1e3b63c1b9355368c5cf2fb3eb 100644 (file)
@@ -8,7 +8,7 @@ import org.spongepowered.asm.mixin.gen.Accessor;
 @Mixin(StructureStart.class)
 public interface IStructureStart {
 
-    @Accessor
-    BlockBox getBoundingBox();
+    @Accessor("boundingBox")
+    BlockBox getBoundingBox1();
 
 }
index 7bb80a0cb99d03f6bd7f8146e4e7719c4c440ee7..744e651a2af40bd4b63c8340798affcf8a2dc74b 100644 (file)
@@ -10,7 +10,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
 
 @Mixin(ChatScreen.class)
 public class MixinChatScreen {
-    @Inject(method = "keyPressed", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/MinecraftClient;openScreen(Lnet/minecraft/client/gui/screen/Screen;)V", shift = At.Shift.BEFORE), cancellable = true)
+    @Inject(method = "keyPressed", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/MinecraftClient;setScreen(Lnet/minecraft/client/gui/screen/Screen;)V", shift = At.Shift.BEFORE), cancellable = true)
     private void keyPressed(CallbackInfoReturnable<Boolean> cir) {
         if (MinecraftClient.getInstance().currentScreen instanceof ListScreen) {
             cir.setReturnValue(true);
index e0f63d01d95fa32ea29e834487f6bcc17d38b7e7..be6d28d261a021e2f5a88f05688f83c328acc0c6 100644 (file)
@@ -6,15 +6,14 @@ import org.spongepowered.asm.mixin.Final;
 import org.spongepowered.asm.mixin.Mixin;
 import org.spongepowered.asm.mixin.Shadow;
 
-import java.util.Map;
+import java.util.Set;
 
 @Mixin(KeyBinding.class)
 public class MixinKeyBinding {
-    @Final
-    @Shadow
-    private static Map<String, Integer> categoryOrderMap;
+
+    @Shadow @Final private static Set<String> KEY_CATEGORIES;
 
     static {
-        categoryOrderMap.put(KeyListener.Category, 0);
+        KEY_CATEGORIES.add(KeyListener.Category);
     }
 }
index 5906a339ebe80500b8b4a88e3508c3afd8ed1c3b..bc4bdbebc3710e70d3468c864ab2afea4238efd8 100644 (file)
@@ -9,8 +9,8 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
 
 @Mixin(WorldChunk.class)
 public class MixinChunk {
-    @Inject(method = "loadToWorld", at = @At("RETURN"))
-    private void onLoad(CallbackInfo ci) {
-        CommonInterop.chunkLoaded((WorldChunk) (Object) this);
+    @Inject(method = "setLoadedToWorld", at = @At("RETURN"))
+    private void onLoad(boolean loaded, CallbackInfo ci) {
+        if (loaded) CommonInterop.chunkLoaded((WorldChunk) (Object) this);
     }
 }
index 303001bb84685daa7cd41a8ad0b4a08a6b37a292..2074ef3175dd30e99d870531e12dc7a7f564a5cb 100644 (file)
@@ -1,3 +1,5 @@
 accessWidener v1 named
 
 accessible    class    net/minecraft/client/world/ClientChunkManager$ClientChunkMap
+
+extendable    class    net/minecraft/structure/StructureStart
index 19fd4b587694b127ba560f9044f943e813281460..87d7582e9a19b8bd18e75ea373a6880d18188ecf 100644 (file)
@@ -12,6 +12,6 @@
     "mixins.bbor.json"
   ],
   "depends": {
-    "minecraft": ">=1.17.1"
+    "minecraft": ">=1.18.1"
   }
 }