mirror of
https://github.com/SquidDev-CC/CC-Tweaked
synced 2025-02-11 00:20:05 +00:00
Cache turtle family within the tile
This means one can call .getFamily() in a thread-safe manner, ensuring turtle.getFuelLimit() does not cause issues. As we use a specialist TE class for each family this does not require any specialist caching.
This commit is contained in:
parent
c9b0894f26
commit
ca7fb8a0b4
@ -71,14 +71,21 @@ public class TileTurtle extends TileComputerBase
|
||||
private boolean m_inventoryChanged;
|
||||
private TurtleBrain m_brain;
|
||||
private MoveState m_moveState;
|
||||
private ComputerFamily m_family;
|
||||
|
||||
public TileTurtle()
|
||||
{
|
||||
this( ComputerFamily.Normal );
|
||||
}
|
||||
|
||||
public TileTurtle(ComputerFamily family)
|
||||
{
|
||||
m_inventory = NonNullList.withSize( INVENTORY_SIZE, ItemStack.EMPTY );
|
||||
m_previousInventory = NonNullList.withSize( INVENTORY_SIZE, ItemStack.EMPTY );
|
||||
m_inventoryChanged = false;
|
||||
m_brain = createBrain();
|
||||
m_moveState = MoveState.NOT_MOVED;
|
||||
m_family = family;
|
||||
}
|
||||
|
||||
public boolean hasMoved()
|
||||
@ -454,6 +461,13 @@ public class TileTurtle extends TileComputerBase
|
||||
return m_brain.getToolRenderAngle( side, f );
|
||||
}
|
||||
|
||||
// IComputerTile
|
||||
@Override
|
||||
public ComputerFamily getFamily()
|
||||
{
|
||||
return m_family;
|
||||
}
|
||||
|
||||
// IInventory
|
||||
|
||||
@Override
|
||||
|
@ -6,9 +6,12 @@
|
||||
|
||||
package dan200.computercraft.shared.turtle.blocks;
|
||||
|
||||
import dan200.computercraft.shared.computer.core.ComputerFamily;
|
||||
|
||||
public class TileTurtleAdvanced extends TileTurtle
|
||||
{
|
||||
public TileTurtleAdvanced()
|
||||
{
|
||||
super( ComputerFamily.Advanced);
|
||||
}
|
||||
}
|
||||
|
@ -6,9 +6,12 @@
|
||||
|
||||
package dan200.computercraft.shared.turtle.blocks;
|
||||
|
||||
import dan200.computercraft.shared.computer.core.ComputerFamily;
|
||||
|
||||
public class TileTurtleExpanded extends TileTurtle
|
||||
{
|
||||
public TileTurtleExpanded()
|
||||
{
|
||||
super( ComputerFamily.Normal);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user