Fix default flags registration for third parties (#4114)

Co-authored-by: Leomixer17 <leonardo.dgs@yahoo.com>
This commit is contained in:
Aurélien 2023-07-17 22:30:02 +02:00 committed by GitHub
parent dffb7672ff
commit d876d3722a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -180,8 +180,7 @@ public abstract class PlotArea implements ComponentLike {
this.worldConfiguration = worldConfiguration; this.worldConfiguration = worldConfiguration;
} }
private static Collection<PlotFlag<?, ?>> parseFlags(List<String> flagStrings) { private static void parseFlags(FlagContainer flagContainer, List<String> flagStrings) {
final Collection<PlotFlag<?, ?>> flags = new ArrayList<>();
for (final String key : flagStrings) { for (final String key : flagStrings) {
final String[] split; final String[] split;
if (key.contains(";")) { if (key.contains(";")) {
@ -193,7 +192,7 @@ public abstract class PlotArea implements ComponentLike {
GlobalFlagContainer.getInstance().getFlagFromString(split[0]); GlobalFlagContainer.getInstance().getFlagFromString(split[0]);
if (flagInstance != null) { if (flagInstance != null) {
try { try {
flags.add(flagInstance.parse(split[1])); flagContainer.addFlag(flagInstance.parse(split[1]));
} catch (final FlagParseException e) { } catch (final FlagParseException e) {
LOGGER.warn( LOGGER.warn(
"Failed to parse default flag with key '{}' and value '{}'. " "Failed to parse default flag with key '{}' and value '{}'. "
@ -204,9 +203,10 @@ public abstract class PlotArea implements ComponentLike {
); );
e.printStackTrace(); e.printStackTrace();
} }
} else {
flagContainer.addUnknownFlag(split[0], split[1]);
} }
} }
return flags;
} }
@NonNull @NonNull
@ -405,7 +405,7 @@ public abstract class PlotArea implements ComponentLike {
} }
} }
} }
this.getFlagContainer().addAll(parseFlags(flags)); parseFlags(this.getFlagContainer(), flags);
ConsolePlayer.getConsole().sendMessage( ConsolePlayer.getConsole().sendMessage(
TranslatableCaption.of("flags.area_flags"), TranslatableCaption.of("flags.area_flags"),
TagResolver.resolver("flags", Tag.inserting(Component.text(flags.toString()))) TagResolver.resolver("flags", Tag.inserting(Component.text(flags.toString())))
@ -427,7 +427,7 @@ public abstract class PlotArea implements ComponentLike {
} }
} }
this.roadFlags = roadflags.size() > 0; this.roadFlags = roadflags.size() > 0;
this.getRoadFlagContainer().addAll(parseFlags(roadflags)); parseFlags(this.getRoadFlagContainer(), roadflags);
ConsolePlayer.getConsole().sendMessage( ConsolePlayer.getConsole().sendMessage(
TranslatableCaption.of("flags.road_flags"), TranslatableCaption.of("flags.road_flags"),
TagResolver.resolver("flags", Tag.inserting(Component.text(roadflags.toString()))) TagResolver.resolver("flags", Tag.inserting(Component.text(roadflags.toString())))