This commit is contained in:
cs8425 2023-09-08 01:43:48 -04:00 committed by GitHub
commit e5e973df18
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 38 additions and 1 deletions

View File

@ -480,6 +480,11 @@ public class MultiverseCore extends JavaPlugin implements MVPlugin, Core {
this.getMVConfig().setTeleportIntercept(this.multiverseConfig.getBoolean("teleportintercept"));
this.multiverseConfig.set("teleportintercept", null);
}
if (this.multiverseConfig.isSet("portalintercept")) {
Logging.config("Migrating 'portalintercept'...");
this.getMVConfig().setPortalIntercept(this.multiverseConfig.getBoolean("portalintercept"));
this.multiverseConfig.set("portalintercept", null);
}
if (this.multiverseConfig.isSet("firstspawnoverride")) {
Logging.config("Migrating 'firstspawnoverride'...");
this.getMVConfig().setFirstSpawnOverride(this.multiverseConfig.getBoolean("firstspawnoverride"));

View File

@ -52,6 +52,8 @@ public class MultiverseCoreConfiguration extends SerializationConfig implements
@Property
private volatile boolean teleportintercept;
@Property
private volatile boolean portalintercept;
@Property
private volatile boolean firstspawnoverride;
@Property
private volatile boolean displaypermerrors;
@ -99,6 +101,7 @@ public class MultiverseCoreConfiguration extends SerializationConfig implements
prefixchat = false;
prefixchatformat = "[%world%]%chat%";
teleportintercept = true;
portalintercept = true;
firstspawnoverride = true;
displaypermerrors = true;
enablebuscript = true;
@ -192,6 +195,22 @@ public class MultiverseCoreConfiguration extends SerializationConfig implements
this.teleportintercept = teleportIntercept;
}
/**
* {@inheritDoc}
*/
@Override
public boolean getPortalIntercept() {
return this.portalintercept;
}
/**
* {@inheritDoc}
*/
@Override
public void setPortalIntercept(boolean portalIntercept) {
this.portalintercept = portalIntercept;
}
/**
* {@inheritDoc}
*/

View File

@ -122,6 +122,18 @@ public interface MultiverseCoreConfig extends ConfigurationSerializable {
*/
boolean getTeleportIntercept();
/**
* Sets portalIntercept.
* @param portalIntercept The new value.
*/
void setPortalIntercept(boolean portalIntercept);
/**
* Gets portalIntercept.
* @return portalIntercept.
*/
boolean getPortalIntercept();
/**
* Sets prefixChat.
* @param prefixChat The new value.

View File

@ -128,6 +128,7 @@ public class MVPlayerListener implements Listener {
} else {
Logging.finer("Player joined AGAIN!");
if (this.plugin.getMVConfig().getEnforceAccess() // check this only if we're enforcing access!
&& (this.plugin.getMVConfig().getTeleportIntercept() && this.plugin.getMVConfig().getPortalIntercept()) // only all method Intercept will force send
&& !this.plugin.getMVPerms().hasPermission(p, "multiverse.access." + p.getWorld().getName(), false)) {
p.sendMessage("[MV] - Sorry you can't be in this world anymore!");
this.sendPlayerToDefaultWorld(p);
@ -300,7 +301,7 @@ public class MVPlayerListener implements Listener {
+ "' because they don't have the FUNDS required to enter.");
return;
}
if (plugin.getMVConfig().getEnforceAccess()) {
if (plugin.getMVConfig().getEnforceAccess() && plugin.getMVConfig().getPortalIntercept()) {
event.setCancelled(!pt.playerCanGoFromTo(fromWorld, toWorld, event.getPlayer(), event.getPlayer()));
if (event.isCancelled()) {
Logging.fine("Player '" + event.getPlayer().getName()