Skip to content

Commit a9d872a

Browse files
committed
chore: post-cherry-pick fixups
1 parent 818e81a commit a9d872a

File tree

2 files changed

+28
-24
lines changed

2 files changed

+28
-24
lines changed

common/src/main/java/dev/ftb/mods/ftbteams/FTBTeams.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@
2828
import org.apache.logging.log4j.Logger;
2929
import org.jetbrains.annotations.Nullable;
3030

31+
import java.io.IOException;
32+
3133
public class FTBTeams {
3234
public static final Logger LOGGER = LogManager.getLogger(FTBTeamsAPI.MOD_NAME);
3335

@@ -51,8 +53,12 @@ public FTBTeams() {
5153
private void serverAboutToStart(MinecraftServer server) {
5254
TeamManagerImpl.INSTANCE = new TeamManagerImpl(server);
5355
TeamManagerEvent.CREATED.invoker().accept(new TeamManagerEvent(TeamManagerImpl.INSTANCE));
54-
TeamManagerImpl.INSTANCE.load();
55-
}
56+
try {
57+
TeamManagerImpl.INSTANCE.load();
58+
} catch (IOException e) {
59+
FTBTeams.LOGGER.error("Load failure for ");
60+
}
61+
}
5662

5763
private void registerCommands(CommandDispatcher<CommandSourceStack> dispatcher, CommandBuildContext commandBuildContext, Commands.CommandSelection selection) {
5864
new FTBTeamsCommands().register(dispatcher);

common/src/main/java/dev/ftb/mods/ftbteams/data/TeamManagerImpl.java

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
import net.minecraft.nbt.CompoundTag;
2626
import net.minecraft.nbt.ListTag;
2727
import net.minecraft.nbt.StringTag;
28-
import net.minecraft.nbt.Tag;
2928
import net.minecraft.network.chat.Component;
3029
import net.minecraft.server.MinecraftServer;
3130
import net.minecraft.server.level.ServerPlayer;
@@ -140,46 +139,45 @@ public boolean arePlayersInSameTeam(UUID id1, UUID id2) {
140139
.orElse(false);
141140
}
142141

143-
public void load() {
142+
public void load() throws IOException {
144143
id = null;
145144
Path directory = server.getWorldPath(FOLDER_NAME);
146145

147146
if (Files.notExists(directory) || !Files.isDirectory(directory)) {
148147
return;
149148
}
150149

151-
CompoundTag dataFileTag = SNBT.read(directory.resolve("ftbteams.snbt"));
152-
153-
if (dataFileTag != null) {
154-
if (dataFileTag.contains("id")) {
155-
id = dataFileTag.read("id", UUIDUtil.CODEC).orElseThrow();
156-
}
150+
CompoundTag dataFileTag = SNBT.tryRead(directory.resolve("ftbteams.snbt"));
151+
if (dataFileTag.contains("id")) {
152+
id = dataFileTag.read("id", UUIDUtil.CODEC).orElseThrow();
153+
}
157154

158-
extraData = dataFileTag.getCompoundOrEmpty("extra");
159-
TeamManagerEvent.LOADED.invoker().accept(new TeamManagerEvent(this));
155+
extraData = dataFileTag.getCompoundOrEmpty("extra");
156+
TeamManagerEvent.LOADED.invoker().accept(new TeamManagerEvent(this));
160157

161-
chatRedirected.clear();
162-
dataFileTag.getList("chat_redirected", Tag.TAG_STRING).forEach(tag -> {
163-
try {
164-
chatRedirected.add(UUID.fromString(tag.getAsString()));
165-
} catch (IllegalArgumentException e) {
166-
FTBTeams.LOGGER.error("invalid uuid {} in 'chat_redirection', ignoring", tag.getAsString());
167-
}
168-
});
169-
}
158+
chatRedirected.clear();
159+
dataFileTag.getListOrEmpty("chat_redirected").forEach(tag -> {
160+
try {
161+
chatRedirected.add(UUID.fromString(tag.toString()));
162+
} catch (IllegalArgumentException e) {
163+
FTBTeams.LOGGER.error("invalid uuid {} in 'chat_redirection', ignoring", tag.toString());
164+
}
165+
});
170166

171167
for (TeamType type : TeamType.values()) {
172168
Path dir = directory.resolve(type.getSerializedName());
173169

174170
if (Files.exists(dir) && Files.isDirectory(dir)) {
175171
try (Stream<Path> s = Files.list(dir)) {
176172
s.filter(path -> path.getFileName().toString().endsWith(".snbt")).forEach(file -> {
177-
CompoundTag nbt = SNBT.read(file);
178-
if (nbt != null) {
173+
try {
174+
CompoundTag nbt = SNBT.tryRead(file);
179175
AbstractTeam team = type.createTeam(this, nbt.read("id", UUIDUtil.CODEC).orElseThrow());
180176
teamMap.put(team.id, team);
181177
team.deserializeNBT(nbt, server.registryAccess());
182-
}
178+
} catch (IOException e) {
179+
throw new RuntimeException(e);
180+
}
183181
});
184182
} catch (Exception ex) {
185183
FTBTeams.LOGGER.error("can't list directory {}: {}", dir, ex.getMessage());

0 commit comments

Comments
 (0)