Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.rbs.slurpiesdongles.events;
- import com.rbs.slurpiesdongles.Reference;
- import net.minecraft.util.EnumFacing;
- import net.minecraft.util.ResourceLocation;
- import net.minecraftforge.common.capabilities.Capability;
- import net.minecraftforge.common.capabilities.CapabilityInject;
- import net.minecraftforge.common.capabilities.ICapabilityProvider;
- import javax.annotation.Nullable;
- /**
- * Created by RedBu on 3/4/2017.
- */
- public class Timers {
- @CapabilityInject(Timers.class)
- public static final Capability<Timers> CAPABILITY = null;
- public static final ResourceLocation NAME = new ResourceLocation(Reference.MOD_ID, "timers");
- private final Timer repair = new Timer();
- public void tick() {
- if (repair.shouldUpdate) {
- repair.tickCount++;
- repair.shouldUpdate = false;
- }
- }
- public void activateRepair()
- {
- repair.shouldUpdate = true;
- }
- public boolean canRepair() {
- if (repair.tickCount >= 19) {
- repair.tickCount = 0;
- repair.shouldUpdate = false;
- return true;
- }
- return false;
- }
- public static class Provider implements ICapabilityProvider
- {
- private final Timers capInstance = new Timers();
- @Override
- public boolean hasCapability(Capability<?> capability, @Nullable EnumFacing facing)
- {
- return capability == CAPABILITY;
- }
- @Override
- public <T> T getCapability(Capability<T> capability, @Nullable EnumFacing facing)
- {
- if (capability == CAPABILITY)
- return CAPABILITY.cast(capInstance);
- else return null;
- }
- }
- private static class Timer
- {
- public int tickCount = 0;
- public boolean shouldUpdate = false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement