diff --git a/src/main/java/org/spongepowered/common/data/provider/item/stack/PotionItemStackData.java b/src/main/java/org/spongepowered/common/data/provider/item/stack/PotionItemStackData.java index 98bc716e779..2f0edaca8d3 100644 --- a/src/main/java/org/spongepowered/common/data/provider/item/stack/PotionItemStackData.java +++ b/src/main/java/org/spongepowered/common/data/provider/item/stack/PotionItemStackData.java @@ -27,6 +27,7 @@ import com.google.common.collect.ImmutableList; import net.minecraft.core.Holder; import net.minecraft.core.component.DataComponents; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; @@ -72,7 +73,7 @@ public static void register(final DataProviderRegistrator registrator) { .create(Keys.POTION_TYPE) .get(h -> (PotionType) h.getOrDefault(DataComponents.POTION_CONTENTS, PotionContents.EMPTY).potion().map(Holder::value).orElse(null)) // TODO empty POTION gone? .set((h, v) -> { - final var potion = Optional.ofNullable(v).map(Potion.class::cast).map(Holder::direct); // TODO set empty POTION? same as delete? + final var potion = Optional.ofNullable(v).map(Potion.class::cast).map(BuiltInRegistries.POTION::wrapAsHolder); // TODO set empty POTION? same as delete? h.update(DataComponents.POTION_CONTENTS, PotionContents.EMPTY, contents -> new PotionContents(potion, contents.customColor(), contents.customEffects())); }) .delete(h -> h.update(DataComponents.POTION_CONTENTS, PotionContents.EMPTY, contents -> new PotionContents(Optional.empty(), contents.customColor(), contents.customEffects()))) diff --git a/src/main/java/org/spongepowered/common/effect/potion/SpongePotionBuilder.java b/src/main/java/org/spongepowered/common/effect/potion/SpongePotionBuilder.java index 773f8fb69a4..fd9739ef1a7 100644 --- a/src/main/java/org/spongepowered/common/effect/potion/SpongePotionBuilder.java +++ b/src/main/java/org/spongepowered/common/effect/potion/SpongePotionBuilder.java @@ -25,7 +25,7 @@ package org.spongepowered.common.effect.potion; -import net.minecraft.core.Holder; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.world.effect.MobEffect; import net.minecraft.world.effect.MobEffectInstance; import org.checkerframework.checker.nullness.qual.NonNull; @@ -148,7 +148,8 @@ public PotionEffect build() throws IllegalStateException { if (!this.duration.isInfinite() && this.duration.ticks() <= 0) { throw new IllegalStateException("Duration has not been set"); } - return (PotionEffect) new MobEffectInstance(Holder.direct((MobEffect) this.potionType), + + return (PotionEffect) new MobEffectInstance(BuiltInRegistries.MOB_EFFECT.wrapAsHolder((MobEffect) this.potionType), SpongeTicks.toSaturatedIntOrInfinite(this.duration), this.amplifier, this.isAmbient,