Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ final class WorldConfig {
@NotNull ConfigurationSection configSection,
@NotNull MultiverseCore multiverseCore) {
this.keyOrName = keyOrName;
this.configNodes = new WorldConfigNodes(multiverseCore);
this.configNodes = new WorldConfigNodes(multiverseCore, keyOrName);
this.configHandle = MemoryConfigurationHandle.builder(configSection, configNodes.getNodes())
.logger(Logging.getLogger())
.migrator(migrator())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
import org.mvplugins.multiverse.core.utils.MaterialConverter;
import org.mvplugins.multiverse.core.utils.text.ChatTextFormatter;
import org.mvplugins.multiverse.core.world.helpers.EnforcementHandler;
import org.mvplugins.multiverse.core.world.key.WorldKeyOrName;
import org.mvplugins.multiverse.core.world.location.NullSpawnLocation;
import org.mvplugins.multiverse.core.world.location.SpawnLocation;
import org.mvplugins.multiverse.core.world.entity.EntitySpawnConfig;
Expand All @@ -42,12 +43,14 @@
private WorldManager worldManager;
private EnforcementHandler enforcementHandler;
private CoreConfig config;
private WorldKeyOrName keyOrName;
private MultiverseWorld world = null;

WorldConfigNodes(@NotNull MultiverseCore multiverseCore) {
WorldConfigNodes(@NotNull MultiverseCore multiverseCore, @NotNull WorldKeyOrName keyOrName) {
this.worldManager = multiverseCore.getServiceLocator().getService(WorldManager.class);
this.enforcementHandler = multiverseCore.getServiceLocator().getService(EnforcementHandler.class);
this.config = multiverseCore.getServiceLocator().getService(CoreConfig.class);
this.keyOrName = keyOrName;
}

MultiverseWorld getWorld() {
Expand Down Expand Up @@ -91,10 +94,13 @@
final ConfigNode<String> alias = node(ConfigNode.builder("alias", String.class)
.defaultValue("")
.onLoadAndChange((oldValue, newValue) -> {
worldManager.getWorldStore().changeAlias(
ChatTextFormatter.removeColor(oldValue),
ChatTextFormatter.removeColor(newValue),
keyOrName.usableKey()
);

Check warning on line 101 in src/main/java/org/mvplugins/multiverse/core/world/WorldConfigNodes.java

View workflow job for this annotation

GitHub Actions / checkstyle / checkstyle

[checkstyle] reported by reviewdog 🐶 ')' should be on the previous line. Raw Output: /github/workspace/src/main/java/org/mvplugins/multiverse/core/world/WorldConfigNodes.java:101:17: warning: ')' should be on the previous line. (SeparatorWrapEol)
if (world == null) return;
world.updateColourlessAlias();
worldManager.getWorldStore().changeAlias(
ChatTextFormatter.removeColor(oldValue), ChatTextFormatter.removeColor(newValue), world);
}));

final ConfigNode<Boolean> allowAdvancementGrant = node(ConfigNode.builder("allow-advancement-grant", Boolean.class)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@

import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Objects;

Expand Down Expand Up @@ -119,16 +120,16 @@ void removeLoadedWorld(LoadedMultiverseWorld world) {
unloadedList.add(unloadedMap.get(world.getKey().toString()));
}

void changeAlias(@Nullable String oldAlias, @Nullable String newAlias, @NotNull MultiverseWorld world) {
void changeAlias(@Nullable String oldAlias, @Nullable String newAlias, @NotNull NamespacedKey worldKey) {
if (Objects.equals(oldAlias, newAlias)) {
// nothing changed, ignore
return;
}
if (!Strings.isNullOrEmpty(oldAlias)) {
aliasMap.remove(oldAlias, world.getKey().toString());
aliasMap.remove(oldAlias.toLowerCase(Locale.ROOT), worldKey.toString());
}
if (!Strings.isNullOrEmpty(newAlias)) {
aliasMap.put(newAlias, world.getKey().toString());
aliasMap.put(newAlias.toLowerCase(Locale.ROOT), worldKey.toString());
}
}

Expand Down Expand Up @@ -263,7 +264,7 @@ String translateAlias(@Nullable String worldNameOrAlias) {
return null;
}
//TODO: Not sure if we should fail if there is multiple alias of the same name, but for now just return the first one
return aliasMap.get(worldNameOrAlias).stream()
return aliasMap.get(worldNameOrAlias.toLowerCase(Locale.ROOT)).stream()
.findFirst()
.orElse(worldNameOrAlias);
}
Expand Down
Loading