Improve item/block registry id lookups.

* Update en_US lang file.
* Update for latest API and adapter changes.
This commit is contained in:
bloodshot 2019-07-27 20:17:22 -04:00
parent 96c90fcd7b
commit 542247e73d
9 changed files with 103 additions and 96 deletions

View File

@ -80,7 +80,7 @@ import com.griefdefender.command.CommandClaimSell;
import com.griefdefender.command.CommandClaimSellBlocks;
import com.griefdefender.command.CommandClaimSetSpawn;
import com.griefdefender.command.CommandClaimSpawn;
import com.griefdefender.command.CommandClaimSubdivide;
import com.griefdefender.command.CommandClaimSubdivision;
import com.griefdefender.command.CommandClaimTown;
import com.griefdefender.command.CommandClaimTransfer;
import com.griefdefender.command.CommandClaimWorldEdit;
@ -552,7 +552,7 @@ public class GriefDefenderPlugin {
manager.registerCommand(new CommandClaimSellBlocks());
manager.registerCommand(new CommandClaimSetSpawn());
manager.registerCommand(new CommandClaimSpawn());
manager.registerCommand(new CommandClaimSubdivide());
manager.registerCommand(new CommandClaimSubdivision());
manager.registerCommand(new CommandClaimTown());
manager.registerCommand(new CommandClaimTransfer());
manager.registerCommand(new CommandClaimWorldEdit());
@ -733,7 +733,8 @@ public class GriefDefenderPlugin {
GDFlags.populateFlagStatus();
PermissionHolderCache.getInstance().getOrCreatePermissionCache(GriefDefenderPlugin.DEFAULT_HOLDER).invalidateAll();
CLAIM_BLOCK_SYSTEM = BaseStorage.globalConfig.getConfig().playerdata.claimBlockSystem;
this.modificationTool = ItemTypeRegistryModule.getInstance().getById(BaseStorage.globalConfig.getConfig().claim.modificationTool).orElse(ItemTypeRegistryModule.getInstance().getById("minecraft:golden_shovel").get());
final GDItemType defaultModTool = ItemTypeRegistryModule.getInstance().getById("minecraft:golden_shovel").orElse(null);
this.modificationTool = ItemTypeRegistryModule.getInstance().getById(BaseStorage.globalConfig.getConfig().claim.modificationTool).orElse(defaultModTool);
this.investigationTool = ItemTypeRegistryModule.getInstance().getById(BaseStorage.globalConfig.getConfig().claim.investigationTool).orElse(ItemTypeRegistryModule.getInstance().getById("minecraft:stick").get());
this.maxInspectionDistance = BaseStorage.globalConfig.getConfig().general.maxClaimInspectionDistance;
if (this.dataStore != null) {

View File

@ -413,6 +413,11 @@ public class GDClaim implements Claim {
@Override
public int getHeight() {
return this.greaterBoundaryCorner.getY() - this.lesserBoundaryCorner.getY() + 1;
}
@Override
public int getLength() {
return this.greaterBoundaryCorner.getZ() - this.lesserBoundaryCorner.getZ() + 1;
}

View File

@ -62,7 +62,7 @@ public class CommandClaimAbandon extends BaseCommand {
protected boolean abandonTopClaim = false;
@CommandAlias("abandonclaim")
@CommandAlias("abandon|abandonclaim")
@Description("Abandons a claim")
@Subcommand("abandon claim")
public void execute(Player player) {

View File

@ -38,7 +38,7 @@ import org.bukkit.entity.Player;
@CommandAlias("%griefdefender")
@CommandPermission(GDPermissions.COMMAND_SUBDIVIDE_CLAIMS)
public class CommandClaimSubdivide extends BaseCommand {
public class CommandClaimSubdivision extends BaseCommand {
@CommandAlias("modesubdivide")
@Description("Switches the shovel tool to subdivision mode, used to subdivide your claims.")

View File

@ -27,8 +27,6 @@ package com.griefdefender.configuration;
import java.util.HashMap;
import java.util.Map;
import org.checkerframework.checker.nullness.qual.NonNull;
import com.google.common.collect.ImmutableMap;
import com.griefdefender.configuration.category.ConfigCategory;

View File

@ -53,6 +53,8 @@ import com.griefdefender.event.GDBorderClaimEvent;
import com.griefdefender.event.GDCauseStackManager;
import com.griefdefender.internal.provider.WorldEditProvider;
import com.griefdefender.internal.provider.WorldGuardProvider;
import com.griefdefender.internal.registry.BlockTypeRegistryModule;
import com.griefdefender.internal.registry.ItemTypeRegistryModule;
import com.griefdefender.internal.util.BlockUtil;
import com.griefdefender.internal.util.NMSUtil;
import com.griefdefender.internal.util.VecHelper;
@ -306,7 +308,7 @@ public class PlayerEventHandler implements Listener {
final Component message = GriefDefenderPlugin.getInstance().messageData.getMessage(MessageStorage.PERMISSION_INVENTORY_OPEN,
ImmutableMap.of(
"player", claim.getOwnerName(),
"block", NMSUtil.getInstance().getMaterialKey(block.getState().getType())));
"block", BlockTypeRegistryModule.getInstance().getNMSKey(block)));
GriefDefenderPlugin.sendClaimDenyMessage(claim, player, message);
event.setCancelled(true);
}
@ -365,7 +367,7 @@ public class PlayerEventHandler implements Listener {
final Component message = GriefDefenderPlugin.getInstance().messageData.getMessage(MessageStorage.PERMISSION_INTERACT_ITEM,
ImmutableMap.of(
"player", claim.getOwnerName(),
"item", NMSUtil.getInstance().getMaterialKey(target.getType())));
"item", ItemTypeRegistryModule.getInstance().getNMSKey(target)));
GriefDefenderPlugin.sendClaimDenyMessage(claim, player, message);
event.setCancelled(true);
}
@ -416,7 +418,7 @@ public class PlayerEventHandler implements Listener {
Component message = GriefDefenderPlugin.getInstance().messageData.getMessage(MessageStorage.PERMISSION_INTERACT_ITEM,
ImmutableMap.of(
"player", claim.getOwnerName(),
"item", NMSUtil.getInstance().getMaterialKey(itemInHand.getType())));
"item", ItemTypeRegistryModule.getInstance().getNMSKey(itemInHand)));
GriefDefenderPlugin.sendClaimDenyMessage(claim, player, message);
event.setCancelled(true);
lastInteractItemCancelled = true;
@ -455,9 +457,8 @@ public class PlayerEventHandler implements Listener {
Component message = GriefDefenderPlugin.getInstance().messageData.getMessage(MessageStorage.PERMISSION_INTERACT_ITEM,
ImmutableMap.of(
"player", claim.getOwnerName(),
"item", NMSUtil.getInstance().getMaterialKey(activeItem.getType())));
"item", ItemTypeRegistryModule.getInstance().getNMSKey(activeItem)));
GriefDefenderPlugin.sendClaimDenyMessage(claim, player, message);
Thread.dumpStack();
event.setCancelled(true);
lastInteractItemCancelled = true;
return;
@ -1585,7 +1586,7 @@ public class PlayerEventHandler implements Listener {
GriefDefenderPlugin.sendClaimDenyMessage(claim, player, message);
} else {
final Component message = GriefDefenderPlugin.getInstance().messageData.getMessage(MessageStorage.PERMISSION_INTERACT_ITEM_ENTITY, ImmutableMap.of(
"item", NMSUtil.getInstance().getMaterialKey(playerItem.getType()),
"item", ItemTypeRegistryModule.getInstance().getNMSKey(playerItem),
"entity", entityId));
GriefDefenderPlugin.sendClaimDenyMessage(claim, player, message);
}
@ -1602,13 +1603,13 @@ public class PlayerEventHandler implements Listener {
final Component message = GriefDefenderPlugin.getInstance().messageData.getMessage(MessageStorage.PERMISSION_INTERACT_BLOCK,
ImmutableMap.of(
"player", claim.getOwnerName(),
"block", NMSUtil.getInstance().getMaterialKey(block.getState().getType())));
"block", BlockTypeRegistryModule.getInstance().getNMSKey(block)));
GriefDefenderPlugin.sendClaimDenyMessage(claim, player, message);
} else {
final Component message = GriefDefenderPlugin.getInstance().messageData.getMessage(MessageStorage.PERMISSION_INTERACT_ITEM_BLOCK,
ImmutableMap.of(
"item", NMSUtil.getInstance().getMaterialKey(playerItem.getType()),
"block", NMSUtil.getInstance().getMaterialKey(block.getState().getType())));
"item", ItemTypeRegistryModule.getInstance().getNMSKey(playerItem),
"block", BlockTypeRegistryModule.getInstance().getNMSKey(block)));
GriefDefenderPlugin.sendClaimDenyMessage(claim, player, message);
}
}

View File

@ -46,8 +46,10 @@ import com.griefdefender.command.CommandHelper;
import com.griefdefender.configuration.MessageStorage;
import com.griefdefender.event.GDCauseStackManager;
import com.griefdefender.event.GDFlagClaimEvent;
import com.griefdefender.internal.registry.BlockTypeRegistryModule;
import com.griefdefender.internal.registry.EntityTypeRegistryModule;
import com.griefdefender.internal.registry.GDEntityType;
import com.griefdefender.internal.registry.ItemTypeRegistryModule;
import com.griefdefender.internal.util.NMSUtil;
import com.griefdefender.registry.FlagRegistryModule;
import com.griefdefender.registry.OptionRegistryModule;
@ -423,11 +425,11 @@ public class GDPermissionManager implements PermissionManager {
return populateEventSourceTarget(id, isSource);
} else if (obj instanceof Block) {
final String id = NMSUtil.getInstance().getMaterialKey(((Block) obj).getState().getType());
final String id = BlockTypeRegistryModule.getInstance().getNMSKey((Block) obj);
return populateEventSourceTarget(id, isSource);
} else if (obj instanceof BlockState) {
final BlockState blockstate = (BlockState) obj;
final String id = NMSUtil.getInstance().getMaterialKey(blockstate.getType());
final String id = BlockTypeRegistryModule.getInstance().getNMSKey(blockstate);
return populateEventSourceTarget(id, isSource);
} /*else if (obj instanceof TileEntity) {
TileEntity tileEntity = (TileEntity) obj;
@ -440,7 +442,7 @@ public class GDPermissionManager implements PermissionManager {
} else if (obj instanceof ItemStack) {
final ItemStack itemstack = (ItemStack) obj;
String id = NMSUtil.getInstance().getMaterialKey(itemstack.getType());
String id = ItemTypeRegistryModule.getInstance().getNMSKey(itemstack);
return populateEventSourceTarget(id, isSource);
} else if (obj instanceof DamageCause) {
final DamageCause damageCause = (DamageCause) obj;

View File

@ -3,9 +3,9 @@
"libraries": [
{
"name": "com.griefdefender:adapter:1.14.4",
"sha1": "28c9b1d5c500a1d09e0844d8b4278cf288a2924f",
"path": "com/griefdefender/adapter/1.14.4-SNAPSHOT/adapter-1.14.4-20190721.010921-1.jar",
"url": "https://repo.glaremasters.me/repository/bloodshot/com/griefdefender/adapter/1.14.4-SNAPSHOT/adapter-1.14.4-20190721.010921-1.jar"
"sha1": "7a70de0c1759d57a5b3a63401f239705b71cddf7",
"path": "com/griefdefender/adapter/1.14.4-SNAPSHOT/adapter-1.14.4-20190727.083726-2.jar",
"url": "https://repo.glaremasters.me/repository/bloodshot/com/griefdefender/adapter/1.14.4-SNAPSHOT/adapter-1.14.4-20190727.083726-2.jar"
},
{
"name": "com.griefdefender:api:1.0.0",

View File

@ -58,121 +58,121 @@ GriefDefender {
version="Displays GriefDefender's version information."
}
messages {
abandon-claim-missing="&cNo claim found. Stand in the claim you want to abandon, or consider /abandonall."
abandon-other-success="{player}'s claim has been abandoned. {player} now has {amount} available claim blocks."
abandon-success="&aClaim abandoned. You now have {amount} available claim blocks."
abandon-top-level="&cThis claim cannot be abandoned as it contains one or more child claims. In order to abandon a claim with child claims, you must use /abandontop instead."
abandon-town-children="&cYou do not have permission to abandon a town with child claims you do not own. Use /ignoreclaims or have the child claim owner abandon their claim first. If you just want to abandon the town without affecting children then use /abandon instead."
abandon-claim-missing="&cNo claim found. Stand in the claim you want to abandon, or consider &f/abandonall&c."
abandon-other-success="&6{player}&a's claim has been abandoned. &6{player}&a now has &6{amount}&a available claim blocks."
abandon-success="&aClaim abandoned. You now have &6{amount}&a available claim blocks."
abandon-top-level="&cThis claim cannot be abandoned as it contains one or more child claims. In order to abandon a claim with child claims, you must use &f/abandontop&c instead."
abandon-town-children="&cYou do not have permission to abandon a town with child claims you do not own. Use &f/ignoreclaims&c or have the child claim owner abandon their claim first. If you just want to abandon the town without affecting children then use &f/abandon&c instead."
abandon-warning="&6Are you sure you want to abandon this claim? It will no longer be protected from grief."
adjust-accrued-blocks-success="&aAdjusted {player}'s accrued claim blocks by {amount}. New total accrued blocks: {total}."
adjust-bonus-blocks-success="&aAdjusted {player}'s bonus claim blocks by {amount}. New total bonus blocks: {total}."
bank-deposit="&aSuccessful deposit of &6{amount} &ainto bank."
adjust-accrued-blocks-success="&aAdjusted &6{player}&a's accrued claim blocks by &6{amount}&a. New total accrued blocks: &6{total}&a."
adjust-bonus-blocks-success="&aAdjusted &6{player}&a's bonus claim blocks by &6{amount}&a. New total bonus blocks: &6{total}&a."
bank-deposit="&aSuccessful deposit of &6{amount}&a into bank."
bank-deposit-no-funds="&cYou do not have enough funds to deposit into the bank."
bank-info="&aBalance: &6{balance} &a\nTax: &6{tax-amount} &fdue in &7{time-remaining} &a\nTax Owed: &6{tax-balance}."
bank-no-permission="&cYou don't have permission to manage {player}'s claim bank."
bank-info="&aBalance: &6{balance}&a \nTax: &6{tax-amount}&f due in &7{time-remaining}&a \nTax Owed: &6{tax-balance}."
bank-no-permission="&cYou don't have permission to manage &6{player}&c's claim bank."
bank-tax-system-disabled="&cThe bank/tax system is not enabled. If you want it enabled, set 'bank-tax-system' to true in config."
bank-withdraw="&aSuccessful withdraw of &6{amount} &afrom bank."
bank-withdraw-no-funds="&cThe claim bank has a remaining balance of &6{balance} &cand does not have enough funds to withdraw &6{amount} &c."
block-claimed="That block has been claimed by &6{player}."
bank-withdraw-no-funds="&cThe claim bank has a remaining balance of &a{balance}&c and does not have enough funds to withdraw &a{amount}&c."
block-claimed="&aThat block has been claimed by &6{player}&a."
block-not-claimed="&cNo one has claimed this block."
block-sale-value="&aEach claim block is worth {amount}. You have {total} available for sale."
claim-above-level="&cUnable to claim block as it is above your maximum claim level limit of {limit}."
block-sale-value="&aEach claim block is worth &6{amount}&a. You have &6{total}&a available for sale."
claim-above-level="&cUnable to claim block as it is above your maximum claim level limit of &a{limit}&c."
claim-automatic-notification="&cThis chest and nearby blocks are protected."
claim-below-level="&cUnable to claim block as it is below your minimum claim level limit of {limit}."
claim-below-level="&cUnable to claim block as it is below your minimum claim level limit of &a{limit}&c."
claim-chest-confirmation="&cThis chest is protected."
claim-chest-outside-level="&cThis chest can't be protected as the position is outside your claim level limits of &a{min-level} &cand &a{max-level} &c."
claim-children-warning="&6This claim includes child claims. If you're sure you want to delete it, use /deleteclaim again."
claim-context-not-found="&cContext {context} was not found."
claim-chest-outside-level="&cThis chest can't be protected as the position is outside your claim level limits of &a{min-level}&c and &a{max-level}&c."
claim-children-warning="&6This claim includes child claims. If you're sure you want to delete it, use &f/deleteclaim&6 again."
claim-context-not-found="&cContext &f{context}&c was not found."
claim-disabled-world="&cClaims are disabled in this world."
claim-farewell="&aSet claim farewell to {farewell}."
claim-farewell-clear="&aThe claim farewell message has been cleared."
claim-farewell-invalid="&cClaim flag {flag} is invalid."
claim-farewell-invalid="&cClaim flag &f{flag}&c is invalid."
claim-greeting="&aSet claim greeting to {greeting}."
claim-greeting-clear="&aThe claim greeting message has been cleared."
claim-ignore="&aNow ignoring claims."
claim-last-active="&aClaim last active {date}."
claim-last-active="&aClaim last active &6{date}&a."
claim-name="&aSet claim name to {name}."
claim-no-claims="&cYou don't have any land claims."
claim-no-set-home="&cYou must be trusted in order to use /sethome here."
claim-not-found="&cThere's no claim here."
claim-not-yours="&cThis isn't your claim."
claim-owner-already="&cYou are already the claim owner."
claim-owner-only="&cOnly {player} can modify this claim."
claim-protected-entity="&cThat belongs to {player}."
claim-owner-only="&cOnly &6{player}&c can modify this claim."
claim-protected-entity="&cThat belongs to &6{player}&c."
claim-respecting="&aNow respecting claims."
claim-restore-nature-activate="&aReady to restore claim! Right click on a block to restore, and use /modebasic to stop."
claim-restore-nature-activate="&aReady to restore claim! Right click on a block to restore, and use &f/modebasic&c to stop."
claim-restore-success="&aSuccessfully restored claim."
claim-show-nearby="&aFound {amount} nearby claims."
claim-size-max="&cThe claim {axis} size of &a{size} &cexceeds the max size of &a{max-size}&c.\nThe area needs to be a minimum of &a{min-area} &cand a max of &a{max-area}"
claim-size-min="&cThe claim {axis} size of &a{size} &cis below the min size of &a{min-size}&c.\nThe area needs to be a minimum of &a{min-area} &cand a max of &a{max-area}"
claim-size-need-blocks-2d="&cYou don't have enough blocks for this claim size.\nYou need &a{block-amount} &cmore blocks."
claim-size-need-blocks-3d="&cYou don't have enough blocks for this claim size.\nYou need &a{chunk-amount} &cmore chunks. &f({block-amount})"
claim-size-too-small="&cThe selected claim size of &a{width}&fx&a{length} &cwould be too small. A claim must be at least &a{min-width}&fx&a{min-length} &cin size."
claim-show-nearby="&aFound &6{amount}&a nearby claims."
claim-size-max="&cThe claim &6{axis}&c size of &a{size}&c exceeds the max size of &a{max-size}&c.\nThe area needs to be a minimum of &a{min-area}&c and a max of &a{max-area}"
claim-size-min="&cThe claim &6{axis}&c size of &a{size}&c is below the min size of &a{min-size}&c.\nThe area needs to be a minimum of &a{min-area}&c and a max of &a{max-area}"
claim-size-need-blocks-2d="&cYou don't have enough blocks for this claim size.\nYou need &a{block-amount}&c more blocks."
claim-size-need-blocks-3d="&cYou don't have enough blocks for this claim size.\nYou need &a{chunk-amount}&c more chunks. &f({block-amount})"
claim-size-too-small="&cThe selected claim size of &a{width}&fx&a{length}&c would be too small. A claim must be at least &a{min-width}&fx&a{min-length}&c in size."
claim-start="&a{type} corner set! Use the shovel again at the opposite corner to claim a rectangle of land. To cancel, put your shovel away."
claim-too-far="&cThat's too far away."
claim-transfer-exceeds-limit="&cClaim could not be transferred as it would exceed the new owner's creation limit."
claim-transfer-success="&aClaim transferred."
claim-type-not-found="&cNo {type} claims found."
command-blocked="&cThe command {command} has been blocked by claim owner {player}."
command-cuboid-disabled="&aNow claiming in 2D mode."
command-cuboid-enabled="&aNow claiming in 3D mode."
command-blocked="&cThe command &f{command}&c has been blocked by claim owner &6{player}&c."
command-cuboid-disabled="&aNow claiming in &d2D&a mode."
command-cuboid-enabled="&aNow claiming in &d3D&a mode."
command-inherit="&cThis command can only be used in child claims."
command-invalid-claim="&cThis command cannot be used in {type} claims."
command-invalid-group="&cGroup {group} is not valid."
command-invalid-player="&cPlayer {player} is not valid."
command-invalid-group="&cGroup &6{group}&c is not valid."
command-invalid-player="&cPlayer &6{player}&c is not valid."
command-invalid-player-group="&cNot a valid player or group."
command-option-exceeds-admin="&cOption value of &a'{value}&c' exceeds admin set value of '&a{admin-value}&c'. Adjusting to admin value..."
create-cancel="&cThe creation of this claim has been cancelled."
create-cuboid-disabled="&cThe creation of 3D cuboid claims has been disabled by an administrator.\nYou can only create 3D claims as an Admin or on a 2D claim that you own."
create-failed-claim-limit="&cYou've reached your limit of {limit} on {type} claims. Use /abandon to remove one before creating another."
create-insufficient-blocks-2d="&cYou don't have enough blocks to claim this area.\nYou need &6{amount} &cmore blocks."
create-insufficient-blocks-3d="&cYou don't have enough blocks to claim this area.\nYou need &6{amount} &cmore chunks. &f({block-amount})"
create-overlap="&cYou can't create a claim here because it would overlap your other claim. Use /abandonclaim to delete it, or use your shovel at a corner to resize it."
create-overlap-player="&cYou can't create a claim here because it would overlap {player}'s claim."
create-cuboid-disabled="&cThe creation of &d3D&c cuboid claims has been disabled by an administrator.\nYou can only create &d3D&c claims as an Admin or on a &d2D&c claim that you own."
create-failed-claim-limit="&cYou've reached your limit of &a{limit}&c on {type} claims. Use &f/abandon&c to remove one before creating another."
create-insufficient-blocks-2d="&cYou don't have enough blocks to claim this area.\nYou need &a{amount}&c more blocks."
create-insufficient-blocks-3d="&cYou don't have enough blocks to claim this area.\nYou need &a{amount}&c more chunks. &f({block-amount})"
create-overlap="&cYou can't create a claim here because it would overlap your other claim. Use &f/abandonclaim&c to delete it, or use your shovel at a corner to resize it."
create-overlap-player="&cYou can't create a claim here because it would overlap &6{player}&c's claim."
create-overlap-short="&cYour selected area overlaps an existing claim."
create-subdivision-fail="&cNo claim exists at selected corner. Please click a valid block location within parent claim in order to create your subdivision."
create-subdivision-only="&cUnable to create claim. Only subdivisions can be created at a single block location."
create-success="&a{type} created! Use /trust to share it with friends."
create-success="&a{type} created! Use &f/trust&a to share it with friends."
create-worldedit-missing="&cThis command requires WorldEdit to be installed on server."
delete-all-admin-success="&cDeleted all administrative claims."
delete-all-admin-warning="&6Are you sure you want to delete all admin claims?"
delete-all-success="&aDeleted all of {player}'s claims."
delete-all-warning="&6Are you sure you want to delete all of {player}'s claims?"
delete-all-success="&aDeleted all of &6{player}&a's claims."
delete-all-warning="&6Are you sure you want to delete all of &6{player}&6's claims?"
delete-claim="&aClaim deleted."
economy-block-buy-invalid="&cBlock count must be greater than 0."
economy-block-not-available="&cYou don't have that many claim blocks available for sale."
economy-block-only-buy="&cClaim blocks may only be purchased, not sold."
economy-block-only-sell="&cClaim blocks may only be sold, not purchased."
economy-block-purchase-confirmation="&aWithdrew {amount} from your account. You now have {balance} available claim blocks."
economy-block-purchase-cost="&aEach claim block costs {amount}. Your balance is {balance}."
economy-block-purchase-limit="&cThe new claim block total of &6{total} &cwill exceed your claim block limit of &a{limit} &c. The transaction has been cancelled."
economy-block-sale-confirmation="&aDeposited {deposit} in your account. You now have {amount} available claim blocks."
economy-block-sell-error="&cCould not sell blocks. Reason: {reason}."
economy-block-purchase-confirmation="&aWithdrew &6{amount}&a from your account. You now have &6{balance}&a available claim blocks."
economy-block-purchase-cost="&aEach claim block costs &6{amount}&a. Your balance is &6{balance}&a."
economy-block-purchase-limit="&cThe new claim block total of &a{total}&c will exceed your claim block limit of &a{limit}&c. The transaction has been cancelled."
economy-block-sale-confirmation="&aDeposited &6{deposit}&a in your account. You now have &6{amount}&a available claim blocks."
economy-block-sell-error="&cCould not sell blocks. Reason: &f{reason}&c."
economy-buy-sell-disabled="&cSorry, buying and selling claim blocks is disabled."
economy-claim-abandon-success="&aClaim(s) abandoned. You have been refunded a total of '&6{amount}&a'."
economy-claim-buy-confirmation="&aAre you sure you want to buy this claim for &6{amount} &a? Click confirm to proceed."
economy-claim-buy-confirmation="&6Are you sure you want to buy this claim for &a{amount}&6? Click confirm to proceed."
economy-claim-buy-confirmed="&aYou have successfully bought the claim for &6{amount}&a."
economy-claim-buy-not-enough-funds="&cYou do not have enough funds to purchase this claim for &6{amount}&c. You currently have a balance of &6{balance}&a and need &6{amount_required}&a more for purchase."
economy-claim-buy-not-enough-funds="&cYou do not have enough funds to purchase this claim for &a{amount}&c. You currently have a balance of &a{balance}&c and need &a{amount_required}&c more for purchase."
economy-claim-not-for-sale="&cThis claim is not for sale."
economy-claim-sale-cancelled="&aYou have cancelled your claim sale."
economy-claim-sale-confirmation="&aAre you sure you want to sell your claim for &6{amount}&a ? If your claim is sold, all items and blocks will be transferred to the buyer. Click confirm if this is OK."
economy-claim-sale-confirmation="&6Are you sure you want to sell your claim for &a{amount}&6 ? If your claim is sold, all items and blocks will be transferred to the buyer. Click confirm if this is OK."
economy-claim-sale-confirmed="&aYou have successfully put your claim up for sale for the amount of &6{amount}&a."
economy-claim-sale-invalid-price="&cThe sale price of &6{amount}&c must be greater than or equal to 0."
economy-claim-sale-invalid-price="&cThe sale price of &a{amount}&c must be greater than or equal to &a0&c."
economy-claim-sold="&aYour claim sold! The amount of &6{amount}&a has been deposited into your account. Your total available balance is now &6{balance}&a."
economy-not-enough-funds="&cYou do not have enough funds to purchase this land. Your current economy balance is '&6{balance}&c' but you require '&a{amount}&c' to complete the purchase."
economy-not-enough-funds="&cYou do not have enough funds to purchase this land. Your current economy balance is '&a{balance}&c' but you require '&a{amount}&c' to complete the purchase."
economy-not-installed="&cEconomy plugin not installed!."
economy-player-not-found="&cNo economy account found for player {player}."
economy-player-not-found="&cNo economy account found for player &6{player}&c."
economy-virtual-not-supported="&cEconomy plugin does not support virtual accounts which is required. Use another economy plugin or contact plugin dev for virtual account support."
economy-withdraw-error="&cCould not withdraw funds. Reason: {reason}."
flag-invalid-context="&cInvalid context '{context}' entered for base flag {flag}."
flag-invalid-meta="&cInvalid target meta '{value}' entered for base flag {flag}."
flag-invalid-target="&cInvalid target '{target}' enterd for base flag {flag}."
flag-overridden="&cFailed to set claim flag. The flag {flag} has been overridden by an admin."
economy-withdraw-error="&cCould not withdraw funds. Reason: &f{reason}&c."
flag-invalid-context="&cInvalid context '&f{context}&c' entered for base flag &f{flag}&c."
flag-invalid-meta="&cInvalid target meta '&f{value}&c' entered for base flag &f{flag}&c."
flag-invalid-target="&cInvalid target '&f{target}&c' enterd for base flag &f{flag}&c."
flag-overridden="&cFailed to set claim flag. The flag &f{flag}&c has been overridden by an admin."
flag-override-not-supported="&cClaim type {type} does not support flag overrides."
flag-reset-success="&aClaim flags reset to defaults successfully."
mode-admin="&aAdministrative claims mode active. Any claims created will be free and editable by other administrators."
mode-basic="&aBasic claim creation mode enabled."
mode-subdivision="&aSubdivision mode. Use your shovel to create subdivisions in your existing claims. Use /modebasic to exit."
mode-subdivision="&aSubdivision mode. Use your shovel to create subdivisions in your existing claims. Use &f/modebasic&a to exit."
mode-town="&aTown creation mode enabled."
owner-admin="an administrator"
permission-access="&cYou don't have &6{player}&c's permission to access that."
@ -220,28 +220,28 @@ GriefDefender {
permission-protected-portal="&cYou don't have permission to use portals in this claim owned by &6{player}'s&c."
permission-trust="&cYou don't have &6{player}'s&c permission to manage permissions here."
permission-visual-claims-nearby="&cYou don't have permission to visualize nearby claims."
player-remaining-blocks-2d="&aYou may claim up to {block-amount} more blocks."
player-remaining-blocks-3d="&aYou may claim up to {chunk-amount} more chunks. &f({block-amount})"
player-remaining-blocks-2d="&aYou may claim up to &6{block-amount}&a more blocks."
player-remaining-blocks-3d="&aYou may claim up to &6{chunk-amount}&a more chunks. &f({block-amount})"
plugin-event-cancel="&cA plugin has cancelled this action."
plugin-reload="&aGriefDefender has been reloaded."
resize-overlap="&cCan't resize here because it would overlap another nearby claim."
resize-overlap-subdivision="&cYou can't create a subdivision here because it would overlap another subdivision. Consider /abandon to delete it, or use your shovel at a corner to resize it."
resize-overlap-subdivision="&cYou can't create a subdivision here because it would overlap another subdivision. Consider &f/abandon&c to delete it, or use your shovel at a corner to resize it."
resize-same-location="&cYou must select a different block location to resize claim."
resize-start="&aResizing claim. Use your shovel again at the new location for this corner."
resize-success-2d="&aClaim resized. You have &6{amount} &amore blocks remaining."
resize-success-3d="&aClaim resized. You have &6{amount} &amore chunks remaining. &f({block-amount})"
schematic-restore-confirmed="&aYou have successfully restored your claim from schematic backup &6{name}&a."
schematic-restore-confirmed="&aYou have successfully restored your claim from schematic backup &b{name}&a."
spawn-not-set="&cNo claim spawn has been set."
spawn-set-success="&aSuccessfully set claim spawn to {location}."
spawn-teleport="&aTeleported to claim spawn at {location}."
tax-claim-expired="&cThis claim has been frozen due to unpaid taxes. The current amount owed is '&6{amount}&c'.\nThere are '&a{days}&c' days left to deposit payment to claim bank in order to unfreeze this claim.\nFailure to pay this debt will result in deletion of claim.\nNote: To deposit funds to claimbank, use /claimbank deposit <amount>."
spawn-set-success="&aSuccessfully set claim spawn to &b{location}&a."
spawn-teleport="&aTeleported to claim spawn at &b{location}&a."
tax-claim-expired="&cThis claim has been frozen due to unpaid taxes. The current amount owed is '&a{amount}&c'.\nThere are '&a{days}&c' days left to deposit payment to claim bank in order to unfreeze this claim.\nFailure to pay this debt will result in deletion of claim.\nNote: To deposit funds to claimbank, use &f/claimbank&c deposit <amount>."
tax-claim-paid-balance="&aThe tax debt of '&6{amount}&a' has been paid. Your claim has been unfrozen and is now available for use."
tax-claim-paid-partial="&aThe tax debt of '&6{amount}&a' has been partially paid. In order to unfreeze your claim, the remaining tax owed balance of '&6{balance}&a' must be paid."
tax-info="&aYour next scheduled tax payment of &6{amount}&a will be withdrawn from your account on &b{date}&a."
tax-past-due="&cYou currently have a past due tax balance of &6{balance}&c that must be paid by &b{date}&c. Failure to pay off your tax balance will result in losing your property."
tax-past-due="&cYou currently have a past due tax balance of &a{balance}&c that must be paid by &b{date}&c. Failure to pay off your tax balance will result in losing your property."
town-chat-disabled="&aTown chat disabled."
town-chat-enabled="&aTown chat enabled."
town-create-not-enough-funds="&cYou do not have enough funds to create this town for &6{amount}&c. You currently have a balance of &6{balance}&c and need &6{amount-needed}&a more for creation."
town-create-not-enough-funds="&cYou do not have enough funds to create this town for &a{amount}&c. You currently have a balance of &a{balance}&c and need &a{amount-needed}&c more for creation."
town-name="&aSet town name to {name}."
town-not-found="&cTown not found."
town-not-in="&cYou are not in a town."
@ -250,17 +250,17 @@ GriefDefender {
town-tag-clear="&aThe town tag has been cleared."
town-tax-no-claims="&cYou must own property in this town in order to be taxed."
trust-already-has="&c{target} already has {type} permission."
trust-grant="&aGranted &b{target} &apermission to {type} in current claim."
trust-individual-all-claims="&aGranted &b{player}'s&a full trust to all your claims. To unset permissions for ALL your claims, use /untrustall."
trust-grant="&aGranted &6{target}&a permission to {type} in current claim."
trust-individual-all-claims="&aGranted &6{player}'s&a full trust to all your claims. To unset permissions for ALL your claims, use &f/untrustall&a."
trust-invalid="&cInvalid trust type entered.\nThe allowed types are : accessor, builder, container, and manager."
trust-list-header="Explicit permissions here:"
trust-no-claims="&cYou have no claims to trust."
trust-self="&cYou cannot trust yourself."
tutorial-claim-basic="&eClick for Land Claim Help: &ahttp://bit.ly/mcgpuser"
untrust-individual-all-claims="&aRevoked &6{target}'s&a access to ALL your claims. To set permissions for a single claim, stand inside it and use /untrust."
untrust-individual-single-claim="&aRevoked &6{target}'s&a access to this claim. To unset permissions for ALL your claims, use /untrustall."
untrust-individual-all-claims="&aRevoked &6{target}'s&a access to ALL your claims. To set permissions for a single claim, stand inside it and use &f/untrust&a."
untrust-individual-single-claim="&aRevoked &6{target}'s&a access to this claim. To unset permissions for ALL your claims, use &f/untrustall&a."
untrust-no-claims="&cYou have no claims to untrust."
untrust-owner="&c{owner} is owner of claim and cannot be untrusted."
untrust-owner="&6{owner}&a is owner of claim and cannot be untrusted."
untrust-self="&cYou cannot untrust yourself."
}
}