From 6abf92584bb12b24b4ca92fd9ad8e398aaeddf96 Mon Sep 17 00:00:00 2001 From: Florian CUNY Date: Fri, 10 Apr 2020 17:30:08 +0200 Subject: [PATCH 01/12] Version up 1.12.0 --- pom.xml | 2 +- src/main/resources/addon.yml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 071e086..b57492c 100644 --- a/pom.xml +++ b/pom.xml @@ -64,7 +64,7 @@ -LOCAL - 1.9.5 + 1.12.0 diff --git a/src/main/resources/addon.yml b/src/main/resources/addon.yml index 3cc1601..f22eff4 100755 --- a/src/main/resources/addon.yml +++ b/src/main/resources/addon.yml @@ -1,6 +1,7 @@ name: Limits main: world.bentobox.limits.Limits version: ${version}${build.number} +api-version: 1.12 authors: tastybento From 16974ad5edbae623d70ae7f65485db1782cbb146 Mon Sep 17 00:00:00 2001 From: Florian CUNY Date: Fri, 10 Apr 2020 17:30:36 +0200 Subject: [PATCH 02/12] Updated Spigot and BentoBox dependencies to latest versions --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index b57492c..a24607a 100644 --- a/pom.xml +++ b/pom.xml @@ -57,8 +57,8 @@ 2.0.2 - 1.13.2-R0.1-SNAPSHOT - 1.9.0 + 1.15.2-R0.1-SNAPSHOT + 1.12.0 ${build.version}-SNAPSHOT From 432214485f5a56187e174cc3af1f901b8cef0611 Mon Sep 17 00:00:00 2001 From: Krystian <34654573+workonfire@users.noreply.github.com> Date: Mon, 20 Apr 2020 01:28:08 +0200 Subject: [PATCH 03/12] Add Polish translation --- src/main/resources/locales/pl.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/main/resources/locales/pl.yml diff --git a/src/main/resources/locales/pl.yml b/src/main/resources/locales/pl.yml new file mode 100644 index 0000000..3a3a6f0 --- /dev/null +++ b/src/main/resources/locales/pl.yml @@ -0,0 +1,27 @@ +# +# This is a YML file. Be careful when editing. Check your edits in a YAML checker like # +# the one at http://yaml-online-parser.appspot.com # +block-limits: + hit-limit: '&c[material] limitowany do [number]!' +entity-limits: + hit-limit: '&cSpawnowanie [entity] limitowane do [number]!' +limits: + panel-title: Limity wysp +admin: + limits: + main: + parameters: + description: pokazuje limity wysp gracza + calc: + parameters: + description: ponownie oblicza limity wyspy dla gracza + finished: '&aPrzeliczanie zakończone!' +island: + limits: + description: pokazuje limity twojej wyspy + max-color: '&c' + regular-color: '&a' + block-limit-syntax: '[number]/[limit]' + no-limits: '&cBrak ustawionych limitów.' + recount: + description: określa limity dla twojej wyspy From 100f5ea026b2bfcb141908c45dee632aceb689ab Mon Sep 17 00:00:00 2001 From: tastybento Date: Thu, 30 Apr 2020 16:29:45 -0700 Subject: [PATCH 04/12] Version 1.12.1 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index a24607a..70ad95b 100644 --- a/pom.xml +++ b/pom.xml @@ -64,7 +64,7 @@ -LOCAL - 1.12.0 + 1.12.1 From b58859ae3fb2f92ba52b226e7ce51e069e491b4e Mon Sep 17 00:00:00 2001 From: tastybento Date: Thu, 30 Apr 2020 16:30:34 -0700 Subject: [PATCH 05/12] Fixes bug where permission limits were given to everyone Fixes https://github.com/BentoBoxWorld/Limits/issues/79 --- src/main/java/world/bentobox/limits/Settings.java | 3 ++- .../java/world/bentobox/limits/commands/LimitPanel.java | 3 ++- .../java/world/bentobox/limits/commands/LimitsCalc.java | 7 ++++++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/main/java/world/bentobox/limits/Settings.java b/src/main/java/world/bentobox/limits/Settings.java index c781c33..7a7a98b 100644 --- a/src/main/java/world/bentobox/limits/Settings.java +++ b/src/main/java/world/bentobox/limits/Settings.java @@ -1,6 +1,7 @@ package world.bentobox.limits; import java.util.Arrays; +import java.util.Collections; import java.util.EnumMap; import java.util.List; import java.util.Map; @@ -70,7 +71,7 @@ public class Settings { * @return the limits */ public Map getLimits() { - return limits; + return Collections.unmodifiableMap(limits); } /** diff --git a/src/main/java/world/bentobox/limits/commands/LimitPanel.java b/src/main/java/world/bentobox/limits/commands/LimitPanel.java index c3d3613..07d5fcd 100644 --- a/src/main/java/world/bentobox/limits/commands/LimitPanel.java +++ b/src/main/java/world/bentobox/limits/commands/LimitPanel.java @@ -1,5 +1,6 @@ package world.bentobox.limits.commands; +import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import java.util.Objects; @@ -105,7 +106,7 @@ public class LimitPanel { pb.item(pib.build()); } // Entity limits - Map map = addon.getSettings().getLimits(); + Map map = new HashMap<>(addon.getSettings().getLimits()); // Merge in any permission-based limits if (ibc != null) ibc.getEntityLimits().forEach(map::put); map.forEach((k,v) -> { diff --git a/src/main/java/world/bentobox/limits/commands/LimitsCalc.java b/src/main/java/world/bentobox/limits/commands/LimitsCalc.java index 651b969..683af85 100644 --- a/src/main/java/world/bentobox/limits/commands/LimitsCalc.java +++ b/src/main/java/world/bentobox/limits/commands/LimitsCalc.java @@ -1,6 +1,11 @@ package world.bentobox.limits.commands; -import java.util.*; +import java.util.EnumMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Objects; +import java.util.Set; +import java.util.UUID; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; From eb065d321ee3ea4521aca66ee2a55d06c1bdb214 Mon Sep 17 00:00:00 2001 From: tastybento Date: Tue, 5 May 2020 16:55:44 -0700 Subject: [PATCH 06/12] Version 1.12.2 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 70ad95b..2b57a61 100644 --- a/pom.xml +++ b/pom.xml @@ -64,7 +64,7 @@ -LOCAL - 1.12.1 + 1.12.2 From 3d0e1b09220216744e8a3eb0ca0571f299fb5ba0 Mon Sep 17 00:00:00 2001 From: tastybento Date: Tue, 5 May 2020 16:56:22 -0700 Subject: [PATCH 07/12] Recount will count Nether and End blocks. Fixes https://github.com/BentoBoxWorld/Limits/issues/80 --- .../bentobox/limits/commands/LimitsCalc.java | 36 ++++++++++++++++--- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/src/main/java/world/bentobox/limits/commands/LimitsCalc.java b/src/main/java/world/bentobox/limits/commands/LimitsCalc.java index 683af85..2660067 100644 --- a/src/main/java/world/bentobox/limits/commands/LimitsCalc.java +++ b/src/main/java/world/bentobox/limits/commands/LimitsCalc.java @@ -38,9 +38,20 @@ public class LimitsCalc { private final User sender; private final Set> chunksToScan; private int count; + private int chunksToScanCount; + private BentoBox plugin; + /** + * Perform a count of all limited blocks or entities on an island + * @param world - game world to scan + * @param instance - BentoBox + * @param targetPlayer - target player's island + * @param addon - addon instance + * @param sender - requester of the count + */ LimitsCalc(World world, BentoBox instance, UUID targetPlayer, Limits addon, User sender) { + this.plugin = instance; this.addon = addon; this.island = instance.getIslands().getIsland(world, targetPlayer); this.bll = addon.getBlockLimitListener(); @@ -52,19 +63,36 @@ public class LimitsCalc { // Get chunks to scan chunksToScan = getChunksToScan(island); count = 0; - chunksToScan.forEach(c -> Util.getChunkAtAsync(world, c.x, c.z).thenAccept(ch -> { + + boolean isNether = plugin.getIWM().isNetherGenerate(world) && plugin.getIWM().isNetherIslands(world); + boolean isEnd = plugin.getIWM().isEndGenerate(world) && plugin.getIWM().isEndIslands(world); + // Calculate how many chunks need to be scanned + chunksToScanCount = chunksToScan.size() + (isNether ? chunksToScan.size():0) + (isEnd ? chunksToScan.size():0); + chunksToScan.forEach(c -> { + asyncScan(world, c); + if (isNether) asyncScan(plugin.getIWM().getNetherWorld(world), c); + if (isEnd) asyncScan(plugin.getIWM().getEndWorld(world), c); + }); + + } + + + + private void asyncScan(World world2, Pair c) { + Util.getChunkAtAsync(world2, c.x, c.z).thenAccept(ch -> { ChunkSnapshot snapShot = ch.getChunkSnapshot(); Bukkit.getScheduler().runTaskAsynchronously(addon.getPlugin(), () -> { this.scanChunk(snapShot); count++; - if (count == chunksToScan.size()) { + if (count == chunksToScanCount) { this.tidyUp(); } }); - })); - + }); } + + private void scanChunk(ChunkSnapshot chunk) { for (int x = 0; x < 16; x++) { // Check if the block coordinate is inside the protection zone and if not, don't count it From e11d6825f3e7809100dba940b790fd3d48663729 Mon Sep 17 00:00:00 2001 From: Over_Brave Date: Sun, 31 May 2020 17:55:53 +0000 Subject: [PATCH 08/12] Translate tr.yml via GitLocalize --- src/main/resources/locales/tr.yml | 47 +++++++++++++------------------ 1 file changed, 20 insertions(+), 27 deletions(-) diff --git a/src/main/resources/locales/tr.yml b/src/main/resources/locales/tr.yml index 659e1b9..9b8a968 100644 --- a/src/main/resources/locales/tr.yml +++ b/src/main/resources/locales/tr.yml @@ -1,32 +1,25 @@ -########################################################################################### -# This is a YML file. Be careful when editing. Check your edits in a YAML checker like # -# the one at http://yaml-online-parser.appspot.com # -########################################################################################### - -entity-limits: - hit-limit: "&3&LS&b&lC &8&L» &e[entity] &4varlığından &5[number] &4tane koyabilirsin!" -block-limits: - hit-limit: "&3&LS&b&lC &8&L» &e[material] &4eşyasından &5[number] &4koyabilirsin!" -limits: - panel-title: "&3&lSon&b&lCesurlar &eAda limiti" - +--- admin: limits: - main: - parameters: "" - description: "Oyuncu için ada limitlerini göster." - calc: - parameters: "" - description: "Oyuncu için ada limitlerini tekrar hesapla." - finished: "&aIsland recalc finished sucessfully!" - + calc: + description: Oyuncu için ada limitlerini tekrar hesapla. + parameters: "" + finished: "&aAda hesaplaması başarıyla yapıldı." + main: + description: Oyuncu için ada limitlerini göster. + parameters: "" island: - limits: - parameters: "" - description: "Ada limitlerini gör." + limits: + block-limit-syntax: "&5[number]&7/&e[limit]" + description: Ada limitlerini gör. max-color: "&c" regular-color: "&9" - block-limit-syntax: "&5[number]&7/&e[limit]" - no-limits: "&3&LS&c&lC &A&L» &4Bu dünyada limitler ayarlı değil!" - - \ No newline at end of file + no-limits: "&4Bu dünyada limitler ayarlı değil!" + recount: + description: Ada limitlerini tekrardan hesaplar. +block-limits: + hit-limit: "&e[material] &4eşyasından &5[number] &4koyabilirsin!" +entity-limits: + hit-limit: "&e[entity] &4varlığından &5[number] &4tane koyabilirsin!" +limits: + panel-title: "&eAda limiti" From caf766403c39859534fa05559dd0ae12d30eb40f Mon Sep 17 00:00:00 2001 From: tastybento Date: Tue, 2 Jun 2020 17:27:33 -0700 Subject: [PATCH 09/12] Version 1.13.0 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 2b57a61..67ee0f9 100644 --- a/pom.xml +++ b/pom.xml @@ -58,13 +58,13 @@ 2.0.2 1.15.2-R0.1-SNAPSHOT - 1.12.0 + 1.13.1 ${build.version}-SNAPSHOT -LOCAL - 1.12.2 + 1.13.0 From ad186958ccd0b2ee34c97260589bf176716809db Mon Sep 17 00:00:00 2001 From: tastybento Date: Tue, 2 Jun 2020 17:54:54 -0700 Subject: [PATCH 10/12] Adds event that fires when player joins and before perm check Cancel the event to prevent perm settings of limits. --- .../events/LimitsJoinPermCheckEvent.java | 110 ++++++++++++++++++ .../limits/listeners/BlockLimitsListener.java | 6 +- .../limits/listeners/JoinListener.java | 15 ++- src/main/resources/addon.yml | 2 +- 4 files changed, 128 insertions(+), 5 deletions(-) create mode 100644 src/main/java/world/bentobox/limits/events/LimitsJoinPermCheckEvent.java diff --git a/src/main/java/world/bentobox/limits/events/LimitsJoinPermCheckEvent.java b/src/main/java/world/bentobox/limits/events/LimitsJoinPermCheckEvent.java new file mode 100644 index 0000000..6d18b91 --- /dev/null +++ b/src/main/java/world/bentobox/limits/events/LimitsJoinPermCheckEvent.java @@ -0,0 +1,110 @@ +package world.bentobox.limits.events; + +import org.bukkit.entity.Player; +import org.bukkit.event.Cancellable; +import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.Nullable; + +import world.bentobox.bentobox.api.events.BentoBoxEvent; +import world.bentobox.limits.objects.IslandBlockCount; + +/** + * Fired when a player joins the server and before limit settings for their island are changed based + * on the player's permissions. If cancelled, no limit settings will be made. + * @author tastybento + * + */ +public class LimitsJoinPermCheckEvent extends BentoBoxEvent implements Cancellable { + + private final Player player; + private final String islandId; + private IslandBlockCount ibc; + private boolean cancel; + private boolean ignorePerms; + + /** + * Fired when a player joins the server and before limit settings for their island are changed based + * on the player's permissions. If cancelled, no limit settings will be made. + * @param player - player joining + * @param islandId - the unique island id. + * @param ibc - IslandBlockCount object for this island + */ + public LimitsJoinPermCheckEvent(@NonNull Player player, @NonNull String islandId, @Nullable IslandBlockCount ibc) { + super(); + this.player = player; + this.islandId = islandId; + this.ibc = ibc; + } + + + /** + * Get the player joining + * @return the player + */ + @NonNull + public Player getPlayer() { + return player; + } + + + /** + * Get the unique island id. Use the islands manager to obtain the island + * @return the islandId + */ + @NonNull + public String getIslandId() { + return islandId; + } + + + /** + * Get the island block count + * @return the ibc + */ + @Nullable + public IslandBlockCount getIbc() { + return ibc; + } + + + /** + * Set the island block count to a specific setting + * @param ibc the ibc to set + */ + public void setIbc(@Nullable IslandBlockCount ibc) { + this.ibc = ibc; + } + + + @Override + public boolean isCancelled() { + return cancel; + } + + @Override + public void setCancelled(boolean cancel) { + this.cancel = cancel; + + } + + + /** + * Check if player's perms should be considered or not + * @return the ignorePerms + */ + public boolean isIgnorePerms() { + return ignorePerms; + } + + + /** + * Ignore player's perms. This differs to canceling the event in that the IslandBlockCount will be used if given via + * {@link setIbc(IslandBlockCount ibc)} + * @param ignorePerms the ignorePerms to set + */ + public void setIgnorePerms(boolean ignorePerms) { + this.ignorePerms = ignorePerms; + } + + +} diff --git a/src/main/java/world/bentobox/limits/listeners/BlockLimitsListener.java b/src/main/java/world/bentobox/limits/listeners/BlockLimitsListener.java index db28154..837ef38 100644 --- a/src/main/java/world/bentobox/limits/listeners/BlockLimitsListener.java +++ b/src/main/java/world/bentobox/limits/listeners/BlockLimitsListener.java @@ -146,7 +146,7 @@ public class BlockLimitsListener implements Listener { * Save the count database completely */ public void save() { - islandCountMap.values().forEach(handler::saveObject); + islandCountMap.values().forEach(handler::saveObjectAsync); } // Player-related events @@ -349,7 +349,7 @@ public class BlockLimitsListener implements Listener { } } if (saveMap.get(id) > CHANGE_LIMIT) { - handler.saveObject(islandCountMap.get(id)); + handler.saveObjectAsync(islandCountMap.get(id)); saveMap.remove(id); } return -1; @@ -428,7 +428,7 @@ public class BlockLimitsListener implements Listener { */ public void setIsland(String islandId, IslandBlockCount ibc) { islandCountMap.put(islandId, ibc); - handler.saveObject(ibc); + handler.saveObjectAsync(ibc); } /** diff --git a/src/main/java/world/bentobox/limits/listeners/JoinListener.java b/src/main/java/world/bentobox/limits/listeners/JoinListener.java index 612a5de..1e66fb5 100644 --- a/src/main/java/world/bentobox/limits/listeners/JoinListener.java +++ b/src/main/java/world/bentobox/limits/listeners/JoinListener.java @@ -23,6 +23,7 @@ import world.bentobox.bentobox.api.events.island.IslandEvent.Reason; import world.bentobox.bentobox.api.events.team.TeamEvent.TeamSetownerEvent; import world.bentobox.bentobox.database.objects.Island; import world.bentobox.limits.Limits; +import world.bentobox.limits.events.LimitsJoinPermCheckEvent; import world.bentobox.limits.objects.IslandBlockCount; /** @@ -40,6 +41,18 @@ public class JoinListener implements Listener { private void checkPerms(Player player, String permissionPrefix, String islandId, String gameMode) { IslandBlockCount ibc = addon.getBlockLimitListener().getIsland(islandId); + // Fire event, so other addons can cancel this permissions change + LimitsJoinPermCheckEvent e = new LimitsJoinPermCheckEvent(player, gameMode, ibc); + Bukkit.getPluginManager().callEvent(e); + if (e.isCancelled()) return; + // Get ibc from event if it has changed + ibc = e.getIbc(); + // If perms should be ignored, but the IBC given in the event used, then set it and return + if (e.isIgnorePerms() && ibc != null) { + addon.getBlockLimitListener().setIsland(islandId, ibc); + return; + } + // Check permissions if (ibc != null) { // Clear permission limits ibc.getEntityLimits().clear(); @@ -127,7 +140,7 @@ public class JoinListener implements Listener { // Check if player has any islands in the game modes addon.getGameModes().forEach(gm -> { if (addon.getIslands().hasIsland(gm.getOverWorld(), e.getPlayer().getUniqueId())) { - String islandId = addon.getIslands().getIsland(gm.getOverWorld(), e.getPlayer().getUniqueId()).getUniqueId(); + String islandId = Objects.requireNonNull(addon.getIslands().getIsland(gm.getOverWorld(), e.getPlayer().getUniqueId())).getUniqueId(); checkPerms(e.getPlayer(), gm.getPermissionPrefix() + "island.limit.", islandId, gm.getDescription().getName()); } }); diff --git a/src/main/resources/addon.yml b/src/main/resources/addon.yml index f22eff4..322e347 100755 --- a/src/main/resources/addon.yml +++ b/src/main/resources/addon.yml @@ -1,7 +1,7 @@ name: Limits main: world.bentobox.limits.Limits version: ${version}${build.number} -api-version: 1.12 +api-version: 1.13 authors: tastybento From 2329e2c61ec84d3b6d9af70abc43edeee242ac81 Mon Sep 17 00:00:00 2001 From: tastybento Date: Thu, 4 Jun 2020 07:59:24 -0700 Subject: [PATCH 11/12] Fix tests --- .../addon/limits/listeners/JoinListenerTest.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/test/java/bentobox/addon/limits/listeners/JoinListenerTest.java b/src/test/java/bentobox/addon/limits/listeners/JoinListenerTest.java index 366bf5f..8648d54 100644 --- a/src/test/java/bentobox/addon/limits/listeners/JoinListenerTest.java +++ b/src/test/java/bentobox/addon/limits/listeners/JoinListenerTest.java @@ -22,6 +22,7 @@ import org.bukkit.entity.EntityType; import org.bukkit.entity.Player; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.permissions.PermissionAttachmentInfo; +import org.bukkit.plugin.PluginManager; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -68,6 +69,8 @@ public class JoinListenerTest { private OfflinePlayer owner; @Mock private Island island; + @Mock + private PluginManager pim; @Before public void setUp() { @@ -102,6 +105,7 @@ public class JoinListenerTest { when(owner.isOnline()).thenReturn(true); when(owner.getPlayer()).thenReturn(player); when(Bukkit.getOfflinePlayer(any(UUID.class))).thenReturn(owner); + when(Bukkit.getPluginManager()).thenReturn(pim); // Island when(island.getOwner()).thenReturn(UUID.randomUUID()); @@ -311,7 +315,7 @@ public class JoinListenerTest { verify(addon, never()).logError(anyString()); verify(ibc).setBlockLimit(eq(Material.STONE), eq(24)); } - + /** * Test method for {@link world.bentobox.limits.listeners.JoinListener#onPlayerJoin(org.bukkit.event.player.PlayerJoinEvent)}. */ @@ -359,7 +363,7 @@ public class JoinListenerTest { when(permAtt6.getPermission()).thenReturn("bskyblock.island.limit.cave_spider.4"); when(permAtt6.getValue()).thenReturn(false); // negative perm perms.add(permAtt6); - + when(player.getEffectivePermissions()).thenReturn(perms); PlayerJoinEvent e = new PlayerJoinEvent(player, "welcome"); jl.onPlayerJoin(e); @@ -400,7 +404,7 @@ public class JoinListenerTest { verify(ibc, never()).setBlockLimit(eq(Material.STONE), eq(14)); verify(ibc).setBlockLimit(eq(Material.STONE), eq(34)); } - + /** * Test method for {@link world.bentobox.limits.listeners.JoinListener#onPlayerJoin(org.bukkit.event.player.PlayerJoinEvent)}. */ From 4ca3455d5bf2dba834123a8a05ae9eca20dab5d7 Mon Sep 17 00:00:00 2001 From: tastybento Date: Wed, 10 Jun 2020 20:58:07 -0700 Subject: [PATCH 12/12] Update to BentoBox 1.14 API Shorter table names for SQL DBs. Async db saving. --- pom.xml | 4 ++-- .../world/bentobox/limits/objects/EntityLimitsDO.java | 2 ++ .../bentobox/limits/objects/IslandBlockCount.java | 10 ++++++---- src/main/resources/addon.yml | 2 +- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/pom.xml b/pom.xml index 67ee0f9..2214e9d 100644 --- a/pom.xml +++ b/pom.xml @@ -58,13 +58,13 @@ 2.0.2 1.15.2-R0.1-SNAPSHOT - 1.13.1 + 1.14.0-SNAPSHOT ${build.version}-SNAPSHOT -LOCAL - 1.13.0 + 1.14.0 diff --git a/src/main/java/world/bentobox/limits/objects/EntityLimitsDO.java b/src/main/java/world/bentobox/limits/objects/EntityLimitsDO.java index e96df20..b313e3f 100644 --- a/src/main/java/world/bentobox/limits/objects/EntityLimitsDO.java +++ b/src/main/java/world/bentobox/limits/objects/EntityLimitsDO.java @@ -7,11 +7,13 @@ import java.util.UUID; import com.google.gson.annotations.Expose; import world.bentobox.bentobox.database.objects.DataObject; +import world.bentobox.bentobox.database.objects.Table; /** * @author tastybento * */ +@Table(name = "EntityLimits") public class EntityLimitsDO implements DataObject { @Expose diff --git a/src/main/java/world/bentobox/limits/objects/IslandBlockCount.java b/src/main/java/world/bentobox/limits/objects/IslandBlockCount.java index b94b265..b30f260 100644 --- a/src/main/java/world/bentobox/limits/objects/IslandBlockCount.java +++ b/src/main/java/world/bentobox/limits/objects/IslandBlockCount.java @@ -9,11 +9,13 @@ import org.bukkit.entity.EntityType; import com.google.gson.annotations.Expose; import world.bentobox.bentobox.database.objects.DataObject; +import world.bentobox.bentobox.database.objects.Table; /** * @author tastybento * */ +@Table(name = "IslandBlockCount") public class IslandBlockCount implements DataObject { @Expose @@ -175,7 +177,7 @@ public class IslandBlockCount implements DataObject { public void setEntityLimits(Map entityLimits) { this.entityLimits = entityLimits; } - + /** * Set an island-specific entity type limit * @param t - entity type @@ -184,7 +186,7 @@ public class IslandBlockCount implements DataObject { public void setEntityLimit(EntityType t, int limit) { entityLimits.put(t, limit); } - + /** * Get the limit for an entity type * @param t - entity type @@ -193,12 +195,12 @@ public class IslandBlockCount implements DataObject { public int getEntityLimit(EntityType t) { return entityLimits.getOrDefault(t, -1); } - + /** * Clear all island-specific entity type limits */ public void clearEntityLimits() { entityLimits.clear(); } - + } diff --git a/src/main/resources/addon.yml b/src/main/resources/addon.yml index 322e347..1bbc03c 100755 --- a/src/main/resources/addon.yml +++ b/src/main/resources/addon.yml @@ -1,7 +1,7 @@ name: Limits main: world.bentobox.limits.Limits version: ${version}${build.number} -api-version: 1.13 +api-version: 1.14 authors: tastybento