mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-25 22:56:45 +01:00
SuperBreaker will always activate if the fastest tool for the block is a PickAxe
Fixes #4362
This commit is contained in:
parent
c408c7d057
commit
56b376eb54
@ -8,6 +8,7 @@ Version 2.1.165
|
||||
Added missing cooldown locale message 'Commands.Database.Cooldown'
|
||||
Added new locale message 'Taming.Summon.COTW.Removed'
|
||||
mcMMO will ignore EntityPickupItemEvents from "Fake-Player" NPCs if it recognizes them as such, this will prevent some compatibility issues with some plugins
|
||||
SuperBreaker will now always activate if the target blocks fastest tool is a Pickaxe (used to require the block giving XP or being considered an ore)
|
||||
|
||||
NOTES:
|
||||
Books dropped before this fix will not be usable and should just be chucked in lava, the broken books have blue names, the working books have yellow names.
|
||||
|
@ -141,10 +141,13 @@ public final class BlockUtils {
|
||||
* otherwise
|
||||
*/
|
||||
public static Boolean affectedBySuperBreaker(BlockState blockState) {
|
||||
if(mcMMO.getMaterialMapStore().isIntendedToolPickaxe(blockState.getType()))
|
||||
return true;
|
||||
|
||||
if (ExperienceConfig.getInstance().doesBlockGiveSkillXP(PrimarySkillType.MINING, blockState.getBlockData()))
|
||||
return true;
|
||||
|
||||
return isOre(blockState) || mcMMO.getModManager().isCustomMiningBlock(blockState);
|
||||
return mcMMO.getModManager().isCustomMiningBlock(blockState);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -213,6 +213,185 @@ public class MaterialMapStore {
|
||||
private void fillIntendedTools() {
|
||||
intendedToolPickAxe.addAll(ores);
|
||||
|
||||
intendedToolPickAxe.add("ice");
|
||||
intendedToolPickAxe.add("packed_ice");
|
||||
intendedToolPickAxe.add("blue_ice");
|
||||
intendedToolPickAxe.add("frosted_ice");
|
||||
intendedToolPickAxe.add("anvil");
|
||||
intendedToolPickAxe.add("bell");
|
||||
intendedToolPickAxe.add("block_of_redstone");
|
||||
intendedToolPickAxe.add("brewing_stand");
|
||||
intendedToolPickAxe.add("cauldron");
|
||||
intendedToolPickAxe.add("chain");
|
||||
intendedToolPickAxe.add("hopper");
|
||||
intendedToolPickAxe.add("iron_bars");
|
||||
intendedToolPickAxe.add("iron_door");
|
||||
intendedToolPickAxe.add("iron_trapdoor");
|
||||
intendedToolPickAxe.add("lantern");
|
||||
intendedToolPickAxe.add("weighted_pressure_plates");
|
||||
intendedToolPickAxe.add("block_of_iron");
|
||||
intendedToolPickAxe.add("copper_blocks");
|
||||
intendedToolPickAxe.add("cut_copper");
|
||||
intendedToolPickAxe.add("cut_copper_slab");
|
||||
intendedToolPickAxe.add("cut_copper_stairs");
|
||||
intendedToolPickAxe.add("lapis_lazuli_block");
|
||||
intendedToolPickAxe.add("lightning_rod");
|
||||
intendedToolPickAxe.add("block_of_diamond");
|
||||
intendedToolPickAxe.add("block_of_emerald");
|
||||
intendedToolPickAxe.add("block_of_gold");
|
||||
intendedToolPickAxe.add("block_of_netherite");
|
||||
intendedToolPickAxe.add("piston");
|
||||
intendedToolPickAxe.add("sticky_piston");
|
||||
intendedToolPickAxe.add("conduit");
|
||||
intendedToolPickAxe.add("shulker_box");
|
||||
intendedToolPickAxe.add("element_constructor"); //be & ee
|
||||
intendedToolPickAxe.add("compound_creator"); //be & ee
|
||||
intendedToolPickAxe.add("material_reducer"); //be & ee
|
||||
intendedToolPickAxe.add("activator_rail");
|
||||
intendedToolPickAxe.add("detector_rail");
|
||||
intendedToolPickAxe.add("powered_rail");
|
||||
intendedToolPickAxe.add("rail");
|
||||
intendedToolPickAxe.add("andesite");
|
||||
intendedToolPickAxe.add("basalt");
|
||||
intendedToolPickAxe.add("blackstone");
|
||||
intendedToolPickAxe.add("blast_furnace");
|
||||
intendedToolPickAxe.add("block_of_coal");
|
||||
intendedToolPickAxe.add("block_of_quartz");
|
||||
intendedToolPickAxe.add("bricks");
|
||||
intendedToolPickAxe.add("cobblestone");
|
||||
intendedToolPickAxe.add("cobblestone_wall");
|
||||
intendedToolPickAxe.add("concrete");
|
||||
intendedToolPickAxe.add("dark_prismarine");
|
||||
intendedToolPickAxe.add("diorite");
|
||||
intendedToolPickAxe.add("dispenser");
|
||||
intendedToolPickAxe.add("dripstone_block");
|
||||
intendedToolPickAxe.add("dropper");
|
||||
intendedToolPickAxe.add("enchantment_table");
|
||||
intendedToolPickAxe.add("end_stone");
|
||||
intendedToolPickAxe.add("ender_chest");
|
||||
intendedToolPickAxe.add("furnace");
|
||||
intendedToolPickAxe.add("glazed_terracotta");
|
||||
intendedToolPickAxe.add("granite");
|
||||
intendedToolPickAxe.add("grindstone");
|
||||
intendedToolPickAxe.add("heat_block"); //be & ee
|
||||
intendedToolPickAxe.add("lodestone");
|
||||
intendedToolPickAxe.add("mossy_cobblestone");
|
||||
intendedToolPickAxe.add("nether_bricks");
|
||||
intendedToolPickAxe.add("nether_brick_fence");
|
||||
intendedToolPickAxe.add("nether_gold_ore");
|
||||
intendedToolPickAxe.add("nether_quartz_ore");
|
||||
intendedToolPickAxe.add("netherrack");
|
||||
intendedToolPickAxe.add("observer");
|
||||
intendedToolPickAxe.add("prismarine");
|
||||
intendedToolPickAxe.add("prismarine_bricks");
|
||||
intendedToolPickAxe.add("pointed_dripstone");
|
||||
intendedToolPickAxe.add("polished_andesite");
|
||||
intendedToolPickAxe.add("polished_blackstone");
|
||||
intendedToolPickAxe.add("polished_blackstone_bricks");
|
||||
intendedToolPickAxe.add("polished_diorite");
|
||||
intendedToolPickAxe.add("polished_granite");
|
||||
intendedToolPickAxe.add("red_sandstone");
|
||||
intendedToolPickAxe.add("sandstone");
|
||||
intendedToolPickAxe.add("smoker");
|
||||
intendedToolPickAxe.add("spawner");
|
||||
intendedToolPickAxe.add("stonecutter");
|
||||
// intendedToolPickAxe.add("slabs");
|
||||
intendedToolPickAxe.add("colored_terracotta");
|
||||
// intendedToolPickAxe.add("stairs");
|
||||
intendedToolPickAxe.add("smooth_stone");
|
||||
intendedToolPickAxe.add("stone");
|
||||
intendedToolPickAxe.add("stone_bricks");
|
||||
intendedToolPickAxe.add("stone_button");
|
||||
intendedToolPickAxe.add("stone_pressure_plate");
|
||||
intendedToolPickAxe.add("terracotta");
|
||||
intendedToolPickAxe.add("amethyst_bud");
|
||||
intendedToolPickAxe.add("amethyst_cluster");
|
||||
intendedToolPickAxe.add("block_of_amethyst");
|
||||
intendedToolPickAxe.add("budding_amethyst");
|
||||
intendedToolPickAxe.add("ancient_debris");
|
||||
intendedToolPickAxe.add("crying_obsidian");
|
||||
intendedToolPickAxe.add("glowing_obsidian"); //be
|
||||
intendedToolPickAxe.add("obsidian");
|
||||
intendedToolPickAxe.add("respawn_anchor");
|
||||
|
||||
//slabs
|
||||
intendedToolPickAxe.add("petrified_oak_slab");
|
||||
intendedToolPickAxe.add("stone_slab");
|
||||
intendedToolPickAxe.add("smooth_stone_slab");
|
||||
intendedToolPickAxe.add("cobblestone_slab");
|
||||
intendedToolPickAxe.add("mossy_cobblestone_slab");
|
||||
intendedToolPickAxe.add("stone_brick_slab");
|
||||
intendedToolPickAxe.add("mossy_stone_brick_slab");
|
||||
intendedToolPickAxe.add("andesite_slab");
|
||||
intendedToolPickAxe.add("polished_andesite_slab");
|
||||
intendedToolPickAxe.add("diorite_slab");
|
||||
intendedToolPickAxe.add("polished_diorite_slab");
|
||||
intendedToolPickAxe.add("granite_slab");
|
||||
intendedToolPickAxe.add("polished_granite_slab");
|
||||
intendedToolPickAxe.add("sandstone_slab");
|
||||
intendedToolPickAxe.add("cut_sandstone_slab");
|
||||
intendedToolPickAxe.add("smooth_sandstone_slab");
|
||||
intendedToolPickAxe.add("red_sandstone_slab");
|
||||
intendedToolPickAxe.add("cut_red_sandstone_slab");
|
||||
intendedToolPickAxe.add("smooth_red_sandstone_slab");
|
||||
intendedToolPickAxe.add("brick_slab");
|
||||
intendedToolPickAxe.add("prismarine_brick_slab");
|
||||
intendedToolPickAxe.add("dark_prismarine_slab");
|
||||
intendedToolPickAxe.add("nether_brick_slab");
|
||||
intendedToolPickAxe.add("red_netherbrick_slab");
|
||||
intendedToolPickAxe.add("quartz_slab");
|
||||
intendedToolPickAxe.add("smooth_quartz_slab");
|
||||
intendedToolPickAxe.add("purpur_slab");
|
||||
intendedToolPickAxe.add("end_stone_brick_slab");
|
||||
intendedToolPickAxe.add("blackstone_slab");
|
||||
intendedToolPickAxe.add("polished_blackstone_slab");
|
||||
intendedToolPickAxe.add("polished_blackstone_brick_slab");
|
||||
intendedToolPickAxe.add("lightly_weathered_cut_copper_slab");
|
||||
intendedToolPickAxe.add("semi_weathered_cut_copper_slab");
|
||||
intendedToolPickAxe.add("waxed_semi_weathered_cut_copper_slab");
|
||||
intendedToolPickAxe.add("weathered_cut_copper_slab");
|
||||
intendedToolPickAxe.add("waxed_cut_copper_slab");
|
||||
intendedToolPickAxe.add("waxed_lightly_weathered_cut_copper_slab");
|
||||
|
||||
//stairs (not all of these exist, just copied the above list and replaced slab with stairs)
|
||||
intendedToolPickAxe.add("petrified_oak_stairs");
|
||||
intendedToolPickAxe.add("stone_stairs");
|
||||
intendedToolPickAxe.add("smooth_stone_stairs");
|
||||
intendedToolPickAxe.add("cobblestone_stairs");
|
||||
intendedToolPickAxe.add("mossy_cobblestone_stairs");
|
||||
intendedToolPickAxe.add("stone_brick_stairs");
|
||||
intendedToolPickAxe.add("mossy_stone_brick_stairs");
|
||||
intendedToolPickAxe.add("andesite_stairs");
|
||||
intendedToolPickAxe.add("polished_andesite_stairs");
|
||||
intendedToolPickAxe.add("diorite_stairs");
|
||||
intendedToolPickAxe.add("polished_diorite_stairs");
|
||||
intendedToolPickAxe.add("granite_stairs");
|
||||
intendedToolPickAxe.add("polished_granite_stairs");
|
||||
intendedToolPickAxe.add("sandstone_stairs");
|
||||
intendedToolPickAxe.add("cut_sandstone_stairs");
|
||||
intendedToolPickAxe.add("smooth_sandstone_stairs");
|
||||
intendedToolPickAxe.add("red_sandstone_stairs");
|
||||
intendedToolPickAxe.add("cut_red_sandstone_stairs");
|
||||
intendedToolPickAxe.add("smooth_red_sandstone_stairs");
|
||||
intendedToolPickAxe.add("brick_stairs");
|
||||
intendedToolPickAxe.add("prismarine_brick_stairs");
|
||||
intendedToolPickAxe.add("dark_prismarine_stairs");
|
||||
intendedToolPickAxe.add("nether_brick_stairs");
|
||||
intendedToolPickAxe.add("red_netherbrick_stairs");
|
||||
intendedToolPickAxe.add("quartz_stairs");
|
||||
intendedToolPickAxe.add("smooth_quartz_stairs");
|
||||
intendedToolPickAxe.add("purpur_stairs");
|
||||
intendedToolPickAxe.add("end_stone_brick_stairs");
|
||||
intendedToolPickAxe.add("blackstone_stairs");
|
||||
intendedToolPickAxe.add("polished_blackstone_stairs");
|
||||
intendedToolPickAxe.add("polished_blackstone_brick_stairs");
|
||||
intendedToolPickAxe.add("lightly_weathered_cut_copper_stairs");
|
||||
intendedToolPickAxe.add("semi_weathered_cut_copper_stairs");
|
||||
intendedToolPickAxe.add("waxed_semi_weathered_cut_copper_stairs");
|
||||
intendedToolPickAxe.add("weathered_cut_copper_stairs");
|
||||
intendedToolPickAxe.add("waxed_cut_copper_stairs");
|
||||
intendedToolPickAxe.add("waxed_lightly_weathered_cut_copper_stairs");
|
||||
|
||||
}
|
||||
|
||||
private void fillArmors() {
|
||||
@ -1072,6 +1251,14 @@ public class MaterialMapStore {
|
||||
toolBlackList.add("respawn_anchor");
|
||||
}
|
||||
|
||||
public boolean isIntendedToolPickaxe(Material material) {
|
||||
return intendedToolPickAxe.contains(material.getKey().getKey());
|
||||
}
|
||||
|
||||
public boolean isIntendedToolPickaxe(String string) {
|
||||
return intendedToolPickAxe.contains(string);
|
||||
}
|
||||
|
||||
public @NotNull HashSet<String> getNetheriteArmor() {
|
||||
return netheriteArmor;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user