diff --git a/src/main/java/org/mvplugins/multiverse/inventories/destination/LastLocationDestinationInstance.java b/src/main/java/org/mvplugins/multiverse/inventories/destination/LastLocationDestinationInstance.java index 4b101130..7c99883c 100644 --- a/src/main/java/org/mvplugins/multiverse/inventories/destination/LastLocationDestinationInstance.java +++ b/src/main/java/org/mvplugins/multiverse/inventories/destination/LastLocationDestinationInstance.java @@ -44,17 +44,22 @@ public final class LastLocationDestinationInstance extends DestinationInstance worldManager.getLoadedWorld(worldName).map(MultiverseWorld::getSpawnLocation)); + } else if (group.getDisabledShares().contains(Sharables.LAST_LOCATION)) { + // last location disabled for the group and hence should not apply, defaulting to world's spawn + return worldManager.getLoadedWorld(worldName).map(MultiverseWorld::getSpawnLocation); } } diff --git a/src/main/java/org/mvplugins/multiverse/inventories/handleshare/ReadOnlyShareHandler.java b/src/main/java/org/mvplugins/multiverse/inventories/handleshare/ReadOnlyShareHandler.java index 272dff8a..29533b55 100644 --- a/src/main/java/org/mvplugins/multiverse/inventories/handleshare/ReadOnlyShareHandler.java +++ b/src/main/java/org/mvplugins/multiverse/inventories/handleshare/ReadOnlyShareHandler.java @@ -23,6 +23,7 @@ protected void prepareProfiles() { for (WorldGroup worldGroup : worldGroups) { affectedProfiles.addReadProfile(worldGroup.getGroupProfileContainer().getProfileKey(player), worldGroup.getApplicableShares()); unhandledShares.removeAll(worldGroup.getApplicableShares()); + unhandledShares.removeAll(worldGroup.getDisabledShares()); } if (!unhandledShares.isEmpty()) { affectedProfiles.addReadProfile( diff --git a/src/main/java/org/mvplugins/multiverse/inventories/handleshare/WriteOnlyShareHandler.java b/src/main/java/org/mvplugins/multiverse/inventories/handleshare/WriteOnlyShareHandler.java index 9eb66032..71a35fd5 100644 --- a/src/main/java/org/mvplugins/multiverse/inventories/handleshare/WriteOnlyShareHandler.java +++ b/src/main/java/org/mvplugins/multiverse/inventories/handleshare/WriteOnlyShareHandler.java @@ -38,6 +38,7 @@ protected void prepareProfiles() { worldGroup.getApplicableShares() ); unhandledShares.removeAll(worldGroup.getApplicableShares()); + unhandledShares.removeAll(worldGroup.getDisabledShares()); } Shares sharesToWrite = inventoriesConfig.getAlwaysWriteWorldProfile() ? Sharables.enabled()