Add portal limiter - simply disallow certain worlds
This commit is contained in:
parent
648518d5b6
commit
226dbc8c77
2 changed files with 42 additions and 0 deletions
|
@ -3,6 +3,7 @@ package buttondevteam.presents;
|
||||||
import buttondevteam.lib.architecture.Component;
|
import buttondevteam.lib.architecture.Component;
|
||||||
import buttondevteam.presents.components.chunkarchive.ChunkArchiveComponent;
|
import buttondevteam.presents.components.chunkarchive.ChunkArchiveComponent;
|
||||||
import buttondevteam.presents.components.magic.MagicComponent;
|
import buttondevteam.presents.components.magic.MagicComponent;
|
||||||
|
import buttondevteam.presents.components.portals.PortalLimitComponent;
|
||||||
import buttondevteam.presents.components.research.ResearchComponent;
|
import buttondevteam.presents.components.research.ResearchComponent;
|
||||||
import buttondevteam.presents.components.research.dictionary.DictionaryComponent;
|
import buttondevteam.presents.components.research.dictionary.DictionaryComponent;
|
||||||
import buttondevteam.presents.components.spawn.SpawnComponent;
|
import buttondevteam.presents.components.spawn.SpawnComponent;
|
||||||
|
@ -31,6 +32,7 @@ public class ButtonPresents extends JavaPlugin{
|
||||||
getLogger().warning("ChunkArchive compatibility error, not registering it.");
|
getLogger().warning("ChunkArchive compatibility error, not registering it.");
|
||||||
}
|
}
|
||||||
Component.registerComponent(this, new TownyFactionsComponent());
|
Component.registerComponent(this, new TownyFactionsComponent());
|
||||||
|
Component.registerComponent(this, new PortalLimitComponent());
|
||||||
|
|
||||||
logger.info(pdfFile.getName() + " has fully registered (V." + pdfFile.getVersion()+ ").");
|
logger.info(pdfFile.getName() + " has fully registered (V." + pdfFile.getVersion()+ ").");
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
package buttondevteam.presents.components.portals;
|
||||||
|
|
||||||
|
import buttondevteam.lib.architecture.Component;
|
||||||
|
import buttondevteam.lib.architecture.ConfigData;
|
||||||
|
import buttondevteam.presents.ButtonPresents;
|
||||||
|
import com.google.common.collect.Lists;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
import org.bukkit.event.entity.EntityPortalEvent;
|
||||||
|
import org.bukkit.event.player.PlayerPortalEvent;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class PortalLimitComponent extends Component<ButtonPresents> implements Listener {
|
||||||
|
@Override
|
||||||
|
protected void enable() {
|
||||||
|
registerListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void disable() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private ConfigData<List<String>> worlds() {
|
||||||
|
return getConfig().getData("worlds", Lists.newArrayList("v1", "v2", "v3"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(ignoreCancelled = true)
|
||||||
|
public void onPortalEnter(PlayerPortalEvent event) {
|
||||||
|
if (worlds().get().contains(event.getFrom().getWorld().getName()))
|
||||||
|
event.setCancelled(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(ignoreCancelled = true)
|
||||||
|
public void onPortalEnter(EntityPortalEvent event) {
|
||||||
|
if (worlds().get().contains(event.getFrom().getWorld().getName()))
|
||||||
|
event.setCancelled(true);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue