package com.austinv11.peripheralsplusplus.turtles; import com.austinv11.peripheralsplusplus.init.ModBlocks; import com.austinv11.peripheralsplusplus.reference.Reference; import com.austinv11.peripheralsplusplus.tiles.TileEntityNoteBlock; import dan200.computercraft.api.peripheral.IPeripheral; import dan200.computercraft.api.turtle.ITurtleAccess; import dan200.computercraft.api.turtle.ITurtleUpgrade; import dan200.computercraft.api.turtle.TurtleCommandResult; import dan200.computercraft.api.turtle.TurtleSide; import dan200.computercraft.api.turtle.TurtleUpgradeType; import dan200.computercraft.api.turtle.TurtleVerb; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; public class TurtleNoteBlock implements ITurtleUpgrade { @Override public int getUpgradeID() { return Reference.NOTE_BLOCK_UPGRADE; } @Override public String getUnlocalisedAdjective() { return Reference.MOD_ID.toLowerCase() + ".turtleUpgrade.note"; } @Override public TurtleUpgradeType getType() { return TurtleUpgradeType.Peripheral; } @Override public ItemStack getCraftingItem() { return new ItemStack(ModBlocks.noteBlock); } @Override public IPeripheral createPeripheral(ITurtleAccess turtle, TurtleSide side) { return new TileEntityNoteBlock(turtle); } @Override public TurtleCommandResult useTool(ITurtleAccess turtle, TurtleSide side, TurtleVerb verb, int direction) { return null; } @Override public IIcon getIcon(ITurtleAccess turtle, TurtleSide side) { return ModBlocks.noteBlock.getIcon(1, 0); } @Override public void update(ITurtleAccess turtle, TurtleSide side) { IPeripheral peripheral = turtle.getPeripheral(side); if (peripheral instanceof TileEntityNoteBlock) { ((TileEntityNoteBlock) peripheral).updateEntity(true); } } }