diff --git a/projects/common/src/main/java/dan200/computercraft/shared/pocket/core/PocketBrain.java b/projects/common/src/main/java/dan200/computercraft/shared/pocket/core/PocketBrain.java index e6f477437..59ff5f0fd 100644 --- a/projects/common/src/main/java/dan200/computercraft/shared/pocket/core/PocketBrain.java +++ b/projects/common/src/main/java/dan200/computercraft/shared/pocket/core/PocketBrain.java @@ -44,11 +44,12 @@ public final class PocketBrain implements IPocketAccess { private int colour = -1; private int lightColour = -1; - public PocketBrain(PocketHolder holder, @Nullable UpgradeData upgrade, ServerComputer.Properties properties) { + public PocketBrain(PocketHolder holder, @Nullable UpgradeData upgrade, int colour, ServerComputer.Properties properties) { this.computer = new PocketServerComputer(this, holder, properties); this.holder = holder; this.position = holder.pos(); this.upgrade = UpgradeData.copyOf(upgrade); + this.colour = colour; invalidatePeripheral(); } diff --git a/projects/common/src/main/java/dan200/computercraft/shared/pocket/items/PocketComputerItem.java b/projects/common/src/main/java/dan200/computercraft/shared/pocket/items/PocketComputerItem.java index d58f29c3e..9d973e07c 100644 --- a/projects/common/src/main/java/dan200/computercraft/shared/pocket/items/PocketComputerItem.java +++ b/projects/common/src/main/java/dan200/computercraft/shared/pocket/items/PocketComputerItem.java @@ -272,7 +272,7 @@ public class PocketComputerItem extends Item implements IComputerItem, IColoured } var brain = new PocketBrain( - holder, getUpgradeWithData(stack), + holder, getUpgradeWithData(stack), getColour(stack), ServerComputer.properties(getComputerID(stack), getFamily()).label(getLabel(stack)) ); var computer = brain.computer(); @@ -314,10 +314,14 @@ public class PocketComputerItem extends Item implements IComputerItem, IColoured // item. However, if we've just crafted the computer with an upgrade, we should sync the other way, and update // the computer. var server = level.getServer(); - if (server != null) { - var computer = getServerComputer(server, stack); - if (computer != null) computer.getBrain().setUpgrade(getUpgradeWithData(stack)); - } + if (server == null) return; + + var computer = getServerComputer(server, stack); + if (computer == null) return; + + var brain = computer.getBrain(); + brain.setUpgrade(getUpgradeWithData(stack)); + brain.setColour(getColour(stack)); } // IComputerItem implementation