Update visual fire handling with TriState support (#12303)
Replaced the Boolean-based visual fire system with TriState for improved clarity and flexibility, enabling three distinct states: TRUE, FALSE, and NOT_SET. Deprecated older methods in favor of new ones and updated internal handling to reflect these changes. Adjusted serialization and deserialization logic to accommodate the new TriState implementation.
This commit is contained in:
@@ -13,6 +13,7 @@ import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import io.papermc.paper.entity.LookAnchor;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import net.kyori.adventure.util.TriState;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.nbt.Tag;
|
||||
import net.minecraft.network.chat.Component;
|
||||
@@ -395,13 +396,25 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public void setVisualFire(boolean fire) {
|
||||
this.getHandle().hasVisualFire = fire;
|
||||
setVisualFire(fire ? TriState.TRUE : TriState.NOT_SET);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVisualFire(final TriState fire) {
|
||||
Preconditions.checkArgument(fire != null, "TriState cannot be null");
|
||||
this.getHandle().visualFire = fire;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isVisualFire() {
|
||||
return this.getHandle().hasVisualFire;
|
||||
return getVisualFire().toBooleanOrElse(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TriState getVisualFire() {
|
||||
return this.getHandle().visualFire;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user