feat(hamster-chain-break): 添加nbt检测开关
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
version = '1.0.0'
|
version = '1.1.0'
|
||||||
setArchivesBaseName("HamsterChainBreak")
|
setArchivesBaseName("HamsterChainBreak")
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
@@ -9,6 +9,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public final class ConfigManager {
|
public final class ConfigManager {
|
||||||
|
private static boolean enableCheckEnergy;
|
||||||
private static int maxChainBlocks;
|
private static int maxChainBlocks;
|
||||||
private static List<ToolGroup> toolGroups;
|
private static List<ToolGroup> toolGroups;
|
||||||
|
|
||||||
@@ -22,6 +23,7 @@ public final class ConfigManager {
|
|||||||
plugin.reloadConfig();
|
plugin.reloadConfig();
|
||||||
FileConfiguration pluginConfig = plugin.getConfig();
|
FileConfiguration pluginConfig = plugin.getConfig();
|
||||||
|
|
||||||
|
enableCheckEnergy = pluginConfig.getBoolean("enable-check-energy");
|
||||||
maxChainBlocks = pluginConfig.getInt("max-chain-blocks", 300);
|
maxChainBlocks = pluginConfig.getInt("max-chain-blocks", 300);
|
||||||
|
|
||||||
toolGroups = new ArrayList<>();
|
toolGroups = new ArrayList<>();
|
||||||
@@ -34,6 +36,10 @@ public final class ConfigManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean isEnableCheckEnergy() {
|
||||||
|
return enableCheckEnergy;
|
||||||
|
}
|
||||||
|
|
||||||
public static int getMaxChainBlocks() {
|
public static int getMaxChainBlocks() {
|
||||||
return maxChainBlocks;
|
return maxChainBlocks;
|
||||||
}
|
}
|
||||||
|
@@ -17,6 +17,7 @@ import org.bukkit.inventory.PlayerInventory;
|
|||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -87,12 +88,14 @@ public final class MainListener implements Listener {
|
|||||||
breakBlockWithCreative(player, stack, eventBlock, searchResultBlocks);
|
breakBlockWithCreative(player, stack, eventBlock, searchResultBlocks);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
NBTItem nbtItem = new NBTItem(stack);
|
if (ConfigManager.isEnableCheckEnergy()) {
|
||||||
if (nbtItem.hasKey("Energy")) {
|
NBTItem nbtItem = new NBTItem(stack);
|
||||||
breakBlockWithEnergy(player, stack, nbtItem, eventBlock, searchResultBlocks);
|
if (nbtItem.hasKey("Energy")) {
|
||||||
} else {
|
breakBlockWithEnergy(player, stack, nbtItem, eventBlock, searchResultBlocks);
|
||||||
breakBlockWithDurability(player, stack, eventBlock, searchResultBlocks);
|
}
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
breakBlockWithDurability(player, stack, eventBlock, searchResultBlocks);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void bfsSearchBlock(@NotNull ToolGroup group, @NotNull List<Block> result, @NotNull List<Block> searchBlocks) {
|
private void bfsSearchBlock(@NotNull ToolGroup group, @NotNull List<Block> result, @NotNull List<Block> searchBlocks) {
|
||||||
@@ -176,7 +179,8 @@ public final class MainListener implements Listener {
|
|||||||
}
|
}
|
||||||
for (Block block : searchResultBlocks) {
|
for (Block block : searchResultBlocks) {
|
||||||
boolean leaves = block.getType().name().endsWith("_LEAVES");
|
boolean leaves = block.getType().name().endsWith("_LEAVES");
|
||||||
dropItemList.addAll(block.getDrops(stack, player));
|
Collection<ItemStack> drops = block.getDrops(stack, player);
|
||||||
|
dropItemList.addAll(drops);
|
||||||
block.setType(Material.AIR, true);
|
block.setType(Material.AIR, true);
|
||||||
if (!leaves) {
|
if (!leaves) {
|
||||||
durability++;
|
durability++;
|
||||||
|
@@ -1,3 +1,6 @@
|
|||||||
|
# 是否启用能量检测,适用于模组物品
|
||||||
|
enable-check-energy: false
|
||||||
|
|
||||||
# 最大连锁破坏的方块数量
|
# 最大连锁破坏的方块数量
|
||||||
max-chain-blocks: 300
|
max-chain-blocks: 300
|
||||||
|
|
||||||
@@ -8,7 +11,6 @@ tool-groups:
|
|||||||
# 该工具组内的物品名称,支持正则表达式匹配
|
# 该工具组内的物品名称,支持正则表达式匹配
|
||||||
tool-types:
|
tool-types:
|
||||||
- ".*_AXE"
|
- ".*_AXE"
|
||||||
- "THERMAL_FLUX_SAW"
|
|
||||||
# 该工具组内可以连锁破坏的方块,支持正则表达式匹配
|
# 该工具组内可以连锁破坏的方块,支持正则表达式匹配
|
||||||
block-types:
|
block-types:
|
||||||
- ".*_WOOD"
|
- ".*_WOOD"
|
||||||
@@ -17,7 +19,5 @@ tool-groups:
|
|||||||
pickaxe:
|
pickaxe:
|
||||||
tool-types:
|
tool-types:
|
||||||
- ".*_PICKAXE"
|
- ".*_PICKAXE"
|
||||||
- ".*MANASTEEL_PICK"
|
|
||||||
- "THERMAL_FLUX_DRILL"
|
|
||||||
block-types:
|
block-types:
|
||||||
- ".*_ORE"
|
- ".*_ORE"
|
||||||
|
@@ -3,6 +3,9 @@ main: cn.hamster3.mc.plugin.chain.breaks.ChainBreakPlugin
|
|||||||
version: ${version}
|
version: ${version}
|
||||||
api-version: 1.13
|
api-version: 1.13
|
||||||
|
|
||||||
|
softdepend:
|
||||||
|
- NBTAPI
|
||||||
|
|
||||||
author: MiniDay
|
author: MiniDay
|
||||||
website: https://github.com/MiniDay/hamster-little-plugins
|
website: https://github.com/MiniDay/hamster-little-plugins
|
||||||
description: 仓鼠连锁破坏:一键挖矿 & 砍树
|
description: 仓鼠连锁破坏:一键挖矿 & 砍树
|
||||||
|
Reference in New Issue
Block a user