Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class ModTagProvider implements ICapabilitySerializable<FloatNBT>, IModTag {
- private float mod_tag;
- public ModTagProvider() {
- this.mod_tag = 0;
- }
- @Override
- public void set(float floatIn) { this.mod_tag = floatIn; }
- @Override
- public float get() {
- return this.mod_tag;
- }
- @CapabilityInject(IModTag.class)
- public static final Capability<IModTag> MOD_TAG = null;
- private LazyOptional<IModTag> instance = LazyOptional.of(MOD_TAG::getDefaultInstance);
- @Override
- public <T> LazyOptional<T> getCapability(Capability<T> cap, Direction side) {
- return cap == MOD_TAG ? instance.cast() : LazyOptional.empty();
- }
- @Override
- public FloatNBT serializeNBT() {
- return (FloatNBT) MOD_TAG.getStorage().writeNBT(
- MOD_TAG, instance.orElseThrow(
- () -> new IllegalArgumentException("LazyOptional cannot be empty!")),
- null);
- }
- @Override
- public void deserializeNBT(FloatNBT nbt) {
- MOD_TAG.getStorage().readNBT(
- MOD_TAG, instance.orElseThrow(
- () -> new IllegalArgumentException("LazyOptional cannot be empty!")),
- null, nbt);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement