Add Structure check API

This commit is contained in:
Jake Potrebic 2023-03-27 10:20:06 -07:00
parent 41ca517939
commit 94e488f80d

View file

@ -78,6 +78,30 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
*/
int getPlayerCount();
// Paper end
// Paper start - structure check API
/**
* Check if the naturally-generated structure exists at the position.
* <p>
* Note that if the position is not loaded, this may cause chunk loads/generation
* to check if a structure is at that position. Use {@link #isPositionLoaded(io.papermc.paper.math.Position)}
* to check if a position is loaded
*
* @param position the position to check at
* @param structure the structure to check for
* @return true if that structure exists at the position
*/
boolean hasStructureAt(io.papermc.paper.math.@NotNull Position position, @NotNull Structure structure);
/**
* Checks if this position is loaded.
*
* @param position position to check
* @return true if loaded
*/
default boolean isPositionLoaded(io.papermc.paper.math.@NotNull Position position) {
return this.isChunkLoaded(position.blockX() >> 4, position.blockZ() >> 4);
}
// Paper end
/**
* Gets the {@link Block} at the given coordinates