From 3baa08c9f4363303fd8ad35e3f7a210d9bffb11a Mon Sep 17 00:00:00 2001 From: Maxim Date: Sat, 4 Mar 2023 14:56:54 +0100 Subject: Fix space project upgrades not working (#1783) * Fix upgrade requirements being always wrong/causing NPE * Fix unlock command only unlocking unstarted projects * Fixed upgrades never finishing * Fixed upgrades not loading * Delete upgrade being build if finished * Fix built upgrades not being loaded * Address review * Addressed new reviews --- .../gregtech/common/misc/spaceprojects/commands/SPM_Command.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/main/java/gregtech/common/misc/spaceprojects/commands') diff --git a/src/main/java/gregtech/common/misc/spaceprojects/commands/SPM_Command.java b/src/main/java/gregtech/common/misc/spaceprojects/commands/SPM_Command.java index c7346319a9..59f7a2dd13 100644 --- a/src/main/java/gregtech/common/misc/spaceprojects/commands/SPM_Command.java +++ b/src/main/java/gregtech/common/misc/spaceprojects/commands/SPM_Command.java @@ -190,10 +190,12 @@ public class SPM_Command extends CommandBase { private void processUnlock(ICommandSender sender, String projectName, String location, String playerName) { UUID tID = SpaceProjectManager.getPlayerUUIDFromName(playerName); - ISpaceProject tProject = SpaceProjectManager.getProject(projectName); + ISpaceProject tProject = SpaceProjectManager.getTeamProjectOrCopy(tID, projectName, getLocation(location)); if (tProject != null) { tProject.setProjectCurrentStage(tProject.getTotalStages()); - SpaceProjectManager.addTeamProject(tID, getLocation(location), projectName, tProject); + if (!SpaceProjectManager.teamHasProject(tID, tProject)) { + SpaceProjectManager.addTeamProject(tID, getLocation(location), projectName, tProject); + } sender.addChatMessage(new ChatComponentText("Project unlocked")); } else { sender.addChatMessage(new ChatComponentText("Incorrect internal project name. Try again")); -- cgit