Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package de.mt.modules.rotary.blocks.tile;
- import javax.annotation.Nonnull;
- import javax.annotation.Nullable;
- import com.google.common.collect.ImmutableMap;
- import de.mt.MassiveTech;
- import de.mt.api.Constants;
- import net.minecraft.tileentity.TileEntity;
- import net.minecraft.util.EnumFacing;
- import net.minecraft.util.ResourceLocation;
- import net.minecraftforge.common.animation.Event;
- import net.minecraftforge.common.animation.ITimeValue;
- import net.minecraftforge.common.animation.TimeValues.VariableValue;
- import net.minecraftforge.common.capabilities.Capability;
- import net.minecraftforge.common.model.animation.CapabilityAnimation;
- import net.minecraftforge.common.model.animation.IAnimationStateMachine;
- public class TileShaft extends TileEntity
- {
- private VariableValue cycleLength = new VariableValue(4);
- @Nullable
- private IAnimationStateMachine asm = MassiveTech.proxy.load(new ResourceLocation(MassiveTech.ID, Constants.Shaft.ASMS), ImmutableMap.<String, ITimeValue>of(
- "cycle_length", cycleLength));
- public void click()
- {
- if(asm != null)
- {
- if (asm.currentState().equals("default"))
- asm.transition("moving");
- if (asm.currentState().equals("moving"))
- asm.transition("default");
- }
- }
- @Override
- public boolean hasFastRenderer()
- {
- return true;
- }
- @Override
- public boolean hasCapability(@Nonnull Capability<?> capability, @Nullable EnumFacing facing)
- {
- if(capability == CapabilityAnimation.ANIMATION_CAPABILITY) return true;
- return super.hasCapability(capability, facing);
- }
- @Override
- public <T> T getCapability(@Nonnull Capability<T> capability, @Nullable EnumFacing facing)
- {
- if(capability == CapabilityAnimation.ANIMATION_CAPABILITY) return CapabilityAnimation.ANIMATION_CAPABILITY.cast(asm);
- return super.getCapability(capability, facing);
- }
- public void handleEvents(float time, Iterable<Event> pastEvents)
- {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement