From a7c6db56cb01f36c1eacefe6a2da52129d4bb65d Mon Sep 17 00:00:00 2001 From: Craig Date: Fri, 22 Dec 2023 15:28:46 +0000 Subject: [PATCH 1/2] - fixed bug where upgrade screen wouldn't update with new information - fixed issue where ars room one has no ars eggs, blocking progression --- .../client/screen/upgrades/UpgradeTab.java | 5 +- .../door/BulkHeadDoorBlockEntity.java | 25 ++++++--- .../capability/upgrades/UpgradeHandler.java | 2 +- .../tardis/TardisArchitectureHandler.java | 48 ++++++++++-------- .../registry/SoundRegistry.java | 1 + .../sounds/blocks/bulkhead_locked.ogg | Bin 0 -> 14143 bytes .../rooms/ars/room_ars_stage_one.nbt | Bin 52569 -> 52608 bytes .../735031f3addf80804addae5e3f53249900116f1e | 4 +- .../c622617f6fabf890a00b9275cd5f643584a8a2c8 | 4 +- .../assets/tardis_refined/sounds.json | 6 +++ .../common/data/SoundProvider.java | 1 + 11 files changed, 61 insertions(+), 35 deletions(-) create mode 100644 common/src/main/resources/assets/tardis_refined/sounds/blocks/bulkhead_locked.ogg diff --git a/common/src/main/java/whocraft/tardis_refined/client/screen/upgrades/UpgradeTab.java b/common/src/main/java/whocraft/tardis_refined/client/screen/upgrades/UpgradeTab.java index cc00b2e60..859b6cba2 100644 --- a/common/src/main/java/whocraft/tardis_refined/client/screen/upgrades/UpgradeTab.java +++ b/common/src/main/java/whocraft/tardis_refined/client/screen/upgrades/UpgradeTab.java @@ -5,6 +5,7 @@ import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.util.Mth; import net.minecraft.world.item.ItemStack; @@ -28,7 +29,6 @@ public class UpgradeTab { private final UpgradeTabType type; private final int index; public final UpgradeHandler upgradeHandler; - private final ItemStack icon; private final Component title; private final List entries = new ArrayList<>(); private final List connections = new ArrayList<>(); @@ -47,7 +47,6 @@ public UpgradeTab(Minecraft minecraft, UpgradesScreen UpgradesScreen, UpgradeTab this.type = tabType; this.index = i; this.upgradeHandler = powerHolder; - this.icon = new ItemStack(Items.COOKED_PORKCHOP); this.title = Component.literal(""); this.populate(powerHolder); } @@ -55,6 +54,8 @@ public UpgradeTab(Minecraft minecraft, UpgradesScreen UpgradesScreen, UpgradeTab public void populate(UpgradeHandler upgradeHandlerClient) { this.entries.clear(); this.connections.clear(); + CompoundTag newData = upgradeHandlerClient.saveData(new CompoundTag()); + this.upgradeHandler.loadData(newData); List root = new LinkedList<>(); // Create entry for each ability diff --git a/common/src/main/java/whocraft/tardis_refined/common/blockentity/door/BulkHeadDoorBlockEntity.java b/common/src/main/java/whocraft/tardis_refined/common/blockentity/door/BulkHeadDoorBlockEntity.java index 224d9f77b..e5f94ac82 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/blockentity/door/BulkHeadDoorBlockEntity.java +++ b/common/src/main/java/whocraft/tardis_refined/common/blockentity/door/BulkHeadDoorBlockEntity.java @@ -1,6 +1,7 @@ package whocraft.tardis_refined.common.blockentity.door; import net.minecraft.core.BlockPos; +import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; import net.minecraft.world.entity.player.Player; @@ -11,6 +12,10 @@ import net.minecraft.world.level.block.state.BlockState; import whocraft.tardis_refined.common.block.door.BulkHeadDoorBlock; import whocraft.tardis_refined.registry.BlockEntityRegistry; +import whocraft.tardis_refined.registry.SoundRegistry; + +import static whocraft.tardis_refined.common.block.door.BulkHeadDoorBlock.LOCKED; +import static whocraft.tardis_refined.common.block.door.BulkHeadDoorBlock.OPEN; public class BulkHeadDoorBlockEntity extends BlockEntity implements BlockEntityTicker { @@ -21,12 +26,8 @@ public BulkHeadDoorBlockEntity(BlockPos blockPos, BlockState blockState) { @Override public void tick(Level level, BlockPos blockPos, BlockState blockState, BulkHeadDoorBlockEntity blockEntity) { - if (!blockState.getValue(BulkHeadDoorBlock.LOCKED) && blockState.canSurvive(level, blockPos)) { - Player player = level.getNearestPlayer(blockPos.getX(), blockPos.getY(), blockPos.getZ(), 2.5f, false); - if (player != null) { - toggleDoor(level, blockPos, blockState, blockState.getValue(BulkHeadDoorBlock.OPEN)); - } - } + Player player = level.getNearestPlayer(blockPos.getX(), blockPos.getY(), blockPos.getZ(), 2.5f, false); toggleDoor(level, blockPos, blockState, player != null); + toggleDoor(level, blockPos, blockState, player != null); } /** @@ -38,8 +39,16 @@ public void tick(Level level, BlockPos blockPos, BlockState blockState, BulkHead * @param isOpen The current open state of the door. */ public void toggleDoor(Level level, BlockPos blockPos, BlockState blockState, boolean isOpen) { - level.playSound(null, blockPos, SoundEvents.PISTON_CONTRACT, SoundSource.BLOCKS, 1, 1); - level.setBlock(blockPos, blockState.setValue(BulkHeadDoorBlock.OPEN, isOpen), Block.UPDATE_CLIENTS); + + /* if(blockState.getValue(LOCKED) && !blockState.getValue(OPEN)){ + level.playSound(null, blockPos, SoundRegistry.BULKHEAD_LOCKED.get(), SoundSource.BLOCKS, 1, 1); + return; + }*/ + + if(level.getBlockState(blockPos).hasProperty(OPEN) && level.getBlockState(blockPos).getValue(OPEN) != isOpen) { + level.playSound(null, blockPos, !isOpen ? SoundEvents.PISTON_EXTEND : SoundEvents.PISTON_CONTRACT, SoundSource.BLOCKS, 1, 1); + } + level.setBlock(blockPos, blockState.setValue(OPEN, isOpen), Block.UPDATE_CLIENTS); } } diff --git a/common/src/main/java/whocraft/tardis_refined/common/capability/upgrades/UpgradeHandler.java b/common/src/main/java/whocraft/tardis_refined/common/capability/upgrades/UpgradeHandler.java index 3f23dde43..c2b0b0a77 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/capability/upgrades/UpgradeHandler.java +++ b/common/src/main/java/whocraft/tardis_refined/common/capability/upgrades/UpgradeHandler.java @@ -157,7 +157,7 @@ public void unlockUpgrade(Upgrade upgrade) { upgrade.onUnlocked(this.tardisLevelOperator, this); if(this.tardisLevelOperator.getLevel() instanceof ServerLevel serverLevel) { - generateArsTree(serverLevel); + generateArsTree(tardisLevelOperator, serverLevel); } TardisEvents.UPGRADE_UNLOCKED.invoker().onUpgradeUnlock(this.tardisLevelOperator, upgrade); diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/TardisArchitectureHandler.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/TardisArchitectureHandler.java index 402129f7c..fb0e18a15 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/tardis/TardisArchitectureHandler.java +++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/TardisArchitectureHandler.java @@ -16,7 +16,9 @@ import whocraft.tardis_refined.registry.BlockRegistry; import java.util.List; +import java.util.Objects; import java.util.Optional; +import java.util.function.Consumer; // Responsible for all the tedious generation of the desktop; public class TardisArchitectureHandler { @@ -25,12 +27,14 @@ public class TardisArchitectureHandler { public static final BlockPos CORRIDOR_ENTRY_POS = new BlockPos(1000, 100, 0); public static final int INTERIOR_SIZE = 150; + public static String currentArsStage = "one"; + public static void generateDesktop(ServerLevel operator, DesktopTheme theme) { TardisRefined.LOGGER.debug(String.format("Attempting to generate desktop theme: %s for TARDIS.", theme.getIdentifier())); // Fill the area out. BlockPos corner = new BlockPos(DESKTOP_CENTER_POS.getX() - INTERIOR_SIZE, operator.getMinBuildHeight() + 75, DESKTOP_CENTER_POS.getZ() - INTERIOR_SIZE); - BlockPos farCorner = new BlockPos(DESKTOP_CENTER_POS.getX() + INTERIOR_SIZE, operator.getMaxBuildHeight() -75, DESKTOP_CENTER_POS.getZ() + INTERIOR_SIZE); + BlockPos farCorner = new BlockPos(DESKTOP_CENTER_POS.getX() + INTERIOR_SIZE, operator.getMaxBuildHeight() - 75, DESKTOP_CENTER_POS.getZ() + INTERIOR_SIZE); for (BlockPos pos : BlockPos.betweenClosed(corner, farCorner)) { operator.removeBlock(pos, false); @@ -65,8 +69,8 @@ public static void buildAirlockEntranceFromStructure(StructureTemplate template, TardisLevelOperator.get(level).ifPresent(cap -> { Optional structureNBT = level.getLevel().getStructureManager().get(new ResourceLocation(TardisRefined.MODID, "corridors/airlock_entrance")); structureNBT.ifPresent(structure -> { - BlockPos offsetPosition = new BlockPos(3,2,0); - structure.placeInWorld(level.getLevel(), pos.subtract(offsetPosition) , pos.subtract(offsetPosition) , new StructurePlaceSettings(), level.getLevel().random, 3); + BlockPos offsetPosition = new BlockPos(3, 2, 0); + structure.placeInWorld(level.getLevel(), pos.subtract(offsetPosition), pos.subtract(offsetPosition), new StructurePlaceSettings(), level.getLevel().random, 3); cap.getInteriorManager().setCorridorAirlockCenter(pos.south(2)); level.setBlock(pos, level.getBlockState(pos).setValue(BulkHeadDoorBlock.LOCKED, false), 2); @@ -78,34 +82,38 @@ public static void buildAirlockEntranceFromStructure(StructureTemplate template, } } - public static void generateEssentialCorridors(ServerLevel operator) { + public static void generateEssentialCorridors(ServerLevel serverLevel) { // Generate corridor hub - Optional structureNBT = operator.getLevel().getStructureManager().get(new ResourceLocation(TardisRefined.MODID, "corridors/corridor_hub_roomless")); + Optional structureNBT = serverLevel.getLevel().getStructureManager().get(new ResourceLocation(TardisRefined.MODID, "corridors/corridor_hub_roomless")); structureNBT.ifPresent(structure -> { BlockPos offsetPosition = new BlockPos(13, 28, 5); - structure.placeInWorld(operator.getLevel(), CORRIDOR_ENTRY_POS.subtract(offsetPosition), CORRIDOR_ENTRY_POS.subtract(offsetPosition), new StructurePlaceSettings(), operator.getLevel().random, 3); + structure.placeInWorld(serverLevel.getLevel(), CORRIDOR_ENTRY_POS.subtract(offsetPosition), CORRIDOR_ENTRY_POS.subtract(offsetPosition), new StructurePlaceSettings(), serverLevel.getLevel().random, 3); }); - generateArsTree(operator); + TardisLevelOperator.get(serverLevel).ifPresent(tardisLevelOperator -> generateArsTree(tardisLevelOperator, serverLevel)); // Generate workshop. - structureNBT = operator.getLevel().getStructureManager().get(new ResourceLocation(TardisRefined.MODID, "rooms/workshop")); + structureNBT = serverLevel.getLevel().getStructureManager().get(new ResourceLocation(TardisRefined.MODID, "rooms/workshop")); structureNBT.ifPresent(structure -> { - BlockPos position = new BlockPos(977,99,9); - structure.placeInWorld(operator.getLevel(), position, position, new StructurePlaceSettings(), operator.getLevel().random, Block.UPDATE_ALL); + BlockPos position = new BlockPos(977, 99, 9); + structure.placeInWorld(serverLevel.getLevel(), position, position, new StructurePlaceSettings(), serverLevel.getLevel().random, Block.UPDATE_ALL); }); } - public static void generateArsTree(ServerLevel level) { - TardisLevelOperator.get(level).ifPresent(tardisLevelOperator -> { - Optional structureNBT = level.getLevel().getStructureManager().get(new ResourceLocation(TardisRefined.MODID, "rooms/ars/room_ars_stage_" + tardisLevelOperator.getUpgradeHandler().getProgressLevel())); - structureNBT.ifPresent(structure -> { - BlockPos position = new BlockPos(1011,97,3); - structure.placeInWorld(level.getLevel(), position, position, new StructurePlaceSettings(), level.getLevel().random, Block.UPDATE_ALL); - }); + public static void generateArsTree(TardisLevelOperator tardisLevelOperator, ServerLevel level) { + if (!currentArsStage.equals("one") && Objects.equals(tardisLevelOperator.getUpgradeHandler().getProgressLevel(), currentArsStage)) + return; + + currentArsStage = tardisLevelOperator.getUpgradeHandler().getProgressLevel(); + + Optional structureNBT = level.getLevel().getStructureManager().get(new ResourceLocation(TardisRefined.MODID, "rooms/ars/room_ars_stage_" + currentArsStage)); + structureNBT.ifPresent(structure -> { + BlockPos position = new BlockPos(1011, 97, 3); + structure.placeInWorld(level.getLevel(), position, position, new StructurePlaceSettings(), level.getLevel().random, Block.UPDATE_ALL); }); + } public static boolean setInteriorDoorFromStructure(StructureTemplate template, ServerLevel level) { @@ -114,7 +122,7 @@ public static boolean setInteriorDoorFromStructure(StructureTemplate template, S BlockPos maxPos = new BlockPos(minPos.getX() + template.getSize().getX(), minPos.getY() + template.getSize().getY(), minPos.getZ() + template.getSize().getZ() - ); + ); //First set the internal door to null so that we aren't caching the previous desktop's internal door TardisLevelOperator.get(level).ifPresent(cap -> cap.setInternalDoor(null)); @@ -129,7 +137,7 @@ public static boolean setInteriorDoorFromStructure(StructureTemplate template, S } public static BlockPos calculateArcOffset(StructureTemplate structureTemplate, BlockPos centerPos) { - return new BlockPos(centerPos.getX() - structureTemplate.getSize().getX() / 2, centerPos.getY() - structureTemplate.getSize().getY() / 2,centerPos.getZ() - structureTemplate.getSize().getZ() / 2); + return new BlockPos(centerPos.getX() - structureTemplate.getSize().getX() / 2, centerPos.getY() - structureTemplate.getSize().getY() / 2, centerPos.getZ() - structureTemplate.getSize().getZ() / 2); } - + } diff --git a/common/src/main/java/whocraft/tardis_refined/registry/SoundRegistry.java b/common/src/main/java/whocraft/tardis_refined/registry/SoundRegistry.java index 67bf412e4..46931e122 100644 --- a/common/src/main/java/whocraft/tardis_refined/registry/SoundRegistry.java +++ b/common/src/main/java/whocraft/tardis_refined/registry/SoundRegistry.java @@ -18,6 +18,7 @@ public class SoundRegistry { public static final RegistrySupplier STATIC = setUpSound("static"); public static final RegistrySupplier DESTINATION_DING = setUpSound("destination_ding"); public static final RegistrySupplier ARS_HUM = setUpSound("ars_hum"); + public static final RegistrySupplier BULKHEAD_LOCKED = setUpSound("bulkhead_locked"); public static final RegistrySupplier TEST_HUM = setUpSound("test_hum"); private static RegistrySupplier setUpSound(String soundName) { diff --git a/common/src/main/resources/assets/tardis_refined/sounds/blocks/bulkhead_locked.ogg b/common/src/main/resources/assets/tardis_refined/sounds/blocks/bulkhead_locked.ogg new file mode 100644 index 0000000000000000000000000000000000000000..848100ec1cba72a3cca119f9dd9d357e6f4cacff GIT binary patch literal 14143 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 Pe|{$H@$X*XFz$Z=VP#C6 literal 0 HcmV?d00001 diff --git a/common/src/main/resources/data/tardis_refined/structures/rooms/ars/room_ars_stage_one.nbt b/common/src/main/resources/data/tardis_refined/structures/rooms/ars/room_ars_stage_one.nbt index 27b9761ce19273c01be1ac47cca511aa8eab4987..20c33b7e0b0062c929cc7967ccb176c7b991a2a4 100644 GIT binary patch literal 52608 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 a(w_aSR;)|J8A`-s-`)3k>$_VP-ts>cQhDG2 diff --git a/forge/src/generated/resources/.cache/735031f3addf80804addae5e3f53249900116f1e b/forge/src/generated/resources/.cache/735031f3addf80804addae5e3f53249900116f1e index 015bf9536..996febf04 100644 --- a/forge/src/generated/resources/.cache/735031f3addf80804addae5e3f53249900116f1e +++ b/forge/src/generated/resources/.cache/735031f3addf80804addae5e3f53249900116f1e @@ -1,2 +1,2 @@ -// 1.20.2 2023-12-15T23:31:01.2684 Sound Definitions -af46e2a431d190adcb7142234979fa721ca75855 assets/tardis_refined/sounds.json +// 1.20.2 2023-12-22T14:44:08.8631383 Sound Definitions +4875e9832141aea2449ebba45177460bb6eed8a0 assets/tardis_refined/sounds.json diff --git a/forge/src/generated/resources/.cache/c622617f6fabf890a00b9275cd5f643584a8a2c8 b/forge/src/generated/resources/.cache/c622617f6fabf890a00b9275cd5f643584a8a2c8 index 3d66067d1..9b6e0698d 100644 --- a/forge/src/generated/resources/.cache/c622617f6fabf890a00b9275cd5f643584a8a2c8 +++ b/forge/src/generated/resources/.cache/c622617f6fabf890a00b9275cd5f643584a8a2c8 @@ -1,2 +1,2 @@ -// 1.20.2 2023-12-21T01:13:46.4354098 Languages: en_us -b3b6b26fd2fb1d1a118a3fda307b43f323efaf3b assets/tardis_refined/lang/en_us.json +// 1.20.2 2023-12-22T14:44:08.8611045 Languages: en_us +0afdb1f9c0785ed6cce4beba2ed9d9e69890bb98 assets/tardis_refined/lang/en_us.json diff --git a/forge/src/generated/resources/assets/tardis_refined/sounds.json b/forge/src/generated/resources/assets/tardis_refined/sounds.json index cda29666e..9c79cdebd 100644 --- a/forge/src/generated/resources/assets/tardis_refined/sounds.json +++ b/forge/src/generated/resources/assets/tardis_refined/sounds.json @@ -5,6 +5,12 @@ ], "subtitle": "sound.ars_hum.subtitle" }, + "bulkhead_locked": { + "sounds": [ + "tardis_refined:blocks/bulkhead_locked" + ], + "subtitle": "sound.bulkhead_locked.subtitle" + }, "destination_ding": { "sounds": [ "tardis_refined:tardis/destination_ding" diff --git a/forge/src/main/java/whocraft/tardis_refined/common/data/SoundProvider.java b/forge/src/main/java/whocraft/tardis_refined/common/data/SoundProvider.java index a3f6c880a..c4cff58d0 100644 --- a/forge/src/main/java/whocraft/tardis_refined/common/data/SoundProvider.java +++ b/forge/src/main/java/whocraft/tardis_refined/common/data/SoundProvider.java @@ -30,6 +30,7 @@ public void registerSounds() { add(SoundRegistry.STATIC.get(), basicSound("static", new ResourceLocation(TardisRefined.MODID, "ui/static"))); add(SoundRegistry.DESTINATION_DING.get(), basicSound("destination_ding", new ResourceLocation(TardisRefined.MODID, "tardis/destination_ding"))); add(SoundRegistry.ARS_HUM.get(), basicSound("ars_hum", new ResourceLocation(TardisRefined.MODID, "tardis/ars/ars_hum"))); + add(SoundRegistry.BULKHEAD_LOCKED.get(), basicSound("bulkhead_locked", new ResourceLocation(TardisRefined.MODID, "blocks/bulkhead_locked"))); add(SoundRegistry.TEST_HUM.get(), basicSound("test_hum", new ResourceLocation(TardisRefined.MODID, "tardis/test_hum"))); } From 93cfcb1af34e6ef3d2ef512c22145df560b46a43 Mon Sep 17 00:00:00 2001 From: Craig Date: Tue, 26 Dec 2023 11:47:18 +0000 Subject: [PATCH 2/2] Potentially fixed issue where terraformer sometimes did not operate --- .../common/block/device/TerraformerBlock.java | 15 +++++++++------ .../blockentity/shell/ShellBaseBlockEntity.java | 6 ++---- .../tardis/manager/TardisInteriorManager.java | 2 +- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/common/src/main/java/whocraft/tardis_refined/common/block/device/TerraformerBlock.java b/common/src/main/java/whocraft/tardis_refined/common/block/device/TerraformerBlock.java index 33fd17812..0d18e1ca7 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/block/device/TerraformerBlock.java +++ b/common/src/main/java/whocraft/tardis_refined/common/block/device/TerraformerBlock.java @@ -20,6 +20,7 @@ import org.jetbrains.annotations.NotNull; import whocraft.tardis_refined.common.capability.TardisLevelOperator; import whocraft.tardis_refined.common.tardis.TardisDesktops; +import whocraft.tardis_refined.common.tardis.manager.TardisInteriorManager; import whocraft.tardis_refined.registry.DimensionTypes; import java.util.stream.Stream; @@ -85,13 +86,14 @@ public void onPlace(BlockState blockState, Level level, BlockPos blockPos, Block if (level instanceof ServerLevel serverLevel) { if (checkIfStructure(serverLevel, blockPos)) { TardisLevelOperator.get(serverLevel).ifPresent(cap -> { - if (cap.getInteriorManager().isWaitingToGenerate()) { + TardisInteriorManager interiorManager = cap.getInteriorManager(); + if (interiorManager.isWaitingToGenerate()) { level.destroyBlock(blockPos, true); } else { - if (cap.getInteriorManager().isCave()) { - cap.getInteriorManager().prepareDesktop(TardisDesktops.FACTORY_THEME); + if (interiorManager.isCave()) { + interiorManager.prepareDesktop(TardisDesktops.FACTORY_THEME); destroyStructure(serverLevel, blockPos); - serverLevel.setBlock(blockPos, blockState.setValue(ACTIVE, true), 3); + serverLevel.setBlock(blockPos, blockState.setValue(ACTIVE, true), Block.UPDATE_ALL); } } }); @@ -121,8 +123,9 @@ public void onRemove(BlockState blockState, Level level, BlockPos blockPos, Bloc if (level instanceof ServerLevel serverLevel) { if (blockState.getValue(ACTIVE)) { TardisLevelOperator.get(serverLevel).ifPresent(cap -> { - if (cap.getInteriorManager().isWaitingToGenerate()) { - cap.getInteriorManager().cancelDesktopChange(); + TardisInteriorManager interiorManager = cap.getInteriorManager(); + if (interiorManager.isWaitingToGenerate()) { + interiorManager.cancelDesktopChange(); } }); } diff --git a/common/src/main/java/whocraft/tardis_refined/common/blockentity/shell/ShellBaseBlockEntity.java b/common/src/main/java/whocraft/tardis_refined/common/blockentity/shell/ShellBaseBlockEntity.java index 9ddf37b81..1b0faf53f 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/blockentity/shell/ShellBaseBlockEntity.java +++ b/common/src/main/java/whocraft/tardis_refined/common/blockentity/shell/ShellBaseBlockEntity.java @@ -67,6 +67,7 @@ public CompoundTag getUpdateTag() { protected void saveAdditional(CompoundTag pTag) { if (this.TARDIS_ID == null) { TardisRefined.LOGGER.error("Error in saveAdditional: null Tardis ID (could this be an invalid block?) [" + this.getBlockPos().toShortString() + "]"); + return; } super.saveAdditional(pTag); @@ -81,10 +82,7 @@ public ClientboundBlockEntityDataPacket getUpdatePacket() { public boolean shouldSetup() { if (!this.level.isClientSide()) { - if (this.TARDIS_ID != null) { - return false; - } - return true; + return this.TARDIS_ID == null; } return false; } diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/TardisInteriorManager.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/TardisInteriorManager.java index a01e3f1b5..f9fcacbb7 100644 --- a/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/TardisInteriorManager.java +++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/TardisInteriorManager.java @@ -284,7 +284,6 @@ public boolean isInAirlock(LivingEntity livingEntity) { } public void generateDesktop(DesktopTheme theme) { - setCurrentTheme(theme); if (operator.getLevel() instanceof ServerLevel serverLevel) { @@ -302,6 +301,7 @@ public void generateDesktop(DesktopTheme theme) { // Generate Desktop Interior TardisArchitectureHandler.generateDesktop(serverLevel, theme); + setCurrentTheme(theme); } }