diff --git a/src/main/java/org/dimdev/dimdoors/world/level/Counter.java b/src/main/java/org/dimdev/dimdoors/world/level/Counter.java index 4bfa9007..0e061a62 100644 --- a/src/main/java/org/dimdev/dimdoors/world/level/Counter.java +++ b/src/main/java/org/dimdev/dimdoors/world/level/Counter.java @@ -1,41 +1,31 @@ package org.dimdev.dimdoors.world.level; -import dev.onyxstudios.cca.api.v3.component.ComponentV3; - +import dev.onyxstudios.cca.api.v3.item.ItemComponent; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.CompoundTag; -public class Counter implements ComponentV3 { - private final ItemStack stack; - private int counter; +public class Counter extends ItemComponent { public Counter(ItemStack stack) { - this.stack = stack; + super(stack); + if (!this.hasTag("counter")) + this.putInt("counter", 0); } public int increment() { - return this.counter++; + int counter = count(); + putInt("counter", counter + 1); + return counter; } public int count() { - return this.counter; + return getInt("counter"); } public void reset() { - this.counter = 0; + putInt("counter", 0); } public static Counter get(T provider) { return DimensionalDoorsComponents.COUNTER_COMPONENT_KEY.get(provider); } - - @Override - public void readFromNbt(CompoundTag tag) { - this.counter = tag.getInt("counter"); - } - - @Override - public void writeToNbt(CompoundTag tag) { - tag.putInt("counter", this.counter); - } } diff --git a/src/main/java/org/dimdev/dimdoors/world/level/DimensionalDoorsComponents.java b/src/main/java/org/dimdev/dimdoors/world/level/DimensionalDoorsComponents.java index 2c567188..d163afb6 100644 --- a/src/main/java/org/dimdev/dimdoors/world/level/DimensionalDoorsComponents.java +++ b/src/main/java/org/dimdev/dimdoors/world/level/DimensionalDoorsComponents.java @@ -22,6 +22,6 @@ public class DimensionalDoorsComponents implements LevelComponentInitializer, It @Override public void registerItemComponentFactories(ItemComponentFactoryRegistry registry) { - registry.registerFor(ModItems.RIFT_CONFIGURATION_TOOL, COUNTER_COMPONENT_KEY, Counter::new); + registry.register(ModItems.RIFT_CONFIGURATION_TOOL, COUNTER_COMPONENT_KEY, Counter::new); } }