superb-warfare/src/main/java/com/atsuishio/superbwarfare/capability/laser/LaserCapability.java
2025-03-26 04:35:32 +08:00

51 lines
1.3 KiB
Java

package com.atsuishio.superbwarfare.capability.laser;
import net.minecraft.core.HolderLookup;
import net.minecraft.nbt.CompoundTag;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.UnknownNullability;
public class LaserCapability {
public LaserHandler laserHandler;
public void init(LaserHandler handler) {
this.laserHandler = handler;
}
public void start() {
this.laserHandler.start();
}
public void tick() {
}
public void stop() {
if (this.laserHandler != null) {
this.laserHandler.stop();
}
}
public void end() {
if (this.laserHandler != null) {
this.laserHandler.end();
}
}
public @UnknownNullability CompoundTag serializeNBT(HolderLookup.@NotNull Provider provider) {
CompoundTag tag = new CompoundTag();
if (this.laserHandler != null) {
tag.put("Laser", this.laserHandler.writeNBT());
}
return tag;
}
public void deserializeNBT(HolderLookup.@NotNull Provider provider, @NotNull CompoundTag compoundTag) {
if (compoundTag.contains("Laser") && this.laserHandler != null) {
this.laserHandler.readNBT(compoundTag.getCompound("Laser"));
}
}
}