优化代码逻辑,添加代码补全,添加全局方块快速破坏
This commit is contained in:
parent
9d7cfbeb78
commit
fd0aec14b9
2
pom.xml
2
pom.xml
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
<groupId>com.frontleaves</groupId>
|
<groupId>com.frontleaves</groupId>
|
||||||
<artifactId>ChainMining</artifactId>
|
<artifactId>ChainMining</artifactId>
|
||||||
<version>1.2-SNAPSHOT</version>
|
<version>1.3-SNAPSHOT</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<name>chainMining</name>
|
<name>chainMining</name>
|
||||||
|
@ -2,6 +2,7 @@ package com.frontleaves.chainmining;
|
|||||||
|
|
||||||
import com.frontleaves.chainmining.commands.ChangeToUse;
|
import com.frontleaves.chainmining.commands.ChangeToUse;
|
||||||
import com.frontleaves.chainmining.commands.PluginMenu;
|
import com.frontleaves.chainmining.commands.PluginMenu;
|
||||||
|
import com.frontleaves.chainmining.listeners.AutoListener;
|
||||||
import com.frontleaves.chainmining.listeners.CutTreeListener;
|
import com.frontleaves.chainmining.listeners.CutTreeListener;
|
||||||
import com.frontleaves.chainmining.listeners.MineralsListener;
|
import com.frontleaves.chainmining.listeners.MineralsListener;
|
||||||
import com.frontleaves.chainmining.listeners.PlayerJoinServerListener;
|
import com.frontleaves.chainmining.listeners.PlayerJoinServerListener;
|
||||||
@ -15,9 +16,11 @@ import java.util.Objects;
|
|||||||
*/
|
*/
|
||||||
public final class ChainMining extends JavaPlugin {
|
public final class ChainMining extends JavaPlugin {
|
||||||
|
|
||||||
public static String prefix = "§8[§bFYCM§8]";
|
public static final String PREFIX = "§8[§bFYCM§8]§r";
|
||||||
|
public static final String VERSION = "v1.3-SNAPSHOT";
|
||||||
|
|
||||||
public static HashMap<String,HashMap<String, Boolean>> playerList = new HashMap<>();
|
public static HashMap<String, HashMap<String, HashMap<String, Integer>>> playerList = new HashMap<>();
|
||||||
|
public static HashMap<String, HashMap<String, Boolean>> playerData = new HashMap<>();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onEnable() {
|
public void onEnable() {
|
||||||
@ -28,6 +31,7 @@ public final class ChainMining extends JavaPlugin {
|
|||||||
getServer().getPluginManager().registerEvents(new PlayerJoinServerListener(), this);
|
getServer().getPluginManager().registerEvents(new PlayerJoinServerListener(), this);
|
||||||
getServer().getPluginManager().registerEvents(new MineralsListener(), this);
|
getServer().getPluginManager().registerEvents(new MineralsListener(), this);
|
||||||
getServer().getPluginManager().registerEvents(new CutTreeListener(), this);
|
getServer().getPluginManager().registerEvents(new CutTreeListener(), this);
|
||||||
|
getServer().getPluginManager().registerEvents(new AutoListener(), this);
|
||||||
// Plugin startup logic
|
// Plugin startup logic
|
||||||
getLogger().info("插件启动成功");
|
getLogger().info("插件启动成功");
|
||||||
}
|
}
|
||||||
|
@ -1,15 +1,17 @@
|
|||||||
package com.frontleaves.chainmining.commands;
|
package com.frontleaves.chainmining.commands;
|
||||||
|
|
||||||
import com.frontleaves.chainmining.ChainMining;
|
import com.frontleaves.chainmining.ChainMining;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.*;
|
||||||
import org.bukkit.command.CommandExecutor;
|
|
||||||
import org.bukkit.command.CommandSender;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author 锋楪技术(深圳)有限公司
|
* @author 锋楪技术(深圳)有限公司
|
||||||
*/
|
*/
|
||||||
public class ChangeToUse implements CommandExecutor {
|
public class ChangeToUse implements CommandExecutor, TabExecutor, TabCompleter {
|
||||||
@Override
|
@Override
|
||||||
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
||||||
if ("fykg".equalsIgnoreCase(command.getName())) {
|
if ("fykg".equalsIgnoreCase(command.getName())) {
|
||||||
@ -18,57 +20,144 @@ public class ChangeToUse implements CommandExecutor {
|
|||||||
case "cm":
|
case "cm":
|
||||||
switch (args[1]) {
|
switch (args[1]) {
|
||||||
case "on":
|
case "on":
|
||||||
ChainMining.playerList.get(sender.getName()).put("chainMining", true);
|
ChainMining.playerData.get(sender.getName()).put("chainMining", true);
|
||||||
sender.sendMessage(ChainMining.prefix + "§6 连锁挖矿设置为§2开启");
|
ChainMining.playerData.get(sender.getName()).put("auto", false);
|
||||||
|
ChainMining.playerData.get(sender.getName()).put("road", false);
|
||||||
|
sender.sendMessage(ChainMining.PREFIX + "§6 连锁挖矿设置为§2开启");
|
||||||
break;
|
break;
|
||||||
case "off":
|
case "off":
|
||||||
ChainMining.playerList.get(sender.getName()).put("chainMining", false);
|
ChainMining.playerData.get(sender.getName()).put("chainMining", false);
|
||||||
sender.sendMessage(ChainMining.prefix + "§6 连锁挖矿设置为§c关闭");
|
ChainMining.playerData.get(sender.getName()).put("auto", false);
|
||||||
|
ChainMining.playerData.get(sender.getName()).put("road", false);
|
||||||
|
sender.sendMessage(ChainMining.PREFIX + "§6 连锁挖矿设置为§c关闭");
|
||||||
break;
|
break;
|
||||||
case "toggle":
|
case "toggle":
|
||||||
if (ChainMining.playerList.get(sender.getName()).get("chainMining")) {
|
if (ChainMining.playerData.get(sender.getName()).get("chainMining")) {
|
||||||
ChainMining.playerList.get(sender.getName()).put("chainMining", false);
|
ChainMining.playerData.get(sender.getName()).put("chainMining", false);
|
||||||
sender.sendMessage(ChainMining.prefix + "§6 连锁挖矿切换为§c关闭");
|
ChainMining.playerData.get(sender.getName()).put("auto", false);
|
||||||
|
ChainMining.playerData.get(sender.getName()).put("road", false);
|
||||||
|
sender.sendMessage(ChainMining.PREFIX + "§6 连锁挖矿切换为§c关闭");
|
||||||
} else {
|
} else {
|
||||||
ChainMining.playerList.get(sender.getName()).put("chainMining", true);
|
ChainMining.playerData.get(sender.getName()).put("chainMining", true);
|
||||||
sender.sendMessage(ChainMining.prefix + "§6 连锁挖矿切换为§2开启");
|
ChainMining.playerData.get(sender.getName()).put("auto", false);
|
||||||
|
ChainMining.playerData.get(sender.getName()).put("road", false);
|
||||||
|
sender.sendMessage(ChainMining.PREFIX + "§6 连锁挖矿切换为§2开启");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
sender.sendMessage(ChainMining.prefix + "§c 参数错误");
|
sender.sendMessage(ChainMining.PREFIX + "§c 参数错误");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "tr":
|
case "tr":
|
||||||
switch (args[1]) {
|
switch (args[1]) {
|
||||||
case "on":
|
case "on":
|
||||||
ChainMining.playerList.get(sender.getName()).put("tree", true);
|
ChainMining.playerData.get(sender.getName()).put("tree", true);
|
||||||
sender.sendMessage(ChainMining.prefix + "§6 快速砍树设置为§2开启");
|
ChainMining.playerData.get(sender.getName()).put("auto", false);
|
||||||
|
ChainMining.playerData.get(sender.getName()).put("road", false);
|
||||||
|
sender.sendMessage(ChainMining.PREFIX + "§6 快速砍树设置为§2开启");
|
||||||
break;
|
break;
|
||||||
case "off":
|
case "off":
|
||||||
ChainMining.playerList.get(sender.getName()).put("tree", false);
|
ChainMining.playerData.get(sender.getName()).put("tree", false);
|
||||||
sender.sendMessage(ChainMining.prefix + "§6 快速砍树设置为§c关闭");
|
ChainMining.playerData.get(sender.getName()).put("auto", false);
|
||||||
|
ChainMining.playerData.get(sender.getName()).put("road", false);
|
||||||
|
sender.sendMessage(ChainMining.PREFIX + "§6 快速砍树设置为§c关闭");
|
||||||
break;
|
break;
|
||||||
case "toggle":
|
case "toggle":
|
||||||
if (ChainMining.playerList.get(sender.getName()).get("tree")) {
|
if (ChainMining.playerData.get(sender.getName()).get("tree")) {
|
||||||
ChainMining.playerList.get(sender.getName()).put("tree", false);
|
ChainMining.playerData.get(sender.getName()).put("tree", false);
|
||||||
sender.sendMessage(ChainMining.prefix + "§6 快速砍树切换为§c关闭");
|
ChainMining.playerData.get(sender.getName()).put("auto", false);
|
||||||
|
ChainMining.playerData.get(sender.getName()).put("road", false);
|
||||||
|
sender.sendMessage(ChainMining.PREFIX + "§6 快速砍树切换为§c关闭");
|
||||||
} else {
|
} else {
|
||||||
ChainMining.playerList.get(sender.getName()).put("tree", true);
|
ChainMining.playerData.get(sender.getName()).put("tree", true);
|
||||||
sender.sendMessage(ChainMining.prefix + "§6 快速砍树切换为§2开启");
|
ChainMining.playerData.get(sender.getName()).put("auto", false);
|
||||||
|
ChainMining.playerData.get(sender.getName()).put("road", false);
|
||||||
|
sender.sendMessage(ChainMining.PREFIX + "§6 快速砍树切换为§2开启");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
sender.sendMessage(ChainMining.prefix + "§c 参数错误");
|
sender.sendMessage(ChainMining.PREFIX + "§c 参数错误");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case "auto":
|
||||||
|
case "set":
|
||||||
|
// 执行操作
|
||||||
|
ChainMining.playerData.get(sender.getName()).put("auto", true);
|
||||||
|
ChainMining.playerData.get(sender.getName()).put("tree", false);
|
||||||
|
ChainMining.playerData.get(sender.getName()).put("chainMining", false);
|
||||||
|
ChainMining.playerData.get(sender.getName()).put("road", false);
|
||||||
|
// 设置范围
|
||||||
|
if ("auto".equals(args[0])) {
|
||||||
|
ChainMining.playerList.get(sender.getName()).get("typeAuto").put("length", 2);
|
||||||
|
ChainMining.playerList.get(sender.getName()).get("typeAuto").put("width", 2);
|
||||||
|
ChainMining.playerList.get(sender.getName()).get("typeAuto").put("height", 1);
|
||||||
|
sender.sendMessage(ChainMining.PREFIX + "§6 快速破坏已开启§e(其他破坏方式已关闭)");
|
||||||
|
} else {
|
||||||
|
boolean returnInfo = false;
|
||||||
|
if (!args[1].isEmpty() && Integer.parseInt(args[1]) >= 1 && Integer.parseInt(args[1]) <= 5) {
|
||||||
|
ChainMining.playerList.get(sender.getName()).get("typeAuto").put("length", Integer.valueOf(args[1]));
|
||||||
|
} else {
|
||||||
|
ChainMining.playerList.get(sender.getName()).get("typeAuto").put("length", 1);
|
||||||
|
returnInfo = true;
|
||||||
|
}
|
||||||
|
if (!args[2].isEmpty() && Integer.parseInt(args[2]) >= 1 && Integer.parseInt(args[2]) <= 5) {
|
||||||
|
ChainMining.playerList.get(sender.getName()).get("typeAuto").put("height", Integer.valueOf(args[1]));
|
||||||
|
} else {
|
||||||
|
ChainMining.playerList.get(sender.getName()).get("typeAuto").put("height", 1);
|
||||||
|
returnInfo = true;
|
||||||
|
}
|
||||||
|
if (!args[3].isEmpty() && Integer.parseInt(args[3]) >= 1 && Integer.parseInt(args[3]) <= 5) {
|
||||||
|
ChainMining.playerList.get(sender.getName()).get("typeAuto").put("width", Integer.valueOf(args[1]));
|
||||||
|
} else {
|
||||||
|
ChainMining.playerList.get(sender.getName()).get("typeAuto").put("width", 1);
|
||||||
|
returnInfo = true;
|
||||||
|
}
|
||||||
|
sender.sendMessage(ChainMining.PREFIX + "§6 自定义快速破坏已开启§e(其他破坏方式已关闭)");
|
||||||
|
if (returnInfo) {
|
||||||
|
sender.sendMessage(ChainMining.PREFIX + "§c 未补全或值小于 1 部分已默认设置为 1 ,最大不可超过 5");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "road":
|
||||||
|
// 执行操作
|
||||||
|
ChainMining.playerData.get(sender.getName()).put("road", true);
|
||||||
|
ChainMining.playerData.get(sender.getName()).put("auto", false);
|
||||||
|
ChainMining.playerData.get(sender.getName()).put("tree", false);
|
||||||
|
ChainMining.playerData.get(sender.getName()).put("chainMining", false);
|
||||||
|
sender.sendMessage(ChainMining.PREFIX + "§6 道路模式已开启§e(其他破坏方式已关闭)");
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
sender.sendMessage(ChainMining.prefix + "§c 参数不正确");
|
sender.sendMessage(ChainMining.PREFIX + "§c 参数不正确");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
@Override
|
||||||
|
public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
||||||
|
List<String> tab = new ArrayList<>();
|
||||||
|
if (args.length == 1) {
|
||||||
|
tab.add("cm");
|
||||||
|
tab.add("tr");
|
||||||
|
tab.add("auto");
|
||||||
|
tab.add("road");
|
||||||
|
tab.add("set");
|
||||||
|
} else if (args.length == 2 && ("cm".equals(args[0]) || "tr".equals(args[0]))) {
|
||||||
|
tab.add("on");
|
||||||
|
tab.add("off");
|
||||||
|
tab.add("toggle");
|
||||||
|
} else if (args.length == 2 && "set".equals(args[0])) {
|
||||||
|
tab.add("x");
|
||||||
|
} else if (args.length == 3 && "set".equals(args[0])) {
|
||||||
|
tab.add("y");
|
||||||
|
} else if (args.length == 4 && "set".equals(args[0])) {
|
||||||
|
tab.add("z");
|
||||||
|
}
|
||||||
|
return tab;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,15 +1,17 @@
|
|||||||
package com.frontleaves.chainmining.commands;
|
package com.frontleaves.chainmining.commands;
|
||||||
|
|
||||||
import com.frontleaves.chainmining.ChainMining;
|
import com.frontleaves.chainmining.ChainMining;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.*;
|
||||||
import org.bukkit.command.CommandExecutor;
|
|
||||||
import org.bukkit.command.CommandSender;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author 锋楪技术(深圳)有限公司
|
* @author 锋楪技术(深圳)有限公司
|
||||||
*/
|
*/
|
||||||
public class PluginMenu implements CommandExecutor {
|
public class PluginMenu implements CommandExecutor, TabExecutor, TabCompleter {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
||||||
@ -19,7 +21,7 @@ public class PluginMenu implements CommandExecutor {
|
|||||||
sender.sendMessage("§2连锁挖矿 §aChainMining");
|
sender.sendMessage("§2连锁挖矿 §aChainMining");
|
||||||
sender.sendMessage("§1作者:§3锋楪技术§8[§9筱锋xiao_lfeng§8]");
|
sender.sendMessage("§1作者:§3锋楪技术§8[§9筱锋xiao_lfeng§8]");
|
||||||
sender.sendMessage("§6使用方法:§e/fycm help");
|
sender.sendMessage("§6使用方法:§e/fycm help");
|
||||||
sender.sendMessage("§c当前版本:§4v1.2-SNAPSHOT");
|
sender.sendMessage("§c当前版本:§4" + ChainMining.VERSION);
|
||||||
sender.sendMessage("§7§l§m=]========§2§l 连锁挖矿§a§lChainMining§7§l§m ========[=");
|
sender.sendMessage("§7§l§m=]========§2§l 连锁挖矿§a§lChainMining§7§l§m ========[=");
|
||||||
} else {
|
} else {
|
||||||
if ("help".equals(args[0])) {
|
if ("help".equals(args[0])) {
|
||||||
@ -74,7 +76,7 @@ public class PluginMenu implements CommandExecutor {
|
|||||||
sender.sendMessage("§7§l§m=]========§2§l 连锁挖矿§a§lChainMining§7§l§m ========[=");
|
sender.sendMessage("§7§l§m=]========§2§l 连锁挖矿§a§lChainMining§7§l§m ========[=");
|
||||||
sender.sendMessage("§31 §8/ §32");
|
sender.sendMessage("§31 §8/ §32");
|
||||||
} else {
|
} else {
|
||||||
sender.sendMessage(ChainMining.prefix + "§c 超出页面");
|
sender.sendMessage(ChainMining.PREFIX + "§c 超出页面");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -84,22 +86,33 @@ public class PluginMenu implements CommandExecutor {
|
|||||||
sender.sendMessage("§7§l§m=]========§2§l 连锁挖矿§a§lChainMining§7§l§m ========[=");
|
sender.sendMessage("§7§l§m=]========§2§l 连锁挖矿§a§lChainMining§7§l§m ========[=");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
sender.sendMessage(ChainMining.prefix + "§c 参数错误,输入 /fycm 查看指令帮助");
|
sender.sendMessage(ChainMining.PREFIX + "§c 参数错误,输入 /fycm 查看指令帮助");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if ("status".equals(args[0])) {
|
} else if ("status".equals(args[0])) {
|
||||||
sender.sendMessage("§7§l§m=]========§2§l 连锁挖矿§a§lChainMining§7§l§m ========[=");
|
sender.sendMessage("§7§l§m=]========§2§l 连锁挖矿§a§lChainMining§7§l§m ========[=");
|
||||||
sender.sendMessage("§6连锁挖矿:§3" + ChainMining.playerList.get(sender.getName()).get("chainMining"));
|
sender.sendMessage("§6连锁挖矿:§3" + ChainMining.playerData.get(sender.getName()).get("chainMining"));
|
||||||
sender.sendMessage("§6快速砍树:§3" + ChainMining.playerList.get(sender.getName()).get("tree"));
|
sender.sendMessage("§6快速砍树:§3" + ChainMining.playerData.get(sender.getName()).get("tree"));
|
||||||
sender.sendMessage("§6全局操作:§3" + ChainMining.playerList.get(sender.getName()).get("auto"));
|
sender.sendMessage("§6全局操作:§3" + ChainMining.playerData.get(sender.getName()).get("auto"));
|
||||||
sender.sendMessage("§6开路模式:§3" + ChainMining.playerList.get(sender.getName()).get("road"));
|
sender.sendMessage("§6开路模式:§3" + ChainMining.playerData.get(sender.getName()).get("road"));
|
||||||
sender.sendMessage("§7§l§m=]========§2§l 连锁挖矿§a§lChainMining§7§l§m ========[=");
|
sender.sendMessage("§7§l§m=]========§2§l 连锁挖矿§a§lChainMining§7§l§m ========[=");
|
||||||
} else {
|
} else {
|
||||||
sender.sendMessage(ChainMining.prefix + "§c 输入 /fycm 查看指令帮助");
|
sender.sendMessage(ChainMining.PREFIX + "§c 输入 /fycm 查看指令帮助");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
@Override
|
||||||
|
public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
||||||
|
List<String> tab = new ArrayList<>();
|
||||||
|
if (args.length == 1) {
|
||||||
|
tab.add("help");
|
||||||
|
tab.add("status");
|
||||||
|
}
|
||||||
|
return tab;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,123 @@
|
|||||||
|
package com.frontleaves.chainmining.listeners;
|
||||||
|
|
||||||
|
import com.frontleaves.chainmining.ChainMining;
|
||||||
|
import org.bukkit.GameMode;
|
||||||
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.Sound;
|
||||||
|
import org.bukkit.block.Block;
|
||||||
|
import org.bukkit.block.BlockFace;
|
||||||
|
import org.bukkit.entity.ExperienceOrb;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
import org.bukkit.event.block.BlockBreakEvent;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.bukkit.inventory.meta.Damageable;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author 锋楪技术(深圳)有限公司
|
||||||
|
*/
|
||||||
|
public class AutoListener implements Listener {
|
||||||
|
|
||||||
|
private static Material thisBreak;
|
||||||
|
private static int maxDurability;
|
||||||
|
private static int damage;
|
||||||
|
private static int blockNumber;
|
||||||
|
private static ItemStack playerMainHandTool;
|
||||||
|
private Location breakLocation;
|
||||||
|
// 获取方向配置
|
||||||
|
private int getX;
|
||||||
|
private int getY;
|
||||||
|
private int getZ;
|
||||||
|
private int relativeDistanceX;
|
||||||
|
private int relativeDistanceY;
|
||||||
|
private int relativeDistanceZ;
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void autoBreakBlockEvent(BlockBreakEvent blockBreakEvent) {
|
||||||
|
// 检查玩家的操作是否被打开
|
||||||
|
if (ChainMining.playerData.get(blockBreakEvent.getPlayer().getName()).get("auto")) {
|
||||||
|
// 检查玩家的游戏模式
|
||||||
|
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
||||||
|
// 检查玩家是否蹲下
|
||||||
|
if (blockBreakEvent.getPlayer().isSneaking()) {
|
||||||
|
// 检查玩家当前是否可以破坏物品
|
||||||
|
ItemStack getPlayerHandItem = blockBreakEvent.getPlayer().getInventory().getItemInMainHand();
|
||||||
|
Collection<ItemStack> getCollection = blockBreakEvent.getBlock().getDrops(getPlayerHandItem);
|
||||||
|
// 如果凋落物不为空
|
||||||
|
if (!getCollection.isEmpty()) {
|
||||||
|
// 前置准备
|
||||||
|
playerMainHandTool = blockBreakEvent.getPlayer().getInventory().getItemInMainHand();
|
||||||
|
Damageable getPlayerMindHandItem = (Damageable) playerMainHandTool.getItemMeta();
|
||||||
|
thisBreak = blockBreakEvent.getBlock().getType();
|
||||||
|
blockNumber = 0;
|
||||||
|
int expToDrop = blockBreakEvent.getExpToDrop();
|
||||||
|
breakLocation = blockBreakEvent.getBlock().getLocation();
|
||||||
|
HashMap<String, Integer> getAutoMap = ChainMining.playerList.get(blockBreakEvent.getPlayer().getName()).get("typeAuto");
|
||||||
|
getX = getAutoMap.get("length");
|
||||||
|
getY = getAutoMap.get("height");
|
||||||
|
getZ = getAutoMap.get("width");
|
||||||
|
// 检查玩家手中物品有无耐久
|
||||||
|
if (getPlayerMindHandItem != null && getPlayerMindHandItem.hasDamage()) {
|
||||||
|
maxDurability = blockBreakEvent.getPlayer().getInventory().getItemInMainHand().getType().getMaxDurability();
|
||||||
|
damage = getPlayerMindHandItem.getDamage();
|
||||||
|
}
|
||||||
|
// 执行破坏操作
|
||||||
|
directionOfOperation(blockBreakEvent.getBlock());
|
||||||
|
// 后置操作
|
||||||
|
if (getPlayerMindHandItem != null && getPlayerMindHandItem.hasDamage()) {
|
||||||
|
// 最大耐久检查
|
||||||
|
if (maxDurability - damage - blockNumber <= 0) {
|
||||||
|
if (blockNumber == 0) {
|
||||||
|
blockBreakEvent.setCancelled(true);
|
||||||
|
}
|
||||||
|
blockBreakEvent.getPlayer().getInventory().setItemInMainHand(new ItemStack(Material.AIR));
|
||||||
|
blockBreakEvent.getPlayer().playSound(blockBreakEvent.getPlayer().getLocation(), Sound.ENTITY_ITEM_BREAK, 1.0f, 1.0f);
|
||||||
|
} else {
|
||||||
|
getPlayerMindHandItem.setDamage(damage + blockNumber);
|
||||||
|
blockBreakEvent.getPlayer().getInventory().getItemInMainHand().setItemMeta(getPlayerMindHandItem);
|
||||||
|
Location location = blockBreakEvent.getBlock().getLocation();
|
||||||
|
if (expToDrop > 0) {
|
||||||
|
ExperienceOrb experienceOrb = Objects.requireNonNull(location.getWorld()).spawn(location, ExperienceOrb.class);
|
||||||
|
experienceOrb.setExperience(expToDrop * blockNumber);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void directionOfOperation(Block getBlock) {
|
||||||
|
for (BlockFace blockFace : BlockFace.values()) {
|
||||||
|
Block blocker = getBlock.getRelative(blockFace);
|
||||||
|
repetitiveStatement(blocker);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void repetitiveStatement(@NotNull Block getBlock) {
|
||||||
|
while (getBlock.getType() == thisBreak) {
|
||||||
|
if (maxDurability - damage - blockNumber > 0) {
|
||||||
|
relativeDistanceX = Math.abs(breakLocation.getBlockX() - getBlock.getLocation().getBlockX());
|
||||||
|
relativeDistanceY = Math.abs(breakLocation.getBlockY() - getBlock.getLocation().getBlockY());
|
||||||
|
relativeDistanceZ = Math.abs(breakLocation.getBlockZ() - getBlock.getLocation().getBlockZ());
|
||||||
|
// 具体执行操作
|
||||||
|
if (relativeDistanceX <= getX && relativeDistanceY <= getY && relativeDistanceZ <= getZ) {
|
||||||
|
getBlock.breakNaturally(playerMainHandTool);
|
||||||
|
blockNumber++;
|
||||||
|
directionOfOperation(getBlock);
|
||||||
|
} else {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -37,7 +37,7 @@ public class CutTreeListener implements Listener {
|
|||||||
@EventHandler
|
@EventHandler
|
||||||
public void oakLog(@NotNull BlockBreakEvent blockBreakEvent) {
|
public void oakLog(@NotNull BlockBreakEvent blockBreakEvent) {
|
||||||
// 检查玩家是否开启
|
// 检查玩家是否开启
|
||||||
if (ChainMining.playerList.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
if (ChainMining.playerData.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
||||||
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
||||||
if (blockBreakEvent.getPlayer().isSneaking()) {
|
if (blockBreakEvent.getPlayer().isSneaking()) {
|
||||||
// 检查能否掉落物品
|
// 检查能否掉落物品
|
||||||
@ -75,7 +75,7 @@ public class CutTreeListener implements Listener {
|
|||||||
@EventHandler
|
@EventHandler
|
||||||
public void birchLog(@NotNull BlockBreakEvent blockBreakEvent) {
|
public void birchLog(@NotNull BlockBreakEvent blockBreakEvent) {
|
||||||
// 检查玩家是否开启
|
// 检查玩家是否开启
|
||||||
if (ChainMining.playerList.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
if (ChainMining.playerData.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
||||||
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
||||||
if (blockBreakEvent.getPlayer().isSneaking()) {
|
if (blockBreakEvent.getPlayer().isSneaking()) {
|
||||||
// 检查能否掉落物品
|
// 检查能否掉落物品
|
||||||
@ -113,7 +113,7 @@ public class CutTreeListener implements Listener {
|
|||||||
@EventHandler
|
@EventHandler
|
||||||
public void jungleLog(@NotNull BlockBreakEvent blockBreakEvent) {
|
public void jungleLog(@NotNull BlockBreakEvent blockBreakEvent) {
|
||||||
// 检查玩家是否开启
|
// 检查玩家是否开启
|
||||||
if (ChainMining.playerList.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
if (ChainMining.playerData.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
||||||
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
||||||
if (blockBreakEvent.getPlayer().isSneaking()) {
|
if (blockBreakEvent.getPlayer().isSneaking()) {
|
||||||
// 检查能否掉落物品
|
// 检查能否掉落物品
|
||||||
@ -151,7 +151,7 @@ public class CutTreeListener implements Listener {
|
|||||||
@EventHandler
|
@EventHandler
|
||||||
public void acaciaLog(@NotNull BlockBreakEvent blockBreakEvent) {
|
public void acaciaLog(@NotNull BlockBreakEvent blockBreakEvent) {
|
||||||
// 检查玩家是否开启
|
// 检查玩家是否开启
|
||||||
if (ChainMining.playerList.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
if (ChainMining.playerData.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
||||||
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
||||||
if (blockBreakEvent.getPlayer().isSneaking()) {
|
if (blockBreakEvent.getPlayer().isSneaking()) {
|
||||||
// 检查能否掉落物品
|
// 检查能否掉落物品
|
||||||
@ -189,7 +189,7 @@ public class CutTreeListener implements Listener {
|
|||||||
@EventHandler
|
@EventHandler
|
||||||
public void darkOrkLog(@NotNull BlockBreakEvent blockBreakEvent) {
|
public void darkOrkLog(@NotNull BlockBreakEvent blockBreakEvent) {
|
||||||
// 检查玩家是否开启
|
// 检查玩家是否开启
|
||||||
if (ChainMining.playerList.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
if (ChainMining.playerData.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
||||||
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
||||||
if (blockBreakEvent.getPlayer().isSneaking()) {
|
if (blockBreakEvent.getPlayer().isSneaking()) {
|
||||||
// 检查能否掉落物品
|
// 检查能否掉落物品
|
||||||
@ -227,7 +227,7 @@ public class CutTreeListener implements Listener {
|
|||||||
@EventHandler
|
@EventHandler
|
||||||
public void mangroveLog(@NotNull BlockBreakEvent blockBreakEvent) {
|
public void mangroveLog(@NotNull BlockBreakEvent blockBreakEvent) {
|
||||||
// 检查玩家是否开启
|
// 检查玩家是否开启
|
||||||
if (ChainMining.playerList.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
if (ChainMining.playerData.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
||||||
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
||||||
if (blockBreakEvent.getPlayer().isSneaking()) {
|
if (blockBreakEvent.getPlayer().isSneaking()) {
|
||||||
// 检查能否掉落物品
|
// 检查能否掉落物品
|
||||||
@ -265,7 +265,7 @@ public class CutTreeListener implements Listener {
|
|||||||
@EventHandler
|
@EventHandler
|
||||||
public void cherryLog(@NotNull BlockBreakEvent blockBreakEvent) {
|
public void cherryLog(@NotNull BlockBreakEvent blockBreakEvent) {
|
||||||
// 检查玩家是否开启
|
// 检查玩家是否开启
|
||||||
if (ChainMining.playerList.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
if (ChainMining.playerData.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
||||||
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
||||||
if (blockBreakEvent.getPlayer().isSneaking()) {
|
if (blockBreakEvent.getPlayer().isSneaking()) {
|
||||||
// 检查能否掉落物品
|
// 检查能否掉落物品
|
||||||
@ -303,7 +303,7 @@ public class CutTreeListener implements Listener {
|
|||||||
@EventHandler
|
@EventHandler
|
||||||
public void crimsonStem(@NotNull BlockBreakEvent blockBreakEvent) {
|
public void crimsonStem(@NotNull BlockBreakEvent blockBreakEvent) {
|
||||||
// 检查玩家是否开启
|
// 检查玩家是否开启
|
||||||
if (ChainMining.playerList.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
if (ChainMining.playerData.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
||||||
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
||||||
if (blockBreakEvent.getPlayer().isSneaking()) {
|
if (blockBreakEvent.getPlayer().isSneaking()) {
|
||||||
// 检查能否掉落物品
|
// 检查能否掉落物品
|
||||||
@ -341,7 +341,7 @@ public class CutTreeListener implements Listener {
|
|||||||
@EventHandler
|
@EventHandler
|
||||||
public void warpedStem(@NotNull BlockBreakEvent blockBreakEvent) {
|
public void warpedStem(@NotNull BlockBreakEvent blockBreakEvent) {
|
||||||
// 检查玩家是否开启
|
// 检查玩家是否开启
|
||||||
if (ChainMining.playerList.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
if (ChainMining.playerData.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
||||||
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
||||||
if (blockBreakEvent.getPlayer().isSneaking()) {
|
if (blockBreakEvent.getPlayer().isSneaking()) {
|
||||||
// 检查能否掉落物品
|
// 检查能否掉落物品
|
||||||
@ -379,7 +379,7 @@ public class CutTreeListener implements Listener {
|
|||||||
@EventHandler
|
@EventHandler
|
||||||
public void spruceLog(@NotNull BlockBreakEvent blockBreakEvent) {
|
public void spruceLog(@NotNull BlockBreakEvent blockBreakEvent) {
|
||||||
// 检查玩家是否开启
|
// 检查玩家是否开启
|
||||||
if (ChainMining.playerList.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
if (ChainMining.playerData.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
||||||
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
||||||
if (blockBreakEvent.getPlayer().isSneaking()) {
|
if (blockBreakEvent.getPlayer().isSneaking()) {
|
||||||
// 检查能否掉落物品
|
// 检查能否掉落物品
|
||||||
@ -417,7 +417,7 @@ public class CutTreeListener implements Listener {
|
|||||||
@EventHandler
|
@EventHandler
|
||||||
public void oakLeaves(@NotNull BlockBreakEvent blockBreakEvent) {
|
public void oakLeaves(@NotNull BlockBreakEvent blockBreakEvent) {
|
||||||
// 检查玩家是否开启
|
// 检查玩家是否开启
|
||||||
if (ChainMining.playerList.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
if (ChainMining.playerData.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
||||||
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
||||||
if (blockBreakEvent.getPlayer().isSneaking()) {
|
if (blockBreakEvent.getPlayer().isSneaking()) {
|
||||||
// 检查能否掉落物品
|
// 检查能否掉落物品
|
||||||
@ -452,7 +452,7 @@ public class CutTreeListener implements Listener {
|
|||||||
@EventHandler
|
@EventHandler
|
||||||
public void spruceLeaves(@NotNull BlockBreakEvent blockBreakEvent) {
|
public void spruceLeaves(@NotNull BlockBreakEvent blockBreakEvent) {
|
||||||
// 检查玩家是否开启
|
// 检查玩家是否开启
|
||||||
if (ChainMining.playerList.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
if (ChainMining.playerData.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
||||||
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
||||||
if (blockBreakEvent.getPlayer().isSneaking()) {
|
if (blockBreakEvent.getPlayer().isSneaking()) {
|
||||||
// 检查能否掉落物品
|
// 检查能否掉落物品
|
||||||
@ -487,7 +487,7 @@ public class CutTreeListener implements Listener {
|
|||||||
@EventHandler
|
@EventHandler
|
||||||
public void birchLeaves(@NotNull BlockBreakEvent blockBreakEvent) {
|
public void birchLeaves(@NotNull BlockBreakEvent blockBreakEvent) {
|
||||||
// 检查玩家是否开启
|
// 检查玩家是否开启
|
||||||
if (ChainMining.playerList.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
if (ChainMining.playerData.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
||||||
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
||||||
if (blockBreakEvent.getPlayer().isSneaking()) {
|
if (blockBreakEvent.getPlayer().isSneaking()) {
|
||||||
// 检查能否掉落物品
|
// 检查能否掉落物品
|
||||||
@ -522,7 +522,7 @@ public class CutTreeListener implements Listener {
|
|||||||
@EventHandler
|
@EventHandler
|
||||||
public void jungleLeaves(@NotNull BlockBreakEvent blockBreakEvent) {
|
public void jungleLeaves(@NotNull BlockBreakEvent blockBreakEvent) {
|
||||||
// 检查玩家是否开启
|
// 检查玩家是否开启
|
||||||
if (ChainMining.playerList.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
if (ChainMining.playerData.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
||||||
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
||||||
if (blockBreakEvent.getPlayer().isSneaking()) {
|
if (blockBreakEvent.getPlayer().isSneaking()) {
|
||||||
// 检查能否掉落物品
|
// 检查能否掉落物品
|
||||||
@ -557,7 +557,7 @@ public class CutTreeListener implements Listener {
|
|||||||
@EventHandler
|
@EventHandler
|
||||||
public void acaciaLeaves(@NotNull BlockBreakEvent blockBreakEvent) {
|
public void acaciaLeaves(@NotNull BlockBreakEvent blockBreakEvent) {
|
||||||
// 检查玩家是否开启
|
// 检查玩家是否开启
|
||||||
if (ChainMining.playerList.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
if (ChainMining.playerData.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
||||||
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
||||||
if (blockBreakEvent.getPlayer().isSneaking()) {
|
if (blockBreakEvent.getPlayer().isSneaking()) {
|
||||||
// 检查能否掉落物品
|
// 检查能否掉落物品
|
||||||
@ -592,7 +592,7 @@ public class CutTreeListener implements Listener {
|
|||||||
@EventHandler
|
@EventHandler
|
||||||
public void mangroveLeaves(@NotNull BlockBreakEvent blockBreakEvent) {
|
public void mangroveLeaves(@NotNull BlockBreakEvent blockBreakEvent) {
|
||||||
// 检查玩家是否开启
|
// 检查玩家是否开启
|
||||||
if (ChainMining.playerList.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
if (ChainMining.playerData.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
||||||
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
||||||
if (blockBreakEvent.getPlayer().isSneaking()) {
|
if (blockBreakEvent.getPlayer().isSneaking()) {
|
||||||
// 检查能否掉落物品
|
// 检查能否掉落物品
|
||||||
@ -627,7 +627,7 @@ public class CutTreeListener implements Listener {
|
|||||||
@EventHandler
|
@EventHandler
|
||||||
public void azaleaLeaves(@NotNull BlockBreakEvent blockBreakEvent) {
|
public void azaleaLeaves(@NotNull BlockBreakEvent blockBreakEvent) {
|
||||||
// 检查玩家是否开启
|
// 检查玩家是否开启
|
||||||
if (ChainMining.playerList.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
if (ChainMining.playerData.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
||||||
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
||||||
if (blockBreakEvent.getPlayer().isSneaking()) {
|
if (blockBreakEvent.getPlayer().isSneaking()) {
|
||||||
// 检查能否掉落物品
|
// 检查能否掉落物品
|
||||||
@ -662,7 +662,7 @@ public class CutTreeListener implements Listener {
|
|||||||
@EventHandler
|
@EventHandler
|
||||||
public void cherryLeaves(@NotNull BlockBreakEvent blockBreakEvent) {
|
public void cherryLeaves(@NotNull BlockBreakEvent blockBreakEvent) {
|
||||||
// 检查玩家是否开启
|
// 检查玩家是否开启
|
||||||
if (ChainMining.playerList.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
if (ChainMining.playerData.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
||||||
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
||||||
if (blockBreakEvent.getPlayer().isSneaking()) {
|
if (blockBreakEvent.getPlayer().isSneaking()) {
|
||||||
// 检查能否掉落物品
|
// 检查能否掉落物品
|
||||||
@ -697,7 +697,7 @@ public class CutTreeListener implements Listener {
|
|||||||
@EventHandler
|
@EventHandler
|
||||||
public void floweringAzaleaLeaves(@NotNull BlockBreakEvent blockBreakEvent) {
|
public void floweringAzaleaLeaves(@NotNull BlockBreakEvent blockBreakEvent) {
|
||||||
// 检查玩家是否开启
|
// 检查玩家是否开启
|
||||||
if (ChainMining.playerList.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
if (ChainMining.playerData.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
||||||
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
||||||
if (blockBreakEvent.getPlayer().isSneaking()) {
|
if (blockBreakEvent.getPlayer().isSneaking()) {
|
||||||
// 检查能否掉落物品
|
// 检查能否掉落物品
|
||||||
@ -732,7 +732,7 @@ public class CutTreeListener implements Listener {
|
|||||||
@EventHandler
|
@EventHandler
|
||||||
public void bambooBlock(@NotNull BlockBreakEvent blockBreakEvent) {
|
public void bambooBlock(@NotNull BlockBreakEvent blockBreakEvent) {
|
||||||
// 检查玩家是否开启
|
// 检查玩家是否开启
|
||||||
if (ChainMining.playerList.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
if (ChainMining.playerData.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
||||||
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
||||||
if (blockBreakEvent.getPlayer().isSneaking()) {
|
if (blockBreakEvent.getPlayer().isSneaking()) {
|
||||||
// 检查能否掉落物品
|
// 检查能否掉落物品
|
||||||
@ -767,7 +767,7 @@ public class CutTreeListener implements Listener {
|
|||||||
@EventHandler
|
@EventHandler
|
||||||
public void crimsonFungus(@NotNull BlockBreakEvent blockBreakEvent) {
|
public void crimsonFungus(@NotNull BlockBreakEvent blockBreakEvent) {
|
||||||
// 检查玩家是否开启
|
// 检查玩家是否开启
|
||||||
if (ChainMining.playerList.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
if (ChainMining.playerData.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
||||||
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
||||||
if (blockBreakEvent.getPlayer().isSneaking()) {
|
if (blockBreakEvent.getPlayer().isSneaking()) {
|
||||||
// 检查能否掉落物品
|
// 检查能否掉落物品
|
||||||
@ -802,7 +802,7 @@ public class CutTreeListener implements Listener {
|
|||||||
@EventHandler
|
@EventHandler
|
||||||
public void warpedFungus(@NotNull BlockBreakEvent blockBreakEvent) {
|
public void warpedFungus(@NotNull BlockBreakEvent blockBreakEvent) {
|
||||||
// 检查玩家是否开启
|
// 检查玩家是否开启
|
||||||
if (ChainMining.playerList.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
if (ChainMining.playerData.get(blockBreakEvent.getPlayer().getName()).get("tree")) {
|
||||||
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
||||||
if (blockBreakEvent.getPlayer().isSneaking()) {
|
if (blockBreakEvent.getPlayer().isSneaking()) {
|
||||||
// 检查能否掉落物品
|
// 检查能否掉落物品
|
||||||
|
@ -33,7 +33,7 @@ public class MineralsListener implements Listener {
|
|||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void mineralsCoal(BlockBreakEvent blockBreakEvent) {
|
public void mineralsCoal(BlockBreakEvent blockBreakEvent) {
|
||||||
if (ChainMining.playerList.get(blockBreakEvent.getPlayer().getName()).get("chainMining")) {
|
if (ChainMining.playerData.get(blockBreakEvent.getPlayer().getName()).get("chainMining")) {
|
||||||
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
||||||
if (blockBreakEvent.getPlayer().isSneaking()) {
|
if (blockBreakEvent.getPlayer().isSneaking()) {
|
||||||
// 检查物品
|
// 检查物品
|
||||||
@ -66,6 +66,7 @@ public class MineralsListener implements Listener {
|
|||||||
getPlayerItem.setDamage(damage + blockNumber);
|
getPlayerItem.setDamage(damage + blockNumber);
|
||||||
blockBreakEvent.getPlayer().getInventory().getItemInMainHand().setItemMeta(getPlayerItem);
|
blockBreakEvent.getPlayer().getInventory().getItemInMainHand().setItemMeta(getPlayerItem);
|
||||||
Location location = blockBreakEvent.getBlock().getLocation();
|
Location location = blockBreakEvent.getBlock().getLocation();
|
||||||
|
if (ExpToDrop > 0) {
|
||||||
ExperienceOrb experienceOrb = Objects.requireNonNull(location.getWorld()).spawn(location, ExperienceOrb.class);
|
ExperienceOrb experienceOrb = Objects.requireNonNull(location.getWorld()).spawn(location, ExperienceOrb.class);
|
||||||
experienceOrb.setExperience(ExpToDrop * blockNumber);
|
experienceOrb.setExperience(ExpToDrop * blockNumber);
|
||||||
}
|
}
|
||||||
@ -76,10 +77,11 @@ public class MineralsListener implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void mineralsIron(BlockBreakEvent blockBreakEvent) {
|
public void mineralsIron(BlockBreakEvent blockBreakEvent) {
|
||||||
if (ChainMining.playerList.get(blockBreakEvent.getPlayer().getName()).get("chainMining")) {
|
if (ChainMining.playerData.get(blockBreakEvent.getPlayer().getName()).get("chainMining")) {
|
||||||
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
||||||
if (blockBreakEvent.getPlayer().isSneaking()) {
|
if (blockBreakEvent.getPlayer().isSneaking()) {
|
||||||
// 检查物品
|
// 检查物品
|
||||||
@ -112,6 +114,7 @@ public class MineralsListener implements Listener {
|
|||||||
getPlayerItem.setDamage(damage + blockNumber);
|
getPlayerItem.setDamage(damage + blockNumber);
|
||||||
blockBreakEvent.getPlayer().getInventory().getItemInMainHand().setItemMeta(getPlayerItem);
|
blockBreakEvent.getPlayer().getInventory().getItemInMainHand().setItemMeta(getPlayerItem);
|
||||||
Location location = blockBreakEvent.getBlock().getLocation();
|
Location location = blockBreakEvent.getBlock().getLocation();
|
||||||
|
if (ExpToDrop > 0) {
|
||||||
ExperienceOrb experienceOrb = Objects.requireNonNull(location.getWorld()).spawn(location, ExperienceOrb.class);
|
ExperienceOrb experienceOrb = Objects.requireNonNull(location.getWorld()).spawn(location, ExperienceOrb.class);
|
||||||
experienceOrb.setExperience(ExpToDrop * blockNumber);
|
experienceOrb.setExperience(ExpToDrop * blockNumber);
|
||||||
}
|
}
|
||||||
@ -122,10 +125,11 @@ public class MineralsListener implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void mineralsLapis(BlockBreakEvent blockBreakEvent) {
|
public void mineralsLapis(BlockBreakEvent blockBreakEvent) {
|
||||||
if (ChainMining.playerList.get(blockBreakEvent.getPlayer().getName()).get("chainMining")) {
|
if (ChainMining.playerData.get(blockBreakEvent.getPlayer().getName()).get("chainMining")) {
|
||||||
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
||||||
if (blockBreakEvent.getPlayer().isSneaking()) {
|
if (blockBreakEvent.getPlayer().isSneaking()) {
|
||||||
// 检查物品
|
// 检查物品
|
||||||
@ -158,6 +162,7 @@ public class MineralsListener implements Listener {
|
|||||||
getPlayerItem.setDamage(damage + blockNumber);
|
getPlayerItem.setDamage(damage + blockNumber);
|
||||||
blockBreakEvent.getPlayer().getInventory().getItemInMainHand().setItemMeta(getPlayerItem);
|
blockBreakEvent.getPlayer().getInventory().getItemInMainHand().setItemMeta(getPlayerItem);
|
||||||
Location location = blockBreakEvent.getBlock().getLocation();
|
Location location = blockBreakEvent.getBlock().getLocation();
|
||||||
|
if (ExpToDrop > 0) {
|
||||||
ExperienceOrb experienceOrb = Objects.requireNonNull(location.getWorld()).spawn(location, ExperienceOrb.class);
|
ExperienceOrb experienceOrb = Objects.requireNonNull(location.getWorld()).spawn(location, ExperienceOrb.class);
|
||||||
experienceOrb.setExperience(ExpToDrop * blockNumber);
|
experienceOrb.setExperience(ExpToDrop * blockNumber);
|
||||||
}
|
}
|
||||||
@ -168,10 +173,11 @@ public class MineralsListener implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void mineralsCopper(BlockBreakEvent blockBreakEvent) {
|
public void mineralsCopper(BlockBreakEvent blockBreakEvent) {
|
||||||
if (ChainMining.playerList.get(blockBreakEvent.getPlayer().getName()).get("chainMining")) {
|
if (ChainMining.playerData.get(blockBreakEvent.getPlayer().getName()).get("chainMining")) {
|
||||||
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
||||||
if (blockBreakEvent.getPlayer().isSneaking()) {
|
if (blockBreakEvent.getPlayer().isSneaking()) {
|
||||||
// 检查物品
|
// 检查物品
|
||||||
@ -204,6 +210,7 @@ public class MineralsListener implements Listener {
|
|||||||
getPlayerItem.setDamage(damage + blockNumber);
|
getPlayerItem.setDamage(damage + blockNumber);
|
||||||
blockBreakEvent.getPlayer().getInventory().getItemInMainHand().setItemMeta(getPlayerItem);
|
blockBreakEvent.getPlayer().getInventory().getItemInMainHand().setItemMeta(getPlayerItem);
|
||||||
Location location = blockBreakEvent.getBlock().getLocation();
|
Location location = blockBreakEvent.getBlock().getLocation();
|
||||||
|
if (ExpToDrop > 0) {
|
||||||
ExperienceOrb experienceOrb = Objects.requireNonNull(location.getWorld()).spawn(location, ExperienceOrb.class);
|
ExperienceOrb experienceOrb = Objects.requireNonNull(location.getWorld()).spawn(location, ExperienceOrb.class);
|
||||||
experienceOrb.setExperience(ExpToDrop * blockNumber);
|
experienceOrb.setExperience(ExpToDrop * blockNumber);
|
||||||
}
|
}
|
||||||
@ -214,10 +221,11 @@ public class MineralsListener implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void mineralsGold(BlockBreakEvent blockBreakEvent) {
|
public void mineralsGold(BlockBreakEvent blockBreakEvent) {
|
||||||
if (ChainMining.playerList.get(blockBreakEvent.getPlayer().getName()).get("chainMining")) {
|
if (ChainMining.playerData.get(blockBreakEvent.getPlayer().getName()).get("chainMining")) {
|
||||||
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
||||||
if (blockBreakEvent.getPlayer().isSneaking()) {
|
if (blockBreakEvent.getPlayer().isSneaking()) {
|
||||||
// 检查物品
|
// 检查物品
|
||||||
@ -250,6 +258,7 @@ public class MineralsListener implements Listener {
|
|||||||
getPlayerItem.setDamage(damage + blockNumber);
|
getPlayerItem.setDamage(damage + blockNumber);
|
||||||
blockBreakEvent.getPlayer().getInventory().getItemInMainHand().setItemMeta(getPlayerItem);
|
blockBreakEvent.getPlayer().getInventory().getItemInMainHand().setItemMeta(getPlayerItem);
|
||||||
Location location = blockBreakEvent.getBlock().getLocation();
|
Location location = blockBreakEvent.getBlock().getLocation();
|
||||||
|
if (ExpToDrop > 0) {
|
||||||
ExperienceOrb experienceOrb = Objects.requireNonNull(location.getWorld()).spawn(location, ExperienceOrb.class);
|
ExperienceOrb experienceOrb = Objects.requireNonNull(location.getWorld()).spawn(location, ExperienceOrb.class);
|
||||||
experienceOrb.setExperience(ExpToDrop * blockNumber);
|
experienceOrb.setExperience(ExpToDrop * blockNumber);
|
||||||
}
|
}
|
||||||
@ -260,10 +269,11 @@ public class MineralsListener implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void mineralsRedStone(BlockBreakEvent blockBreakEvent) {
|
public void mineralsRedStone(BlockBreakEvent blockBreakEvent) {
|
||||||
if (ChainMining.playerList.get(blockBreakEvent.getPlayer().getName()).get("chainMining")) {
|
if (ChainMining.playerData.get(blockBreakEvent.getPlayer().getName()).get("chainMining")) {
|
||||||
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
||||||
if (blockBreakEvent.getPlayer().isSneaking()) {
|
if (blockBreakEvent.getPlayer().isSneaking()) {
|
||||||
// 检查物品
|
// 检查物品
|
||||||
@ -296,6 +306,7 @@ public class MineralsListener implements Listener {
|
|||||||
getPlayerItem.setDamage(damage + blockNumber);
|
getPlayerItem.setDamage(damage + blockNumber);
|
||||||
blockBreakEvent.getPlayer().getInventory().getItemInMainHand().setItemMeta(getPlayerItem);
|
blockBreakEvent.getPlayer().getInventory().getItemInMainHand().setItemMeta(getPlayerItem);
|
||||||
Location location = blockBreakEvent.getBlock().getLocation();
|
Location location = blockBreakEvent.getBlock().getLocation();
|
||||||
|
if (ExpToDrop > 0) {
|
||||||
ExperienceOrb experienceOrb = Objects.requireNonNull(location.getWorld()).spawn(location, ExperienceOrb.class);
|
ExperienceOrb experienceOrb = Objects.requireNonNull(location.getWorld()).spawn(location, ExperienceOrb.class);
|
||||||
experienceOrb.setExperience(ExpToDrop * blockNumber);
|
experienceOrb.setExperience(ExpToDrop * blockNumber);
|
||||||
}
|
}
|
||||||
@ -306,10 +317,11 @@ public class MineralsListener implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void mineralsDiamond(BlockBreakEvent blockBreakEvent) {
|
public void mineralsDiamond(BlockBreakEvent blockBreakEvent) {
|
||||||
if (ChainMining.playerList.get(blockBreakEvent.getPlayer().getName()).get("chainMining")) {
|
if (ChainMining.playerData.get(blockBreakEvent.getPlayer().getName()).get("chainMining")) {
|
||||||
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
||||||
if (blockBreakEvent.getPlayer().isSneaking()) {
|
if (blockBreakEvent.getPlayer().isSneaking()) {
|
||||||
// 检查物品
|
// 检查物品
|
||||||
@ -342,6 +354,7 @@ public class MineralsListener implements Listener {
|
|||||||
getPlayerItem.setDamage(damage + blockNumber);
|
getPlayerItem.setDamage(damage + blockNumber);
|
||||||
blockBreakEvent.getPlayer().getInventory().getItemInMainHand().setItemMeta(getPlayerItem);
|
blockBreakEvent.getPlayer().getInventory().getItemInMainHand().setItemMeta(getPlayerItem);
|
||||||
Location location = blockBreakEvent.getBlock().getLocation();
|
Location location = blockBreakEvent.getBlock().getLocation();
|
||||||
|
if (ExpToDrop > 0) {
|
||||||
ExperienceOrb experienceOrb = Objects.requireNonNull(location.getWorld()).spawn(location, ExperienceOrb.class);
|
ExperienceOrb experienceOrb = Objects.requireNonNull(location.getWorld()).spawn(location, ExperienceOrb.class);
|
||||||
experienceOrb.setExperience(ExpToDrop * blockNumber);
|
experienceOrb.setExperience(ExpToDrop * blockNumber);
|
||||||
}
|
}
|
||||||
@ -352,10 +365,11 @@ public class MineralsListener implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void mineralsEmerald(BlockBreakEvent blockBreakEvent) {
|
public void mineralsEmerald(BlockBreakEvent blockBreakEvent) {
|
||||||
if (ChainMining.playerList.get(blockBreakEvent.getPlayer().getName()).get("chainMining")) {
|
if (ChainMining.playerData.get(blockBreakEvent.getPlayer().getName()).get("chainMining")) {
|
||||||
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
||||||
if (blockBreakEvent.getPlayer().isSneaking()) {
|
if (blockBreakEvent.getPlayer().isSneaking()) {
|
||||||
// 检查物品
|
// 检查物品
|
||||||
@ -388,6 +402,7 @@ public class MineralsListener implements Listener {
|
|||||||
getPlayerItem.setDamage(damage + blockNumber);
|
getPlayerItem.setDamage(damage + blockNumber);
|
||||||
blockBreakEvent.getPlayer().getInventory().getItemInMainHand().setItemMeta(getPlayerItem);
|
blockBreakEvent.getPlayer().getInventory().getItemInMainHand().setItemMeta(getPlayerItem);
|
||||||
Location location = blockBreakEvent.getBlock().getLocation();
|
Location location = blockBreakEvent.getBlock().getLocation();
|
||||||
|
if (ExpToDrop > 0) {
|
||||||
ExperienceOrb experienceOrb = Objects.requireNonNull(location.getWorld()).spawn(location, ExperienceOrb.class);
|
ExperienceOrb experienceOrb = Objects.requireNonNull(location.getWorld()).spawn(location, ExperienceOrb.class);
|
||||||
experienceOrb.setExperience(ExpToDrop * blockNumber);
|
experienceOrb.setExperience(ExpToDrop * blockNumber);
|
||||||
}
|
}
|
||||||
@ -398,10 +413,11 @@ public class MineralsListener implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void mineralsNetherQuartz(BlockBreakEvent blockBreakEvent) {
|
public void mineralsNetherQuartz(BlockBreakEvent blockBreakEvent) {
|
||||||
if (ChainMining.playerList.get(blockBreakEvent.getPlayer().getName()).get("chainMining")) {
|
if (ChainMining.playerData.get(blockBreakEvent.getPlayer().getName()).get("chainMining")) {
|
||||||
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
||||||
if (blockBreakEvent.getPlayer().isSneaking()) {
|
if (blockBreakEvent.getPlayer().isSneaking()) {
|
||||||
// 检查物品
|
// 检查物品
|
||||||
@ -433,6 +449,7 @@ public class MineralsListener implements Listener {
|
|||||||
getPlayerItem.setDamage(damage + blockNumber);
|
getPlayerItem.setDamage(damage + blockNumber);
|
||||||
blockBreakEvent.getPlayer().getInventory().getItemInMainHand().setItemMeta(getPlayerItem);
|
blockBreakEvent.getPlayer().getInventory().getItemInMainHand().setItemMeta(getPlayerItem);
|
||||||
Location location = blockBreakEvent.getBlock().getLocation();
|
Location location = blockBreakEvent.getBlock().getLocation();
|
||||||
|
if (ExpToDrop > 0) {
|
||||||
ExperienceOrb experienceOrb = Objects.requireNonNull(location.getWorld()).spawn(location, ExperienceOrb.class);
|
ExperienceOrb experienceOrb = Objects.requireNonNull(location.getWorld()).spawn(location, ExperienceOrb.class);
|
||||||
experienceOrb.setExperience(ExpToDrop * blockNumber);
|
experienceOrb.setExperience(ExpToDrop * blockNumber);
|
||||||
}
|
}
|
||||||
@ -443,10 +460,11 @@ public class MineralsListener implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void mineralsNetherGold(BlockBreakEvent blockBreakEvent) {
|
public void mineralsNetherGold(BlockBreakEvent blockBreakEvent) {
|
||||||
if (ChainMining.playerList.get(blockBreakEvent.getPlayer().getName()).get("chainMining")) {
|
if (ChainMining.playerData.get(blockBreakEvent.getPlayer().getName()).get("chainMining")) {
|
||||||
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
||||||
if (blockBreakEvent.getPlayer().isSneaking()) {
|
if (blockBreakEvent.getPlayer().isSneaking()) {
|
||||||
// 检查物品
|
// 检查物品
|
||||||
@ -478,6 +496,7 @@ public class MineralsListener implements Listener {
|
|||||||
getPlayerItem.setDamage(damage + blockNumber);
|
getPlayerItem.setDamage(damage + blockNumber);
|
||||||
blockBreakEvent.getPlayer().getInventory().getItemInMainHand().setItemMeta(getPlayerItem);
|
blockBreakEvent.getPlayer().getInventory().getItemInMainHand().setItemMeta(getPlayerItem);
|
||||||
Location location = blockBreakEvent.getBlock().getLocation();
|
Location location = blockBreakEvent.getBlock().getLocation();
|
||||||
|
if (ExpToDrop > 0) {
|
||||||
ExperienceOrb experienceOrb = Objects.requireNonNull(location.getWorld()).spawn(location, ExperienceOrb.class);
|
ExperienceOrb experienceOrb = Objects.requireNonNull(location.getWorld()).spawn(location, ExperienceOrb.class);
|
||||||
experienceOrb.setExperience(ExpToDrop * blockNumber);
|
experienceOrb.setExperience(ExpToDrop * blockNumber);
|
||||||
}
|
}
|
||||||
@ -488,10 +507,11 @@ public class MineralsListener implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void mineralsAncient(BlockBreakEvent blockBreakEvent) {
|
public void mineralsAncient(BlockBreakEvent blockBreakEvent) {
|
||||||
if (ChainMining.playerList.get(blockBreakEvent.getPlayer().getName()).get("chainMining")) {
|
if (ChainMining.playerData.get(blockBreakEvent.getPlayer().getName()).get("chainMining")) {
|
||||||
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
if (blockBreakEvent.getPlayer().getGameMode() == GameMode.SURVIVAL) {
|
||||||
if (blockBreakEvent.getPlayer().isSneaking()) {
|
if (blockBreakEvent.getPlayer().isSneaking()) {
|
||||||
// 检查物品
|
// 检查物品
|
||||||
@ -523,6 +543,7 @@ public class MineralsListener implements Listener {
|
|||||||
getPlayerItem.setDamage(damage + blockNumber);
|
getPlayerItem.setDamage(damage + blockNumber);
|
||||||
blockBreakEvent.getPlayer().getInventory().getItemInMainHand().setItemMeta(getPlayerItem);
|
blockBreakEvent.getPlayer().getInventory().getItemInMainHand().setItemMeta(getPlayerItem);
|
||||||
Location location = blockBreakEvent.getBlock().getLocation();
|
Location location = blockBreakEvent.getBlock().getLocation();
|
||||||
|
if (ExpToDrop > 0) {
|
||||||
ExperienceOrb experienceOrb = Objects.requireNonNull(location.getWorld()).spawn(location, ExperienceOrb.class);
|
ExperienceOrb experienceOrb = Objects.requireNonNull(location.getWorld()).spawn(location, ExperienceOrb.class);
|
||||||
experienceOrb.setExperience(ExpToDrop * blockNumber);
|
experienceOrb.setExperience(ExpToDrop * blockNumber);
|
||||||
}
|
}
|
||||||
@ -533,6 +554,7 @@ public class MineralsListener implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void callbackCorruption(@NotNull Block block) {
|
private void callbackCorruption(@NotNull Block block) {
|
||||||
for (BlockFace blockFace : BlockFace.values()) {
|
for (BlockFace blockFace : BlockFace.values()) {
|
||||||
|
@ -15,16 +15,32 @@ public class PlayerJoinServerListener implements Listener {
|
|||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void playerJoinEvent(PlayerJoinEvent getPlayer) {
|
public void playerJoinEvent(PlayerJoinEvent getPlayer) {
|
||||||
|
HashMap<String, HashMap<String, Integer>> typeData = new HashMap<>();
|
||||||
HashMap<String, Boolean> playerData = new HashMap<>();
|
HashMap<String, Boolean> playerData = new HashMap<>();
|
||||||
|
HashMap<String, Integer> infoDataForAuto = new HashMap<>();
|
||||||
|
HashMap<String, Integer> infoDataForRoad = new HashMap<>();
|
||||||
|
|
||||||
playerData.put("chainMining", true);
|
playerData.put("chainMining", true);
|
||||||
playerData.put("tree", true);
|
playerData.put("tree", true);
|
||||||
playerData.put("auto", false);
|
playerData.put("auto", false);
|
||||||
playerData.put("road", false);
|
playerData.put("road", false);
|
||||||
ChainMining.playerList.put(getPlayer.getPlayer().getName(), playerData);
|
|
||||||
|
infoDataForAuto.put("length", 2);
|
||||||
|
infoDataForAuto.put("width", 2);
|
||||||
|
infoDataForAuto.put("height", 1);
|
||||||
|
|
||||||
|
infoDataForRoad.put("width", 1);
|
||||||
|
infoDataForRoad.put("height", 2);
|
||||||
|
|
||||||
|
typeData.put("typeAuto", infoDataForAuto);
|
||||||
|
typeData.put("typeRoad", infoDataForRoad);
|
||||||
|
ChainMining.playerData.put(getPlayer.getPlayer().getName(), playerData);
|
||||||
|
ChainMining.playerList.put(getPlayer.getPlayer().getName(), typeData);
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void playerLeaveEvent(PlayerQuitEvent getPlayer) {
|
public void playerLeaveEvent(PlayerQuitEvent getPlayer) {
|
||||||
ChainMining.playerList.remove(getPlayer.getPlayer().getName());
|
ChainMining.playerList.remove(getPlayer.getPlayer().getName());
|
||||||
|
ChainMining.playerData.remove(getPlayer.getPlayer().getName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user