@@ -0,0 +1,2057 @@
+package com.latenighters.runicarcana.common.items.tools;%0A%0Aimport net.minecraft.nbt.CompoundNBT;%0A%0Apublic class ArcanaToolStats %7B%0A    private float attackDamage;%0A    private float attackSpeed;%0A    private int harvestLevel;%0A    private float destroySpeed;%0A%0A    public ArcanaToolStats(float attackDamage, float attackSpeed, int harvestLevel, float destroySpeed) %7B%0A        this.attackDamage = attackDamage;%0A        this.attackSpeed = attackSpeed;%0A        this.harvestLevel = harvestLevel;%0A        this.destroySpeed = destroySpeed;%0A    %7D%0A%0A    public ArcanaToolStats(CompoundNBT statsNBT)%7B%0A        float atkDamage = statsNBT.getFloat(%22atkDamage%22);%0A        float atkSpeed = statsNBT.getFloat(%22atkSpeed%22);%0A        int harvestLvl = statsNBT.getInt(%22harvestLvl%22);%0A        float destroySpd = statsNBT.getFloat(%22destroySpd%22);%0A%0A        this.attackDamage = atkDamage;%0A        this.attackSpeed = atkSpeed;%0A        this.harvestLevel = harvestLvl;%0A        this.destroySpeed = destroySpd;%0A    %7D%0A%0A    public CompoundNBT makeNBT()%7B%0A        CompoundNBT tag = new CompoundNBT();%0A        // Could be changed to float array to save packet bytes.%0A        tag.putFloat(%22atkDamage%22, this.attackDamage);%0A        tag.putFloat(%22atkSpeed%22, this.attackSpeed);%0A        tag.putInt(%22harvestLvl%22, this.harvestLevel);%0A        tag.putFloat(%22destroySpd%22, this.destroySpeed);%0A        return tag;%0A    %7D%0A%0A    public float getAttackDamage() %7B%0A        return attackDamage;%0A    %7D%0A%0A    public void setAttackDamage(float attackDamage) %7B%0A        this.attackDamage = attackDamage;%0A    %7D%0A%0A    public float getAttackSpeed() %7B%0A        return attackSpeed;%0A    %7D%0A%0A    public void setAttackSpeed(float attackSpeed) %7B%0A        this.attackSpeed = attackSpeed;%0A    %7D%0A%0A    public int getHarvestLevel() %7B%0A        return harvestLevel;%0A    %7D%0A%0A    public void setHarvestLevel(int harvestLevel) %7B%0A        this.harvestLevel = harvestLevel;%0A    %7D%0A%0A    public float getDestroySpeed() %7B%0A        return destroySpeed;%0A    %7D%0A%0A    public void setDestroySpeed(float destroySpeed) %7B%0A        this.destroySpeed = destroySpeed;%0A    %7D%0A%7D%0A

Add ArcanaToolStats class to manage tool stat nbt data.