Meteoric iron pickaxe breaks variants

This commit is contained in:
okx-code
2024-12-15 21:24:50 +00:00
parent 3b00131365
commit 668225a46f

View File

@@ -1,29 +1,23 @@
package net.civmc.heliodor.meteoriciron;
import java.util.List;
import net.civmc.heliodor.AnvilRepairListener;
import net.civmc.heliodor.HeliodorPlugin;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor;
import net.kyori.adventure.text.format.TextDecoration;
import org.bukkit.Material;
import org.bukkit.NamespacedKey;
import org.bukkit.Tag;
import org.bukkit.attribute.Attribute;
import org.bukkit.attribute.AttributeModifier;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.inventory.CraftingRecipe;
import org.bukkit.inventory.EquipmentSlotGroup;
import org.bukkit.inventory.ItemRarity;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.ShapedRecipe;
import org.bukkit.inventory.meta.Damageable;
import org.bukkit.inventory.meta.components.ToolComponent;
import org.bukkit.inventory.recipe.CraftingBookCategory;
import org.bukkit.persistence.PersistentDataType;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.java.JavaPlugin;
import vg.civcraft.mc.civmodcore.inventory.CustomItem;
import java.util.List;
@SuppressWarnings("UnstableApiUsage")
public interface MeteoricIronTools {
@@ -40,6 +34,75 @@ public interface MeteoricIronTools {
ToolComponent tool = meta.getTool();
tool.setDamagePerBlock(1);
tool.addRule(Tag.BASE_STONE_OVERWORLD, 1000f, true);
tool.addRule(Material.STONE_STAIRS, 1000f, true);
tool.addRule(Material.STONE_SLAB, 1000f, true);
tool.addRule(Material.COBBLESTONE, 1000f, true);
tool.addRule(Material.COBBLESTONE_WALL, 1000f, true);
tool.addRule(Material.COBBLESTONE_STAIRS, 1000f, true);
tool.addRule(Material.COBBLESTONE_SLAB, 1000f, true);
tool.addRule(Material.MOSSY_COBBLESTONE, 1000f, true);
tool.addRule(Material.MOSSY_COBBLESTONE_SLAB, 1000f, true);
tool.addRule(Material.MOSSY_COBBLESTONE_STAIRS, 1000f, true);
tool.addRule(Material.MOSSY_COBBLESTONE_WALL, 1000f, true);
tool.addRule(Material.STONE_BRICKS, 1000f, true);
tool.addRule(Material.STONE_BRICK_WALL, 1000f, true);
tool.addRule(Material.STONE_BRICK_SLAB, 1000f, true);
tool.addRule(Material.STONE_BRICK_STAIRS, 1000f, true);
tool.addRule(Material.MOSSY_STONE_BRICK_SLAB, 1000f, true);
tool.addRule(Material.MOSSY_STONE_BRICK_STAIRS, 1000f, true);
tool.addRule(Material.MOSSY_STONE_BRICK_WALL, 1000f, true);
tool.addRule(Material.MOSSY_STONE_BRICKS, 1000f, true);
tool.addRule(Material.CHISELED_STONE_BRICKS, 1000f, true);
tool.addRule(Material.CRACKED_STONE_BRICKS, 1000f, true);
tool.addRule(Material.SMOOTH_STONE, 1000f, true);
tool.addRule(Material.SMOOTH_STONE_SLAB, 1000f, true);
tool.addRule(Material.GRANITE_SLAB, 1000f, true);
tool.addRule(Material.GRANITE_STAIRS, 1000f, true);
tool.addRule(Material.GRANITE_WALL, 1000f, true);
tool.addRule(Material.DIORITE_SLAB, 1000f, true);
tool.addRule(Material.DIORITE_STAIRS, 1000f, true);
tool.addRule(Material.DIORITE_WALL, 1000f, true);
tool.addRule(Material.ANDESITE_SLAB, 1000f, true);
tool.addRule(Material.ANDESITE_STAIRS, 1000f, true);
tool.addRule(Material.ANDESITE_WALL, 1000f, true);
tool.addRule(Material.POLISHED_GRANITE_SLAB, 1000f, true);
tool.addRule(Material.POLISHED_GRANITE_STAIRS, 1000f, true);
tool.addRule(Material.POLISHED_DIORITE_SLAB, 1000f, true);
tool.addRule(Material.POLISHED_DIORITE_STAIRS, 1000f, true);
tool.addRule(Material.POLISHED_ANDESITE_SLAB, 1000f, true);
tool.addRule(Material.POLISHED_ANDESITE_STAIRS, 1000f, true);
tool.addRule(Material.TUFF_SLAB, 1000f, true);
tool.addRule(Material.TUFF_STAIRS, 1000f, true);
tool.addRule(Material.TUFF_WALL, 1000f, true);
tool.addRule(Material.CHISELED_TUFF, 1000f, true);
tool.addRule(Material.CHISELED_TUFF_BRICKS, 1000f, true);
tool.addRule(Material.TUFF_BRICKS, 1000f, true);
tool.addRule(Material.TUFF_BRICK_SLAB, 1000f, true);
tool.addRule(Material.TUFF_BRICK_STAIRS, 1000f, true);
tool.addRule(Material.TUFF_BRICK_WALL, 1000f, true);
tool.addRule(Material.POLISHED_TUFF, 1000f, true);
tool.addRule(Material.POLISHED_TUFF_SLAB, 1000f, true);
tool.addRule(Material.POLISHED_TUFF_STAIRS, 1000f, true);
tool.addRule(Material.POLISHED_TUFF_WALL, 1000f, true);
tool.addRule(Material.COBBLED_DEEPSLATE, 1000f, true);
tool.addRule(Material.COBBLED_DEEPSLATE_SLAB, 1000f, true);
tool.addRule(Material.COBBLED_DEEPSLATE_STAIRS, 1000f, true);
tool.addRule(Material.COBBLED_DEEPSLATE_WALL, 1000f, true);
tool.addRule(Material.CHISELED_DEEPSLATE, 1000f, true);
tool.addRule(Material.POLISHED_DEEPSLATE, 1000f, true);
tool.addRule(Material.POLISHED_DEEPSLATE_SLAB, 1000f, true);
tool.addRule(Material.POLISHED_DEEPSLATE_STAIRS, 1000f, true);
tool.addRule(Material.POLISHED_DEEPSLATE_WALL, 1000f, true);
tool.addRule(Material.DEEPSLATE_BRICKS, 1000f, true);
tool.addRule(Material.CRACKED_DEEPSLATE_BRICKS, 1000f, true);
tool.addRule(Material.DEEPSLATE_BRICK_SLAB, 1000f, true);
tool.addRule(Material.DEEPSLATE_BRICK_STAIRS, 1000f, true);
tool.addRule(Material.DEEPSLATE_BRICK_WALL, 1000f, true);
tool.addRule(Material.DEEPSLATE_TILES, 1000f, true);
tool.addRule(Material.CRACKED_DEEPSLATE_TILES, 1000f, true);
tool.addRule(Material.DEEPSLATE_TILE_SLAB, 1000f, true);
tool.addRule(Material.DEEPSLATE_TILE_STAIRS, 1000f, true);
tool.addRule(Material.DEEPSLATE_TILE_WALL, 1000f, true);
tool.addRule(Tag.MINEABLE_PICKAXE, 8f, true);
meta.setTool(tool);
meta.setMaxDamage(78_200);
@@ -81,9 +144,9 @@ public interface MeteoricIronTools {
tool.addRule(Tag.WOODEN_TRAPDOORS, 30f, true);
tool.addRule(Tag.WOODEN_FENCES, 30f, true);
tool.addRule(Tag.WOODEN_DOORS, 30f, true);
tool.addRule(Tag.PLANKS, 30f, true);
tool.addRule(Tag.WOODEN_SLABS, 30f, true);
tool.addRule(Tag.WOODEN_STAIRS, 30f, true);
tool.addRule(Tag.PLANKS, 1000f, true);
tool.addRule(Tag.WOODEN_SLABS, 1000f, true);
tool.addRule(Tag.WOODEN_STAIRS, 1000f, true);
tool.addRule(Material.CRAFTING_TABLE, 30f, true);
tool.addRule(Material.IRON_DOOR, 50f, true);
tool.addRule(Material.IRON_TRAPDOOR, 50f, true);