#1004: Improve field rename handling and centralize conversion between bukkit and string more

By: DerFrZocker <derrieple@gmail.com>
This commit is contained in:
Bukkit/Spigot
2024-05-04 08:19:04 +10:00
parent a3c30e3ee2
commit 92293c1b89
5 changed files with 44 additions and 6 deletions

View File

@@ -4,8 +4,10 @@ import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableMap;
import java.util.Map;
import java.util.NoSuchElementException;
import org.bukkit.Bukkit;
import org.bukkit.Color;
import org.bukkit.NamespacedKey;
import org.bukkit.Registry;
import org.bukkit.configuration.serialization.ConfigurationSerializable;
import org.bukkit.configuration.serialization.SerializableAs;
import org.bukkit.entity.LivingEntity;
@@ -110,9 +112,8 @@ public class PotionEffect implements ConfigurationSerializable {
@NotNull
private static PotionEffectType getEffectType(@NotNull Map<?, ?> map) {
PotionEffectType effect;
if (map.get(TYPE) instanceof String) {
String type = (String) map.get(TYPE);
effect = PotionEffectType.getByKey(NamespacedKey.fromString(type));
if (map.get(TYPE) instanceof String value) {
effect = Bukkit.getUnsafe().get(Registry.EFFECT, NamespacedKey.fromString(value));
} else {
int type = getInt(map, TYPE);
effect = PotionEffectType.getById(type);