mirror of
https://github.com/YouHaveTrouble/Enchantio.git
synced 2026-10-26 12:25:28 +00:00
Compare commits
5
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
72321d362f | ||
|
|
bd4d4bb80b | ||
|
|
542b95caff | ||
|
|
8276d10047 | ||
|
|
fdc7d21685 |
@@ -14,7 +14,7 @@ jobs:
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Set up JDK
|
||||
uses: actions/setup-java@v3
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
java-version: 21
|
||||
distribution: 'temurin'
|
||||
|
||||
@@ -21,7 +21,7 @@ jobs:
|
||||
uses: withastro/action@v4
|
||||
with:
|
||||
path: ./docs
|
||||
node-version: '22'
|
||||
node-version: '24'
|
||||
deploy:
|
||||
needs: build
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
@@ -25,7 +25,6 @@ public class TunnellingEnchant implements EnchantioEnchant {
|
||||
public static final Key AFFECTED_BLOCKS_KEY = Key.key("enchantio", "affected_by_tunnelling");
|
||||
|
||||
private final int anvilCost, weight, maxLevel, blocksPerLevel;
|
||||
private final boolean canBreakToolIncompatibleBlocks;
|
||||
private final EnchantmentRegistryEntry.EnchantmentCost minimumCost;
|
||||
private final EnchantmentRegistryEntry.EnchantmentCost maximumCost;
|
||||
private final Set<TagEntry<ItemType>> supportedItemTags = new HashSet<>();
|
||||
@@ -41,8 +40,7 @@ public class TunnellingEnchant implements EnchantioEnchant {
|
||||
Collection<TagEntry<ItemType>> supportedItemTags,
|
||||
Map<Key, Set<TagEntry<BlockType>>> affectedBlockTags,
|
||||
int maxLevel,
|
||||
int blocksPerLevel,
|
||||
boolean canBreakToolIncompatibleBlocks
|
||||
int blocksPerLevel
|
||||
) {
|
||||
this.anvilCost = anvilCost;
|
||||
this.weight = weight;
|
||||
@@ -50,7 +48,6 @@ public class TunnellingEnchant implements EnchantioEnchant {
|
||||
this.maximumCost = maximumCost;
|
||||
this.maxLevel = maxLevel;
|
||||
this.blocksPerLevel = blocksPerLevel;
|
||||
this.canBreakToolIncompatibleBlocks = canBreakToolIncompatibleBlocks;
|
||||
this.supportedItemTags.addAll(supportedItemTags);
|
||||
this.enchantTagKeys.addAll(enchantTagKeys);
|
||||
this.affectedBlockTags.putAll(affectedBlockTags);
|
||||
@@ -115,10 +112,6 @@ public class TunnellingEnchant implements EnchantioEnchant {
|
||||
return blocksPerLevel;
|
||||
}
|
||||
|
||||
public boolean canBreakToolIncompatibleBlocks() {
|
||||
return canBreakToolIncompatibleBlocks;
|
||||
}
|
||||
|
||||
public static TunnellingEnchant create(ConfigurationSection configurationSection) {
|
||||
TunnellingEnchant tunnellingEnchant = new TunnellingEnchant(
|
||||
EnchantioConfig.getInt(configurationSection, "anvilCost", 1),
|
||||
@@ -152,13 +145,16 @@ public class TunnellingEnchant implements EnchantioEnchant {
|
||||
"#minecraft:base_stone_overworld",
|
||||
"#minecraft:base_stone_nether",
|
||||
"#minecraft:ores",
|
||||
"#minecraft:terracotta",
|
||||
"#minecraft:glazed_terracotta",
|
||||
"#minecraft:concrete",
|
||||
"#minecraft:stone_bricks",
|
||||
"minecraft:end_stone"
|
||||
)
|
||||
))
|
||||
),
|
||||
EnchantioConfig.getInt(configurationSection, "maxLevel", 1),
|
||||
EnchantioConfig.getInt(configurationSection, "blocksPerLevel", 1),
|
||||
EnchantioConfig.getBoolean(configurationSection, "canBreakToolIncompatibleBlocks", false)
|
||||
EnchantioConfig.getInt(configurationSection, "blocksPerLevel", 1)
|
||||
);
|
||||
|
||||
if (EnchantioConfig.getBoolean(configurationSection, "enabled", true)) {
|
||||
|
||||
@@ -74,10 +74,8 @@ public class TunnellingListener implements Listener {
|
||||
Set<Block> blocksToBreak = getSquare(block, blockFace, tunnellingEnchant.getBlocksPerLevel() * enchantLevel);
|
||||
blockBreakSkips.addAll(blocksToBreak);
|
||||
for (Block b : blocksToBreak) {
|
||||
BlockBreakEvent breakEvent = new BlockBreakEvent(b, player);
|
||||
Enchantio.getPlugin(Enchantio.class).getServer().getPluginManager().callEvent(breakEvent);
|
||||
event.getPlayer().breakBlock(b);
|
||||
blockBreakSkips.remove(b);
|
||||
breakBlock(breakEvent, tunnellingEnchant);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -126,15 +124,4 @@ public class TunnellingListener implements Listener {
|
||||
return blocks;
|
||||
}
|
||||
|
||||
private void breakBlock(BlockBreakEvent event, TunnellingEnchant enchant) {
|
||||
if (tunnelling == null) return;
|
||||
if (event.isCancelled()) return;
|
||||
Block block = event.getBlock();
|
||||
ItemStack item = event.getPlayer().getInventory().getItemInMainHand();
|
||||
int enchantLevel = item.getEnchantmentLevel(tunnelling);
|
||||
if (enchantLevel <= 0) return;
|
||||
block.breakNaturally(item, true, event.getExpToDrop() > 0, enchant.canBreakToolIncompatibleBlocks());
|
||||
item.damage(1, event.getPlayer());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user