From 81e0d733f76cf55ce430b7c5bbdad4190c98f3a0 Mon Sep 17 00:00:00 2001 From: gnembon Date: Tue, 21 Jan 2020 01:56:56 -0400 Subject: [PATCH] merging structures to 1.15 --- src/main/java/carpet/helpers/FeatureGenerator.java | 2 +- .../java/carpet/mixins/StructureFeatureMixin.java | 11 ++++------- src/main/java/carpet/script/CarpetExpression.java | 4 ++-- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/src/main/java/carpet/helpers/FeatureGenerator.java b/src/main/java/carpet/helpers/FeatureGenerator.java index 63cbcb93..7d655625 100644 --- a/src/main/java/carpet/helpers/FeatureGenerator.java +++ b/src/main/java/carpet/helpers/FeatureGenerator.java @@ -134,7 +134,7 @@ public class FeatureGenerator } public static void noop() {System.out.println("boo");} - public static Boolean gridStructure(String name, World world, BlockPos pos) + public static Boolean gridStructure(String name, ServerWorld world, BlockPos pos) { if (gridMap.containsKey(name)) return gridMap.get(name).plop(world, pos); diff --git a/src/main/java/carpet/mixins/StructureFeatureMixin.java b/src/main/java/carpet/mixins/StructureFeatureMixin.java index deb70aa7..e54c17a3 100644 --- a/src/main/java/carpet/mixins/StructureFeatureMixin.java +++ b/src/main/java/carpet/mixins/StructureFeatureMixin.java @@ -37,15 +37,15 @@ public abstract class StructureFeatureMixin implements StructureFeatureInterface { return plopAnywhere(world, pos, world.getChunkManager().getChunkGenerator(), false); } - @Override - public boolean plopAnywhere(ServerWorld world, BlockPos pos, ChunkGenerator generator) + @Override public boolean gridAnywhere(ServerWorld world, BlockPos pos) { return plopAnywhere(world, pos, world.getChunkManager().getChunkGenerator(), true); } - public boolean plopAnywhere(IWorld world, BlockPos pos, ChunkGenerator generator, boolean wireOnly) + @Override + public boolean plopAnywhere(ServerWorld world, BlockPos pos, ChunkGenerator generator, boolean wireOnly) { if (world.isClient()) return false; @@ -68,10 +68,7 @@ public abstract class StructureFeatureMixin implements StructureFeatureInterface BlockBox box = structurestart.getBoundingBox(); if (!wireOnly) { - structurestart.generateStructure( - world, - generator, - rand, + structurestart.generateStructure(world, generator, rand, new BlockBox( pos.getX() - this.getRadius() * 16, pos.getZ() - this.getRadius() * 16, diff --git a/src/main/java/carpet/script/CarpetExpression.java b/src/main/java/carpet/script/CarpetExpression.java index c4824920..b06f8dbe 100644 --- a/src/main/java/carpet/script/CarpetExpression.java +++ b/src/main/java/carpet/script/CarpetExpression.java @@ -1481,7 +1481,7 @@ public class CarpetExpression String structureName = FeatureGenerator.buildingToStructure.get(simpleStructureName); Value[] result = new Value[]{Value.NULL}; - ((CarpetContext) c).s.getMinecraftServer().executeSync(() -> + ((CarpetContext) c).s.getMinecraftServer().submitAndJoin(() -> { Map structures = world.getChunk(pos).getStructureStarts(); if (lv.size() == locator.offset + 1) @@ -1502,7 +1502,7 @@ public class CarpetExpression } StructureStart start = structures.get(structureName); ChunkPos structureChunkPos = new ChunkPos(start.getChunkX(), start.getChunkZ()); - MutableIntBoundingBox box = start.getBoundingBox(); + BlockBox box = start.getBoundingBox(); for (int chx = box.minX / 16; chx <= box.maxX / 16; chx++) { for (int chz = box.minZ / 16; chz <= box.maxZ / 16; chz++)