From 20cf1fcdae622e6f30351fb841c896fe8de27376 Mon Sep 17 00:00:00 2001 From: Ben Woo <30431861+benwoo1110@users.noreply.github.com> Date: Sun, 28 Sep 2025 10:51:23 +0800 Subject: [PATCH 1/3] Fix apply-playerdata-on-join comments --- .../multiverse/inventories/config/InventoriesConfigNodes.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/org/mvplugins/multiverse/inventories/config/InventoriesConfigNodes.java b/src/main/java/org/mvplugins/multiverse/inventories/config/InventoriesConfigNodes.java index 4dadef3a..73be7b5d 100644 --- a/src/main/java/org/mvplugins/multiverse/inventories/config/InventoriesConfigNodes.java +++ b/src/main/java/org/mvplugins/multiverse/inventories/config/InventoriesConfigNodes.java @@ -167,7 +167,6 @@ public Object serialize(Shares sharables, Class aClass) { .build()); final ConfigNode applyPlayerdataOnJoin = node(ConfigNode.builder("performance.apply-playerdata-on-join", Boolean.class) - .comment("This will only work if save-playerdata-on-quit is set to true.") .comment("Minecraft will already load the most up-to-date player data and this option will generally be redundant.") .comment("The only possible edge case uses is if you have a need to always modify the mvinv playerdata while the player is offline.") .defaultValue(false) From 87e3b0ed202d6e7d2b88397f8c49568a649a7b04 Mon Sep 17 00:00:00 2001 From: Ben Woo <30431861+benwoo1110@users.noreply.github.com> Date: Sun, 28 Sep 2025 10:51:48 +0800 Subject: [PATCH 2/3] Ensure all invview api is experimental --- .../multiverse/inventories/view/ModifiableInventoryHolder.java | 1 + .../multiverse/inventories/view/ReadOnlyInventoryHolder.java | 1 + 2 files changed, 2 insertions(+) diff --git a/src/main/java/org/mvplugins/multiverse/inventories/view/ModifiableInventoryHolder.java b/src/main/java/org/mvplugins/multiverse/inventories/view/ModifiableInventoryHolder.java index 2fb80fdd..883a6f65 100644 --- a/src/main/java/org/mvplugins/multiverse/inventories/view/ModifiableInventoryHolder.java +++ b/src/main/java/org/mvplugins/multiverse/inventories/view/ModifiableInventoryHolder.java @@ -15,6 +15,7 @@ * * @since 5.2 */ +@ApiStatus.Experimental @ApiStatus.AvailableSince("5.2") public final class ModifiableInventoryHolder implements InventoryHolder { private final OfflinePlayer targetPlayer; diff --git a/src/main/java/org/mvplugins/multiverse/inventories/view/ReadOnlyInventoryHolder.java b/src/main/java/org/mvplugins/multiverse/inventories/view/ReadOnlyInventoryHolder.java index 9828440c..a5896e6c 100644 --- a/src/main/java/org/mvplugins/multiverse/inventories/view/ReadOnlyInventoryHolder.java +++ b/src/main/java/org/mvplugins/multiverse/inventories/view/ReadOnlyInventoryHolder.java @@ -11,6 +11,7 @@ * * @since 5.2 */ +@ApiStatus.Experimental @ApiStatus.AvailableSince("5.2") public final class ReadOnlyInventoryHolder implements InventoryHolder { /** From 84c682489cffeb8fc0140152d70875b1cc56ea6d Mon Sep 17 00:00:00 2001 From: Ben Woo <30431861+benwoo1110@users.noreply.github.com> Date: Sun, 28 Sep 2025 10:57:07 +0800 Subject: [PATCH 3/3] Group is conflicting even if one group contains all the worlds of the other --- .../inventories/profile/group/AbstractWorldGroupManager.java | 5 ----- src/main/resources/multiverse-inventories_en.properties | 2 +- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/src/main/java/org/mvplugins/multiverse/inventories/profile/group/AbstractWorldGroupManager.java b/src/main/java/org/mvplugins/multiverse/inventories/profile/group/AbstractWorldGroupManager.java index 0f9c334d..b086e8c9 100644 --- a/src/main/java/org/mvplugins/multiverse/inventories/profile/group/AbstractWorldGroupManager.java +++ b/src/main/java/org/mvplugins/multiverse/inventories/profile/group/AbstractWorldGroupManager.java @@ -225,11 +225,6 @@ private void checkConflict(WorldGroup checkingGroup, // No overlapping shares. return; } - if (checkingGroup.getApplicableWorlds().containsAll(worldGroup.getApplicableWorlds()) - || worldGroup.getApplicableWorlds().containsAll(checkingGroup.getApplicableWorlds())) { - // If one group contains all the worlds of the other, we don't consider it a conflict. - return; - } Logging.finer("Conflict found for %s and %s", checkingGroup.getName(), worldGroup.getName()); conflicts.add(new GroupingConflict(checkingGroup, worldGroup, Sharables.fromShares(conflictingShares))); } diff --git a/src/main/resources/multiverse-inventories_en.properties b/src/main/resources/multiverse-inventories_en.properties index de4a5b59..dcf0af74 100644 --- a/src/main/resources/multiverse-inventories_en.properties +++ b/src/main/resources/multiverse-inventories_en.properties @@ -26,7 +26,7 @@ mv-inventories.error.nosharesspecified=&cYou did not specify any valid shares! # Conflicts mv-inventories.conflict.results=&cConflict found for groups: '&6{group1}&c' and '&6{group2}&c'! Both groups contains world(s) '&3{worlds}&c' that share(s): '&3{shares}&c'. mv-inventories.conflict.checking=Checking for conflicts in groups... -mv-inventories.conflict.found=&cConflicts have been found... If these are not resolved, you may experience problems with your data. +mv-inventories.conflict.found=&cConflicts have been found... If these are not resolved, you may experience problems with your player's inventory data. mv-inventories.conflict.notfound=No group conflicts found! # Commands