mirror of
				https://github.com/SquidDev-CC/CC-Tweaked
				synced 2025-10-31 13:42:59 +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:
		| @@ -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); | ||||
|     } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 SquidDev
					SquidDev