mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-28 15:30:19 +01:00
dc684c60d1
The new behavior of disconnect to block the current thread until the disconnect succeeded is better than throwing it off to happen at some point
31 lines
1.4 KiB
Diff
31 lines
1.4 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
|
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();
|
|
|