diff options
Diffstat (limited to 'patches/server/0915-Add-Structure-check-API.patch')
-rw-r--r-- | patches/server/0915-Add-Structure-check-API.patch | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/patches/server/0915-Add-Structure-check-API.patch b/patches/server/0915-Add-Structure-check-API.patch new file mode 100644 index 0000000000..93eeb5ef48 --- /dev/null +++ b/patches/server/0915-Add-Structure-check-API.patch @@ -0,0 +1,31 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jake Potrebic <[email protected]> +Date: Mon, 27 Mar 2023 10:20:00 -0700 +Subject: [PATCH] Add Structure check API + + +diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +index 202470633343add6768caa000bda05a0b5d93f4e..b3bc35956228a997a88d4af2f7b5810f1c09d5b8 100644 +--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java ++++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +@@ -236,6 +236,20 @@ public class CraftWorld extends CraftRegionAccessor implements World { + }; + } + // Paper end ++ // Paper start - structure check API ++ @Override ++ public boolean hasStructureAt(final io.papermc.paper.math.Position position, final Structure structure) { ++ net.minecraft.world.level.levelgen.structure.Structure vanillaStructure = this.world.registryAccess() ++ .registryOrThrow(net.minecraft.core.registries.Registries.STRUCTURE) ++ .getHolder(CraftNamespacedKey.toMinecraft(structure.getStructureType().getKey())) ++ .orElseThrow() ++ .value(); ++ return this.world.structureManager().getStructureWithPieceAt( ++ io.papermc.paper.util.MCUtil.toBlockPos(position), ++ vanillaStructure ++ ).isValid(); ++ } ++ // Paper end + + private static final Random rand = new Random(); + |