mirror of
https://github.com/Zrips/Jobs.git
synced 2024-12-29 04:18:07 +01:00
Merge branch 'master' of https://github.com/Zrips/Jobs.git
This commit is contained in:
commit
d0f13db51d
@ -1415,15 +1415,27 @@ public final class Jobs extends JavaPlugin {
|
||||
return 9 * level - 158;
|
||||
}
|
||||
|
||||
public static void perform(JobsPlayer jPlayer, ActionInfo info, BufferedPayment payment, Job job) {
|
||||
public static void perform(JobsPlayer jPlayer, ActionInfo info, BufferedPayment payment, Job job, Block block, Entity ent, LivingEntity victim) {
|
||||
double expPayment = payment.get(CurrencyType.EXP);
|
||||
|
||||
JobsPrePaymentEvent jobsPrePaymentEvent = new JobsPrePaymentEvent(jPlayer.getPlayer(), noneJob, payment.get(CurrencyType.MONEY),
|
||||
payment.get(CurrencyType.POINTS), block, ent, victim, info);
|
||||
Bukkit.getServer().getPluginManager().callEvent(jobsPrePaymentEvent);
|
||||
// If event is canceled, don't do anything
|
||||
if (jobsPrePaymentEvent.isCancelled())
|
||||
return;
|
||||
|
||||
payment.set(CurrencyType.MONEY, jobsPrePaymentEvent.getAmount());
|
||||
payment.set(CurrencyType.POINTS, jobsPrePaymentEvent.getPoints());
|
||||
|
||||
JobsExpGainEvent jobsExpGainEvent = new JobsExpGainEvent(payment.getOfflinePlayer(), job, expPayment);
|
||||
Bukkit.getServer().getPluginManager().callEvent(jobsExpGainEvent);
|
||||
// If event is canceled, don't do anything
|
||||
if (jobsExpGainEvent.isCancelled())
|
||||
return;
|
||||
|
||||
payment.set(CurrencyType.EXP, jobsExpGainEvent.getExp());
|
||||
|
||||
boolean limited = true;
|
||||
for (CurrencyType one : CurrencyType.values()) {
|
||||
if (jPlayer.isUnderLimit(one, payment.get(one))) {
|
||||
|
@ -444,7 +444,7 @@ public final class JobsPaymentListener implements Listener {
|
||||
if (fp != null) {
|
||||
if (fp.getTime() > System.currentTimeMillis() && (fp.getInfo().getName().equalsIgnoreCase(bInfo.getName()) ||
|
||||
fp.getInfo().getNameWithSub().equalsIgnoreCase(bInfo.getNameWithSub()))) {
|
||||
Jobs.perform(fp.getPlayer(), fp.getInfo(), fp.getPayment(), fp.getJob());
|
||||
Jobs.perform(fp.getPlayer(), fp.getInfo(), fp.getPayment(), fp.getJob(), block, null, null);
|
||||
return;
|
||||
}
|
||||
Jobs.FASTPAYMENT.remove(player.getUniqueId());
|
||||
@ -485,7 +485,8 @@ public final class JobsPaymentListener implements Listener {
|
||||
return;
|
||||
|
||||
// A tool should not trigger a BlockPlaceEvent (fixes stripping logs bug #940)
|
||||
if (CMIMaterial.get(event.getItemInHand().getType()).isTool())
|
||||
// Allow this to trigger with a hoe so players can get paid for farmland.
|
||||
if (CMIMaterial.get(event.getItemInHand().getType()).isTool() && !event.getItemInHand().getType().toString().endsWith("_HOE"))
|
||||
return;
|
||||
|
||||
Block block = event.getBlock();
|
||||
@ -1971,7 +1972,7 @@ public final class JobsPaymentListener implements Listener {
|
||||
|
||||
if (fp.getTime() > System.currentTimeMillis() - 50L && (fp.getInfo().getName().equalsIgnoreCase(bInfo.getName()) ||
|
||||
fp.getInfo().getNameWithSub().equalsIgnoreCase(bInfo.getNameWithSub()))) {
|
||||
Jobs.perform(fp.getPlayer(), fp.getInfo(), fp.getPayment(), fp.getJob());
|
||||
Jobs.perform(fp.getPlayer(), fp.getInfo(), fp.getPayment(), fp.getJob(), block, null, null);
|
||||
breakCache.put(CMILocation.toString(block.getLocation(), ":", true, true), uuid);
|
||||
fp.setTime(System.currentTimeMillis() + 45);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user