Co-authored-by: Bjarne Koll <git@lynxplay.dev> Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com> Co-authored-by: Lulu13022002 <41980282+Lulu13022002@users.noreply.github.com> Co-authored-by: MiniDigger | Martin <admin@minidigger.dev> Co-authored-by: Nassim Jahnke <nassim@njahnke.dev> Co-authored-by: Noah van der Aa <ndvdaa@gmail.com> Co-authored-by: Owen1212055 <23108066+Owen1212055@users.noreply.github.com> Co-authored-by: Shane Freeder <theboyetronic@gmail.com> Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com> Co-authored-by: Tamion <70228790+notTamion@users.noreply.github.com> Co-authored-by: Warrior <50800980+Warriorrrr@users.noreply.github.com>
50 lines
1.4 KiB
Java
50 lines
1.4 KiB
Java
package io.papermc.paper;
|
|
|
|
import net.kyori.adventure.util.Services;
|
|
import org.bukkit.block.Biome;
|
|
import org.bukkit.damage.DamageEffect;
|
|
import org.jetbrains.annotations.ApiStatus;
|
|
import org.jspecify.annotations.NullMarked;
|
|
|
|
/**
|
|
* Static bridge to the server internals.
|
|
* <p>
|
|
* Any and all methods in here are *not* to be called by plugin developers, may change at any time and may generally
|
|
* cause issues when called under unexpected circumstances.
|
|
*/
|
|
@ApiStatus.Internal
|
|
@NullMarked
|
|
public interface InternalAPIBridge {
|
|
|
|
/**
|
|
* Yields the instance of this API bridge by lazily requesting it from the java service loader API.
|
|
*
|
|
* @return the instance.
|
|
*/
|
|
static InternalAPIBridge get() {
|
|
class Holder {
|
|
public static final InternalAPIBridge INSTANCE = Services.service(InternalAPIBridge.class).orElseThrow();
|
|
}
|
|
|
|
return Holder.INSTANCE;
|
|
}
|
|
|
|
/**
|
|
* Creates a damage effect instance for the passed key.
|
|
*
|
|
* @param key the string key.
|
|
* @return the damage effect.
|
|
*/
|
|
DamageEffect getDamageEffect(String key);
|
|
|
|
/**
|
|
* Constructs the legacy custom biome instance for the biome enum.
|
|
*
|
|
* @return the created biome.
|
|
*/
|
|
@Deprecated(forRemoval = true, since = "1.21.5")
|
|
@ApiStatus.ScheduledForRemoval(inVersion = "1.22")
|
|
Biome constructLegacyCustomBiome();
|
|
}
|
|
|