1
0
mirror of https://github.com/SquidDev-CC/CC-Tweaked synced 2025-11-15 20:47:11 +00:00

A wee bit of a cleanup of the API

- Move some method over to defaulted methods
 - Use Objects rather than Preconditions
This commit is contained in:
SquidDev
2018-12-17 21:33:49 +00:00
parent 3537f49ced
commit 741ee447ca
38 changed files with 184 additions and 260 deletions

View File

@@ -7,14 +7,16 @@
package dan200.computercraft.shared.turtle.upgrades;
import dan200.computercraft.api.peripheral.IPeripheral;
import dan200.computercraft.api.turtle.*;
import dan200.computercraft.api.turtle.ITurtleAccess;
import dan200.computercraft.api.turtle.ITurtleUpgrade;
import dan200.computercraft.api.turtle.TurtleSide;
import dan200.computercraft.api.turtle.TurtleUpgradeType;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.block.model.IBakedModel;
import net.minecraft.client.renderer.block.model.ModelManager;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
@@ -61,14 +63,14 @@ public class TurtleCraftingTable implements ITurtleUpgrade
{
return "upgrade.minecraft:crafting_table.adjective";
}
@Nonnull
@Override
public TurtleUpgradeType getType()
{
return TurtleUpgradeType.Peripheral;
}
@Nonnull
@Override
public ItemStack getCraftingItem()
@@ -82,13 +84,6 @@ public class TurtleCraftingTable implements ITurtleUpgrade
return new CraftingTablePeripheral( turtle );
}
@Nonnull
@Override
public TurtleCommandResult useTool( @Nonnull ITurtleAccess turtle, @Nonnull TurtleSide side, @Nonnull TurtleVerb verb, @Nonnull EnumFacing dir )
{
return TurtleCommandResult.failure();
}
@SideOnly( Side.CLIENT )
private void loadModelLocations()
{

View File

@@ -8,7 +8,10 @@
package dan200.computercraft.shared.turtle.upgrades;
import dan200.computercraft.api.peripheral.IPeripheral;
import dan200.computercraft.api.turtle.*;
import dan200.computercraft.api.turtle.ITurtleAccess;
import dan200.computercraft.api.turtle.ITurtleUpgrade;
import dan200.computercraft.api.turtle.TurtleSide;
import dan200.computercraft.api.turtle.TurtleUpgradeType;
import dan200.computercraft.shared.peripheral.PeripheralType;
import dan200.computercraft.shared.peripheral.common.PeripheralItemFactory;
import dan200.computercraft.shared.peripheral.speaker.SpeakerPeripheral;
@@ -17,13 +20,13 @@ import net.minecraft.client.renderer.block.model.IBakedModel;
import net.minecraft.client.renderer.block.model.ModelManager;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import org.apache.commons.lang3.tuple.Pair;
import javax.annotation.Nonnull;
import javax.vecmath.Matrix4f;
@@ -34,7 +37,7 @@ public class TurtleSpeaker implements ITurtleUpgrade
// Members
ITurtleAccess m_turtle;
public Peripheral(ITurtleAccess turtle)
public Peripheral( ITurtleAccess turtle )
{
super();
m_turtle = turtle;
@@ -59,9 +62,9 @@ public class TurtleSpeaker implements ITurtleUpgrade
}
@Override
public boolean equals(IPeripheral other)
public boolean equals( IPeripheral other )
{
if (other instanceof Peripheral)
if( other instanceof Peripheral )
{
Peripheral otherPeripheral = (Peripheral) other;
return otherPeripheral.m_turtle == m_turtle;
@@ -124,14 +127,7 @@ public class TurtleSpeaker implements ITurtleUpgrade
@Override
public IPeripheral createPeripheral( @Nonnull ITurtleAccess turtle, @Nonnull TurtleSide side )
{
return new TurtleSpeaker.Peripheral(turtle);
}
@Nonnull
@Override
public TurtleCommandResult useTool( @Nonnull ITurtleAccess turtleAccess, @Nonnull TurtleSide turtleSide, @Nonnull TurtleVerb verb, @Nonnull EnumFacing direction )
{
return TurtleCommandResult.failure();
return new TurtleSpeaker.Peripheral( turtle );
}
@SideOnly( Side.CLIENT )
@@ -166,7 +162,7 @@ public class TurtleSpeaker implements ITurtleUpgrade
public void update( @Nonnull ITurtleAccess turtle, @Nonnull TurtleSide turtleSide )
{
IPeripheral turtlePeripheral = turtle.getPeripheral( turtleSide );
if ( turtlePeripheral instanceof Peripheral )
if( turtlePeripheral instanceof Peripheral )
{
Peripheral peripheral = (Peripheral) turtlePeripheral;
peripheral.update();

View File

@@ -7,7 +7,6 @@
package dan200.computercraft.shared.turtle.upgrades;
import dan200.computercraft.ComputerCraft;
import dan200.computercraft.api.peripheral.IPeripheral;
import dan200.computercraft.api.turtle.*;
import dan200.computercraft.api.turtle.event.TurtleAttackEvent;
import dan200.computercraft.api.turtle.event.TurtleBlockEvent;
@@ -94,12 +93,6 @@ public class TurtleTool implements ITurtleUpgrade
return m_item.copy();
}
@Override
public IPeripheral createPeripheral( @Nonnull ITurtleAccess turtle, @Nonnull TurtleSide side )
{
return null;
}
@Nonnull
@Override
@SideOnly( Side.CLIENT )