diff --git a/src/main/java/dan200/computercraft/shared/turtle/core/TurtleBrain.java b/src/main/java/dan200/computercraft/shared/turtle/core/TurtleBrain.java index fb7c5c8d4..b70d410b1 100644 --- a/src/main/java/dan200/computercraft/shared/turtle/core/TurtleBrain.java +++ b/src/main/java/dan200/computercraft/shared/turtle/core/TurtleBrain.java @@ -624,7 +624,11 @@ public void setUpgrade( @Nonnull TurtleSide side, ITurtleUpgrade upgrade ) // This is a separate function to avoid updating the block when reading the NBT. We don't need to do this as // either the block is newly placed (and so won't have changed) or is being updated with /data, which calls // updateBlock for us. - if( owner.getLevel() != null ) owner.updateBlock(); + if( owner.getLevel() != null ) + { + owner.updateBlock(); + owner.updateInput(); + } } private boolean setUpgradeDirect( @Nonnull TurtleSide side, ITurtleUpgrade upgrade ) diff --git a/src/test/java/dan200/computercraft/ingame/TurtleTest.kt b/src/test/java/dan200/computercraft/ingame/TurtleTest.kt index 3672d9b89..4788370a3 100644 --- a/src/test/java/dan200/computercraft/ingame/TurtleTest.kt +++ b/src/test/java/dan200/computercraft/ingame/TurtleTest.kt @@ -5,7 +5,7 @@ import dan200.computercraft.ingame.api.checkComputerOk class TurtleTest { - @GameTest(required = false) + @GameTest suspend fun `Unequip refreshes peripheral`(context: TestContext) = context.checkComputerOk(1) /**