1
0
mirror of https://github.com/Zrips/Jobs.git synced 2025-02-18 05:11:32 +01:00

Added option to disable payment if player riding, #437

This commit is contained in:
montlikadani 2019-06-04 19:13:07 +02:00
parent 875f2a0b3b
commit 6f082c7ca9
3 changed files with 98 additions and 4 deletions

View File

@ -50,6 +50,7 @@ public class GeneralConfigManager {
protected boolean payInCreative;
protected boolean payExploringWhenFlying;
public boolean payExploringWhenGliding;
public boolean disablePaymentIfRiding;
protected boolean addXpPlayer;
public boolean payItemDurabilityLoss;
protected boolean hideJobsWithoutPermission;
@ -525,6 +526,9 @@ public class GeneralConfigManager {
payExploringWhenGliding = c.get("enable-pay-for-exploring-when-gliding", false);
}
c.addComment("disablePaymentIfRiding", "Disables the payment when the player riding on an entity.");
disablePaymentIfRiding = c.get("disablePaymentIfRiding", false);
c.addComment("add-xp-player", "Adds the Jobs xp received to the player's Minecraft XP bar");
addXpPlayer = c.get("add-xp-player", false);

View File

@ -140,8 +140,9 @@ public class BufferedEconomy {
this.ServerTaxesAccount = Bukkit.getOfflinePlayer(ServerTaxesAccountname);
if (Jobs.getGCManager().UseTaxes && Jobs.getGCManager().TransferToServerAccount && ServerTaxesAccount != null) {
if (TaxesAmount > 0)
economy.depositPlayer(ServerTaxesAccount, TaxesAmount);
if (TaxesAmount > 0)
economy.depositPlayer(ServerTaxesAccount, TaxesAmount);
if (ServerTaxesAccount.isOnline()) {
if (!Jobs.getActionbarToggleList().containsKey(ServerTaxesAccountname) && Jobs.getGCManager().ActionBarsMessageByDefault)
Jobs.getActionbarToggleList().put(ServerTaxesAccountname, true);
@ -178,7 +179,6 @@ public class BufferedEconomy {
if (Jobs.getGCManager().UseServerAccount) {
if (!hasMoney) {
Jobs.getActionBar();
Jobs.getActionBar().send(payment.getOfflinePlayer().getPlayer(), Jobs.getLanguage().getMessage("economy.error.nomoney"));
continue;
}
@ -199,7 +199,7 @@ public class BufferedEconomy {
JobsPlayer jPlayer = Jobs.getPlayerManager().getJobsPlayer(payment.getOfflinePlayer().getUniqueId());
Jobs.getBBManager().ShowJobProgression(jPlayer);
}
} catch (Exception e) {
} catch (Throwable e) {
}
}
// empty payment cache

View File

@ -176,6 +176,10 @@ public class JobsPaymentListener implements Listener {
if (!payIfCreative(player))
return;
// check if player is riding
if (Jobs.getGCManager().disablePaymentIfRiding && player.isInsideVehicle())
return;
JobsPlayer jPlayer = Jobs.getPlayerManager().getJobsPlayer(player);
if (jPlayer == null)
@ -237,6 +241,10 @@ public class JobsPaymentListener implements Listener {
if (!Jobs.getPermissionHandler().hasWorldPermission(player, player.getLocation().getWorld().getName()))
return;
// check if player is riding
if (Jobs.getGCManager().disablePaymentIfRiding && player.isInsideVehicle())
return;
// pay
JobsPlayer jPlayer = Jobs.getPlayerManager().getJobsPlayer(player);
if (jPlayer == null)
@ -294,6 +302,10 @@ public class JobsPaymentListener implements Listener {
if (!Jobs.getPermissionHandler().hasWorldPermission(player, player.getLocation().getWorld().getName()))
return;
// check if player is riding
if (Jobs.getGCManager().disablePaymentIfRiding && player.isInsideVehicle())
return;
ItemStack item = Jobs.getNms().getItemInMainHand(player);
// Prevent item durability loss
@ -344,6 +356,10 @@ public class JobsPaymentListener implements Listener {
if (!Jobs.getPermissionHandler().hasWorldPermission(player, player.getLocation().getWorld().getName()))
return;
// check if player is riding
if (Jobs.getGCManager().disablePaymentIfRiding && player.isInsideVehicle())
return;
ItemStack contents = event.getContents().getIngredient();
if (contents == null)
@ -373,6 +389,10 @@ public class JobsPaymentListener implements Listener {
if (!payIfCreative(player))
return;
// check if player is riding
if (Jobs.getGCManager().disablePaymentIfRiding && player.isInsideVehicle())
return;
if (CMIMaterial.get(block).equals(CMIMaterial.FURNACE) && block.hasMetadata(furnaceOwnerMetadata))
FurnaceBrewingHandling.removeFurnace(block);
if (CMIMaterial.get(block).equals(CMIMaterial.BREWING_STAND) && block.hasMetadata(brewingOwnerMetadata))
@ -452,6 +472,10 @@ public class JobsPaymentListener implements Listener {
if (!Jobs.getPermissionHandler().hasWorldPermission(player, player.getLocation().getWorld().getName()))
return;
// check if player is riding
if (Jobs.getGCManager().disablePaymentIfRiding && player.isInsideVehicle())
return;
JobsPlayer jPlayer = Jobs.getPlayerManager().getJobsPlayer(player);
if (jPlayer == null)
return;
@ -476,6 +500,10 @@ public class JobsPaymentListener implements Listener {
if (!Jobs.getPermissionHandler().hasWorldPermission(player, player.getLocation().getWorld().getName()))
return;
// check if player is riding
if (Jobs.getGCManager().disablePaymentIfRiding && player.isInsideVehicle())
return;
ItemStack item = Jobs.getNms().getItemInMainHand(player);
// Prevent item durability loss
@ -521,6 +549,10 @@ public class JobsPaymentListener implements Listener {
if (!Jobs.getPermissionHandler().hasWorldPermission(player, player.getLocation().getWorld().getName()))
return;
// check if player is riding
if (Jobs.getGCManager().disablePaymentIfRiding && player.isInsideVehicle())
return;
// pay
JobsPlayer jDamager = Jobs.getPlayerManager().getJobsPlayer(player);
if (jDamager == null)
@ -571,6 +603,10 @@ public class JobsPaymentListener implements Listener {
if (!Jobs.getPermissionHandler().hasWorldPermission(player, player.getLocation().getWorld().getName()))
return;
// check if player is riding
if (Jobs.getGCManager().disablePaymentIfRiding && player.isInsideVehicle())
return;
if (!event.isLeftClick() && !event.isRightClick())
return;
@ -806,6 +842,10 @@ public class JobsPaymentListener implements Listener {
if (!payIfCreative(player))
return;
// check if player is riding
if (Jobs.getGCManager().disablePaymentIfRiding && player.isInsideVehicle())
return;
// Fix money dupping issue when clicking continuously in the result item, but if in the
// cursor have item, then dupping the money, #438
if (event.isLeftClick() && !player.getInventory().contains(inv.getItem(2)))
@ -867,6 +907,10 @@ public class JobsPaymentListener implements Listener {
if (!payIfCreative(player))
return;
// check if player is riding
if (Jobs.getGCManager().disablePaymentIfRiding && player.isInsideVehicle())
return;
ItemStack item = inv.getItem(0);
// Prevent item durability loss
@ -984,6 +1028,10 @@ public class JobsPaymentListener implements Listener {
if (!Jobs.getPermissionHandler().hasWorldPermission(player, player.getLocation().getWorld().getName()))
return;
// check if player is riding
if (Jobs.getGCManager().disablePaymentIfRiding && player.isInsideVehicle())
return;
JobsPlayer jPlayer = Jobs.getPlayerManager().getJobsPlayer(player);
if (jPlayer == null)
return;
@ -1118,6 +1166,10 @@ public class JobsPaymentListener implements Listener {
if (!Jobs.getPermissionHandler().hasWorldPermission(pDamager, pDamager.getLocation().getWorld().getName()))
return;
// check if player is riding
if (Jobs.getGCManager().disablePaymentIfRiding && pDamager.isInsideVehicle())
return;
ItemStack item = Jobs.getNms().getItemInMainHand(pDamager);
if (item != null && !item.getType().equals(Material.AIR)) {
// Prevent item durability loss
@ -1194,6 +1246,10 @@ public class JobsPaymentListener implements Listener {
if (!Jobs.getPermissionHandler().hasWorldPermission(player, player.getLocation().getWorld().getName()))
return;
// check if player is riding
if (Jobs.getGCManager().disablePaymentIfRiding && player.isInsideVehicle())
return;
JobsPlayer jPlayer = Jobs.getPlayerManager().getJobsPlayer(player);
if (jPlayer == null)
return;
@ -1224,6 +1280,10 @@ public class JobsPaymentListener implements Listener {
if (!Jobs.getPermissionHandler().hasWorldPermission(player, player.getLocation().getWorld().getName()))
return;
// check if player is riding
if (Jobs.getGCManager().disablePaymentIfRiding && player.isInsideVehicle())
return;
JobsPlayer jPlayer = Jobs.getPlayerManager().getJobsPlayer(player);
if (jPlayer == null)
return;
@ -1260,6 +1320,9 @@ public class JobsPaymentListener implements Listener {
return;
if (!Jobs.getPermissionHandler().hasWorldPermission(player, player.getLocation().getWorld().getName()))
return;
// check if player is riding
if (Jobs.getGCManager().disablePaymentIfRiding && player.isInsideVehicle())
return;
JobsPlayer jPlayer = Jobs.getPlayerManager().getJobsPlayer(player);
if (jPlayer == null)
@ -1295,6 +1358,10 @@ public class JobsPaymentListener implements Listener {
if (!Jobs.getPermissionHandler().hasWorldPermission(pDamager, pDamager.getLocation().getWorld().getName()))
return;
// check if player is riding
if (Jobs.getGCManager().disablePaymentIfRiding && pDamager.isInsideVehicle())
return;
// pay
JobsPlayer jDamager = Jobs.getPlayerManager().getJobsPlayer(pDamager);
@ -1364,6 +1431,10 @@ public class JobsPaymentListener implements Listener {
if (!Jobs.getPermissionHandler().hasWorldPermission(player, player.getLocation().getWorld().getName()))
return;
// check if player is riding
if (Jobs.getGCManager().disablePaymentIfRiding && player.isInsideVehicle())
return;
// pay
JobsPlayer jDamager = Jobs.getPlayerManager().getJobsPlayer(player);
if (jDamager == null)
@ -1403,6 +1474,10 @@ public class JobsPaymentListener implements Listener {
if (!Jobs.getPermissionHandler().hasWorldPermission(player, player.getLocation().getWorld().getName()))
return;
// check if player is riding
if (Jobs.getGCManager().disablePaymentIfRiding && player.isInsideVehicle())
return;
// Item in hand
ItemStack item = Jobs.getNms().getItemInMainHand(player);
@ -1456,6 +1531,10 @@ public class JobsPaymentListener implements Listener {
if (!Jobs.getPermissionHandler().hasWorldPermission(player, player.getLocation().getWorld().getName()))
return;
// check if player is riding
if (Jobs.getGCManager().disablePaymentIfRiding && player.isInsideVehicle())
return;
JobsPlayer jPlayer = Jobs.getPlayerManager().getJobsPlayer(player);
if (jPlayer == null)
return;
@ -1553,6 +1632,9 @@ public class JobsPaymentListener implements Listener {
event.getAction() == Action.RIGHT_CLICK_BLOCK) {
ItemStack iih = Jobs.getNms().getItemInMainHand(event.getPlayer());
if (iih.getType().toString().endsWith("_AXE")) {
// check if player is riding
if (Jobs.getGCManager().disablePaymentIfRiding && event.getPlayer().isInsideVehicle())
return;
// Prevent item durability loss
if (!Jobs.getGCManager().payItemDurabilityLoss && iih.getType().getMaxDurability()
- Jobs.getNms().getDurability(iih) != iih.getType().getMaxDurability())
@ -1592,6 +1674,10 @@ public class JobsPaymentListener implements Listener {
if (!Jobs.getPermissionHandler().hasWorldPermission(p, p.getLocation().getWorld().getName()))
return;
// check if player is riding
if (Jobs.getGCManager().disablePaymentIfRiding && p.isInsideVehicle())
return;
JobsPlayer jPlayer = Jobs.getPlayerManager().getJobsPlayer(p);
if (jPlayer == null)
return;
@ -1638,6 +1724,10 @@ public class JobsPaymentListener implements Listener {
if (!Jobs.getGCManager().payExploringWhenFlying() && player.isFlying())
return;
// check if player is riding
if (Jobs.getGCManager().disablePaymentIfRiding && player.isInsideVehicle())
return;
if (Jobs.getVersionCheckManager().getVersion().isEqualOrHigher(Version.v1_9_R1)
&& !Jobs.getGCManager().payExploringWhenGliding && player.isGliding())
return;