From 8f97e6780fc7e0b769a015f59a3af438c7add3ae Mon Sep 17 00:00:00 2001 From: Jarva <4622609+Jarva@users.noreply.github.com> Date: Tue, 12 Jul 2022 04:13:22 +0100 Subject: [PATCH] feat: add remaining claim blocks --- .../io/github/flemmli97/flan/api/data/IPlayerData.java | 2 ++ .../java/io/github/flemmli97/flan/claim/ClaimStorage.java | 4 ++-- .../io/github/flemmli97/flan/commands/CommandClaim.java | 4 ++-- .../java/io/github/flemmli97/flan/config/LangManager.java | 2 +- .../io/github/flemmli97/flan/player/PlayerClaimData.java | 7 ++++++- 5 files changed, 13 insertions(+), 6 deletions(-) diff --git a/common/src/main/java/io/github/flemmli97/flan/api/data/IPlayerData.java b/common/src/main/java/io/github/flemmli97/flan/api/data/IPlayerData.java index 0157ce0..cde1ad7 100644 --- a/common/src/main/java/io/github/flemmli97/flan/api/data/IPlayerData.java +++ b/common/src/main/java/io/github/flemmli97/flan/api/data/IPlayerData.java @@ -10,6 +10,8 @@ public interface IPlayerData { int usedClaimBlocks(); + int remainingClaimBlocks(); + void setAdditionalClaims(int amount); default boolean canUseClaimBlocks(int amount) { diff --git a/common/src/main/java/io/github/flemmli97/flan/claim/ClaimStorage.java b/common/src/main/java/io/github/flemmli97/flan/claim/ClaimStorage.java index 342685b..ecab647 100644 --- a/common/src/main/java/io/github/flemmli97/flan/claim/ClaimStorage.java +++ b/common/src/main/java/io/github/flemmli97/flan/claim/ClaimStorage.java @@ -107,7 +107,7 @@ public class ClaimStorage implements IPermissionStorage { data.updateScoreboard(); player.displayClientMessage(PermHelper.simpleColoredText(ConfigHandler.langManager.get("claimCreateSuccess"), ChatFormatting.GOLD), false); player.displayClientMessage(PermHelper.simpleColoredText(String.format(ConfigHandler.langManager.get("claimBlocksFormat"), - data.getClaimBlocks(), data.getAdditionalClaims(), data.usedClaimBlocks()), ChatFormatting.GOLD), false); + data.getClaimBlocks(), data.getAdditionalClaims(), data.usedClaimBlocks(), data.remainingClaimBlocks()), ChatFormatting.GOLD), false); return true; } PlayerClaimData data = PlayerClaimData.get(player); @@ -202,7 +202,7 @@ public class ClaimStorage implements IPermissionStorage { ((PlayerClaimData) newData).updateScoreboard(); player.displayClientMessage(PermHelper.simpleColoredText(ConfigHandler.langManager.get("resizeSuccess"), ChatFormatting.GOLD), false); player.displayClientMessage(PermHelper.simpleColoredText(String.format(ConfigHandler.langManager.get("claimBlocksFormat"), - newData.getClaimBlocks(), newData.getAdditionalClaims(), newData.usedClaimBlocks()), ChatFormatting.GOLD), false); + newData.getClaimBlocks(), newData.getAdditionalClaims(), newData.usedClaimBlocks(), data.remainingClaimBlocks()), ChatFormatting.GOLD), false); return true; } player.displayClientMessage(PermHelper.simpleColoredText(ConfigHandler.langManager.get("notEnoughBlocks"), ChatFormatting.RED), false); diff --git a/common/src/main/java/io/github/flemmli97/flan/commands/CommandClaim.java b/common/src/main/java/io/github/flemmli97/flan/commands/CommandClaim.java index 09b6537..454621a 100644 --- a/common/src/main/java/io/github/flemmli97/flan/commands/CommandClaim.java +++ b/common/src/main/java/io/github/flemmli97/flan/commands/CommandClaim.java @@ -444,11 +444,11 @@ public class CommandClaim { if (player != null) { PlayerClaimData data = PlayerClaimData.get(player); context.getSource().sendSuccess(PermHelper.simpleColoredText(String.format(ConfigHandler.langManager.get("claimBlocksFormat"), - data.getClaimBlocks(), data.getAdditionalClaims(), data.usedClaimBlocks()), ChatFormatting.GOLD), false); + data.getClaimBlocks(), data.getAdditionalClaims(), data.usedClaimBlocks(), data.remainingClaimBlocks()), ChatFormatting.GOLD), false); } else { OfflinePlayerData data = new OfflinePlayerData(server, of); context.getSource().sendSuccess(PermHelper.simpleColoredText(String.format(ConfigHandler.langManager.get("claimBlocksFormat"), - data.claimBlocks, data.getAdditionalClaims(), data.usedClaimBlocks()), ChatFormatting.GOLD), false); + data.claimBlocks, data.getAdditionalClaims(), data.usedClaimBlocks(), data.remainingClaimBlocks()), ChatFormatting.GOLD), false); } } context.getSource().sendSuccess(PermHelper.simpleColoredText(ConfigHandler.langManager.get("listClaims"), ChatFormatting.GOLD), false); diff --git a/common/src/main/java/io/github/flemmli97/flan/config/LangManager.java b/common/src/main/java/io/github/flemmli97/flan/config/LangManager.java index afc1fbb..0ee53dc 100644 --- a/common/src/main/java/io/github/flemmli97/flan/config/LangManager.java +++ b/common/src/main/java/io/github/flemmli97/flan/config/LangManager.java @@ -39,7 +39,7 @@ public class LangManager { this.defaultTranslation.put("noClaim", "There is no claim here."); this.defaultTranslation.put("inspectBlockOwner", "This is %1$s's claim"); this.defaultTranslation.put("inspectNoClaim", "Nobody owns this block"); - this.defaultTranslation.put("claimBlocksFormat", "Claim Blocks: %1$d + (Bonus) %2$d); Used: %3$d"); + this.defaultTranslation.put("claimBlocksFormat", "Claim Blocks: %1$d + (Bonus) %2$d); Used: %3$d; Remaining %4$d"); this.defaultTranslation.put("listClaims", "Listing all claims:"); this.defaultTranslation.put("listAdminClaims", "Listing all admin-claims in %1$s:"); this.defaultTranslation.put("onlyOnePlayer", "Only one player can be used as argument"); diff --git a/common/src/main/java/io/github/flemmli97/flan/player/PlayerClaimData.java b/common/src/main/java/io/github/flemmli97/flan/player/PlayerClaimData.java index 43d9a5d..039c485 100644 --- a/common/src/main/java/io/github/flemmli97/flan/player/PlayerClaimData.java +++ b/common/src/main/java/io/github/flemmli97/flan/player/PlayerClaimData.java @@ -134,6 +134,11 @@ public class PlayerClaimData implements IPlayerData { return this.calculateUsedClaimBlocks(); } + @Override + public int remainingClaimBlocks() { + return this.getClaimBlocks() + this.getAdditionalClaims() - this.usedClaimBlocks(); + } + /** * To prevent double processing. most notably when right clicking on a block and the block doesnt do anything -> * block onUse -> item use. Might be a better way but for now this. But also handles having @@ -286,7 +291,7 @@ public class PlayerClaimData implements IPlayerData { } else if (!this.claimBlockMessage) { this.claimBlockMessage = true; this.player.displayClientMessage(PermHelper.simpleColoredText(String.format(ConfigHandler.langManager.get("claimBlocksFormat"), - this.getClaimBlocks(), this.getAdditionalClaims(), this.usedClaimBlocks()), ChatFormatting.GOLD), false); + this.getClaimBlocks(), this.getAdditionalClaims(), this.usedClaimBlocks(), this.remainingClaimBlocks()), ChatFormatting.GOLD), false); } this.actionCooldown--; if (--this.trappedTick >= 0) {