1
0
mirror of https://github.com/SquidDev-CC/CC-Tweaked synced 2025-05-04 08:24:13 +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 abstract class BlockComputerBase extends BlockDirectional
if( tile instanceof TileComputerBase ) if( tile instanceof TileComputerBase )
{ {
TileComputerBase computer = (TileComputerBase) tile; 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 ) ); spawnAsEntity( world, pos, getItem( computer ) );
} }

View File

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

View File

@ -39,7 +39,7 @@ public abstract class ItemComputerBase extends ItemBlock implements IComputerIte
@Override @Override
public void addInformation( @Nonnull ItemStack stack, @Nullable World world, @Nonnull List<String> list, @Nonnull ITooltipFlag flag ) 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 ); int id = getComputerID( stack );
if( id >= 0 ) list.add( StringUtil.translateFormatted( "gui.computercraft.tooltip.computer_id", id ) ); if( id >= 0 ) list.add( StringUtil.translateFormatted( "gui.computercraft.tooltip.computer_id", id ) );

View File

@ -80,7 +80,7 @@ public class ItemDiskLegacy extends Item implements IMedia, IColouredItem
@Override @Override
public void addInformation( @Nonnull ItemStack stack, World world, List<String> list, ITooltipFlag flag ) 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 ); int id = getDiskID( stack );
if( id >= 0 ) list.add( StringUtil.translateFormatted( "gui.computercraft.tooltip.disk_id", id ) ); if( id >= 0 ) list.add( StringUtil.translateFormatted( "gui.computercraft.tooltip.disk_id", id ) );

View File

@ -211,7 +211,7 @@ public class ItemPocketComputer extends Item implements IComputerItem, IMedia, I
@Override @Override
public void addInformation( @Nonnull ItemStack stack, World world, List<String> list, ITooltipFlag flag ) 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 ); int id = getComputerID( stack );
if( id >= 0 ) list.add( StringUtil.translateFormatted( "gui.computercraft.tooltip.computer_id", id ) ); 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; package dan200.computercraft.shared.turtle.items;
import dan200.computercraft.ComputerCraft; import dan200.computercraft.ComputerCraft;
import dan200.computercraft.api.turtle.ITurtleAccess;
import dan200.computercraft.api.turtle.ITurtleUpgrade; import dan200.computercraft.api.turtle.ITurtleUpgrade;
import dan200.computercraft.api.turtle.TurtleSide; import dan200.computercraft.api.turtle.TurtleSide;
import dan200.computercraft.shared.computer.core.ComputerFamily; import dan200.computercraft.shared.computer.core.ComputerFamily;
@ -22,18 +23,13 @@ public final class TurtleItemFactory
@Nonnull @Nonnull
public static ItemStack create( ITurtleTile turtle ) public static ItemStack create( ITurtleTile turtle )
{ {
ITurtleUpgrade leftUpgrade = turtle.getAccess().getUpgrade( TurtleSide.Left ); ITurtleAccess access = turtle.getAccess();
ITurtleUpgrade rightUpgrade = turtle.getAccess().getUpgrade( TurtleSide.Right );
String label = turtle.getLabel(); return create(
if( label == null ) turtle.getComputerID(), turtle.getLabel(), turtle.getColour(), turtle.getFamily(),
{ access.getUpgrade( TurtleSide.Left ), access.getUpgrade( TurtleSide.Right ),
return create( -1, null, turtle.getColour(), turtle.getFamily(), leftUpgrade, rightUpgrade, 0, turtle.getOverlay() ); access.getFuelLevel(), turtle.getOverlay()
} );
int id = turtle.getComputerID();
int fuelLevel = turtle.getAccess().getFuelLevel();
return create( id, label, turtle.getColour(), turtle.getFamily(), leftUpgrade, rightUpgrade, fuelLevel, turtle.getOverlay() );
} }
@Nonnull @Nonnull

View File

@ -44,5 +44,5 @@ chat.computercraft.wired_modem.peripheral_disconnected=Perifer enhed "%s" koblet
# Misc tooltips # Misc tooltips
gui.computercraft.tooltip.copy=Kopier til udklipsholder gui.computercraft.tooltip.copy=Kopier til udklipsholder
gui.computercraft.tooltip.computer_id=(Computer-ID: %s) gui.computercraft.tooltip.computer_id=Computer-ID: %s
gui.computercraft.tooltip.disk_id=(Disk-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 # Misc tooltips
gui.computercraft.tooltip.copy=In die Zwischenablage kopieren gui.computercraft.tooltip.copy=In die Zwischenablage kopieren
gui.computercraft.tooltip.computer_id=(Computer ID: %s) gui.computercraft.tooltip.computer_id=Computer ID: %s
gui.computercraft.tooltip.disk_id=(Disketten ID: %s) gui.computercraft.tooltip.disk_id=Disketten ID: %s
# Config options # Config options
gui.computercraft:config.computer_space_limit=Speicherplatz von Computern (Bytes) 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 # Misc tooltips
gui.computercraft.tooltip.copy=Copy to clipboard gui.computercraft.tooltip.copy=Copy to clipboard
gui.computercraft.tooltip.computer_id=(Computer ID: %s) gui.computercraft.tooltip.computer_id=Computer ID: %s
gui.computercraft.tooltip.disk_id=(Disk ID: %s) gui.computercraft.tooltip.disk_id=Disk ID: %s
# Config options # Config options
gui.computercraft:config.computer_space_limit=Computer space limit (bytes) gui.computercraft:config.computer_space_limit=Computer space limit (bytes)

View File

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

View File

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