mirror of
https://github.com/amalthea-mc/ShopChest.git
synced 2024-11-26 12:22:24 +00:00
Added permission for extending other players' shop chests
This commit is contained in:
parent
ef3bc57381
commit
1d7a534fe4
@ -966,6 +966,7 @@ public class LanguageUtils {
|
|||||||
messages.add(new LocalizedMessage(LocalizedMessage.Message.NO_PERMISSION_RELOAD, langConfig.getString("message.noPermission.reload", "&cYou don't have permission to reload the shops.")));
|
messages.add(new LocalizedMessage(LocalizedMessage.Message.NO_PERMISSION_RELOAD, langConfig.getString("message.noPermission.reload", "&cYou don't have permission to reload the shops.")));
|
||||||
messages.add(new LocalizedMessage(LocalizedMessage.Message.NO_PERMISSION_UPDATE, langConfig.getString("message.noPermission.update", "&cYou don't have permission to check for updates.")));
|
messages.add(new LocalizedMessage(LocalizedMessage.Message.NO_PERMISSION_UPDATE, langConfig.getString("message.noPermission.update", "&cYou don't have permission to check for updates.")));
|
||||||
messages.add(new LocalizedMessage(LocalizedMessage.Message.NO_PERMISSION_CONFIG, langConfig.getString("message.noPermission.config", "&cYou don't have permission to change configuration values.")));
|
messages.add(new LocalizedMessage(LocalizedMessage.Message.NO_PERMISSION_CONFIG, langConfig.getString("message.noPermission.config", "&cYou don't have permission to change configuration values.")));
|
||||||
|
messages.add(new LocalizedMessage(LocalizedMessage.Message.NO_PERMISSION_EXTEND_OTHERS, langConfig.getString("message.noPermission.extend-others", "&cYou don't have permission to extend this chest.")));
|
||||||
messages.add(new LocalizedMessage(LocalizedMessage.Message.COMMAND_DESC_CREATE, langConfig.getString("message.commandDescription.create", "Create a shop.")));
|
messages.add(new LocalizedMessage(LocalizedMessage.Message.COMMAND_DESC_CREATE, langConfig.getString("message.commandDescription.create", "Create a shop.")));
|
||||||
messages.add(new LocalizedMessage(LocalizedMessage.Message.COMMAND_DESC_REMOVE, langConfig.getString("message.commandDescription.remove", "Remove a shop.")));
|
messages.add(new LocalizedMessage(LocalizedMessage.Message.COMMAND_DESC_REMOVE, langConfig.getString("message.commandDescription.remove", "Remove a shop.")));
|
||||||
messages.add(new LocalizedMessage(LocalizedMessage.Message.COMMAND_DESC_INFO, langConfig.getString("message.commandDescription.info", "Retrieve shop information.")));
|
messages.add(new LocalizedMessage(LocalizedMessage.Message.COMMAND_DESC_INFO, langConfig.getString("message.commandDescription.info", "Retrieve shop information.")));
|
||||||
|
@ -112,6 +112,7 @@ public class LocalizedMessage {
|
|||||||
NO_PERMISSION_RELOAD,
|
NO_PERMISSION_RELOAD,
|
||||||
NO_PERMISSION_UPDATE,
|
NO_PERMISSION_UPDATE,
|
||||||
NO_PERMISSION_CONFIG,
|
NO_PERMISSION_CONFIG,
|
||||||
|
NO_PERMISSION_EXTEND_OTHERS,
|
||||||
COMMAND_DESC_CREATE,
|
COMMAND_DESC_CREATE,
|
||||||
COMMAND_DESC_REMOVE,
|
COMMAND_DESC_REMOVE,
|
||||||
COMMAND_DESC_INFO,
|
COMMAND_DESC_INFO,
|
||||||
|
@ -43,6 +43,8 @@ public class ChestProtectListener implements Listener {
|
|||||||
Player p = e.getPlayer();
|
Player p = e.getPlayer();
|
||||||
|
|
||||||
if (p.isSneaking()) {
|
if (p.isSneaking()) {
|
||||||
|
plugin.debug(String.format("%s tries to break %s's shop (#%d)", p.getName(), shop.getVendor().getName(), shop.getID()));
|
||||||
|
|
||||||
if (shop.getVendor().getUniqueId().equals(p.getUniqueId()) || p.hasPermission("shopchest.removeOther")) {
|
if (shop.getVendor().getUniqueId().equals(p.getUniqueId()) || p.hasPermission("shopchest.removeOther")) {
|
||||||
shopUtils.removeShop(shop, true);
|
shopUtils.removeShop(shop, true);
|
||||||
|
|
||||||
@ -96,7 +98,7 @@ public class ChestProtectListener implements Listener {
|
|||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onBlockPlace(BlockPlaceEvent e) {
|
public void onBlockPlace(BlockPlaceEvent e) {
|
||||||
|
Player p = e.getPlayer();
|
||||||
Block b = e.getBlockPlaced();
|
Block b = e.getBlockPlaced();
|
||||||
if (b.getType().equals(Material.CHEST) || b.getType().equals(Material.TRAPPED_CHEST)) {
|
if (b.getType().equals(Material.CHEST) || b.getType().equals(Material.TRAPPED_CHEST)) {
|
||||||
|
|
||||||
@ -109,9 +111,6 @@ public class ChestProtectListener implements Listener {
|
|||||||
Chest l = (Chest) dc.getLeftSide();
|
Chest l = (Chest) dc.getLeftSide();
|
||||||
|
|
||||||
if (shopUtils.isShop(r.getLocation()) || shopUtils.isShop(l.getLocation())) {
|
if (shopUtils.isShop(r.getLocation()) || shopUtils.isShop(l.getLocation())) {
|
||||||
plugin.debug(e.getPlayer().getName() + " tried to extend a shop to a double chest");
|
|
||||||
|
|
||||||
if (b.getRelative(BlockFace.UP).getType() == Material.AIR) {
|
|
||||||
Shop shop;
|
Shop shop;
|
||||||
|
|
||||||
if (b.getLocation().equals(r.getLocation())) {
|
if (b.getLocation().equals(r.getLocation())) {
|
||||||
@ -122,13 +121,21 @@ public class ChestProtectListener implements Listener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
shopUtils.removeShop(shop, true);
|
plugin.debug(String.format("%s tries to extend %s's shop (#%d)", p.getName(), shop.getVendor().getName(), shop.getID()));
|
||||||
|
|
||||||
|
if (shop.getVendor().getUniqueId().equals(p.getUniqueId()) || p.hasPermission("shopchest.extendOther")) {
|
||||||
|
if (b.getRelative(BlockFace.UP).getType() == Material.AIR) {
|
||||||
|
shopUtils.removeShop(shop, true);
|
||||||
Shop newShop = new Shop(shop.getID(), ShopChest.getInstance(), shop.getVendor(), shop.getProduct(), shop.getLocation(), shop.getBuyPrice(), shop.getSellPrice(), shop.getShopType());
|
Shop newShop = new Shop(shop.getID(), ShopChest.getInstance(), shop.getVendor(), shop.getProduct(), shop.getLocation(), shop.getBuyPrice(), shop.getSellPrice(), shop.getShopType());
|
||||||
shopUtils.addShop(newShop, true);
|
shopUtils.addShop(newShop, true);
|
||||||
|
plugin.debug(String.format("%s extended %s's shop (#%d)", p.getName(), shop.getVendor().getName(), shop.getID()));
|
||||||
} else {
|
} else {
|
||||||
e.setCancelled(true);
|
e.setCancelled(true);
|
||||||
e.getPlayer().sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.CHEST_BLOCKED));
|
p.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.CHEST_BLOCKED));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
e.setCancelled(true);
|
||||||
|
p.sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.NO_PERMISSION_EXTEND_OTHERS));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -68,6 +68,7 @@ message.noPermission.remove-others=&cDu hast keine Berechtigung diesen Shop zu e
|
|||||||
message.noPermission.reload=&cDu hast keine Berechtigung die Shops neu zu laden.
|
message.noPermission.reload=&cDu hast keine Berechtigung die Shops neu zu laden.
|
||||||
message.noPermission.update=&cDu hast keine Berechtigung nach Aktualisierungen zu suchen.
|
message.noPermission.update=&cDu hast keine Berechtigung nach Aktualisierungen zu suchen.
|
||||||
message.noPermission.config=&cDu hast keine Berechtigung Konfigurationswerte zu verändern.
|
message.noPermission.config=&cDu hast keine Berechtigung Konfigurationswerte zu verändern.
|
||||||
|
message.noPermission.extend-others=&cDu hast keine Berechtigung diesen Shop zu erweitern.
|
||||||
message.commandDescription.create=Erstelle einen Shop.
|
message.commandDescription.create=Erstelle einen Shop.
|
||||||
message.commandDescription.remove=Entferne einen Shop.
|
message.commandDescription.remove=Entferne einen Shop.
|
||||||
message.commandDescription.info=Rufe Informationen über den Shop ab.
|
message.commandDescription.info=Rufe Informationen über den Shop ab.
|
||||||
|
@ -238,6 +238,9 @@ message.noPermission.update=&cYou don't have permission to check for updates.
|
|||||||
# Set the message when a not permitted player tries to change configuration values.
|
# Set the message when a not permitted player tries to change configuration values.
|
||||||
message.noPermission.config=&cYou don't have permission to change configuration values.
|
message.noPermission.config=&cYou don't have permission to change configuration values.
|
||||||
|
|
||||||
|
# Set the message when a not permitted player tries to extend another player's shop's chest.
|
||||||
|
message.noPermission.extend-others=&cYou don't have permission to extend this chest.
|
||||||
|
|
||||||
# Set the command description message for '/shop create' when you type '/shop'.
|
# Set the command description message for '/shop create' when you type '/shop'.
|
||||||
message.commandDescription.create=Create a shop.
|
message.commandDescription.create=Create a shop.
|
||||||
|
|
||||||
|
@ -35,7 +35,7 @@ permissions:
|
|||||||
shopchest.create: true
|
shopchest.create: true
|
||||||
default: op
|
default: op
|
||||||
shopchest.removeOther:
|
shopchest.removeOther:
|
||||||
description: Allows you to remove other players' shop.
|
description: Allows you to remove other players' shops.
|
||||||
default: op
|
default: op
|
||||||
shopchest.buy:
|
shopchest.buy:
|
||||||
description: Allows you to buy something.
|
description: Allows you to buy something.
|
||||||
@ -44,7 +44,7 @@ permissions:
|
|||||||
description: Allows you to sell something.
|
description: Allows you to sell something.
|
||||||
default: true
|
default: true
|
||||||
shopchest.openOther:
|
shopchest.openOther:
|
||||||
description: Allows you to open other players' shop.
|
description: Allows you to open other players' shops.
|
||||||
default: op
|
default: op
|
||||||
shopchest.notification.update:
|
shopchest.notification.update:
|
||||||
description: Allows you to get update notification on join.
|
description: Allows you to get update notification on join.
|
||||||
@ -60,3 +60,6 @@ permissions:
|
|||||||
shopchest.config:
|
shopchest.config:
|
||||||
description: Allows you to change configuration values per command.
|
description: Allows you to change configuration values per command.
|
||||||
default: op
|
default: op
|
||||||
|
shopchest.extendOther:
|
||||||
|
description: Allows you to extend other players' shops.
|
||||||
|
default: op
|
||||||
|
Loading…
Reference in New Issue
Block a user