Added support for multiverse inventories

This commit is contained in:
BuildTools 2021-12-31 09:10:25 -05:00
parent 961906d4d6
commit 5ef902b0c2
2 changed files with 23 additions and 1 deletions

View File

@ -105,6 +105,9 @@ public class DGamePlayer extends DInstancePlayer implements GamePlayer {
initDGroupTag(); initDGroupTag();
} }
String originalWorld = player.getWorld().getName();
addMultiversePerm(originalWorld);
Location teleport = world.getLobbyLocation(); Location teleport = world.getLobbyLocation();
if (teleport == null) { if (teleport == null) {
player.teleport(world.getWorld().getSpawnLocation()); player.teleport(world.getWorld().getSpawnLocation());
@ -112,6 +115,8 @@ public class DGamePlayer extends DInstancePlayer implements GamePlayer {
player.teleport(teleport); player.teleport(teleport);
} }
removeMultiversePerm(originalWorld);
if (!((DGameWorld) world).hasReadySign()) { if (!((DGameWorld) world).hasReadySign()) {
MessageUtil.sendMessage(player, DMessage.ERROR_NO_READY_SIGN.getMessage(world.getName())); MessageUtil.sendMessage(player, DMessage.ERROR_NO_READY_SIGN.getMessage(world.getName()));
} }
@ -380,7 +385,10 @@ public class DGamePlayer extends DInstancePlayer implements GamePlayer {
delete(); delete();
if (player.isOnline()) { if (player.isOnline()) {
String gameWorld = getGameWorld().getWorld().getName();
addMultiversePerm(gameWorld);
reset(finished); reset(finished);
removeMultiversePerm(gameWorld);
} }
// Permission bridge // Permission bridge
@ -589,6 +597,7 @@ public class DGamePlayer extends DInstancePlayer implements GamePlayer {
plugin.getPermissionProvider().playerAddTransient(getGame().getWorld().getWorld().getName(), player, permission); plugin.getPermissionProvider().playerAddTransient(getGame().getWorld().getWorld().getName(), player, permission);
} }
} }
} }
/** /**
@ -808,4 +817,17 @@ public class DGamePlayer extends DInstancePlayer implements GamePlayer {
DistanceTrigger.triggerAllInDistance(player, (DGameWorld) getGameWorld()); DistanceTrigger.triggerAllInDistance(player, (DGameWorld) getGameWorld());
} }
// Add permission for by passing multiverse inventories when entering or leaving a dungeon
private void addMultiversePerm(String world){
if (plugin.getPermissionProvider() != null)
plugin.getPermissionProvider().playerAddTransient(world, player, "mvinv.bypass.*");
}
// Remove permission for by passing multiverse inventories when entering or leaving a dungeon
private void removeMultiversePerm(String world){
if (plugin.getPermissionProvider() != null)
plugin.getPermissionProvider().playerRemoveTransient(world, player, "mvinv.bypass.*");
}
} }

View File

@ -5,7 +5,7 @@ authors: [Frank Baumann, Milan Albrecht, Tobias Schmitz, Daniel Saukel]
description: ${project.parent.description} description: ${project.parent.description}
website: ${project.parent.url} website: ${project.parent.url}
depend: [ItemsXL] depend: [ItemsXL]
softdepend: [CommandsXL, ItemsXL, Vault, Citizens, CustomMobs, InsaneMobs, MythicMobs, HolographicDisplays, LWC, PlaceholderAPI, Parties] softdepend: [CommandsXL, ItemsXL, Vault, Citizens, CustomMobs, InsaneMobs, MythicMobs, HolographicDisplays, LWC, PlaceholderAPI, Parties, Multiverse-Inventories]
commands: commands:
dungeonsxl: dungeonsxl:
description: Reference command for DungeonsXL. description: Reference command for DungeonsXL.