Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.creepinson.capability;
- import net.minecraft.nbt.NBTBase;
- import net.minecraft.util.EnumFacing;
- import net.minecraftforge.common.capabilities.Capability;
- import net.minecraftforge.common.capabilities.CapabilityInject;
- import net.minecraftforge.common.capabilities.ICapabilitySerializable;
- public class RobotProvider implements ICapabilitySerializable<NBTBase>
- {
- @CapabilityInject(IRobot.class)
- public static final Capability<IRobot> ROBOT_CAPABILITY = null;
- private IRobot instance = ROBOT_CAPABILITY.getDefaultInstance();
- @Override
- public boolean hasCapability(Capability<?> capability, EnumFacing facing)
- {
- return capability == ROBOT_CAPABILITY;
- }
- @Override
- public <T> T getCapability(Capability<T> capability, EnumFacing facing)
- {
- return capability == ROBOT_CAPABILITY ? ROBOT_CAPABILITY.<T> cast(this.instance) : null;
- }
- @Override
- public NBTBase serializeNBT()
- {
- return ROBOT_CAPABILITY.getStorage().writeNBT(ROBOT_CAPABILITY, this.instance, null);
- }
- @Override
- public void deserializeNBT(NBTBase nbt)
- {
- ROBOT_CAPABILITY.getStorage().readNBT(ROBOT_CAPABILITY, this.instance, null, nbt);
- }
- }
Add Comment
Please, Sign In to add comment