mirror of
https://github.com/BentoBoxWorld/BentoBox.git
synced 2024-12-27 11:37:36 +01:00
Makes the end exit island removal a world setting
https://github.com/BentoBoxWorld/BentoBox/issues/223
This commit is contained in:
parent
7c099d941f
commit
dba9829fd9
@ -15,6 +15,7 @@ import org.bukkit.event.entity.CreatureSpawnEvent;
|
||||
import org.bukkit.event.world.ChunkLoadEvent;
|
||||
|
||||
import world.bentobox.bentobox.BentoBox;
|
||||
import world.bentobox.bentobox.lists.Flags;
|
||||
import world.bentobox.bentobox.util.Pair;
|
||||
|
||||
public class BlockEndDragon implements Listener {
|
||||
@ -61,7 +62,8 @@ public class BlockEndDragon implements Listener {
|
||||
*/
|
||||
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
|
||||
public void onEnd(ChunkLoadEvent e) {
|
||||
if (!e.getWorld().getEnvironment().equals(Environment.THE_END)
|
||||
if (!Flags.REMOVE_END_EXIT_ISLAND.isSetForWorld(e.getWorld())
|
||||
|| !e.getWorld().getEnvironment().equals(Environment.THE_END)
|
||||
|| !plugin.getIWM().inWorld(e.getWorld())
|
||||
|| !plugin.getIWM().isEndGenerate(e.getWorld())
|
||||
|| !plugin.getIWM().isEndIslands(e.getWorld())
|
||||
@ -92,7 +94,8 @@ public class BlockEndDragon implements Listener {
|
||||
*/
|
||||
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
|
||||
public void onEndBlockPlace(BlockPlaceEvent e) {
|
||||
if (e.getBlock().getY() < DEAD_ZONE_Y
|
||||
if (!Flags.REMOVE_END_EXIT_ISLAND.isSetForWorld(e.getBlock().getWorld())
|
||||
|| e.getBlock().getY() < DEAD_ZONE_Y
|
||||
|| !e.getBlock().getWorld().getEnvironment().equals(Environment.THE_END)
|
||||
|| !plugin.getIWM().inWorld(e.getBlock().getWorld())
|
||||
|| !plugin.getIWM().isEndGenerate(e.getBlock().getWorld())
|
||||
|
@ -10,46 +10,46 @@ import org.bukkit.Material;
|
||||
import world.bentobox.bentobox.api.flags.Flag;
|
||||
import world.bentobox.bentobox.api.flags.Flag.Type;
|
||||
import world.bentobox.bentobox.api.flags.clicklisteners.CycleClick;
|
||||
import world.bentobox.bentobox.listeners.flags.worldsettings.LiquidsFlowingOutListener;
|
||||
import world.bentobox.bentobox.listeners.flags.worldsettings.ObsidianScoopingListener;
|
||||
import world.bentobox.bentobox.listeners.flags.clicklisteners.CommandRankClickListener;
|
||||
import world.bentobox.bentobox.listeners.flags.clicklisteners.GeoLimitClickListener;
|
||||
import world.bentobox.bentobox.listeners.flags.protection.BlockInteractionListener;
|
||||
import world.bentobox.bentobox.listeners.flags.protection.BreakBlocksListener;
|
||||
import world.bentobox.bentobox.listeners.flags.protection.BreedingListener;
|
||||
import world.bentobox.bentobox.listeners.flags.protection.BucketListener;
|
||||
import world.bentobox.bentobox.listeners.flags.worldsettings.ChestDamageListener;
|
||||
import world.bentobox.bentobox.listeners.flags.worldsettings.CleanSuperFlatListener;
|
||||
import world.bentobox.bentobox.listeners.flags.worldsettings.CoarseDirtTillingListener;
|
||||
import world.bentobox.bentobox.listeners.flags.worldsettings.CreeperListener;
|
||||
import world.bentobox.bentobox.listeners.flags.protection.EggListener;
|
||||
import world.bentobox.bentobox.listeners.flags.worldsettings.EnderChestListener;
|
||||
import world.bentobox.bentobox.listeners.flags.worldsettings.EndermanListener;
|
||||
import world.bentobox.bentobox.listeners.flags.worldsettings.EnterExitListener;
|
||||
import world.bentobox.bentobox.listeners.flags.protection.EntityInteractListener;
|
||||
import world.bentobox.bentobox.listeners.flags.protection.ExperiencePickupListener;
|
||||
import world.bentobox.bentobox.listeners.flags.protection.FireListener;
|
||||
import world.bentobox.bentobox.listeners.flags.worldsettings.GeoLimitMobsListener;
|
||||
import world.bentobox.bentobox.listeners.flags.protection.HurtingListener;
|
||||
import world.bentobox.bentobox.listeners.flags.protection.InventoryListener;
|
||||
import world.bentobox.bentobox.listeners.flags.worldsettings.InvincibleVisitorsListener;
|
||||
import world.bentobox.bentobox.listeners.flags.worldsettings.IslandRespawnListener;
|
||||
import world.bentobox.bentobox.listeners.flags.protection.ItemDropPickUpListener;
|
||||
import world.bentobox.bentobox.listeners.flags.worldsettings.ItemFrameListener;
|
||||
import world.bentobox.bentobox.listeners.flags.protection.LeashListener;
|
||||
import world.bentobox.bentobox.listeners.flags.protection.LockAndBanListener;
|
||||
import world.bentobox.bentobox.listeners.flags.settings.MobSpawnListener;
|
||||
import world.bentobox.bentobox.listeners.flags.worldsettings.OfflineRedstoneListener;
|
||||
import world.bentobox.bentobox.listeners.flags.settings.PVPListener;
|
||||
import world.bentobox.bentobox.listeners.flags.protection.PhysicalInteractionListener;
|
||||
import world.bentobox.bentobox.listeners.flags.worldsettings.PistonPushListener;
|
||||
import world.bentobox.bentobox.listeners.flags.protection.PlaceBlocksListener;
|
||||
import world.bentobox.bentobox.listeners.flags.protection.PortalListener;
|
||||
import world.bentobox.bentobox.listeners.flags.worldsettings.RemoveMobsListener;
|
||||
import world.bentobox.bentobox.listeners.flags.protection.ShearingListener;
|
||||
import world.bentobox.bentobox.listeners.flags.protection.TNTListener;
|
||||
import world.bentobox.bentobox.listeners.flags.protection.TeleportationListener;
|
||||
import world.bentobox.bentobox.listeners.flags.protection.ThrowingListener;
|
||||
import world.bentobox.bentobox.listeners.flags.clicklisteners.CommandRankClickListener;
|
||||
import world.bentobox.bentobox.listeners.flags.clicklisteners.GeoLimitClickListener;
|
||||
import world.bentobox.bentobox.listeners.flags.settings.MobSpawnListener;
|
||||
import world.bentobox.bentobox.listeners.flags.settings.PVPListener;
|
||||
import world.bentobox.bentobox.listeners.flags.worldsettings.ChestDamageListener;
|
||||
import world.bentobox.bentobox.listeners.flags.worldsettings.CleanSuperFlatListener;
|
||||
import world.bentobox.bentobox.listeners.flags.worldsettings.CoarseDirtTillingListener;
|
||||
import world.bentobox.bentobox.listeners.flags.worldsettings.CreeperListener;
|
||||
import world.bentobox.bentobox.listeners.flags.worldsettings.EnderChestListener;
|
||||
import world.bentobox.bentobox.listeners.flags.worldsettings.EndermanListener;
|
||||
import world.bentobox.bentobox.listeners.flags.worldsettings.EnterExitListener;
|
||||
import world.bentobox.bentobox.listeners.flags.worldsettings.GeoLimitMobsListener;
|
||||
import world.bentobox.bentobox.listeners.flags.worldsettings.InvincibleVisitorsListener;
|
||||
import world.bentobox.bentobox.listeners.flags.worldsettings.IslandRespawnListener;
|
||||
import world.bentobox.bentobox.listeners.flags.worldsettings.ItemFrameListener;
|
||||
import world.bentobox.bentobox.listeners.flags.worldsettings.LiquidsFlowingOutListener;
|
||||
import world.bentobox.bentobox.listeners.flags.worldsettings.ObsidianScoopingListener;
|
||||
import world.bentobox.bentobox.listeners.flags.worldsettings.OfflineRedstoneListener;
|
||||
import world.bentobox.bentobox.listeners.flags.worldsettings.PistonPushListener;
|
||||
import world.bentobox.bentobox.listeners.flags.worldsettings.RemoveMobsListener;
|
||||
import world.bentobox.bentobox.managers.RanksManager;
|
||||
|
||||
/**
|
||||
@ -280,6 +280,12 @@ public final class Flags {
|
||||
public static final Flag LIQUIDS_FLOWING_OUT = new Flag.Builder("LIQUIDS_FLOWING_OUT", Material.WATER_BUCKET).type(Type.WORLD_SETTING)
|
||||
.listener(new LiquidsFlowingOutListener()).build();
|
||||
|
||||
/**
|
||||
* Enables toggling for removal of the end exit island. May not be required on some servers, e.g. PaperSpigot.
|
||||
* @since 1.3.0
|
||||
*/
|
||||
public static final Flag REMOVE_END_EXIT_ISLAND = new Flag.Builder("REMOVE_END_EXIT_ISLAND", Material.DRAGON_HEAD).type(Type.WORLD_SETTING).defaultSetting(true).build();
|
||||
|
||||
/**
|
||||
* Provides a list of all the Flag instances contained in this class using reflection.
|
||||
* @return List of all the flags in this class
|
||||
|
@ -748,15 +748,21 @@ protection:
|
||||
description: "Toggle use"
|
||||
name: "Redstone items"
|
||||
hint: "No redstone item use"
|
||||
RIDING:
|
||||
description: "Toggle riding"
|
||||
name: "Animal riding"
|
||||
hint: "No animal riding allowed"
|
||||
REMOVE_END_EXIT_ISLAND:
|
||||
description: |-
|
||||
&aPrevents the end exit
|
||||
&aisland from generating
|
||||
&aat coordinates 0,0
|
||||
name: "Remove end exit island"
|
||||
REMOVE_MOBS:
|
||||
description: |-
|
||||
&aRemove monsters when
|
||||
&ateleporting to island
|
||||
name: "Remove monsters"
|
||||
RIDING:
|
||||
description: "Toggle riding"
|
||||
name: "Animal riding"
|
||||
hint: "No animal riding allowed"
|
||||
SHEARING:
|
||||
description: "Toggle shearing"
|
||||
name: "Shearing"
|
||||
|
Loading…
Reference in New Issue
Block a user