1
0
mirror of https://github.com/SquidDev-CC/CC-Tweaked synced 2024-06-23 13:43:22 +00:00

Merge pull request #437 from SquidDev-CC/feature/keep-ids

Preserve computer ids on unlabelled computers
This commit is contained in:
Jonathan Coates 2020-05-03 06:54:04 +01:00 committed by GitHub
commit 4553e404b2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 22 additions and 28 deletions

View File

@ -128,7 +128,7 @@ public boolean removedByPlayer( @Nonnull IBlockState state, World world, @Nonnul
if( tile instanceof TileComputerBase )
{
TileComputerBase computer = (TileComputerBase) tile;
if( !player.capabilities.isCreativeMode || computer.getLabel() != null )
if( !player.capabilities.isCreativeMode || computer.getLabel() != null || computer.getComputerID() != -1 )
{
spawnAsEntity( world, pos, getItem( computer ) );
}

View File

@ -19,9 +19,7 @@ private ComputerItemFactory() {}
@Nonnull
public static ItemStack create( TileComputer tile )
{
String label = tile.getLabel();
int id = label != null ? tile.getComputerID() : -1;
return create( id, label, tile.getFamily() );
return create( tile.getComputerID(), tile.getLabel(), tile.getFamily() );
}
@Nonnull

View File

@ -39,7 +39,7 @@ public final int getMetadata( int damage )
@Override
public void addInformation( @Nonnull ItemStack stack, @Nullable World world, @Nonnull List<String> list, @Nonnull ITooltipFlag flag )
{
if( flag.isAdvanced() )
if( flag.isAdvanced() || getLabel( stack ) == null )
{
int id = getComputerID( stack );
if( id >= 0 ) list.add( StringUtil.translateFormatted( "gui.computercraft.tooltip.computer_id", id ) );

View File

@ -80,7 +80,7 @@ protected void setDiskID( @Nonnull ItemStack stack, int id )
@Override
public void addInformation( @Nonnull ItemStack stack, World world, List<String> list, ITooltipFlag flag )
{
if( flag.isAdvanced() )
if( flag.isAdvanced() || getLabel( stack ) == null )
{
int id = getDiskID( stack );
if( id >= 0 ) list.add( StringUtil.translateFormatted( "gui.computercraft.tooltip.disk_id", id ) );

View File

@ -211,7 +211,7 @@ public String getItemStackDisplayName( @Nonnull ItemStack stack )
@Override
public void addInformation( @Nonnull ItemStack stack, World world, List<String> list, ITooltipFlag flag )
{
if( flag.isAdvanced() )
if( flag.isAdvanced() || getLabel( stack ) == null )
{
int id = getComputerID( stack );
if( id >= 0 ) list.add( StringUtil.translateFormatted( "gui.computercraft.tooltip.computer_id", id ) );

View File

@ -6,6 +6,7 @@
package dan200.computercraft.shared.turtle.items;
import dan200.computercraft.ComputerCraft;
import dan200.computercraft.api.turtle.ITurtleAccess;
import dan200.computercraft.api.turtle.ITurtleUpgrade;
import dan200.computercraft.api.turtle.TurtleSide;
import dan200.computercraft.shared.computer.core.ComputerFamily;
@ -22,18 +23,13 @@ private TurtleItemFactory() {}
@Nonnull
public static ItemStack create( ITurtleTile turtle )
{
ITurtleUpgrade leftUpgrade = turtle.getAccess().getUpgrade( TurtleSide.Left );
ITurtleUpgrade rightUpgrade = turtle.getAccess().getUpgrade( TurtleSide.Right );
ITurtleAccess access = turtle.getAccess();
String label = turtle.getLabel();
if( label == null )
{
return create( -1, null, turtle.getColour(), turtle.getFamily(), leftUpgrade, rightUpgrade, 0, turtle.getOverlay() );
}
int id = turtle.getComputerID();
int fuelLevel = turtle.getAccess().getFuelLevel();
return create( id, label, turtle.getColour(), turtle.getFamily(), leftUpgrade, rightUpgrade, fuelLevel, turtle.getOverlay() );
return create(
turtle.getComputerID(), turtle.getLabel(), turtle.getColour(), turtle.getFamily(),
access.getUpgrade( TurtleSide.Left ), access.getUpgrade( TurtleSide.Right ),
access.getFuelLevel(), turtle.getOverlay()
);
}
@Nonnull

View File

@ -44,5 +44,5 @@ chat.computercraft.wired_modem.peripheral_disconnected=Perifer enhed "%s" koblet
# Misc tooltips
gui.computercraft.tooltip.copy=Kopier til udklipsholder
gui.computercraft.tooltip.computer_id=(Computer-ID: %s)
gui.computercraft.tooltip.disk_id=(Disk-ID: %s)
gui.computercraft.tooltip.computer_id=Computer-ID: %s
gui.computercraft.tooltip.disk_id=Disk-ID: %s

View File

@ -148,8 +148,8 @@ tracking_field.computercraft.coroutines_dead.name=Koroutinen gelöscht
# Misc tooltips
gui.computercraft.tooltip.copy=In die Zwischenablage kopieren
gui.computercraft.tooltip.computer_id=(Computer ID: %s)
gui.computercraft.tooltip.disk_id=(Disketten ID: %s)
gui.computercraft.tooltip.computer_id=Computer ID: %s
gui.computercraft.tooltip.disk_id=Disketten ID: %s
# Config options
gui.computercraft:config.computer_space_limit=Speicherplatz von Computern (Bytes)

View File

@ -148,8 +148,8 @@ tracking_field.computercraft.coroutines_dead.name=Coroutines disposed
# Misc tooltips
gui.computercraft.tooltip.copy=Copy to clipboard
gui.computercraft.tooltip.computer_id=(Computer ID: %s)
gui.computercraft.tooltip.disk_id=(Disk ID: %s)
gui.computercraft.tooltip.computer_id=Computer ID: %s
gui.computercraft.tooltip.disk_id=Disk ID: %s
# Config options
gui.computercraft:config.computer_space_limit=Computer space limit (bytes)

View File

@ -148,8 +148,8 @@ tracking_field.computercraft.coroutines_dead.name=코루틴 처리됨
# Misc tooltips
gui.computercraft.tooltip.copy=클립보드에 복사
gui.computercraft.tooltip.computer_id=(컴퓨터 ID: %s)
gui.computercraft.tooltip.disk_id=(디스크 ID: %s)
gui.computercraft.tooltip.computer_id=컴퓨터 ID: %s
gui.computercraft.tooltip.disk_id=디스크 ID: %s
# Config options
gui.computercraft:config.computer_space_limit=컴퓨터 공간 제한 (바이트)

View File

@ -148,8 +148,8 @@ tracking_field.computercraft.coroutines_dead.name=协同处理
# Misc tooltips
gui.computercraft.tooltip.copy=复制到剪贴板
gui.computercraft.tooltip.computer_id=(计算机ID: %s)
gui.computercraft.tooltip.disk_id=(磁盘ID: %s)
gui.computercraft.tooltip.computer_id=计算机ID: %s
gui.computercraft.tooltip.disk_id=磁盘ID: %s
# Config options
gui.computercraft:config.computer_space_limit=计算机空间限制(字节)