package com.austinv11.peripheralsplusplus.turtles; import com.austinv11.collectiveframework.minecraft.reference.ModIds; import com.austinv11.peripheralsplusplus.reference.Config; import com.austinv11.peripheralsplusplus.reference.Reference; import com.austinv11.peripheralsplusplus.turtles.peripherals.PeripheralBarrel; import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import dan200.computercraft.api.peripheral.IPeripheral; import dan200.computercraft.api.turtle.*; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; public class TurtleBarrel implements ITurtleUpgrade { @Override public int getUpgradeID() { return Reference.BARREL_UPGRADE; } @Override public String getUnlocalisedAdjective() { return "peripheralsplusplus.turtleUpgrade.barrel"; } @Override public TurtleUpgradeType getType() { return TurtleUpgradeType.Peripheral; } @Override public ItemStack getCraftingItem() { if (!Config.enableBarrelTurtle) return null; if (Loader.isModLoaded(ModIds.JABBA)) return new ItemStack(GameRegistry.findBlock(ModIds.JABBA, "barrel")); if (Loader.isModLoaded(ModIds.Factorization)) return new ItemStack(GameRegistry.findBlock(ModIds.Factorization, "dayBarrel")); return null; } @Override public IPeripheral createPeripheral(ITurtleAccess turtle, TurtleSide side) { return new PeripheralBarrel(turtle, side); } @Override public TurtleCommandResult useTool(ITurtleAccess turtle, TurtleSide side, TurtleVerb verb, int direction) { return null; } @SideOnly(Side.CLIENT) @Override public IIcon getIcon(ITurtleAccess turtle, TurtleSide side) { return Blocks.log.getIcon(2, 0); } @Override public void update(ITurtleAccess turtle, TurtleSide side) { IPeripheral peripheral = turtle.getPeripheral(side); if (peripheral instanceof PeripheralBarrel) { PeripheralBarrel barrel = (PeripheralBarrel) peripheral; if (barrel.changed) barrel.update(); } } }