1
0
mirror of https://github.com/Zrips/Jobs.git synced 2025-02-06 23:41:21 +01:00

New Brush action

This commit is contained in:
Zrips 2024-06-25 17:21:28 +03:00
parent 918c6c827d
commit 57003dcb01
6 changed files with 70 additions and 4 deletions

View File

@ -97,6 +97,7 @@ import com.gamingmesh.jobs.i18n.Language;
import com.gamingmesh.jobs.listeners.JobsListener;
import com.gamingmesh.jobs.listeners.JobsPayment1_14Listener;
import com.gamingmesh.jobs.listeners.JobsPayment1_16Listener;
import com.gamingmesh.jobs.listeners.JobsPayment1_20Listener;
import com.gamingmesh.jobs.listeners.JobsPayment1_9Listener;
import com.gamingmesh.jobs.listeners.JobsPaymentListener;
import com.gamingmesh.jobs.listeners.PistonProtectionListener;
@ -817,8 +818,10 @@ public final class Jobs extends JavaPlugin {
if (Version.isCurrentEqualOrHigher(Version.v1_16_R3))
pm.registerEvents(new JobsPayment1_16Listener(), getInstance());
if (Version.isCurrentEqualOrHigher(Version.v1_20_R1))
if (Version.isCurrentEqualOrHigher(Version.v1_20_R1)) {
pm.registerEvents(new PlayerSignEdit1_20Listeners(), getInstance());
pm.registerEvents(new JobsPayment1_20Listener(), getInstance());
}
if (getGCManager().useBlockProtection) {
pm.registerEvents(new PistonProtectionListener(), getInstance());

View File

@ -410,6 +410,11 @@ public class ConfigManager {
cfg.addComment(pt + ".Brew", "Brewing miscellaneous items");
generate(cfg, pt + ".Brew.nether_stalk");
generate(cfg, pt + ".Brew.redstone");
cfg.addComment(pt + ".Brush", "Brushing blocks and getting items from them");
generate(cfg, pt + ".Brush.suspicious_sand");
generate(cfg, pt + ".Brush.suspicious_gravel");
generate(cfg, pt + ".Brush.coal");
cfg.addComment(pt + ".Explore", "Explore options. Each number represents players number in exploring that chunk",
"1 means that player is first in this chunk, 2 is second and so on",
@ -614,6 +619,7 @@ public class ConfigManager {
case STRIPLOGS:
case BUCKET:
case COLLECT:
case BRUSH:
material = CMIMaterial.get(myKey + (subType));
if (material == CMIMaterial.NONE)

View File

@ -423,6 +423,8 @@ public class LanguageManager {
c.get("command.info.output.bake.none", "%jobname% does not get money for cooking foods.");
c.get("command.info.output.bucket.info", "&eBucket");
c.get("command.info.output.bucket.none", "%jobname% does not get money for bucketing.");
c.get("command.info.output.brush.info", "&eBrush");
c.get("command.info.output.brush.none", "%jobname% does not get money for brushing blocks.");
c.get("command.playerinfo.help.info", "Show how much each job is getting paid and for what on another player.");
c.get("command.playerinfo.help.args", "[playername] [jobname] [action]");

View File

@ -45,7 +45,8 @@ public enum ActionType {
CUSTOMKILL("custom-kill"),
COLLECT(),
BAKE(),
BUCKET();
BUCKET(),
BRUSH();
private String name;

View File

@ -0,0 +1,55 @@
package com.gamingmesh.jobs.listeners;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Item;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockDropItemEvent;
import com.gamingmesh.jobs.Jobs;
import com.gamingmesh.jobs.actions.BlockActionInfo;
import com.gamingmesh.jobs.actions.ItemActionInfo;
import com.gamingmesh.jobs.container.ActionType;
import com.gamingmesh.jobs.container.JobsPlayer;
public class JobsPayment1_20Listener implements Listener {
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onEntityBucketed(BlockDropItemEvent event) {
Player player = event.getPlayer();
if (!Jobs.getGCManager().canPerformActionInWorld(player.getWorld())) {
return;
}
// check if in creative
if (!JobsPaymentListener.payIfCreative(player)) {
return;
}
if (!event.getBlock().getType().toString().contains("SUSPICIOUS_")) {
return;
}
if (!Jobs.getPermissionHandler().hasWorldPermission(player, player.getLocation().getWorld().getName())) {
return;
}
// check if player is riding
if (Jobs.getGCManager().disablePaymentIfRiding && player.isInsideVehicle() && !player.getVehicle().getType().equals(EntityType.BOAT)) {
return;
}
JobsPlayer jPlayer = Jobs.getPlayerManager().getJobsPlayer(player);
if (jPlayer == null)
return;
Jobs.action(jPlayer, new BlockActionInfo(event.getBlock(), ActionType.BRUSH));
for (Item item : event.getItems()) {
Jobs.action(jPlayer, new ItemActionInfo(item.getItemStack(), ActionType.BRUSH));
}
}
}

View File

@ -41,10 +41,10 @@ import org.bukkit.entity.EntityType;
import org.bukkit.entity.HumanEntity;
import org.bukkit.entity.Item;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.MushroomCow;
import org.bukkit.entity.Player;
import org.bukkit.entity.Projectile;
import org.bukkit.entity.Sheep;
import org.bukkit.entity.MushroomCow;
import org.bukkit.entity.Tameable;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
@ -134,7 +134,6 @@ import net.Zrips.CMILib.Items.CMIItemStack;
import net.Zrips.CMILib.Items.CMIMC;
import net.Zrips.CMILib.Items.CMIMaterial;
import net.Zrips.CMILib.Locale.LC;
import net.Zrips.CMILib.Logs.CMIDebug;
import net.Zrips.CMILib.Messages.CMIMessages;
import net.Zrips.CMILib.Version.Version;
import net.Zrips.CMILib.Version.Schedulers.CMIScheduler;