mirror of
https://github.com/BentoBoxWorld/BentoBox.git
synced 2025-02-11 09:51:40 +01:00
commit
5424cb9339
2
pom.xml
2
pom.xml
@ -88,7 +88,7 @@
|
||||
<!-- Do not change unless you want different name for local builds. -->
|
||||
<build.number>-LOCAL</build.number>
|
||||
<!-- This allows to change between versions. -->
|
||||
<build.version>2.5.0</build.version>
|
||||
<build.version>2.5.1</build.version>
|
||||
<sonar.organization>bentobox-world</sonar.organization>
|
||||
<sonar.host.url>https://sonarcloud.io</sonar.host.url>
|
||||
<server.jars>${project.basedir}/lib</server.jars>
|
||||
|
@ -1747,7 +1747,7 @@ public class Island implements DataObject, MetaDataAble {
|
||||
* @since 1.16.0
|
||||
*/
|
||||
public void setProtectionCenter(Location location) throws IOException {
|
||||
if (this.location.equals(location)) {
|
||||
if (this.getProtectionCenter().equals(location)) {
|
||||
return; // nothing to do
|
||||
}
|
||||
if (!this.inIslandSpace(location)) {
|
||||
|
@ -123,7 +123,8 @@ public class BlockInteractionListener extends FlagListener
|
||||
case DRAGON_EGG -> this.checkIsland(e, player, loc, Flags.DRAGON_EGG);
|
||||
case END_PORTAL_FRAME, RESPAWN_ANCHOR -> this.checkIsland(e, player, loc, Flags.PLACE_BLOCKS);
|
||||
case GLOW_ITEM_FRAME, ITEM_FRAME -> this.checkIsland(e, player, loc, Flags.ITEM_FRAME);
|
||||
case SWEET_BERRY_BUSH, CAVE_VINES -> this.checkIsland(e, player, loc, Flags.BREAK_BLOCKS);
|
||||
case SWEET_BERRY_BUSH -> this.checkIsland(e, player, loc, Flags.HARVEST);
|
||||
case CAVE_VINES -> this.checkIsland(e, player, loc, Flags.BREAK_BLOCKS);
|
||||
case CAKE -> this.checkIsland(e, player, loc, Flags.CAKE);
|
||||
case CHISELED_BOOKSHELF -> this.checkIsland(e, player, loc, Flags.BOOKSHELF);
|
||||
case LAVA_CAULDRON ->
|
||||
|
@ -5,7 +5,6 @@ import org.bukkit.Material;
|
||||
import org.bukkit.Tag;
|
||||
import org.bukkit.block.data.BlockData;
|
||||
import org.bukkit.block.data.type.CaveVinesPlant;
|
||||
import org.bukkit.entity.AbstractArrow;
|
||||
import org.bukkit.entity.ArmorStand;
|
||||
import org.bukkit.entity.EnderCrystal;
|
||||
import org.bukkit.entity.ItemFrame;
|
||||
@ -23,6 +22,7 @@ import org.bukkit.event.vehicle.VehicleDamageEvent;
|
||||
|
||||
import com.google.common.base.Enums;
|
||||
|
||||
import world.bentobox.bentobox.BentoBox;
|
||||
import world.bentobox.bentobox.api.flags.FlagListener;
|
||||
import world.bentobox.bentobox.lists.Flags;
|
||||
|
||||
@ -38,15 +38,21 @@ public class BreakBlocksListener extends FlagListener {
|
||||
Player p = e.getPlayer();
|
||||
Location l = e.getBlock().getLocation();
|
||||
Material m = e.getBlock().getType();
|
||||
BentoBox.getInstance().logDebug(m);
|
||||
if (m.equals(Material.MELON) || m.equals(Material.PUMPKIN)) {
|
||||
this.checkIsland(e, p, l, Flags.HARVEST);
|
||||
} else {
|
||||
// Crops
|
||||
if (Tag.CROPS.isTagged(m)
|
||||
if ((Tag.CROPS.isTagged(m)
|
||||
&& !m.equals(Material.MELON_STEM)
|
||||
&& !m.equals(Material.PUMPKIN_STEM)
|
||||
&& !m.equals(Material.ATTACHED_MELON_STEM)
|
||||
&& !m.equals(Material.ATTACHED_PUMPKIN_STEM)) {
|
||||
&& !m.equals(Material.ATTACHED_PUMPKIN_STEM))
|
||||
|| m == Material.COCOA
|
||||
|| m == Material.SWEET_BERRY_BUSH
|
||||
|| m == Material.BAMBOO
|
||||
|| m == Material.NETHER_WART
|
||||
) {
|
||||
this.checkIsland(e, p, l, Flags.HARVEST);
|
||||
} else {
|
||||
checkIsland(e, p, l, Flags.BREAK_BLOCKS);
|
||||
|
@ -24,15 +24,20 @@ public class RemoveMobsListener extends FlagListener {
|
||||
|| e.getCause().equals(TeleportCause.SPECTATE)) {
|
||||
return;
|
||||
}
|
||||
// Return if this is a small teleport
|
||||
if (e.getTo().getWorld().equals(e.getPlayer().getWorld()) &&
|
||||
e.getTo().distanceSquared(e.getPlayer().getLocation()) < getPlugin().getSettings().getClearRadius() * getPlugin().getSettings().getClearRadius()) {
|
||||
return;
|
||||
}
|
||||
// Only process if flag is active
|
||||
if (getIslands().locationIsOnIsland(e.getPlayer(), e.getTo()) && Flags.REMOVE_MOBS.isSetForWorld(e.getTo().getWorld())) {
|
||||
Bukkit.getScheduler().runTask(getPlugin(), () -> getIslands().clearArea(e.getTo()));
|
||||
|
||||
if(e.getTo() != null) {
|
||||
// Return if this is a small teleport
|
||||
if (e.getTo().getWorld().equals(e.getPlayer().getWorld()) &&
|
||||
e.getTo().distanceSquared(e.getPlayer().getLocation()) < getPlugin().getSettings().getClearRadius() * getPlugin().getSettings().getClearRadius()) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Only process if flag is active
|
||||
if (getIslands().locationIsOnIsland(e.getPlayer(), e.getTo()) && Flags.REMOVE_MOBS.isSetForWorld(e.getTo().getWorld())) {
|
||||
Bukkit.getScheduler().runTask(getPlugin(), () -> getIslands().clearArea(e.getTo()));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
|
||||
|
Loading…
Reference in New Issue
Block a user