Add DamageType RegistryEvent (#11783)

This commit is contained in:
Chaosdave34
2024-12-28 00:13:27 +01:00
committed by GitHub
parent 4b893907f6
commit 5c7537cb5c
10 changed files with 295 additions and 9 deletions

View File

@@ -0,0 +1,39 @@
package io.papermc.paper;
import net.kyori.adventure.util.Services;
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);
}