This mod adds a new class of tools to Minecraft called crystal tools. They are meant to be a post-netherite tool that can keep getting better as you use it.
You can download the mod on Curse Forge, Modrinth, or from Github Releases.
Please report any bugs you find in the Issues tab or in the comments. You can also suggest features or ask questions there.
Deepslate Crystal Ore Generates Below Y -44 in veins of size 5. The ore generates very rarely, currently only about one vein per chunk.
Tools gain experience by using them. You can see how much exp you need to get to the next level by looking at the tooltip. You can open the skill tree by pressing k
by default. Skill points can be using to get a new skill or to fully repair your tool.
The following tools/armor pieces are implemented:
There will be upgrades that are common to most tools, and tools will each get unique upgrades as well. Below is a list of all currently implemented upgrades.
m
by default)ingot
taggem
tagQUANTITY
, NAME
, MOD
, or ID
The following config options are available. The default values are in parentheses.
You can change these values in config/crystal_tools/toml
or in the in-game UI.
base_experience_cap
(75): Starting EXP requirements for Tools and Armor. Range: 1 - 10000.max_exp
(1000): The maximum amount of exp that can be required for the next level. Range 1 - 100000.experience_multiplier
(1.1): Multiplier for max experience to the next level. Range: 1.0 - 100.0.armor_experience_boost
(2.0): Multiplies how much experience Armor gets, experience is calculated by EXP_GAINED
= DAMAGE_TAKEN * ARMOR_EXPERIENCE_BOOST. Range: 0.1 - 10000.0.bow_experience_boost
(1.0): Multiplies how much experience Bows get, experience is calculated by EXP_GAINED
= UNMITIGATED_DAMAGE_DONE * BOW_EXPERIENCE_BOOST. Range: 0.1 - 10000.0.sword_experience_boost
(0.8): Multiplies how much experience Swords get, experience is calculated by EXP_GAINED
= UNMITIGATED_DAMAGE_DONE * SWORD_EXPERIENCE_BOOST. Range: 0.1 - 10000.0.trident_experience_boost
(1.0): Multiplies how much experience Tridents get, experience is calculated by EXP_GAINED
= UNMITIGATED_DAMAGE_DONE * TRIDENT_EXPERIENCE_BOOST. Range: 0.1 - 10000.0.rocket_experience_boost
(5): Determines how much experience Rockets get per use. Range: 1 - 1000.apple_experience_boost
(0.5): Multiplies how much experience Apples get, experience is calculated by EXP_GAINED
= (SATURATION 2 + 1) NUTRITION * APPLE_EXPERIENCE_BOOST. Range: 0.1 - 1000.0.furnace_experience_boost
(1): Multiplies how much experience Furnaces get, experience is calculated by EXP_GAINED
= RECIPE_EXP 10 FURNACE_EXPERIENCE_BOOST. Range: 0.1 - 1000.0.fishing_rod_exp
(10): Determines how much experience you get for fish caught. Range 1 - 1000.experience_leveling_scaling
(10): Number of levels in a tool before the experience level costs increases. Set to 0 to disable scaling. Range: 0 - 100.experience_per_skill_level
(10): Determines the number of experience levels you need to gain a level on a tool. Set to 0 to disable. Range: 0 - 100.tool_repair_cooldown
(50): Determines the cooldown between durability repairs for tools with the auto repair upgrade in ticks (20 ticks per second). Range: 1 - 10000.repair_in_hand
(false): If true, tools will auto repair while you are holding themrocket_repair_modifier
(10): Multiplied by TOOL_REPAIR_COOLDOWN to get the cooldown of the auto repair on the rocket. Range: 1 - 10000.apple_repair_modifier
(10): Multiplied by TOOL_REPAIR_COOLDOWN to get the cooldown of the auto repair on the apple. Range: 1 - 10000.vein_miner_range
(4): Determines the range of the vein miner upgrade on the shovel, pickaxe, and AIOT. It will mine blocks upo to this range away from the ore broken. Range 1 - 100.tree_chopper_range
(10): Determines the range of the tree chopper and tree stripper upgrade on the axe. It will mine logs up to this range away from the log broken. Range 1 - 100.always_channel
(true): If true, channeling Crystal Tridents will summon lightning even if they don't hit an entity.disable_pickaxe
(false): Disables the Crystal Pickaxedisable_shovel
(false): Disables the Crystal Shoveldisable_axe
(false): Disables the Crystal Axedisable_sword
(false): Disables the Crystal Sworddisable_hoe
(false): Disables the Crystal Hoedisable_aiot
(false): Disables the Crystal AIOTdisable_bow
(false): Disables the Crystal Bowdisable_rocket
(false): Disables the Crystal Rocketdisable_apple
(false): Disables the Crystal Appledisable_elytra
(false): Disables the Crystal Elytradisable_helmet
(false): Disables the Crystal Helmetdisable_chestplate
(false): Disables the Crystal Chestplatedisable_leggings
(false): Disables the Crystal Leggingsdisable_boots
(false): Disables the Crystal Bootsdisable_backpack
(false): Disables the Crystal Backpackdisable_trident
(false): Disables the Crystal Tridentdisable_fishing_rod
(false): Disables the Crystal Fishing Rodfuel_efficiency_added_ticks
(100): Number of ticks that are added to each fuel piece per level of fuel efficiency.speed_upgrade_subtract_ticks
(10): Number of ticks subtracted from every recipe's duration per level of furnace speed.experience_boost_percentage
(0.1): Percentage increase of experience gained per level of experience boost.base_fe_generation
(40): Base FE generation per tick. Range: 1 - 1000000.base_fe_storage
(10000): Base FE the crystal generator can store. Range: 1 - 1000000.base_fe_transfer
(80): Base FE transfer per tick. Range: 1 - 1000000.fe_generation_per_level
(10): FE generation gained per level of FE Generation. Range: 1 - 1000000.fe_storage_per_level
(2000): FE storage gained per level of FE capacity. Range: 1 - 1000000.food_burn_time_multiplier
(20): The food burntime formula is: (food_nutrition
+ food saturation
) * food_burn_time_multiplier
. Range: 0.01 - 10000.skill_points_per_burn_time
(0.00625): Determines how much skill experience you get from burning items. skill_exp
= fuel_burn_time
* skill_points_per_burn_time
. Range: 0 - 1.backpack_sort_type
(QUANTITY): Sort method that the backpack uses. Can be one of: QUANTITY
, NAME
, MOD
, or ID
backpack_base_experience_cap
(200): Starting EXP requirements for the Backpack. Range: 1 - 10000.max_compression_slot_rows
(6): Maximum number of rows of compression slots. These slots will not scroll, so don't set it to larger than your gui scale can render. Range: 1 - 20.enable_item_requirements
(true): Set to false to disable certain nodes from requiring items to upgrade.require_crystal_for_reset
(true): Require a crystal item in your inventory for resetting skill points.reach_increase
(0.5): The amount of reach you get for each level (in blocks). Range: 0.1 - 20.enchant_tools
(false): If true, tools will be enchantable. This could cause weird interactions and issues.upgrade_screen_background
("cracked_deepslate_tiles"): Determines the block texture to use for the background of the upgrade screen. Must be a vanilla block's resource location. Here is a list of options from the wiki.background_opacity
(1.0): Controls the background opacity of the skill tree screen. Range: 0 - 1.0.disable_block_target_rendering
(false): Disables the block highlighting for 3x3 mining and vein mining.shift_point_spend
(10): Number of points to spend while you are holding shift. Range: 1 - 10000.control_point_spend
(100): Number of points to spend while you are holding control. Range: 1 - 10000.creative_flight_points
(100): The number of points you need to have in the creative flight node for it to enable. Range: 1 - 1000000.There are a couple of features that can be customized using datapacks.
entity_types/entity_blacklist
: Entities that have this tag will not level up the sword, bow, or AIOT when attacked. Only entity to have it by default is the armor stand.More information on tags and datapacks can be found here.
Add a file entity_blacklist.json
in a datapack in the location crystal_tools/tags/entity_types
that looks like:
{
"values": [
"minecraft:armor_stand"
]
}
generator_gems
: Controls the gems that can be burned with the gem generator upgrade in the crystal generator.generator_metals
: Controls the gems that can be burned with the gem generator upgrade in the crystal generator.More information on datamaps can be found here.
Add a file generator_gems.json
in a datapack in the location crystal_tools/data_maps/item
that looks like:
{
"values": {
"ae2:certus_quartz_crystal": {
"bonusGeneration": 5,
"burnTime": 1600
}
}
}
Where bonusGeneration
is the generator added on top of the base from the generator and burnTime
is the total burn time in ticks.
{
"values": {
"replace": true,
"minecraft:diamond": {
"bonusGeneration": 1000,
"burnTime": 16000
}
}
}