From 6f5933c02f280ab4dfa4475848484376e200b5e9 Mon Sep 17 00:00:00 2001 From: PremiumRush Date: Sun, 17 Nov 2024 15:24:09 +0100 Subject: [PATCH] Beta Release? Took 17 hours 48 minutes --- gradle.properties | 14 +- .../java/com/example/examplemod/Config.java | 63 ---- .../com/example/examplemod/ExampleMod.java | 136 -------- .../premiumrush/ascension/Ascension.java | 23 ++ .../ascension/datagen/DataGenerators.java | 26 ++ .../loot/ModGlobalLootModifiersProvider.java | 48 +++ .../ascension/event/ParticleEvents.java | 18 + .../ascension/init/ArmorMaterialInit.java | 92 +++++ .../premiumrush/ascension/init/BlockInit.java | 105 ++++++ .../ascension/init/CreativeTabInit.java | 49 +++ .../ascension/init/DamageTypeInit.java | 16 + .../premiumrush/ascension/init/ItemInit.java | 328 ++++++++++++++++++ .../ascension/init/MobEffectInit.java | 23 ++ .../ascension/init/ParticleInit.java | 18 + .../premiumrush/ascension/init/TierInit.java | 106 ++++++ .../premiumrush/ascension/loot/AddItem.java | 50 +++ .../ascension/loot/ModLootModifiers.java | 17 + .../ascension/world/action/DaggerActions.java | 23 ++ .../world/block/BuddingVexalBlock.java | 43 +++ .../world/effect/BleedingMobEffect.java | 24 ++ .../world/effect/RadiationMobEffect.java | 24 ++ .../ascension/world/item/BlazeSwordItem.java | 32 ++ .../ascension/world/item/DaggerItem.java | 31 ++ .../world/item/FerrotitaniumArmorItem.java | 23 ++ .../world/item/FerrotitaniumAxeItem.java | 22 ++ .../world/item/FerrotitaniumDaggerItem.java | 21 ++ .../world/item/FerrotitaniumHoeItem.java | 19 + .../world/item/FerrotitaniumPickaxeItem.java | 19 + .../world/item/FerrotitaniumShovelItem.java | 19 + .../world/item/FerrotitaniumSwordItem.java | 19 + .../world/item/FleroviumArmorItem.java | 43 +++ .../world/item/FleroviumAxeItem.java | 22 ++ .../world/item/FleroviumDaggerItem.java | 31 ++ .../world/item/FleroviumHoeItem.java | 19 + .../world/item/FleroviumPickaxeItem.java | 19 + .../world/item/FleroviumShovelItem.java | 19 + .../item/FleroviumSmithingTemplateItem.java | 93 +++++ .../world/item/FleroviumSwordItem.java | 29 ++ .../ascension/world/item/GyroMaceItem.java | 10 + .../ascension/world/item/IceArmorItem.java | 92 +++++ .../ascension/world/item/IceSwordItem.java | 37 ++ .../world/item/InactiveUpgradeItem.java | 30 ++ .../ascension/world/item/KnockbackItem.java | 35 ++ .../ascension/world/item/RazorSwordItem.java | 49 +++ .../world/item/ShadowDaggerItem.java | 159 +++++++++ .../world/item/TitaniumArmorItem.java | 23 ++ .../ascension/world/item/TitaniumAxeItem.java | 19 + .../world/item/TitaniumDaggerItem.java | 21 ++ .../ascension/world/item/TitaniumHoeItem.java | 19 + .../world/item/TitaniumPickaxeItem.java | 19 + .../world/item/TitaniumShovelItem.java | 22 ++ .../world/item/TitaniumSwordItem.java | 19 + .../world/item/VanillaDaggerItem.java | 21 ++ .../world/item/VexalCrystalItem.java | 20 ++ .../world/item/VexalSwordInfusedItem.java | 41 +++ .../ascension/world/item/VexalSwordItem.java | 40 +++ .../ascension/world/item/WingedSwordItem.java | 73 ++++ .../world/particle/BubbleParticle.java | 49 +++ .../world/particle/ShadowDodgeParticle.java | 63 ++++ .../META-INF/neoforge.mods.toml | 22 +- .../ascension/blockstates/blaze_lantern.json | 10 + .../blockstates/budding_vexal_block.json | 5 + .../blockstates/deepslate_flerovium_ore.json | 5 + .../blockstates/deepslate_titanium_ore.json | 5 + .../blockstates/ferrotitanium_block.json | 5 + .../blockstates/ferrotitanium_chain.json | 16 + .../blockstates/flerovium_block.json | 5 + .../ascension/blockstates/ice_lantern.json | 10 + .../ascension/blockstates/infusing_table.json | 13 + .../blockstates/large_vexal_bud.json | 30 ++ .../blockstates/medium_vexal_bud.json | 30 ++ .../blockstates/raw_titanium_block.json | 5 + .../blockstates/small_vexal_bud.json | 30 ++ .../ascension/blockstates/titanium_block.json | 5 + .../ascension/blockstates/titanium_chain.json | 16 + .../ascension/blockstates/titanium_ore.json | 5 + .../ascension/blockstates/vexal_block.json | 5 + .../ascension/blockstates/vexal_cluster.json | 30 ++ .../assets/ascension/lang/en_us.json | 133 +++++++ .../ascension/models/block/blaze_lantern.json | 7 + .../models/block/blaze_lantern_hanging.json | 7 + .../models/block/budding_vexal_block.json | 6 + .../models/block/deepslate_flerovium_ore.json | 6 + .../models/block/deepslate_titanium_ore.json | 6 + .../models/block/ferrotitanium_block.json | 6 + .../models/block/ferrotitanium_chain.json | 30 ++ .../models/block/flerovium_block.json | 6 + .../ascension/models/block/ice_lantern.json | 7 + .../models/block/ice_lantern_hanging.json | 7 + .../models/block/infusing_table.json | 6 + .../models/block/large_vexal_bud.json | 7 + .../models/block/medium_vexal_bud.json | 7 + .../models/block/raw_titanium_block.json | 6 + .../models/block/small_vexal_bud.json | 7 + .../models/block/titanium_block.json | 6 + .../models/block/titanium_chain.json | 30 ++ .../ascension/models/block/titanium_ore.json | 6 + .../ascension/models/block/vexal_block.json | 6 + .../ascension/models/block/vexal_cluster.json | 7 + .../models/custom/gyro_mace_handheld.json | 274 +++++++++++++++ .../ascension/models/item/blaze_gem.json | 6 + .../ascension/models/item/blaze_lantern.json | 6 + .../ascension/models/item/blaze_sword.json | 6 + .../models/item/budding_vexal_block.json | 3 + .../ascension/models/item/cold_blaze_rod.json | 6 + .../models/item/deepslate_flerovium_ore.json | 3 + .../models/item/deepslate_titanium_ore.json | 3 + .../ascension/models/item/diamond_dagger.json | 6 + .../models/item/ferrotitanium_axe.json | 6 + .../models/item/ferrotitanium_blend.json | 6 + .../models/item/ferrotitanium_block.json | 3 + .../models/item/ferrotitanium_boots.json | 6 + .../models/item/ferrotitanium_chain.json | 6 + .../models/item/ferrotitanium_chestplate.json | 6 + .../models/item/ferrotitanium_dagger.json | 6 + .../models/item/ferrotitanium_helmet.json | 6 + .../models/item/ferrotitanium_hoe.json | 6 + .../models/item/ferrotitanium_ingot.json | 6 + .../models/item/ferrotitanium_leggings.json | 6 + .../models/item/ferrotitanium_nugget.json | 6 + .../models/item/ferrotitanium_pickaxe.json | 6 + .../models/item/ferrotitanium_shovel.json | 6 + .../models/item/ferrotitanium_sword.json | 6 + .../ascension/models/item/flerovium_axe.json | 6 + .../models/item/flerovium_block.json | 3 + .../models/item/flerovium_boots.json | 6 + .../models/item/flerovium_chestplate.json | 6 + .../models/item/flerovium_crystal.json | 6 + .../models/item/flerovium_dagger.json | 6 + .../models/item/flerovium_helmet.json | 6 + .../ascension/models/item/flerovium_hoe.json | 6 + .../models/item/flerovium_leggings.json | 6 + .../models/item/flerovium_pickaxe.json | 6 + .../models/item/flerovium_shard.json | 6 + .../models/item/flerovium_shovel.json | 6 + .../models/item/flerovium_sword.json | 6 + .../flerovium_upgrade_smithing_template.json | 6 + ...um_upgrade_smithing_template_inactive.json | 6 + .../ascension/models/item/gold_dagger.json | 6 + .../ascension/models/item/golem_gyro.json | 6 + .../ascension/models/item/gyro_mace.json | 31 ++ .../ascension/models/item/ice_boots.json | 6 + .../ascension/models/item/ice_chestplate.json | 6 + .../assets/ascension/models/item/ice_gem.json | 6 + .../ascension/models/item/ice_helmet.json | 6 + .../ascension/models/item/ice_lantern.json | 6 + .../ascension/models/item/ice_leggings.json | 6 + .../ascension/models/item/ice_sword.json | 6 + .../models/item/infused_vexal_crystal.json | 6 + .../models/item/infused_vexal_sword.json | 6 + .../ascension/models/item/infusing_table.json | 3 + .../ascension/models/item/iron_dagger.json | 6 + .../ascension/models/item/large_magic.json | 6 + .../ascension/models/item/large_oblivion.json | 6 + .../models/item/large_vexal_bud.json | 6 + .../models/item/medium_vexal_bud.json | 6 + .../models/item/netherite_dagger.json | 6 + .../ascension/models/item/obsidian_rod.json | 6 + .../assets/ascension/models/item/omega.json | 6 + .../ascension/models/item/raw_titanium.json | 6 + .../models/item/raw_titanium_block.json | 3 + .../ascension/models/item/razor_sword.json | 6 + .../models/item/refined_diamond_crystal.json | 6 + .../item/refined_diamond_crystal_shard.json | 6 + .../ascension/models/item/shadow_dagger.json | 6 + .../ascension/models/item/shark_tooth.json | 6 + .../ascension/models/item/small_magic.json | 6 + .../ascension/models/item/small_oblivion.json | 6 + .../models/item/small_vexal_bud.json | 6 + .../ascension/models/item/titanium_axe.json | 6 + .../ascension/models/item/titanium_block.json | 3 + .../ascension/models/item/titanium_boots.json | 6 + .../ascension/models/item/titanium_chain.json | 6 + .../models/item/titanium_chestplate.json | 6 + .../models/item/titanium_dagger.json | 6 + .../models/item/titanium_helmet.json | 6 + .../ascension/models/item/titanium_hoe.json | 6 + .../ascension/models/item/titanium_ingot.json | 6 + .../models/item/titanium_leggings.json | 6 + .../models/item/titanium_nugget.json | 6 + .../ascension/models/item/titanium_ore.json | 3 + .../models/item/titanium_pickaxe.json | 6 + .../models/item/titanium_shovel.json | 6 + .../ascension/models/item/titanium_sword.json | 6 + .../ascension/models/item/vexal_block.json | 3 + .../ascension/models/item/vexal_cluster.json | 6 + .../ascension/models/item/vexal_crystal.json | 6 + .../ascension/models/item/vexal_sword.json | 6 + .../ascension/models/item/winged_blade.json | 6 + .../ascension/particles/bubble_particle.json | 5 + .../particles/shadow_dodge_particle.json | 16 + .../textures/block/blaze_lantern.png | Bin 0 -> 4619 bytes .../textures/block/blaze_lantern.png.mcmeta | 5 + .../textures/block/budding_vexal_block.png | Bin 0 -> 4845 bytes .../block/deepslate_flerovium_ore.png | Bin 0 -> 5269 bytes .../textures/block/deepslate_titanium_ore.png | Bin 0 -> 4776 bytes .../textures/block/ferrotitanium_block.png | Bin 0 -> 4485 bytes .../textures/block/ferrotitanium_chain.png | Bin 0 -> 4279 bytes .../textures/block/flerovium_block.png | Bin 0 -> 5338 bytes .../textures/block/gyro_mace_handheld.png | Bin 0 -> 4515 bytes .../block/gyro_mace_handheld.png.mcmeta | 5 + .../ascension/textures/block/ice_lantern.png | Bin 0 -> 4678 bytes .../textures/block/ice_lantern.png.mcmeta | 5 + .../textures/block/large_vexal_bud.png | Bin 0 -> 4427 bytes .../textures/block/medium_vexal_bud.png | Bin 0 -> 4342 bytes .../textures/block/raw_titanium_block.png | Bin 0 -> 4717 bytes .../textures/block/small_vexal_bud.png | Bin 0 -> 4319 bytes .../textures/block/titanium_block.png | Bin 0 -> 4458 bytes .../textures/block/titanium_chain.png | Bin 0 -> 4279 bytes .../ascension/textures/block/titanium_ore.png | Bin 0 -> 4740 bytes .../ascension/textures/block/vexal_block.png | Bin 0 -> 4661 bytes .../textures/block/vexal_cluster.png | Bin 0 -> 4759 bytes .../ascension/textures/item/blaze_gem.png | Bin 0 -> 4475 bytes .../ascension/textures/item/blaze_lantern.png | Bin 0 -> 4359 bytes .../ascension/textures/item/blaze_sword.png | Bin 0 -> 4498 bytes .../textures/item/cold_blaze_rod.png | Bin 0 -> 4348 bytes .../textures/item/diamond_dagger.png | Bin 0 -> 4817 bytes .../textures/item/empty_slot_dagger.png | Bin 0 -> 4925 bytes .../textures/item/ferrotitanium_axe.png | Bin 0 -> 4404 bytes .../textures/item/ferrotitanium_blend.png | Bin 0 -> 4693 bytes .../textures/item/ferrotitanium_boots.png | Bin 0 -> 4361 bytes .../textures/item/ferrotitanium_chain.png | Bin 0 -> 4271 bytes .../item/ferrotitanium_chestplate.png | Bin 0 -> 4410 bytes .../textures/item/ferrotitanium_dagger.png | Bin 0 -> 4636 bytes .../textures/item/ferrotitanium_helmet.png | Bin 0 -> 4360 bytes .../textures/item/ferrotitanium_hoe.png | Bin 0 -> 4384 bytes .../textures/item/ferrotitanium_ingot.png | Bin 0 -> 4624 bytes .../textures/item/ferrotitanium_leggings.png | Bin 0 -> 4368 bytes .../textures/item/ferrotitanium_nugget.png | Bin 0 -> 4342 bytes .../textures/item/ferrotitanium_pickaxe.png | Bin 0 -> 4409 bytes .../textures/item/ferrotitanium_shovel.png | Bin 0 -> 4386 bytes .../textures/item/ferrotitanium_sword.png | Bin 0 -> 4464 bytes .../ascension/textures/item/flerovium_axe.png | Bin 0 -> 4383 bytes .../textures/item/flerovium_boots.png | Bin 0 -> 286 bytes .../textures/item/flerovium_chestplate.png | Bin 0 -> 315 bytes .../textures/item/flerovium_crystal.png | Bin 0 -> 755 bytes .../textures/item/flerovium_dagger.png | Bin 0 -> 4858 bytes .../textures/item/flerovium_helmet.png | Bin 0 -> 272 bytes .../ascension/textures/item/flerovium_hoe.png | Bin 0 -> 4318 bytes .../textures/item/flerovium_leggings.png | Bin 0 -> 272 bytes .../textures/item/flerovium_pickaxe.png | Bin 0 -> 4389 bytes .../textures/item/flerovium_shard.png | Bin 0 -> 773 bytes .../textures/item/flerovium_shovel.png | Bin 0 -> 4341 bytes .../textures/item/flerovium_sword.png | Bin 0 -> 4456 bytes .../flerovium_upgrade_smithing_template.png | Bin 0 -> 4471 bytes ...ium_upgrade_smithing_template_inactive.png | Bin 0 -> 4713 bytes .../ascension/textures/item/gold_dagger.png | Bin 0 -> 4379 bytes .../ascension/textures/item/golem_gyro.png | Bin 0 -> 547 bytes .../textures/item/gyro_mace_full.png | Bin 0 -> 4484 bytes .../textures/item/gyro_mace_full.png.mcmeta | 5 + .../ascension/textures/item/ice_boots.png | Bin 0 -> 4376 bytes .../textures/item/ice_chestplate.png | Bin 0 -> 4489 bytes .../ascension/textures/item/ice_gem.png | Bin 0 -> 4560 bytes .../ascension/textures/item/ice_helmet.png | Bin 0 -> 4460 bytes .../ascension/textures/item/ice_lantern.png | Bin 0 -> 4373 bytes .../ascension/textures/item/ice_leggings.png | Bin 0 -> 4400 bytes .../ascension/textures/item/ice_sword.png | Bin 0 -> 4468 bytes .../textures/item/infused_vexal_crystal.png | Bin 0 -> 899 bytes .../textures/item/infused_vexal_sword.png | Bin 0 -> 4597 bytes .../ascension/textures/item/iron_dagger.png | Bin 0 -> 4369 bytes .../ascension/textures/item/large_magic.png | Bin 0 -> 1418 bytes .../textures/item/large_magic.png.mcmeta | 1 + .../textures/item/large_oblivion.png | Bin 0 -> 1184 bytes .../textures/item/large_oblivion.png.mcmeta | 1 + .../textures/item/netherite_dagger.png | Bin 0 -> 4390 bytes .../ascension/textures/item/obsidian_rod.png | Bin 0 -> 4242 bytes .../assets/ascension/textures/item/omega.png | Bin 0 -> 701 bytes .../ascension/textures/item/raw_titanium.png | Bin 0 -> 4950 bytes .../ascension/textures/item/razor_sword.png | Bin 0 -> 322 bytes .../textures/item/refined_diamond_crystal.png | Bin 0 -> 582 bytes .../item/refined_diamond_crystal_shard.png | Bin 0 -> 594 bytes .../ascension/textures/item/shadow_dagger.png | Bin 0 -> 4372 bytes .../ascension/textures/item/shark_tooth.png | Bin 0 -> 4471 bytes .../ascension/textures/item/small_magic.png | Bin 0 -> 1183 bytes .../textures/item/small_magic.png.mcmeta | 1 + .../textures/item/small_oblivion.png | Bin 0 -> 1022 bytes .../textures/item/small_oblivion.png.mcmeta | 1 + .../ascension/textures/item/titanium_axe.png | Bin 0 -> 4417 bytes .../textures/item/titanium_boots.png | Bin 0 -> 4357 bytes .../textures/item/titanium_chain.png | Bin 0 -> 4266 bytes .../textures/item/titanium_chestplate.png | Bin 0 -> 4445 bytes .../textures/item/titanium_dagger.png | Bin 0 -> 4860 bytes .../textures/item/titanium_helmet.png | Bin 0 -> 4379 bytes .../ascension/textures/item/titanium_hoe.png | Bin 0 -> 4380 bytes .../textures/item/titanium_ingot.png | Bin 0 -> 4621 bytes .../textures/item/titanium_leggings.png | Bin 0 -> 4380 bytes .../textures/item/titanium_nugget.png | Bin 0 -> 4319 bytes .../textures/item/titanium_pickaxe.png | Bin 0 -> 4389 bytes .../textures/item/titanium_shovel.png | Bin 0 -> 4362 bytes .../textures/item/titanium_sword.png | Bin 0 -> 4432 bytes .../ascension/textures/item/vexal_crystal.png | Bin 0 -> 798 bytes .../ascension/textures/item/vexal_sword.png | Bin 0 -> 4414 bytes .../ascension/textures/item/winged_blade.png | Bin 0 -> 4545 bytes .../textures/mob_effect/bleeding.png | Bin 0 -> 4374 bytes .../textures/mob_effect/radiation.png | Bin 0 -> 4409 bytes .../models/armor/ferrotitanium_layer_1.png | Bin 0 -> 5179 bytes .../models/armor/ferrotitanium_layer_2.png | Bin 0 -> 4857 bytes .../models/armor/flerovium_layer_1.png | Bin 0 -> 1750 bytes .../models/armor/flerovium_layer_2.png | Bin 0 -> 908 bytes .../textures/models/armor/gyro_layer_1.png | Bin 0 -> 695 bytes .../textures/models/armor/ice_layer_1.png | Bin 0 -> 5222 bytes .../textures/models/armor/ice_layer_2.png | Bin 0 -> 4691 bytes .../models/armor/titanium_layer_1.png | Bin 0 -> 5276 bytes .../models/armor/titanium_layer_2.png | Bin 0 -> 4658 bytes .../textures/particle/bubble_purple.png | Bin 0 -> 4258 bytes .../assets/examplemod/lang/en_us.json | 5 - .../data/ascension/damage_type/bleeding.json | 7 + .../data/ascension/damage_type/radiation.json | 7 + .../loot_modifiers/blaze_gem_from_blaze.json | 27 ++ .../dormant_template_from_end_city.json | 16 + .../loot_table/blocks/blaze_lantern.json | 21 ++ .../blocks/deepslate_flerovium_ore.json | 60 ++++ .../blocks/deepslate_titanium_ore.json | 51 +++ .../blocks/ferrotitanium_block.json | 20 ++ .../blocks/ferrotitanium_chain.json | 21 ++ .../loot_table/blocks/flerovium_block.json | 20 ++ .../loot_table/blocks/ice_lantern.json | 21 ++ .../loot_table/blocks/infusion_table.json | 20 ++ .../loot_table/blocks/large_vexal_bud.json | 33 ++ .../loot_table/blocks/medium_vexal_bud.json | 33 ++ .../loot_table/blocks/raw_titanium_block.json | 20 ++ .../loot_table/blocks/small_vexal_bud.json | 33 ++ .../loot_table/blocks/titanium_block.json | 20 ++ .../loot_table/blocks/titanium_chain.json | 21 ++ .../loot_table/blocks/titanium_ore.json | 51 +++ .../loot_table/blocks/vexal_block.json | 20 ++ .../loot_table/blocks/vexal_cluster.json | 81 +++++ .../biome_modifier/ore_flerovium.json | 6 + .../neoforge/biome_modifier/ore_titanium.json | 6 + .../neoforge/biome_modifier/vexal_geode.json | 6 + .../data/ascension/recipe/blaze_lantern.json | 22 ++ .../data/ascension/recipe/blaze_sword.json | 20 ++ .../data/ascension/recipe/cold_blaze_rod.json | 23 ++ .../data/ascension/recipe/diamond_dagger.json | 19 + .../ascension/recipe/ferrotitanium_axe.json | 20 ++ .../ascension/recipe/ferrotitanium_blend.json | 18 + .../ferrotitanium_block_from_ingot.json | 17 + .../ascension/recipe/ferrotitanium_boots.json | 16 + .../ascension/recipe/ferrotitanium_chain.json | 22 ++ .../recipe/ferrotitanium_chestplate.json | 17 + .../recipe/ferrotitanium_dagger.json | 19 + .../recipe/ferrotitanium_helmet.json | 16 + .../ascension/recipe/ferrotitanium_hoe.json | 20 ++ ...got_from_blasting_ferrotitanium_blend.json | 12 + .../ferrotitanium_ingot_from_block.json | 13 + .../ferrotitanium_ingot_from_nugget.json | 18 + .../recipe/ferrotitanium_leggings.json | 17 + .../ferrotitanium_nugget_from_ingot.json | 12 + .../recipe/ferrotitanium_pickaxe.json | 20 ++ .../recipe/ferrotitanium_shovel.json | 20 ++ .../ascension/recipe/ferrotitanium_sword.json | 20 ++ .../recipe/flerovium_axe_smithing.json | 16 + ...lerovium_block_from_flerovium_crystal.json | 17 + .../recipe/flerovium_boots_smithing.json | 16 + .../recipe/flerovium_chestplate_smithing.json | 16 + ...lerovium_crystal_from_flerovium_block.json | 13 + ...lerovium_crystal_from_flerovium_shard.json | 18 + .../recipe/flerovium_dagger_smithing.json | 16 + .../recipe/flerovium_helmet_smithing.json | 16 + .../recipe/flerovium_hoe_smithing.json | 16 + .../recipe/flerovium_leggings_smithing.json | 16 + .../recipe/flerovium_pickaxe_smithing.json | 16 + ...from_blasting_deepslate_flerovium_ore.json | 12 + ...lerovium_shard_from_flerovium_crystal.json | 12 + ...from_smelting_deepslate_flerovium_ore.json | 12 + .../recipe/flerovium_shovel_smithing.json | 16 + .../recipe/flerovium_sword_smithing.json | 16 + ...um_upgrade_smithing_template_inactive.json | 23 ++ .../data/ascension/recipe/gold_dagger.json | 19 + .../data/ascension/recipe/ice_boots.json | 16 + .../data/ascension/recipe/ice_chestplate.json | 17 + .../data/ascension/recipe/ice_gem.json | 23 ++ .../data/ascension/recipe/ice_helmet.json | 16 + .../data/ascension/recipe/ice_lantern.json | 22 ++ .../data/ascension/recipe/ice_leggings.json | 17 + .../data/ascension/recipe/ice_sword.json | 20 ++ .../ascension/recipe/infused_vexal_sword.json | 20 ++ .../data/ascension/recipe/iron_dagger.json | 19 + .../recipe/netherite_dagger_smithing.json | 16 + .../data/ascension/recipe/obsidian_rod.json | 20 ++ .../data/ascension/recipe/raw_titanium.json | 12 + .../ascension/recipe/raw_titanium_block.json | 17 + .../data/ascension/recipe/razor_sword.json | 20 ++ .../data/ascension/recipe/titanium_axe.json | 20 ++ .../recipe/titanium_block_from_ingot.json | 18 + .../data/ascension/recipe/titanium_boots.json | 16 + .../data/ascension/recipe/titanium_chain.json | 22 ++ .../ascension/recipe/titanium_chestplate.json | 17 + .../ascension/recipe/titanium_dagger.json | 19 + .../ascension/recipe/titanium_helmet.json | 16 + .../data/ascension/recipe/titanium_hoe.json | 20 ++ ...nium_ingot_from_blasting_raw_titanium.json | 12 + ...ium_ingot_from_blasting_titanium_ores.json | 12 + .../recipe/titanium_ingot_from_block.json | 13 + .../recipe/titanium_ingot_from_nugget.json | 18 + ...nium_ingot_from_smelting_raw_titanium.json | 12 + ...ium_ingot_from_smelting_titanium_ores.json | 12 + .../ascension/recipe/titanium_leggings.json | 17 + .../recipe/titanium_nugget_from_ingot.json | 12 + .../ascension/recipe/titanium_pickaxe.json | 20 ++ .../ascension/recipe/titanium_shovel.json | 20 ++ .../data/ascension/recipe/titanium_sword.json | 20 ++ .../data/ascension/recipe/vexal_block.json | 16 + .../recipe/vexal_crystal_from_block.json | 12 + .../data/ascension/recipe/vexal_sword.json | 20 ++ .../configured_feature/ore_flerovium.json | 18 + .../configured_feature/ore_titanium.json | 27 ++ .../configured_feature/vexal_geode.json | 108 ++++++ .../placed_feature/ore_flerovium.json | 27 ++ .../worldgen/placed_feature/ore_titanium.json | 28 ++ .../worldgen/placed_feature/vexal_geode.json | 27 ++ .../data/c/tags/block/budding_blocks.json | 5 + .../resources/data/c/tags/block/buds.json | 7 + .../resources/data/c/tags/block/chains.json | 6 + .../resources/data/c/tags/block/clusters.json | 5 + .../resources/data/c/tags/block/ores.json | 10 + .../data/c/tags/block/ores/flerovium.json | 9 + .../data/c/tags/block/ores/titanium.json | 10 + .../data/c/tags/block/storage_blocks.json | 12 + .../block/storage_blocks/ferrotitanium.json | 9 + .../tags/block/storage_blocks/flerovium.json | 9 + .../block/storage_blocks/raw_titanium.json | 9 + .../c/tags/block/storage_blocks/titanium.json | 9 + .../data/c/tags/item/budding_blocks.json | 5 + src/main/resources/data/c/tags/item/buds.json | 7 + .../resources/data/c/tags/item/chains.json | 6 + .../resources/data/c/tags/item/clusters.json | 5 + src/main/resources/data/c/tags/item/gems.json | 13 + .../data/c/tags/item/gems/blaze.json | 9 + .../data/c/tags/item/gems/flerovium.json | 9 + .../resources/data/c/tags/item/gems/ice.json | 9 + .../data/c/tags/item/gems/infused_vexal.json | 9 + .../data/c/tags/item/gems/vexal.json | 9 + .../resources/data/c/tags/item/ingots.json | 10 + .../c/tags/item/ingots/ferrotitanium.json | 9 + .../data/c/tags/item/ingots/titanium.json | 9 + .../resources/data/c/tags/item/nuggets.json | 10 + .../c/tags/item/nuggets/ferrotitanium.json | 9 + .../data/c/tags/item/nuggets/titanium.json | 9 + src/main/resources/data/c/tags/item/ores.json | 10 + .../data/c/tags/item/ores/flerovium.json | 9 + .../data/c/tags/item/ores/titanium.json | 10 + .../data/c/tags/item/raw_materials.json | 9 + .../c/tags/item/raw_materials/titanium.json | 9 + src/main/resources/data/c/tags/item/rods.json | 10 + .../data/c/tags/item/rods/cold_blaze.json | 9 + .../data/c/tags/item/rods/obsidian.json | 9 + .../data/c/tags/item/storage_blocks.json | 12 + .../item/storage_blocks/ferrotitanium.json | 9 + .../c/tags/item/storage_blocks/flerovium.json | 9 + .../item/storage_blocks/raw_titanium.json | 9 + .../c/tags/item/storage_blocks/titanium.json | 9 + .../data/c/tags/item/tools/mace.json | 5 + .../data/c/tags/item/tools/melee_weapon.json | 25 ++ .../data/c/tags/item/tools/mining_tool.json | 7 + .../minecraft/tags/block/mineable/axe.json | 6 + .../tags/block/mineable/pickaxe.json | 22 ++ .../tags/block/needs_diamond_tool.json | 7 + .../minecraft/tags/block/needs_iron_tool.json | 6 + .../tags/block/needs_stone_tool.json | 9 + .../minecraft/tags/block/needs_wood_tool.json | 9 + .../tags/block/piglin_repellents.json | 6 + .../tags/damage_type/no_knockback.json | 7 + .../data/minecraft/tags/item/axes.json | 8 + .../data/minecraft/tags/item/chest_armor.json | 8 + .../tags/item/cluster_max_harvestables.json | 8 + .../tags/item/enchantable/durability.json | 6 + .../tags/item/enchantable/fire_aspect.json | 6 + .../minecraft/tags/item/enchantable/mace.json | 6 + .../tags/item/enchantable/weapon.json | 6 + .../data/minecraft/tags/item/foot_armor.json | 8 + .../tags/item/freeze_immune_wearables.json | 9 + .../data/minecraft/tags/item/head_armor.json | 8 + .../data/minecraft/tags/item/hoes.json | 8 + .../data/minecraft/tags/item/leg_armor.json | 8 + .../data/minecraft/tags/item/pickaxes.json | 8 + .../tags/item/piglin_repellents.json | 6 + .../data/minecraft/tags/item/shovels.json | 8 + .../data/minecraft/tags/item/swords.json | 23 ++ .../minecraft/tags/item/trim_materials.json | 10 + .../minecraft/tags/item/trimmable_armor.json | 20 ++ .../loot_modifiers/global_loot_modifiers.json | 7 + src/main/resources/pack.mcmeta | 8 + 483 files changed, 6569 insertions(+), 222 deletions(-) delete mode 100644 src/main/java/com/example/examplemod/Config.java delete mode 100644 src/main/java/com/example/examplemod/ExampleMod.java create mode 100644 src/main/java/github/premiumrush/ascension/Ascension.java create mode 100644 src/main/java/github/premiumrush/ascension/datagen/DataGenerators.java create mode 100644 src/main/java/github/premiumrush/ascension/datagen/loot/ModGlobalLootModifiersProvider.java create mode 100644 src/main/java/github/premiumrush/ascension/event/ParticleEvents.java create mode 100644 src/main/java/github/premiumrush/ascension/init/ArmorMaterialInit.java create mode 100644 src/main/java/github/premiumrush/ascension/init/BlockInit.java create mode 100644 src/main/java/github/premiumrush/ascension/init/CreativeTabInit.java create mode 100644 src/main/java/github/premiumrush/ascension/init/DamageTypeInit.java create mode 100644 src/main/java/github/premiumrush/ascension/init/ItemInit.java create mode 100644 src/main/java/github/premiumrush/ascension/init/MobEffectInit.java create mode 100644 src/main/java/github/premiumrush/ascension/init/ParticleInit.java create mode 100644 src/main/java/github/premiumrush/ascension/init/TierInit.java create mode 100644 src/main/java/github/premiumrush/ascension/loot/AddItem.java create mode 100644 src/main/java/github/premiumrush/ascension/loot/ModLootModifiers.java create mode 100644 src/main/java/github/premiumrush/ascension/world/action/DaggerActions.java create mode 100644 src/main/java/github/premiumrush/ascension/world/block/BuddingVexalBlock.java create mode 100644 src/main/java/github/premiumrush/ascension/world/effect/BleedingMobEffect.java create mode 100644 src/main/java/github/premiumrush/ascension/world/effect/RadiationMobEffect.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/BlazeSwordItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/DaggerItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/FerrotitaniumArmorItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/FerrotitaniumAxeItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/FerrotitaniumDaggerItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/FerrotitaniumHoeItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/FerrotitaniumPickaxeItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/FerrotitaniumShovelItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/FerrotitaniumSwordItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/FleroviumArmorItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/FleroviumAxeItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/FleroviumDaggerItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/FleroviumHoeItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/FleroviumPickaxeItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/FleroviumShovelItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/FleroviumSmithingTemplateItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/FleroviumSwordItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/GyroMaceItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/IceArmorItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/IceSwordItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/InactiveUpgradeItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/KnockbackItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/RazorSwordItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/ShadowDaggerItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/TitaniumArmorItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/TitaniumAxeItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/TitaniumDaggerItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/TitaniumHoeItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/TitaniumPickaxeItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/TitaniumShovelItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/TitaniumSwordItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/VanillaDaggerItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/VexalCrystalItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/VexalSwordInfusedItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/VexalSwordItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/item/WingedSwordItem.java create mode 100644 src/main/java/github/premiumrush/ascension/world/particle/BubbleParticle.java create mode 100644 src/main/java/github/premiumrush/ascension/world/particle/ShadowDodgeParticle.java rename src/main/{templates => resources}/META-INF/neoforge.mods.toml (90%) create mode 100644 src/main/resources/assets/ascension/blockstates/blaze_lantern.json create mode 100644 src/main/resources/assets/ascension/blockstates/budding_vexal_block.json create mode 100644 src/main/resources/assets/ascension/blockstates/deepslate_flerovium_ore.json create mode 100644 src/main/resources/assets/ascension/blockstates/deepslate_titanium_ore.json create mode 100644 src/main/resources/assets/ascension/blockstates/ferrotitanium_block.json create mode 100644 src/main/resources/assets/ascension/blockstates/ferrotitanium_chain.json create mode 100644 src/main/resources/assets/ascension/blockstates/flerovium_block.json create mode 100644 src/main/resources/assets/ascension/blockstates/ice_lantern.json create mode 100644 src/main/resources/assets/ascension/blockstates/infusing_table.json create mode 100644 src/main/resources/assets/ascension/blockstates/large_vexal_bud.json create mode 100644 src/main/resources/assets/ascension/blockstates/medium_vexal_bud.json create mode 100644 src/main/resources/assets/ascension/blockstates/raw_titanium_block.json create mode 100644 src/main/resources/assets/ascension/blockstates/small_vexal_bud.json create mode 100644 src/main/resources/assets/ascension/blockstates/titanium_block.json create mode 100644 src/main/resources/assets/ascension/blockstates/titanium_chain.json create mode 100644 src/main/resources/assets/ascension/blockstates/titanium_ore.json create mode 100644 src/main/resources/assets/ascension/blockstates/vexal_block.json create mode 100644 src/main/resources/assets/ascension/blockstates/vexal_cluster.json create mode 100644 src/main/resources/assets/ascension/lang/en_us.json create mode 100644 src/main/resources/assets/ascension/models/block/blaze_lantern.json create mode 100644 src/main/resources/assets/ascension/models/block/blaze_lantern_hanging.json create mode 100644 src/main/resources/assets/ascension/models/block/budding_vexal_block.json create mode 100644 src/main/resources/assets/ascension/models/block/deepslate_flerovium_ore.json create mode 100644 src/main/resources/assets/ascension/models/block/deepslate_titanium_ore.json create mode 100644 src/main/resources/assets/ascension/models/block/ferrotitanium_block.json create mode 100644 src/main/resources/assets/ascension/models/block/ferrotitanium_chain.json create mode 100644 src/main/resources/assets/ascension/models/block/flerovium_block.json create mode 100644 src/main/resources/assets/ascension/models/block/ice_lantern.json create mode 100644 src/main/resources/assets/ascension/models/block/ice_lantern_hanging.json create mode 100644 src/main/resources/assets/ascension/models/block/infusing_table.json create mode 100644 src/main/resources/assets/ascension/models/block/large_vexal_bud.json create mode 100644 src/main/resources/assets/ascension/models/block/medium_vexal_bud.json create mode 100644 src/main/resources/assets/ascension/models/block/raw_titanium_block.json create mode 100644 src/main/resources/assets/ascension/models/block/small_vexal_bud.json create mode 100644 src/main/resources/assets/ascension/models/block/titanium_block.json create mode 100644 src/main/resources/assets/ascension/models/block/titanium_chain.json create mode 100644 src/main/resources/assets/ascension/models/block/titanium_ore.json create mode 100644 src/main/resources/assets/ascension/models/block/vexal_block.json create mode 100644 src/main/resources/assets/ascension/models/block/vexal_cluster.json create mode 100644 src/main/resources/assets/ascension/models/custom/gyro_mace_handheld.json create mode 100644 src/main/resources/assets/ascension/models/item/blaze_gem.json create mode 100644 src/main/resources/assets/ascension/models/item/blaze_lantern.json create mode 100644 src/main/resources/assets/ascension/models/item/blaze_sword.json create mode 100644 src/main/resources/assets/ascension/models/item/budding_vexal_block.json create mode 100644 src/main/resources/assets/ascension/models/item/cold_blaze_rod.json create mode 100644 src/main/resources/assets/ascension/models/item/deepslate_flerovium_ore.json create mode 100644 src/main/resources/assets/ascension/models/item/deepslate_titanium_ore.json create mode 100644 src/main/resources/assets/ascension/models/item/diamond_dagger.json create mode 100644 src/main/resources/assets/ascension/models/item/ferrotitanium_axe.json create mode 100644 src/main/resources/assets/ascension/models/item/ferrotitanium_blend.json create mode 100644 src/main/resources/assets/ascension/models/item/ferrotitanium_block.json create mode 100644 src/main/resources/assets/ascension/models/item/ferrotitanium_boots.json create mode 100644 src/main/resources/assets/ascension/models/item/ferrotitanium_chain.json create mode 100644 src/main/resources/assets/ascension/models/item/ferrotitanium_chestplate.json create mode 100644 src/main/resources/assets/ascension/models/item/ferrotitanium_dagger.json create mode 100644 src/main/resources/assets/ascension/models/item/ferrotitanium_helmet.json create mode 100644 src/main/resources/assets/ascension/models/item/ferrotitanium_hoe.json create mode 100644 src/main/resources/assets/ascension/models/item/ferrotitanium_ingot.json create mode 100644 src/main/resources/assets/ascension/models/item/ferrotitanium_leggings.json create mode 100644 src/main/resources/assets/ascension/models/item/ferrotitanium_nugget.json create mode 100644 src/main/resources/assets/ascension/models/item/ferrotitanium_pickaxe.json create mode 100644 src/main/resources/assets/ascension/models/item/ferrotitanium_shovel.json create mode 100644 src/main/resources/assets/ascension/models/item/ferrotitanium_sword.json create mode 100644 src/main/resources/assets/ascension/models/item/flerovium_axe.json create mode 100644 src/main/resources/assets/ascension/models/item/flerovium_block.json create mode 100644 src/main/resources/assets/ascension/models/item/flerovium_boots.json create mode 100644 src/main/resources/assets/ascension/models/item/flerovium_chestplate.json create mode 100644 src/main/resources/assets/ascension/models/item/flerovium_crystal.json create mode 100644 src/main/resources/assets/ascension/models/item/flerovium_dagger.json create mode 100644 src/main/resources/assets/ascension/models/item/flerovium_helmet.json create mode 100644 src/main/resources/assets/ascension/models/item/flerovium_hoe.json create mode 100644 src/main/resources/assets/ascension/models/item/flerovium_leggings.json create mode 100644 src/main/resources/assets/ascension/models/item/flerovium_pickaxe.json create mode 100644 src/main/resources/assets/ascension/models/item/flerovium_shard.json create mode 100644 src/main/resources/assets/ascension/models/item/flerovium_shovel.json create mode 100644 src/main/resources/assets/ascension/models/item/flerovium_sword.json create mode 100644 src/main/resources/assets/ascension/models/item/flerovium_upgrade_smithing_template.json create mode 100644 src/main/resources/assets/ascension/models/item/flerovium_upgrade_smithing_template_inactive.json create mode 100644 src/main/resources/assets/ascension/models/item/gold_dagger.json create mode 100644 src/main/resources/assets/ascension/models/item/golem_gyro.json create mode 100644 src/main/resources/assets/ascension/models/item/gyro_mace.json create mode 100644 src/main/resources/assets/ascension/models/item/ice_boots.json create mode 100644 src/main/resources/assets/ascension/models/item/ice_chestplate.json create mode 100644 src/main/resources/assets/ascension/models/item/ice_gem.json create mode 100644 src/main/resources/assets/ascension/models/item/ice_helmet.json create mode 100644 src/main/resources/assets/ascension/models/item/ice_lantern.json create mode 100644 src/main/resources/assets/ascension/models/item/ice_leggings.json create mode 100644 src/main/resources/assets/ascension/models/item/ice_sword.json create mode 100644 src/main/resources/assets/ascension/models/item/infused_vexal_crystal.json create mode 100644 src/main/resources/assets/ascension/models/item/infused_vexal_sword.json create mode 100644 src/main/resources/assets/ascension/models/item/infusing_table.json create mode 100644 src/main/resources/assets/ascension/models/item/iron_dagger.json create mode 100644 src/main/resources/assets/ascension/models/item/large_magic.json create mode 100644 src/main/resources/assets/ascension/models/item/large_oblivion.json create mode 100644 src/main/resources/assets/ascension/models/item/large_vexal_bud.json create mode 100644 src/main/resources/assets/ascension/models/item/medium_vexal_bud.json create mode 100644 src/main/resources/assets/ascension/models/item/netherite_dagger.json create mode 100644 src/main/resources/assets/ascension/models/item/obsidian_rod.json create mode 100644 src/main/resources/assets/ascension/models/item/omega.json create mode 100644 src/main/resources/assets/ascension/models/item/raw_titanium.json create mode 100644 src/main/resources/assets/ascension/models/item/raw_titanium_block.json create mode 100644 src/main/resources/assets/ascension/models/item/razor_sword.json create mode 100644 src/main/resources/assets/ascension/models/item/refined_diamond_crystal.json create mode 100644 src/main/resources/assets/ascension/models/item/refined_diamond_crystal_shard.json create mode 100644 src/main/resources/assets/ascension/models/item/shadow_dagger.json create mode 100644 src/main/resources/assets/ascension/models/item/shark_tooth.json create mode 100644 src/main/resources/assets/ascension/models/item/small_magic.json create mode 100644 src/main/resources/assets/ascension/models/item/small_oblivion.json create mode 100644 src/main/resources/assets/ascension/models/item/small_vexal_bud.json create mode 100644 src/main/resources/assets/ascension/models/item/titanium_axe.json create mode 100644 src/main/resources/assets/ascension/models/item/titanium_block.json create mode 100644 src/main/resources/assets/ascension/models/item/titanium_boots.json create mode 100644 src/main/resources/assets/ascension/models/item/titanium_chain.json create mode 100644 src/main/resources/assets/ascension/models/item/titanium_chestplate.json create mode 100644 src/main/resources/assets/ascension/models/item/titanium_dagger.json create mode 100644 src/main/resources/assets/ascension/models/item/titanium_helmet.json create mode 100644 src/main/resources/assets/ascension/models/item/titanium_hoe.json create mode 100644 src/main/resources/assets/ascension/models/item/titanium_ingot.json create mode 100644 src/main/resources/assets/ascension/models/item/titanium_leggings.json create mode 100644 src/main/resources/assets/ascension/models/item/titanium_nugget.json create mode 100644 src/main/resources/assets/ascension/models/item/titanium_ore.json create mode 100644 src/main/resources/assets/ascension/models/item/titanium_pickaxe.json create mode 100644 src/main/resources/assets/ascension/models/item/titanium_shovel.json create mode 100644 src/main/resources/assets/ascension/models/item/titanium_sword.json create mode 100644 src/main/resources/assets/ascension/models/item/vexal_block.json create mode 100644 src/main/resources/assets/ascension/models/item/vexal_cluster.json create mode 100644 src/main/resources/assets/ascension/models/item/vexal_crystal.json create mode 100644 src/main/resources/assets/ascension/models/item/vexal_sword.json create mode 100644 src/main/resources/assets/ascension/models/item/winged_blade.json create mode 100644 src/main/resources/assets/ascension/particles/bubble_particle.json create mode 100644 src/main/resources/assets/ascension/particles/shadow_dodge_particle.json create mode 100644 src/main/resources/assets/ascension/textures/block/blaze_lantern.png create mode 100644 src/main/resources/assets/ascension/textures/block/blaze_lantern.png.mcmeta create mode 100644 src/main/resources/assets/ascension/textures/block/budding_vexal_block.png create mode 100644 src/main/resources/assets/ascension/textures/block/deepslate_flerovium_ore.png create mode 100644 src/main/resources/assets/ascension/textures/block/deepslate_titanium_ore.png create mode 100644 src/main/resources/assets/ascension/textures/block/ferrotitanium_block.png create mode 100644 src/main/resources/assets/ascension/textures/block/ferrotitanium_chain.png create mode 100644 src/main/resources/assets/ascension/textures/block/flerovium_block.png create mode 100644 src/main/resources/assets/ascension/textures/block/gyro_mace_handheld.png create mode 100644 src/main/resources/assets/ascension/textures/block/gyro_mace_handheld.png.mcmeta create mode 100644 src/main/resources/assets/ascension/textures/block/ice_lantern.png create mode 100644 src/main/resources/assets/ascension/textures/block/ice_lantern.png.mcmeta create mode 100644 src/main/resources/assets/ascension/textures/block/large_vexal_bud.png create mode 100644 src/main/resources/assets/ascension/textures/block/medium_vexal_bud.png create mode 100644 src/main/resources/assets/ascension/textures/block/raw_titanium_block.png create mode 100644 src/main/resources/assets/ascension/textures/block/small_vexal_bud.png create mode 100644 src/main/resources/assets/ascension/textures/block/titanium_block.png create mode 100644 src/main/resources/assets/ascension/textures/block/titanium_chain.png create mode 100644 src/main/resources/assets/ascension/textures/block/titanium_ore.png create mode 100644 src/main/resources/assets/ascension/textures/block/vexal_block.png create mode 100644 src/main/resources/assets/ascension/textures/block/vexal_cluster.png create mode 100644 src/main/resources/assets/ascension/textures/item/blaze_gem.png create mode 100644 src/main/resources/assets/ascension/textures/item/blaze_lantern.png create mode 100644 src/main/resources/assets/ascension/textures/item/blaze_sword.png create mode 100644 src/main/resources/assets/ascension/textures/item/cold_blaze_rod.png create mode 100644 src/main/resources/assets/ascension/textures/item/diamond_dagger.png create mode 100644 src/main/resources/assets/ascension/textures/item/empty_slot_dagger.png create mode 100644 src/main/resources/assets/ascension/textures/item/ferrotitanium_axe.png create mode 100644 src/main/resources/assets/ascension/textures/item/ferrotitanium_blend.png create mode 100644 src/main/resources/assets/ascension/textures/item/ferrotitanium_boots.png create mode 100644 src/main/resources/assets/ascension/textures/item/ferrotitanium_chain.png create mode 100644 src/main/resources/assets/ascension/textures/item/ferrotitanium_chestplate.png create mode 100644 src/main/resources/assets/ascension/textures/item/ferrotitanium_dagger.png create mode 100644 src/main/resources/assets/ascension/textures/item/ferrotitanium_helmet.png create mode 100644 src/main/resources/assets/ascension/textures/item/ferrotitanium_hoe.png create mode 100644 src/main/resources/assets/ascension/textures/item/ferrotitanium_ingot.png create mode 100644 src/main/resources/assets/ascension/textures/item/ferrotitanium_leggings.png create mode 100644 src/main/resources/assets/ascension/textures/item/ferrotitanium_nugget.png create mode 100644 src/main/resources/assets/ascension/textures/item/ferrotitanium_pickaxe.png create mode 100644 src/main/resources/assets/ascension/textures/item/ferrotitanium_shovel.png create mode 100644 src/main/resources/assets/ascension/textures/item/ferrotitanium_sword.png create mode 100644 src/main/resources/assets/ascension/textures/item/flerovium_axe.png create mode 100644 src/main/resources/assets/ascension/textures/item/flerovium_boots.png create mode 100644 src/main/resources/assets/ascension/textures/item/flerovium_chestplate.png create mode 100644 src/main/resources/assets/ascension/textures/item/flerovium_crystal.png create mode 100644 src/main/resources/assets/ascension/textures/item/flerovium_dagger.png create mode 100644 src/main/resources/assets/ascension/textures/item/flerovium_helmet.png create mode 100644 src/main/resources/assets/ascension/textures/item/flerovium_hoe.png create mode 100644 src/main/resources/assets/ascension/textures/item/flerovium_leggings.png create mode 100644 src/main/resources/assets/ascension/textures/item/flerovium_pickaxe.png create mode 100644 src/main/resources/assets/ascension/textures/item/flerovium_shard.png create mode 100644 src/main/resources/assets/ascension/textures/item/flerovium_shovel.png create mode 100644 src/main/resources/assets/ascension/textures/item/flerovium_sword.png create mode 100644 src/main/resources/assets/ascension/textures/item/flerovium_upgrade_smithing_template.png create mode 100644 src/main/resources/assets/ascension/textures/item/flerovium_upgrade_smithing_template_inactive.png create mode 100644 src/main/resources/assets/ascension/textures/item/gold_dagger.png create mode 100644 src/main/resources/assets/ascension/textures/item/golem_gyro.png create mode 100644 src/main/resources/assets/ascension/textures/item/gyro_mace_full.png create mode 100644 src/main/resources/assets/ascension/textures/item/gyro_mace_full.png.mcmeta create mode 100644 src/main/resources/assets/ascension/textures/item/ice_boots.png create mode 100644 src/main/resources/assets/ascension/textures/item/ice_chestplate.png create mode 100644 src/main/resources/assets/ascension/textures/item/ice_gem.png create mode 100644 src/main/resources/assets/ascension/textures/item/ice_helmet.png create mode 100644 src/main/resources/assets/ascension/textures/item/ice_lantern.png create mode 100644 src/main/resources/assets/ascension/textures/item/ice_leggings.png create mode 100644 src/main/resources/assets/ascension/textures/item/ice_sword.png create mode 100644 src/main/resources/assets/ascension/textures/item/infused_vexal_crystal.png create mode 100644 src/main/resources/assets/ascension/textures/item/infused_vexal_sword.png create mode 100644 src/main/resources/assets/ascension/textures/item/iron_dagger.png create mode 100644 src/main/resources/assets/ascension/textures/item/large_magic.png create mode 100644 src/main/resources/assets/ascension/textures/item/large_magic.png.mcmeta create mode 100644 src/main/resources/assets/ascension/textures/item/large_oblivion.png create mode 100644 src/main/resources/assets/ascension/textures/item/large_oblivion.png.mcmeta create mode 100644 src/main/resources/assets/ascension/textures/item/netherite_dagger.png create mode 100644 src/main/resources/assets/ascension/textures/item/obsidian_rod.png create mode 100644 src/main/resources/assets/ascension/textures/item/omega.png create mode 100644 src/main/resources/assets/ascension/textures/item/raw_titanium.png create mode 100644 src/main/resources/assets/ascension/textures/item/razor_sword.png create mode 100644 src/main/resources/assets/ascension/textures/item/refined_diamond_crystal.png create mode 100644 src/main/resources/assets/ascension/textures/item/refined_diamond_crystal_shard.png create mode 100644 src/main/resources/assets/ascension/textures/item/shadow_dagger.png create mode 100644 src/main/resources/assets/ascension/textures/item/shark_tooth.png create mode 100644 src/main/resources/assets/ascension/textures/item/small_magic.png create mode 100644 src/main/resources/assets/ascension/textures/item/small_magic.png.mcmeta create mode 100644 src/main/resources/assets/ascension/textures/item/small_oblivion.png create mode 100644 src/main/resources/assets/ascension/textures/item/small_oblivion.png.mcmeta create mode 100644 src/main/resources/assets/ascension/textures/item/titanium_axe.png create mode 100644 src/main/resources/assets/ascension/textures/item/titanium_boots.png create mode 100644 src/main/resources/assets/ascension/textures/item/titanium_chain.png create mode 100644 src/main/resources/assets/ascension/textures/item/titanium_chestplate.png create mode 100644 src/main/resources/assets/ascension/textures/item/titanium_dagger.png create mode 100644 src/main/resources/assets/ascension/textures/item/titanium_helmet.png create mode 100644 src/main/resources/assets/ascension/textures/item/titanium_hoe.png create mode 100644 src/main/resources/assets/ascension/textures/item/titanium_ingot.png create mode 100644 src/main/resources/assets/ascension/textures/item/titanium_leggings.png create mode 100644 src/main/resources/assets/ascension/textures/item/titanium_nugget.png create mode 100644 src/main/resources/assets/ascension/textures/item/titanium_pickaxe.png create mode 100644 src/main/resources/assets/ascension/textures/item/titanium_shovel.png create mode 100644 src/main/resources/assets/ascension/textures/item/titanium_sword.png create mode 100644 src/main/resources/assets/ascension/textures/item/vexal_crystal.png create mode 100644 src/main/resources/assets/ascension/textures/item/vexal_sword.png create mode 100644 src/main/resources/assets/ascension/textures/item/winged_blade.png create mode 100644 src/main/resources/assets/ascension/textures/mob_effect/bleeding.png create mode 100644 src/main/resources/assets/ascension/textures/mob_effect/radiation.png create mode 100644 src/main/resources/assets/ascension/textures/models/armor/ferrotitanium_layer_1.png create mode 100644 src/main/resources/assets/ascension/textures/models/armor/ferrotitanium_layer_2.png create mode 100644 src/main/resources/assets/ascension/textures/models/armor/flerovium_layer_1.png create mode 100644 src/main/resources/assets/ascension/textures/models/armor/flerovium_layer_2.png create mode 100644 src/main/resources/assets/ascension/textures/models/armor/gyro_layer_1.png create mode 100644 src/main/resources/assets/ascension/textures/models/armor/ice_layer_1.png create mode 100644 src/main/resources/assets/ascension/textures/models/armor/ice_layer_2.png create mode 100644 src/main/resources/assets/ascension/textures/models/armor/titanium_layer_1.png create mode 100644 src/main/resources/assets/ascension/textures/models/armor/titanium_layer_2.png create mode 100644 src/main/resources/assets/ascension/textures/particle/bubble_purple.png delete mode 100644 src/main/resources/assets/examplemod/lang/en_us.json create mode 100644 src/main/resources/data/ascension/damage_type/bleeding.json create mode 100644 src/main/resources/data/ascension/damage_type/radiation.json create mode 100644 src/main/resources/data/ascension/loot_modifiers/blaze_gem_from_blaze.json create mode 100644 src/main/resources/data/ascension/loot_modifiers/dormant_template_from_end_city.json create mode 100644 src/main/resources/data/ascension/loot_table/blocks/blaze_lantern.json create mode 100644 src/main/resources/data/ascension/loot_table/blocks/deepslate_flerovium_ore.json create mode 100644 src/main/resources/data/ascension/loot_table/blocks/deepslate_titanium_ore.json create mode 100644 src/main/resources/data/ascension/loot_table/blocks/ferrotitanium_block.json create mode 100644 src/main/resources/data/ascension/loot_table/blocks/ferrotitanium_chain.json create mode 100644 src/main/resources/data/ascension/loot_table/blocks/flerovium_block.json create mode 100644 src/main/resources/data/ascension/loot_table/blocks/ice_lantern.json create mode 100644 src/main/resources/data/ascension/loot_table/blocks/infusion_table.json create mode 100644 src/main/resources/data/ascension/loot_table/blocks/large_vexal_bud.json create mode 100644 src/main/resources/data/ascension/loot_table/blocks/medium_vexal_bud.json create mode 100644 src/main/resources/data/ascension/loot_table/blocks/raw_titanium_block.json create mode 100644 src/main/resources/data/ascension/loot_table/blocks/small_vexal_bud.json create mode 100644 src/main/resources/data/ascension/loot_table/blocks/titanium_block.json create mode 100644 src/main/resources/data/ascension/loot_table/blocks/titanium_chain.json create mode 100644 src/main/resources/data/ascension/loot_table/blocks/titanium_ore.json create mode 100644 src/main/resources/data/ascension/loot_table/blocks/vexal_block.json create mode 100644 src/main/resources/data/ascension/loot_table/blocks/vexal_cluster.json create mode 100644 src/main/resources/data/ascension/neoforge/biome_modifier/ore_flerovium.json create mode 100644 src/main/resources/data/ascension/neoforge/biome_modifier/ore_titanium.json create mode 100644 src/main/resources/data/ascension/neoforge/biome_modifier/vexal_geode.json create mode 100644 src/main/resources/data/ascension/recipe/blaze_lantern.json create mode 100644 src/main/resources/data/ascension/recipe/blaze_sword.json create mode 100644 src/main/resources/data/ascension/recipe/cold_blaze_rod.json create mode 100644 src/main/resources/data/ascension/recipe/diamond_dagger.json create mode 100644 src/main/resources/data/ascension/recipe/ferrotitanium_axe.json create mode 100644 src/main/resources/data/ascension/recipe/ferrotitanium_blend.json create mode 100644 src/main/resources/data/ascension/recipe/ferrotitanium_block_from_ingot.json create mode 100644 src/main/resources/data/ascension/recipe/ferrotitanium_boots.json create mode 100644 src/main/resources/data/ascension/recipe/ferrotitanium_chain.json create mode 100644 src/main/resources/data/ascension/recipe/ferrotitanium_chestplate.json create mode 100644 src/main/resources/data/ascension/recipe/ferrotitanium_dagger.json create mode 100644 src/main/resources/data/ascension/recipe/ferrotitanium_helmet.json create mode 100644 src/main/resources/data/ascension/recipe/ferrotitanium_hoe.json create mode 100644 src/main/resources/data/ascension/recipe/ferrotitanium_ingot_from_blasting_ferrotitanium_blend.json create mode 100644 src/main/resources/data/ascension/recipe/ferrotitanium_ingot_from_block.json create mode 100644 src/main/resources/data/ascension/recipe/ferrotitanium_ingot_from_nugget.json create mode 100644 src/main/resources/data/ascension/recipe/ferrotitanium_leggings.json create mode 100644 src/main/resources/data/ascension/recipe/ferrotitanium_nugget_from_ingot.json create mode 100644 src/main/resources/data/ascension/recipe/ferrotitanium_pickaxe.json create mode 100644 src/main/resources/data/ascension/recipe/ferrotitanium_shovel.json create mode 100644 src/main/resources/data/ascension/recipe/ferrotitanium_sword.json create mode 100644 src/main/resources/data/ascension/recipe/flerovium_axe_smithing.json create mode 100644 src/main/resources/data/ascension/recipe/flerovium_block_from_flerovium_crystal.json create mode 100644 src/main/resources/data/ascension/recipe/flerovium_boots_smithing.json create mode 100644 src/main/resources/data/ascension/recipe/flerovium_chestplate_smithing.json create mode 100644 src/main/resources/data/ascension/recipe/flerovium_crystal_from_flerovium_block.json create mode 100644 src/main/resources/data/ascension/recipe/flerovium_crystal_from_flerovium_shard.json create mode 100644 src/main/resources/data/ascension/recipe/flerovium_dagger_smithing.json create mode 100644 src/main/resources/data/ascension/recipe/flerovium_helmet_smithing.json create mode 100644 src/main/resources/data/ascension/recipe/flerovium_hoe_smithing.json create mode 100644 src/main/resources/data/ascension/recipe/flerovium_leggings_smithing.json create mode 100644 src/main/resources/data/ascension/recipe/flerovium_pickaxe_smithing.json create mode 100644 src/main/resources/data/ascension/recipe/flerovium_shard_from_blasting_deepslate_flerovium_ore.json create mode 100644 src/main/resources/data/ascension/recipe/flerovium_shard_from_flerovium_crystal.json create mode 100644 src/main/resources/data/ascension/recipe/flerovium_shard_from_smelting_deepslate_flerovium_ore.json create mode 100644 src/main/resources/data/ascension/recipe/flerovium_shovel_smithing.json create mode 100644 src/main/resources/data/ascension/recipe/flerovium_sword_smithing.json create mode 100644 src/main/resources/data/ascension/recipe/flerovium_upgrade_smithing_template_inactive.json create mode 100644 src/main/resources/data/ascension/recipe/gold_dagger.json create mode 100644 src/main/resources/data/ascension/recipe/ice_boots.json create mode 100644 src/main/resources/data/ascension/recipe/ice_chestplate.json create mode 100644 src/main/resources/data/ascension/recipe/ice_gem.json create mode 100644 src/main/resources/data/ascension/recipe/ice_helmet.json create mode 100644 src/main/resources/data/ascension/recipe/ice_lantern.json create mode 100644 src/main/resources/data/ascension/recipe/ice_leggings.json create mode 100644 src/main/resources/data/ascension/recipe/ice_sword.json create mode 100644 src/main/resources/data/ascension/recipe/infused_vexal_sword.json create mode 100644 src/main/resources/data/ascension/recipe/iron_dagger.json create mode 100644 src/main/resources/data/ascension/recipe/netherite_dagger_smithing.json create mode 100644 src/main/resources/data/ascension/recipe/obsidian_rod.json create mode 100644 src/main/resources/data/ascension/recipe/raw_titanium.json create mode 100644 src/main/resources/data/ascension/recipe/raw_titanium_block.json create mode 100644 src/main/resources/data/ascension/recipe/razor_sword.json create mode 100644 src/main/resources/data/ascension/recipe/titanium_axe.json create mode 100644 src/main/resources/data/ascension/recipe/titanium_block_from_ingot.json create mode 100644 src/main/resources/data/ascension/recipe/titanium_boots.json create mode 100644 src/main/resources/data/ascension/recipe/titanium_chain.json create mode 100644 src/main/resources/data/ascension/recipe/titanium_chestplate.json create mode 100644 src/main/resources/data/ascension/recipe/titanium_dagger.json create mode 100644 src/main/resources/data/ascension/recipe/titanium_helmet.json create mode 100644 src/main/resources/data/ascension/recipe/titanium_hoe.json create mode 100644 src/main/resources/data/ascension/recipe/titanium_ingot_from_blasting_raw_titanium.json create mode 100644 src/main/resources/data/ascension/recipe/titanium_ingot_from_blasting_titanium_ores.json create mode 100644 src/main/resources/data/ascension/recipe/titanium_ingot_from_block.json create mode 100644 src/main/resources/data/ascension/recipe/titanium_ingot_from_nugget.json create mode 100644 src/main/resources/data/ascension/recipe/titanium_ingot_from_smelting_raw_titanium.json create mode 100644 src/main/resources/data/ascension/recipe/titanium_ingot_from_smelting_titanium_ores.json create mode 100644 src/main/resources/data/ascension/recipe/titanium_leggings.json create mode 100644 src/main/resources/data/ascension/recipe/titanium_nugget_from_ingot.json create mode 100644 src/main/resources/data/ascension/recipe/titanium_pickaxe.json create mode 100644 src/main/resources/data/ascension/recipe/titanium_shovel.json create mode 100644 src/main/resources/data/ascension/recipe/titanium_sword.json create mode 100644 src/main/resources/data/ascension/recipe/vexal_block.json create mode 100644 src/main/resources/data/ascension/recipe/vexal_crystal_from_block.json create mode 100644 src/main/resources/data/ascension/recipe/vexal_sword.json create mode 100644 src/main/resources/data/ascension/worldgen/configured_feature/ore_flerovium.json create mode 100644 src/main/resources/data/ascension/worldgen/configured_feature/ore_titanium.json create mode 100644 src/main/resources/data/ascension/worldgen/configured_feature/vexal_geode.json create mode 100644 src/main/resources/data/ascension/worldgen/placed_feature/ore_flerovium.json create mode 100644 src/main/resources/data/ascension/worldgen/placed_feature/ore_titanium.json create mode 100644 src/main/resources/data/ascension/worldgen/placed_feature/vexal_geode.json create mode 100644 src/main/resources/data/c/tags/block/budding_blocks.json create mode 100644 src/main/resources/data/c/tags/block/buds.json create mode 100644 src/main/resources/data/c/tags/block/chains.json create mode 100644 src/main/resources/data/c/tags/block/clusters.json create mode 100644 src/main/resources/data/c/tags/block/ores.json create mode 100644 src/main/resources/data/c/tags/block/ores/flerovium.json create mode 100644 src/main/resources/data/c/tags/block/ores/titanium.json create mode 100644 src/main/resources/data/c/tags/block/storage_blocks.json create mode 100644 src/main/resources/data/c/tags/block/storage_blocks/ferrotitanium.json create mode 100644 src/main/resources/data/c/tags/block/storage_blocks/flerovium.json create mode 100644 src/main/resources/data/c/tags/block/storage_blocks/raw_titanium.json create mode 100644 src/main/resources/data/c/tags/block/storage_blocks/titanium.json create mode 100644 src/main/resources/data/c/tags/item/budding_blocks.json create mode 100644 src/main/resources/data/c/tags/item/buds.json create mode 100644 src/main/resources/data/c/tags/item/chains.json create mode 100644 src/main/resources/data/c/tags/item/clusters.json create mode 100644 src/main/resources/data/c/tags/item/gems.json create mode 100644 src/main/resources/data/c/tags/item/gems/blaze.json create mode 100644 src/main/resources/data/c/tags/item/gems/flerovium.json create mode 100644 src/main/resources/data/c/tags/item/gems/ice.json create mode 100644 src/main/resources/data/c/tags/item/gems/infused_vexal.json create mode 100644 src/main/resources/data/c/tags/item/gems/vexal.json create mode 100644 src/main/resources/data/c/tags/item/ingots.json create mode 100644 src/main/resources/data/c/tags/item/ingots/ferrotitanium.json create mode 100644 src/main/resources/data/c/tags/item/ingots/titanium.json create mode 100644 src/main/resources/data/c/tags/item/nuggets.json create mode 100644 src/main/resources/data/c/tags/item/nuggets/ferrotitanium.json create mode 100644 src/main/resources/data/c/tags/item/nuggets/titanium.json create mode 100644 src/main/resources/data/c/tags/item/ores.json create mode 100644 src/main/resources/data/c/tags/item/ores/flerovium.json create mode 100644 src/main/resources/data/c/tags/item/ores/titanium.json create mode 100644 src/main/resources/data/c/tags/item/raw_materials.json create mode 100644 src/main/resources/data/c/tags/item/raw_materials/titanium.json create mode 100644 src/main/resources/data/c/tags/item/rods.json create mode 100644 src/main/resources/data/c/tags/item/rods/cold_blaze.json create mode 100644 src/main/resources/data/c/tags/item/rods/obsidian.json create mode 100644 src/main/resources/data/c/tags/item/storage_blocks.json create mode 100644 src/main/resources/data/c/tags/item/storage_blocks/ferrotitanium.json create mode 100644 src/main/resources/data/c/tags/item/storage_blocks/flerovium.json create mode 100644 src/main/resources/data/c/tags/item/storage_blocks/raw_titanium.json create mode 100644 src/main/resources/data/c/tags/item/storage_blocks/titanium.json create mode 100644 src/main/resources/data/c/tags/item/tools/mace.json create mode 100644 src/main/resources/data/c/tags/item/tools/melee_weapon.json create mode 100644 src/main/resources/data/c/tags/item/tools/mining_tool.json create mode 100644 src/main/resources/data/minecraft/tags/block/mineable/axe.json create mode 100644 src/main/resources/data/minecraft/tags/block/mineable/pickaxe.json create mode 100644 src/main/resources/data/minecraft/tags/block/needs_diamond_tool.json create mode 100644 src/main/resources/data/minecraft/tags/block/needs_iron_tool.json create mode 100644 src/main/resources/data/minecraft/tags/block/needs_stone_tool.json create mode 100644 src/main/resources/data/minecraft/tags/block/needs_wood_tool.json create mode 100644 src/main/resources/data/minecraft/tags/block/piglin_repellents.json create mode 100644 src/main/resources/data/minecraft/tags/damage_type/no_knockback.json create mode 100644 src/main/resources/data/minecraft/tags/item/axes.json create mode 100644 src/main/resources/data/minecraft/tags/item/chest_armor.json create mode 100644 src/main/resources/data/minecraft/tags/item/cluster_max_harvestables.json create mode 100644 src/main/resources/data/minecraft/tags/item/enchantable/durability.json create mode 100644 src/main/resources/data/minecraft/tags/item/enchantable/fire_aspect.json create mode 100644 src/main/resources/data/minecraft/tags/item/enchantable/mace.json create mode 100644 src/main/resources/data/minecraft/tags/item/enchantable/weapon.json create mode 100644 src/main/resources/data/minecraft/tags/item/foot_armor.json create mode 100644 src/main/resources/data/minecraft/tags/item/freeze_immune_wearables.json create mode 100644 src/main/resources/data/minecraft/tags/item/head_armor.json create mode 100644 src/main/resources/data/minecraft/tags/item/hoes.json create mode 100644 src/main/resources/data/minecraft/tags/item/leg_armor.json create mode 100644 src/main/resources/data/minecraft/tags/item/pickaxes.json create mode 100644 src/main/resources/data/minecraft/tags/item/piglin_repellents.json create mode 100644 src/main/resources/data/minecraft/tags/item/shovels.json create mode 100644 src/main/resources/data/minecraft/tags/item/swords.json create mode 100644 src/main/resources/data/minecraft/tags/item/trim_materials.json create mode 100644 src/main/resources/data/minecraft/tags/item/trimmable_armor.json create mode 100644 src/main/resources/data/neoforge/loot_modifiers/global_loot_modifiers.json create mode 100644 src/main/resources/pack.mcmeta diff --git a/gradle.properties b/gradle.properties index 215002e..9be7181 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ # Sets default memory used for gradle commands. Can be overridden by user or command line properties. -org.gradle.jvmargs=-Xmx1G +org.gradle.jvmargs=-Xmx4G org.gradle.daemon=true org.gradle.parallel=true org.gradle.caching=true @@ -28,18 +28,18 @@ loader_version_range=[4,) # The unique mod identifier for the mod. Must be lowercase in English locale. Must fit the regex [a-z][a-z0-9_]{1,63} # Must match the String constant located in the main mod class annotated with @Mod. -mod_id=examplemod +mod_id=ascension # The human-readable display name for the mod. -mod_name=Example Mod +mod_name=Ascension Reborn # The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default. -mod_license=All Rights Reserved +mod_license=MIT # The mod version. See https://semver.org/ mod_version=1.0.0 # The group ID for the mod. It is only important when publishing as an artifact to a Maven repository. # This should match the base package used for the mod sources. # See https://maven.apache.org/guides/mini/guide-naming-conventions.html -mod_group_id=com.example.examplemod +mod_group_id=github.premiumrush.ascension # The authors of the mod. This is a simple text string that is used for display purposes in the mod list. -mod_authors=YourNameHere, OtherNameHere +mod_authors=PremiumRush # The description of the mod. This is a simple multiline text string that is used for display purposes in the mod list. -mod_description=Example mod description.\nNewline characters can be used and will be replaced properly. +mod_description=A reimagination of the 1.7.10 mod "Ascension". diff --git a/src/main/java/com/example/examplemod/Config.java b/src/main/java/com/example/examplemod/Config.java deleted file mode 100644 index d70d1eb..0000000 --- a/src/main/java/com/example/examplemod/Config.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.example.examplemod; - -import java.util.List; -import java.util.Set; -import java.util.stream.Collectors; - -import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.Item; -import net.neoforged.bus.api.SubscribeEvent; -import net.neoforged.fml.common.EventBusSubscriber; -import net.neoforged.fml.event.config.ModConfigEvent; -import net.neoforged.neoforge.common.ModConfigSpec; - -// An example config class. This is not required, but it's a good idea to have one to keep your config organized. -// Demonstrates how to use Neo's config APIs -@EventBusSubscriber(modid = ExampleMod.MODID, bus = EventBusSubscriber.Bus.MOD) -public class Config -{ - private static final ModConfigSpec.Builder BUILDER = new ModConfigSpec.Builder(); - - private static final ModConfigSpec.BooleanValue LOG_DIRT_BLOCK = BUILDER - .comment("Whether to log the dirt block on common setup") - .define("logDirtBlock", true); - - private static final ModConfigSpec.IntValue MAGIC_NUMBER = BUILDER - .comment("A magic number") - .defineInRange("magicNumber", 42, 0, Integer.MAX_VALUE); - - public static final ModConfigSpec.ConfigValue MAGIC_NUMBER_INTRODUCTION = BUILDER - .comment("What you want the introduction message to be for the magic number") - .define("magicNumberIntroduction", "The magic number is... "); - - // a list of strings that are treated as resource locations for items - private static final ModConfigSpec.ConfigValue> ITEM_STRINGS = BUILDER - .comment("A list of items to log on common setup.") - .defineListAllowEmpty("items", List.of("minecraft:iron_ingot"), Config::validateItemName); - - static final ModConfigSpec SPEC = BUILDER.build(); - - public static boolean logDirtBlock; - public static int magicNumber; - public static String magicNumberIntroduction; - public static Set items; - - private static boolean validateItemName(final Object obj) - { - return obj instanceof String itemName && BuiltInRegistries.ITEM.containsKey(ResourceLocation.parse(itemName)); - } - - @SubscribeEvent - static void onLoad(final ModConfigEvent event) - { - logDirtBlock = LOG_DIRT_BLOCK.get(); - magicNumber = MAGIC_NUMBER.get(); - magicNumberIntroduction = MAGIC_NUMBER_INTRODUCTION.get(); - - // convert the list of strings into a set of items - items = ITEM_STRINGS.get().stream() - .map(itemName -> BuiltInRegistries.ITEM.get(ResourceLocation.parse(itemName))) - .collect(Collectors.toSet()); - } -} diff --git a/src/main/java/com/example/examplemod/ExampleMod.java b/src/main/java/com/example/examplemod/ExampleMod.java deleted file mode 100644 index 835a48d..0000000 --- a/src/main/java/com/example/examplemod/ExampleMod.java +++ /dev/null @@ -1,136 +0,0 @@ -package com.example.examplemod; - -import org.slf4j.Logger; - -import com.mojang.logging.LogUtils; - -import net.minecraft.client.Minecraft; -import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.core.registries.Registries; -import net.minecraft.network.chat.Component; -import net.minecraft.world.food.FoodProperties; -import net.minecraft.world.item.BlockItem; -import net.minecraft.world.item.CreativeModeTab; -import net.minecraft.world.item.CreativeModeTabs; -import net.minecraft.world.item.Item; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.state.BlockBehaviour; -import net.minecraft.world.level.material.MapColor; -import net.neoforged.api.distmarker.Dist; -import net.neoforged.bus.api.IEventBus; -import net.neoforged.bus.api.SubscribeEvent; -import net.neoforged.fml.ModContainer; -import net.neoforged.fml.common.EventBusSubscriber; -import net.neoforged.fml.common.Mod; -import net.neoforged.fml.config.ModConfig; -import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent; -import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; -import net.neoforged.neoforge.common.NeoForge; -import net.neoforged.neoforge.event.BuildCreativeModeTabContentsEvent; -import net.neoforged.neoforge.event.server.ServerStartingEvent; -import net.neoforged.neoforge.registries.DeferredBlock; -import net.neoforged.neoforge.registries.DeferredHolder; -import net.neoforged.neoforge.registries.DeferredItem; -import net.neoforged.neoforge.registries.DeferredRegister; - -// The value here should match an entry in the META-INF/neoforge.mods.toml file -@Mod(ExampleMod.MODID) -public class ExampleMod -{ - // Define mod id in a common place for everything to reference - public static final String MODID = "examplemod"; - // Directly reference a slf4j logger - private static final Logger LOGGER = LogUtils.getLogger(); - // Create a Deferred Register to hold Blocks which will all be registered under the "examplemod" namespace - public static final DeferredRegister.Blocks BLOCKS = DeferredRegister.createBlocks(MODID); - // Create a Deferred Register to hold Items which will all be registered under the "examplemod" namespace - public static final DeferredRegister.Items ITEMS = DeferredRegister.createItems(MODID); - // Create a Deferred Register to hold CreativeModeTabs which will all be registered under the "examplemod" namespace - public static final DeferredRegister CREATIVE_MODE_TABS = DeferredRegister.create(Registries.CREATIVE_MODE_TAB, MODID); - - // Creates a new Block with the id "examplemod:example_block", combining the namespace and path - public static final DeferredBlock EXAMPLE_BLOCK = BLOCKS.registerSimpleBlock("example_block", BlockBehaviour.Properties.of().mapColor(MapColor.STONE)); - // Creates a new BlockItem with the id "examplemod:example_block", combining the namespace and path - public static final DeferredItem EXAMPLE_BLOCK_ITEM = ITEMS.registerSimpleBlockItem("example_block", EXAMPLE_BLOCK); - - // Creates a new food item with the id "examplemod:example_id", nutrition 1 and saturation 2 - public static final DeferredItem EXAMPLE_ITEM = ITEMS.registerSimpleItem("example_item", new Item.Properties().food(new FoodProperties.Builder() - .alwaysEdible().nutrition(1).saturationModifier(2f).build())); - - // Creates a creative tab with the id "examplemod:example_tab" for the example item, that is placed after the combat tab - public static final DeferredHolder EXAMPLE_TAB = CREATIVE_MODE_TABS.register("example_tab", () -> CreativeModeTab.builder() - .title(Component.translatable("itemGroup.examplemod")) //The language key for the title of your CreativeModeTab - .withTabsBefore(CreativeModeTabs.COMBAT) - .icon(() -> EXAMPLE_ITEM.get().getDefaultInstance()) - .displayItems((parameters, output) -> { - output.accept(EXAMPLE_ITEM.get()); // Add the example item to the tab. For your own tabs, this method is preferred over the event - }).build()); - - // The constructor for the mod class is the first code that is run when your mod is loaded. - // FML will recognize some parameter types like IEventBus or ModContainer and pass them in automatically. - public ExampleMod(IEventBus modEventBus, ModContainer modContainer) - { - // Register the commonSetup method for modloading - modEventBus.addListener(this::commonSetup); - - // Register the Deferred Register to the mod event bus so blocks get registered - BLOCKS.register(modEventBus); - // Register the Deferred Register to the mod event bus so items get registered - ITEMS.register(modEventBus); - // Register the Deferred Register to the mod event bus so tabs get registered - CREATIVE_MODE_TABS.register(modEventBus); - - // Register ourselves for server and other game events we are interested in. - // Note that this is necessary if and only if we want *this* class (ExampleMod) to respond directly to events. - // Do not add this line if there are no @SubscribeEvent-annotated functions in this class, like onServerStarting() below. - NeoForge.EVENT_BUS.register(this); - - // Register the item to a creative tab - modEventBus.addListener(this::addCreative); - - // Register our mod's ModConfigSpec so that FML can create and load the config file for us - modContainer.registerConfig(ModConfig.Type.COMMON, Config.SPEC); - } - - private void commonSetup(final FMLCommonSetupEvent event) - { - // Some common setup code - LOGGER.info("HELLO FROM COMMON SETUP"); - - if (Config.logDirtBlock) - LOGGER.info("DIRT BLOCK >> {}", BuiltInRegistries.BLOCK.getKey(Blocks.DIRT)); - - LOGGER.info(Config.magicNumberIntroduction + Config.magicNumber); - - Config.items.forEach((item) -> LOGGER.info("ITEM >> {}", item.toString())); - } - - // Add the example block item to the building blocks tab - private void addCreative(BuildCreativeModeTabContentsEvent event) - { - if (event.getTabKey() == CreativeModeTabs.BUILDING_BLOCKS) - event.accept(EXAMPLE_BLOCK_ITEM); - } - - // You can use SubscribeEvent and let the Event Bus discover methods to call - @SubscribeEvent - public void onServerStarting(ServerStartingEvent event) - { - // Do something when the server starts - LOGGER.info("HELLO from server starting"); - } - - // You can use EventBusSubscriber to automatically register all static methods in the class annotated with @SubscribeEvent - @EventBusSubscriber(modid = MODID, bus = EventBusSubscriber.Bus.MOD, value = Dist.CLIENT) - public static class ClientModEvents - { - @SubscribeEvent - public static void onClientSetup(FMLClientSetupEvent event) - { - // Some client setup code - LOGGER.info("HELLO FROM CLIENT SETUP"); - LOGGER.info("MINECRAFT NAME >> {}", Minecraft.getInstance().getUser().getName()); - } - } -} diff --git a/src/main/java/github/premiumrush/ascension/Ascension.java b/src/main/java/github/premiumrush/ascension/Ascension.java new file mode 100644 index 0000000..80d4d2d --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/Ascension.java @@ -0,0 +1,23 @@ +package github.premiumrush.ascension; + +import github.premiumrush.ascension.init.*; +import github.premiumrush.ascension.loot.ModLootModifiers; +import github.premiumrush.ascension.init.MobEffectInit; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.fml.common.Mod; + +@Mod(Ascension.MODID) +public class Ascension { + public static final String MODID = "ascension"; + + public Ascension(IEventBus bus) { + ItemInit.ITEMS.register(bus); + BlockInit.BLOCKS.register(bus); + CreativeTabInit.TABS.register(bus); + ParticleInit.PARTICLE_TYPES.register(bus); + ArmorMaterialInit.ARMOR_MATERIALS.register(bus); + MobEffectInit.MOB_EFFECTS.register(bus); + + ModLootModifiers.GLOBAL_LOOT_MODIFIER_SERIALIZERS.register(bus); + } +} diff --git a/src/main/java/github/premiumrush/ascension/datagen/DataGenerators.java b/src/main/java/github/premiumrush/ascension/datagen/DataGenerators.java new file mode 100644 index 0000000..839fc10 --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/datagen/DataGenerators.java @@ -0,0 +1,26 @@ +package github.premiumrush.ascension.datagen; + +import github.premiumrush.ascension.Ascension; +import github.premiumrush.ascension.datagen.loot.ModGlobalLootModifiersProvider; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.DataGenerator; +import net.minecraft.data.PackOutput; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.fml.common.EventBusSubscriber; +import net.neoforged.neoforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.data.event.GatherDataEvent; + +import java.util.concurrent.CompletableFuture; + +@EventBusSubscriber(modid = Ascension.MODID, bus = EventBusSubscriber.Bus.MOD) +public class DataGenerators { + @SubscribeEvent + public static void gatherData(GatherDataEvent event) { + DataGenerator generator = event.getGenerator(); + PackOutput packOutput = generator.getPackOutput(); + ExistingFileHelper existingFileHelper = event.getExistingFileHelper(); + CompletableFuture lookupProvider = event.getLookupProvider(); + + generator.addProvider(event.includeServer(), new ModGlobalLootModifiersProvider(packOutput, lookupProvider)); + } +} diff --git a/src/main/java/github/premiumrush/ascension/datagen/loot/ModGlobalLootModifiersProvider.java b/src/main/java/github/premiumrush/ascension/datagen/loot/ModGlobalLootModifiersProvider.java new file mode 100644 index 0000000..735fcfd --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/datagen/loot/ModGlobalLootModifiersProvider.java @@ -0,0 +1,48 @@ +package github.premiumrush.ascension.datagen.loot; + +import github.premiumrush.ascension.Ascension; +import github.premiumrush.ascension.init.ItemInit; +import github.premiumrush.ascension.loot.AddItem; +import net.minecraft.advancements.critereon.EntityEquipmentPredicate; +import net.minecraft.advancements.critereon.EntityPredicate; +import net.minecraft.advancements.critereon.ItemPredicate; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.level.storage.loot.LootContext; +import net.minecraft.world.level.storage.loot.predicates.*; +import net.neoforged.neoforge.common.data.GlobalLootModifierProvider; +import net.neoforged.neoforge.common.loot.LootTableIdCondition; + +import java.util.concurrent.CompletableFuture; + +public class ModGlobalLootModifiersProvider extends GlobalLootModifierProvider { + public ModGlobalLootModifiersProvider(PackOutput output, CompletableFuture registries) { + super(output, registries, Ascension.MODID); + } + + @Override + protected void start() { + add("blaze_gem_from_blaze", new AddItem(new LootItemCondition[] { + + new LootTableIdCondition.Builder(ResourceLocation.parse("entities/blaze")).build(), + + LootItemEntityPropertyCondition.hasProperties( + LootContext.EntityTarget.ATTACKER, + EntityPredicate.Builder.entity().equipment( + EntityEquipmentPredicate.Builder.equipment().mainhand( + ItemPredicate.Builder.item().of(ItemInit.INFUSED_VEXAL_SWORD.get()) + ) + ) + ).build(), + + LootItemRandomChanceCondition.randomChance(0.5f).build() + + }, "blaze_gem_from_blaze", 1 , ItemInit.BLAZE_GEM.get())); + + add("dormant_template_from_end_city", new AddItem(new LootItemCondition[] { + new LootTableIdCondition.Builder(ResourceLocation.parse("chests/end_city_treasure")).build(), + LootItemRandomChanceCondition.randomChance(0.3f).build(), + }, "dormant_template_from_end_city", 1, ItemInit.FLEROVIUM_UPGRADE_SMITHING_TEMPLATE_INACTIVE.get())); + } +} diff --git a/src/main/java/github/premiumrush/ascension/event/ParticleEvents.java b/src/main/java/github/premiumrush/ascension/event/ParticleEvents.java new file mode 100644 index 0000000..7c5e87f --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/event/ParticleEvents.java @@ -0,0 +1,18 @@ +package github.premiumrush.ascension.event; + +import github.premiumrush.ascension.Ascension; +import github.premiumrush.ascension.init.ParticleInit; +import github.premiumrush.ascension.world.particle.BubbleParticle; +import github.premiumrush.ascension.world.particle.ShadowDodgeParticle; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.fml.common.EventBusSubscriber; +import net.neoforged.neoforge.client.event.RegisterParticleProvidersEvent; + +@EventBusSubscriber(modid = Ascension.MODID, bus = EventBusSubscriber.Bus.MOD) +public class ParticleEvents { + @SubscribeEvent + public static void registerParticleProviders(RegisterParticleProvidersEvent event) { + event.registerSpriteSet(ParticleInit.SHADOW_DODGE_PARTICLE.get(), ShadowDodgeParticle.CosyProvider::new); + event.registerSpriteSet(ParticleInit.BUBBLE_PARTICLE.get(), BubbleParticle.Provider::new); + } +} diff --git a/src/main/java/github/premiumrush/ascension/init/ArmorMaterialInit.java b/src/main/java/github/premiumrush/ascension/init/ArmorMaterialInit.java new file mode 100644 index 0000000..9cf3b21 --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/init/ArmorMaterialInit.java @@ -0,0 +1,92 @@ +package github.premiumrush.ascension.init; + +import github.premiumrush.ascension.Ascension; +import net.minecraft.Util; +import net.minecraft.core.Holder; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.world.item.ArmorItem; +import net.minecraft.world.item.ArmorMaterial; +import net.minecraft.world.item.crafting.Ingredient; +import net.neoforged.neoforge.registries.DeferredRegister; + +import java.util.EnumMap; +import java.util.List; + +public class ArmorMaterialInit { + public static final DeferredRegister ARMOR_MATERIALS = DeferredRegister.create(BuiltInRegistries.ARMOR_MATERIAL, Ascension.MODID); + + public static final Holder TITANIUM = ARMOR_MATERIALS.register("titanium", () -> new ArmorMaterial( + Util.make(new EnumMap<>(ArmorItem.Type.class), map -> { + map.put(ArmorItem.Type.BOOTS, 3); + map.put(ArmorItem.Type.LEGGINGS, 5); + map.put(ArmorItem.Type.CHESTPLATE, 5); + map.put(ArmorItem.Type.HELMET, 3); + map.put(ArmorItem.Type.BODY, 5); + }), + 10, + SoundEvents.ARMOR_EQUIP_IRON, + () -> Ingredient.of(ItemInit.TITANIUM_INGOT::get), + List.of( + new ArmorMaterial.Layer( + ResourceLocation.fromNamespaceAndPath(Ascension.MODID, "titanium") + )), + 0f, + 0f + )); + public static final Holder FERROTITANIUM = ARMOR_MATERIALS.register("ferrotitanium", () -> new ArmorMaterial( + Util.make(new EnumMap<>(ArmorItem.Type.class), map -> { + map.put(ArmorItem.Type.BOOTS, 3); + map.put(ArmorItem.Type.LEGGINGS, 6); + map.put(ArmorItem.Type.CHESTPLATE, 6); + map.put(ArmorItem.Type.HELMET, 3); + map.put(ArmorItem.Type.BODY, 6); + }), + 8, + SoundEvents.ARMOR_EQUIP_NETHERITE, + () -> Ingredient.of(ItemInit.FERROTITANIUM_INGOT::get), + List.of( + new ArmorMaterial.Layer( + ResourceLocation.fromNamespaceAndPath(Ascension.MODID, "ferrotitanium") + )), + 1.5f, + 0f + )); + public static final Holder FLEROVIUM = ARMOR_MATERIALS.register("flerovium", () -> new ArmorMaterial( + Util.make(new EnumMap<>(ArmorItem.Type.class), map -> { + map.put(ArmorItem.Type.BOOTS, 5); + map.put(ArmorItem.Type.LEGGINGS, 8); + map.put(ArmorItem.Type.CHESTPLATE, 10); + map.put(ArmorItem.Type.HELMET, 5); + map.put(ArmorItem.Type.BODY, 8); + }), + 20, + SoundEvents.ARMOR_EQUIP_NETHERITE, + () -> Ingredient.of(ItemInit.FLEROVIUM_CRYSTAL::get), + List.of( + new ArmorMaterial.Layer( + ResourceLocation.fromNamespaceAndPath(Ascension.MODID, "flerovium") + )), + 3.5f, + 0.1f + )); + public static final Holder ICE = ARMOR_MATERIALS.register("ice", () -> new ArmorMaterial( + Util.make(new EnumMap<>(ArmorItem.Type.class), map -> { + map.put(ArmorItem.Type.BOOTS, 3); + map.put(ArmorItem.Type.LEGGINGS, 6); + map.put(ArmorItem.Type.CHESTPLATE, 6); + map.put(ArmorItem.Type.HELMET, 3); + map.put(ArmorItem.Type.BODY, 5); + }), + 25, + SoundEvents.ARMOR_EQUIP_CHAIN, + () -> Ingredient.of(ItemInit.ICE_GEM::get), + List.of( + new ArmorMaterial.Layer( + ResourceLocation.fromNamespaceAndPath(Ascension.MODID, "ice") + )), + 0f, + 0.12f + )); +} diff --git a/src/main/java/github/premiumrush/ascension/init/BlockInit.java b/src/main/java/github/premiumrush/ascension/init/BlockInit.java new file mode 100644 index 0000000..eb096f2 --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/init/BlockInit.java @@ -0,0 +1,105 @@ +package github.premiumrush.ascension.init; + +import github.premiumrush.ascension.Ascension; +import github.premiumrush.ascension.world.block.BuddingVexalBlock; +import net.minecraft.util.valueproviders.UniformInt; +import net.minecraft.world.level.block.*; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraft.world.level.material.MapColor; +import net.neoforged.neoforge.registries.DeferredBlock; +import net.neoforged.neoforge.registries.DeferredRegister; + +public class BlockInit { + public static final DeferredRegister.Blocks BLOCKS = DeferredRegister.createBlocks(Ascension.MODID); + +// Titanium Blocks + public static final DeferredBlock TITANIUM_ORE = BLOCKS.register("titanium_ore", + () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.IRON_ORE) + .strength(3.0f,7.0f) + )); + public static final DeferredBlock DEEPSLATE_TITANIUM_ORE = BLOCKS.register("deepslate_titanium_ore", + () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.DEEPSLATE_IRON_ORE) + .strength(4.5f,7.0f) + )); + public static final DeferredBlock RAW_TITANIUM_BLOCK = BLOCKS.register("raw_titanium_block", + () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.RAW_IRON_BLOCK) + .strength(3.0f,7.0f) + .mapColor(MapColor.TERRACOTTA_WHITE) + )); + public static final DeferredBlock TITANIUM_BLOCK = BLOCKS.register("titanium_block", + () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.IRON_BLOCK) + .strength(3.0f,7.0f) + .mapColor(MapColor.TERRACOTTA_WHITE) + )); + +// Ferrotitanium Blocks + public static final DeferredBlock FERROTITANIUM_BLOCK = BLOCKS.register("ferrotitanium_block", + () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.DIAMOND_BLOCK) + .mapColor(MapColor.METAL) + )); + +// Vexal Blocks + public static final DeferredBlock VEXAL_CLUSTER = BLOCKS.register("vexal_cluster", () -> new AmethystClusterBlock(7,3, + BlockBehaviour.Properties.ofFullCopy(Blocks.AMETHYST_CLUSTER) + .mapColor(MapColor.COLOR_LIGHT_BLUE) + .lightLevel((p_152680_) -> { + return 8;}))); + public static final DeferredBlock LARGE_VEXAL_BUD = BLOCKS.register("large_vexal_bud", () -> new AmethystClusterBlock(5,3, + BlockBehaviour.Properties.ofFullCopy(Blocks.LARGE_AMETHYST_BUD) + .mapColor(MapColor.COLOR_LIGHT_BLUE) + .lightLevel((p_152680_) -> { + return 7;}))); + public static final DeferredBlock MEDIUM_VEXAL_BUD = BLOCKS.register("medium_vexal_bud", () -> new AmethystClusterBlock(4,3, + BlockBehaviour.Properties.ofFullCopy(Blocks.MEDIUM_AMETHYST_BUD) + .mapColor(MapColor.COLOR_LIGHT_BLUE) + .lightLevel((p_152680_) -> { + return 6;}))); + public static final DeferredBlock SMALL_VEXAL_BUD = BLOCKS.register("small_vexal_bud", () -> new AmethystClusterBlock(3,4, + BlockBehaviour.Properties.ofFullCopy(Blocks.SMALL_AMETHYST_BUD) + .mapColor(MapColor.COLOR_LIGHT_BLUE) + .lightLevel((p_152680_) -> { + return 5;}))); + public static final DeferredBlock VEXAL_BLOCK = BLOCKS.register("vexal_block", + () -> new AmethystBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.AMETHYST_BLOCK) + .mapColor(MapColor.COLOR_LIGHT_BLUE))); + public static final DeferredBlock BUDDING_VEXAL_BLOCK = BLOCKS.register("budding_vexal_block", + () -> new BuddingVexalBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BUDDING_AMETHYST) + .mapColor(MapColor.COLOR_LIGHT_BLUE))); + +// Flerovium Blocks + public static final DeferredBlock DEEPSLATE_FLEROVIUM_ORE = BLOCKS.register("deepslate_flerovium_ore", + () -> new DropExperienceBlock(UniformInt.of(9, 12), BlockBehaviour.Properties.ofFullCopy(Blocks.DEEPSLATE_DIAMOND_ORE) + .strength(5.5f,15.0f) + .lightLevel((p_152607_) -> { + return 4; + }) + )); + public static final DeferredBlock FLEROVIUM_BLOCK = BLOCKS.register("flerovium_block", + () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.DIAMOND_BLOCK) + .strength(6.0f,20.0f) + .mapColor(MapColor.COLOR_PURPLE) + .lightLevel((p_152607_) -> { + return 10; + }) + )); +// Misc Blocks + public static final DeferredBlock BLAZE_LANTERN = BLOCKS.register("blaze_lantern", + () -> new LanternBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.LANTERN))); + public static final DeferredBlock FERROTITANIUM_CHAIN = BLOCKS.register("ferrotitanium_chain", + () -> new ChainBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CHAIN))); + public static final DeferredBlock ICE_LANTERN = BLOCKS.register("ice_lantern", + () -> new LanternBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.LANTERN))); + public static final DeferredBlock TITANIUM_CHAIN = BLOCKS.register("titanium_chain", + () -> new ChainBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CHAIN))); + +// Block Entity Blocks + /* + public static final DeferredBlock INFUSING_TABLE = BLOCKS.register("infusing_table", + () -> new InfusingTableBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BREWING_STAND) + .mapColor(MapColor.WOOD) + .strength(2.5F) + .sound(SoundType.WOOD) + )); + + */ +} diff --git a/src/main/java/github/premiumrush/ascension/init/CreativeTabInit.java b/src/main/java/github/premiumrush/ascension/init/CreativeTabInit.java new file mode 100644 index 0000000..611f813 --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/init/CreativeTabInit.java @@ -0,0 +1,49 @@ +package github.premiumrush.ascension.init; + +import github.premiumrush.ascension.Ascension; +import net.minecraft.core.registries.Registries; +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.CreativeModeTab; +import net.minecraft.world.item.CreativeModeTabs; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.Items; +import net.minecraft.world.level.ItemLike; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.fml.common.EventBusSubscriber; +import net.neoforged.neoforge.event.BuildCreativeModeTabContentsEvent; +import net.neoforged.neoforge.registries.DeferredRegister; + +import java.util.ArrayList; +import java.util.List; +import java.util.function.Supplier; + +@EventBusSubscriber(modid = Ascension.MODID, bus = EventBusSubscriber.Bus.MOD) +public class CreativeTabInit { + public static final DeferredRegister TABS = DeferredRegister.create(Registries.CREATIVE_MODE_TAB, Ascension.MODID); + + public static final List> ASCENSION_TAB_ITEMS = new ArrayList<>(); + + public static final Supplier ASCENSION_TAB = TABS.register("ascension_tab", + () -> CreativeModeTab.builder() + .title(Component.translatable("itemGroup.ascension_tab")) + .icon(ItemInit.GOLEM_GYRO.get()::getDefaultInstance) + .displayItems((displayParams, output) -> { + ASCENSION_TAB_ITEMS.forEach(itemLike -> output.accept(itemLike.get())); + }) + .build() + ); + public static Supplier addToTab(Supplier itemLike) { + ASCENSION_TAB_ITEMS.add(itemLike); + return itemLike; + } + + @SubscribeEvent + public static void buildContents(BuildCreativeModeTabContentsEvent event) { + if(event.getTabKey() == CreativeModeTabs.COMBAT) { + event.insertAfter(Items.NETHERITE_SWORD.getDefaultInstance(), ItemInit.IRON_DAGGER.get().getDefaultInstance(), CreativeModeTab.TabVisibility.PARENT_AND_SEARCH_TABS); + event.insertAfter(ItemInit.IRON_DAGGER.get().getDefaultInstance(), ItemInit.GOLD_DAGGER.get().getDefaultInstance(), CreativeModeTab.TabVisibility.PARENT_AND_SEARCH_TABS); + event.insertAfter(ItemInit.GOLD_DAGGER.get().getDefaultInstance(), ItemInit.DIAMOND_DAGGER.get().getDefaultInstance(), CreativeModeTab.TabVisibility.PARENT_AND_SEARCH_TABS); + event.insertAfter(ItemInit.DIAMOND_DAGGER.get().getDefaultInstance(), ItemInit.NETHERITE_DAGGER.get().getDefaultInstance(), CreativeModeTab.TabVisibility.PARENT_AND_SEARCH_TABS); + } + } +} diff --git a/src/main/java/github/premiumrush/ascension/init/DamageTypeInit.java b/src/main/java/github/premiumrush/ascension/init/DamageTypeInit.java new file mode 100644 index 0000000..87f813d --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/init/DamageTypeInit.java @@ -0,0 +1,16 @@ +package github.premiumrush.ascension.init; + +import github.premiumrush.ascension.Ascension; +import net.minecraft.core.registries.Registries; +import net.minecraft.resources.ResourceKey; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.damagesource.DamageType; + +public class DamageTypeInit { + public static final ResourceKey BLEEDING = ResourceKey.create( + Registries.DAMAGE_TYPE, ResourceLocation.fromNamespaceAndPath(Ascension.MODID, "bleeding") + ); + public static final ResourceKey RADIATION = ResourceKey.create( + Registries.DAMAGE_TYPE, ResourceLocation.fromNamespaceAndPath(Ascension.MODID, "radiation") + ); +} diff --git a/src/main/java/github/premiumrush/ascension/init/ItemInit.java b/src/main/java/github/premiumrush/ascension/init/ItemInit.java new file mode 100644 index 0000000..c8d1e3f --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/init/ItemInit.java @@ -0,0 +1,328 @@ +package github.premiumrush.ascension.init; + +import github.premiumrush.ascension.Ascension; +import github.premiumrush.ascension.world.item.*; +import net.minecraft.world.item.*; +import net.neoforged.neoforge.registries.DeferredRegister; + +import java.util.function.Supplier; + +import static github.premiumrush.ascension.init.CreativeTabInit.addToTab; + +public class ItemInit { + public static final DeferredRegister.Items ITEMS = DeferredRegister.createItems(Ascension.MODID); + +// ## BLOCK-ENTITIES + +// ## BLOCKS +// Titanium BlockItems + public static final Supplier TITANIUM_ORE_ITEM = addToTab(ITEMS.registerSimpleBlockItem("titanium_ore", BlockInit.TITANIUM_ORE, new Item.Properties())); + public static final Supplier DEEPSLATE_TITANIUM_ORE_ITEM = addToTab(ITEMS.registerSimpleBlockItem("deepslate_titanium_ore", BlockInit.DEEPSLATE_TITANIUM_ORE, new Item.Properties())); + public static final Supplier RAW_TITANIUM_BLOCK_ITEM = addToTab(ITEMS.registerSimpleBlockItem("raw_titanium_block", BlockInit.RAW_TITANIUM_BLOCK, new Item.Properties())); + public static final Supplier TITANIUM_BLOCK_ITEM = addToTab(ITEMS.registerSimpleBlockItem("titanium_block", BlockInit.TITANIUM_BLOCK ,new Item.Properties())); + public static final Supplier ICE_LANTERN_ITEM = addToTab(ITEMS.registerSimpleBlockItem("ice_lantern", BlockInit.ICE_LANTERN, new Item.Properties())); + public static final Supplier TITANIUM_CHAIN_ITEM = addToTab(ITEMS.registerSimpleBlockItem("titanium_chain", BlockInit.TITANIUM_CHAIN, new Item.Properties())); +// Ferrotitanium BlockItems + public static final Supplier FERROTITANIUM_BLOCK_ITEM = addToTab(ITEMS.registerSimpleBlockItem("ferrotitanium_block", BlockInit.FERROTITANIUM_BLOCK,new Item.Properties())); + public static final Supplier BLAZE_LANTERN_ITEM = addToTab(ITEMS.registerSimpleBlockItem("blaze_lantern", BlockInit.BLAZE_LANTERN, new Item.Properties())); + public static final Supplier FERROTITANIUM_CHAIN_ITEM = addToTab(ITEMS.registerSimpleBlockItem("ferrotitanium_chain", BlockInit.FERROTITANIUM_CHAIN, new Item.Properties())); +// Flerovium BlockItems + public static final Supplier DEEPSLATE_FLEROVIUM_ORE_ITEM = addToTab(ITEMS.registerSimpleBlockItem("deepslate_flerovium_ore", BlockInit.DEEPSLATE_FLEROVIUM_ORE, new Item.Properties().rarity(Rarity.EPIC))); + public static final Supplier FLEROVIUM_BLOCK_ITEM = addToTab(ITEMS.registerSimpleBlockItem("flerovium_block", BlockInit.FLEROVIUM_BLOCK, new Item.Properties().rarity(Rarity.EPIC))); +// Vexal BlockItems + public static final Supplier VEXAL_BLOCK = addToTab(ITEMS.registerSimpleBlockItem("vexal_block", BlockInit.VEXAL_BLOCK, new Item.Properties())); + public static final Supplier BUDDING_VEXAL_BLOCK = addToTab(ITEMS.registerSimpleBlockItem("budding_vexal_block", BlockInit.BUDDING_VEXAL_BLOCK, new Item.Properties())); + public static final Supplier SMALL_VEXAL_BUD_ITEM = addToTab(ITEMS.registerSimpleBlockItem("small_vexal_bud", BlockInit.SMALL_VEXAL_BUD, new Item.Properties())); + public static final Supplier MEDIUM_VEXAL_BUD_ITEM = addToTab(ITEMS.registerSimpleBlockItem("medium_vexal_bud", BlockInit.MEDIUM_VEXAL_BUD, new Item.Properties())); + public static final Supplier LARGE_VEXAL_BUD_ITEM = addToTab(ITEMS.registerSimpleBlockItem("large_vexal_bud", BlockInit.LARGE_VEXAL_BUD, new Item.Properties())); + public static final Supplier VEXAL_CLUSTER_ITEM = addToTab(ITEMS.registerSimpleBlockItem("vexal_cluster", BlockInit.VEXAL_CLUSTER, new Item.Properties())); + +// ## ITEMS +// Titanium Items + public static final Supplier RAW_TITANIUM = addToTab(ITEMS.registerSimpleItem("raw_titanium")); + public static final Supplier TITANIUM_INGOT = addToTab(ITEMS.registerSimpleItem("titanium_ingot")); + public static final Supplier TITANIUM_NUGGET = addToTab(ITEMS.registerSimpleItem("titanium_nugget")); +// Ferrotitanium Items + public static final Supplier FERROTITANIUM_BLEND = addToTab(ITEMS.registerSimpleItem("ferrotitanium_blend")); + public static final Supplier FERROTITANIUM_INGOT = addToTab(ITEMS.registerSimpleItem("ferrotitanium_ingot")); + public static final Supplier FERROTITANIUM_NUGGET = addToTab(ITEMS.registerSimpleItem("ferrotitanium_nugget")); +// Vexal Items + public static final Supplier VEXAL_CRYSTAL = addToTab(ITEMS.registerItem("vexal_crystal", VexalCrystalItem::new)); + public static final Supplier INFUSED_VEXAL_CRYSTAL = addToTab(ITEMS.registerSimpleItem("infused_vexal_crystal")); +// Flerovium Items + public static final Supplier FLEROVIUM_SHARD = addToTab(ITEMS.registerItem("flerovium_shard", Item::new, new Item.Properties().rarity(Rarity.EPIC))); + public static final Supplier FLEROVIUM_CRYSTAL = addToTab(ITEMS.registerItem("flerovium_crystal", Item::new, new Item.Properties().rarity(Rarity.EPIC))); +// Misc + public static final Supplier BLAZE_GEM = addToTab(ITEMS.registerSimpleItem("blaze_gem")); + public static final Supplier ICE_GEM = addToTab(ITEMS.registerSimpleItem("ice_gem")); + public static final Supplier COLD_BLAZE_ROD = addToTab(ITEMS.registerSimpleItem("cold_blaze_rod")); + public static final Supplier OBSIDIAN_ROD = addToTab(ITEMS.registerSimpleItem("obsidian_rod")); + public static final Supplier SHARK_TOOTH = addToTab(ITEMS.registerSimpleItem("shark_tooth")); + public static final Supplier GOLEM_GYRO = addToTab(ITEMS.registerItem("golem_gyro", Item::new, new Item.Properties().stacksTo(16).rarity(Rarity.UNCOMMON))); + public static final Supplier FLEROVIUM_UPGRADE_SMITHING_TEMPLATE_INACTIVE = addToTab(ITEMS.registerItem("flerovium_upgrade_smithing_template_inactive", + InactiveUpgradeItem::new, new Item.Properties())); + public static final Supplier FLEROVIUM_UPGRADE_SMITHING_TEMPLATE = addToTab(ITEMS.register("flerovium_upgrade_smithing_template", + FleroviumSmithingTemplateItem::createFleroviumUpgradeTemplate)); +// Uncertain Additions + public static final Supplier OMEGA = addToTab(ITEMS.registerItem("omega", Item::new, new Item.Properties().rarity(Rarity.EPIC).stacksTo(1))); + +// ## Tools & Weapons (Shovel - Pickaxe - Axe - Hoe - Sword) +// Titanium Tools & Weapons + public static final Supplier TITANIUM_SHOVEL = addToTab(ITEMS.register("titanium_shovel", + () -> new TitaniumShovelItem( + TierInit.TitaniumTier, + new Item.Properties().attributes(TitaniumShovelItem.createAttributes(TierInit.TitaniumTier, 1.5f, -3.0f)) + ))); + public static final Supplier TITANIUM_PICKAXE = addToTab(ITEMS.register("titanium_pickaxe", + () -> new TitaniumPickaxeItem( + TierInit.TitaniumTier, + new Item.Properties().attributes(TitaniumPickaxeItem.createAttributes(TierInit.TitaniumTier, 1, -2.8f)) + ))); + public static final Supplier TITANIUM_AXE = addToTab(ITEMS.register("titanium_axe", + () -> new TitaniumAxeItem( + TierInit.TitaniumTier, + new Item.Properties().attributes(TitaniumAxeItem.createAttributes(TierInit.TitaniumTier, 6, -3.1f)) + ))); + public static final Supplier TITANIUM_HOE = addToTab(ITEMS.register("titanium_hoe", + () -> new TitaniumHoeItem( + TierInit.TitaniumTier, + new Item.Properties().attributes(TitaniumHoeItem.createAttributes(TierInit.TitaniumTier, -2, -1.0f)) + ))); + public static final Supplier TITANIUM_SWORD = addToTab(ITEMS.register("titanium_sword", + () -> new TitaniumSwordItem( + TierInit.TitaniumTier, + new Item.Properties().attributes(TitaniumSwordItem.createAttributes(TierInit.TitaniumTier, 3.2f, -2.4f)) + ))); + public static final Supplier TITANIUM_DAGGER = addToTab(ITEMS.register("titanium_dagger", + () -> new TitaniumDaggerItem( + TierInit.TitaniumTier, + new Item.Properties().attributes(TitaniumDaggerItem.createAttributes(TierInit.TitaniumTier, 0.2f, -1.0f)) + ))); +// Ferrotitanium Tools & Weapons + public static final Supplier FERROTITANIUM_SHOVEL = addToTab(ITEMS.register("ferrotitanium_shovel", + () -> new FerrotitaniumShovelItem( + TierInit.FerrotitaniumTier, + new Item.Properties().attributes(FerrotitaniumShovelItem.createAttributes(TierInit.FerrotitaniumTier, 1.5f, -3.0f)) + ))); + public static final Supplier FERROTITANIUM_PICKAXE = addToTab(ITEMS.register("ferrotitanium_pickaxe", + () -> new FerrotitaniumPickaxeItem( + TierInit.FerrotitaniumTier, + new Item.Properties().attributes(FerrotitaniumPickaxeItem.createAttributes(TierInit.FerrotitaniumTier, 1, -2.8f)) + ))); + public static final Supplier FERROTITANIUM_AXE = addToTab(ITEMS.register("ferrotitanium_axe", + () -> new FerrotitaniumAxeItem( + TierInit.FerrotitaniumTier, + new Item.Properties().attributes(FerrotitaniumAxeItem.createAttributes(TierInit.FerrotitaniumTier, 5, -3.0f)) + ))); + public static final Supplier FERROTITANIUM_HOE = addToTab(ITEMS.register("ferrotitanium_hoe", + () -> new FerrotitaniumHoeItem( + TierInit.FerrotitaniumTier, + new Item.Properties().attributes(FerrotitaniumHoeItem.createAttributes(TierInit.FerrotitaniumTier, -3, 0.0f)) + ))); + public static final Supplier FERROTITANIUM_SWORD = addToTab(ITEMS.register("ferrotitanium_sword", + () -> new FerrotitaniumSwordItem( + TierInit.FerrotitaniumSwordTier, + new Item.Properties().attributes(FerrotitaniumSwordItem.createAttributes(TierInit.FerrotitaniumSwordTier, 3, -2.4f)) + ))); + public static final Supplier FERROTITANIUM_DAGGER = addToTab(ITEMS.register("ferrotitanium_dagger", + () -> new FerrotitaniumDaggerItem( + TierInit.FerrotitaniumSwordTier, + new Item.Properties().attributes(FerrotitaniumDaggerItem.createAttributes(TierInit.FerrotitaniumSwordTier, 0, -1.0f)) + ))); +// Flerovium Tools & Weapons + public static final Supplier FLEROVIUM_SHOVEL = addToTab(ITEMS.register("flerovium_shovel", + () -> new FleroviumShovelItem( + TierInit.FleroviumTier, + new Item.Properties().rarity(Rarity.EPIC).attributes(FleroviumShovelItem.createAttributes(TierInit.FleroviumTier, 0.5f, -3.0f)) + ))); + public static final Supplier FLEROVIUM_PICKAXE = addToTab(ITEMS.register("flerovium_pickaxe", + () -> new FleroviumPickaxeItem( + TierInit.FleroviumTier, + new Item.Properties().rarity(Rarity.EPIC).attributes(FleroviumPickaxeItem.createAttributes(TierInit.FleroviumTier, 0.0f, -2.8f)) + ))); + public static final Supplier FLEROVIUM_AXE = addToTab(ITEMS.register("flerovium_axe", + () -> new FleroviumAxeItem( + TierInit.FleroviumTier, + new Item.Properties().rarity(Rarity.EPIC).attributes(FleroviumAxeItem.createAttributes(TierInit.FleroviumTier, 4.0f, -3.0f)) + ))); + public static final Supplier FLEROVIUM_HOE = addToTab(ITEMS.register("flerovium_hoe", + () -> new FleroviumHoeItem( + TierInit.FleroviumTier, + new Item.Properties().rarity(Rarity.EPIC).attributes(FleroviumHoeItem.createAttributes(TierInit.FleroviumTier, -5.0f, 0.0f)) + ))); + public static final Supplier FLEROVIUM_SWORD = addToTab(ITEMS.register("flerovium_sword", + () -> new FleroviumSwordItem( + TierInit.FleroviumTier, + new Item.Properties().rarity(Rarity.EPIC).attributes(FleroviumSwordItem.createAttributes(TierInit.FleroviumTier, 3, -2.4f)) + ))); + public static final Supplier FLEROVIUM_DAGGER = addToTab(ITEMS.register("flerovium_dagger", + () -> new FleroviumDaggerItem( + TierInit.FleroviumTier, + new Item.Properties().rarity(Rarity.EPIC).attributes(FleroviumDaggerItem.createAttributes(TierInit.FleroviumTier, 0, -1.0f)) + ))); + +// Vanilla Daggers + public static final Supplier IRON_DAGGER = addToTab(ITEMS.register("iron_dagger", + () -> new VanillaDaggerItem( + Tiers.IRON, + new Item.Properties().attributes(VanillaDaggerItem.createAttributes(Tiers.IRON, 0, -1.0f)) + ))); + public static final Supplier GOLD_DAGGER = addToTab(ITEMS.register("gold_dagger", + () -> new VanillaDaggerItem( + Tiers.GOLD, + new Item.Properties().attributes(VanillaDaggerItem.createAttributes(Tiers.GOLD, 0, -1.0f)) + ))); + public static final Supplier DIAMOND_DAGGER = addToTab(ITEMS.register("diamond_dagger", + () -> new VanillaDaggerItem( + Tiers.DIAMOND, + new Item.Properties().attributes(VanillaDaggerItem.createAttributes(Tiers.DIAMOND, 0, -1.0f)) + ))); + public static final Supplier NETHERITE_DAGGER = addToTab(ITEMS.register("netherite_dagger", + () -> new VanillaDaggerItem( + Tiers.NETHERITE, + new Item.Properties().attributes(VanillaDaggerItem.createAttributes(Tiers.NETHERITE, 1, -1.0f)) + ))); +// Misc Tools & Weapons + public static final Supplier VEXAL_SWORD = addToTab(ITEMS.register("vexal_sword", + () -> new VexalSwordItem( + TierInit.VexalTier, + new Item.Properties().attributes(VexalSwordItem.createAttributes(TierInit.VexalTier, 3, -2.4f)) + ))); + public static final Supplier INFUSED_VEXAL_SWORD = addToTab(ITEMS.register("infused_vexal_sword", + () -> new VexalSwordInfusedItem( + TierInit.InfusedVexalTier, + new Item.Properties().rarity(Rarity.RARE).attributes(VexalSwordInfusedItem.createAttributes(TierInit.InfusedVexalTier, 3, -2.4f)) + ))); + public static final Supplier BLAZE_SWORD = addToTab(ITEMS.register("blaze_sword", + () -> new BlazeSwordItem( + TierInit.BlazeTier, + new Item.Properties().rarity(Rarity.UNCOMMON).attributes(BlazeSwordItem.createAttributes(TierInit.BlazeTier, 3, -2.4f)) + ))); + public static final Supplier ICE_SWORD = addToTab(ITEMS.register("ice_sword", + () -> new IceSwordItem( + TierInit.IceTier, + new Item.Properties().rarity(Rarity.RARE).attributes(IceSwordItem.createAttributes(TierInit.IceTier, 3, -2.4f)) + ))); + public static final Supplier WINGED_BLADE = addToTab(ITEMS.register("winged_blade", + () -> new WingedSwordItem( + TierInit.WingedTier, + new Item.Properties().rarity(Rarity.UNCOMMON).attributes(WingedSwordItem.createAttributes(TierInit.WingedTier, 4, -2.4f)) + ))); + public static final Supplier RAZOR_SWORD = addToTab(ITEMS.register("razor_sword", + () -> new RazorSwordItem( + TierInit.RazorTier, + new Item.Properties().rarity(Rarity.UNCOMMON).attributes(RazorSwordItem.createAttributes(TierInit.RazorTier, 3, -2.4f)) + ))); + public static final Supplier GYRO_MACE = addToTab(ITEMS.register("gyro_mace", + () -> new GyroMaceItem( + TierInit.GyroTier, + new Item.Properties().rarity(Rarity.UNCOMMON).attributes(GyroMaceItem.createAttributes(TierInit.GyroTier, 3, -2.8f)) + ))); + public static final Supplier SHADOW_DAGGER = addToTab(ITEMS.register("shadow_dagger", + () -> new ShadowDaggerItem( + TierInit.ShadowTier, + new Item.Properties().rarity(Rarity.EPIC).attributes(ShadowDaggerItem.createAttributes(TierInit.ShadowTier, 1, -1.0f)) + ))); + +// ## Armors (Helmet - Chestplate - Leggings - Boots) +// Titanium Armor + public static final Supplier TITANIUM_HELMET = addToTab(ITEMS.register("titanium_helmet", + () -> new TitaniumArmorItem( + ArmorMaterialInit.TITANIUM, + TitaniumArmorItem.Type.HELMET, + new Item.Properties().durability(210) + ))); + public static final Supplier TITANIUM_CHESTPLATE = addToTab(ITEMS.register("titanium_chestplate", + () -> new TitaniumArmorItem( + ArmorMaterialInit.TITANIUM, + TitaniumArmorItem.Type.CHESTPLATE, + new Item.Properties().durability(285) + ))); + public static final Supplier TITANIUM_LEGGINGS = addToTab(ITEMS.register("titanium_leggings", + () -> new TitaniumArmorItem( + ArmorMaterialInit.TITANIUM, + TitaniumArmorItem.Type.LEGGINGS, + new Item.Properties().durability(270) + ))); + public static final Supplier TITANIUM_BOOTS = addToTab(ITEMS.register("titanium_boots", + () -> new TitaniumArmorItem( + ArmorMaterialInit.TITANIUM, + TitaniumArmorItem.Type.BOOTS, + new Item.Properties().durability(240) + ))); +// Ferrotitanium Armor + public static final Supplier FERROTITANIUM_HELMET = addToTab(ITEMS.register("ferrotitanium_helmet", + () -> new FerrotitaniumArmorItem( + ArmorMaterialInit.FERROTITANIUM, + FerrotitaniumArmorItem.Type.HELMET, + new Item.Properties().durability(495) + ))); + public static final Supplier FERROTITANIUM_CHESTPLATE = addToTab(ITEMS.register("ferrotitanium_chestplate", + () -> new FerrotitaniumArmorItem( + ArmorMaterialInit.FERROTITANIUM, + FerrotitaniumArmorItem.Type.CHESTPLATE, + new Item.Properties().durability(660) + ))); + public static final Supplier FERROTITANIUM_LEGGINGS = addToTab(ITEMS.register("ferrotitanium_leggings", + () -> new FerrotitaniumArmorItem( + ArmorMaterialInit.FERROTITANIUM, + FerrotitaniumArmorItem.Type.LEGGINGS, + new Item.Properties().durability(627) + ))); + public static final Supplier FERROTITANIUM_BOOTS = addToTab(ITEMS.register("ferrotitanium_boots", + () -> new FerrotitaniumArmorItem( + ArmorMaterialInit.FERROTITANIUM, + FerrotitaniumArmorItem.Type.BOOTS, + new Item.Properties().durability(561) + ))); +// Flerovium Armor + public static final Supplier FLEROVIUM_HELMET = addToTab(ITEMS.register("flerovium_helmet", + () -> new FleroviumArmorItem( + ArmorMaterialInit.FLEROVIUM, + FleroviumArmorItem.Type.HELMET, + new Item.Properties().rarity(Rarity.EPIC).durability(660) + ))); + public static final Supplier FLEROVIUM_CHESTPLATE = addToTab(ITEMS.register("flerovium_chestplate", + () -> new FleroviumArmorItem( + ArmorMaterialInit.FLEROVIUM, + FleroviumArmorItem.Type.CHESTPLATE, + new Item.Properties().rarity(Rarity.EPIC).durability(960) + ))); + public static final Supplier FLEROVIUM_LEGGINGS = addToTab(ITEMS.register("flerovium_leggings", + () -> new FleroviumArmorItem( + ArmorMaterialInit.FLEROVIUM, + FleroviumArmorItem.Type.LEGGINGS, + new Item.Properties().rarity(Rarity.EPIC).durability(900) + ))); + public static final Supplier FLEROVIUM_BOOTS = addToTab(ITEMS.register("flerovium_boots", + () -> new FleroviumArmorItem( + ArmorMaterialInit.FLEROVIUM, + FleroviumArmorItem.Type.BOOTS, + new Item.Properties().rarity(Rarity.EPIC).durability(780) + ))); +// Ice Armor + public static final Supplier ICE_HELMET = addToTab(ITEMS.register("ice_helmet", + () -> new IceArmorItem( + ArmorMaterialInit.ICE, + IceArmorItem.Type.HELMET, + new Item.Properties().rarity(Rarity.RARE).durability(330) + ))); + public static final Supplier ICE_CHESTPLATE = addToTab(ITEMS.register("ice_chestplate", + () -> new IceArmorItem( + ArmorMaterialInit.ICE, + IceArmorItem.Type.CHESTPLATE, + new Item.Properties().rarity(Rarity.RARE).durability(480) + ))); + public static final Supplier ICE_LEGGINGS = addToTab(ITEMS.register("ice_leggings", + () -> new IceArmorItem( + ArmorMaterialInit.ICE, + IceArmorItem.Type.LEGGINGS, + new Item.Properties().rarity(Rarity.RARE).durability(450) + ))); + public static final Supplier ICE_BOOTS = addToTab(ITEMS.register("ice_boots", + () -> new IceArmorItem( + ArmorMaterialInit.ICE, + IceArmorItem.Type.BOOTS, + new Item.Properties().rarity(Rarity.RARE).durability(390) + ))); +} diff --git a/src/main/java/github/premiumrush/ascension/init/MobEffectInit.java b/src/main/java/github/premiumrush/ascension/init/MobEffectInit.java new file mode 100644 index 0000000..21e1f4d --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/init/MobEffectInit.java @@ -0,0 +1,23 @@ +package github.premiumrush.ascension.init; + +import github.premiumrush.ascension.Ascension; +import github.premiumrush.ascension.world.effect.BleedingMobEffect; +import github.premiumrush.ascension.world.effect.RadiationMobEffect; +import net.minecraft.core.Holder; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.world.effect.MobEffect; +import net.minecraft.world.effect.MobEffectCategory; +import net.neoforged.neoforge.registries.DeferredRegister; + +public class MobEffectInit { + public static final DeferredRegister MOB_EFFECTS = DeferredRegister.create(BuiltInRegistries.MOB_EFFECT, Ascension.MODID); + + public static final Holder BLEEDING = MOB_EFFECTS.register("bleeding", () -> new BleedingMobEffect( + MobEffectCategory.HARMFUL, + 9240576 + )); + public static final Holder RADIATION = MOB_EFFECTS.register("radiation", () -> new RadiationMobEffect( + MobEffectCategory.HARMFUL, + 9728 + )); +} diff --git a/src/main/java/github/premiumrush/ascension/init/ParticleInit.java b/src/main/java/github/premiumrush/ascension/init/ParticleInit.java new file mode 100644 index 0000000..1403332 --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/init/ParticleInit.java @@ -0,0 +1,18 @@ +package github.premiumrush.ascension.init; + +import github.premiumrush.ascension.Ascension; +import net.minecraft.core.particles.ParticleType; +import net.minecraft.core.particles.SimpleParticleType; +import net.minecraft.core.registries.BuiltInRegistries; +import net.neoforged.neoforge.registries.DeferredRegister; + +import java.util.function.Supplier; + +public class ParticleInit { + public static final DeferredRegister> PARTICLE_TYPES = DeferredRegister.create(BuiltInRegistries.PARTICLE_TYPE, Ascension.MODID); + + public static final Supplier BUBBLE_PARTICLE = PARTICLE_TYPES.register("bubble_particle", + () -> new SimpleParticleType(true)); + public static final Supplier SHADOW_DODGE_PARTICLE = PARTICLE_TYPES.register("shadow_dodge_particle", + () -> new SimpleParticleType(true)); +} diff --git a/src/main/java/github/premiumrush/ascension/init/TierInit.java b/src/main/java/github/premiumrush/ascension/init/TierInit.java new file mode 100644 index 0000000..cfef647 --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/init/TierInit.java @@ -0,0 +1,106 @@ +package github.premiumrush.ascension.init; + +import net.minecraft.tags.BlockTags; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.Tier; +import net.minecraft.world.item.crafting.Ingredient; +import net.neoforged.neoforge.common.SimpleTier; + +public class TierInit { + public static final Tier TitaniumTier = new SimpleTier( + BlockTags.INCORRECT_FOR_IRON_TOOL, + 312, + 6.5F, + 2F, + 15, + () -> Ingredient.of(ItemInit.TITANIUM_INGOT::get) + ); + public static final Tier FerrotitaniumTier = new SimpleTier( + BlockTags.INCORRECT_FOR_DIAMOND_TOOL, + 1792, + 7.5F, + 3.0F, + 10, + () -> Ingredient.of(ItemInit.FERROTITANIUM_INGOT::get) + ); + public static final Tier FerrotitaniumSwordTier = new SimpleTier( + BlockTags.INCORRECT_FOR_DIAMOND_TOOL, + 1792, + 7.5F, + 2.8F, + 10, + () -> Ingredient.of(ItemInit.FERROTITANIUM_INGOT::get) + ); + public static final Tier BlazeTier = new SimpleTier( + BlockTags.INCORRECT_FOR_DIAMOND_TOOL, + 1024, + 8.0F, + 4.0F, + 18, + () -> Ingredient.of(ItemInit.BLAZE_GEM::get) + ); + public static final Tier IceTier = new SimpleTier( + BlockTags.INCORRECT_FOR_DIAMOND_TOOL, + 896, + 8.0F, + 2.0F, + 20, + () -> Ingredient.of(ItemInit.ICE_GEM::get) + ); + public static final Tier WingedTier = new SimpleTier( + BlockTags.INCORRECT_FOR_DIAMOND_TOOL, + 256, + 5.0F, + 1.0F, + 8, + () -> Ingredient.of(Items.AIR) + ); + public static final Tier RazorTier = new SimpleTier( + BlockTags.INCORRECT_FOR_IRON_TOOL, + 672, + 8.0F, + 3.0F, + 10, + () -> Ingredient.of(Items.AIR) + ); + public static final Tier FleroviumTier = new SimpleTier( + BlockTags.INCORRECT_FOR_NETHERITE_TOOL, + 2240, + 15F, + 6.0F, + 20, + () -> Ingredient.of(ItemInit.FLEROVIUM_CRYSTAL.get()) + ); + public static final Tier VexalTier = new SimpleTier( + BlockTags.INCORRECT_FOR_DIAMOND_TOOL, + 334, + 6.0F, + 2F, + 25, + () -> Ingredient.of(ItemInit.VEXAL_CRYSTAL::get) + ); + public static final Tier InfusedVexalTier = new SimpleTier( + BlockTags.INCORRECT_FOR_DIAMOND_TOOL, + 712, + 7.5F, + 4F, + 25, + () -> Ingredient.of(ItemInit.INFUSED_VEXAL_CRYSTAL::get) + ); + public static final Tier GyroTier = new SimpleTier( + BlockTags.INCORRECT_FOR_IRON_TOOL, + 484, + 6.5F, + 3F, + 12, + () -> Ingredient.of(Items.AIR) + ); + public static final Tier ShadowTier = new SimpleTier( + BlockTags.INCORRECT_FOR_DIAMOND_TOOL, + 345, + 7.5F, + 3F, + 15, + () -> Ingredient.of(Items.AIR) + ); +} diff --git a/src/main/java/github/premiumrush/ascension/loot/AddItem.java b/src/main/java/github/premiumrush/ascension/loot/AddItem.java new file mode 100644 index 0000000..ce85690 --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/loot/AddItem.java @@ -0,0 +1,50 @@ +package github.premiumrush.ascension.loot; + +import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import it.unimi.dsi.fastutil.objects.ObjectArrayList; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.storage.loot.LootContext; +import net.minecraft.world.level.storage.loot.predicates.LootItemCondition; +import net.neoforged.neoforge.common.loot.IGlobalLootModifier; +import net.neoforged.neoforge.common.loot.LootModifier; + +public class AddItem extends LootModifier { + + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> + LootModifier.codecStart(instance).and(instance.group( + Codec.STRING.fieldOf("field1").forGetter(e -> e.name), + Codec.INT.fieldOf("field2").forGetter(e -> e.amount), + BuiltInRegistries.ITEM.byNameCodec().fieldOf("field3").forGetter(e -> e.item) + )).apply(instance, AddItem::new)); + + private final String name; + private final int amount; + private final Item item; + + public AddItem(LootItemCondition[] conditionsIn, String name, int amount, Item item) { + super(conditionsIn); + this.name = name; + this.amount = amount; + this.item = item; + } + + @Override + public MapCodec codec() { + return CODEC; + } + + @Override + protected ObjectArrayList doApply(ObjectArrayList generatedLoot, LootContext context) { + for(LootItemCondition condition : this.conditions) { + if(!condition.test(context)) { + return generatedLoot; + } + } + generatedLoot.add(new ItemStack(this.item)); + return generatedLoot; + } +} diff --git a/src/main/java/github/premiumrush/ascension/loot/ModLootModifiers.java b/src/main/java/github/premiumrush/ascension/loot/ModLootModifiers.java new file mode 100644 index 0000000..0ddb98d --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/loot/ModLootModifiers.java @@ -0,0 +1,17 @@ +package github.premiumrush.ascension.loot; + +import com.mojang.serialization.MapCodec; +import github.premiumrush.ascension.Ascension; +import net.neoforged.neoforge.common.loot.IGlobalLootModifier; +import net.neoforged.neoforge.registries.DeferredRegister; +import net.neoforged.neoforge.registries.NeoForgeRegistries; + +import java.util.function.Supplier; + +public class ModLootModifiers { + public static final DeferredRegister> GLOBAL_LOOT_MODIFIER_SERIALIZERS = + DeferredRegister.create(NeoForgeRegistries.Keys.GLOBAL_LOOT_MODIFIER_SERIALIZERS, Ascension.MODID); + + public static final Supplier> ADD_ITEM = + GLOBAL_LOOT_MODIFIER_SERIALIZERS.register("add_item", () -> AddItem.CODEC); +} diff --git a/src/main/java/github/premiumrush/ascension/world/action/DaggerActions.java b/src/main/java/github/premiumrush/ascension/world/action/DaggerActions.java new file mode 100644 index 0000000..be6b1b3 --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/action/DaggerActions.java @@ -0,0 +1,23 @@ +package github.premiumrush.ascension.world.action; + +import com.google.common.collect.Sets; +import net.neoforged.neoforge.common.ItemAbilities; +import net.neoforged.neoforge.common.ItemAbility; + +import java.util.Set; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +public class DaggerActions extends ItemAbilities { + public static final ItemAbility DAGGER_DIG = ItemAbility.get("sword_dig"); + public static final Set DEFAULT_DAGGER_ACTIONS; + + public DaggerActions() { + } + private static Set of(ItemAbility... actions) { + return Stream.of(actions).collect(Collectors.toCollection(Sets::newIdentityHashSet)); + } + static { + DEFAULT_DAGGER_ACTIONS = of(SWORD_DIG); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/block/BuddingVexalBlock.java b/src/main/java/github/premiumrush/ascension/world/block/BuddingVexalBlock.java new file mode 100644 index 0000000..f48b0f9 --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/block/BuddingVexalBlock.java @@ -0,0 +1,43 @@ +package github.premiumrush.ascension.world.block; + +import github.premiumrush.ascension.init.BlockInit; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.block.AmethystClusterBlock; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.BuddingAmethystBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.material.Fluids; + +public class BuddingVexalBlock extends BuddingAmethystBlock { + public BuddingVexalBlock(Properties properties) { + super(properties); + } + + private static final Direction[] DIRECTIONS = Direction.values(); + + public void randomTick(BlockState blockState, ServerLevel serverLevel, BlockPos blockPos, RandomSource randomSource) { + if (randomSource.nextInt(5) == 0) { + Direction $$4 = DIRECTIONS[randomSource.nextInt(DIRECTIONS.length)]; + BlockPos $$5 = blockPos.relative($$4); + BlockState $$6 = serverLevel.getBlockState($$5); + Block $$7 = null; + if (canClusterGrowAtState($$6)) { + $$7 = BlockInit.SMALL_VEXAL_BUD.get(); + } else if ($$6.is(BlockInit.SMALL_VEXAL_BUD.get()) && $$6.getValue(AmethystClusterBlock.FACING) == $$4) { + $$7 = BlockInit.MEDIUM_VEXAL_BUD.get(); + } else if ($$6.is(BlockInit.MEDIUM_VEXAL_BUD.get()) && $$6.getValue(AmethystClusterBlock.FACING) == $$4) { + $$7 = BlockInit.LARGE_VEXAL_BUD.get(); + } else if ($$6.is(BlockInit.LARGE_VEXAL_BUD.get()) && $$6.getValue(AmethystClusterBlock.FACING) == $$4) { + $$7 = BlockInit.VEXAL_CLUSTER.get(); + } + + if ($$7 != null) { + BlockState $$8 = (BlockState)((BlockState)$$7.defaultBlockState().setValue(AmethystClusterBlock.FACING, $$4)).setValue(AmethystClusterBlock.WATERLOGGED, $$6.getFluidState().getType() == Fluids.WATER); + serverLevel.setBlockAndUpdate($$5, $$8); + } + } + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/effect/BleedingMobEffect.java b/src/main/java/github/premiumrush/ascension/world/effect/BleedingMobEffect.java new file mode 100644 index 0000000..5215d3d --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/effect/BleedingMobEffect.java @@ -0,0 +1,24 @@ +package github.premiumrush.ascension.world.effect; + +import github.premiumrush.ascension.init.DamageTypeInit; +import net.minecraft.world.effect.MobEffect; +import net.minecraft.world.effect.MobEffectCategory; +import net.minecraft.world.entity.LivingEntity; + +public class BleedingMobEffect extends MobEffect { + public BleedingMobEffect(MobEffectCategory category, int color) { + super(category, color); + } + + @Override + public boolean applyEffectTick(LivingEntity livingEntity, int amplifier) { + livingEntity.hurt(livingEntity.level().damageSources().source(DamageTypeInit.BLEEDING), 1.0f); + return true; + } + + @Override + public boolean shouldApplyEffectTickThisTick(int duration, int amplifier) { + int i = 75 >> amplifier; + return i > 0 ? duration % i == 0 : true; + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/effect/RadiationMobEffect.java b/src/main/java/github/premiumrush/ascension/world/effect/RadiationMobEffect.java new file mode 100644 index 0000000..fea13ca --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/effect/RadiationMobEffect.java @@ -0,0 +1,24 @@ +package github.premiumrush.ascension.world.effect; + +import github.premiumrush.ascension.init.DamageTypeInit; +import net.minecraft.world.effect.MobEffect; +import net.minecraft.world.effect.MobEffectCategory; +import net.minecraft.world.entity.LivingEntity; + +public class RadiationMobEffect extends MobEffect { + public RadiationMobEffect(MobEffectCategory category, int color) { + super(category, color); + } + + @Override + public boolean applyEffectTick(LivingEntity livingEntity, int amplifier) { + livingEntity.hurt(livingEntity.level().damageSources().source(DamageTypeInit.RADIATION), 1.0f); + return true; + } + + @Override + public boolean shouldApplyEffectTickThisTick(int duration, int amplifier) { + int i = 30 >> amplifier; + return i > 0 ? duration % i == 0 : true; + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/BlazeSwordItem.java b/src/main/java/github/premiumrush/ascension/world/item/BlazeSwordItem.java new file mode 100644 index 0000000..eb1fa1d --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/BlazeSwordItem.java @@ -0,0 +1,32 @@ +package github.premiumrush.ascension.world.item; + +import net.minecraft.network.chat.Component; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.SwordItem; +import net.minecraft.world.item.Tier; +import net.minecraft.world.item.TooltipFlag; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class BlazeSwordItem extends SwordItem { + public BlazeSwordItem(Tier tier, Properties properties) { + super(tier, properties); + } + + @Override + public void appendHoverText(@NotNull ItemStack pStack, @NotNull TooltipContext tooltipContext, List pToolTipComponents, TooltipFlag pIsAdvanced) { + pToolTipComponents.add(Component.translatable("tooltip.ascension.blaze_sword_item.tooltip")); + super.appendHoverText(pStack, tooltipContext, pToolTipComponents, pIsAdvanced); + } + + @Override + public boolean hurtEnemy(@NotNull ItemStack pStack, LivingEntity pTarget, @NotNull LivingEntity pAttacker) { + pTarget.setRemainingFireTicks(120); + if(pTarget.fireImmune()){ + pAttacker.setRemainingFireTicks(60); + } + return super.hurtEnemy(pStack,pTarget,pAttacker); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/DaggerItem.java b/src/main/java/github/premiumrush/ascension/world/item/DaggerItem.java new file mode 100644 index 0000000..1430cea --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/DaggerItem.java @@ -0,0 +1,31 @@ +package github.premiumrush.ascension.world.item; + +import github.premiumrush.ascension.world.action.DaggerActions; +import net.minecraft.core.Holder; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.ItemStack; + +import net.minecraft.world.item.SwordItem; +import net.minecraft.world.item.Tier; +import net.minecraft.world.item.enchantment.Enchantment; +import net.neoforged.neoforge.common.ItemAbility; +import org.jetbrains.annotations.NotNull; + +public class DaggerItem extends SwordItem { + public DaggerItem(Tier p_tier, Properties p_properties) { + super(p_tier, p_properties); + } + + @Override + public boolean canPerformAction(@NotNull ItemStack itemStack, @NotNull ItemAbility itemAbility) { + return DaggerActions.DEFAULT_DAGGER_ACTIONS.contains(itemAbility); + } + + @Override + public boolean supportsEnchantment(ItemStack stack, Holder enchantment) { + if(stack.is(DaggerItem.this) && enchantment.is(ResourceLocation.parse("sweeping_edge"))) { + return false; + } + return super.supportsEnchantment(stack, enchantment); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/FerrotitaniumArmorItem.java b/src/main/java/github/premiumrush/ascension/world/item/FerrotitaniumArmorItem.java new file mode 100644 index 0000000..192ad8f --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/FerrotitaniumArmorItem.java @@ -0,0 +1,23 @@ +package github.premiumrush.ascension.world.item; + +import net.minecraft.core.Holder; +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.ArmorItem; +import net.minecraft.world.item.ArmorMaterial; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.TooltipFlag; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class FerrotitaniumArmorItem extends ArmorItem { + public FerrotitaniumArmorItem(Holder material, Type type, Properties properties) { + super(material, type, properties); + } + + @Override + public void appendHoverText(@NotNull ItemStack itemStack, @NotNull TooltipContext tooltipContext, List pToolTipComponents, @NotNull TooltipFlag pIsAdvanced) { + pToolTipComponents.add(Component.translatable("tooltip.ascension.ferrotitanium_item.tooltip")); + super.appendHoverText(itemStack, tooltipContext, pToolTipComponents, pIsAdvanced); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/FerrotitaniumAxeItem.java b/src/main/java/github/premiumrush/ascension/world/item/FerrotitaniumAxeItem.java new file mode 100644 index 0000000..159368f --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/FerrotitaniumAxeItem.java @@ -0,0 +1,22 @@ +package github.premiumrush.ascension.world.item; + +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.AxeItem; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Tier; +import net.minecraft.world.item.TooltipFlag; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class FerrotitaniumAxeItem extends AxeItem { + public FerrotitaniumAxeItem(Tier tier, Properties properties) { + super(tier, properties); + } + + @Override + public void appendHoverText(@NotNull ItemStack pStack, @NotNull TooltipContext tooltipContext, List pToolTipComponents, @NotNull TooltipFlag pIsAdvanced) { + pToolTipComponents.add(Component.translatable("tooltip.ascension.ferrotitanium_item.tooltip")); + super.appendHoverText(pStack, tooltipContext, pToolTipComponents, pIsAdvanced); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/FerrotitaniumDaggerItem.java b/src/main/java/github/premiumrush/ascension/world/item/FerrotitaniumDaggerItem.java new file mode 100644 index 0000000..be12229 --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/FerrotitaniumDaggerItem.java @@ -0,0 +1,21 @@ +package github.premiumrush.ascension.world.item; + +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Tier; +import net.minecraft.world.item.TooltipFlag; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class FerrotitaniumDaggerItem extends DaggerItem { + public FerrotitaniumDaggerItem(Tier p_tier, Properties p_properties) { + super(p_tier, p_properties); + } + + @Override + public void appendHoverText(@NotNull ItemStack pStack, @NotNull TooltipContext tooltipContext, List pToolTipComponents, @NotNull TooltipFlag pIsAdvanced) { + pToolTipComponents.add(Component.translatable("tooltip.ascension.ferrotitanium_item.tooltip")); + super.appendHoverText(pStack, tooltipContext, pToolTipComponents, pIsAdvanced); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/FerrotitaniumHoeItem.java b/src/main/java/github/premiumrush/ascension/world/item/FerrotitaniumHoeItem.java new file mode 100644 index 0000000..e42c919 --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/FerrotitaniumHoeItem.java @@ -0,0 +1,19 @@ +package github.premiumrush.ascension.world.item; + +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.*; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class FerrotitaniumHoeItem extends HoeItem { + public FerrotitaniumHoeItem(Tier tier, Properties properties) { + super(tier, properties); + } + + @Override + public void appendHoverText(@NotNull ItemStack pStack, @NotNull TooltipContext tooltipContext, List pToolTipComponents, @NotNull TooltipFlag pIsAdvanced) { + pToolTipComponents.add(Component.translatable("tooltip.ascension.ferrotitanium_item.tooltip")); + super.appendHoverText(pStack, tooltipContext, pToolTipComponents, pIsAdvanced); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/FerrotitaniumPickaxeItem.java b/src/main/java/github/premiumrush/ascension/world/item/FerrotitaniumPickaxeItem.java new file mode 100644 index 0000000..c3d9a9a --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/FerrotitaniumPickaxeItem.java @@ -0,0 +1,19 @@ +package github.premiumrush.ascension.world.item; + +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.*; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class FerrotitaniumPickaxeItem extends PickaxeItem { + public FerrotitaniumPickaxeItem(Tier tier, Properties properties) { + super(tier, properties); + } + + @Override + public void appendHoverText(@NotNull ItemStack pStack, @NotNull TooltipContext tooltipContext, List pToolTipComponents, @NotNull TooltipFlag pIsAdvanced) { + pToolTipComponents.add(Component.translatable("tooltip.ascension.ferrotitanium_item.tooltip")); + super.appendHoverText(pStack, tooltipContext, pToolTipComponents, pIsAdvanced); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/FerrotitaniumShovelItem.java b/src/main/java/github/premiumrush/ascension/world/item/FerrotitaniumShovelItem.java new file mode 100644 index 0000000..94536db --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/FerrotitaniumShovelItem.java @@ -0,0 +1,19 @@ +package github.premiumrush.ascension.world.item; + +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.*; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class FerrotitaniumShovelItem extends ShovelItem { + public FerrotitaniumShovelItem(Tier tier, Properties properties) { + super(tier, properties); + } + + @Override + public void appendHoverText(@NotNull ItemStack pStack, @NotNull TooltipContext tooltipContext, List pToolTipComponents, @NotNull TooltipFlag pIsAdvanced) { + pToolTipComponents.add(Component.translatable("tooltip.ascension.ferrotitanium_item.tooltip")); + super.appendHoverText(pStack, tooltipContext, pToolTipComponents, pIsAdvanced); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/FerrotitaniumSwordItem.java b/src/main/java/github/premiumrush/ascension/world/item/FerrotitaniumSwordItem.java new file mode 100644 index 0000000..a243862 --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/FerrotitaniumSwordItem.java @@ -0,0 +1,19 @@ +package github.premiumrush.ascension.world.item; + +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.*; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class FerrotitaniumSwordItem extends SwordItem { + public FerrotitaniumSwordItem(Tier tier, Properties properties) { + super(tier, properties); + } + + @Override + public void appendHoverText(@NotNull ItemStack pStack, @NotNull TooltipContext tooltipContext, List pToolTipComponents, @NotNull TooltipFlag pIsAdvanced) { + pToolTipComponents.add(Component.translatable("tooltip.ascension.ferrotitanium_item.tooltip")); + super.appendHoverText(pStack, tooltipContext, pToolTipComponents, pIsAdvanced); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/FleroviumArmorItem.java b/src/main/java/github/premiumrush/ascension/world/item/FleroviumArmorItem.java new file mode 100644 index 0000000..9f4b2eb --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/FleroviumArmorItem.java @@ -0,0 +1,43 @@ +package github.premiumrush.ascension.world.item; + +import github.premiumrush.ascension.init.ItemInit; +import net.minecraft.core.Holder; +import net.minecraft.network.chat.Component; +import net.minecraft.world.effect.MobEffects; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ArmorItem; +import net.minecraft.world.item.ArmorMaterial; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.level.Level; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class FleroviumArmorItem extends ArmorItem { + public FleroviumArmorItem(Holder material, Type type, Properties properties) { + super(material, type, properties); + } + + @Override + public void appendHoverText(@NotNull ItemStack pStack, @NotNull TooltipContext tooltipContext, List pToolTipComponents, TooltipFlag pIsAdvanced) { + pToolTipComponents.add(Component.translatable("tooltip.ascension.flerovium_armor1.tooltip")); + pToolTipComponents.add(Component.translatable("tooltip.ascension.flerovium_armor2.tooltip")); + super.appendHoverText(pStack, tooltipContext, pToolTipComponents, pIsAdvanced); + } + + @Override + public void inventoryTick(@NotNull ItemStack stack, Level level, @NotNull Entity entity, int slotId, boolean isSelected) { + if (!level.isClientSide() && entity instanceof Player player && hasFleroviumArmorSetOn(player)) { + player.removeEffect(MobEffects.POISON); + } + } + + private boolean hasFleroviumArmorSetOn(Player player) { + return player.getInventory().getArmor(0).is(ItemInit.FLEROVIUM_BOOTS.get()) && + player.getInventory().getArmor(1).is(ItemInit.FLEROVIUM_LEGGINGS.get()) && + player.getInventory().getArmor(2).is(ItemInit.FLEROVIUM_CHESTPLATE.get()) && + player.getInventory().getArmor(3).is(ItemInit.FLEROVIUM_HELMET.get()); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/FleroviumAxeItem.java b/src/main/java/github/premiumrush/ascension/world/item/FleroviumAxeItem.java new file mode 100644 index 0000000..c4163f2 --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/FleroviumAxeItem.java @@ -0,0 +1,22 @@ +package github.premiumrush.ascension.world.item; + +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.AxeItem; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Tier; +import net.minecraft.world.item.TooltipFlag; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class FleroviumAxeItem extends AxeItem { + public FleroviumAxeItem(Tier p_40521_, Properties p_40524_) { + super(p_40521_, p_40524_); + } + + @Override + public void appendHoverText(@NotNull ItemStack pStack, @NotNull TooltipContext tooltipContext, List pToolTipComponents, TooltipFlag pIsAdvanced) { + pToolTipComponents.add(Component.translatable("tooltip.ascension.flerovium_tool.tooltip")); + super.appendHoverText(pStack, tooltipContext, pToolTipComponents, pIsAdvanced); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/FleroviumDaggerItem.java b/src/main/java/github/premiumrush/ascension/world/item/FleroviumDaggerItem.java new file mode 100644 index 0000000..0ac288b --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/FleroviumDaggerItem.java @@ -0,0 +1,31 @@ +package github.premiumrush.ascension.world.item; + +import github.premiumrush.ascension.init.MobEffectInit; +import net.minecraft.network.chat.Component; +import net.minecraft.world.effect.MobEffectInstance; +import net.minecraft.world.effect.MobEffects; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Tier; +import net.minecraft.world.item.TooltipFlag; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class FleroviumDaggerItem extends DaggerItem { + public FleroviumDaggerItem(Tier p_tier, Properties p_properties) { + super(p_tier, p_properties); + } + + @Override + public void appendHoverText(@NotNull ItemStack pStack, @NotNull TooltipContext tooltipContext, List pToolTipComponents, @NotNull TooltipFlag pIsAdvanced) { + pToolTipComponents.add(Component.translatable("tooltip.ascension.flerovium_daggeritem.tooltip")); + super.appendHoverText(pStack, tooltipContext, pToolTipComponents, pIsAdvanced); + } + + @Override + public boolean hurtEnemy(ItemStack pStack, LivingEntity pTarget, LivingEntity pAttacker) { + pTarget.addEffect(new MobEffectInstance(MobEffectInit.RADIATION, 60, 1),pAttacker); + return super.hurtEnemy(pStack,pTarget,pAttacker); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/FleroviumHoeItem.java b/src/main/java/github/premiumrush/ascension/world/item/FleroviumHoeItem.java new file mode 100644 index 0000000..c98a5cc --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/FleroviumHoeItem.java @@ -0,0 +1,19 @@ +package github.premiumrush.ascension.world.item; + +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.*; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class FleroviumHoeItem extends HoeItem { + public FleroviumHoeItem(Tier p_40521_, Properties p_40524_) { + super(p_40521_, p_40524_); + } + + @Override + public void appendHoverText(@NotNull ItemStack pStack, @NotNull TooltipContext tooltipContext, List pToolTipComponents, TooltipFlag pIsAdvanced) { + pToolTipComponents.add(Component.translatable("tooltip.ascension.flerovium_tool.tooltip")); + super.appendHoverText(pStack, tooltipContext, pToolTipComponents, pIsAdvanced); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/FleroviumPickaxeItem.java b/src/main/java/github/premiumrush/ascension/world/item/FleroviumPickaxeItem.java new file mode 100644 index 0000000..fa8a3a0 --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/FleroviumPickaxeItem.java @@ -0,0 +1,19 @@ +package github.premiumrush.ascension.world.item; + +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.*; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class FleroviumPickaxeItem extends PickaxeItem { + public FleroviumPickaxeItem(Tier p_40521_, Properties p_40524_) { + super(p_40521_, p_40524_); + } + + @Override + public void appendHoverText(@NotNull ItemStack pStack, @NotNull TooltipContext tooltipContext, List pToolTipComponents, TooltipFlag pIsAdvanced) { + pToolTipComponents.add(Component.translatable("tooltip.ascension.flerovium_tool.tooltip")); + super.appendHoverText(pStack, tooltipContext, pToolTipComponents, pIsAdvanced); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/FleroviumShovelItem.java b/src/main/java/github/premiumrush/ascension/world/item/FleroviumShovelItem.java new file mode 100644 index 0000000..d53f66b --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/FleroviumShovelItem.java @@ -0,0 +1,19 @@ +package github.premiumrush.ascension.world.item; + +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.*; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class FleroviumShovelItem extends ShovelItem { + public FleroviumShovelItem(Tier p_40521_, Properties p_40524_) { + super(p_40521_, p_40524_); + } + + @Override + public void appendHoverText(@NotNull ItemStack pStack, @NotNull TooltipContext tooltipContext, List pToolTipComponents, TooltipFlag pIsAdvanced) { + pToolTipComponents.add(Component.translatable("tooltip.ascension.flerovium_tool.tooltip")); + super.appendHoverText(pStack, tooltipContext, pToolTipComponents, pIsAdvanced); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/FleroviumSmithingTemplateItem.java b/src/main/java/github/premiumrush/ascension/world/item/FleroviumSmithingTemplateItem.java new file mode 100644 index 0000000..a475dd8 --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/FleroviumSmithingTemplateItem.java @@ -0,0 +1,93 @@ +package github.premiumrush.ascension.world.item; + +import net.minecraft.ChatFormatting; +import net.minecraft.Util; +import net.minecraft.network.chat.Component; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.SmithingTemplateItem; + +import java.util.List; + +public class FleroviumSmithingTemplateItem extends SmithingTemplateItem { + private static final ChatFormatting TITLE_FORMAT; + private static final ChatFormatting DESCRIPTION_FORMAT; + private static final String DESCRIPTION_ID; + private static final Component INGREDIENTS_TITLE; + private static final Component APPLIES_TO_TITLE; + private static final Component FLEROVIUM_UPGRADE; + private static final Component ARMOR_TRIM_APPLIES_TO; + private static final Component ARMOR_TRIM_INGREDIENTS; + private static final Component ARMOR_TRIM_BASE_SLOT_DESCRIPTION; + private static final Component ARMOR_TRIM_ADDITIONS_SLOT_DESCRIPTION; + private static final Component FLEROVIUM_UPGRADE_APPLIES_TO; + private static final Component FLEROVIUM_UPGRADE_INGREDIENTS; + private static final Component FLEROVIUM_UPGRADE_BASE_SLOT_DESCRIPTION; + private static final Component FLEROVIUM_UPGRADE_ADDITIONS_SLOT_DESCRIPTION; + private static final ResourceLocation EMPTY_SLOT_HELMET; + private static final ResourceLocation EMPTY_SLOT_CHESTPLATE; + private static final ResourceLocation EMPTY_SLOT_LEGGINGS; + private static final ResourceLocation EMPTY_SLOT_BOOTS; + private static final ResourceLocation EMPTY_SLOT_HOE; + private static final ResourceLocation EMPTY_SLOT_AXE; + private static final ResourceLocation EMPTY_SLOT_SWORD; + private static final ResourceLocation EMPTY_SLOT_SHOVEL; + private static final ResourceLocation EMPTY_SLOT_PICKAXE; + private static final ResourceLocation EMPTY_SLOT_INGOT; + private static final ResourceLocation EMPTY_SLOT_REDSTONE_DUST; + private static final ResourceLocation EMPTY_SLOT_QUARTZ; + private static final ResourceLocation EMPTY_SLOT_EMERALD; + private static final ResourceLocation EMPTY_SLOT_DIAMOND; + private static final ResourceLocation EMPTY_SLOT_LAPIS_LAZULI; + private static final ResourceLocation EMPTY_SLOT_AMETHYST_SHARD; + private static final ResourceLocation EMPTY_SLOT_DAGGER; + + public FleroviumSmithingTemplateItem(Component pAppliesTo, Component pIngredients, Component pUpgradeDescription, Component pBaseSlotDescription, Component pAdditionalSlotDescription, List pBaseSlotEmptyIcons, List pAdditionalSlotEmptyIcons) { + super(pAppliesTo,pIngredients,pUpgradeDescription,pBaseSlotDescription,pAdditionalSlotDescription,pBaseSlotEmptyIcons,pAdditionalSlotEmptyIcons); + } + + public static FleroviumSmithingTemplateItem createFleroviumUpgradeTemplate() { + return new FleroviumSmithingTemplateItem(FLEROVIUM_UPGRADE_APPLIES_TO, FLEROVIUM_UPGRADE_INGREDIENTS, FLEROVIUM_UPGRADE, FLEROVIUM_UPGRADE_BASE_SLOT_DESCRIPTION, FLEROVIUM_UPGRADE_ADDITIONS_SLOT_DESCRIPTION, createFleroviumUpgradeIconList(), createFleroviumUpgradeMaterialList()); + } + + private static List createFleroviumUpgradeIconList() { + return List.of(EMPTY_SLOT_HELMET, EMPTY_SLOT_SWORD, EMPTY_SLOT_CHESTPLATE, EMPTY_SLOT_PICKAXE, EMPTY_SLOT_LEGGINGS, EMPTY_SLOT_AXE, EMPTY_SLOT_BOOTS, EMPTY_SLOT_HOE, EMPTY_SLOT_SHOVEL, EMPTY_SLOT_DAGGER); + } + + private static List createFleroviumUpgradeMaterialList() { + return List.of(EMPTY_SLOT_AMETHYST_SHARD); + } + + static { + TITLE_FORMAT = ChatFormatting.GRAY; + DESCRIPTION_FORMAT = ChatFormatting.BLUE; + DESCRIPTION_ID = Util.makeDescriptionId("item", ResourceLocation.parse("smithing_template")); + INGREDIENTS_TITLE = Component.translatable(Util.makeDescriptionId("item", ResourceLocation.parse("smithing_template.ingredients"))).withStyle(TITLE_FORMAT); + APPLIES_TO_TITLE = Component.translatable(Util.makeDescriptionId("item", ResourceLocation.parse("smithing_template.applies_to"))).withStyle(TITLE_FORMAT); + FLEROVIUM_UPGRADE = Component.translatable("tooltip.ascension.flerovium_upgrade_upgrade_description.tooltip").withStyle(TITLE_FORMAT); + ARMOR_TRIM_APPLIES_TO = Component.translatable(Util.makeDescriptionId("item", ResourceLocation.parse("smithing_template.armor_trim.applies_to"))); + ARMOR_TRIM_INGREDIENTS = Component.translatable(Util.makeDescriptionId("item", ResourceLocation.parse("smithing_template.armor_trim.ingredients"))); + ARMOR_TRIM_BASE_SLOT_DESCRIPTION = Component.translatable(Util.makeDescriptionId("item", ResourceLocation.parse("smithing_template.armor_trim.base_slot_description"))); + ARMOR_TRIM_ADDITIONS_SLOT_DESCRIPTION = Component.translatable(Util.makeDescriptionId("item", ResourceLocation.parse("smithing_template.armor_trim.additions_slot_description"))); + FLEROVIUM_UPGRADE_APPLIES_TO = Component.translatable("tooltip.ascension.flerovium_upgrade_applies_to.tooltip"); + FLEROVIUM_UPGRADE_INGREDIENTS = Component.translatable("tooltip.ascension.flerovium_upgrade_ingredients.tooltip"); + FLEROVIUM_UPGRADE_BASE_SLOT_DESCRIPTION = Component.translatable("tooltip.ascension.flerovium_upgrade_baseslot_description.tooltip"); + FLEROVIUM_UPGRADE_ADDITIONS_SLOT_DESCRIPTION = Component.translatable("tooltip.ascension.flerovium_upgrade_additional_slot_description.tooltip"); + EMPTY_SLOT_HELMET = ResourceLocation.parse("item/empty_armor_slot_helmet"); + EMPTY_SLOT_CHESTPLATE = ResourceLocation.parse("item/empty_armor_slot_chestplate"); + EMPTY_SLOT_LEGGINGS = ResourceLocation.parse("item/empty_armor_slot_leggings"); + EMPTY_SLOT_BOOTS = ResourceLocation.parse("item/empty_armor_slot_boots"); + EMPTY_SLOT_HOE = ResourceLocation.parse("item/empty_slot_hoe"); + EMPTY_SLOT_AXE = ResourceLocation.parse("item/empty_slot_axe"); + EMPTY_SLOT_SWORD = ResourceLocation.parse("item/empty_slot_sword"); + EMPTY_SLOT_SHOVEL = ResourceLocation.parse("item/empty_slot_shovel"); + EMPTY_SLOT_PICKAXE = ResourceLocation.parse("item/empty_slot_pickaxe"); + EMPTY_SLOT_INGOT = ResourceLocation.parse("item/empty_slot_ingot"); + EMPTY_SLOT_REDSTONE_DUST = ResourceLocation.parse("item/empty_slot_redstone_dust"); + EMPTY_SLOT_QUARTZ = ResourceLocation.parse("item/empty_slot_quartz"); + EMPTY_SLOT_EMERALD = ResourceLocation.parse("item/empty_slot_emerald"); + EMPTY_SLOT_DIAMOND = ResourceLocation.parse("item/empty_slot_diamond"); + EMPTY_SLOT_LAPIS_LAZULI = ResourceLocation.parse("item/empty_slot_lapis_lazuli"); + EMPTY_SLOT_AMETHYST_SHARD = ResourceLocation.parse("item/empty_slot_amethyst_shard"); + EMPTY_SLOT_DAGGER = ResourceLocation.parse("ascension:item/empty_slot_dagger"); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/FleroviumSwordItem.java b/src/main/java/github/premiumrush/ascension/world/item/FleroviumSwordItem.java new file mode 100644 index 0000000..7a62336 --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/FleroviumSwordItem.java @@ -0,0 +1,29 @@ +package github.premiumrush.ascension.world.item; + +import github.premiumrush.ascension.init.MobEffectInit; +import net.minecraft.network.chat.Component; +import net.minecraft.world.effect.MobEffectInstance; +import net.minecraft.world.effect.MobEffects; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.item.*; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class FleroviumSwordItem extends SwordItem { + public FleroviumSwordItem(Tier p_40521_, Properties p_40524_) { + super(p_40521_, p_40524_); + } + + @Override + public void appendHoverText(@NotNull ItemStack pStack, @NotNull TooltipContext tooltipContext, List pToolTipComponents, TooltipFlag pIsAdvanced) { + pToolTipComponents.add(Component.translatable("tooltip.ascension.flerovium_sworditem.tooltip")); + super.appendHoverText(pStack, tooltipContext, pToolTipComponents, pIsAdvanced); + } + + @Override + public boolean hurtEnemy(ItemStack pStack, LivingEntity pTarget, LivingEntity pAttacker) { + pTarget.addEffect(new MobEffectInstance(MobEffectInit.RADIATION, 60, 1),pAttacker); + return super.hurtEnemy(pStack,pTarget,pAttacker); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/GyroMaceItem.java b/src/main/java/github/premiumrush/ascension/world/item/GyroMaceItem.java new file mode 100644 index 0000000..31d19c8 --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/GyroMaceItem.java @@ -0,0 +1,10 @@ +package github.premiumrush.ascension.world.item; + +import net.minecraft.world.item.Tier; +import net.minecraft.world.item.component.Tool; + +public class GyroMaceItem extends KnockbackItem { + public GyroMaceItem(Tier p_tier, Properties p_properties) { + super(p_tier, p_properties); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/IceArmorItem.java b/src/main/java/github/premiumrush/ascension/world/item/IceArmorItem.java new file mode 100644 index 0000000..2d6ba65 --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/IceArmorItem.java @@ -0,0 +1,92 @@ +package github.premiumrush.ascension.world.item; + +import github.premiumrush.ascension.init.ItemInit; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.Holder; +import net.minecraft.network.chat.Component; +import net.minecraft.util.Mth; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ArmorItem; +import net.minecraft.world.item.ArmorMaterial; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.FrostedIceBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.neoforged.neoforge.common.util.BlockSnapshot; +import net.neoforged.neoforge.event.EventHooks; +import org.jetbrains.annotations.NotNull; + +import java.util.Iterator; +import java.util.List; + +public class IceArmorItem extends ArmorItem { + public IceArmorItem(Holder material, Type type, Properties properties) { + super(material, type, properties); + } + + @Override + public void appendHoverText(@NotNull ItemStack itemStack, @NotNull TooltipContext tooltipContext, List pToolTipComponents, @NotNull TooltipFlag pIsAdvanced) { + pToolTipComponents.add(Component.translatable("tooltip.ascension.ice_armor2.tooltip")); + if(itemStack.is(ItemInit.ICE_BOOTS.get())) { + pToolTipComponents.add(Component.translatable("tooltip.ascension.ice_armor3.tooltip")); + } + pToolTipComponents.add(Component.translatable("tooltip.ascension.ice_armor1.tooltip")); + super.appendHoverText(itemStack, tooltipContext, pToolTipComponents, pIsAdvanced); + } + + @Override + public void inventoryTick(@NotNull ItemStack stack, Level level, @NotNull Entity entity, int slotId, boolean isSelected) { + if (!level.isClientSide() && entity instanceof Player player && hasIceArmorSetOn(player)) { + onEntityMoved(player, level, player.blockPosition(), 4); + } + } + + @Override + public boolean canWalkOnPowderedSnow(ItemStack stack, LivingEntity wearer) { + if(hasIceBootsOn((Player) wearer)) { + return true; + } + return super.canWalkOnPowderedSnow(stack, wearer); + } + + private boolean hasIceBootsOn(Player player) { + return player.getInventory().getArmor(0).is(ItemInit.ICE_BOOTS.get()); + } + + private boolean hasIceArmorSetOn(Player player) { + return player.getInventory().getArmor(0).is(ItemInit.ICE_BOOTS.get()) && + player.getInventory().getArmor(1).is(ItemInit.ICE_LEGGINGS.get()) && + player.getInventory().getArmor(2).is(ItemInit.ICE_CHESTPLATE.get()) && + player.getInventory().getArmor(3).is(ItemInit.ICE_HELMET.get()); + } + + public static void onEntityMoved(LivingEntity livingEntity, Level level, BlockPos pos, int range) { + if (livingEntity.onGround()) { + BlockState blockstate = Blocks.FROSTED_ICE.defaultBlockState(); + int i = Math.min(16, 2 + range); + BlockPos.MutableBlockPos blockpos$mutableblockpos = new BlockPos.MutableBlockPos(); + Iterator iterator = BlockPos.betweenClosed(pos.offset(-i, -1, -i), pos.offset(i, -1, i)).iterator(); + + while(iterator.hasNext()) { + BlockPos blockpos = (BlockPos)iterator.next(); + if (blockpos.closerToCenterThan(livingEntity.position(), (double)i)) { + blockpos$mutableblockpos.set(blockpos.getX(), blockpos.getY() + 1, blockpos.getZ()); + BlockState blockstate1 = level.getBlockState(blockpos$mutableblockpos); + if (blockstate1.isAir()) { + BlockState blockstate2 = level.getBlockState(blockpos); + if (blockstate2 == FrostedIceBlock.meltsInto() && blockstate.canSurvive(level, blockpos) && level.isUnobstructed(blockstate, blockpos, CollisionContext.empty()) && !EventHooks.onBlockPlace(livingEntity, BlockSnapshot.create(level.dimension(), level, blockpos), Direction.UP)) { + level.setBlockAndUpdate(blockpos, blockstate); + level.scheduleTick(blockpos, Blocks.FROSTED_ICE, Mth.nextInt(livingEntity.getRandom(), 60, 120)); + } + } + } + } + } + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/IceSwordItem.java b/src/main/java/github/premiumrush/ascension/world/item/IceSwordItem.java new file mode 100644 index 0000000..34a7a33 --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/IceSwordItem.java @@ -0,0 +1,37 @@ +package github.premiumrush.ascension.world.item; + +import net.minecraft.network.chat.Component; +import net.minecraft.world.effect.MobEffectInstance; +import net.minecraft.world.effect.MobEffects; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.SwordItem; +import net.minecraft.world.item.Tier; +import net.minecraft.world.item.TooltipFlag; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class IceSwordItem extends SwordItem { + public IceSwordItem(Tier tier, Properties properties) { + super(tier, properties); + } + + @Override + public void appendHoverText(@NotNull ItemStack pStack, @NotNull TooltipContext tooltipContext, List pToolTipComponents, TooltipFlag pIsAdvanced) { + pToolTipComponents.add(Component.translatable("tooltip.ascension.ice_sword_item.tooltip")); + super.appendHoverText(pStack, tooltipContext, pToolTipComponents, pIsAdvanced); + } + + @Override + public boolean hurtEnemy(@NotNull ItemStack pStack, LivingEntity pTarget, @NotNull LivingEntity pAttacker) { + pTarget.setTicksFrozen(160); + + if(pTarget.hasEffect(MobEffects.WEAKNESS)) { + pTarget.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN,160,1),pAttacker); + } + else pTarget.addEffect(new MobEffectInstance(MobEffects.WEAKNESS, 160, 1),pAttacker); + + return super.hurtEnemy(pStack,pTarget,pAttacker); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/InactiveUpgradeItem.java b/src/main/java/github/premiumrush/ascension/world/item/InactiveUpgradeItem.java new file mode 100644 index 0000000..7c9ab90 --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/InactiveUpgradeItem.java @@ -0,0 +1,30 @@ +package github.premiumrush.ascension.world.item; + +import net.minecraft.ChatFormatting; +import net.minecraft.Util; +import net.minecraft.network.chat.CommonComponents; +import net.minecraft.network.chat.Component; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.TooltipFlag; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class InactiveUpgradeItem extends Item { + public InactiveUpgradeItem(Properties properties) { + super(properties); + } + + @Override + public void appendHoverText(@NotNull ItemStack pStack, @NotNull TooltipContext tooltipContext, List pToolTipComponents, TooltipFlag pIsAdvanced) { + pToolTipComponents.add(Component.translatable("tooltip.ascension.inactive_upgrade_item.tooltip")); + pToolTipComponents.add(CommonComponents.EMPTY); + pToolTipComponents.add(Component.translatable(Util.makeDescriptionId("item", ResourceLocation.parse("smithing_template.applies_to"))).withStyle(ChatFormatting.GRAY)); + pToolTipComponents.add(CommonComponents.space().append(Component.translatable("tooltip.ascension.flerovium_upgrade_applies_to.tooltip"))); + pToolTipComponents.add(Component.translatable(Util.makeDescriptionId("item", ResourceLocation.parse("smithing_template.ingredients"))).withStyle(ChatFormatting.GRAY)); + pToolTipComponents.add(CommonComponents.space().append(Component.translatable("tooltip.ascension.flerovium_upgrade_ingredients.tooltip"))); + super.appendHoverText(pStack, tooltipContext, pToolTipComponents, pIsAdvanced); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/KnockbackItem.java b/src/main/java/github/premiumrush/ascension/world/item/KnockbackItem.java new file mode 100644 index 0000000..87b09de --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/KnockbackItem.java @@ -0,0 +1,35 @@ +package github.premiumrush.ascension.world.item; + +import net.minecraft.network.chat.Component; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.SwordItem; +import net.minecraft.world.item.Tier; +import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.phys.Vec3; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class KnockbackItem extends SwordItem { + public KnockbackItem(Tier p_tier, Properties p_properties) { + super(p_tier, p_properties); + } + + @Override + public void appendHoverText(@NotNull ItemStack pStack, @NotNull TooltipContext tooltipContext, List pToolTipComponents, TooltipFlag pIsAdvanced) { + pToolTipComponents.add(Component.translatable("tooltip.ascension.knockback_item.tooltip")); + super.appendHoverText(pStack, tooltipContext, pToolTipComponents, pIsAdvanced); + } + + @Override + public boolean hurtEnemy(ItemStack pStack, LivingEntity pTarget, LivingEntity pAttacker) { + + double Radians = Math.toRadians(pAttacker.getYRot()); + Vec3 vec3 = new Vec3(-Math.sin(Radians)*0.8, 0.0, Math.cos(Radians)*0.8); + + pTarget.addDeltaMovement(vec3); + + return super.hurtEnemy(pStack, pTarget, pAttacker); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/RazorSwordItem.java b/src/main/java/github/premiumrush/ascension/world/item/RazorSwordItem.java new file mode 100644 index 0000000..0e8286d --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/RazorSwordItem.java @@ -0,0 +1,49 @@ +package github.premiumrush.ascension.world.item; + +import github.premiumrush.ascension.init.MobEffectInit; +import net.minecraft.network.chat.Component; +import net.minecraft.world.effect.MobEffectInstance; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.animal.IronGolem; +import net.minecraft.world.entity.animal.SnowGolem; +import net.minecraft.world.entity.animal.horse.SkeletonHorse; +import net.minecraft.world.entity.boss.wither.WitherBoss; +import net.minecraft.world.entity.monster.*; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.SwordItem; +import net.minecraft.world.item.Tier; +import net.minecraft.world.item.TooltipFlag; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class RazorSwordItem extends SwordItem { + public RazorSwordItem(Tier tier, Properties properties) { + super(tier, properties); + } + + @Override + public void appendHoverText(@NotNull ItemStack pStack, @NotNull TooltipContext tooltipContext, List pToolTipComponents, TooltipFlag pIsAdvanced) { + pToolTipComponents.add(Component.translatable("tooltip.ascension.razor_sword_item.tooltip")); + super.appendHoverText(pStack, tooltipContext, pToolTipComponents, pIsAdvanced); + } + + @Override + public boolean hurtEnemy(@NotNull ItemStack pStack, @NotNull LivingEntity pTarget, @NotNull LivingEntity pAttacker) { + if( + !(pTarget instanceof Skeleton) && + !(pTarget instanceof SkeletonHorse) && + !(pTarget instanceof WitherSkeleton) && + !(pTarget instanceof WitherBoss) && + !(pTarget instanceof Stray) && + !(pTarget instanceof IronGolem) && + !(pTarget instanceof SnowGolem) && + !(pTarget instanceof Shulker) && + !(pTarget instanceof Endermite) && + !(pTarget instanceof EnderMan)) + { + pTarget.addEffect(new MobEffectInstance(MobEffectInit.BLEEDING, 120, 1), pAttacker); + } + return super.hurtEnemy(pStack,pTarget,pAttacker); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/ShadowDaggerItem.java b/src/main/java/github/premiumrush/ascension/world/item/ShadowDaggerItem.java new file mode 100644 index 0000000..1e8c1a0 --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/ShadowDaggerItem.java @@ -0,0 +1,159 @@ +package github.premiumrush.ascension.world.item; + +import github.premiumrush.ascension.init.ParticleInit; +import net.minecraft.client.Minecraft; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.network.chat.Component; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResultHolder; +import net.minecraft.world.effect.MobEffectInstance; +import net.minecraft.world.effect.MobEffects; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Tier; +import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.level.Level; +import net.minecraft.world.phys.Vec3; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class ShadowDaggerItem extends DaggerItem { + public ShadowDaggerItem(Tier p_tier, Properties p_properties) { + super(p_tier, p_properties); + } + + @Override + public void appendHoverText(@NotNull ItemStack pStack, @NotNull TooltipContext tooltipContext, List pToolTipComponents, @NotNull TooltipFlag pIsAdvanced) { + pToolTipComponents.add(Component.translatable("tooltip.ascension.shadow_dagger.tooltip")); + pToolTipComponents.add(Component.translatable("tooltip.ascension.shadow_dagger2.tooltip")); + super.appendHoverText(pStack, tooltipContext, pToolTipComponents, pIsAdvanced); + } + + @Override + public InteractionResultHolder use(Level level, Player player, InteractionHand hand) { + ItemStack stack = player.getItemInHand(hand); + if(!player.getCooldowns().isOnCooldown(player.getUseItem().getItem()) && player.onGround()) { + player.addEffect(new MobEffectInstance(MobEffects.INVISIBILITY, 110,0,false,false,false)); + playParticles(level, player); + player.playSound(SoundEvents.WOOL_FALL); + doMove(); + player.causeFoodExhaustion(1.5F); + player.getCooldowns().addCooldown(stack.getItem(), 75); + } else if (!player.getCooldowns().isOnCooldown(player.getUseItem().getItem()) && !player.onGround()) { + player.push(0.0,-1.0,0.0); + player.causeFoodExhaustion(1.0F); + player.getCooldowns().addCooldown(stack.getItem(), 25); + } + return super.use(level, player, hand); + } + + private void playParticles(Level level, Player player) { + level.addParticle(ParticleInit.SHADOW_DODGE_PARTICLE.get(), player.getX(),player.getY(),player.getZ(),0,0,0); + level.addParticle(ParticleInit.SHADOW_DODGE_PARTICLE.get(), player.getX(),player.getY()+0.4,player.getZ(),0,0,0); + level.addParticle(ParticleInit.SHADOW_DODGE_PARTICLE.get(), player.getX(),player.getY()+0.8,player.getZ(),0,0,0); + level.addParticle(ParticleInit.SHADOW_DODGE_PARTICLE.get(), player.getX(),player.getY()+1.2,player.getZ(),0,0,0); + level.addParticle(ParticleInit.SHADOW_DODGE_PARTICLE.get(), player.getX(),player.getY()+1.6,player.getZ(),0,0,0); + level.addParticle(ParticleInit.SHADOW_DODGE_PARTICLE.get(), player.getX(),player.getY()+2.0,player.getZ(),0,0,0); + level.addParticle(ParticleInit.SHADOW_DODGE_PARTICLE.get(), player.getX()+0.3,player.getY(),player.getZ()+0.3,0,0,0); + level.addParticle(ParticleInit.SHADOW_DODGE_PARTICLE.get(), player.getX()-0.3,player.getY(),player.getZ()+0.3,0,0,0); + level.addParticle(ParticleInit.SHADOW_DODGE_PARTICLE.get(), player.getX()+0.3,player.getY(),player.getZ()-0.3,0,0,0); + level.addParticle(ParticleInit.SHADOW_DODGE_PARTICLE.get(), player.getX()-0.3,player.getY(),player.getZ()-0.3,0,0,0); + level.addParticle(ParticleInit.SHADOW_DODGE_PARTICLE.get(), player.getX()+0.3,player.getY()+0.4,player.getZ()+0.3,0,0,0); + level.addParticle(ParticleInit.SHADOW_DODGE_PARTICLE.get(), player.getX()-0.3,player.getY()+0.4,player.getZ()+0.3,0,0,0); + level.addParticle(ParticleInit.SHADOW_DODGE_PARTICLE.get(), player.getX()+0.3,player.getY()+0.4,player.getZ()-0.3,0,0,0); + level.addParticle(ParticleInit.SHADOW_DODGE_PARTICLE.get(), player.getX()-0.3,player.getY()+0.4,player.getZ()-0.3,0,0,0); + level.addParticle(ParticleInit.SHADOW_DODGE_PARTICLE.get(), player.getX()+0.3,player.getY()+0.8,player.getZ()+0.3,0,0,0); + level.addParticle(ParticleInit.SHADOW_DODGE_PARTICLE.get(), player.getX()-0.3,player.getY()+0.8,player.getZ()+0.3,0,0,0); + level.addParticle(ParticleInit.SHADOW_DODGE_PARTICLE.get(), player.getX()+0.3,player.getY()+0.8,player.getZ()-0.3,0,0,0); + level.addParticle(ParticleInit.SHADOW_DODGE_PARTICLE.get(), player.getX()-0.3,player.getY()+0.8,player.getZ()-0.3,0,0,0); + level.addParticle(ParticleInit.SHADOW_DODGE_PARTICLE.get(), player.getX()+0.3,player.getY()+1.2,player.getZ()+0.3,0,0,0); + level.addParticle(ParticleInit.SHADOW_DODGE_PARTICLE.get(), player.getX()-0.3,player.getY()+1.2,player.getZ()+0.3,0,0,0); + level.addParticle(ParticleInit.SHADOW_DODGE_PARTICLE.get(), player.getX()+0.3,player.getY()+1.2,player.getZ()-0.3,0,0,0); + level.addParticle(ParticleInit.SHADOW_DODGE_PARTICLE.get(), player.getX()-0.3,player.getY()+1.2,player.getZ()-0.3,0,0,0); + level.addParticle(ParticleInit.SHADOW_DODGE_PARTICLE.get(), player.getX()+0.3,player.getY()+1.6,player.getZ()+0.3,0,0,0); + level.addParticle(ParticleInit.SHADOW_DODGE_PARTICLE.get(), player.getX()-0.3,player.getY()+1.6,player.getZ()+0.3,0,0,0); + level.addParticle(ParticleInit.SHADOW_DODGE_PARTICLE.get(), player.getX()+0.3,player.getY()+1.6,player.getZ()-0.3,0,0,0); + level.addParticle(ParticleInit.SHADOW_DODGE_PARTICLE.get(), player.getX()-0.3,player.getY()+1.6,player.getZ()-0.3,0,0,0); + level.addParticle(ParticleTypes.FIREWORK, player.getX()+0.3,player.getY()+1.4,player.getZ()+0.3,0,0,0); + level.addParticle(ParticleTypes.FIREWORK, player.getX()-0.3,player.getY()+1.4,player.getZ()+0.3,0,0,0); + level.addParticle(ParticleTypes.FIREWORK, player.getX()+0.3,player.getY()+1.4,player.getZ()-0.3,0,0,0); + level.addParticle(ParticleTypes.FIREWORK, player.getX()-0.3,player.getY()+1.4,player.getZ()-0.3,0,0,0); + } + +/* +The dodge functionality used in this Mod is shortened and adapted from the OpenSource Project "ElenaiDodge2.0" by ElenaiDev. Thanks for being OpenSource! +GitHub link: https://github.com/ElenaiDev/ElenaiDodge2.0 +*/ + + private void inputDirectionAddDeltaMovement(InputDirection direction) { + Minecraft instance = Minecraft.getInstance(); + + if(instance.player != null) { + Vec3 facingDirection = instance.player.getLookAngle().multiply(1.16, 0.0, 1.16).normalize(); + + Vec3 front = new Vec3(facingDirection.x,0.2,facingDirection.z); + Vec3 back = new Vec3(-facingDirection.x,0.2,-facingDirection.z); + Vec3 left = new Vec3(facingDirection.z, 0.2, -facingDirection.x); + Vec3 right = new Vec3(-facingDirection.z, 0.2, facingDirection.x); + Vec3 frontLeft = front.add(left).scale(0.5); + Vec3 frontRight = front.add(right).scale(0.5); + Vec3 backRight = back.add(right).scale(0.5); + Vec3 backLeft = back.add(left).scale(0.5); + + switch (direction) { + case FRONT: + instance.player.addDeltaMovement(front); + break; + case BACK: + instance.player.addDeltaMovement(back); + break; + case LEFT: + instance.player.addDeltaMovement(left); + break; + case RIGHT: + instance.player.addDeltaMovement(right); + break; + case FRONT_LEFT: + instance.player.addDeltaMovement(frontLeft); + break; + case FRONT_RIGHT: + instance.player.addDeltaMovement(frontRight); + break; + case BACK_LEFT: + instance.player.addDeltaMovement(backLeft); + break; + case BACK_RIGHT: + instance.player.addDeltaMovement(backRight); + break; + } + } + } + + private enum InputDirection { + FRONT,BACK,LEFT,RIGHT,FRONT_LEFT,FRONT_RIGHT,BACK_RIGHT,BACK_LEFT; + } + + private void doMove() { + Minecraft instance = Minecraft.getInstance(); + assert instance.player != null; + if (instance.player.input.leftImpulse > 0 && instance.player.input.forwardImpulse > 0) { + inputDirectionAddDeltaMovement(InputDirection.FRONT_LEFT); + } else if(instance.player.input.leftImpulse < 0 && instance.player.input.forwardImpulse > 0) { + inputDirectionAddDeltaMovement(InputDirection.FRONT_RIGHT); + } else if(instance.player.input.leftImpulse > 0 && instance.player.input.forwardImpulse < 0) { + inputDirectionAddDeltaMovement(InputDirection.BACK_LEFT); + } else if(instance.player.input.leftImpulse < 0 && instance.player.input.forwardImpulse < 0) { + inputDirectionAddDeltaMovement(InputDirection.BACK_RIGHT); + }else if (instance.player.input.leftImpulse > 0) { + inputDirectionAddDeltaMovement(InputDirection.LEFT); + } else if (instance.player.input.leftImpulse < 0) { + inputDirectionAddDeltaMovement(InputDirection.RIGHT); + } else if (instance.player.input.forwardImpulse > 0) { + inputDirectionAddDeltaMovement(InputDirection.FRONT); + } else { + inputDirectionAddDeltaMovement(InputDirection.BACK); + } + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/TitaniumArmorItem.java b/src/main/java/github/premiumrush/ascension/world/item/TitaniumArmorItem.java new file mode 100644 index 0000000..6b71572 --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/TitaniumArmorItem.java @@ -0,0 +1,23 @@ +package github.premiumrush.ascension.world.item; + +import net.minecraft.core.Holder; +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.ArmorItem; +import net.minecraft.world.item.ArmorMaterial; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.TooltipFlag; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class TitaniumArmorItem extends ArmorItem { + public TitaniumArmorItem(Holder material, Type type, Properties properties) { + super(material, type, properties); + } + + @Override + public void appendHoverText(@NotNull ItemStack itemStack, @NotNull TooltipContext tooltipContext, List pToolTipComponents, @NotNull TooltipFlag pIsAdvanced) { + pToolTipComponents.add(Component.translatable("tooltip.ascension.titanium_item.tooltip")); + super.appendHoverText(itemStack, tooltipContext, pToolTipComponents, pIsAdvanced); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/TitaniumAxeItem.java b/src/main/java/github/premiumrush/ascension/world/item/TitaniumAxeItem.java new file mode 100644 index 0000000..55d3812 --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/TitaniumAxeItem.java @@ -0,0 +1,19 @@ +package github.premiumrush.ascension.world.item; + +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.*; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class TitaniumAxeItem extends AxeItem { + public TitaniumAxeItem(Tier p_43114_, Properties p_43117_) { + super(p_43114_, p_43117_); + } + + @Override + public void appendHoverText(@NotNull ItemStack pStack, @NotNull TooltipContext tooltipContext, List pToolTipComponents, TooltipFlag pIsAdvanced) { + pToolTipComponents.add(Component.translatable("tooltip.ascension.titanium_item.tooltip")); + super.appendHoverText(pStack, tooltipContext, pToolTipComponents, pIsAdvanced); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/TitaniumDaggerItem.java b/src/main/java/github/premiumrush/ascension/world/item/TitaniumDaggerItem.java new file mode 100644 index 0000000..80ef7ec --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/TitaniumDaggerItem.java @@ -0,0 +1,21 @@ +package github.premiumrush.ascension.world.item; + +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Tier; +import net.minecraft.world.item.TooltipFlag; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class TitaniumDaggerItem extends DaggerItem { + public TitaniumDaggerItem(Tier p_tier, Properties p_properties) { + super(p_tier, p_properties); + } + + @Override + public void appendHoverText(@NotNull ItemStack pStack, @NotNull TooltipContext tooltipContext, List pToolTipComponents, @NotNull TooltipFlag pIsAdvanced) { + pToolTipComponents.add(Component.translatable("tooltip.ascension.titanium_item.tooltip")); + super.appendHoverText(pStack, tooltipContext, pToolTipComponents, pIsAdvanced); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/TitaniumHoeItem.java b/src/main/java/github/premiumrush/ascension/world/item/TitaniumHoeItem.java new file mode 100644 index 0000000..fc416d7 --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/TitaniumHoeItem.java @@ -0,0 +1,19 @@ +package github.premiumrush.ascension.world.item; + +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.*; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class TitaniumHoeItem extends HoeItem { + public TitaniumHoeItem(Tier p_43114_, Properties p_43117_) { + super(p_43114_, p_43117_); + } + + @Override + public void appendHoverText(@NotNull ItemStack pStack, @NotNull TooltipContext tooltipContext, List pToolTipComponents, TooltipFlag pIsAdvanced) { + pToolTipComponents.add(Component.translatable("tooltip.ascension.titanium_item.tooltip")); + super.appendHoverText(pStack, tooltipContext, pToolTipComponents, pIsAdvanced); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/TitaniumPickaxeItem.java b/src/main/java/github/premiumrush/ascension/world/item/TitaniumPickaxeItem.java new file mode 100644 index 0000000..ad62fcb --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/TitaniumPickaxeItem.java @@ -0,0 +1,19 @@ +package github.premiumrush.ascension.world.item; + +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.*; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class TitaniumPickaxeItem extends PickaxeItem { + public TitaniumPickaxeItem(Tier p_43114_, Properties p_43117_) { + super(p_43114_, p_43117_); + } + + @Override + public void appendHoverText(@NotNull ItemStack pStack, @NotNull TooltipContext tooltipContext, List pToolTipComponents, TooltipFlag pIsAdvanced) { + pToolTipComponents.add(Component.translatable("tooltip.ascension.titanium_item.tooltip")); + super.appendHoverText(pStack, tooltipContext, pToolTipComponents, pIsAdvanced); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/TitaniumShovelItem.java b/src/main/java/github/premiumrush/ascension/world/item/TitaniumShovelItem.java new file mode 100644 index 0000000..9f549c0 --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/TitaniumShovelItem.java @@ -0,0 +1,22 @@ +package github.premiumrush.ascension.world.item; + +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.ShovelItem; +import net.minecraft.world.item.Tier; +import net.minecraft.world.item.TooltipFlag; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class TitaniumShovelItem extends ShovelItem { + public TitaniumShovelItem(Tier p_43114_, Properties p_43117_) { + super(p_43114_, p_43117_); + } + + @Override + public void appendHoverText(@NotNull ItemStack pStack, @NotNull TooltipContext tooltipContext, List pToolTipComponents, TooltipFlag pIsAdvanced) { + pToolTipComponents.add(Component.translatable("tooltip.ascension.titanium_item.tooltip")); + super.appendHoverText(pStack, tooltipContext, pToolTipComponents, pIsAdvanced); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/TitaniumSwordItem.java b/src/main/java/github/premiumrush/ascension/world/item/TitaniumSwordItem.java new file mode 100644 index 0000000..81a78ac --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/TitaniumSwordItem.java @@ -0,0 +1,19 @@ +package github.premiumrush.ascension.world.item; + +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.*; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class TitaniumSwordItem extends SwordItem { + public TitaniumSwordItem(Tier tier, Properties properties) { + super(tier, properties); + } + + @Override + public void appendHoverText(@NotNull ItemStack pStack, @NotNull TooltipContext tooltipContext, List pToolTipComponents, TooltipFlag pIsAdvanced) { + pToolTipComponents.add(Component.translatable("tooltip.ascension.titanium_item.tooltip")); + super.appendHoverText(pStack, tooltipContext, pToolTipComponents, pIsAdvanced); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/VanillaDaggerItem.java b/src/main/java/github/premiumrush/ascension/world/item/VanillaDaggerItem.java new file mode 100644 index 0000000..1b1d2ab --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/VanillaDaggerItem.java @@ -0,0 +1,21 @@ +package github.premiumrush.ascension.world.item; + +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Tier; +import net.minecraft.world.item.TooltipFlag; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class VanillaDaggerItem extends DaggerItem { + public VanillaDaggerItem(Tier p_tier, Properties p_properties) { + super(p_tier, p_properties); + } + + @Override + public void appendHoverText(@NotNull ItemStack pStack, @NotNull TooltipContext tooltipContext, List pToolTipComponents, @NotNull TooltipFlag pIsAdvanced) { + pToolTipComponents.add(Component.translatable("tooltip.ascension.vanilla_dagger.tooltip")); + super.appendHoverText(pStack, tooltipContext, pToolTipComponents, pIsAdvanced); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/VexalCrystalItem.java b/src/main/java/github/premiumrush/ascension/world/item/VexalCrystalItem.java new file mode 100644 index 0000000..d605cc8 --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/VexalCrystalItem.java @@ -0,0 +1,20 @@ +package github.premiumrush.ascension.world.item; + +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.TooltipFlag; + +import java.util.List; + +public class VexalCrystalItem extends Item { + public VexalCrystalItem(Properties properties) { + super(properties); + } + + @Override + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltipComponents, TooltipFlag tooltipFlag) { + tooltipComponents.add(Component.translatable("tooltip.ascension.vexal_crystal.tooltip")); + super.appendHoverText(stack,context,tooltipComponents,tooltipFlag); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/VexalSwordInfusedItem.java b/src/main/java/github/premiumrush/ascension/world/item/VexalSwordInfusedItem.java new file mode 100644 index 0000000..e8f727d --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/VexalSwordInfusedItem.java @@ -0,0 +1,41 @@ +package github.premiumrush.ascension.world.item; + +import net.minecraft.network.chat.Component; +import net.minecraft.world.effect.MobEffectInstance; +import net.minecraft.world.effect.MobEffects; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.monster.*; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.SwordItem; +import net.minecraft.world.item.Tier; +import net.minecraft.world.item.TooltipFlag; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class VexalSwordInfusedItem extends SwordItem { + public VexalSwordInfusedItem(Tier tier, Properties properties) { + super(tier, properties); + } + + @Override + public void appendHoverText(@NotNull ItemStack pStack, @NotNull TooltipContext tooltipContext, List pToolTipComponents, @NotNull TooltipFlag pIsAdvanced) { + pToolTipComponents.add(Component.translatable("tooltip.ascension.vexal_sword.tooltip")); + pToolTipComponents.add(Component.translatable("tooltip.ascension.infused_vexal_sword.tooltip")); + super.appendHoverText(pStack, tooltipContext, pToolTipComponents, pIsAdvanced); + } + + @Override + public boolean hurtEnemy(@NotNull ItemStack pStack, @NotNull LivingEntity pTarget, @NotNull LivingEntity pAttacker) { + if(pTarget instanceof Vex || + pTarget instanceof Phantom || + pTarget instanceof Ghast || + pTarget instanceof EnderMan || + pTarget instanceof Shulker) + { + pTarget.hurt(pTarget.damageSources().generic(),10.0F); + pTarget.addEffect(new MobEffectInstance(MobEffects.WEAKNESS,120,1)); + } + return super.hurtEnemy(pStack,pTarget,pAttacker); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/VexalSwordItem.java b/src/main/java/github/premiumrush/ascension/world/item/VexalSwordItem.java new file mode 100644 index 0000000..38c73dc --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/VexalSwordItem.java @@ -0,0 +1,40 @@ +package github.premiumrush.ascension.world.item; + +import net.minecraft.network.chat.Component; +import net.minecraft.world.effect.MobEffectInstance; +import net.minecraft.world.effect.MobEffects; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.monster.*; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.SwordItem; +import net.minecraft.world.item.Tier; +import net.minecraft.world.item.TooltipFlag; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class VexalSwordItem extends SwordItem { + public VexalSwordItem(Tier tier, Properties properties) { + super(tier, properties); + } + + @Override + public void appendHoverText(@NotNull ItemStack pStack, @NotNull TooltipContext tooltipContext, List pToolTipComponents, @NotNull TooltipFlag pIsAdvanced) { + pToolTipComponents.add(Component.translatable("tooltip.ascension.vexal_sword.tooltip")); + super.appendHoverText(pStack, tooltipContext, pToolTipComponents, pIsAdvanced); + } + + @Override + public boolean hurtEnemy(@NotNull ItemStack pStack, @NotNull LivingEntity pTarget, @NotNull LivingEntity pAttacker) { + if(pTarget instanceof Vex || + pTarget instanceof Phantom || + pTarget instanceof Ghast || + pTarget instanceof EnderMan || + pTarget instanceof Shulker) + { + pTarget.hurt(pTarget.damageSources().generic(),9.0F); + pTarget.addEffect(new MobEffectInstance(MobEffects.WEAKNESS,100,1)); + } + return super.hurtEnemy(pStack,pTarget,pAttacker); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/item/WingedSwordItem.java b/src/main/java/github/premiumrush/ascension/world/item/WingedSwordItem.java new file mode 100644 index 0000000..6ebdd7b --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/item/WingedSwordItem.java @@ -0,0 +1,73 @@ +package github.premiumrush.ascension.world.item; + +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.network.chat.Component; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.effect.MobEffectInstance; +import net.minecraft.world.effect.MobEffects; +import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.SwordItem; +import net.minecraft.world.item.Tier; +import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.level.Level; +import net.minecraft.world.phys.Vec3; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class WingedSwordItem extends SwordItem { + public WingedSwordItem(Tier tier, Properties properties) { + super(tier, properties); + } + + @Override + public void appendHoverText(@NotNull ItemStack pStack, @NotNull TooltipContext tooltipContext, List pToolTipComponents, TooltipFlag pIsAdvanced) { + pToolTipComponents.add(Component.translatable("tooltip.ascension.winged_sword_item.tooltip")); + super.appendHoverText(pStack, tooltipContext, pToolTipComponents, pIsAdvanced); + } + + @Override + public boolean hurtEnemy(@NotNull ItemStack pStack, LivingEntity pTarget, @NotNull LivingEntity pAttacker) { + pTarget.addEffect(new MobEffectInstance(MobEffects.LEVITATION,20,2),pAttacker); + return super.hurtEnemy(pStack,pTarget, pAttacker); + } + + @Override + public @NotNull InteractionResult interactLivingEntity(ItemStack pStack, Player pPlayer, LivingEntity pTarget, InteractionHand pHand) { + if(!pPlayer.getCooldowns().isOnCooldown(pStack.getItem())) { + + double Radians = Math.toRadians(pPlayer.getYRot()); + Vec3 vec3 = new Vec3(-Math.sin(Radians)*1.5, 0.7, Math.cos(Radians)*1.5); + + playParticles(pPlayer.level(), pPlayer); + pTarget.setDeltaMovement(vec3); + pStack.hurtAndBreak(1,pPlayer,EquipmentSlot.MAINHAND); + pPlayer.getCooldowns().addCooldown(pStack.getItem(), 65); + } + return super.interactLivingEntity(pStack,pPlayer,pTarget,pHand); + } + + public void playParticles(Level level, LivingEntity entity) { + double Radians1 = Math.toRadians(entity.getYRot()); + double Radians2 = Math.toRadians(entity.getYRot()+7); + double Radians4 = Math.toRadians(entity.getYRot()+14); + double Radians3 = Math.toRadians(entity.getYRot()-7); + double Radians5 = Math.toRadians(entity.getYRot()-14); + + Vec3 vec3_1 = new Vec3(-Math.sin(Radians1)*0.4, 0.2, Math.cos(Radians1)*0.4); + Vec3 vec3_2 = new Vec3(-Math.sin(Radians2)*0.4, 0.2, Math.cos(Radians2)*0.4); + Vec3 vec3_3 = new Vec3(-Math.sin(Radians3)*0.4, 0.2, Math.cos(Radians3)*0.4); + Vec3 vec3_4 = new Vec3(-Math.sin(Radians4)*0.4, 0.2, Math.cos(Radians4)*0.4); + Vec3 vec3_5 = new Vec3(-Math.sin(Radians5)*0.4, 0.2, Math.cos(Radians5)*0.4); + + level.addParticle(ParticleTypes.FIREWORK, entity.position().x(), entity.position().y(), entity.position().z(), vec3_1.x(), vec3_1.y(), vec3_1.z()); + level.addParticle(ParticleTypes.FIREWORK, entity.position().x(), entity.position().y(), entity.position().z(), vec3_2.x(), vec3_2.y(), vec3_2.z()); + level.addParticle(ParticleTypes.FIREWORK, entity.position().x(), entity.position().y(), entity.position().z(), vec3_3.x(), vec3_3.y(), vec3_3.z()); + level.addParticle(ParticleTypes.FIREWORK, entity.position().x(), entity.position().y(), entity.position().z(), vec3_4.x(), vec3_4.y(), vec3_4.z()); + level.addParticle(ParticleTypes.FIREWORK, entity.position().x(), entity.position().y(), entity.position().z(), vec3_5.x(), vec3_4.y(), vec3_5.z()); + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/particle/BubbleParticle.java b/src/main/java/github/premiumrush/ascension/world/particle/BubbleParticle.java new file mode 100644 index 0000000..f824589 --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/particle/BubbleParticle.java @@ -0,0 +1,49 @@ +package github.premiumrush.ascension.world.particle; + +import net.minecraft.client.multiplayer.ClientLevel; +import net.minecraft.client.particle.*; +import net.minecraft.core.particles.SimpleParticleType; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; +import org.jetbrains.annotations.NotNull; + +public class BubbleParticle extends TextureSheetParticle { + final SpriteSet animation; + + public BubbleParticle(ClientLevel level, SpriteSet animation, double posX, double posY, double posZ, double xd, double yd, double zd) { + super(level, posX, posY, posZ, xd, yd, zd); + this.animation = animation; + this.rCol = 1; + this.gCol = 1; + this.bCol = 1; + this.xd = xd; + this.yd = yd; + this.zd = zd; + this.lifetime = 20; + this.quadSize *= 0.75f; + setSpriteFromAge(this.animation); + } + + @Override + public void tick() { + super.tick(); + this.yd *= 0.95; + } + + @Override + public @NotNull ParticleRenderType getRenderType() { + return ParticleRenderType.PARTICLE_SHEET_OPAQUE; + } + + @OnlyIn(Dist.CLIENT) + public static class Provider implements ParticleProvider { + private final SpriteSet animation; + public Provider(SpriteSet animation) { + this.animation = animation; + } + + public Particle createParticle(@NotNull SimpleParticleType particleType, @NotNull ClientLevel level, double x, double y, double z, double dx, double dy, double dz) { + return new BubbleParticle(level, this.animation, x, y, z, dx, dy, dz); + } + } +} diff --git a/src/main/java/github/premiumrush/ascension/world/particle/ShadowDodgeParticle.java b/src/main/java/github/premiumrush/ascension/world/particle/ShadowDodgeParticle.java new file mode 100644 index 0000000..4c32fe5 --- /dev/null +++ b/src/main/java/github/premiumrush/ascension/world/particle/ShadowDodgeParticle.java @@ -0,0 +1,63 @@ +package github.premiumrush.ascension.world.particle; + +import net.minecraft.client.multiplayer.ClientLevel; +import net.minecraft.client.particle.*; +import net.minecraft.core.particles.SimpleParticleType; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; +import org.jetbrains.annotations.NotNull; + +public class ShadowDodgeParticle extends TextureSheetParticle { + public ShadowDodgeParticle(ClientLevel p_105856_, double p_105857_, double p_105858_, double p_105859_, double p_105860_, double p_105861_, double p_105862_, boolean p_105863_) { + super(p_105856_, p_105857_, p_105858_, p_105859_); + this.scale(3.0F); + this.setSize(0.25F, 0.25F); + this.lifetime = this.random.nextInt(50) + 80; + + this.rCol = 0.3515625F; + this.gCol = 0.3515625F; + this.bCol = 0.3515625F; + this.gravity = 3.0E-6F; + this.xd = p_105860_; + this.yd = p_105861_ + (double)(this.random.nextFloat() / 400.0F); + this.zd = p_105862_; + } + + public void tick() { + this.xo = this.x; + this.yo = this.y; + this.zo = this.z; + if (this.age++ < this.lifetime && !(this.alpha <= 0.0F)) { + this.xd += (double)(this.random.nextFloat() / 5000.0F * (float)(this.random.nextBoolean() ? 1 : -1)); + this.zd += (double)(this.random.nextFloat() / 5000.0F * (float)(this.random.nextBoolean() ? 1 : -1)); + this.yd -= (double)this.gravity; + this.move(this.xd, this.yd, this.zd); + if (this.age >= this.lifetime - 60 && this.alpha > 0.01F) { + this.alpha -= 0.015F; + } + + } else { + this.remove(); + } + } + + public @NotNull ParticleRenderType getRenderType() { + return ParticleRenderType.PARTICLE_SHEET_TRANSLUCENT; + } + + @OnlyIn(Dist.CLIENT) + public static class CosyProvider implements ParticleProvider { + private final SpriteSet sprites; + + public CosyProvider(SpriteSet p_105878_) { + this.sprites = p_105878_; + } + + public Particle createParticle(SimpleParticleType p_105889_, ClientLevel p_105890_, double p_105891_, double p_105892_, double p_105893_, double p_105894_, double p_105895_, double p_105896_) { + ShadowDodgeParticle $$8 = new ShadowDodgeParticle(p_105890_, p_105891_, p_105892_, p_105893_, p_105894_, p_105895_, p_105896_, false); + $$8.setAlpha(0.9F); + $$8.pickSprite(this.sprites); + return $$8; + } + } +} diff --git a/src/main/templates/META-INF/neoforge.mods.toml b/src/main/resources/META-INF/neoforge.mods.toml similarity index 90% rename from src/main/templates/META-INF/neoforge.mods.toml rename to src/main/resources/META-INF/neoforge.mods.toml index 1b9f6e9..949dcef 100644 --- a/src/main/templates/META-INF/neoforge.mods.toml +++ b/src/main/resources/META-INF/neoforge.mods.toml @@ -7,11 +7,11 @@ modLoader="javafml" #mandatory # A version range to match for said mod loader - for regular FML @Mod it will be the FML version. This is currently 2. -loaderVersion="${loader_version_range}" #mandatory +loaderVersion="[4,)" #mandatory # The license for you mod. This is mandatory metadata and allows for easier comprehension of your redistributive properties. # Review your options at https://choosealicense.com/. All rights reserved is the default copyright stance, and is thus the default here. -license="${mod_license}" +license="MIT" # A URL to refer people to when problems occur with this mod #issueTrackerURL="https://change.me.to.your.issue.tracker.example.invalid/" #optional @@ -20,13 +20,13 @@ license="${mod_license}" [[mods]] #mandatory # The modid of the mod -modId="${mod_id}" #mandatory +modId="ascension" #mandatory # The version number of the mod -version="${mod_version}" #mandatory +version="1.0.0" #mandatory # A display name for the mod -displayName="${mod_name}" #mandatory +displayName="Ascension" #mandatory # A URL to query for updates for this mod. See the JSON update specification https://docs.neoforged.net/docs/misc/updatechecker/ #updateJSONURL="https://change.me.example.invalid/updates.json" #optional @@ -41,10 +41,10 @@ displayName="${mod_name}" #mandatory #credits="" #optional # A text field displayed in the mod UI -authors="${mod_authors}" #optional +authors="PremiumRush" #optional # The description text for the mod (multi line!) (#mandatory) -description='''${mod_description}''' +description='''A reimagination of the 1.7.10 mod "Ascension".''' # The [[mixins]] block allows you to declare your mixin config to FML so that it gets loaded. #[[mixins]] @@ -58,7 +58,7 @@ description='''${mod_description}''' # The coremods config file path is not configurable and is always loaded from META-INF/coremods.json # A dependency - use the . to indicate dependency for a specific modid. Dependencies are optional. -[[dependencies.${mod_id}]] #optional +[[dependencies.ascension]] #optional # the modid of the dependency modId="neoforge" #mandatory # The type of the dependency. Can be one of "required", "optional", "incompatible" or "discouraged" (case insensitive). @@ -68,7 +68,7 @@ description='''${mod_description}''' # Optional field describing why the dependency is required or why it is incompatible # reason="..." # The version range of the dependency - versionRange="${neo_version_range}" #mandatory + versionRange="[21.1.0,)" #mandatory # An ordering relationship for the dependency. # BEFORE - This mod is loaded BEFORE the dependency # AFTER - This mod is loaded AFTER the dependency @@ -77,11 +77,11 @@ description='''${mod_description}''' side="BOTH" # Here's another dependency -[[dependencies.${mod_id}]] +[[dependencies.ascension]] modId="minecraft" type="required" # This version range declares a minimum of the current minecraft version up to but not including the next major version - versionRange="${minecraft_version_range}" + versionRange="[1.21.1, 1.22)" ordering="NONE" side="BOTH" diff --git a/src/main/resources/assets/ascension/blockstates/blaze_lantern.json b/src/main/resources/assets/ascension/blockstates/blaze_lantern.json new file mode 100644 index 0000000..6710c4d --- /dev/null +++ b/src/main/resources/assets/ascension/blockstates/blaze_lantern.json @@ -0,0 +1,10 @@ +{ + "variants": { + "hanging=false": { + "model": "ascension:block/blaze_lantern" + }, + "hanging=true": { + "model": "ascension:block/blaze_lantern_hanging" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/blockstates/budding_vexal_block.json b/src/main/resources/assets/ascension/blockstates/budding_vexal_block.json new file mode 100644 index 0000000..0572c56 --- /dev/null +++ b/src/main/resources/assets/ascension/blockstates/budding_vexal_block.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": {"model": "ascension:block/budding_vexal_block"} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/blockstates/deepslate_flerovium_ore.json b/src/main/resources/assets/ascension/blockstates/deepslate_flerovium_ore.json new file mode 100644 index 0000000..f4d539b --- /dev/null +++ b/src/main/resources/assets/ascension/blockstates/deepslate_flerovium_ore.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": {"model": "ascension:block/deepslate_flerovium_ore"} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/blockstates/deepslate_titanium_ore.json b/src/main/resources/assets/ascension/blockstates/deepslate_titanium_ore.json new file mode 100644 index 0000000..206cacf --- /dev/null +++ b/src/main/resources/assets/ascension/blockstates/deepslate_titanium_ore.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": {"model": "ascension:block/deepslate_titanium_ore"} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/blockstates/ferrotitanium_block.json b/src/main/resources/assets/ascension/blockstates/ferrotitanium_block.json new file mode 100644 index 0000000..1e02c95 --- /dev/null +++ b/src/main/resources/assets/ascension/blockstates/ferrotitanium_block.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": {"model": "ascension:block/ferrotitanium_block"} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/blockstates/ferrotitanium_chain.json b/src/main/resources/assets/ascension/blockstates/ferrotitanium_chain.json new file mode 100644 index 0000000..43bac7a --- /dev/null +++ b/src/main/resources/assets/ascension/blockstates/ferrotitanium_chain.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "ascension:block/ferrotitanium_chain", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "ascension:block/ferrotitanium_chain" + }, + "axis=z": { + "model": "ascension:block/ferrotitanium_chain", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/blockstates/flerovium_block.json b/src/main/resources/assets/ascension/blockstates/flerovium_block.json new file mode 100644 index 0000000..af0b299 --- /dev/null +++ b/src/main/resources/assets/ascension/blockstates/flerovium_block.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": {"model": "ascension:block/flerovium_block"} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/blockstates/ice_lantern.json b/src/main/resources/assets/ascension/blockstates/ice_lantern.json new file mode 100644 index 0000000..dd6b986 --- /dev/null +++ b/src/main/resources/assets/ascension/blockstates/ice_lantern.json @@ -0,0 +1,10 @@ +{ + "variants": { + "hanging=false": { + "model": "ascension:block/ice_lantern" + }, + "hanging=true": { + "model": "ascension:block/ice_lantern_hanging" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/blockstates/infusing_table.json b/src/main/resources/assets/ascension/blockstates/infusing_table.json new file mode 100644 index 0000000..55d9cc9 --- /dev/null +++ b/src/main/resources/assets/ascension/blockstates/infusing_table.json @@ -0,0 +1,13 @@ +{ + "variants": { + "facing=north,is_on=false": {"model": "minecraft:block/stone"}, + "facing=east,is_on=false": {"model": "minecraft:block/gravel", "y": 90}, + "facing=south,is_on=false": {"model": "minecraft:block/sand", "y": 180}, + "facing=west,is_on=false": {"model": "minecraft:block/dirt", "y": 270}, + + "facing=north,is_on=true": {"model": "minecraft:block/bedrock"}, + "facing=east,is_on=true": {"model": "minecraft:block/bedrock", "y": 90}, + "facing=south,is_on=true": {"model": "minecraft:block/bedrock", "y": 180}, + "facing=west,is_on=true": {"model": "minecraft:block/bedrock", "y": 270} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/blockstates/large_vexal_bud.json b/src/main/resources/assets/ascension/blockstates/large_vexal_bud.json new file mode 100644 index 0000000..9f53b0e --- /dev/null +++ b/src/main/resources/assets/ascension/blockstates/large_vexal_bud.json @@ -0,0 +1,30 @@ +{ + "variants": { + "facing=down": { + "model": "ascension:block/large_vexal_bud", + "x": 180 + }, + "facing=east": { + "model": "ascension:block/large_vexal_bud", + "x": 90, + "y": 90 + }, + "facing=north": { + "model": "ascension:block/large_vexal_bud", + "x": 90 + }, + "facing=south": { + "model": "ascension:block/large_vexal_bud", + "x": 90, + "y": 180 + }, + "facing=up": { + "model": "ascension:block/large_vexal_bud" + }, + "facing=west": { + "model": "ascension:block/large_vexal_bud", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/blockstates/medium_vexal_bud.json b/src/main/resources/assets/ascension/blockstates/medium_vexal_bud.json new file mode 100644 index 0000000..1693a3e --- /dev/null +++ b/src/main/resources/assets/ascension/blockstates/medium_vexal_bud.json @@ -0,0 +1,30 @@ +{ + "variants": { + "facing=down": { + "model": "ascension:block/medium_vexal_bud", + "x": 180 + }, + "facing=east": { + "model": "ascension:block/medium_vexal_bud", + "x": 90, + "y": 90 + }, + "facing=north": { + "model": "ascension:block/medium_vexal_bud", + "x": 90 + }, + "facing=south": { + "model": "ascension:block/medium_vexal_bud", + "x": 90, + "y": 180 + }, + "facing=up": { + "model": "ascension:block/medium_vexal_bud" + }, + "facing=west": { + "model": "ascension:block/medium_vexal_bud", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/blockstates/raw_titanium_block.json b/src/main/resources/assets/ascension/blockstates/raw_titanium_block.json new file mode 100644 index 0000000..e6eb48b --- /dev/null +++ b/src/main/resources/assets/ascension/blockstates/raw_titanium_block.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": {"model": "ascension:block/raw_titanium_block"} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/blockstates/small_vexal_bud.json b/src/main/resources/assets/ascension/blockstates/small_vexal_bud.json new file mode 100644 index 0000000..86075ae --- /dev/null +++ b/src/main/resources/assets/ascension/blockstates/small_vexal_bud.json @@ -0,0 +1,30 @@ +{ + "variants": { + "facing=down": { + "model": "ascension:block/small_vexal_bud", + "x": 180 + }, + "facing=east": { + "model": "ascension:block/small_vexal_bud", + "x": 90, + "y": 90 + }, + "facing=north": { + "model": "ascension:block/small_vexal_bud", + "x": 90 + }, + "facing=south": { + "model": "ascension:block/small_vexal_bud", + "x": 90, + "y": 180 + }, + "facing=up": { + "model": "ascension:block/small_vexal_bud" + }, + "facing=west": { + "model": "ascension:block/small_vexal_bud", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/blockstates/titanium_block.json b/src/main/resources/assets/ascension/blockstates/titanium_block.json new file mode 100644 index 0000000..11e22a1 --- /dev/null +++ b/src/main/resources/assets/ascension/blockstates/titanium_block.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": {"model": "ascension:block/titanium_block"} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/blockstates/titanium_chain.json b/src/main/resources/assets/ascension/blockstates/titanium_chain.json new file mode 100644 index 0000000..3b5d67d --- /dev/null +++ b/src/main/resources/assets/ascension/blockstates/titanium_chain.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "ascension:block/titanium_chain", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "ascension:block/titanium_chain" + }, + "axis=z": { + "model": "ascension:block/titanium_chain", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/blockstates/titanium_ore.json b/src/main/resources/assets/ascension/blockstates/titanium_ore.json new file mode 100644 index 0000000..bf1649b --- /dev/null +++ b/src/main/resources/assets/ascension/blockstates/titanium_ore.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": {"model": "ascension:block/titanium_ore"} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/blockstates/vexal_block.json b/src/main/resources/assets/ascension/blockstates/vexal_block.json new file mode 100644 index 0000000..156b43e --- /dev/null +++ b/src/main/resources/assets/ascension/blockstates/vexal_block.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": {"model": "ascension:block/vexal_block"} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/blockstates/vexal_cluster.json b/src/main/resources/assets/ascension/blockstates/vexal_cluster.json new file mode 100644 index 0000000..70777fa --- /dev/null +++ b/src/main/resources/assets/ascension/blockstates/vexal_cluster.json @@ -0,0 +1,30 @@ +{ + "variants": { + "facing=down": { + "model": "ascension:block/vexal_cluster", + "x": 180 + }, + "facing=east": { + "model": "ascension:block/vexal_cluster", + "x": 90, + "y": 90 + }, + "facing=north": { + "model": "ascension:block/vexal_cluster", + "x": 90 + }, + "facing=south": { + "model": "ascension:block/vexal_cluster", + "x": 90, + "y": 180 + }, + "facing=up": { + "model": "ascension:block/vexal_cluster" + }, + "facing=west": { + "model": "ascension:block/vexal_cluster", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/lang/en_us.json b/src/main/resources/assets/ascension/lang/en_us.json new file mode 100644 index 0000000..ca8663d --- /dev/null +++ b/src/main/resources/assets/ascension/lang/en_us.json @@ -0,0 +1,133 @@ +{ + "itemGroup.ascension_tab": "Ascension", + + "tooltip.ascension.titanium_item.tooltip": "\u00A77A slightly stronger alternative to Iron", + "tooltip.ascension.ferrotitanium_item.tooltip": "\u00A77A more durable but weaker alternative to Diamond", + "tooltip.ascension.flerovium_sworditem.tooltip": "\u00A77The strongest craftable Sword - Irradiates Enemies", + "tooltip.ascension.flerovium_daggeritem.tooltip": "\u00A77The strongest craftable Dagger - Irradiates Enemies", + "tooltip.ascension.flerovium_tool.tooltip": "\u00A77The strongest craftable Tools", + "tooltip.ascension.flerovium_armor1.tooltip": "\u00A77The strongest craftable Armor", + "tooltip.ascension.flerovium_armor2.tooltip": "\u00A77Full Set Bonus: \u00A7aPoison Resistance", + "tooltip.ascension.inactive_upgrade_item.tooltip": "\u00A77This Template needs to be activated somehow...", + "tooltip.ascension.flerovium_upgrade_applies_to.tooltip": "\u00A74Netherite Equipment", + "tooltip.ascension.flerovium_upgrade_ingredients.tooltip": "\u00A75Flerovium Crystal", + "tooltip.ascension.flerovium_upgrade_upgrade_description.tooltip": "\u00A75Flerovium Upgrade", + "tooltip.ascension.flerovium_upgrade_baseslot_description.tooltip": "Add \u00A74Netherite Armor\u00A7f, \u00A74Weapon\u00A7f, or \u00A74Tool", + "tooltip.ascension.flerovium_upgrade_additional_slot_description.tooltip": "Add \u00A75Flerovium Crystal", + "tooltip.ascension.vanilla_dagger.tooltip": "\u00A77Attacks faster than a Sword - Only hits one Target at a Time", + "tooltip.ascension.blaze_sword_item.tooltip": "\u00A74Sets Enemies on Fire, but burns You if the Enemy is immune to it", + "tooltip.ascension.ice_sword_item.tooltip": "\u00A7bFreezes and Weakens Enemies", + "tooltip.ascension.winged_sword_item.tooltip": "\u00A77Levitates Enemies on Hit, Launches them on Use", + "tooltip.ascension.razor_sword_item.tooltip": "\u00A74Cuts Bleeding Wounds into Enemies", + "tooltip.ascension.ice_armor1.tooltip": "\u00A77Full Set Bonus: \u00A7bFrost Walker", + "tooltip.ascension.ice_armor2.tooltip": "\u00A77Higher Knockback-Resistance", + "tooltip.ascension.ice_armor3.tooltip": "\u00A77Allows the Player to walk on Powder Snow", + "tooltip.ascension.vexal_sword.tooltip": "\u00A77Deals \u00A7osignificant\u00A7r \u00A77damage to \u00A73Ethereal\u00A77 Enemies and Weakens them", + "tooltip.ascension.infused_vexal_sword.tooltip": "\u00A77Allows \u00A74Blaze\u00A77 and \u00A7bIce\u00A77 Gems to drop", + "tooltip.ascension.vexal_crystal.tooltip": "\u00A77Can be found in rare Vexal Geodes underground", + "tooltip.ascension.knockback_item.tooltip": "\u00A77Deals more Knockback than other Weapons", + "tooltip.ascension.shadow_dagger.tooltip": "\u00A77On Use, performs a Dodge in the movement Direction when on Ground, dodges downwards when Airborne. Both at the expense of hunger", + "tooltip.ascension.shadow_dagger2.tooltip": "\u00A77Ability: \u00A7fInvisibility", + + "death.attack.bleeding": "%1$s bled out", + "death.attack.radiation": "%1$s died from radiation poisoning", + + "block.ascension.titanium_ore": "Titanium Ore", + "block.ascension.deepslate_titanium_ore": "Deepslate Titanium Ore", + "block.ascension.raw_titanium_block": "Block of Raw Titanium", + "block.ascension.titanium_block": "Block of Titanium", + "block.ascension.ferrotitanium_block": "Block of Ferrotitanium", + "block.ascension.vexal_cluster": "Vexal Cluster", + "block.ascension.large_vexal_bud": "Large Vexal Bud", + "block.ascension.medium_vexal_bud": "Medium Vexal Bud", + "block.ascension.small_vexal_bud": "Small Vexal Bud", + "block.ascension.vexal_block": "Vexal Block", + "block.ascension.budding_vexal_block": "Budding Vexal Block", + "block.ascension.deepslate_flerovium_ore": "Deepslate Flerovium Ore", + "block.ascension.flerovium_block": "Flerovium Crystal Block", + + "block.ascension.infusing_table": "Infusion Table", + "block.ascension.ice_lantern": "Ice Lantern", + "block.ascension.blaze_lantern": "Blaze Lantern", + "block.ascension.titanium_chain": "Titanium Chain", + "block.ascension.ferrotitanium_chain": "Ferrotitanium Chain", + + "item.ascension.golem_gyro": "Golem Gyro", + "item.ascension.omega": "Omega", + "item.ascension.raw_titanium": "Raw Titanium", + "item.ascension.titanium_ingot": "Titanium Ingot", + "item.ascension.titanium_nugget": "Titanium Nugget", + "item.ascension.ferrotitanium_blend": "Ferrotitanium Blend", + "item.ascension.ferrotitanium_ingot": "Ferrotitanium Ingot", + "item.ascension.ferrotitanium_nugget": "Ferrotitanium Nugget", + "item.ascension.vexal_crystal": "Vexal Crystal", + "item.ascension.infused_vexal_crystal": "Infused Vexal Crystal", + "item.ascension.flerovium_upgrade_smithing_template_inactive": "Dormant Smithing Template", + "item.ascension.flerovium_shard": "Flerovium Shard", + "item.ascension.flerovium_crystal": "Flerovium Crystal", + "item.ascension.refined_diamond_crystal_shard": "Refined Diamond Crystal Shard", + "item.ascension.refined_diamond_crystal": "Refined Diamond Crystal", + "item.ascension.shark_tooth": "Shark Tooth", + "item.ascension.blaze_gem": "Blaze Gem", + "item.ascension.ice_gem": "Ice Gem", + "item.ascension.cold_blaze_rod": "Cold Blaze Rod", + "item.ascension.obsidian_rod": "Obsidian Rod", + "item.ascension.large_magic": "Large Magic Spark", + "item.ascension.small_magic": "Small Magic Spark", + "item.ascension.large_oblivion": "Large Oblivion Core", + "item.ascension.small_oblivion": "Small Oblivion Core", + + "item.ascension.titanium_shovel": "Titanium Shovel", + "item.ascension.titanium_pickaxe": "Titanium Pickaxe", + "item.ascension.titanium_axe": "Titanium Axe", + "item.ascension.titanium_hoe": "Titanium Hoe", + "item.ascension.titanium_sword": "Titanium Sword", + "item.ascension.titanium_dagger": "Titanium Dagger", + "item.ascension.ferrotitanium_shovel": "Ferrotitanium Shovel", + "item.ascension.ferrotitanium_pickaxe": "Ferrotitanium Pickaxe", + "item.ascension.ferrotitanium_axe": "Ferrotitanium Axe", + "item.ascension.ferrotitanium_hoe": "Ferrotitanium Hoe", + "item.ascension.ferrotitanium_sword": "Ferrotitanium Sword", + "item.ascension.ferrotitanium_dagger": "Ferrotitanium Dagger", + "item.ascension.flerovium_upgrade_smithing_template": "Flerovium Upgrade Smithing Template", + "item.ascension.flerovium_shovel": "Flerovium Shovel", + "item.ascension.flerovium_pickaxe": "Flerovium Pickaxe", + "item.ascension.flerovium_axe": "Flerovium Axe", + "item.ascension.flerovium_hoe": "Flerovium Hoe", + "item.ascension.flerovium_sword": "Flerovium Sword", + "item.ascension.flerovium_dagger": "Flerovium Dagger", + "item.ascension.iron_dagger": "Iron Dagger", + "item.ascension.gold_dagger": "Gold Dagger", + "item.ascension.diamond_dagger": "Diamond Dagger", + "item.ascension.netherite_dagger": "Netherite Dagger", + "item.ascension.vexal_sword": "Vexal Sword", + "item.ascension.infused_vexal_sword": "Infused Vexal Sword", + "item.ascension.blaze_sword": "Blaze Sword", + "item.ascension.ice_sword": "Ice Sword", + "item.ascension.winged_blade": "Winged Blade", + "item.ascension.razor_sword": "Razor Sword", + "item.ascension.gyro_mace": "Gyro Mace", + "item.ascension.shadow_dagger": "Shadow Dagger", + + "item.ascension.titanium_helmet": "Titanium Helmet", + "item.ascension.titanium_chestplate": "Titanium Chestplate", + "item.ascension.titanium_leggings": "Titanium Leggings", + "item.ascension.titanium_boots": "Titanium Boots", + "item.ascension.ferrotitanium_helmet": "Ferrotitanium Helmet", + "item.ascension.ferrotitanium_chestplate": "Ferrotitanium Chestplate", + "item.ascension.ferrotitanium_leggings": "Ferrotitanium Leggings", + "item.ascension.ferrotitanium_boots": "Ferrotitanium Boots", + "item.ascension.flerovium_helmet": "Flerovium Helmet", + "item.ascension.flerovium_chestplate": "Flerovium Chestplate", + "item.ascension.flerovium_leggings": "Flerovium Leggings", + "item.ascension.flerovium_boots": "Flerovium Boots", + "item.ascension.ice_helmet": "Ice Helmet", + "item.ascension.ice_chestplate": "Ice Chestplate", + "item.ascension.ice_leggings": "Ice Leggings", + "item.ascension.ice_boots": "Ice Boots", + + "item.ascension.stick_of_inversion": "Stick of Inversion", + + "effect.ascension.bleeding": "Bleeding", + "effect.ascension.radiation": "Radiation" +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/block/blaze_lantern.json b/src/main/resources/assets/ascension/models/block/blaze_lantern.json new file mode 100644 index 0000000..28b7ae6 --- /dev/null +++ b/src/main/resources/assets/ascension/models/block/blaze_lantern.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/template_lantern", + "textures": { + "lantern": "ascension:block/blaze_lantern" + }, + "render_type": "cutout" +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/block/blaze_lantern_hanging.json b/src/main/resources/assets/ascension/models/block/blaze_lantern_hanging.json new file mode 100644 index 0000000..154bade --- /dev/null +++ b/src/main/resources/assets/ascension/models/block/blaze_lantern_hanging.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/template_hanging_lantern", + "textures": { + "lantern": "ascension:block/blaze_lantern" + }, + "render_type": "cutout" +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/block/budding_vexal_block.json b/src/main/resources/assets/ascension/models/block/budding_vexal_block.json new file mode 100644 index 0000000..5b8a9b5 --- /dev/null +++ b/src/main/resources/assets/ascension/models/block/budding_vexal_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "ascension:block/budding_vexal_block" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/block/deepslate_flerovium_ore.json b/src/main/resources/assets/ascension/models/block/deepslate_flerovium_ore.json new file mode 100644 index 0000000..b4bf81c --- /dev/null +++ b/src/main/resources/assets/ascension/models/block/deepslate_flerovium_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "ascension:block/deepslate_flerovium_ore" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/block/deepslate_titanium_ore.json b/src/main/resources/assets/ascension/models/block/deepslate_titanium_ore.json new file mode 100644 index 0000000..8f8d046 --- /dev/null +++ b/src/main/resources/assets/ascension/models/block/deepslate_titanium_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "ascension:block/deepslate_titanium_ore" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/block/ferrotitanium_block.json b/src/main/resources/assets/ascension/models/block/ferrotitanium_block.json new file mode 100644 index 0000000..3729d7b --- /dev/null +++ b/src/main/resources/assets/ascension/models/block/ferrotitanium_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "ascension:block/ferrotitanium_block" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/block/ferrotitanium_chain.json b/src/main/resources/assets/ascension/models/block/ferrotitanium_chain.json new file mode 100644 index 0000000..baf80d0 --- /dev/null +++ b/src/main/resources/assets/ascension/models/block/ferrotitanium_chain.json @@ -0,0 +1,30 @@ +{ + "parent": "block/block", + "textures": { + "particle": "ascension:block/ferrotitanium_chain", + "all": "ascension:block/ferrotitanium_chain" + }, + "elements": [ + { + "from": [ 6.5, 0, 8 ], + "to": [ 9.5, 16, 8 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45}, + "shade": false, + "faces": { + "north": { "uv": [ 3, 0, 0, 16 ], "texture": "#all" }, + "south": { "uv": [ 0, 0, 3, 16 ], "texture": "#all" } + } + }, + { + "from": [ 8, 0, 6.5 ], + "to": [ 8, 16, 9.5 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45}, + "shade": false, + "faces": { + "west": { "uv": [ 6, 0, 3, 16 ], "texture": "#all" }, + "east": { "uv": [ 3, 0, 6, 16 ], "texture": "#all" } + } + } + ], + "render_type": "cutout" +} diff --git a/src/main/resources/assets/ascension/models/block/flerovium_block.json b/src/main/resources/assets/ascension/models/block/flerovium_block.json new file mode 100644 index 0000000..a7f8174 --- /dev/null +++ b/src/main/resources/assets/ascension/models/block/flerovium_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "ascension:block/flerovium_block" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/block/ice_lantern.json b/src/main/resources/assets/ascension/models/block/ice_lantern.json new file mode 100644 index 0000000..c5fc22f --- /dev/null +++ b/src/main/resources/assets/ascension/models/block/ice_lantern.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/template_lantern", + "textures": { + "lantern": "ascension:block/ice_lantern" + }, + "render_type": "cutout" +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/block/ice_lantern_hanging.json b/src/main/resources/assets/ascension/models/block/ice_lantern_hanging.json new file mode 100644 index 0000000..0376004 --- /dev/null +++ b/src/main/resources/assets/ascension/models/block/ice_lantern_hanging.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/template_hanging_lantern", + "textures": { + "lantern": "ascension:block/ice_lantern" + }, + "render_type": "cutout" +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/block/infusing_table.json b/src/main/resources/assets/ascension/models/block/infusing_table.json new file mode 100644 index 0000000..104a199 --- /dev/null +++ b/src/main/resources/assets/ascension/models/block/infusing_table.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "minecraft:block/obsidian" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/block/large_vexal_bud.json b/src/main/resources/assets/ascension/models/block/large_vexal_bud.json new file mode 100644 index 0000000..948c080 --- /dev/null +++ b/src/main/resources/assets/ascension/models/block/large_vexal_bud.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "ascension:block/large_vexal_bud" + }, + "render_type": "cutout" +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/block/medium_vexal_bud.json b/src/main/resources/assets/ascension/models/block/medium_vexal_bud.json new file mode 100644 index 0000000..c6f06f0 --- /dev/null +++ b/src/main/resources/assets/ascension/models/block/medium_vexal_bud.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "ascension:block/medium_vexal_bud" + }, + "render_type": "cutout" +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/block/raw_titanium_block.json b/src/main/resources/assets/ascension/models/block/raw_titanium_block.json new file mode 100644 index 0000000..2f8c05d --- /dev/null +++ b/src/main/resources/assets/ascension/models/block/raw_titanium_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "ascension:block/raw_titanium_block" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/block/small_vexal_bud.json b/src/main/resources/assets/ascension/models/block/small_vexal_bud.json new file mode 100644 index 0000000..fbea92e --- /dev/null +++ b/src/main/resources/assets/ascension/models/block/small_vexal_bud.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "ascension:block/small_vexal_bud" + }, + "render_type": "cutout" +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/block/titanium_block.json b/src/main/resources/assets/ascension/models/block/titanium_block.json new file mode 100644 index 0000000..6a6f23d --- /dev/null +++ b/src/main/resources/assets/ascension/models/block/titanium_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "ascension:block/titanium_block" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/block/titanium_chain.json b/src/main/resources/assets/ascension/models/block/titanium_chain.json new file mode 100644 index 0000000..3bcfe50 --- /dev/null +++ b/src/main/resources/assets/ascension/models/block/titanium_chain.json @@ -0,0 +1,30 @@ +{ + "parent": "block/block", + "textures": { + "particle": "ascension:block/titanium_chain", + "all": "ascension:block/titanium_chain" + }, + "elements": [ + { + "from": [ 6.5, 0, 8 ], + "to": [ 9.5, 16, 8 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45}, + "shade": false, + "faces": { + "north": { "uv": [ 3, 0, 0, 16 ], "texture": "#all" }, + "south": { "uv": [ 0, 0, 3, 16 ], "texture": "#all" } + } + }, + { + "from": [ 8, 0, 6.5 ], + "to": [ 8, 16, 9.5 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45}, + "shade": false, + "faces": { + "west": { "uv": [ 6, 0, 3, 16 ], "texture": "#all" }, + "east": { "uv": [ 3, 0, 6, 16 ], "texture": "#all" } + } + } + ], + "render_type": "cutout" +} diff --git a/src/main/resources/assets/ascension/models/block/titanium_ore.json b/src/main/resources/assets/ascension/models/block/titanium_ore.json new file mode 100644 index 0000000..8f19c52 --- /dev/null +++ b/src/main/resources/assets/ascension/models/block/titanium_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "ascension:block/titanium_ore" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/block/vexal_block.json b/src/main/resources/assets/ascension/models/block/vexal_block.json new file mode 100644 index 0000000..b227469 --- /dev/null +++ b/src/main/resources/assets/ascension/models/block/vexal_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "ascension:block/vexal_block" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/block/vexal_cluster.json b/src/main/resources/assets/ascension/models/block/vexal_cluster.json new file mode 100644 index 0000000..17ad1b2 --- /dev/null +++ b/src/main/resources/assets/ascension/models/block/vexal_cluster.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "ascension:block/vexal_cluster" + }, + "render_type": "cutout" +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/custom/gyro_mace_handheld.json b/src/main/resources/assets/ascension/models/custom/gyro_mace_handheld.json new file mode 100644 index 0000000..872fdbe --- /dev/null +++ b/src/main/resources/assets/ascension/models/custom/gyro_mace_handheld.json @@ -0,0 +1,274 @@ +{ + "textures": { + "0": "ascension:item/gyro_mace", + "particle": "ascension:item/gyro_mace" + }, + "elements": [ + { + "from": [7, 2, 9], + "to": [8, 15, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 2, 9]}, + "faces": { + "north": {"uv": [0, 0, 1, 13], "texture": "#0"}, + "east": {"uv": [1, 0, 2, 13], "texture": "#0"}, + "south": {"uv": [2, 0, 3, 13], "texture": "#0"}, + "west": {"uv": [3, 0, 4, 13], "texture": "#0"}, + "up": {"uv": [14, 3, 13, 2], "texture": "#0"}, + "down": {"uv": [4, 13, 3, 14], "texture": "#0"} + } + }, + { + "from": [7, 1, 8], + "to": [8, 2, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 8]}, + "faces": { + "north": {"uv": [13, 3, 14, 4], "texture": "#0"}, + "east": {"uv": [4, 12, 7, 13], "texture": "#0"}, + "south": {"uv": [4, 13, 5, 14], "texture": "#0"}, + "west": {"uv": [7, 12, 10, 13], "texture": "#0"}, + "up": {"uv": [11, 15, 10, 12], "texture": "#0"}, + "down": {"uv": [12, 12, 11, 15], "texture": "#0"} + } + }, + { + "from": [6, 1, 9], + "to": [9, 2, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 9]}, + "faces": { + "north": {"uv": [12, 12, 15, 13], "texture": "#0"}, + "east": {"uv": [13, 4, 14, 5], "texture": "#0"}, + "south": {"uv": [0, 13, 3, 14], "texture": "#0"}, + "west": {"uv": [5, 13, 6, 14], "texture": "#0"}, + "up": {"uv": [16, 1, 13, 0], "texture": "#0"}, + "down": {"uv": [16, 1, 13, 2], "texture": "#0"} + } + }, + { + "from": [6, 15, 8], + "to": [9, 15, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 15, 9]}, + "faces": { + "north": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "up": {"uv": [7, 3, 4, 0], "texture": "#0"}, + "down": {"uv": [7, 3, 4, 6], "texture": "#0"} + } + }, + { + "from": [6, 18, 8], + "to": [9, 18, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 18, 9]}, + "faces": { + "north": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "up": {"uv": [7, 9, 4, 6], "texture": "#0"}, + "down": {"uv": [10, 0, 7, 3], "texture": "#0"} + } + }, + { + "from": [6, 15, 11], + "to": [9, 18, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 15, 11]}, + "faces": { + "north": {"uv": [10, 0, 13, 3], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 3], "texture": "#0"}, + "south": {"uv": [10, 3, 13, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 3], "texture": "#0"}, + "up": {"uv": [3, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [3, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [9, 15, 8], + "to": [9, 18, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 15, 9]}, + "faces": { + "north": {"uv": [0, 0, 0, 3], "texture": "#0"}, + "east": {"uv": [10, 6, 13, 9], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 3], "texture": "#0"}, + "west": {"uv": [10, 9, 13, 12], "texture": "#0"}, + "up": {"uv": [0, 3, 0, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 3], "texture": "#0"} + } + }, + { + "from": [6, 15, 8], + "to": [6, 18, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 15, 10]}, + "faces": { + "north": {"uv": [0, 0, 0, 3], "texture": "#0"}, + "east": {"uv": [7, 3, 10, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 3], "texture": "#0"}, + "west": {"uv": [7, 6, 10, 9], "texture": "#0"}, + "up": {"uv": [0, 3, 0, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 3], "texture": "#0"} + } + }, + { + "from": [6, 15, 8], + "to": [9, 18, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 15, 8]}, + "faces": { + "north": {"uv": [4, 9, 7, 12], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 3], "texture": "#0"}, + "south": {"uv": [7, 9, 10, 12], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 3], "texture": "#0"}, + "up": {"uv": [3, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [3, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [4.875, 18, 7.64], + "to": [5.875, 19, 7.64], + "rotation": {"angle": -45, "axis": "y", "origin": [5.5, 18.5, 8]}, + "faces": { + "north": {"uv": [13, 5, 14, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "south": {"uv": [6, 13, 7, 14], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "up": {"uv": [1, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [1, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [8.84666, 18, 11.33754], + "to": [9.84666, 19, 11.33754], + "rotation": {"angle": -45, "axis": "y", "origin": [9.34666, 18.5, 11.33754]}, + "faces": { + "north": {"uv": [14, 2, 15, 3], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "south": {"uv": [3, 14, 4, 15], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "up": {"uv": [1, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [1, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [10.08, 14, 7.64], + "to": [11.08, 15, 7.64], + "rotation": {"angle": -45, "axis": "y", "origin": [5.5, 14.5, 8]}, + "faces": { + "north": {"uv": [14, 4, 15, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "south": {"uv": [5, 14, 6, 15], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "up": {"uv": [1, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [1, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [4.875, 14, 7.64], + "to": [5.875, 15, 7.64], + "rotation": {"angle": -45, "axis": "y", "origin": [5.5, 14.5, 8]}, + "faces": { + "north": {"uv": [13, 13, 14, 14], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "south": {"uv": [0, 14, 1, 15], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "up": {"uv": [1, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [1, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [9.125, 18, 7.64], + "to": [10.125, 19, 7.64], + "rotation": {"angle": 45, "axis": "y", "origin": [9.5, 18.5, 8]}, + "faces": { + "north": {"uv": [13, 9, 14, 10], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "south": {"uv": [13, 10, 14, 11], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "up": {"uv": [1, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [1, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [3.92, 18, 7.64], + "to": [4.92, 19, 7.64], + "rotation": {"angle": 45, "axis": "y", "origin": [9.5, 18.5, 8]}, + "faces": { + "north": {"uv": [1, 14, 2, 15], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "south": {"uv": [2, 14, 3, 15], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "up": {"uv": [1, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [1, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [3.92, 14, 7.64], + "to": [4.92, 15, 7.64], + "rotation": {"angle": 45, "axis": "y", "origin": [9.5, 14.5, 8]}, + "faces": { + "north": {"uv": [14, 3, 15, 4], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "south": {"uv": [4, 14, 5, 15], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "up": {"uv": [1, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [1, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [9.125, 14, 7.64], + "to": [10.125, 15, 7.64], + "rotation": {"angle": 45, "axis": "y", "origin": [9.5, 14.5, 8]}, + "faces": { + "north": {"uv": [13, 11, 14, 12], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "south": {"uv": [12, 13, 13, 14], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "up": {"uv": [1, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [1, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [7, 16, 9], + "to": [8, 17, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 15, 9]}, + "faces": { + "north": {"uv": [13, 6, 14, 7], "texture": "#0"}, + "east": {"uv": [7, 13, 8, 14], "texture": "#0"}, + "south": {"uv": [13, 7, 14, 8], "texture": "#0"}, + "west": {"uv": [8, 13, 9, 14], "texture": "#0"}, + "up": {"uv": [14, 9, 13, 8], "texture": "#0"}, + "down": {"uv": [10, 13, 9, 14], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "translation": [0.5, 0, 0] + }, + "thirdperson_lefthand": { + "translation": [-0.5, 0, 0] + }, + "firstperson_righthand": { + "rotation": [-2, 0, 0], + "translation": [0.25, -2.5, 0], + "scale": [0.9, 0.9, 0.68] + }, + "firstperson_lefthand": { + "rotation": [-2, 0, 0], + "translation": [-0.25, -2.5, 0], + "scale": [0.9, 0.9, 0.68] + } + }, + "groups": [ + { + "name": "staff", + "origin": [8, 0, 0], + "color": 0, + "children": [0, 1, 2] + }, + { + "name": "head", + "origin": [8, 8, 8], + "color": 0, + "children": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/blaze_gem.json b/src/main/resources/assets/ascension/models/item/blaze_gem.json new file mode 100644 index 0000000..974886b --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/blaze_gem.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/blaze_gem" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/blaze_lantern.json b/src/main/resources/assets/ascension/models/item/blaze_lantern.json new file mode 100644 index 0000000..043623a --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/blaze_lantern.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/blaze_lantern" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/blaze_sword.json b/src/main/resources/assets/ascension/models/item/blaze_sword.json new file mode 100644 index 0000000..464ced6 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/blaze_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures":{ + "layer0": "ascension:item/blaze_sword" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/budding_vexal_block.json b/src/main/resources/assets/ascension/models/item/budding_vexal_block.json new file mode 100644 index 0000000..2726bda --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/budding_vexal_block.json @@ -0,0 +1,3 @@ +{ + "parent": "ascension:block/budding_vexal_block" +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/cold_blaze_rod.json b/src/main/resources/assets/ascension/models/item/cold_blaze_rod.json new file mode 100644 index 0000000..284fe1a --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/cold_blaze_rod.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "ascension:item/cold_blaze_rod" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/deepslate_flerovium_ore.json b/src/main/resources/assets/ascension/models/item/deepslate_flerovium_ore.json new file mode 100644 index 0000000..fa4eeda --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/deepslate_flerovium_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "ascension:block/deepslate_flerovium_ore" +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/deepslate_titanium_ore.json b/src/main/resources/assets/ascension/models/item/deepslate_titanium_ore.json new file mode 100644 index 0000000..2750e95 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/deepslate_titanium_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "ascension:block/deepslate_titanium_ore" +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/diamond_dagger.json b/src/main/resources/assets/ascension/models/item/diamond_dagger.json new file mode 100644 index 0000000..407e797 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/diamond_dagger.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures":{ + "layer0": "ascension:item/diamond_dagger" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/ferrotitanium_axe.json b/src/main/resources/assets/ascension/models/item/ferrotitanium_axe.json new file mode 100644 index 0000000..7e254d2 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/ferrotitanium_axe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures":{ + "layer0": "ascension:item/ferrotitanium_axe" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/ferrotitanium_blend.json b/src/main/resources/assets/ascension/models/item/ferrotitanium_blend.json new file mode 100644 index 0000000..00305c3 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/ferrotitanium_blend.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/ferrotitanium_blend" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/ferrotitanium_block.json b/src/main/resources/assets/ascension/models/item/ferrotitanium_block.json new file mode 100644 index 0000000..1536010 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/ferrotitanium_block.json @@ -0,0 +1,3 @@ +{ + "parent": "ascension:block/ferrotitanium_block" +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/ferrotitanium_boots.json b/src/main/resources/assets/ascension/models/item/ferrotitanium_boots.json new file mode 100644 index 0000000..28f6fcd --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/ferrotitanium_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/ferrotitanium_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/ferrotitanium_chain.json b/src/main/resources/assets/ascension/models/item/ferrotitanium_chain.json new file mode 100644 index 0000000..b0f90a5 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/ferrotitanium_chain.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/ferrotitanium_chain" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/ferrotitanium_chestplate.json b/src/main/resources/assets/ascension/models/item/ferrotitanium_chestplate.json new file mode 100644 index 0000000..a784a67 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/ferrotitanium_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/ferrotitanium_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/ferrotitanium_dagger.json b/src/main/resources/assets/ascension/models/item/ferrotitanium_dagger.json new file mode 100644 index 0000000..d32237a --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/ferrotitanium_dagger.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures":{ + "layer0": "ascension:item/ferrotitanium_dagger" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/ferrotitanium_helmet.json b/src/main/resources/assets/ascension/models/item/ferrotitanium_helmet.json new file mode 100644 index 0000000..3e1c05f --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/ferrotitanium_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/ferrotitanium_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/ferrotitanium_hoe.json b/src/main/resources/assets/ascension/models/item/ferrotitanium_hoe.json new file mode 100644 index 0000000..6f1e2aa --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/ferrotitanium_hoe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures":{ + "layer0": "ascension:item/ferrotitanium_hoe" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/ferrotitanium_ingot.json b/src/main/resources/assets/ascension/models/item/ferrotitanium_ingot.json new file mode 100644 index 0000000..d1d0746 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/ferrotitanium_ingot.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/ferrotitanium_ingot" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/ferrotitanium_leggings.json b/src/main/resources/assets/ascension/models/item/ferrotitanium_leggings.json new file mode 100644 index 0000000..454771f --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/ferrotitanium_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/ferrotitanium_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/ferrotitanium_nugget.json b/src/main/resources/assets/ascension/models/item/ferrotitanium_nugget.json new file mode 100644 index 0000000..a6604ca --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/ferrotitanium_nugget.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/ferrotitanium_nugget" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/ferrotitanium_pickaxe.json b/src/main/resources/assets/ascension/models/item/ferrotitanium_pickaxe.json new file mode 100644 index 0000000..bd8e629 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/ferrotitanium_pickaxe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures":{ + "layer0": "ascension:item/ferrotitanium_pickaxe" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/ferrotitanium_shovel.json b/src/main/resources/assets/ascension/models/item/ferrotitanium_shovel.json new file mode 100644 index 0000000..9b73436 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/ferrotitanium_shovel.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures":{ + "layer0": "ascension:item/ferrotitanium_shovel" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/ferrotitanium_sword.json b/src/main/resources/assets/ascension/models/item/ferrotitanium_sword.json new file mode 100644 index 0000000..e577c4c --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/ferrotitanium_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures":{ + "layer0": "ascension:item/ferrotitanium_sword" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/flerovium_axe.json b/src/main/resources/assets/ascension/models/item/flerovium_axe.json new file mode 100644 index 0000000..e3878b6 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/flerovium_axe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures":{ + "layer0": "ascension:item/flerovium_axe" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/flerovium_block.json b/src/main/resources/assets/ascension/models/item/flerovium_block.json new file mode 100644 index 0000000..8500f2f --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/flerovium_block.json @@ -0,0 +1,3 @@ +{ + "parent": "ascension:block/flerovium_block" +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/flerovium_boots.json b/src/main/resources/assets/ascension/models/item/flerovium_boots.json new file mode 100644 index 0000000..8135f6b --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/flerovium_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/flerovium_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/flerovium_chestplate.json b/src/main/resources/assets/ascension/models/item/flerovium_chestplate.json new file mode 100644 index 0000000..2d12399 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/flerovium_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/flerovium_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/flerovium_crystal.json b/src/main/resources/assets/ascension/models/item/flerovium_crystal.json new file mode 100644 index 0000000..04df9e9 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/flerovium_crystal.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/flerovium_crystal" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/flerovium_dagger.json b/src/main/resources/assets/ascension/models/item/flerovium_dagger.json new file mode 100644 index 0000000..2d87262 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/flerovium_dagger.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures":{ + "layer0": "ascension:item/flerovium_dagger" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/flerovium_helmet.json b/src/main/resources/assets/ascension/models/item/flerovium_helmet.json new file mode 100644 index 0000000..8b5efd3 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/flerovium_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/flerovium_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/flerovium_hoe.json b/src/main/resources/assets/ascension/models/item/flerovium_hoe.json new file mode 100644 index 0000000..f8c95cb --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/flerovium_hoe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures":{ + "layer0": "ascension:item/flerovium_hoe" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/flerovium_leggings.json b/src/main/resources/assets/ascension/models/item/flerovium_leggings.json new file mode 100644 index 0000000..96e8139 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/flerovium_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/flerovium_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/flerovium_pickaxe.json b/src/main/resources/assets/ascension/models/item/flerovium_pickaxe.json new file mode 100644 index 0000000..f199ad8 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/flerovium_pickaxe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures":{ + "layer0": "ascension:item/flerovium_pickaxe" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/flerovium_shard.json b/src/main/resources/assets/ascension/models/item/flerovium_shard.json new file mode 100644 index 0000000..a65cf20 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/flerovium_shard.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/flerovium_shard" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/flerovium_shovel.json b/src/main/resources/assets/ascension/models/item/flerovium_shovel.json new file mode 100644 index 0000000..5349f75 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/flerovium_shovel.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures":{ + "layer0": "ascension:item/flerovium_shovel" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/flerovium_sword.json b/src/main/resources/assets/ascension/models/item/flerovium_sword.json new file mode 100644 index 0000000..7835705 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/flerovium_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures":{ + "layer0": "ascension:item/flerovium_sword" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/flerovium_upgrade_smithing_template.json b/src/main/resources/assets/ascension/models/item/flerovium_upgrade_smithing_template.json new file mode 100644 index 0000000..8527885 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/flerovium_upgrade_smithing_template.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/flerovium_upgrade_smithing_template" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/flerovium_upgrade_smithing_template_inactive.json b/src/main/resources/assets/ascension/models/item/flerovium_upgrade_smithing_template_inactive.json new file mode 100644 index 0000000..7d095af --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/flerovium_upgrade_smithing_template_inactive.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/flerovium_upgrade_smithing_template_inactive" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/gold_dagger.json b/src/main/resources/assets/ascension/models/item/gold_dagger.json new file mode 100644 index 0000000..1df68b3 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/gold_dagger.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures":{ + "layer0": "ascension:item/gold_dagger" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/golem_gyro.json b/src/main/resources/assets/ascension/models/item/golem_gyro.json new file mode 100644 index 0000000..ac00bde --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/golem_gyro.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "ascension:item/golem_gyro" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/gyro_mace.json b/src/main/resources/assets/ascension/models/item/gyro_mace.json new file mode 100644 index 0000000..f735c03 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/gyro_mace.json @@ -0,0 +1,31 @@ +{ + "loader": "neoforge:separate_transforms", + "gui_light": "front", + "base": { + "parent": "ascension:custom/gyro_mace_handheld", + "textures": { + "0": "ascension:block/gyro_mace_handheld" + } + }, + "perspectives": { + "gui": { + "parent": "item/generated", + "textures": { + "layer0": "ascension:item/gyro_mace_full" + }, + "gui_light": "front" + }, + "ground": { + "parent": "item/generated", + "textures": { + "layer0": "ascension:item/gyro_mace_full" + } + }, + "fixed": { + "parent": "item/generated", + "textures": { + "layer0": "ascension:item/gyro_mace_full" + } + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/ice_boots.json b/src/main/resources/assets/ascension/models/item/ice_boots.json new file mode 100644 index 0000000..e74283e --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/ice_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/ice_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/ice_chestplate.json b/src/main/resources/assets/ascension/models/item/ice_chestplate.json new file mode 100644 index 0000000..b5a50da --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/ice_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/ice_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/ice_gem.json b/src/main/resources/assets/ascension/models/item/ice_gem.json new file mode 100644 index 0000000..72fa080 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/ice_gem.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/ice_gem" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/ice_helmet.json b/src/main/resources/assets/ascension/models/item/ice_helmet.json new file mode 100644 index 0000000..045ad3c --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/ice_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/ice_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/ice_lantern.json b/src/main/resources/assets/ascension/models/item/ice_lantern.json new file mode 100644 index 0000000..bc998b9 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/ice_lantern.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/ice_lantern" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/ice_leggings.json b/src/main/resources/assets/ascension/models/item/ice_leggings.json new file mode 100644 index 0000000..8f655f1 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/ice_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/ice_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/ice_sword.json b/src/main/resources/assets/ascension/models/item/ice_sword.json new file mode 100644 index 0000000..4d03513 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/ice_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures":{ + "layer0": "ascension:item/ice_sword" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/infused_vexal_crystal.json b/src/main/resources/assets/ascension/models/item/infused_vexal_crystal.json new file mode 100644 index 0000000..14b0f7c --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/infused_vexal_crystal.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/infused_vexal_crystal" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/infused_vexal_sword.json b/src/main/resources/assets/ascension/models/item/infused_vexal_sword.json new file mode 100644 index 0000000..c16c4b9 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/infused_vexal_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures":{ + "layer0": "ascension:item/infused_vexal_sword" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/infusing_table.json b/src/main/resources/assets/ascension/models/item/infusing_table.json new file mode 100644 index 0000000..9f13dcc --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/infusing_table.json @@ -0,0 +1,3 @@ +{ + "parent": "ascension:block/infusing_table" +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/iron_dagger.json b/src/main/resources/assets/ascension/models/item/iron_dagger.json new file mode 100644 index 0000000..6dfdb54 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/iron_dagger.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures":{ + "layer0": "ascension:item/iron_dagger" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/large_magic.json b/src/main/resources/assets/ascension/models/item/large_magic.json new file mode 100644 index 0000000..7aca54b --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/large_magic.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/large_magic" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/large_oblivion.json b/src/main/resources/assets/ascension/models/item/large_oblivion.json new file mode 100644 index 0000000..32a2d9c --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/large_oblivion.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/large_oblivion" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/large_vexal_bud.json b/src/main/resources/assets/ascension/models/item/large_vexal_bud.json new file mode 100644 index 0000000..f92e260 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/large_vexal_bud.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:block/large_vexal_bud" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/medium_vexal_bud.json b/src/main/resources/assets/ascension/models/item/medium_vexal_bud.json new file mode 100644 index 0000000..e84c7a1 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/medium_vexal_bud.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:block/medium_vexal_bud" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/netherite_dagger.json b/src/main/resources/assets/ascension/models/item/netherite_dagger.json new file mode 100644 index 0000000..a0931f6 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/netherite_dagger.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures":{ + "layer0": "ascension:item/netherite_dagger" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/obsidian_rod.json b/src/main/resources/assets/ascension/models/item/obsidian_rod.json new file mode 100644 index 0000000..211343d --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/obsidian_rod.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures":{ + "layer0": "ascension:item/obsidian_rod" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/omega.json b/src/main/resources/assets/ascension/models/item/omega.json new file mode 100644 index 0000000..cbf5b9c --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/omega.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/omega" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/raw_titanium.json b/src/main/resources/assets/ascension/models/item/raw_titanium.json new file mode 100644 index 0000000..0ea550f --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/raw_titanium.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/raw_titanium" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/raw_titanium_block.json b/src/main/resources/assets/ascension/models/item/raw_titanium_block.json new file mode 100644 index 0000000..985b783 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/raw_titanium_block.json @@ -0,0 +1,3 @@ +{ + "parent": "ascension:block/raw_titanium_block" +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/razor_sword.json b/src/main/resources/assets/ascension/models/item/razor_sword.json new file mode 100644 index 0000000..72faae6 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/razor_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures":{ + "layer0": "ascension:item/razor_sword" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/refined_diamond_crystal.json b/src/main/resources/assets/ascension/models/item/refined_diamond_crystal.json new file mode 100644 index 0000000..84428c3 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/refined_diamond_crystal.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/refined_diamond_crystal" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/refined_diamond_crystal_shard.json b/src/main/resources/assets/ascension/models/item/refined_diamond_crystal_shard.json new file mode 100644 index 0000000..fc80a56 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/refined_diamond_crystal_shard.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/refined_diamond_crystal_shard" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/shadow_dagger.json b/src/main/resources/assets/ascension/models/item/shadow_dagger.json new file mode 100644 index 0000000..ec491be --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/shadow_dagger.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures":{ + "layer0": "ascension:item/shadow_dagger" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/shark_tooth.json b/src/main/resources/assets/ascension/models/item/shark_tooth.json new file mode 100644 index 0000000..0a5d3ca --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/shark_tooth.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/shark_tooth" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/small_magic.json b/src/main/resources/assets/ascension/models/item/small_magic.json new file mode 100644 index 0000000..89198c9 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/small_magic.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/small_magic" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/small_oblivion.json b/src/main/resources/assets/ascension/models/item/small_oblivion.json new file mode 100644 index 0000000..a9d191b --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/small_oblivion.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/small_oblivion" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/small_vexal_bud.json b/src/main/resources/assets/ascension/models/item/small_vexal_bud.json new file mode 100644 index 0000000..fa354e8 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/small_vexal_bud.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:block/small_vexal_bud" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/titanium_axe.json b/src/main/resources/assets/ascension/models/item/titanium_axe.json new file mode 100644 index 0000000..91a2cf0 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/titanium_axe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures":{ + "layer0": "ascension:item/titanium_axe" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/titanium_block.json b/src/main/resources/assets/ascension/models/item/titanium_block.json new file mode 100644 index 0000000..f019e20 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/titanium_block.json @@ -0,0 +1,3 @@ +{ + "parent": "ascension:block/titanium_block" +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/titanium_boots.json b/src/main/resources/assets/ascension/models/item/titanium_boots.json new file mode 100644 index 0000000..b066a8a --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/titanium_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/titanium_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/titanium_chain.json b/src/main/resources/assets/ascension/models/item/titanium_chain.json new file mode 100644 index 0000000..2ee5b2e --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/titanium_chain.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/titanium_chain" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/titanium_chestplate.json b/src/main/resources/assets/ascension/models/item/titanium_chestplate.json new file mode 100644 index 0000000..7fd5881 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/titanium_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/titanium_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/titanium_dagger.json b/src/main/resources/assets/ascension/models/item/titanium_dagger.json new file mode 100644 index 0000000..4ae0f23 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/titanium_dagger.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures":{ + "layer0": "ascension:item/titanium_dagger" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/titanium_helmet.json b/src/main/resources/assets/ascension/models/item/titanium_helmet.json new file mode 100644 index 0000000..156c6a1 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/titanium_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/titanium_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/titanium_hoe.json b/src/main/resources/assets/ascension/models/item/titanium_hoe.json new file mode 100644 index 0000000..0676d20 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/titanium_hoe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures":{ + "layer0": "ascension:item/titanium_hoe" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/titanium_ingot.json b/src/main/resources/assets/ascension/models/item/titanium_ingot.json new file mode 100644 index 0000000..751406b --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/titanium_ingot.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/titanium_ingot" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/titanium_leggings.json b/src/main/resources/assets/ascension/models/item/titanium_leggings.json new file mode 100644 index 0000000..d8e4f19 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/titanium_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/titanium_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/titanium_nugget.json b/src/main/resources/assets/ascension/models/item/titanium_nugget.json new file mode 100644 index 0000000..cb6b491 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/titanium_nugget.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/titanium_nugget" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/titanium_ore.json b/src/main/resources/assets/ascension/models/item/titanium_ore.json new file mode 100644 index 0000000..bf6bd53 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/titanium_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "ascension:block/titanium_ore" +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/titanium_pickaxe.json b/src/main/resources/assets/ascension/models/item/titanium_pickaxe.json new file mode 100644 index 0000000..bf02b5c --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/titanium_pickaxe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures":{ + "layer0": "ascension:item/titanium_pickaxe" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/titanium_shovel.json b/src/main/resources/assets/ascension/models/item/titanium_shovel.json new file mode 100644 index 0000000..a6dba58 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/titanium_shovel.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures":{ + "layer0": "ascension:item/titanium_shovel" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/titanium_sword.json b/src/main/resources/assets/ascension/models/item/titanium_sword.json new file mode 100644 index 0000000..4717301 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/titanium_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures":{ + "layer0": "ascension:item/titanium_sword" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/vexal_block.json b/src/main/resources/assets/ascension/models/item/vexal_block.json new file mode 100644 index 0000000..5a8e012 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/vexal_block.json @@ -0,0 +1,3 @@ +{ + "parent": "ascension:block/vexal_block" +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/vexal_cluster.json b/src/main/resources/assets/ascension/models/item/vexal_cluster.json new file mode 100644 index 0000000..c49c927 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/vexal_cluster.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:block/vexal_cluster" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/vexal_crystal.json b/src/main/resources/assets/ascension/models/item/vexal_crystal.json new file mode 100644 index 0000000..0612259 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/vexal_crystal.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "ascension:item/vexal_crystal" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/vexal_sword.json b/src/main/resources/assets/ascension/models/item/vexal_sword.json new file mode 100644 index 0000000..d12eb05 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/vexal_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures":{ + "layer0": "ascension:item/vexal_sword" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/models/item/winged_blade.json b/src/main/resources/assets/ascension/models/item/winged_blade.json new file mode 100644 index 0000000..ceed589 --- /dev/null +++ b/src/main/resources/assets/ascension/models/item/winged_blade.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures":{ + "layer0": "ascension:item/winged_blade" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/particles/bubble_particle.json b/src/main/resources/assets/ascension/particles/bubble_particle.json new file mode 100644 index 0000000..02a3544 --- /dev/null +++ b/src/main/resources/assets/ascension/particles/bubble_particle.json @@ -0,0 +1,5 @@ +{ + "textures": [ + "ascension:bubble_purple" + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/particles/shadow_dodge_particle.json b/src/main/resources/assets/ascension/particles/shadow_dodge_particle.json new file mode 100644 index 0000000..a99bffe --- /dev/null +++ b/src/main/resources/assets/ascension/particles/shadow_dodge_particle.json @@ -0,0 +1,16 @@ +{ + "textures": [ + "minecraft:big_smoke_0", + "minecraft:big_smoke_1", + "minecraft:big_smoke_2", + "minecraft:big_smoke_3", + "minecraft:big_smoke_4", + "minecraft:big_smoke_5", + "minecraft:big_smoke_6", + "minecraft:big_smoke_7", + "minecraft:big_smoke_8", + "minecraft:big_smoke_9", + "minecraft:big_smoke_10", + "minecraft:big_smoke_11" + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/textures/block/blaze_lantern.png b/src/main/resources/assets/ascension/textures/block/blaze_lantern.png new file mode 100644 index 0000000000000000000000000000000000000000..632762eb70d66cfa2da32d5fa6da3452be9c619b GIT binary patch literal 4619 zcmeHKdr%YC9$vHp@>F?9eZU&@3f5#F*@R?EKuFL;2_jGgEiIePZrDqb4aq_RiZAR{ z1`8^!586>WqSb13ygn+T0zRs9wPLN+tF>xTuU4-za$6r)tM?=z!rac>apv|vGPBw2 z?|kR`{eIv1&Y5gwdfJpgzY%^A1O@7}nhbCs0xs0o8+=E+|L>XL)>@X8BVyjmXcF@2vzRwMTf&@9E`Xa?f+=c zwUy5wGMek{2{URQ5uJo##Gup)`Jq8~_U1L)67xU!Fq5qOl74Yxwwd4YASh(?vVhi8 zr1!OX4YsP5>E{cM4w+3*HYRmf&WUD~{-fZFOLBw8PTJNEL0*eFwK`p=R=;cpwD4*9 z3YGTAq*2G-&)hR>LeM?9eMkd&F(qZxw6LoD&vu8+Dn=WB@vkGs#!9Le6}Gn49Q&f8 zYS;Fl?Tg^YUhV(9)^J-i?l}^>d+D#&_Co9mc{b`1Muc3An2 zh)Ge;d=06FP3yD>d!~5qk4KJNX!32lGw*&Iw)uwM+ofrb`7W@^RpBc6?yRySWJ!)L zV`*FE_`v<}gXjy)>Z^+3qr+Y7i4zU~s8k;{?5wyM#Ew&sTQ?@?tuH1&Nj}ef@UL*w zo(%fSIi173J1{muiY1)F_^hZ8X|HZauMc z!GtVrb=0%qdCtP{O`l(Gm=tikeCNHIqL#1xiMxA$D>wh}O-RerfOk2|{5@W$%2&R} z7ycBTUodjtK5JoTq^)saK;q9U$0%2>-jp5#b(nt9D`A)a;|rIs%zCOQhwyXXcLv&Q zzNw+Ha}J(tdiwU9r;k#%Hb*U3X5W@~b*2|ET?q%wm7`B3Y2G5CjJ$!7xGXl{ItYqS zblE7nkP%=5W8$nTQAbm=2o8nW357 zO#z-%q5?s%kqF{+Iwel2gtwazOsP~ND30K`7$C%sQma6@#8yYNo1%+D!#HR=XA?Ny z3cEQe179qtL?SQ_zpT$<)9ZWat&VOLfF6j8vLToRMJyJi_Y8-SQUXZ23;Nv|jx4Z8 zkqpMc7u#tjrG&8x(Y-0A==AA54DOapoWw_0K_LW$DYIBcx+UZ>gNY}&P2mP{l4;Y~IdQ!vF#qOj!jY{OMmo)M;XCys83AqfH zvT{m{ql{Ecpax2;BygEnrZCD0jKbMCrMwrF&gu{-E6up60J($%JTyfa;%F2X(+mYD z*f@n)K~M%U!w>{cU^pRF%6d^uw{yUil(~0RZYm?7!ZDndvkFGc8mTxjAtMZ8r9nZ6 zF(WOL(ij_uOS`IZuLGHsu2YF{3F;yDMAFTa!18trusUZo@=nLAp)AhAWD1m9HY^U8 z$uUJ7CY4I%s0@1r%4X~iU^zD{hDy3~8EJAd;G}?cI16QB5S!KHnc`j;60`%PrQA*h z%$_*thE&@bO5p8TJa1Ns+_k}O%AR38*ic4Fpfr@gfNUsEkf@SGPubE~exx4(w%Q<*q4 zoRpnOG65ZdR=}Vht>BpMHH__xcNQ@21p<Xtih-jGoPb&Tlt>$Y7f`*8xHPA@0iy zs{1qo1bqaZKE>zuU~j)D+0w6*D#5#SqfV2Qr9FOc6*g`5jL_rrb&;WwYm)r)$ThyK zHe`8DjCa!kpP;p*a3}Q4Ms;F!?b+!olCsiOm<9g`t*}3>y2D)TfU3NVt>68{yywgxR!gr(SfUE6XV9DOA z+NOI0G)p4(zO(ALbNIGFy7gW^*qK?wDd*O$xr1fbzkd`hUr&Z+&xKA)GUq6qo#hplkB>DSdb2VuY(;gfNH(-|{8{YS7EzHtwR)9L%Xz-m zvUMVKJ#y?PpSOHAfDb-!!M53#H=g%R%)9=0CBe; z5vNMgTdng?R+y@S?lvy)8GkGGP{E5}dxH6m!(>9u{<`>xy_3Q9+&fs|eIW1LSAL_~ fz>J0SE)P66aqGixr)D>Ub%k^(X`1cH`HTJo_XU~d literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/block/blaze_lantern.png.mcmeta b/src/main/resources/assets/ascension/textures/block/blaze_lantern.png.mcmeta new file mode 100644 index 0000000..5169aab --- /dev/null +++ b/src/main/resources/assets/ascension/textures/block/blaze_lantern.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 8 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/textures/block/budding_vexal_block.png b/src/main/resources/assets/ascension/textures/block/budding_vexal_block.png new file mode 100644 index 0000000000000000000000000000000000000000..f6dc99f8b1065c978c670c6597b8b2e2570c94f9 GIT binary patch literal 4845 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 a(^vkRw%_e*ZPI{0A!X!fd13hE^nU|#&x`s1 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/block/deepslate_titanium_ore.png b/src/main/resources/assets/ascension/textures/block/deepslate_titanium_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..83d72cce1ad0837109e6fd6eb152a62100f572bf GIT binary patch literal 4776 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/block/ferrotitanium_chain.png b/src/main/resources/assets/ascension/textures/block/ferrotitanium_chain.png new file mode 100644 index 0000000000000000000000000000000000000000..5621f63a003efd0a1c420d6be3ca670e248e7d7c GIT binary patch literal 4279 zcmeHKeQ?v}9aiXF5)zUD2}znUA`~bIoh(_FWlOX9h#g`BroP0ZDQs(G>6Ig5Tf$ai z6PhmLql1Gr2cx5H3+O4u4BN8RFrkt2t1s zRr3i{jVY2G2B@|{1t>_$5`rWzNBnDZADEjt_>X+&l*~8P*>4>8HE*7CqU`dkkp=5# z&v|f${qdfRE5$RXdafR+Ex$fJZ^gx}!55nz+VfUvSNV?|Ph|b3<|A9xL2$dr@qVxS z;x~U;^g&DhzmC>XgLlrAojn`*@qsp8JiV>Ms-m=T-IlW}|*~e>+u34CS6YZVe!Tq_ia`uW@JL+CKGHXpE*?BvAA3d+! z^z^2NlPBBGzOs48>xXg=Z9?y+^?r1%<2p9~9#MW|+nsC2O8Ra&Z(U8R*ncYU`hu*3 z`#?vp+5G(4SuH;;T2eBY8C)4W@Pdbse&6`SUrwLCbUd@?#*?>t%m@GKOHaCc%P!>X zNN!FxU3i=A%lm$Z#2EX!TqM_ix%U3#BL8x~w_UEW-=F0r?jlVc|eBc`!2R>c-lM^MaJ7ceY`@Kigpy!%o=&f4c zN={HBCSFv6z?6)r&~ymmSe#UOp#f-U5QOBY6YD#E0z+ldi9Krdkv`Q0>Sa%J4AeBQ z3JA>&0xM#R7iBq;93+SUjYpG_a5T;(otVMP!FxSSV5kAn8k|_I&yTv47(i(gZ6fi? zq})Vdi?UEhOq954_p)IM_~gXuHBIFRB9Ta#5*CvZ3lV0PWeJiZC<=!NJiZ~S@ku-y zFV!hh9BvR7VzR2qN)**O`JmFMIWY{5qa*c2RG)8@J{liZ0qQ{{d6h7mNFov;#=jBQ zDw`n5a6w=AMmzwQC{YdKN@Gj_l}#Y3m5!&V^7{Ov40=l;Iiea(LGkWOCJLiCwJ{bp zFrq+!Fo;0XIIPcnA6}ECF|qEeO&>AZ8D9uYH_Cq>dZc#)3{gHG=T?M9J*n62#PoVO zQ4wU3Gj4es6OGQxX^?RKdWlE775r3H1BqbJsR+poql8BFi19Ak^XuK|) z*+y9zieyq9s{igu{gAx&T1x27RDG61#TJS9XWEN%E-Xnpyhj?|=k)@s6ZJr!ASfA5viO)}HjEfp-8CuKgcO(%c+y?} zH@ULLKBhnv{sT(DPo?vFI`6>Gtn}cDDmO9(*@&E9)c=S5Ffvv3JQhcg>^%KUL-w^7 z!C;2w^;KqEpPHUMm2F@6b_EPcUiZ>~{hUy@WXigA%ZGN!K}1-${PxhmrzNC*IGP9B zzXy+{t5)ykd#>)^>3;57Z`k*<*UC(-@}3_)Bl-h@y4KF8>I?lhiXRelzdp^=f2uVD n%VXdA)q~mHb#%c~)z#@p`%Au|%1(I`%!qg^SGf;W)NT4ND5(Go literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/block/flerovium_block.png b/src/main/resources/assets/ascension/textures/block/flerovium_block.png new file mode 100644 index 0000000000000000000000000000000000000000..1cf14d112d3b0a5fd04895783379c57b64be851f GIT binary patch literal 5338 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 BjC=q9 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/block/gyro_mace_handheld.png b/src/main/resources/assets/ascension/textures/block/gyro_mace_handheld.png new file mode 100644 index 0000000000000000000000000000000000000000..c70df88c384344fd5bbe60e681a924988cb31898 GIT binary patch literal 4515 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 at?06NH10op^imm+4bmp3C)F%oyXikmxM)fM literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/block/titanium_chain.png b/src/main/resources/assets/ascension/textures/block/titanium_chain.png new file mode 100644 index 0000000000000000000000000000000000000000..784c812ef47ccec6536b3c7fa1d6fb917cf062c4 GIT binary patch literal 4279 zcmeHKeQ*@z8Q;hlL%wPakdz`>H$(`!w|krW+BF9ucNcP%!%Vmlq_O7R-FGkB+}$pF zo7^QK5VMgpy?x*3`R(s{p5Obt@7#7&&z+rY~>k@2qiNxOOOQ{-QI_EuJx% z6V4~xh3chO3H-?R6TkL7{ksBt{;H)-+ANkGGl~DWXKVRp{s3F?)~T6&cTU}Utd`6# z+8+WhXWf7C?I$Y7<$v4p-r3`akF6}pEY4ZDIO~mzEjK=BI-mW_m{+|2>{`-$V)t(9 zW^UfSwFR%d)R5hMBSVdWsq>Ww&(h3?FG%k{yQFnuyYsKBAIqQqPPu?#X)9!pr`qrF z4Az1w*wnV(UDZ=Q>ChANb}gKq`xV}McPDqs=bQBK_|m*uF-4^YL@@(@@Vf$*8v$1mQ8#gA-vI)bMK>|u9-srN2iD6~EgGEHGB+r+ zGzhFn%$$)~mf#RU1nK}!M8eS+mv9p%FNem4nIdo#qBppS1%YbZqi7JfS!@=X^d;mb zhM19wmuaHJ)p#ohDA3GJ)a$y+QB*u0x5P^=iWZ`*EXz_fLop1A5M-=5s)Ga>jTIRb zNe(ZJ37V|xvJ%A&PQWXTx|<-7A0Nywq6Pv(^wHRW3P=ws0aVIrp{YoON_``y`L-|>U;dNQME!MEy43Ak(Y9c7y5dSdrVC^Otp#lNUs|bxoP`}qr82NIdBFG|V z4tXanmO8C2k``%^w7EnZ33xQ3C6~i$v)f!QmotURAC2iCDnNq@ky~WM<8U|_!NJ=| z2XG(?mbH=q(pHjjN_LyXFm~DrQYaqLWYm=)oSKzEB_b-;X$KMz?I=8Okv8b$NuGsP z(#eXvK$k+6andH0u@2mGwbGVShv^Xot`czq)H-qmgdn9xL#D%67!H+#qyyM(8%hK^@B$s8Xf$KvXqKZLL2IcoVAuy}hNDyPiYQCX zKZG{64_=mB^eQ=q;y0V74>yK z4QgtIPa9anlHu9J>!GngNHUUU$sx%~X@VLkmNHI^!D`E>|Iwq&1f(1>=)I&39bM=o zq=t^d0liSJKjt;C4nJlH93KrbB7H~Y8kK8A3XBLm+Fhe^jYxqJfk(UR|0Y-F?T;xK zMgM@}=u^p(^%RLdv(ov8XM3?buvYBT8GV0x9a+YzRgc9mEGy5r)3A-33Xt(G-5>DX zbzy9J*4W7`9x6d5$?u&NbR7}u%J1-f*KupT%wtEkH1520ZhwFKQgnTB^|?^C;eoKT zU}gG^&reJ_vnsm)Of=@deSUmF-Hwt6BXG(on^xPi;*;j9@nc!PL zYkH|{oNGqh>|=4o7Y`4q+pXN~>=iwI%a=|?6KhN4VJoj*^{?{seU(ryt`gq8(>l&M z&yRL;aLf{B{M9!rLkqlzEPL7h;Bwo85v|%O>s3$cAQ|r|MQ2{?*pc_<6NjbA?nR3h z{rl9)_4PqB8ZJmB*);_nLBE@FmVNb8GJI&Xd&9c2jdjE8DmIoK&D<=kJHB;Nc8u@o z+j(_=pRv~WtF{??ere={W$~r4zI3nXq#!dp@UCmS+w6oX%HzM^@LeO)&z|xR^ZA3H z<)FJtcB-plOl~egqZWJikNSRF-ndEO5smOxU$M=fo|SG-go<+1;_a12AM0f`}z7hdW=0j z(~@Z^sos~PD@|fl6XN*rh;9V9 zlhRWu${=R3EEWsX!eQ!-DJ-@~Bx1n`3qcsbgJH_lQK*%nGmW+(x)|ZO2{V!giqz|9 zHYTdln<*)s4#sJ3^V1p>iXObq)U5*0gJnexEH)EnX|=50Gfb2$139`g^O&~w^ zd;Szjyc6ra+-xKEa(X8M!u9aq^L|^q-5Gc(6yk6_X0`>DhfC?Ue8p-#Mykd3pM+W< z;&5OQ1L5*S3@(r0F;FgsGT3SY;iyrzh{G24LdkU|3e{n_4F%v#5^y-MfDjNWf{-14xg<;Fq}XzmAV%q)<}Y`MALg`Wkad$D1w7>csK)5*-)5>UtMWYQ4quZb(UL@yQfwlZ`DvxO|YS zfQujkgxzcY6x?V6EoY;$VJ3%fpRUHl5rBz;)*-cM3eGafT}roQOS2(+h818#sZk0IM=2acgAuM67K#y`5`o1qTg+w$!iX5| z<*!$hMCSkUwrwApq-)WmNE3*kX*YH4smb{4uDh<=bke?=Xf*q_5TjUE2_`fH?^-Uv z>KejQQC$iS&X4YfeQPKGq#5`sK7k1NI71}lp$smr5;0JWk1=>Sk1IrB6#?UjU4y4T^a3_+vy1^FO-`{e4A>w^^dAm_gB>XYk( z6!;+LzV7sX)VG7rQe?S)Ss8o_7Ndk{q15^_u!=X^{7VA`SG_bfBqNbT3XrPDf z;{a{g)fI#r8hrm%AcCJWmum7!Fht3=BbYcy_gUjLdMmFwj>s2Ogol0fBPk}*>f`M>eB5u z)6kpuUY)cYWN5Y8Vjs+#pO`hk0;0c=b-%P(j!Lr(o^!blm8ln5;a?kwo z^TQmX&V0(Nfm$d3G{C*nF?Ubpn$p!~=yJ}hhz&Q6HLlqF>)Znf^Vs7SL3F^!q3%_} zqu$Zi19Bd#D`UrNI&M4-oN~9|Np%3~O)vdcILT+A*uQjv%M4Mfu5)dZUs3555+6Gx z*7-M&;n)JVmVz;uAO&pX<#u@>&U((Lb%J3&);euJdx^@}B2Y4V{RuRfEVF0HH$ z8?SLRWK*r95;ZQHoEjpXB$uk1KuF()sDPTFA$MXIZCzd%`8YKxOj8)|I;wx^i4!L( zV7D)#+qbkY8{h6$JZsp;q1KT{*O{7bp1-9Uj;#a5UlTab6P#LIF&p-GfXC1B)1gZ2 zX7%|EU(`Ds%^S@6X3%ZDAmjP|3ngX4oL9xqY+D#8kOW;QuOxzQ?Mj>#9=Y!q-My7% zqKScbokvye`tiqS8N@T@=8c<$dm1Lq*#C1f43)%hKXvzMmGP<9oH^A>JpW9^au>Gj xpBIKBhR21++uyLXOMkogbk5#AIqt=WbD+XAffZ?~lpOREB$vg6?+i`O`wzZb=$ill literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/block/vexal_block.png b/src/main/resources/assets/ascension/textures/block/vexal_block.png new file mode 100644 index 0000000000000000000000000000000000000000..2baed692013be0b16f5528bffd722cc9d659e919 GIT binary patch literal 4661 zcmeHKeN+=y79T)?Ql*Hjh+;bp(pB3@CXW z_rBk~_xFD9oq0$Oc6 z{XNbWdYX8M!?TTG%R^=b%(z@2nV*vMpkr)VRpXRGL-frJ4}w;vSZhj_7G2uzIX>{p z-Ls;oj|(OxsBbb9qZz)i)F0V9(7gNodQaAx@@+@q?{>9saNlcdUs|tT{Q04OPRj<;!Y{LY;e*dE%=&u9}d)yC=LrxX!!c_WC3t=F4(>$feqwq_SS#E5 zQh_k>QDau~f8-~k7Y$q=A^WN=rxo3ndfmKhsj1npq-sf2VfEC#D_B#@o&%;W-Zb zJh zHN(c@Zk51`i-Tw0EE2%p5N?i2kg7MpYP*w$r9!C?MYL`v8xxEVf@7VO1y9yY>VW`n zD#0v{bKoM8%jFWfBtpA0T_jd2l_C@qVHg4;5H`og5pKlBM)45c7#f--os5HH>^7Lk zB+T|KP9+ckKm4>lt3$8vg}1RiEC4=4Zo(lF3sI5PD(X9e<+RxVq^F?Y9KjmFA{8am ztUb#~(%Nj=#zpmoNYLpGy$F0u>5SFkZ3>Y0Tr!I6jdNrGWu76Q`s;y)Mtw0CbXh|=qEjh)Qmlj<}o0begp*-3`Ny^m%Ifl4Hp z0#U}q$Pg(iQzA;a8AT*!iC9KsvKR|$?gOQ>u^eF|X&wrI3mJf8QAosu+#*FNDh5NO z7Rrn$lyZPbN+~f-m}v_Y(+6UTlL4wEGWu4ZrqfOqNRCGpqe4lyha&Mw0FwaHVXQy+ink!9hEKT7p+9K=#@} zH@MnK6P(>?wA(XO0=`<9hwOFh!GfX)j?fSs4YHw_6h{>}CNrWaE>+-C<(nvmqkZD- z6l2NxU(x*Xfn&QTJ&|ES{v5BVdrhU#ncZ*QuNjPYF~P8RS>OcO-2zKw)0DSPfYt3H zXA!n^8tflEf_-XdenSkTRE$bVC73dbpb)8yBoRU>CJ?idmP>$2Bw}$lNxkT--NLyD zCmo*-cm!MlfqJ=u$MnqM*ypQp&7%1U0+b=B0_mkJ1{H{UnicUo#?x+NMZe-B)*H}g zivi=hZD8vHJE5p|E9~J5)cSk=dgkHxOaa6FNnVKGe!BYUdLag0D7ar;{dBz$11}WZ zude?aT|v(dQ?w0y0lC0YDc5o2Avk9FoBy1kfsR1mLqC_DrVPOHk|WW?LeR@Y`O60? zT{j#U12~;t8}LJ5#4r>az2@9FaF%Y>Y2uBFqt=z%W?x7PTUg(?vA8`Io9>^lS<#>_ zNGy5lUeth&38Om0<}Lc^z1`dx>A`~4C3zBKX7sI&@T1F?Bqd#l-y8SUJJz`S7w4W( z-T&dn)%HbkwveHB-@Uupx9pVC7Q*I@a=Nm7{?WNL&Q#+HYmRJ)tB$CRo!I1~@crwf zy;Sj*K-HqQ?|tUqIr?eYHQzMXyf6QB4fQNzpbmI!e?2!8;>D=dQc^$?5WIA-TcVJ!~Z#7P)I?TV&mjej(9O zH#VQ%Za?CwDq4;Yua>VeX;WTVQanT}J5<9hdqY-}aCq@ac6jjlx6ZzOcQf{ZbgjCn zd_EpvUJ+)TI-W|i|kLEqT`uV*hbl0A%m1kPy>3eqI_dXcaG{0);?k778R9$cheY@>W_!Hl$ X1yI@*@}HA|03e-qvZiKY+JgTA7mv@n literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/block/vexal_cluster.png b/src/main/resources/assets/ascension/textures/block/vexal_cluster.png new file mode 100644 index 0000000000000000000000000000000000000000..31ef12e8beec7bc3f03308823f8da9c32d5bd80a GIT binary patch literal 4759 zcmeHLYg7~I86HICqM++qQA8agu8K}FNhY@`As|7C8q5KtxCNKVT*4^H#F;S(*eW6@ zE8ew~Zc*`4tDf3jU2V0lZBg;ERJ-D7t*EO@bp)isF}u2Is8Q~e=h=KQ_`}d23#p# zF|K@WP=q6AO!k1phk>WB)>tkj&wTMtTHYJ~u32RI^v06wCjv`6TlamQ(9fo+JGW<( zeaF$*@DsA4;Nr5x4VC+TE0h=b*1f;v>C?i9rg@(>wMCtpd7dho6O)SG_@GQz=FlNq zTjLj1&Ye*Dw8~dsJ!qJT&+$B4E7TIp9V^%V%(G2DdurzMtOsPKCZlmwY zXX?2{na$RJo|w3d*t`3{?W3te)a0qrYX_Upn{hv zb8?WIP|&J`-%Y#PJhmnL@sn>_e&t$b+Ax$qbYVf|WC#kM%L0F8S!d%U=adr^XQ$;p zryCd#g5pd*H$g6>Mc7U|SeH@Oa{Mncn5B%epJ=S8)tyA=u_=W-onDxlK^86~4V26j z9~$Sw0fCbi3E1b%cL})9DD(5;;93eRWUwD1E;P!rtTs4_<7pU^V{#Np_OTw7EIt&D z<0%GDGf(fJ0Cz@No+!F;g~IFg%Drki$2$~CgTbIcRSJ~~0SH7WaEXKuaS7ukigpe& zEs#9x7Fo^(OPqwATPzx7GB6Hz=I3->!0)9o(`h}UZ}itNI<7xVdk3`HvF zeA)>}1(2Vz7hYtUZn1jhCXM*Z>6r+au8Y4Hy0dma7@(|H+{}@SrAaMjqfE*dr#Ot)}cGMPd3L6mxhMxRS{4nUzFE0V-6j)oTfYL`W6JAQ(jx zh@C*~hz8T3dX!P?bg0fxCG`PMv{{TYl^pGk*zyUH;dm#oI_si1uh2b|!8+-5k&t9l z>QtCkr`2Kx6nq<$-JndG7l7p?RwXJ|YyBe>iBAWd1h5Y4BpkHD?Q-}Bq{iT&93U+r zITbMb0D8c#dM3g8zn=mJb})-t-h!0P`34L+xuSonF*_*M6JN`WF)n`=EXAu^9}IcTtdbQrcX&i;TIG>no~Qxx!%n$jT{ZKn|f0~WeLZBQ~4W+wgeI*-gs{wEj0*8hM;-`NQMHvw760uQ@sB23|bArP_zzF z60{z{^r#ZCtAXM5I=w~({7>kK_NH}-_dl1{;Rr)#d2tG9L+os3oZ@@!ZU^+(L4hpo zF|ad(jb72U(|70va($hj4x7EsDPXv7l2_8VPp&?>UP*yh0{6MAPp(%|;FZ9A?)tyU z725r-NV~ufJTG_?e5s+%g15+l_E|H`&~xYo)HWt+&r}czai`1^AZXB=(h&f?S2Yp@ zgG7rpIp}V1= zy!f5sgKF&5=UHj>vV)t}?^ycvnU|WP{m#_3)ap^%WsCm2^vK84ikT|`&|PEG*=@fl zST!?#pdq66esfd3X7{|)Up+E%o-t85L*S;JNAE5xYb^+|JZ@-Oyk>31fC=MHu}#L3__1LJg>TMHzBs)ubWe4~FsNw1 ztFii{bw{YsrJ<2~Du$gb!v40t$vd&h9=+mtQ^4xdHSou0#vi?YGk5v+tn~V+qt}HgoA4}*zgWAab=Ig!paYO4Io168X}QJ!0UkoZUH||9 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/blaze_gem.png b/src/main/resources/assets/ascension/textures/item/blaze_gem.png new file mode 100644 index 0000000000000000000000000000000000000000..0ed7cf72a529f6f1a5ea0d038ed3cafa6a438fe6 GIT binary patch literal 4475 zcmeHKeNYo;8V^PY<-@8)plHW!)LJQ<>?WI#tOQ0On4poAKtTtuY<4$cCCTQp3rVo( z`FWzf){nauExjIkmQ$3gO6^(CBB;Za_ZfI&;I!^*?rI zci(+Je(&@A-sgE|-*WT(Igw#;VIq+z(r8G_0`IZH9U20jlkYwuz^kD&JCDyIypY?& z+8757@qRZA(LTl|68SDT&8?A*NW{aQs5h_VTI`j-k1mglojkqdRdN0wPTi}jAvM1` zBe{rIMDYvuoXh&MD(98Nm^I7Q6=sS3H`Nt)x@LS-eT*&tGNbzgf8&Yrtu^gdswct0 zRV}{X`tG>TrnB_d2Ow4qzIlg@U;=3&=xBu1J8uR3BWb*74 zP10zwAtkIizhb}SlHsxH?8b((8GAP@TY?9%E!!7FC+#eJM-HnrKbH6}Kj0$c^_zo|H)@*rqtZ*zAKU8qrU%D}*EU97 z<*pi6hD=?0{nJ}_Cf?Y0bX4c_YR?w`Rb+4855&RWE;w#3x3As4Zr7{JUhLf0=wH8o zVbMoTl@C`}Z9A~39sfFZQ{L<_=Akz>&heEpPuw^`&%g{*_Qkq#FOx+ zF%vdjlRQ~@`TW)$H)niec{%9E`j+m`HDgo1M^XR?tk z`M6^oQWu$@?^XGq{oBPLY38St;jQb{<1?mRdGzLIJ4F$fM~RDEuJ^ghWRdpd;(H+) z&FGg-o?Fs(t*znG#m9%gI?*Yq$@CnqxBPo5D7q2`6jz>U9!|1O89}jDTIO@QLDh*w zNhv-zK^D>7<1`@5beFuh%Q{DrKz4E=RRmtsGIv6$%(wz?|R36F%6*O%Wh^G16#`^e}Fo zVO@}bNm$upUMH0TJ@hm_r`u%ehj(#(EC4>_KEf?WWr*DAln?gcczp=~=?my*J-BSp zqw*}8V~af`tuLWn{FK2E6xr|ZF7`MA=}@GccF;~>%7IzYAydvVn#}zk0tI%)=?-`S zvWHmmjBS9dA+ZUXKstj10q*^{L#&_X9xw)0CKH~;KDlA-XxkkBfX zq!mM8gi>i?47DP#RjJUx%0voNsz_9ws3r$N8C@JtxJX)n0^l+R;3zQKMq)GuW0V3s ztZE7-tRx1jNwoqc5mcc>tb-sjJq)Ny!ZA210g3`p8YM{*sFHwD4AsDxO|68rR#Xcs ziA0T6rBRcFS{;C*NIaeOI0>+vjFYg_a<|JKPzZ$Mv&=@FR3SqKBxVP}+kgY;0menK zUT#2@%{XZbPY8UXi3$wUXcbyifgp%lJ7Dx0?cqQz3aBU|Q)&VlVPSBP4xpA0Dir_( z&a$WhfXR41qq)0Y7=NEir|Sff~Nr}qQG!O1DMQ4Q5@5N@hgZDM+Vum z6l3%MFKeNFprqbKH!vKS-yab5_LPPGb?;a2r-KPJ69fg?0w>7c6gZ-UrUG#StX>sa zNVx1Y*gyIT_NkotnPN~RZ2}SN&V;?Yva9y zhn{5zJOZvjfd;sOUhZ3}8AGG-7Sh5x0LoxQ1NT#gqEdNZvT|X^c$#gJ{J;1}3K$I9 zVt`+-3~XIsCzSVZg?)U1Sbxc@ZykQgDIjQMl40>XLe~gg!(w1q#v|1=Lf5bu7?$x! zb^YJy3L7{~(Jt@@ey{DbV^;WlO1n21wj?w)?Ue}DK3 z?;KxSpBGuzpfA1XjXrIidivZv-#qhInemRJ&9^$#o^=%3EDnpukIc;YWaFR9B^q~I zwYc>!E9M4YSe^O3IDg(ve^!VkHeY;qaqyY+u!OYdXOpI*N;QFFcNh9v5_ i9e}Mdbe_>>GKu2BI27E%)oj@;yo~z!X|=NpR{RIaW?d-& literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/blaze_lantern.png b/src/main/resources/assets/ascension/textures/item/blaze_lantern.png new file mode 100644 index 0000000000000000000000000000000000000000..0600f7e6053efe3396a122dc071f3fe0d55b2678 GIT binary patch literal 4359 zcmeHKeNYtV8DG>vI0Q*RViCe}gvK-7+mGA(+Hio}9dM0jFK|`FYTes?@7Tb7c(-ti zgv77ZP)$gf$>4gWKS|INZv=O$;FSi*+U zK+x|NssJk11^@~q!Hpo&C9mUhd>6Xl-dD-#o$n^rrG4B|qQ7xh+vj}amMv{yM*?S9 z-!uP8>YikA%{!86v19c>>gmAiHQ&8(_B(y5)|{smX{v^`g%#N&JvrB|TeKH~Jd+T2|6?f&Qo%wNTTluntTWEh`3-f2IHSLK-J2$*>Y*BeNapKFkX8IA8`o*o4 zot=$m-rBbF=;4IJThY5w{a^I8+)!rU$5qFk|3}~PjKSNc+n+=g>_6>1`l#YyGid22 z$ye7ds(*KJe#X5R*9uqbzGB?{hw7*Q($&>_GN$L|Gq-!lgV*iRlBIv?`S_jEHmT

B^icHBrSCU?P8U7!!GjML7i`~^`n!W21>0A>kesBt)L4C|(QyBf z6MXQM&h8_dmpO}H%(%DknQ&!F>wzmR`3r8;AGy`IvEx^9^ylsWs;|2IQBudqf*%Rq zXWOEFU*ELeUwJKSL&cKg$9fZbCuHf72uC9)PO;;np<|?zVU^u^5&GLR1 zP)ptb>^cO=$&&&sR|!Pa1w4Y!q#QhXN{I@*Nx52UC+q<;s1S-b1wrYil}>I`C1>Q7 zdAW)liGc)OAhM|Bt@4E!$)t?%GVoe9<4QCF5i3o~GP?sc`-1?b)wG(xtddYeDRUKQ zPLOvqC6>Z53V3HyR)}JN!SQf7tPX3`{-6gZjYcC*P&h?l5P^kieIhGizEGA-G0I^9 zAucEcM8WSvWlq-RuNF;8CG?}?`FR6&`vko&G^PU71DDtUPO1sq>&2%&5fZI6kYp^O zZ+s%;gnJY(0U>{NkOS5l;1jc^QWV+jjtK_2B#+yHeX0&eH@UfAh}wAJO+~Hd5)zq ziq?@BP0(7*pyLS42#F|-K|=$BaSFu`f&%PHwrXltG8GT0SPjQCytNizD@#2$j4J%yNg#q@>iuq{UIiif(_<3tL_A@&0gV(&ZGqpj2dK*+@O5 z)saSxRs-o^q)E^!5DdYVlUYeZt8bQ$vVPpuMlcX4$Vl>oa1jP_j z@P1x!*ZwcGynWD|(M2y7LNI=9#5B66O2Nj_yV2V!A+niJG_oximK!Z0#MS^lk|*RE zb#WD}&jaB67;D&ZyYLOo;5KSVo@ezKui+?+)@ogtf#f*M%>v$_BU~;$1*Wry{BAMK z2ElR<)Ddb08#JO7x^!#}Rnzg|3Lq~Klnf(`*ra3{B|cUxE>Dc{YIE@a(jzAVm@;DE zbE7smy5JfS7Jp;w@GVAw)U!cmr0=X;vvSQyff<2kyK7di87VL$@N9Se z-{ewEeoO%$d;uWCS>4(`Rl@&|l>E^Pv(%i;= z@;6)Fd?i-52NPazzc$ZpYtJfw$${NWZ78)WYafVzvMg2?wl+!Ihf_A+{A{DCZI$9s ze%iV81Gz|MbW+rFJ74(u!l9U8Z=7)eIool`RBVmC9({A}g|*%G!S0@Qcb_#y{S-XD UpTzfGgasfr>q^Vvf(={$0}$6Gi~s-t literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/blaze_sword.png b/src/main/resources/assets/ascension/textures/item/blaze_sword.png new file mode 100644 index 0000000000000000000000000000000000000000..0f645339ecd7394483f3d6ca416511ec1123f90a GIT binary patch literal 4498 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 MS``;ny)3ivzrDM5NB{r; literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/cold_blaze_rod.png b/src/main/resources/assets/ascension/textures/item/cold_blaze_rod.png new file mode 100644 index 0000000000000000000000000000000000000000..bbcb2c19773c1e50125d702e651f196aa2a44937 GIT binary patch literal 4348 zcmeHKeNYtV8DB>QIXEFgk!j4h-ldHi_jYe@?`z9}aEEY-CnuZ=4l}y9``)qf?)JD{ zxC3ixqLNUEmZ}p=jVV*54f(L0M6KG?528YCjFr(al2lA%v}uer7!_;0zI(^#Br_dm zn*Z3j{d%6?{+{Rgz0dp3y^YRgg-XTu6$pYT?M1c{cu$kh842(@cOc5Z+wnSAnN-4r z(O^jM@IHV_wLyS_2=76V$R)qCPkDk!d2lzQxqnruch~lWMrGFA-_|UjTCwBIVB2f# z^?lc-2Bt1m9DaS}GYhVt>)7$D*RMKr zvg?cT-cR!{+&+k_w>*8yX1&R~dWuYn?FrcK&3iA^Z8&kUs^R3bdCv^==HB|OuWxpA zD-oWT=WUrawacV9U$Ily)Vw6xdaxweI+*|P#y_Y1Y03qE`Sj^Y${h$YWfO0;I_*~L za51oiT^m{~MV*W1oLp17w_xGS%#5lo=gXh>Cw^SkQ8q1k?;GbjHg@k_b8gQ(dsS6N zMe@v_EL!8~Tk9>Yv&he_2PqwR7{edxxLjx-YzZ_tgzwy#Kd-8A}uH**?zdQ8q<3 zMrwM_n{TE+UtV7F!uyR+q#Q-u|z zbLxLqK^|JT_LH*3%7u@gPJNho^oYKxr!-J9f9CB!_ue_3mDW3bwX*MF&Vd^jlltou z-h6w@(TmeQ&9Mv8+g*Rb^v>7o+dsOT+N}$fo6v|4_#tgGDHF2EUHRL3eq?p4u>^iokj?Gajn^G#t9N9Nem(|u{Izv5iB68 zWr{e54Tx-r4@$fcKxIzGEmTVul?wXN;r#qThhv03AP%Vj^}r)c5Z7u5-0#Q7ej!Q) zHIQT|p>O>{bip}_mjF?y4zZx11_UJaSc*cs!#Tnrm*nOB!B|mHym7%eb_5r!4*6mj zj>Ulw_#vqX^V5#QOT1@PtZ})?o>)0!6M^AI_{X7#Ymb2;%Hg1G0$VKywc9KzIbWI+ zSe~O}k8ZQc!xF%RaTI05C_qt|+rW?*>t-nvrK3p7M2w-b2SkYput27Q%kzh?2r6UQ9F>@4V@Gy){%aIhpxW`Zwhj`ePjBjjKG8G4@NF&R7NX~?LfEHks zfi+_$qtT7&4J^JinO5>0>015c0!T=L4J&7DvG@-VaJ8 zMwU%$Bq@s0nT({_s56+!QP4^d5@E~9tXe{&GsHX`OD}<(3~U|V&v*eI40vM>d0=Q* z4wROWI~6j=?64Zz8UlVX?SK=CV?P&76zXoiiKATl+8 zi{%Nq;x4w533vfqKZY81*v@}TGZ+Xx$#G@|)0-JRMj2TxW?~tDX*u9A5Jop;HpE35 zVHX9D6lOvo&kJ>gTEPa5X@$-o8p8$Svk6xMd4Ql~7-7OjB_mb%P_ekYVhmTCjekRr z>=^qmiuw!D=zJxgtP?@mWb%BtNu;=}b{z0!8(#m1IJx#^FtXm_-r3+s-}zNIJI-W{ubj Mmf7CSU;EsD0TR|UI{*Lx literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/diamond_dagger.png b/src/main/resources/assets/ascension/textures/item/diamond_dagger.png new file mode 100644 index 0000000000000000000000000000000000000000..ef89278f7d064e293f284a7b82db0408cbac7ab2 GIT binary patch literal 4817 zcmeHKeNYtV8DC2xcp+ly1QCs_7x1HH@AmfNKGr({?+BdfDZ-)He_(GvxP|-jZt)JR zK>4U2i3%8pba z_ITaA;NW1f*u%kGK;R)L(BsTVncEIWHV^JLEIqTb>dTAo?H{T%l+9X`-LSc>XmMX% z)!<-hby`^3oIi1vgajpJ(eS^iqK_YaxVo*hTlU;?V$IiAH=T7OSKs$L z_=<<7Cl-bYdgxAiGFji5+#Iv?vz47M>*|oc&)-q%?nJf;#&|jt4c5$Gt5Tg zcsZbm*SFUi(%X|4cjRVu9DO!?)y|#l+c)zTJi8?^JF%j=d!zl*>Ar5Iy}RaElUCOF zWO!2aJ98E1|4KEB;7Ao3@2V?2%=iYg}=p;9%|U z56?JU+5N?-(3`j0pJ@9j{*9?b6?WlXQB+*+UAew%_|wC0=6-Z2a$wh)4GoK;@6Eo~ z-*DV_efiuIb;sr%p1(d;Ou3oX*rjOMqM#B7KCY=XpPRp9XNN7k>$#8D{${P-xOk&= z&;9B@bjiL%&KDf-{N=ZO%E(*q9U!gn@|d*Jlh6Xid%rtgjWE~?aD7~SyJr^oUlZh^Z^P0I60Aq15Ss_M+FS>AT9;&C9_fv2VKNMgFMHQ0UO<34ki?Y0!2~-!d6Va zS_bRAEKg;cUKoP_BZJ&7iXKX-^!xn^Kdx|l^OY){PNzgMC59ou1MwBRL^^=De9ub| zAq*4eW4wY#6x=RY!lZ5PBGDk1gL!y7Kc~lHnSgis##jJ+C@r^xFF z`ml_Wb8t=o>I31Z8|PJ%MKd?M{)I0*`XD+GXp zG8l>DIDp`I6d?#4K+r6M@HlVNp*+vA96t$Sy;lILq#cv9lAu@sg@O1et|AfK#sMe| zsYP_C1_#JGEpJoP7>0+Sq;;TDGRy`!rU>O1v}8DFk#~EYKfj8^P%i*X8c0WQ()payD%HDjz! zp!?js=%>A0N5LAm`S}TeIz9>>FS3dsoFcL_b zW~6peYY>8=NkpsBs1Y2uF${*2Dh=@;R0W1Mn-3u)0RlV}R)Esh{v_XJX581%R1NJfH z#6~tI2cWdad5m?@;|u}AGeM@s?+jftbWMwaX*tiRYlg0AF)%IX8Fl^7=#oA96y{vu z|EnK-=+=Mm6FvAyo^5+E%>*5UPD7)y1tlb~%<-ge_Ce57^QChZ^xEq&z!)x?EvezR zBbG$YiP?U-Vlyzcm`y2GZ5NXlbHBVcr}|ez{3zYOK775Zj(zIzsjFqZSKb;`J{oI7o3r%X%V+DC zbc|Mf(OUhNNX?S%2|Xb((-*tX literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/empty_slot_dagger.png b/src/main/resources/assets/ascension/textures/item/empty_slot_dagger.png new file mode 100644 index 0000000000000000000000000000000000000000..c2671b8257c0ed9fe1e80932148314f64425c099 GIT binary patch literal 4925 zcmeHLeNYtV8DByx=1^-&Yt`7WoJmY9d%L&ayK+Io5jf@afKy5Th`jp+3*3iy3wL0e zs+5Qt9Uw_FF-esSGMR}nqs<4^Hfj<&SZKy#HC0pFMlvxY#;>SMHL>sR0YaOZ4wIO_ zxS74(_j#ZFJyEid^@ zx;KPZSLGc4@)NE92SwM5=-vBT_TJT1w2*s6&g`E5iTG~q0o$y3^vivJSo-wp-mbUa zp0~L8sg#Vh&Z2wLx7YGMrtPKUvv;5U>+=;`DpTuD9B~gOpNc9-9}zr5+0!Ts%r?Z+BUKk@s0*E(0HOx|oO@vi)l zkLfAsk|p--`Tt(|mz4A;ryp#8ztGk4Snu|;gL~Jne?10%bM(uPw#f?*y)flM)B8mo zch9&u>EcHnJEEuNP21DjK7Cu-(pg5%$N9T@9Q#)}#LNr5+gm(;PD|O)C8hNIw0F^y zi?SBaDfVx^)VQ<9_9^y3<&Ho8{8~RgrT@)m=@0cS8C&kVxA|9-XEDzdt!*S;oBiPZ z#c!ma{W!hmh9`2Ue||%YoV4tf<~iAe={G(~cr%H*cUTOSKmwaqOH-`&|6th#hh_;<-qWqsC~A+$c%;d=l%U;c$x zC>xw{W@U7B)w$DOBz5~%^l%3bW)MZ~16Lg9KR-8c?jO`^Up;|bIUYHAW<%K#D77>l z%B$2{D9WLL11KR$b;JWH0O^5`BTaC&QJ#6TqAZlU)DO6*)>~=Vh4(AsLd%Yv@!RQbRkPkc#!no5x z;DG=>`i`iPR|`Rg68hRZqJG$=c(ED{)kI`9uT~8jb4Nqud%V681hb@aJrK5vg5-?} zrpP0H;hIRb<)g^BTCD~kXcXq>9OG~3+AXrirZB*;0An@Y2}nTz0w6{~d4f>`1ZCBP zg5VAv;xMwxY67ca3PU?FS~bCFLBm)^(PWmB1d`WAK`f2vP?ey1bXF#m0-;D4pP-x! zMoB7x(Hz5L0>M$3qzb$yv4AA01eCcBVvf(_vXhQPewM{o4Gb+52|%gqK_wK6T5+u@ zzaCIa3}Djc=cj%2hlZEVm}i zg%M#nkXm3W6(U=9SdEw)QGpSP_(P#;m)%SNH6cf)y|AGaU;sBTR2YpQX^{{_g7!NF zkr70S`58fq#3=ueqHA^k&)aMtG%K;_1$q?5ud_^vo+?pSB}R#1wQe;NidtSgyk7$BffQ7UWHFkDI-q$)!6d-b7(=l%4J4<+4Y4|c z9t~+m3`EqNa>yg(3JTQX3VmQ`4IdnvO{_vS7YI^@5j;lneu5B5N@RFDe*4QK8A%|3 zY_&Q!(N^1n`q!|Wi z%(qvbfZgh6Zn(TG+}zHFTQLj&pJq)sjN1R8s1r80uflB_AK9me)D9czc7BE)61Ou1 zicSO>7rzs9P0%$i2FB$)p{@zK#>K$6oF~-vt^`@@|;m`9Je2?$$+PDt>2QW!m zobN_{jT}U7&aSLypykeR!J|NH&hO@$tJ zj-T(5%Vu6$(^A^l*4B0t3>;41hE4ftw literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/ferrotitanium_axe.png b/src/main/resources/assets/ascension/textures/item/ferrotitanium_axe.png new file mode 100644 index 0000000000000000000000000000000000000000..196c2a59c10d2b276413215cc298c252904712d7 GIT binary patch literal 4404 zcmeHKeNYo;8ec#O1ixDCRXwfCVo{XMCY!)!_Yy25KmvwRf=aPH-0W^(CCP?lA%SY? ziMArwD^$mJEZ6FldiLxwd|X=;8C%ffu2kvxh4q88mZ{Y{#nC$}e%-wrzUMk~!_4(R zc4o7?&-;6S&-47==Y1w`WoAa|boqQa1VPiyCSw+O&XVr1Q1H9x_P=THXfMmo5wmC? z?DhzD-oe3Qshfj2KW~R1|2b#o+8H5{VGpj%(FX@Fd#dxgYkTkRPE2w3Bj=K$1y9X; zO#91j*@e)h;imfB+?ayu=+_U1C#S9;_tY*3%4qES#tNr5Ui`a1Rn=)U^wX!>xBfLEX4=8>i1d?X58F#F$^R8nVeDxvzr6nZ`R29` zqijhE^WEi;o7&(DmVK(Cg|DAELwfb48McUlPk$fo5Bd6u=jYwI9rPIl1#RXHhD@`; zFq{p@p>|`9-qi8Tf}?rX50Y~ioJ%|vX((<=f1)UMRqUoMCsr4n{=Dx5R&b)au0<=a zpDJ7Nv;8v^#}861@=cdyTbnDk|E_As-NSWXA!jPSefd!94=pdr!u~kldhA!)-RpPO zn4^zupjZ8~t^Ezv=2^y-w!QCuq4@4A--e4F9X+i}yRVhs=zc7FTXcvHDXP8tYVx5( zT`PaJ_J_)jkC2!nSB_XiU#z}c^Y^AMp|)#Agih_~!*3sR&NB;_E$*E8NOrh2F8!p6h^dA`^Bnh?;G5TjukUr1FFIdxf6C2-kTtnI zc|wr)y*i>bw=ZmNZ>XZab=M);3pb#sXAiQb-}HSDvm@=Z`|~zhgTgKb8wy>*Z#UK^ zK;*Uc1EE^&l<2MveBPx;`dbepFwg3dHE|ZD#ckjUcvG2&vzBFKGi8Mg$s#Kf zX95vCTtKq9IR1j6iPJN&zImxf*jU) zSUZ(vOc|m8UwWiK6x|et`FuWwPpuF<`Iw3%Nlb}jIF14Y>MeDNv>$bOqa=z!4kPDf zJiJ@v1s5!F(l()3)FTKOhlk^Hx-FIwdY5-d1)vA!r`?!Jp~Rd{Z0roLm|Ox#h64K0 z8QyHLNwF->D-?SeF1dtriBV%IQq7jk5e6xxeBS8}Bn8A9=Zs}WaPDG{BY$v9k%YFLIP88yzv6Us3Z&w6-Jm9%4QR1y^ns0gKvCU8QFf)EH)W4CKi znpCS%PECOL7!_ex+5%M4I#7w3W<7!{2FU}KOb0F61&7fe% z#7wCl8NGlxDOKLhl;We}lKcNReJ?UgZ`cBF4S0Y!FWR+>ZPO>%G zZeg*jA5|E?oZfo+3LO28*|s>VBG;m6Y>R$z-#wH6&+oi+Lr*;Ua*d}E?mD{Z!Q6zi z>7@;C&3tXj!%G>TTK02q9;;h)XKTK@?KwtUd*I_^wpZ$7-hRKWYwDp;$0xsle9hhj zx^MZHYdU+TL629yJ;juwm^&apKCpSdT>b9K#@MyGIH)0Z?c%5>MGJkdf6uG!{Tp}h zsQSWwy86SGWkL$E{BN_<4(vM>w`JhkU&{LZcPfQTZ~f^Z^5~NR#fL5T$Oo4CudO!O T)Xar}^QbvF!&slRZqt7Nv;;(t literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/ferrotitanium_blend.png b/src/main/resources/assets/ascension/textures/item/ferrotitanium_blend.png new file mode 100644 index 0000000000000000000000000000000000000000..d1eace5f8329283080fe653f4eb9950d62a02816 GIT binary patch literal 4693 zcmeHKX;c&E8XmB+ghg=2jTo>XI+^SwLn5*XQG+b0B5HLqGl5aEkPJx_Sz5IUwxTGt z;)19}#g$667Of~Ew4k89V&$U6wX|YI?bX}MwcIZO5zg&7_ju0jKaw+J2(Il|nM<<$97y zS|~LHS(-I5A?{U7*NW%4vWcz3FBsdJ<(=nu1;>Y8kLF(xJM$)DU1t{Gxw>hO!=l^= zg(o}`zbu)7@fzJX>~TzI#7i@;dDp+C>-vz>Zo*F%BlH-Eo4e{^lYp$rJJTSbM1#mK|LUY7%k*pabG7F9KU zT=nAkYSswHDY^c{foM~#XH8r+E5Tp0X72de>{lPY>n6`#zqd6}-+`C?(t7vsp;d>N zPMO)_Ao1j{qjI`tF<_Nc{A*1`dR~P&yYT?$dV8*YsoLwHWp@3;xz)Soy~9}@^0D1e z{y)N3a0fL!O&j99_z6o|*V$6Ech0xlT|06v#+Hm7`PAWQd&%d<+kWn4`TIPIhRqp6 zhun=kTE{+@%0{Pl)NkA*zdUU1x@whU-T3;MAI+48jhn0dKSx18c)1-;JxCyo6g~KUm{*WX$AuQkcOvSWz4U-EL^xZm6t;8!H~ZXlkzcdCKhI zRb&#Sm9d^woMSO5LdKdWRB#mfFfy5nT45mLS41oE70Yl5!3v(nkXlecpdo3DY0;!; zji^P&vhkwe+8Rb!OdEt=CSxTiVwhn%1IZMy1#Au+VWCVs)-(oFY9Q2TT=5WdEz`=0 zsdQ$FN3wDBub;V6$QlWHyMHV;`C{T6dQ)X5i*6;08%5!kJ}GV zQ|dQj^~=pVVk@U_B4D~+{(k7!wcEe|rBI;ZIy}ufsXSc9vgV5tI-DX<+ogmj=Bd>r z4s*mpH7wvtNEj3IC9sGTbA%$UfRu2_K2&n8k;b$*X{7?>Yzpx3aITt<1ro4`FC<}s zTE&OO7$JfQ5l#vT5g(UG_fAQlN>i5M_* z)oQ*7CkT~F&`o9S0~!(|m$7(kj*Z+FiAlj|wa%acR;RRt&TM=$q@*-tJdIgp;|B5s z0wJF(5lI5M+(6+Q&|K1B1eUY1aye|i$TmXY=nTM#0qam2EQv()+9cb6wJ|6t2S|%q zoeG$3aZn8!W*{+IXHe>NDKeHdH>Q=ccUS=y6oJuLI7X9THV#jKa>OW4pyY5+fe7Ub zrf_&Drw?97Q0nFX3vFFKOlf!1qbMVof4MExy{6*H)b6|P+Z4*Sn3zo4vOqDsy96U< zA_-fbfUA25PsX%KB-lTC4Es7x{fQayK%qp$A$c%g1S}xna6ktMp#bKI#8#J(7|z4` zvm144+Kd^Y6t^v8; zN`bcm54h|9CKuz)%M_^v|A5TkRcY&uiub{5mV;_mWH=NGzNl8knF%7!`l$Iv2yz)_ zJ?x;u9iu_ek(MhW9NU~mjb!`Yzcy(r1lilm!$Xwfy2tqqvo@zfmx7P|x_0b>$BTk1 z^Aj{1@<*f;@LUKNhG;$O=K3ujArbqfk?SmNBb^uJIZh7Y z)q^W*3tU!a7TJ5;bAGS+I5a)KaN`5m)z!b&eOqym+3u^1d#FDCV?X7=lbi|On|~Rc zJ9NYsRUxMrURsh+ToF{SiuM`Ku;)B$jm;ply5o-Ki|yJ?h-ef$_L9W!Pya1_M`y$PF#$*NXP3lWpMTJ~Qmwh8Y6#(Nn*+JtN{>qK)P@!_ z3qP%SZ1Qv&UtFDXH}OX~M28;@ IUGm|705D6;FaQ7m literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/ferrotitanium_boots.png b/src/main/resources/assets/ascension/textures/item/ferrotitanium_boots.png new file mode 100644 index 0000000000000000000000000000000000000000..77641380900d0d96915bb4bdec23842e0ee39410 GIT binary patch literal 4361 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/ferrotitanium_chestplate.png b/src/main/resources/assets/ascension/textures/item/ferrotitanium_chestplate.png new file mode 100644 index 0000000000000000000000000000000000000000..4003071551c5a5587826ff337e62c2cf6bece76c GIT binary patch literal 4410 zcmeHKdr%X19^Zlj$NP#!6d!A_$5Gj2H}C8u21o+LYcNH|ipPy^b~mt)$FjSSK(8K9 z-&UidL$n*5V0MtJi9M)N-RZDoC%@R;>5i@Sf|;4KvsO$V{@k z-|uHX-|zSH{r-NF-x_;fPE6#~NC<*rthwfVaE%wg5na5+(3ut>-!d@##- zos5fyg({YYX+PtHApa$|{c_AHG@`F~?S_`N*cqpp{J$m(eK#_ij@-2dY7d-C`eI3Y z_*Y?@Cml>*`1`%LIvUqEr>?ABhVGmZn7HlC=c_ihTz%U3?7Y8KJ-L&Rm-o40&g7Kl zJ@1~&I{)v(vXl*`kIgC9KKo09=1Pzq@hy^4b$A zXPaN!abR^TB+tq`8YQq_m-sf`nD$~?Vy}08>h+k5g@w^ax55)4=&2Qq$z->hOoOF> z0s=2@GUT4hnAW;vLBrc`)K$ipe`4R7Ubj~J=5vW3W-)UP-d@Uet?Jl4%UWJOsVFLT zS^C21MS+S6_L&JE#>E$hr&=bb-T#wyr{&e~(~teW?(zq*@l&5^-0}x3<3f7M*469Y z?^~PXx6I5+YMBu7wBkF;IV-CDens5OCEai9+a7(jebgoSz7U2! zvQ{78YuQlKp=QgkT4l~V@ z9K#BX*8_{3gu`1Q7$g$lhX?a>vo_lhy@wxA0q7y~6RZrAqB6HzHu4Q#uv7w)frNhc z4ZZ*@QCU9Cdn-7Swp7v{A!Q^*j@4!#Vh~FzX54JBC?MXbU=%roV=FjU5JQnN+C{qo zDG&0)M&SjaHtWK zB;<%vMLH2ehiMQDC1^QC(-^I$Mo`S>7%-KDYh+d;6$Pj;2dTjnP8!jvRVqa3P-zhz z<#Zq_62)|C8l*~MK`OBic&6QIkjSOzu*L2o1gDpCgHdNZl-I`(y9yXLy+9yD*)WX) zQ|mM;g-)fxR4Vl_Xd%t$KrSK=6kW2yoOcOUjk25(*5lM zT>UPxgzyy8VE-5x*g-qj*F6r!atHKHUj3~{KGYJ|qrT9hDA+UX>MDh#pn zUZ>zAI6AW!=m@j|0~*u{{_Q{y(?;WcCA8QeAQ=M4hb7ZVWCO*@#2sU>TD|PQ^w0+Z zBeoduUcU`&U0^4a4Q+)3dVySj$qk&DWVPg(_hl`u`wx2HMFRi; literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/ferrotitanium_dagger.png b/src/main/resources/assets/ascension/textures/item/ferrotitanium_dagger.png new file mode 100644 index 0000000000000000000000000000000000000000..8efe00587b5928e61b2b66d686086689a821f5d4 GIT binary patch literal 4636 zcmeHKeNYo;8V~eP8YB3LYIyz`SyHk+^Al_*G1QVC`tAfAZ4+1jHFnT~b zRxFee?4hk*Ke$tCbv*n!wO%VIN}*n9?RieEhZJwD#gC5Idacmr-c11Et}{2xo&S-U zeC+f7_V+x`@A*7n!ni*_io80Thoosq+cKZGyz1-#b-CSkNtxHEtj6i}+Nv6=>z4e! zsVn^Q+3V#sJ+tmko8(1no{!moF?dVzuIr6?@8z9oy2o$n+)i<^UHjVYwvf+1kFHv9 zWZ}Zf><4j4{fGY$S@}Zh!WprVk$Eqkl}(E7v#*?ZY5KKetDo6DP;y8l3fj!2q!@H5 zDMS6hE_QFK)1;kCiaWn<&7M6uad(i$ZEuBn*BV<78xMy@Key(s?1|e~oOx51Qs2`v z?__k`K<+{6Byqd9dqJo-9{Ff;#!HgS9$)>^>X<3D{rB&6-MBZi+nV#L>6=zjs`6W2 zEcr*@0k7}rpqj=h$>~)WKdyiEd_rE^6;0yC_p196{^=^O{mrQYta}>w+ z)%#aoYrZ!3tCwq|$>0fps;s_UJLhiDjz!HMZ=ciKh<;yGR-M}YL(Tj1r$lrGwVEU|iSo{4{ry45lbtQ(tp(vC(d29n8Z1|zPSJL& z1Tc0JEAdzz(0L+J;u4Po(Cb+qF|mc5O(XvL^cgY2F&gnIr5@8eQrIFct<1@0m1P*| zvh_5{h?gu5OY~5Xz{>If@mMW37v<52{k#7>1Uz7S;+$U9djcC_K-ZAB#1rHetoz&d5Swx?%oN=%L>IV2IM|DXpC@7Lw|; z8nI9>#n@?%q5MBp1j`Z%j6_YCQi&=UT8;vx3ZN=8Ap&sB|_L4{S6mP(gAD z2YCpRRbWb)3Y9Bm0961CQkczhlvJ5bI6<3ejHX9WtaNhFmB2ExDuIfDR5;9!$z@7Z zZelT1p;i(oiK*qNi6sfMNd<6RZuV0NbD)w9I*k~Y1nTog3>Ltf?M^GSI%i|-Zr5Y5 zk+ZT{JP>4)sc{7<$8ZHs5=yy3^%#`HI$h9m0;>#@$O9`3O)Z0*09uE$f$6+^AijxJr-D$MjEgG><8zN8+FYDokVgL`cfM;PgSPO*_6iymt za!RJAaM?l(r?3%tJHwev{~KD^K1gC<=xLk_<}dY!0(&Zp-4M76Tv|B)WAph~$)p#UZs zqaIXsnB8SJ^KRf|lMA7aP%CIqzgEb+!5PjUU5&el6$S()Loouy2_uG4xSUcFV(F7_ z4_BH<4A8=MQK?Y{4U{OMRzvH{O*DvhuTY&3J2oQFcYQ!G423h z#0d&z3B=&Z3=ewg@JTA`qYWHLT85mJbKE`S_=$)snaGKi4W<5n7)d-+|BvVKJK;RUuXXL z{jq%fDCnGwD3JcoVZJDJz)J@i?Np$h!?aBhS)}NZdO4-GIy*E UZhz^UUf8lomztqHw6wtcFB}w?jsO4v literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/ferrotitanium_helmet.png b/src/main/resources/assets/ascension/textures/item/ferrotitanium_helmet.png new file mode 100644 index 0000000000000000000000000000000000000000..9c06f2ef8599134b790586656b4ed4f8814645c1 GIT binary patch literal 4360 zcmeHKeNYtV8D9+n!-tX(m4pb(osOZhw|jRSceisVA9tr5$&m|Ci>VI2xBDJ!ywAOb zJ4j*$C4R)HB(1R&jHZBX8g2ZDZKT#SN^FXQOd4$>end)I%|yW%rL9={?j4_#%ygJ( z{^MrucK3OH`+J_}_dM@A_inNlERBnPJQ~BWICGw{5MATN?~F+Fn{s;ypi8j2xI`!f ze%!;m?VJPRLX`*NFu>U{EO5bT?T$N1%@{1(yfxS{Gx;=E`0FHLuqXTN-`_Ad)*R|g z{Iv9J)Wyi1j~-56_Tzomx>{dtTljL#8fs5+ZU{tL6S}Ju8}9e@^yZ*;NosI=^yx?BC^!yD)589cM6D z%?86rEvSOVm+JL-C$pbuFD+_$>u0r<@!mgKo6>7HYj*r#&WT)Z(cv#w@z*zWHK&@r z-bYu&%v_VcY~G5-iVDx{h!eBo%c2&V=BC~HiFuD{OVsK60e_!&U}pT|vs)Wh%Cpa< zOPe;n^8VoF#DFO!H!&D7{SoCI)}9)3_EyELl+wPpbRG9DzWK}2w4Jg2n@-7Fljhu_ zZ=Gpv@m*dx^U%TO_%{=_B?&n_OZRukj(cU=^!_vN)?3a#ykS#&VN}PwGk<CgJ-rG3jA8-&+uy}R$VAIVx$6O?tm(|vc~fK&YpHl*~l zym$XxBz4bReQcj;>)NhNkN48~Uj65MRATkV3k>}HEX$sfh|6cM{o?E3=R{ZAmv_%! zIDP$r?JfIvxYn*Sta``z+3MuJo7ca(aYecBKWngqH~HXRY3&6xbd?+$t`f`BG~;&4 z0PD6vS-|N*Q-@)?tbhkFtD%6~U>WDqOZwW5OK^_WOMaxXP!^8?mUDU4JS?g%C}yfx zGg?-XwK!TApb>!+3IGo{9WEao&`UzRG`bhfqy!H^gw=XUiN%T=+&siHWEnDwFa@|u zg=BFwuH#udU1(e~Oo5*Cl5#=t&?M>i`(=Km%*~gPa;;WNQVLR`AP|D^Rk;KZAY4AF zND<~RLLb9(9)WYaaFG+(+!caeB0+w9BtNIeVi~1(`G!?MdXNF&A>}fPbUMlLZ}

4 zEJH#EbRtq8%1=H4FL3rTu_ojudP3!lPXvV<<)45asXYWnD2s(Qx|s?wsM)BOi22g2 zo8eeGd<&sM1(g~?t6&)-LrrB8K&jRc6r-WEcC`kop?VyZ+2s>}i-95)BA0Q92LQ&# zsO$=YWr3Q=(Aw>Ujbd$tMhTTlxkiER$5TARb7(4oV|-R36)RF@uxf3F9S{(x0Fj|# zRfHxJ*a^8>p&S4=8zp#LmPMq1UFyoc02SEFXJxaXu8kDr5?;sUqkNKZPG1Txc=jcxYMBfC-o21C@{s z<%zh$E~Xr~${^Z5h6i@U&V9!)K&>W|%~ab74aJ}i0ssh`%4Q>MHfX1`N{|7RVUb4J zeQvwp2RzIvLpma@(13=t!k--OVcNuO{N+$=5R#0L%ZV|`)Dm*ISW?_EMyl13-_k=D z0*u>Y(0gGU+PctANRDoW!+N1yzt7KbAHL5JI6f6*QuQ z0#8lX|4pvwvBMN}p?^SrbX59g_8T&E%!;%&(3+66YB1DTGPjXA}djvKGZXVp^ibt$K6POP5|nQOHVL`20& z2Oaa8Dh?P@*9WorGE3sos}To|L_TJDvHRG?dp8@B`)?}*d&8-9omov}{!sqh%1eaf z1>#>T2e8!3!4mLd#Fncs9bR|H+m%Ti{6hp*vZIdbpO#&_voC4O>!l|f2NKx34`JKC zSnwn)T6r$+gWyndcADXb>eu|oE_rpv{NKLc+p#|WHrDw9{I{gVtc&kS^Jj0|duM3+ ZuJ-1fhZoi_(xVD6v#G$iKX+B_e*x>ZG5r7l literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/ferrotitanium_hoe.png b/src/main/resources/assets/ascension/textures/item/ferrotitanium_hoe.png new file mode 100644 index 0000000000000000000000000000000000000000..b7e6a719a4ff0c496742ba48378486aa0e464d17 GIT binary patch literal 4384 zcmeHKeNYtV8DE5Q2pTb(ND|X5hf=ZGyWQoukDWUZIX*6ULIIUf6L@d;Jy^KAJ?|Fo z_%J3&Y`_*F8pjY~X(gFXRZ6uVR!Bs#tt}u{lWH_jN0|7LQPS#EMFV~J_?~8_!%XuZ zJF~aD&-2^g^E|)zd7rthPG6tAF!*KJS zhTtnX1y7C)L*r}z+*feJ@Z+2?s?@Ku>Cx|-REIArZL&k@aeUnk=HF?X?d9da^X$8k z$B|Y=EVe76x@~?;WXplSU1qMo`^INAAJ=UwXX^VeoqTy2)6lKQFuy83AtBwAkT6jU zDxq;}y&I!@ZAA?V_qejq5BQ?*FUei*ufezRu2zZL4~3ZM)OEIIAYoUoYR%cymW$d%V7l zzu9=dy7Q1c>h$%~nSrm=J*fZkNSDyq^+bq1+BQhvJq;|s{=Cz*=xEK)p6m@xUb^8x zMflK>Q>8nP<`lJ_H9QRQPqeS>DsC7^vCNNZ4quz(zu}X-@RtrI)l@II{k`D_$|i+8Wwro9|!|X~(&g+QAQ^_Po^b=$WmVenEZn5{ewc`&%1h zG2N}ghk;scKxEgRkNU6ojr8}A7%to#l3iQrx{yoczKNQygh$PlZC=N)f?WYP!2%Ut zyAyRChUw$HPQVsH5x2m6-eHgrwVjaTJZF$^iZPRBX96tXQ_5U0vuu49TUNyCIC)%b zu-?lc0y`7|?zP(-ZpLen`*<02FPW8c+y@bh4DxJqI-Vf7Ag)rV6eN-8<+Dr684dyK?#)ZZWY0k&Gww zjc>TK&>mH0K(|orVqszlbchktDUwa*^hpM(q{|xj*?LII4z~y#ER?7axq?SL8jhr`5JG}u zRTe^}qX7XROA$JjVq-KwqgIpDG>SAAkGc}rre`HlafnK-fhwp490Ap=hEP#4YQho? zNP^U8X&ni4P(7ZFv<^&sy2&7?6{L^cXGymK(JHv?sMUD~CwSabt}NaTGescDMrml3 zMypk8H9C@}bum+*jnL&rEhn*3q#|1F^KdMagg60e9o`P|q0;Hd_c^46VNf|pS|D{Q zV)oflHB5pF0#R^f34+ZamvX};%1O5wZ72?izz9T$qLH+UA+-#x$)YJHM$3@u?~^n` zPQwcvZ!P^_XleW4`mse%;oT^Hsn0aFr!wJ|v8S;|8}HjpIPTjP3}DAfaDx)a`SL_u zV=lG;IPxKyAL9)>VduZ08PsYD05umwSS?o6Pihq;0MO8cmbFH!)ifKeQfp?iy9KN0 z0WKJyk90&@p$7G7g|8Z4!>E~fPXUw`2uVheT4G8vja)fitWug76V>XK|D}iC2beZu z(0gMxG`i3vR8Ee+mf`K-6DKEP*EM$pv`e6-? zVaO;GP3A<|jiBe2FtQbaBLm2E)?|#&(sr?VO`+tq-S__0I=YAzu51ZCnDcZ+Lu!{R zY`>v2c**dtp3rth`o_Iq_jYu2T>Wz3WM1K+o>uX*vK^yCE!3G*C*6JN-dl@*6%vMy zJN;X`&mdfDX;9|M=x?3w3u!S0qPtf8oEZpZ?r?@16SQfVF3= t?TV(IJ=w3U+4LUu`i|wAhYeAFSk>|$9{a)JGzF>*GbOG!wye#o{0}$UK-d5P literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/ferrotitanium_ingot.png b/src/main/resources/assets/ascension/textures/item/ferrotitanium_ingot.png new file mode 100644 index 0000000000000000000000000000000000000000..7b96f072e397d2207a3798762f0411ce9bb6414a GIT binary patch literal 4624 zcmeH~dsGv57RRF~WD%eEK%^x*zM$CD5ByEQEWxqYLAHQF9CU+?KyiqXZs(?nas@n z-TB;mzrXwYolK4@Dr~H~w>yi)8mkBoi3R5gj)UzAetm!H!NKWlx_U7ai`zIRvr$VY zQyeDEL~$rPt!1(7&3e_fu~i8Br7kxwW39;Uvs+PasCzPI#G;gI8$O!%_KAd6yUf>Q zQB5qM>YG=FW@7YrNtV|FA746hN$wAA>?7KqbJI#nA_9*r+xYYLb$TwQ zSkukld8}!!`Q+}Hg)=Ms3bFPl?;TJ!c6c6j(IxtrCVg4+DreEP8>gDq6t%aWO}w~_ zU_G08=6aU*2MM3ON}ZbY>}An6Q=b~6T{>Os4=-^$Sj2`|tPz>CT&_~c<*%y&HI#h3 zNfures`jg22M0ifmLU&jr75!LKxhlWXmQl9{sehC^a-VkkUVG%lw)pDpi$)hWK5>2WsG{6*WA3=an|Dnp z^^Eprf^UZ%s^y+e;Y!}?yjZYFamn-3>}ri$?OPWk)<;O?KJn_$o~}Dk>wX{pc4hg$ zmp;GC^JqKr1=dLCL3y)h6=boe3kze`u45nc_Ma2`Pv4(9^F^;_9Vg9Se0}b4#yjfp zJl~h&SKE@NR_t!smEh67`tT3=DPQTPB{t~0x|)t|o14)y{n(Y}S1VnLx@Mic(Qq~_ zs3*Xba=qcMtkvx1wff3zxp~%nF62hqG;-pbSaqW5&=sFflI^S-> zi6n~QXeb?RkU@_tPeUArx=`L z*C!h+61xm?awXu}Vdg;`rwfxLgBB}Q9J$dqD`jA24n~A2l&XG$qa+=zH#v&};tdH#68(OrRCBV^ha`AZGNlJl3&;;0 z;?L090kMYU<`{97GdK|tuAe`|`*rP3XW*q&NAmZ{O{SfTiNkR&3kgp2mSDlH6zR+p zuzH7xMBJdG!2Z$Ku&?d(Z!`mm2??=Qz=tV30E00U5y6@Ofd&SRfS`N~7b9Z9P`bsa zWo)>a3f2J~fmWbFomz4H`sUDosJ|_da!e4A3l=okHNSzLY zwixhSuMKQnU?=4DZ-sq&IX0c&@zXaCzheY|9uD$G`VPxAEY}+;@J7zV-8C%N8!7Nc z&cogHf0N67;AM(3fPX+X@T#<`mRkW{vs^U`!$MeG@P!gauqFe`A57s(EG*U-PscHW zRb1i)jBboV8S2)~o;KBg^!*oQq)dUEvSPI$THB?o$1YwMW`gl;Z_>R_lkH@|w?U^4V1d zA_coD`|BVmYc16l9#{SHr9QV@c;Q}G%kt%a^!b!GI;isF$nw9h4g4AP2%fO4;F9*7 z_8%=vmL{a7ZMrJha{L3!qsOOrHf~`ZySeJ>lq*QLwTaDkwuZv!(ZlHyS8m(&9v`2lna7`N@f*l$1QK%-Ok*rFXu((|PO8+@%MP&apoC z_WtU^J?PZ@_s2V&bqB9Pt>pMDbBopa=o^3-#f-)uj#>)qxFsBKfKBA n4#?S(Ci=0Yd*X|KJ)HaFjAm9-Qv(7fm!$}e3OV$C!YBU$i;lfA literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/ferrotitanium_leggings.png b/src/main/resources/assets/ascension/textures/item/ferrotitanium_leggings.png new file mode 100644 index 0000000000000000000000000000000000000000..4efbe2d23bc047905bebffe899dffd89feb587ff GIT binary patch literal 4368 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 D3>_bF literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/ferrotitanium_pickaxe.png b/src/main/resources/assets/ascension/textures/item/ferrotitanium_pickaxe.png new file mode 100644 index 0000000000000000000000000000000000000000..e51f747281559f324509780d91e570acd865b21c GIT binary patch literal 4409 zcmeH~eNYtV9miLR9Iq;cq@bYdX{cEDZg1~xZ_A0~j+YA_QeGlbJFvIAcdXpq9(N0O zP|=8DMV*2p&2$KfZG!YA#<7yAAQ}x|ETvJ3TBr%=C_}0SHDenwMC`M7yiPOIVW#f=kgCrF_oc!W;17ORK7LMuTYGtSE}u!d zVTY45vsMP?%Nz{Mcvv$8d2ZM;J`L@FL%w+u5%ZDs!XaIK_C5cY^RfHZeW0zr^Gy#K za_Rol*MA~9QrTo`9X_=9{k+yzG~|OLf&U%~yA_ePV#A`Z>PC^UycN&nn_KW7yM8H2 zE?rq=L$YJWzhXLz4M%@>zasKFxh8tiGJoX5s@A;Lo#c-kRTp=sZ@=H4Q2gb{NY~A< zVO?s^)-{))-kM6q_lN(QS^n;6rNOd~PQM-e^z?57J%0UfZha{_vi%$cE!fNIbQuPn zZZaE?Lqo-3ZEDBH=!^MT$CC1*ZzNt@r7Jm=_G0n+ob{Dey{{Es|7fUJTG(6L*n$V0 zSR_h#>Al60%V&s|pvqgK{mpxhymPQ_^n7EF`0sn}>^$4{q~&L#fcKYWeX<+>_4YRo z8)7?mkU9T4*IpyryHvl))b#dWB*Q)K9RnR5eQj&6+}riwN?7)RSig92al_qxNoNz| z+t|AePpUhPi{m;!@67W5Y3=CY`=`3OhVI3|@p9`B_PCQY{qeI7=aS|Fzxm#kr700P z@9tRj@Kk%*!REZ8lb5wmgZ+|hFL#&J-$^wE#x<^bCD||MTEVJU-%CDF9WwHRuSZj2 zcGYjgTK`Zml)Euz-I_~F#zp7blxbIG>bP3SKi@h=EqpYxaHPq$YvrelaNS`aX>P*-H<-l}NW z0BP=Rf9j9pFT{4&og4goV0>_JTzmEIL(%P*omcab{3=j&r7WnfT;nE!;%pL<=1h#l zV{?GAgP`~XkAtL&7#=n;7S^s6KWsZMhFMxG-l8<3Mu(0mWK+wXOjdb%HdS6kX=ri6 zhM;&40RT3JCt;7xYIhMHt=P*Yz_VbMieaw{U!)c18Z%%W=VV}oL?JVk0pVll z85iYb9X!j~VS!1SxDs9~7K46xGCrHbXq>{^T@xw*J)|DeA(cr`sm&&xIl{#!l>*2_ zK;JsTl?^tjG?Q_0B~FS-DrM~a>Y0cXgE3=@Af#krZ4PfzK)hL#(bSZmqr_?T`p}e= zu`)IQb%FR~v;2A1JT2C&*n}Q$Ix_(RES(bsSt&N#t_nsqlgkyQy8PBRk%q$17)zgc+yTW0t&z-EZ`_Lv>L-r z45FY_6rxa56k;-&X#gWtn9PLAO&Zk<#AYW8s*<$Mj7mV!0HrbGG6tvBh)RLshytfk zM5CePh)O0SX;Q(^GPTl+64rr8%rI!hm;{}+WLQbw%sFkK)LA>txn0v;*{qGp;z>a^ znHp25aa^TQs!^F-GlTdV<8*Ta- zp;7_aYX{j7IwwQ&oHLu_tXi=UEi53Xx{Y8%(IijmNuB|-p_qa|aRO6kV=_XC6EejQ zQH(%m_;WOCF8g2J!uEmVeT$yTy1@KpUXyQ6WiiFRH{Yw3^=>8@_HGM;qi30I&9SVjy{Xyi0PqPP;la8zklm>HZ>`ShNm zyErrNCY?;81?UL00tM>T3SK+0hH3``F z?{%1Q#DH-=8#ubaNhqB<3Mcdev3{3rVjaHADPVYhk~!%+FW0HkxVNOrCH zR`0gFH##1D(Us*dw74iXa_sqYcVA@0F+8ft=IKoBS)}G}?s@#?y@OGapuHXa)@5|p zSopr>H6PwqLouHE>hUe7Lkfh}f0hw-47Alm37)^&fBpE{i(MzFXP6hAzjBE`!~Em9 zKI#@5`}NJijkV;>*3%*C6&1{9VBCTDaG6Tl|7FAj3x7d>{F6UBn?AlV8Vb|Rb%zu? zE$+tOKkKW#GhUMxx*n3f6K0mHEa5Na?6rOztQczP>f00uL0tz))N=HT9*{9)NJ`hA Ic%`87KgMT3q5uE@ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/ferrotitanium_shovel.png b/src/main/resources/assets/ascension/textures/item/ferrotitanium_shovel.png new file mode 100644 index 0000000000000000000000000000000000000000..02ba762bcd3da2e8fdf10edd45300c74b17bfc30 GIT binary patch literal 4386 zcmeHKeNYo;8egQxms<6-HG1?6OG}IAW;dI_CVL4A36K=@AE#Bt;)(wpB^Oip)01-M{EW1k?Xg?zi|+Nt*EC%A+{w!5-CtVqQDo!W zo7A0UbB@2?@nrwM+g|9usy~0ROz}S9_}7%m$ZGjK;jPla5zt(o)KlBI_bB&32jnX;@V z({M5{g}TkVjFy%q(I4g68&Y$lKTWmDaYIzrpZ@u1X4_jArch^@(+l0EdN2eMzt{(E+R^a&kl@{NOW7Ti`_}t9& zIV<1X6m$FNhow7@*@d8 zO@E@ib}jkAJNZ31OP*Nx8VtydALUN_bdYIku%VBe+$7 z6&#!@;P%3*LlDE_fEO@DoTPMc1-!?I-fldNDtXq3u1>HKHm`{*;njf+j538phP5a@1%e;j%^_aGReY&O~~FvYS{tJ#Rk@zSio z@GKp?O>jEYoFJcU2VK|uzlB;;g<75&+ zqEn;A5-A6TX&I8k9Hg4ToRo$o^m+;q4sr~|G9M4C61c`jB~!7GiXxnPKx*Jx;AAi@ z0a<_^XkbVQlp1I?93&1>$@@SjXIYIXsUk)#SuP+s1)m$1I`3fxzc@OT&AU0f1Z3IN z6se_jI*K4Q@Iz6fpjDhtge51lstJ`QF*w6AbQfdtGz;-EKz)Y62GCaG*vO((z`_0I^B zCdS|emUou^FSLAol!n1gx9}qLUm7$Go+&%GVeo12(ZvT3lTsNx7BpZ6QxHK3#|Gns zT!T|gA@CG%uzw5{?695xo?>t~^_*7gATh0;(ZON>4ouH#0LJKbjGjm!5-CHL6WXdiw+50HA&$%OQslxtG12`Mlk@MLvO$~7ScCIp_W zuK$}{QKK(YoCp2`^21jpt?^Gc;cHfyBO~36a0r9sJb&c&189l#TGogNGIh564MA$_ z6wnwhS#7D|HzIyAn|?g=c=s%5>ad!VvvqAuzM`<%QtiNJ+#i?*2POQ2IZ@W9jtzxl zYJ6=*n@=H+J=nUo=4Nm2Kv&~S^VV3-H*L74syv*Rq|sge1@X_Hdv|Y@N0p-e{PL~d z_A7>_`scU4wf9E(ymbX(o}aD{vor3>lV{fl6f+w>(5!oKx-zfxwUzK}EI&#Winphd%xBvaxpqgagx1enegSS)REe(DDeDCnx=uxi~CvIr&lvniE zo;l?Rz5Pj6{NRetvg7^jA2^m&u1E>seqMg~_~WMz!+`f=w@Oua!=7(<_x3hkXjkp? ztCd(Ex!BjZJP5t|8Zo_s9rAF8kTo*kpBV>{KzJ zgqqR{Wn%lr)t9qU>*F$4_r%-?jx9L5Wm*19+h5x2xV|IztJcBm;@s

Y8xx)4vf! zFaOwAboFzh$$RgB;El$8mG75VjkVNW6Mnt#yWgE}{;}ybf#<1}sek`H{-@oCE7YNv zO33X$Txfe+vVXB^tM>T2e--`XnysX-y}i46L+AH<9&|2AI~eK~Da^0AcOdS3Ok^{A zuja?H_LIV}OGB4ZJ$4-$tGIu*!&KAZ>k}ESAH+s4k=llD+AWJ355Bjwb8&+I_S%x* zk+W?@<&BwnXRa!r__)Ox)^!wAf0wBB3abm=6z{hEMt1P#kK+%P{dRc$)3JoWJ=L#Z zpM8`)n6WYNg^(+Y#sw|S5nH+>@~}gYN0$B><@#{gb@;epPf%~+Gxvv4Zt0obStb|j zu{wEk=AdUlzlZ2_bM<+_D-WQx+diig-x{nBtJ-|=+4H5TE}ng^v3W+*(bAeINb&vd zCmuNN9@!J3@a;NFR~C}x0H!Nsfw?j?TM5c!5RtS=%ZTg-GjJUQ zMMm4rB$dZ-u$IYTjY{E2bBhpWX{9hdLW63|u}m(TSZrZZi<8o*;yg-03!|gFBkcqr zFfbem+YNf7m9Q&?PF?~$^I@?Nc0#y3r7%O249A)*3@jB%MJN(yXA3c5ls6n{p>;%x zDt?jzyeWmb9A_rPVw=q-vW1IGmK?D}p-_lXOpIX&Kp@s4BS+d1qjfD$F~Ol?tdxZ{ zbF9e-^PHsCRKO{PLeLIR!b=m53!vzizOmdY%qvt_powtg@9x-p<^qe}iJ>Vmqh}0& z)C%&G%)xW4Zbqy*x$!N|a%Lw2hMVS}gPyA02?i*QhESQP0)9}nN-5;?C1?}H(uDI- zOX4_6Nht)EE3}9drDceMmg0z1CY7QJ1xYbDI*Uqev~r}8Vt6V*E@AMnU5^BcDaF&B6j#lKRj-J(0D7@r#_Hi8YnV181qxfng)K-VF;R%l+jA( zvRh3$&PH08m>i%Z&x57!i_)X_m{7ufouQ&prUKnIv`Yy<|AlJMUm=}1#T?=x} zOM!WT7u@xKlgoSNFvS?b7my7cmByF869SG|9@;GlDu{t7DC6}rBmV{wFLUBfD+KxY z@s|r!T@wI;0#2=o6WsM&%jfoe{t{hnaf}Ug7Vf&TybBv@^Kyggf4EmJY|2!AF-m-BZW}n)*VSfzlRXj;zjJE` z_>^ANdEZ>xmE_1F-Z#5J}Bfd%h>aI&!X}(qJ zdaP8cu7;^<_pUP7Oh_iS9rmrfAp{Y`o(&e$2%@|$XCDp?$M25N1Kh&JvGTY h1erg5aq_mb)TJZzNb!OF_9`GAq>f8co!*qa_do73V*>yH literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/flerovium_axe.png b/src/main/resources/assets/ascension/textures/item/flerovium_axe.png new file mode 100644 index 0000000000000000000000000000000000000000..28bfdc7fecdb649cff3e99d5b0215a64d05aec85 GIT binary patch literal 4383 zcmeHKeNYo;8efkdK^oCkMZ_vQ5vq7@cC*fWLZoV^2bOZM)?{O4pQv`z1S5xQdvvo8^=D z|NHjy?MLQs+o?S%p4&Tj-TMc-oBdUD7avw7H6D8X$6K+{E1QI}cJWqa;or~L_SIZ* zvUe9AmiFiNe(~C>$XWNS&kD4oC4`?5t?ud#znXjHUP=Dd*@m$Ew2IRYw!JI}&)lC| z{hp<FHC^sNb2`eaj~PR2 zf2m3cuL;w(eMB7#-F!(^`tFup2VUOY+fd!EIkn~6jmPWn9(zs|@=9p>x!Q$QxqEi} z?(~T~&*~ov6QMV+wLH}PsQ$LKNEdYeM*h^O%pOgAYu}fZZ)TpUP+#A6V%5Pp;WvVB z{BZCs>EeR0qdTjoRZd?SDKGsdskT+yut7^LzJ9iRhwa?-mr74MRjqT+F5kL5-tt(6 zxk0b@MSpy;vpK1;(cs`zgQ;MUTt z;N-M^w->Y>1jQ%#y)?6)lVK;9&3nw6p85t2%(G_A)1)1O|aMDg8Up8wrU>qKb&+WC_hv_}ipb9__)K7a+ofbpgZglhvNlq*P zB!dC{NkYEJaES$+N1i{LBFSb?9cEBc%I4kPKvF=wG0s?K80XCw^8y%_ zLAgB64M-&rpKc6Z=3OIVjfqVe38XVR5a4c@e++sk_W&56>~_j3F!_p8o7JpQ;-y%D z;aMv1swZg|%jxxq6Eo=$f+0tx0(}_C~f@E;cq;onAI@2hMl_C$ilFl0)l|sb=Du!STCNd5OF%W=& zz(~Z&7>o#Qbh%i@#IR16AwZ?nfm)hsGiz`yHeyN5qh*&MxtU;|qh*a^|$t#D8;Wz+c?ufaO}j2-~>gp+aUJ0aJET;oz;T;PfBnviQ; z3XBUp(Ov&Hxk5({Q=A9<1M-2RQt`fuIpCNT>|Bv#h4w&AP=91@5eY1ly~%4O2zq$B za!-Qxy%7P7D%oaFR9y?1r+x&FrvK6jOlNJ@r4C~&lU1c!C|BHVXm?+H;T-*pJ z-#%Aa7ujr0mezSfT6TS_R)75)=IIt|nJYLrc&pDB5z!r0!_;L={nyIflN$c{XH2<5 z-d@sM*`vb_x7DBW-fJtEkzdw(y!^=V?-PQ8f?7IWv#D!t*6N=BE4(5H+oz wH(mAo9i7?51iKNq+Ng7`zQn@9$Nd{g1VzIATP+4m}0H{b=Kzp09I5(fdBvi literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/flerovium_boots.png b/src/main/resources/assets/ascension/textures/item/flerovium_boots.png new file mode 100644 index 0000000000000000000000000000000000000000..af9f9928026cddb85b7ffb70823e7752c1bb0f7a GIT binary patch literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(rH2 zHKHUqKdq!Zu_%=xATcwqM9$DcDz zkl|>)vgn7r*e`>#H<$!f*o+xs=P{-*cnGvjTr7|#?7_2KY67DIt3i);wZiIyX(t8F bhB0ioIQ7~iZI2G13m80I{an^LB{Ts5q10Hr literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/flerovium_chestplate.png b/src/main/resources/assets/ascension/textures/item/flerovium_chestplate.png new file mode 100644 index 0000000000000000000000000000000000000000..1474752f56a3a11d420d453231d853ca4603042e GIT binary patch literal 315 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(rH2 zHKHUqKdq!Zu_%=xATcwqM9 zEVkyEZV@Bv<7jz(+5d++y&7!|PaGa8@Fbl!%2*uLu!bRxVUv>6C!QBv6LJr$u@@gf)^W3@1Dd!Y8CMY|{Q9*&xV#;v?@QmD^=C z_ZnDbt{reLXWW#Old~tzp^Pgurecg9ng6Up00i_>zopr E013Hdb^rhX literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/flerovium_crystal.png b/src/main/resources/assets/ascension/textures/item/flerovium_crystal.png new file mode 100644 index 0000000000000000000000000000000000000000..d9ca6427daa3a28b14245606d841f54a606b79a5 GIT binary patch literal 755 zcmVEX>4Tx04R}tkv&MmKpe$iTTA_@RIr1HLx$>P7Zq_VRV;#q(pG5I!Q|2}Xws0R zxHt-~1qVMCs}3&Cx;nTDg5U>;vxAeOir6bq^0;@1i`*{oJ2pP%an@@Cd{)rs*c}2J!5s zsd3&X4zsc-6Q2`L>U2TkN3Kf_zi}?v?B$tZJ)52<4igKdE|$8Om34)9hBzWCD&>1~ z4$GXkI4jjUYu}Teq!>uke%!@BYWq{-*TUS|@<-8MsnA{#p~5`y{>5 z(IQ7cXdAe=?r72;aJd7FJZYjX+LDi^w^#(;&*+=-!0;{5zvlGT-pAn`u^?e6X0GwuF<07=GjmYEx^TL1t624YJ`L;$A%(*W=ZHi3))000SaNLh0L z01FcU01FcV0GgZ_00007bV*G`2j~d}3?nJ|47X(f008evL_t(I%hi*i4#F@HhQASl zo0*>4cmxC!*a;M(2?*2#h9J;91cG1?C`b?$=vf530fv!~;7Bke2+R;m!*|PHNMEeoquaD&NSa zldShs0vWntTpFO70Ul?#gb+-cxeyJY#<#ssGr;aHS#2bpZWdBWtG$>>02VWeRsS>t zw5&wnntRnC)r@66amx~{Hj;i%V4eh}ZA?RyfRD32MY|!`Mu%b%r(s~cB3rwH%9Spe lmzWpdtOJ-wzVREM=?y4IS9Mh8b}s+`002ovPDHLkV1iDsLm>bF literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/flerovium_dagger.png b/src/main/resources/assets/ascension/textures/item/flerovium_dagger.png new file mode 100644 index 0000000000000000000000000000000000000000..14cbae2bc13725682488bf5d91f490cc7d2df338 GIT binary patch literal 4858 zcmeHKeNYtV8DB%omw<_kh$hj^1^j5;yZyY6h0BF<2#20I^`zK8;_dD3!3uYK?ylTH z6H!45W;76uW7Lc>ex)&`W2+9-uJf3F)K4RdVDklL9wl|=>R{chXgWrjFdKhpyT;j}C<}d-+ zFNq$ZkcX9GKM(Uk!2?0Tb6!VUToW8~;Lb|(ON~>@ubtYvrmM_cx~2SM=ic(`#+KNq z?vC!LKUTDi=8kU2&gQB$$vN@aFWz-cGMyPY-hI32Y^A61Q2X{t^_DkwOs(4W`)@~Y z6U9&Dt(DiVBQ2%n`q|{}V#h7G`GRZIM-S((U3v9-eCzw3e9M;SZr8k7(N=JD-$5@H zkNwkCja7dSWtB~ zKaa2^?26N#_zPVZz5HTC<)6#eeE8Pd`}NySX+A6aX33`q?$!M^B63yq+%IaUe6Vm` z&C1W43w`r$6lXwN+nauNcrT7re0ytR1L#04Fi)MMRko3}1Fx-q7+s(JQ~=M!#) z-@375yL@4C-0pX_J-a#nwed>Y<;>b++WJLWdRpi4>KfY@@xQA);*L1>;_>W??9}uZ za-6GfulVFx^flzf!tI~^=H3-u%+f~%s>>tCQEO)}TM_w(@lz+w*)#D@ z=ctrNN&7kJ-Nu&POMl_aT0QZHQA+{^2|ISSZF9x6FWG(bZR~@*vH7ju?(Q@DHcnpJ zGp_FRxkn4b)^{fzywG|$v!OxnU-VV$74tgsqer_|C#N$1O+pEm=7Mv($gSFU{~&5B+v z!-;NQ8}#~t>>w!B67(}{0k6PrK2PwOH5~`)HL$>$HNU3psNJ8==L=aS5~VOOxr<2ag4%P8HESYP@JSuBTb-AjHEGj z@Jke@(Lw$qCwPkgo449NaBA z&xP^?SiMthKI6;d!T!-F*nYe4BVwRf+{C+apaUb&0cqqo#LXB03-2fd4Na26%c5MD|kxZ8crRWO(36F7YI;>phg5YI#HCy37Rr$bWguLoN}8` zhE>}|Z$LuBYXb)lILCAY z2U(vSK(0^o)7M2$GXx9|2YDiXhv^!o>xme6BIjXs4b$~R3_OwZu)2OSx}qPy3iCej z|1|(!bWg1c{|dY$hr4HFTA_7NBh)i~VF?8+QU0v?G6ao`SHB~m4Vw~yF+#D~Ga}j} zC&Y}Nn7yXW1x(-BtZ7c;G1irMdudJXimEPe4|C%|#I8i!pOXJ}=w{EQZw-$uDc@f% zUHgx=o)&3lbN=ecSeIj6ysNIeJxn-Z-y?R{%YWV5b8_{e`(QxDoFA8%n3(H7+tSd` zY0;2Nm(5sTb?NqlK+MR=6Y_G4QpPoP1P?YOA8+owdDF6K!=mL=zTEGh%*y)Lb&;Jd zKUliu5n)Z%@QV9y%&5HByuYVPS_Zv+ytLqMbx+~(wjM_N(v@eXUvXH9N>iF1?!1<` zk2O9v5d$A<*}tpvh-E?<8ED*$Rq= NY#FnxwZC#L{}&>t)`I{5 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/flerovium_helmet.png b/src/main/resources/assets/ascension/textures/item/flerovium_helmet.png new file mode 100644 index 0000000000000000000000000000000000000000..f0539dbcafd74457cc70447db5bd872e2ff3a227 GIT binary patch literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(rH2 zHKHUqKdq!Zu_%=xATcwqM9j!7(wC$4BQ`Xj=~AiTBpj*|CTFQAzopr0AH?D(*OVf literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/flerovium_hoe.png b/src/main/resources/assets/ascension/textures/item/flerovium_hoe.png new file mode 100644 index 0000000000000000000000000000000000000000..6b0fb4c5c5df9ac414d2cbb91842442d70b02a38 GIT binary patch literal 4318 zcmeH~e^3kibv&GupxuL_}`>yAM>f%Il z-j0qxz2#4+O-ai>^IG7!D#yF64fbt?(W;Z3i9N|%U;l3Q&fWPs_udNwr;VTWAMJL0 z6o2#5w7ysN_76S+v#-}E&-An>zaONUtj&l zRq;#Wnb>Ov*={wP zhqHk>G`+FOly&46&mLQqb8P3+(MxJ;nZ5n_&pch6lAE%wrZ=zfZ0EIJys&rUt~R}_ zWpZ?C++U|FKK+PlldZcFUHd^*{mwTxf7h|AM}EBOYQ@3!hi$)(j;WL7bhj+tUbJ=7 z?>;%|@#Wqs%Rt__apZ}^PpQ7Olq;i7-z}MuwCc9p*fsD)^E<0fHpbprfApn232}F) z+`YADci{4(>8)??n%O*S`CK8bKeMGv(NV0RQtq7ExXIc*>$kPXoY7rBJ@vwGUND-U z&2!Y%`mBg$ECAH{`8JeW2m{suFTvgjH9{!s=RK`z7V# zyb7A(oInxs`eE52h%q(fr(LUofI2||>odu3w|B@Ah3)O zTT058%1|TExT$Q*^AQAWndF6n;HPjr7z`?cDh0z9&(;*FV%agF%-OL&ju z!?|0fF|pfQW){1q(UA zpj4|2ZatFAGjHGEb zrq&QD%&BDbn1&`9Qmu7rwVE(WTn8%6ZZ*kC1tGyDi`_#DZjSfDQfGY(7Ysb^aI zBhaF3FjWmf5~N;97?h+soS!s45AXq4aw1hpC{$W$IOC$8hfErl4(p{00Pgn{NFCzB zP%s@REiG0mBujRf4Q1v5EpWVp<2)w0$VNrvNVg4cD25hj3oQUR8$qfmLQkm(hf+-` zb(F^NbAqIZQT`mmy378Tx43;!V|dZC*Z`crOfrS{R1PQ(x57;iD{Uqem9_;%yTU01 z=u*H)aY9zO%T-AG3IIGmA_Y5aXMdm=40;W1aBCP$&(JicRyuVUTz@qNXpK|vBy~XL z{vJKRxrHFjgR}yuBh(5OsH7FTII@PxW1|Tc0&#($WEi2xB9iGTLMg{1$>QRPF`TUt z|1Uj^lEbJY2968c;L!z7LVV;XjOZmEIzQqSS%)8S28f=RWL)}A$TcC?xD*(d^F(z` z$Tcnn#^pRwUH><^WRE|lfDiry3c^pNsj8AT_?b1u`C_I8*@|=`LvxGDHPABEpS3c8 zAk$`v_atOnQ#>?A3szf3^o^Lr*rz7F-}H|tXnNCXNptACT>0B)68-flLgT}vfz2>@xfz*?g3lGh|KXl7jJMY5Z+Xw64o8wlk+;;Y#o|8ds qMn&R!ZT-H6N_f>ZG``-w89`jhxt04Ly*(L*g;+C|Sz6Nb*Zl__mo75^ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/flerovium_leggings.png b/src/main/resources/assets/ascension/textures/item/flerovium_leggings.png new file mode 100644 index 0000000000000000000000000000000000000000..ced0ff5a263b357e8dc2d50c274191b352d8306f GIT binary patch literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(rH2 zHKHUqKdq!Zu_%=xATcwqM9?j)PS zZ_#I_lVS|A7_yoaH3cRv7MS+Pfh|G!xW`0=)(tz{`&n}yg`7OWp#JOFf`l^%Wr21w Nc)I$ztaD0e0sz|QSK9yp literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/flerovium_pickaxe.png b/src/main/resources/assets/ascension/textures/item/flerovium_pickaxe.png new file mode 100644 index 0000000000000000000000000000000000000000..510f9507dd8a9dc8c2f93c2078cca77ac8709b66 GIT binary patch literal 4389 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 DOfpzC literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/flerovium_shovel.png b/src/main/resources/assets/ascension/textures/item/flerovium_shovel.png new file mode 100644 index 0000000000000000000000000000000000000000..882b1087760443bc0604e16e1de73d8ac2645707 GIT binary patch literal 4341 zcmeHKeNYtV9p2Oy$cbpgD5%k$6=O`@+mHKR??U7b;gTFV;ry!OaC^IZ$Lihfxw~)& zNt8-RAu7fAF;>$05u@$2GGlD2(PYFAVjO}=afDQ(ajYL?Vgr_hv_hfp?g7FiGaY7{ z|Ja$m-Tl4KKEL1Zd7t;4+iG`S&IHYL4Fo|GoVkvCaGj)_NeSS0c2_?QE@#R-E987S z3P(i2&j&eJE{$+77vud96uS~~uSz)!C->Z)vM_7%p-DCNw!AA7N_s2b$m8nfZtkjm z)Y2ssw(oX(X4ebbQccU7 z8bA7a$%?yKmphMPbJC|haI6++&)FnWGczId@+R?J@jquyTuPoXuQNd%ToTHpjlYYb(7S@2c#*da3%Ggto$!kGbb>I08YByvp0{Zl~Qo z*bV66%~!VCa?d_Hv$3$CasT6q3#+Qw-{163dwku3r3*Gzwk#{UeEL=kR@72^;J8^+ z|Fgu*seeq-UOYh^*KE9zSaq~w+x|`4|8?rXr^tsDe_#Lp$?uN8l$f+dQ_x)h)ZR5a zx4wSqX(aoItChe(pT53V($F*CX&8fetYV;*GJ@N5#uRUkA z&s^r&^3TdYHEHgm7uUS~;V-_sg(cs4cZa@>uYqgkX4Jl#ly2C*C6ho{efGXKxB zyE-Q>?8|tM6?dHe=t%j~p4^(*y%X0**G@fn=<@^KDD&jZ($@W5RwTrW_J z5Yp1D;N!HhPz2Zxf~=Xb2+geJWZ1_A_^=J>IC%9gOeDMkI1|bh80fQClt#z1OemlV11#8%QZwFmIhP+dSEd+f)QFA3x%-ZZ%A@> z2_P9L=m+1BJYbPx`J5yaiwu`t!iD8I!zpr{F82_F(o%pAMbxH%cq5Xr%n&Y8ECy8! z%V1oP3jtCI)JKfK%e?=gSR-mvM$~qO7Xs1^@sB_c_O5~f%H^UQ0#mFcbvkT_QZK~{ z49`;PElK;0I^66>S=_Hj^{k#nX(MMs^#&h97zx6M)4pL;&afoYVTMzv0J)Y2JS0Qo zIHNP7eva0mdeUz|Ej}ZOni+$h)frhvM_7hYyeRU(m2_};RSFdgs2I+y)3bgCHJg1j zs`nersE;sOP#w$q4HlD;(3|2^$~;hu+)f)pYH^iZjktrf>=(okusR=Rg{bs!$is)Y z0-081BTS?LCvnnZCP9une^raMHj!e25NkSR@=!2b77S zKs!KMT5&31R^y->$}V!WEQlUK2-*;(Hdvt?8g_vN#nLkEpk)qZ!%01bn<*XcA@mes zrU=u|agxG^;RTlWm;NubvV34`eA07y3FI$TL-93Lz^#iv#UF#bx|m>CT^1D0#9NT) z5{^~t1YGeUricy)IIw>V7NT!#baRW0y`l#v=t8M1#0~bh_w;qtKlmndRcYIX1aLg*GaS188vgQ2%?+Km%;PFH z&&{f-p3>a$HI66!q4qKNPpo8rbona}Hk8adHy*#6dU)mPi`|(sbf(hXhcDavjuKLT z!0YwGSN-qwZVu`$?7r~M%JQ5$nT^J6htm^2+x6ajUHME1TJYQDNAKS=8bP&?Gds^w IpXJ^7U(`)5ApigX literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/flerovium_sword.png b/src/main/resources/assets/ascension/textures/item/flerovium_sword.png new file mode 100644 index 0000000000000000000000000000000000000000..f1a4ce156b2f6803d2987f5e6ca7fa71875ccc37 GIT binary patch literal 4456 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/gyro_mace_full.png.mcmeta b/src/main/resources/assets/ascension/textures/item/gyro_mace_full.png.mcmeta new file mode 100644 index 0000000..70cc4d3 --- /dev/null +++ b/src/main/resources/assets/ascension/textures/item/gyro_mace_full.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 6 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ascension/textures/item/ice_boots.png b/src/main/resources/assets/ascension/textures/item/ice_boots.png new file mode 100644 index 0000000000000000000000000000000000000000..1397381542bc8a3d4ca77b0dd5f9d6f9c2ff5496 GIT binary patch literal 4376 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/ice_gem.png b/src/main/resources/assets/ascension/textures/item/ice_gem.png new file mode 100644 index 0000000000000000000000000000000000000000..9bc255c77686c4f049e9058fcdfbc47291afcad3 GIT binary patch literal 4560 zcmeHKdr(tX8jr#XMg&{kA_#hWMTNFE&l{55CMpsjL4y!dM0Y!SbMFaUArEdYBv4l= z6h-W!vUS%LS4716!Vc5wYSHo0rmTyP+8yz25xeSET~I4^ipriF9>Q#AcAVM%M>4sO z@BGg1eBbZ;&Nn%$Q&W=03d4m0fncmbuQS2>IQ|zn3SOr?>LKCnc#%1iGm&n@$vUh| zEg2;f;AG{fbxLk)~>$ zv%d3!c$9{j&U1(ge?1LJE_L+ z+uHZ;DcyqvE-zNSt%~_vzq)6x5VL4h|88!2Z*7yi`0JgL^YQ^2|GRE5o~G zfxqN~xDQ9XDu1jilKP!}kRLK-aR;ht>AqT1H~(aHQ0M9|({@aH?ZK!A_jc5~uFnW= ztlB=VX8incF0MUkUyJByo``s>^VGWahSTF$m3u7#Es>{^S0-!XBQngte^|D+MR*%K zv$X!JML&Kg4!X5}1Ac+2L@TF7t@|J_Oz~0L`(=R*;W5)qpG|qxxmNW&>JZItIR3ZB z;y29t$|+Anmb-Ia+wt+$?Ms60EN{HOHg9WIXm+cuyZhpS>KVm7VF$mt{Cuh3#_p&i z*IQ2{&F+bH=3Q(3PTR%?OkDoWw0JgZma#TfaQ*C^YWCPM?CYjmU9Fd!|K+!?cHbWz z#ij8}w&^e3o!k-3b#-<8Ib+4F@>=#2@3X)NSaSsotgTGrJc4rAL?rF70FlS$gheM1 zXl8kwB$Wd=!~(JyyB6(eI*K9;twk3oj1r?W9%M86A{L|Atmrwvn`W*V%87?#2 zqGA(pIr3QwBoqKUH+3*YlEIidz`%!;#n_y_prCj|7Ne;FoHL)z^Ag5XF3!fmKQ74)%(tq9K(fRv{(f6b#5HC5FpY7ECQ8aZD*u zD`<&A4oIcKN5$uXh)XqSQJF~c!jhUxa#jaxgQd>cX@}eOV#v(cKsrbAvPqRP7$`24 z;}WG@tr|2x1F$Yway+Y4B9h1YrqdLW2sueuI*g6X0%E5<%QwI$hJfKfX-U3PA+yg8 zqaos1KynV&>~Q32QQljGryLkI!VN`}9H}EY09TX9a6+OYWVl%(B_uLJg1^aM2jLww zV=eq&Xny-3n%<=A85dl?&}Zu1Q|TbD_pSFem+@^T1o3SPf~0ywaFGRo_W239dWWcN z(w+ri|L7~&emnCs#Q?0d5++cN!6E_}F0m>wl~f8aTBRhF7ON7MsnkQ+T@EYfCRq@d z1$Bg4!2ZiWOQ zC46z10(STh$PJH5_8(_e!eiDb%iJWLU=I8ec8eq#T1Gqd3ta-inDP8?gkaO=iO?9p z8H@=5cLGC0M+OIMx_=QKrB@hqab{IZL)GczFJ@0DJ38<3#>D#}+pu!eg7%bg{&Ar* zOZMzrCI~I5)+8uP*0${qsVzTvego1TQW9-TTbfh9D~}MJ@UPaTbx+wPVrAFvBXvSqIv*|G?7N>KpE!C)>BJ{OMc0 zjJ?qPTRc~geDl@js)%c}>d2!@*G^4>G!=DW;STMW7iJ!`GZIZdlx+(=Ah{8wAMHK9KcRJH zWx#^`ng)dzqNB=BJn}1I%@$!oUCzVHleTP4iIitX7e#z)-5CCdjUzX`E5CZz^S~1G z*Vc^BYo4!a>$+r_E><5turfF$wB&JZeS3(3%IZn5y(K(zclyHj4w{-v_Zn5nr<)hu z=~@-@cKt+Y>FySJN7T%JW>=U*-oIZ(CT3ZSW7_V$9=T^r_Euxnlbuf%caE+))I_T5 SjEOKi0z*QIZr_|GCI10s%90)c literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/ice_helmet.png b/src/main/resources/assets/ascension/textures/item/ice_helmet.png new file mode 100644 index 0000000000000000000000000000000000000000..3a3c3dd86dfaea9d3cec1b1346b8aaf30a86f41c GIT binary patch literal 4460 zcmeHKeNYo;8ec%dhe3gghWbGao>y%*yV-0)vL*2Zg2WQx2q=1ZWwW~p3;AlYkVFSj z!5%^nE8bZ3uu3}&ci8cIm1@ZD{CYOH~adc-}j&QQu(y>z$1?`j}(7UeyAEDk#&$ zakqE3e{{FEVfShD&}w7QOAG!nW7g52_<_qM99@k7g$+D)3*wT=BEH*L$-{k8dKc`jm02=AZxK-LkvEm%FiR7k^U{ z!yIhd5!`%or!q1`(t1#=>=50~O%{ec@-$w$711?!ZS2My?KKb-P{AfAXX=xaN3sDq z)Rpekq_t(v+LmE#&@G)Y`?=m%>xnL%Zr%$q)%o?!G3$y^-y6U7hZk;~x(C(gP)%KPLb5wB?Bj|($Xiug z)=Z14kCsVf#tdeTdm!({hXZ%Mlb+q^yZ)^^VySLdfOeKGd>gWb;~CYK2$}168x#5dr*7ys|R5{WrD-ahg+@%-qh+H zCGXyfLYpJ<@;nOP%=fMYNHR{)X*HiWMz8!y&v&n!`aLAP9vD<)x9@k?X(9Ew!bbv? zYTDv+og1%ycD41|mBIHfecT^%D8u!Bi}Cg%P<16NsIFW?Izc&XQj&I<7^&Ch1Z4+7 ziOalBk}6_2v5B#;c8#R}WQ#=1(i+Jcg#k4~955!A45t$T4Y&K-Phnv%t0FdE;e$d06 z4Vo0mV%&~m7scpG7&{j~9)hMu{hh@wt3Mr@LKrJ!1Ey}Ut8BuSEA)oUQ4gL13u|-w zy#U!0EIHOZM%IMbc#S`u@qqyMQQQgEBf0yHftA5Pq&TQzK0JMjM#Aq;&<={F3I8K1 zQ=$r7VS<%rnu2jTsf0}?Tn(dU3P)*^0#Crz^a)VmrQDvx9uJUX6gCRgVfLfBT zQ~=oVmN`S2n^4bVT3|XDAdoQ zasnM^@1R+;?|)hI?ITVcI`lNw4fgl>MMFJhWL_G28+x^}{$>)3{cS;z)KCg;vV@`i zaRRI%6;(jmEex0+!v#AcXMdm=7*cM=OcV_>3=ZlEFbb16lK?B#D$0yuG^t9!CZf9? zX3j&pnB^A0Bj5@YsGlqGGs8!N1 z`VGd77~nS~1EUK}LS%Fl4)etiogeWUK8GK12LL^_$)xz5qHBt-Nii@fTRZ-6 z?3d`lX`M&b91wk-qpM8Fzw@9-n9!$9jymc6?UvT4>VS0NqRpO}{gKL^PNP8B9V-%v zw55Ydb?~P9a|REcv9_h97s|TduG$eO5J1s3rYcVMGy$lX!Q|@A1_QJdJcojtzy4<2 P#V>l@s+7Y?`CI=B2zyJW literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/ice_lantern.png b/src/main/resources/assets/ascension/textures/item/ice_lantern.png new file mode 100644 index 0000000000000000000000000000000000000000..1602f16398309e55b8a8dd17ceb3e448875a6b53 GIT binary patch literal 4373 zcmeHKeNYo;9$xB+7zpL~5T~fDp;Xasc9U#Ac8?(D1IcMDhnZrjo@{nEVM~%-lO>5L zO2r$seo(#k+QXLXO*wS5>M%-`GLBg49aqm!RK|}}%Jh0#TN%;2+ClBToABjaXKt9e z{zoR8-Tl4K`@Fy3^FHr8c{dj=ULcn}CxakJZY#7DgL{&6#l?c(%=%Da32>K*3 zW%{zI@Bh9cq5W~35TIt2@GmxaUi>SayrT2CQQn@>O}&!z?~i}=3K(?yj{IpSS1f5Mos;-2+?&)$Ua?xIElk@|_Q%6%rIlFggZO&<`5fi;^%W;h z)ScX0yXDYNqq@wx^zL>{Y3D zy_!~iaB6<$qd4axXH!EV>N;1s=I1?7Beo zrEFYkE8cW=^DOx%@V%^V_MMxC^yyQ=uFlTJuQr=Mb2iuhBhi&@&Tg2QICpQs_omD2 zZ|+ZVw-nR+SNEsK_Fw&F{T+P4&;OE~Txi;`^|{aYw3{}(ye%~)=W1Q$y*k5_=UW;7 z+b24kYvwo#w`V?jc5SF)O4IJ^jrj?;s++&9TiJdj9>4SP<7&^f(<$u(3ClR|x|W!~ zRqy;YU-3m&S$W3MqrQs%8A9uXgn74j&Lnoe(^NDY>T^G^6L2{GVfXbLr2~d)NPY2A zzg!UF7NzE_K6a{Y;1{b0zFV~KcxKI3|3}Mjmc#(h1v%iYrS?T6&3ly;!#i1J*ed|j zK~V0zut3ojtOz?F%NljVj< zK;UIX3J!Zcz5p3EDk8ijc$UJb0**k$3Zr7Fy$Ck*eip`+xDrFGVJ@gv2 z9PfiAPRhwwibjP3w8KOBc?G+DnBEr{Q~~ILhA9D6DKXURMMw7th}Iw=8BFL$djuR{ ziK4}9fUoq^tTo8`#H`U23vBkHVFsxrH|G^1MFH`i8jPWbaYCiv6TvVv%6eEYAPs>0 zR8QeW&NU*|Q@Kekk#a^S0)`vre+oTRdjt$nb~|a|=}Ku(o5iS*@+BFb<`^>asMF~+ zw2NgCr-9HTI6+egfoWI-#0eTxF_@OnjiR#o0wU$3S&0geD>=ZU(dcOnu3`|%U{E2r zhQSeoR)Zs2ie_+Ht2N+i{V0l;{2Xv4gon#92upNpwUY!sen zIM=HGg_f2NoEx3=LM{NtUlj>O*VGbrW%Moj>fs`b35Fxff~4qZ2>~j|Ml}Xp(I&c_ z^0`^Ce+(LSD9-(e8Juc0#p<;##HH2f5Zq}1&eH2J#Gq1RPOVzUGPpLP!Z3S)cZng& z&(3!P9f4NBpb@R$*@JVK^E5tG&Po#mBttL)8Ieq@KnIIOr5$6a+FbO%^vI0>Mr|>m zUo-}`F0d1#!&~8?ULe<>@-sLOKjjcGJU+;n^c|OLT&^)GFedQ0yT;`jlLBJ`kGt#t zCYNmFFva@7KcEmeD#=UQG~k#O>s+|N0zCt*hEC`8pZ^d|3`uC=S z;3Uyzw@$h>IaW3YA$DbOAoQ8dGT&i1)v~i$w!SR2;H9Q)<@qJpav? z=V~X~jWwp)t4Yc4QpF2@cH$uS#qz#m8#^8=A1uFCcE9}Vxi^1j@9K5eaHWmhg+JuA zf3R(B{RyB~7l|aZa#KY@azJIp+UQH!6_)YoU^4=1~ nekeFixW2Bb?1%e1j$KYUZ8SgZ@C~$qdLWy1vE_iNZ2f-#eMBx* literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/ice_leggings.png b/src/main/resources/assets/ascension/textures/item/ice_leggings.png new file mode 100644 index 0000000000000000000000000000000000000000..89b3bbc943487a7388549a436f18fc043de10796 GIT binary patch literal 4400 zcmeHKe^3uhaZ*B_16yWP9ngS+h=3~&dW_T=P;VoD~w+kJPe+^^g& z+?^RiE5@KEnSf2J4r!zglWIHKC=#MZL?M~jN}47a1r;n2%?~Tu7?~86zCC^j)68_3 zY5wEQ?7iLZ`+Ps|`~AG{dvkBQeNA>k+z;X~3`?-)nDbCSLwaIm=y&1QLjZMWHWd_! zc_4`U13oA3hPW8^LmY;9Cx(T(JoaBC#w?1xe`B^OI{J8M!P{lKy7#@`-@Nf?)6!=Z zKb{|T@bHZ)@A)N)4VR65zg9RqkIbHN!`s((x}rBWRJ%0yjV*Y??XJw+{gu~a$W`^f zY~T56Pd0cazH{5D%IVf%*RqZG6&c~!19vkN(G7>&mk(Av4Gy2&JCL35*9&h|_9k5T z8S!v!&B65ffB14U=J_xuzB*>+KJ~tOOiO)PJYD{6@J;@%?BdZ4a}U&hGYi9_w(^;o zc57zlXf`N^y3IAFoU``XFXZMoSXLy?UD^9;J=1BiELc5fXGwkIoTtjE@D~edJ}0ku z!L$oos?v5A%ICSB{!#I?^xN{b&Q|M3mQ^Ro<&D*MTKhKF4RrLK`WmY*WDj=ElNX%V zXg=7woBY#`U#)*^X8jXtLYuc)+*VO=dT^V`L7?|IC3_+e|~acPq>$QtLPSZ=fw@}_U*3f{W}h> ztz6W9cDpR*|d^Ea(2U^kVq z298KejWdQAMBsrUz(XFlS71UWBErj{cgai=cmyJrnTR5r9nbUyAWo}j6{WO<_zDe? z8iyMLoRi5jXN^#xFB4HJihhP9gTbIGs8#s_E>dkU7)VM(YBWlOPzqtM2trD)uvnrP z<}gEn4e)-E_jz%N6F7Y3qKP2TI6fMm$8WQZ(R+mv6_6fe2>400iXuH8a=eEiS}G99 zNI>7|ArzoZO6EbqR~}%Yr2=}z#p5YBcFf;j9&ks};aC#7p$9<)G^={Tl-X9Beau6W zz{Pv~5icb61fMQOW|3~CPJE@;e0I5 zF_BlO)~a>RWSvsYI-N>7S*=m(S!hsdIR{N~YD&WaY8;i-D~Q0$LWv5It9Zo2>J2~# zHJs9slI&2@YEGwg=s2yCHW<_?&SVWp0nTw0xd9$kC2)_AN}}Qr6#!a;UQZ)mN{6D+ z>NzFQB0k7ES-sYYLWH^q6~{7JzJLdy<>WoU1xdfx6&a8OXVUFf6QNNJ2OhE5-9U6A z2eb!xFXsyikH7`I2j+`F(o>zHp=kr1V$jh#HKo-)0*z(p#qI)g+Dp6RLdvggQZYf2PB!2(kmZHrX$FaWJ&477|qs5{+Axc z2w>b1gZzeV=;%TxAvtywj_4&FI^Sa(S%>d&21GqI$)xn1l50w?NhvTX@Kkk8$u%hj zCIz0VuK$}{agQ!j(2M>71<_UMQumrq(KSovSe zKGqg*Ns2#y{kmBxGlkd5P}{aTsZvX!cJqXM?Y+T)g|cnCJwr7Kpw;iyo={J%5+fSuJbKhcZgG{0EQw BHl6?g literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/ice_sword.png b/src/main/resources/assets/ascension/textures/item/ice_sword.png new file mode 100644 index 0000000000000000000000000000000000000000..3bcdf961be6096c064e8d7dfec50c5716c746092 GIT binary patch literal 4468 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 Z^$L_dfh8YFk8S_}002ovPDHLkV1flyka++A literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/infused_vexal_sword.png b/src/main/resources/assets/ascension/textures/item/infused_vexal_sword.png new file mode 100644 index 0000000000000000000000000000000000000000..416f3d38c53e266d359d939ce7e50761ef0d25f1 GIT binary patch literal 4597 zcmeHKdsGu=77vJ`xFTB>d{B*nsuU+PnY@@O;gz6J3`U3)>vJ+Q2?Kcy$v^_Ol-1H! z_w24pebWbumDROdcP&0p5mBj%iYPuRB5S1!qC#ye)))ItK!meBXOHJ>|0CxlGjqS+ z{O-NKd%t_~tz1GfvX??9XbU3PWrKn0GFe=`cy87a0*$w&B&N( zA(z9_LfXX`1p?Q%7Tx?;s)R$IbdFYedQNr))?L}y_<1!vq;7@fa%OY$%8#GrMx3$; zLIW11texWNYi+1)&<(v(Ip$##*ChMG^-FNA`qtEfoojwJ9Xwj1KeMY@RMI)i?AVfd zyKTMSiRi6ciT03-NgpAv$Olh9Jh+ZKlt;87YI1$_-yGK>pWVK2E#SQm{oa`CX%ej% zl4cfD);-IQ53fcIu(TpS^ION8 zLLd1>jg=e=Hr_s2WAOjk(A# znXa3R<#j|pyuNE*(I&1iCR5m9xHgH5Vgu6T=Esk(l+B---!*Pu9sca?Q5&8HA3A?t zH1kN4g3Y{s{+6oA?mafI?lrYNI8s}j>eYCzW%KLR<{mXwe8Dww*2Ml zB?mQE+a|W(yL<2M4e8xyc>)Z!KlsWkVHRk+YzDMfs&*Dm+ALy%vKeTx%ff=b69~d1 zT`WOn(45dfn;5G~)Lvd85;BxZ^p;$UXjwI##>C~?>Ezr*J(-(9Vw5N{!YAB?0|E=p z5ki;6Y<1u+mB`JDgL~c#i-c|nm!T4+YIQ=j%}xttVwo6$VqHu&DvIzChTAD4o}`)4 zLjj&tqBM?UaTsRR@+N&b@ZqJ^nhIi3roZZY_Y(7-*9lT*?^=cpkIB%p$EGZ zPNE&QEIUcZX46(Ks4vCLc&)CNfltZASXg&bK)im=D6$vFX4%bd3`N4UnYI8@2Z&G7 z56>~i7h?5`jbCx6(>D;{u9v?b`g!hdFhFUwxW-0i@lNA4DiI$qPT5F?!riw7hRS7> zL<&(-LJrA{3MGUYFeOAA44Ba%m7$14)`u$I>fi_~N%K^IT+9F-BSz6QMM@zgj6@+B zX_P~lLTP|Vg%p#cbeP0IAblui+ZoW6gt>22JQW3~BvOLHB+@WQDKh{n6eXZA)PO)F zp+rzpPM`)<>ZaoBfJf`%RU%Z}P42en%min&*)5>e87pOTI$nVFjD=3-2wpac5|zu9 z3JE5~lu|?@c>zkH?GDg#JgWo|OBL=Fio|CCP6D(JVviNC!wu@SO^n z-FA=-uC~(zXS3^VHnU2^$0p<{dzZCfLs0}rXb6r5-VjuVBN&b-^az5>q__kPMNk~+ zgSSzPG3S4w`RyYN?=E^A;{g71+@|h5l}u-LKXpHv8TV!q3fsKtM7G!JrqCNkwo^vM@g}o@W~l|Cb)&Za|+A z1K#VlfzbsfA>2C(d-URm&TshXsl#vR0Z0Wn(Yvz%grxAz`LQ;3-%tI1_RI{8nHY#>UNa2n54N@m~+Y zrlPUH=*`7zW4&934fYQm5oqcf4-V7C@tSCT*y&FSC27gT=z@yQN9ik5-fsD4Y5mHv zESvOU%8qGcWFFpoQR+EO4cxRLBd^q}Nj_-guxDQ_Vfo zlSZYNey``qDTB^TXl-rT(Ks%oK4P1;s(Q^IJcCr@7uFwKefG|#hVY{Bz|tip^RND6 z(S+8tz&ne7*S!7c;?sks`g5hWL}SXS#%UQR;=H>&Y{9GZiz|Ik6zTNEWo2gz9Oe7% zj)LmWPBvm~)wdVU-te3dvL_~QvSHfw%5Ua=mj3R>clU^n@btFxv&*l2K6;+rqv`8o^E=w#KNSI=KD0?2? S*WW??1o5$nnlEFPEc*{Y>$O+_ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/iron_dagger.png b/src/main/resources/assets/ascension/textures/item/iron_dagger.png new file mode 100644 index 0000000000000000000000000000000000000000..9cf9cb038c3bd12f18b8b2170e41f9267f933c1d GIT binary patch literal 4369 zcmeHKeNYo;8edNjk;eE%uMXbG646$Bo82r4Nw!3V1W9azF;Er1j?L}{R+4PoT}Z%F z{9r854g#XJiX9HYDivE>t$5lK#jmTJb}SrMyjri*0eZCK^|%vJdfvMUpL3nLVdnZD znc3{S&-;6S&-47==Y3|k$d;TmH7p_wf}p7uv&jzb)1@mk1pG(#JSD;Ha$f2h(N6kc zFV8ty7XypAUIu3TtP_I#?QYvTc@r#q(i#3zg4rHXVr)xppPJME)`C}NDd{zn&iXUwKTcZw+1C|wT6on5 zTf#p&XVdh5ceC(^^2ICLw#;tDWI@0LQSOg4lMiC&g`n9+p-<6UW;CHUp0M3v+eM=)zu}n#fk6R+QaIJ1M46E+!|3H{#??f zGxzUbceGx*nznlK>iFsX(B>SkT`ZgV^v&?KSNz_;?D6%^^*w;NBbUREycqUE-SKz6 zQbiqF_iX=rq3Pj<16QkV$dIy)&5hZ=`J$<*?R@BMeo1d<*WR9xiE%&MT*3a%av?tM zLv~YTZ;|mt^e0z3ugoGgls+o!E^p#0Uyt3A>oni4=_oQ@NjSBuR_>g?A?ob~@|(rW z`|h1+!aI>$%WJQ#?fn{+b+qnNx3MK~$^7Wj0%(e+V&#sa(E3FSL+qy`h3}``{de@a zXnxhA}3NQR9vVYn(Usm|h1&3?WWnJ4&o!Fyly!ec|d;h<-y3+nQtFc$M{uf z$MLk2u$z_*P=F_cB2yH-1d956KBX^4$?+MeO0U?pN0uYFh>k&ym;t}Ra6hRIX zBTzi+6H_91J4dJ}myeojADU@+B zZa^x4_*A3tBI_I$YgBB~Ody?+fdF?y{G-r=xd*@iWwjC}j>?vtT1*Co6fZ$@6iX9< zA%){wt&@pCXs0#?Q9IN$;-JBZjG@(9jZ;fHaBKvX#UqHMhhiiuK(1r~kHevjAyu>r z(J?wFqE=}rM2~Bnhz4`0Fh)b^VsX_7iWNKys*-e#j7p-S0TqooXdS7KMVypg9i(zF zm>SWNP6pR%^qAI(2dJcdAmVKng929u;|o}9E>d)Iyc?7{>!CTHFbqy*-Asx|O0uc6 zxCYbf)aqE3Ru`*^9R{spcmb50#HzxSF~J#{B9;M85|j?>CNmh+>&XZ#kv4_^=>Ta- zsZs%Rzz(t@j66e%9G}W@E`vgf4VEZ}rmf&W(WFS4NRa{FFkDSwIwD4us=^5jBh=~_ zF=;T2=V;cM`@hiA@qy!ln{H+W;6FED3ZAJHW^?c<_~>E-hY5xQ$ATcKUI$$rv_nY6@#d$ST&-j7(GJaDhk76VrjL*F`8ZA zoT889nfMH#BhU&IXh19Yg@HX>I2!NEWTXuOk|CH58I~+ofes{#N*!Y`+c@;U^oR=p zMzk2PE@%U-3v@zss1*+AB{iL&@HemzKcNReJ?>;o`i{#rF4ve87!!EBy2j-ilLBJ` zk5||KO|G!vk156j-hh1IQ|Zs;5f{K`R*2)}BonkBx&%Fq*p#OMmMLCyngBu1%#yAN z(80>tz&Kg7SQ96Ag+_)!$}bDgZUm;^TTJn(x|^-#QS!@6rzhrb-tPGzO!fzU=iiQ| zrF>!Z{zBaQapK;&Ri9VATRJPcE~Myq-!b>W(uxf`$(F*t{CoYfzxVDdkVjBmPfm81 zA49IqF0TiPdSbyXeX;q#j>yMrUG=s0VnssMch&wg^r|*ZarM%-J7@2Xifhnc zeg0c*8~*aS)mf*1D6Ff4AnRuZGb++P>9O=Q+`Y4R(u_yX>s_9P^^v7dVjkUFXsXw= lZ+m0rib+EAvD5i0(Wh%St&jNdJ_|B|EQ!gclL_fN{{tIpKOF!7 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/large_magic.png b/src/main/resources/assets/ascension/textures/item/large_magic.png new file mode 100644 index 0000000000000000000000000000000000000000..e94b7aaad7dec250d2ca4187c8850f9c54725428 GIT binary patch literal 1418 zcmai!eKgYx7{`A@=Jn3K8Rs652mn6~{u7|b zvAi&46PkqePdXk;Njevr5DpMRqs}H-;ju(B8q&(v3W0Ewx!5Zwt$DaQ6aC$mO9Eqv z;RaXE`LaT=1eQdoHZ(h4YOYmJszxy$>5+SXHWe~b8Y8_dJ0?UgwX-JhGi4&-MA~@q z=~$%iVV`4~<=If!heFM0Z|@5$55RN$^@_6eiPoytL462%sS>%l`Kdz`{AVTS1ksmr z3vV>~YBx?SmWs00Z=bHJ7+)%UQ^5?k`4r)>9@1@Kp6sq}2ck6;wQO1w3>fy3C8)Mx z3MZi-S+_K6+?eB|4_eG;OJvgI{8cuV`fbRC>y(V+T@QM3GwaIKLl#{z)^(&n{|QL804;8+yETBVyUF(=vcn>1_S;x55*KY+db9%M$zOG@l#% zU=hzvhxZT@thIlB$+0nLvn!=-%j2q~1+1L__0=oW1Q$(cxg;DrGvT5-N41ccuh(vX z9PFtypwvhVpOhGZR@6Z9T};KLFSZWlu&on4t${~6?=WVz4GW%RmA$^+LFY47#+)pE z6JsaX`l#_f6xu>E45u8SQHO>M=?`=$rVPil?wvPHaitvnW|`u()?$FpdGS&HEB?y0cK^iV2*ZE(Kgw4j~AcSdW1~% zKQF8}xS_h{HMUG}h{dEkEivwwSo68;qn)@Bp{UDr^2=!Y+Xm)EPOP-QU~)!q!!q%E z<*Ns|FvzUGsDbz}bwx0$`c3lGi5`#T$(xs^U)irdw}gZo2%c@=c%^m7hfSLJj$OC? zP9gL}uNOc9)O0}MIgb+lsku5TjoMoic&k_*Ie+yceU@>00n`>+)BW`xeg{cXr<(g~ z#~=f$Q+wccme6^wRvkyhc-ic|djLiR+iZ|3-*E#?2K)=1 zYOV|8sqNBw)_eBd_$Jg3gZ*SMSj779InZsD-b0(Ss~>G7lQ{F!KB`yCz)!NSEaXhV z&L>Rq@XgS1eRW~D8FSE+GOAjOwEo8gYpMwJSJSm7qscupx9ql_E#jf$00AqeH0t{< z6*yFlhxi2yhe7@`13xZl7lovmXP1G0oQk|PJLk+lYg zr?uy;4bty%CBdY6*od|dVg-jlk$X9w2O;vg&o#v_OH$$ci7hQv!h)H@n9cP~6;^T? zh&rMX+2b2{kB*l2JjM9uR)FD?isl{0-m;JGH%~E_Uvfrm#Sw%4YhpV066!KXP!4vF2v*XNiG>~;62OTM_0;A~%cF5uw(qup7z0R{lI>A9 zK;g`AgvA3$DbR^vm9ce^j}D!|@tGN=N<0t$B?`fM>qPe1{x81X)D>&jyXwU;RT|yO PR|$Av@vhA-AsK%IOemmp literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/large_magic.png.mcmeta b/src/main/resources/assets/ascension/textures/item/large_magic.png.mcmeta new file mode 100644 index 0000000..f14ca0a --- /dev/null +++ b/src/main/resources/assets/ascension/textures/item/large_magic.png.mcmeta @@ -0,0 +1 @@ +{ "animation": {"framerate": 10} } diff --git a/src/main/resources/assets/ascension/textures/item/large_oblivion.png b/src/main/resources/assets/ascension/textures/item/large_oblivion.png new file mode 100644 index 0000000000000000000000000000000000000000..5e4c9d4e0bdf0634b0144c48f0688d48345c665b GIT binary patch literal 1184 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 EAK#TdMgRZ+ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/obsidian_rod.png b/src/main/resources/assets/ascension/textures/item/obsidian_rod.png new file mode 100644 index 0000000000000000000000000000000000000000..37ee2d75b0ff2e74528519f1867263d440b8f476 GIT binary patch literal 4242 zcmeHKeQ?xd9uCv9t!pU^D3lK+7f|FRn`}1QW<%FfcWZZrEo-|}xch^?o4nhm-Q8@H zw7XpukPn4B#ZrMma86J_=Jd)j_<^EF0gHM?WU7{rBBIBYs%Sx!I)j35vi%&LaXNGU z*UV&-{N5+e`};k==Y40h+E-LK(lpV8Vc1BI+f|INqxCaA75z@Rd>x=mQ^LPMD+Vz< zs>nep1aYk{3UL^hf*2M*7524{JcMWb*nRV@2X>9NW=cCh8p$vAUhr@I+B5n5W0^wd zuJb98l)0uiUMj7e(Ru72>o?zYX!fj)zEMZ9d6xfuR#G-^^`~RDuD_6XdBsy>Z4b0G zzx&O?6CL+_{M~ER)HQPsyPRE;|3f!tT9-=xd*$|1iJuO(RX^JNNPgwz6M2`uY;PaG zq;TWD`Yn6ht4D~FZ;;GK7K&`c&Z_@BzWr(H+^2spYMOMsec{dBUp6kmun{XHr_<+g zI(utD6+H9sT8I14?8(iGN}8X$C2iKKRpQRi%f{bQJ#+rdWh+}tD?UDOu9d22t>3nn zGd13jmN)LjO!Lt<_`RlOXVX^gS^m^>e_Qv%{%yyI!^{7>_|1LYdml_of5KGqe&d~6 zDmSeC>pO3UBJ(fQ6=2VI9{R(+njN6_1pLF zm^AKE>ZJ=iwyS5RXYOv;Hu~AI^CoKfpBFZ^nD^2JfJu1$MgRMsDOclXji`Q2-#{5WcHtZLkj7fx?0%jjIZ`|BqyTgt~*w1ux; zJ@M-1=}WIq*xP#QT4l<{tJB^(({`}1sVO^J{Yl$7$5|yUE75wpQ<;|M-Ri^6e9*aB zX*x?D+t+cW?bJJ8q||S1+#oMq?ks!Lee$c@x-zvZSGt}qU6OajrnE1gG=C2AT&;w> zwZJ=<7v!)Rh;jg$#Vli{fYL=C9%3`j4 zO31*70tG`bj7U|KpJfnUlY;$X4a!X)G0GX32%4^se-OI2b_0x1UN7&Gg&KWQkIO;m z`SPMHNFs0CGE9&O1b|59FhVxTGBhB$Y}6PwVB;*nO6RaaaR8MkqG})_K%EMan-1;tK&SC@W!PbtxjsF|{A;m%^|_ z1G;RM9L7d7wAEtIwpeMqtshhh6%|=dXSL8~Yql{W3jDo@6CmqIVNedKXr$a2&>O>} za*(t@cPe5w;;0(lsX(B~ieHvP4nofj*D3pky=Xy+Km#tIK{Ol9usqH2R@!f2c?-JX z?xGo<9)OocDOmSgXnpzMxyh!xB^AwIXM~b#ssvUipOTLu$yiJ{ZY&EP2+0yuPz#eC zM_kDvp#nt8A=*EB4BH!*e#H!|9R@fnBa${?vyvJ37Yku*p4OJ*mio?Ysxdvds z7K7eP#?aP<^O#L5IFoOO8#n7kHrhk3-5cam*!78(2^)&s7DmU{i!CP`cGZ2<@khaWa?^yYtgI6oUw`lT+#4~>{T5kNPx#24YJ`L;wH)0002_L%V+f000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i^z| z1O+(Wk7#cI0013nR9JLFZ*6U5Zgc_CX>@2HM@dakWG-a~0006M zNklKB z;aVClL@AhDFnI;GZr|Ye>u&%Hh2iX@MKW;;f$0Ps#zNr1>q_0P+i^5PCmH|+FdBt0h~Y4{9GzNb zXP{XF-+{ohfSouK>zF9f^5OFj+pJ$gf?$qc+xy&X)hunlNRZ?(HdPOS7+C6cNi)Oy zPv2=@y~Z#cplS;C0FD!gGZ>lw!T^~#vbM4;!*Iab$})20@*F?E?b|lcKDYB}SSdwf zG_K=Gni*WjvuS2ffZdx6U(_X>=Q*qEn@q!R-@Oq9@VeJ!Z{k+=tzMV=PwrK4ni+sI za2STg7D|yFU}wq|sNmK0O+LPQSqe!QhG;!`%Jc2(wgk#@lv7+W?C$R30wg&C#=3ZwdkIe0d6@EZ)ay+E8a2O4 jauFCMT9%f&lrX?QV0<6bV{ySR00000NkvXXu0mjf>b@rA literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/raw_titanium.png b/src/main/resources/assets/ascension/textures/item/raw_titanium.png new file mode 100644 index 0000000000000000000000000000000000000000..7e633f23132b8b89f2b73da65509815fae6b6c6e GIT binary patch literal 4950 zcmeHKc~}!?9v(!HQ&|y9TP$P1n;bKlgd|H8BpgA5S%?%1S|&3Sn1vi90|W#`R_lc* z(0U)ZRkX#r-m>d@w7_Z+MUbuHQF*`vs|Z>IEn4UCt2|s51djH&ugHvUeDwc`DGhl;Juc1>Yn8`Fy zFlDAS5M;ilRR)c$fL%`fyh=L0(&jr;>os}Lx7$xE>%UeVUHU+D&eidHdynH^Miz|r z^|&BNM8m(RzOb}D@VdC@;X}J|>L(SA35OFt&5t^KYsQQ4=%|#^`U&B;evG{v>QQ?o zZe6cK4oi42OZgP;NRo|8YMJ+W+4=|W>(^*nMLXTAx95CzBYDcPlY&i-cU^x+y4*&f zUkYh9-Nu8rT|wWuZjP~&-iaF$Ry$BQ*KV!mG*GVOuWW0%y}7*%!mU9a_GeQM0t zX+NBrv=~27vY#xEG`TqXjbAxtc=+Bg^QO+0(R1a_O%n||F{i0mDm)~_AFVE@Tj;mG|buC z#`gM|s z15PAU46LRSX`PhSe&RF>rb#L5V}XLFFa%RcbaqK(Pis&p2I+OCeieWoTr+OqA{-u9tK|-T!o-B61CsuNe)9>F z3anFZ6lKz<83`&RozgKrLn*@K3gsY!rKLn#Yp^y2#Ct6nNeto)X~q;Qh9tOD3Z(_4 zCQu*p8lIswuf%$-Hp_^$ouP$*bc6h_p$B@mf&ogQkjV5znkA`RCS_Ubm5_RZCMDKO zHIMWch*33LD5ivLj6j8Ku^K_xLXi+riz$@UpvVv^xz5DkI)buL0dfuvcrY+N&ghLQy*@?CvQ!IOC~sZ`gr2{TpWBlVXG~09GPIB7Zg}z$iAZ(EwXud_;ue8b1Hu z*-d&4lYtwlphTb}&DPZ_rk~h-#om}tadLsqi2>i}n@8o(T z1>Ok!&RzdExtw0TD^fb}2QLG>36?4@e+S+o?bWlwWYA3TmFU#G2oP~JgwHcUkh8nx zuz@yj^#s8Yj9d{iqSfL3(c&@ig2oaj`ys>R)P*XxJbU8~O< z8#Lb&o9G*Ado|aW(*Q4BgH*D2{Amu^JoCNEy^c01OWZ!H>$o&*r)%f2-Mw91nX9kZ z9kGe`^iC9rzu#IT=G*ossC7h=|!U*5gUy^;AV+VBa2*3UVp9DV>=peTsu z+8|Rw-%A||E82AGY-X?S4~pG~RZ}PW z>xbLKezJh|w~RAg7yaw+V{vgOHkQgGYTY`HKTb1kxR|?V`;z*FWeb0Sx1Tu_sU$ZY zeX6Zlwerg4ys|nuXTu~Pm#DA&ide+)Msx4@sM;W5{^*b_W4PkjV{yIy3egU zcQ=A5j}Iun<(x1Dx{^2U@@7rNokPX7_v)}^-)!^zepkuSqmDa{+d&sfVWVAFcZ=6Y zyC;vS-ZNHn@8eyU0(W>6WPi11p|Ek8twhjcTPWacf70&uLF-{?yL6oIp>mtt{mvHT jjI5H)mv%e$y3Vjc+U~d>Dq|Kvf$(T^vI!{F4(D1plx%E%%@QFMdM;qr~JDa~m0#NU}&tNqHDEq#64d z_xNw&o{;Ni*0X@|%VtRt4F#TJp_69KCh`^q40#-pb!?KGa&8)JP)unx^LTt_rtv|x z13Zm8TM{x3i!_*6Sy&w4Rg6;hSh#%Vi~l_KmK&aJ*|Oz-U|^sIWA}A~3D3@zeEly~ zbmzg0hDzpVQgdb{aygnEHc{4g>yP7UzOcAo#a`K3)KYL_5(k6MEb*oohX_TW;~6|% L{an^LB{Ts5Cmd;m literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/refined_diamond_crystal.png b/src/main/resources/assets/ascension/textures/item/refined_diamond_crystal.png new file mode 100644 index 0000000000000000000000000000000000000000..93f417b48b1c363735b642097f89beacf63005e2 GIT binary patch literal 582 zcmV-M0=fN(P)zv#xp4pvpBorHd9=kGk3n3arpR$Th;sa*WBvA2XIPX-fTX8?VBJ70MJ^a zlp@PA(ln)9E;ASm&VuXG+wtkt7ML z)rvgN5kiorDF8|-E4aH3%=dlbIOhKTp6zzadcC&cNhy(1T0x%Y0KDVFXZEXKCI|w? z<1zJmog_)vY&M1Dg%AiK*zflok4H|Y(^=5_?wKG6h@yyQv&rFbV6j+O_yT5G#%wmj zbzMrO5^0+9^!(u1BN$@}<4GwkEQBDAV?578Yt3%Al}ZJr6zlcc!d7sd>Lu-qU_PJYc^*nBmdj-Uwt`DYfPG^fVm^c6c0pCeP zK~y-)eUm+_;y@IJpOJ-awsQl4*x1?#A}FNsZ!Fv0LNT!VTlOwQY;L#v2hv&D2)7CZ z1QD?i1x2C+L1VrqTZp;3E1qUx&b-fg=gb+wmp?p<&ddAL{3ihM`P;+fkMCU!!vH`^ zNgT(7VTkYhD2jqKX^Lr@X{}aczu$8{pE(>3c%H{yQW`01!eD$1&&g znIH%=BuUtAx0yHt+;;UkEWYn^I-OXpR%n_g;y7lr+1!aUKp2KuwQ9A>cs$Om ztEwuZD0(Q)UcvW$bX~`B98A-^I}kz>% literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/shadow_dagger.png b/src/main/resources/assets/ascension/textures/item/shadow_dagger.png new file mode 100644 index 0000000000000000000000000000000000000000..62385c39d2e3d97ddc9e13a4af30853e9fa3e548 GIT binary patch literal 4372 zcmeHKdr(x@8DEq~SOmhvAi*+TFNvYT-M#zXy|6soMOe+^3Tp~6R`28Na%Fe#x_e<4 z9E%~PYOzL918RoYimA=R#43VO#w3^sH8M3+ZPil1XPX8SONvupJ$DxnCYk9l)BMNI z+;h(T&hPxr_x--_oY}j{QjixdP85qoqG(gTu@Lr83eOYau$}X-M{{1_{(}6tk;O5NqY15WvY;msm{p^3))2y~_xjOyIQPHd@&rN35<=x_M99`jel)sI<8>0KNruLfr@NQGaemRSS_ZpTCZv^~dFEhGqG4KHJ{lG$U;XFouz2)HS#x84Pvw=4tbg1s zx>n!S60&ehrS;bfJoo#mzg~OPCL^xT3%i;Y}j1FI)5iDy9ySTSF!m8g65nO zlHn*I@jKnH?nI)DEWewi%K(p1z|Ok#=iBBQnJa(x}r_)Jsxl}I4AOiDNx_Hu$xxC2& zMUcY?ytIdP^DO5=1WuCT%6UDC!g*xWKd0Ml9;0`8M^u1%Nd2T+DwE(+r&Bt9g_qB* zfFvUheeVjd6`oRQA@FkL9vb9U02iM;o+8g=wu~_dA=z1{I}j8UZ^C8_J%)3admI4_ zLrZ}JI3cMQ`X`%!=ULlhu_pK?%ml(2?+Dy(jDG@pH1+@(qReK($kFA(rY55v75pU_ zj%FDmFa(SmXl*JQ)2bj345ZR%Z8n8mDaYh0hJ;iK z9HRh3V*uz#N~2IyN)iuvBjka|v6%FzTr$pLage-?^EhFtvo417c^`wVtP>RRq#&D2 zBUh=_xJs?mXkZ(3F2MLA@OWX#39K?)qEH8xGc>Ufa+0ugSSM)*Qn$+}z;K|n zq)@4lIbes;5C#t*dCp_yIENk;xDkPJY}yPD6hrc)k>ml~4VNnkTu0yzuMReFm=GjzEC`YghTtVD02A;N zas{X8QqpAy@ctMn*ik$CJ;lJND3wwTR2Z$Kg$$|{7=>#{jD&WbMrLDlR8ZA1b}wh+ zeWVBE*rAS4D_Ecbt&o(F9R7HsH@;FJBnV1|;X3TGWJ**z60B6XF-D`!kbXyxi~wNV z6$94=ZSd-XH=%UwDjd-Z`uaouM)L4OZh;_En@mdIDY>TPnv?>Q0#8-flw6ZiU{c_z z>iWOQC4T%d1zhkSkPm(;Jv?;k9Q@1*rxxcKMG0_}9CakV0QQmY{1UH76w@I*A*ZTb-tZ`WIBP>xwe-29D<53EaST}|dVS_k z4}%+$5P$EW=tE@Lg@n6N_1im9zCZEZl=FLY<~V9vUW#*^cq=7x1}^L0+PF0#JG2#T ze1F5K_R4CPW$FAZ|C-Ic*PcB)&#-z%%*P9E-`D-+TiIahCI6+*dTw@}OSQj!HvQ1Y kUG1H(xHiqxT8rPz%t<8 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/shark_tooth.png b/src/main/resources/assets/ascension/textures/item/shark_tooth.png new file mode 100644 index 0000000000000000000000000000000000000000..557a1402da3db9d438f5e6116b4610c57fce65f2 GIT binary patch literal 4471 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/small_magic.png.mcmeta b/src/main/resources/assets/ascension/textures/item/small_magic.png.mcmeta new file mode 100644 index 0000000..f14ca0a --- /dev/null +++ b/src/main/resources/assets/ascension/textures/item/small_magic.png.mcmeta @@ -0,0 +1 @@ +{ "animation": {"framerate": 10} } diff --git a/src/main/resources/assets/ascension/textures/item/small_oblivion.png b/src/main/resources/assets/ascension/textures/item/small_oblivion.png new file mode 100644 index 0000000000000000000000000000000000000000..8b2c25884ff3e7e531a4c7df00475606f0b3b92d GIT binary patch literal 1022 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qRNAp5A000ARNklaWel%Yq{U_Lro(UH z-qt+L!1mzT;A>n4AW)tT&%)dBpH(v#=^prf7WK#dPvQRd>u~hH(C&hEpdut~IJCp4EN)5Qp+d- zBnVwN@43{p3R79o^pG-4EKPw)_k6dGwFXQA047VPwz3s~B4mttr2mRmOaw#*K2WeO z2M)wU)&~ID`)f;x5?%!eMc5c8VkWzk>=L+%2*cLO1kN~8rc#P?Mk6Hyg(x{llvx1! zfiq<;7@$&wR#}2N?*YgL?9K0(thNN-L|7;nDJEbj#^%trjZZd_+@pwmB;rV^7`m&h z!0w%NKrtapL%o<<0i;Bd+DDn)1wPl7;QNuXa*ct%DV0#UXp66>+>c5m%gTEq0@x?! z^1!oFFB%z0IC1Y++m~8u7Qnt25D*&hPJ~qiNX-YB2mMRJxnL+z#eFzXTz|IGNAZe@03V>Wlgpoq2`9RW^I+F~bOq3~&!~$o^Tn=QLUPjRBEG>TomO$G#f>b3TX+ zBocB@Bd&&R+=vtLgzrac0K?A7BW`_!0rMd zgeiGw0cfcHd^K*PLWNLOE|N|JjGvJzJ@ETa5#dTcYGP|`qE{dZO~~q>T1v)^Qf`}6 slTy~JD>W-;8KlPhl*R2IE&E3Q2N5}<1E0SOTmS$707*qoM6N<$g6OfuYybcN literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/small_oblivion.png.mcmeta b/src/main/resources/assets/ascension/textures/item/small_oblivion.png.mcmeta new file mode 100644 index 0000000..f14ca0a --- /dev/null +++ b/src/main/resources/assets/ascension/textures/item/small_oblivion.png.mcmeta @@ -0,0 +1 @@ +{ "animation": {"framerate": 10} } diff --git a/src/main/resources/assets/ascension/textures/item/titanium_axe.png b/src/main/resources/assets/ascension/textures/item/titanium_axe.png new file mode 100644 index 0000000000000000000000000000000000000000..1b22515f75abe2ce3405eb0d145c4481fa697ba9 GIT binary patch literal 4417 zcmeH~eNYtl8ON8zg1kypB34q@gD6DzZg=l}b9V+gUM_M)q{nw{XXc z(I6$h&{UI5bdX3LsWmkLqZl=kP<$ydjBTo&G!1P~HUQoo1%PO!FT* zv$wm?@7d4uJm25*`_1jvoMoBO5kHN9ASl|DWy}TFSn-@13V!E)_lN|S(`F$L#v`Yd*kQVebIF@+IyudaMXYC9YAEm?_E}>{#*CT89ggEZ-StZ3N9@z$CQ>f zTn(t9X2VW>)|uxL&aJilcE!S&qSzZd_7Q(iPfu7Hw>^JfW8A7j^yHn$YDH3t^!4&} zEiJ!3_xsJ;kJiW3m&5%bS8sOIbxEEcl%+Iox!ZAK?(H6Z&%Z*J>_2Tix*+0UHCuNT z!}k0t@Njh);U1T)DBP!d|$z?|QuT+xd^{BN#Av;5Ay=i;78YMnM1)_h7CdCB6+g+uRr^5wl&O-K7rstel(4IkdR7T&QTw7&7f z=C7b@22;cFW4%wHjnS)DA6FJnJMoW@jJ?A79SP@`T9RjO>XQ!~NI=UX?=+nJ_}IPm z0}ylY(ART1I%0Px=iV#X<$LgK>4U!PL(OxyUG*GB_s+i#x~_-=-IZs~CTQL%B^jP# zrGBRyv>gQL7W>^Ky^a-NinVhtz2x?(W(mwOddW*lGir9Hu?1XKiHEh6EVI%j>u4<_ zS!{^V`3V4UvH}VFoer0m@arW3E&=XEvrGa9T!eLcNuD_ePUAf+tdJ_CD3b2yig1Y` z0@isL86T$qROWQb#=hYd(u)9O zD4`#G!)pbLRF=zn`9crPrWdg;A#p4s(`3#WA&4c}Ij1{N6cBG*FoquSa~FCX0Uw5z zu@2S=pk9z4HqKw*Y@=e0%S{{!lruIF5N?D&&U?7_fHUwin+YRN7m7hmM!iJLmtc6B zV~D^lO_P|-X2TGgq!fsPwBZP8(~<~Ip<0bxqhW0fJ_coSc?Hr%vmy$>r5xa>l%$GL zv1&x6qO^#@hN1{1*QyaziQ+gT*J@RmY7AnzhXY+nI>u%tq8NapY#KR5DRG2Rp(;e7 zKv_hqq8J3zuo_CK){tr~7C?#fK&0lF^b%Z(j#_dYq+sJcPSEO{i{X9V(IG46WGw&U@5Dmo@1gar$wH3n&Oin1& z3sIav$N2LMXDj|+-s19sb-_u`;=CY!aljN@QxxN}F1aC^RYz(NY=~QPM0$+Gwo;qk^iA z(7n7(@R1%i)edw7T7d=)Xay$^&0)&;Y+X81M-1SB@1r)75K~wrIuzIp#kV2H274)fknU)?#^22g`mh8 z;u!)}*Te&3m|!xehjmSz6A_KhT}m$irXG_q)v9Tu^M4c8)qU{cXe4hOHuGE*y-z5KdAhT-9n%f7lxQU84ZLR48 zRC4Ru#@#JbJ{CvTf<&(T;g`q7k#q09zH|Bojk72FrAH0(TFuta=mc~Rwy82feZM*- Z1Uj&bkL^6ISpzDEOzF#v^-J>0{{uO$OYZ;x literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/titanium_boots.png b/src/main/resources/assets/ascension/textures/item/titanium_boots.png new file mode 100644 index 0000000000000000000000000000000000000000..ea991ab077a7842f360db6d08244db2eee87aaa6 GIT binary patch literal 4357 zcmeH~eNYtV9mkh3C4@IkP=sL0dPD=Yd;4+=ce~-_~M2s7XwHi>OV}oCaI9CNYhzX&PcQN}^!I#Ha-O?D0O$Ooy4~ zKW^r3cYnX%^Lc*1@AG?}xm{x`E{uzQI2u8aI7^Ya1YW18->69Vo7#JigO|5z?4?Qx z7eKu}*&(?As#JRc3WAaYL4xPqwh!Y%Xl$Qz?S{@p>ylT|JKm3Dms_vew_dZ%xV$R< z(>?7iO}-R#lV*OVduQjfv)3PrX~@k<%8UOSQcPYt`EqUx-_GQpy_(Y-^;|;LqLar@ zbT2Nwod4X-19;ln#tySdmfnAFbw>1-NaLS>aQ@Y&+W**1gf48#<9q*+Q}NX`cVm0V z{CHY}ZtvSj_J*n5+EdTB)uin?lz3)+Z0qy*#gAKxH|ftUTRb`S)c(^560uS;nQRu5 zX{Z`l!;7`QH5P?(XB_|4f|m+*)?Y(Ee|9VT&w_#(^QSc~-MVku&nt<8H)ERVM>Dh= z>dTKFZ92ZQp>gl7_+9nrHxU=Ec5b_(nbnVH>|6a+XIpAdx3T-*5&3_3%f9!q=d4c9(t%Kf91M||GNE1{>p{xrzT{aZ>s#V z$sM6Lu%jT<$?0V)|daaEjRW`?e1$$6-N%l&|kdqZLRCW(+NlJ z#x9ZEb^9Yu)oy%BF8?HLsW+vq%~O8khu(veVspAS&SW-jZndQ&Jt^1vy1jGCUq?HW`PjhaQ7R>JBvfikJ6#s?PE6x)TG za)A*wIdh}4gDeENfx@9dx69*agGNo5%ffrrjBC(vh*ECUlv-`5N%jGh*3w!6D+o$e zlxA);n(Y%EY>9c^AOb!aHD!w8WpO+Z2xtR3t?YB+B*QQ`LE#jI!3fM>?NPWO=JBVg zhyjKf_ywQjRV3Mis!WcTD;1+g1O4bwer~VTI*j-D2UUQ2;6cudlUf3IyYbN@{7OL; zgbXJ1og@5qxJmI6;Fl|X0w|~g9wluwqR?Ws4HMLooRZrcE((e_W-?J2j`LRfT;Ui| zz<~?6A=D4^Bge!ml4C@yF}bOpa5!k6+| zj^i~q6bmpq~z@Q=9ck{c{gI8`=M zPtp1;CX1r<1j*<}5f=iVAGVxIB?+xAD?D5j*m;o2!Pb%7oD<+)k2CC07lwu9KxsL( zQz1EQht;qqAK(<(XP0G{QKM#ys>ort6>cbzQ#doH05}^#(JWzLDZQP{Vrhb<$T9AK0u2aVCdTn3Yz9CQ7$-0!CJGcu0)`|UfD5ZIO!vzU zCBXSWo)hW_wSo;A)(TA@T*Hj9@qsd+E)bLqBMjJxWRwOUEEZQ!jG=0?@&D2zI~*|T zh=Jn3ArZZ8kYj&3ZCe$3Ax6lz_@}Z zy6gWYSM;;bn6vIpa5;J262A25 zro(@^*OZ#mU)THD>AEyy*S(d;l9Q5>w!9N}``f$vg`v88{im ze&+AUlIV(vSGB>uD|5RdziE4+ucy1~_>L)#vchF^Ci!xyt>w$1E7Y)RG8r4Zetl-> z)52TH;-#ri#&Y>@M6_1Fy>4-O^Y4vy@zYHQkQQ5udY2vO%J|?|eM_WwM+%Q19c!g` UW7Z_kh1nyPf@1To{H68(0jKgduK)l5 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/titanium_chain.png b/src/main/resources/assets/ascension/textures/item/titanium_chain.png new file mode 100644 index 0000000000000000000000000000000000000000..7ed925fe9854399b8bad17e49719c677f64e0da6 GIT binary patch literal 4266 zcmeHKeQ*Gzy7H=Q~E zYi5$&eV*U@d!Fa_KJPQx_5QL2nQ3>YVHlR_^|;H?b&~c?)uZ2>?|uU4(q12^RLeme zmt#^;3`1O9E<+q9#2|(xPDlI?XQkw(-u!xsbKJN~T{UNS`|2BK9M1o2S7dh0^clap zqw4jqQ=<3${x;!^b<5UMcuCqr+0Qhw_Lno7uvaR3zA5si^>vW@S2`1yqMD{ni{lHa)3`kU&DODA-A!?{0Qr*%?i(URLg{$XVt!*pv!m&@;U zxdv)M6>M#I*6BGmZ~F1aEA}tFH|sLqHK~pLyrg9M!l@gUy}WPg(pu`^)$|s6W`VJ3 zP4$r@&Bu2(ZrHm!Yxf%bhOX;h=i4qCX8lMO>|1y3{DGYAE6ywDbj90_2KLTQ+tC8s zx=g0$AD-Iq`d#yKZl-dj-1ZkeWbkC|6JH!V)_EwkmHY z)P3@?qdWWQN^kkPj`g!M-^9Po>x5grwBLEpv_$a4iMGG5cfHN+Y5ZGOaF%P~@1}+Jm-DZ!=($thbNc?4OZ0*}-km(zQ@nQL-S6*cFJ8N7)0FIj)6KQt zHrs!kc~FQwcjUyL)%ONGO*uDjUm35Sw*8f}ZSyiNHtf0FT+{xibo$a8w;IA{KFV(I z&3HtNtlF>puwnCKQuSAP%c_2T;6SvxXNG(*C1dVCHs?AvZ`tn8$GSsTeGWX4exvj3 zxuw1K2F(2Dzw~6va%$<6f)#IlaH#jUD|){#ef4n8>W#5okAAsWhkC9~M7>q%D`j~p zVg!Q3L1Q8!qo%{K!np|<@YPVoIT#Y7PDA&h!vuuAmQ$6!T$S%9yv z<{g4z?wqv31d9kFPz87*5{@ct!f8nIvglqjlLkBqQLCMXN}nHhNim4iM%qXbB?+<4 zY?zaV7siAjTkf9UPl2AChALH+S(1#$DI2l$kV}34|b&G`RLvVsvB2x|4>D*ag~W)QEDDJ?BACDr;^f*`IEfK> z5{6*}kt!%Z(+IpO28YBNk(=g8mNPsN6mF1z1bU$MBp9K5KGrSqwOUZG+iB49Wd(^B z1vYuh@C;=(a~xrzt$?6|R)(;15DdN&_W5oMwCC?q|)|*E%JMv2D6bGviQS54N9>HYIQLxNO5Jz6%Zq^LIs*^CdQ1? zrBKpV2V-%VhCqv8OhGNDv6?8O#g_C4JUbt80@ONU1cV?dM?*=6wlOR!2T2RGPDRW~ zJF13t#UN0nSU{4(PJ@;$u2BxUeds_5Km~4~LKKZM(=6p+DO#zq z>noXXaiTswb^Ol9TGt}e60f@`VE=$$_R`e+_aC^~TzX+#>5ZApYtP?mH7vdwUz|;^ zp4fW1xwSB_Dzz--%DIO2lT6K=3m0a0oKSSRn_T#$_1E;-xo6&M8n4$sRWv#MkLL1y do5nw*!xrgn^7n7fJ&A%~-jXu+?&4)@{sR`3`}zO? literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/titanium_chestplate.png b/src/main/resources/assets/ascension/textures/item/titanium_chestplate.png new file mode 100644 index 0000000000000000000000000000000000000000..89f6f51e286cc2c12d81ad7c5b5ba08eddb1fc54 GIT binary patch literal 4445 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/titanium_hoe.png b/src/main/resources/assets/ascension/textures/item/titanium_hoe.png new file mode 100644 index 0000000000000000000000000000000000000000..40f43fe3c781d45bc6378deddfa73d08cf93f55c GIT binary patch literal 4380 zcmeHKdr(tX8owDW3W$Qr6cy_=qSbA0?j!HJ1dAj<)<#)~TWg_mbMHyGh2+NMh9p#1 zR$W`Pvs&Dpc7bYrtmA4IAE2$(!qP=q+jTqpm~Pchhq^v+uwom_!w1=O!z;{oro&A8 zA2*ZSd%y2@e&6@~&Uen_ROPM6Nr;;rhagCTIoFsE?}^fPat!>P7YZ}*)>2_zE#@KH+pc|kdz}pcdaM_ucId#JP$!9~`GGwx(J^w9t{&U{FzH`5GetK$`Zc1_X z#QU9nl~<63vJ2-L5AVx5Y<)>F<;lw}vDe#k@6KF4HzVPj=`UaVea-nt4ZGdzes*zH zQ_3a7>?@ZKP4DjpM&;c%OF9g%y_7;;%#PcvY5w(^KNU6~^A$3oKcmNexA&aw?e4za zMg06`YscT-@gh&;RMy6O7b$*82Fw25SDc_+``2c}Tb0`X?0G(EV|($_2qN3UXJzG? zv$BSYfhE*!c-@fumuFJXtu6S&s;8!wCwA`KOJ6dXQkN%hFW%djyv9eIz87DkN?W4% z&8E_pmL2B~Z{FTeKec`n+AF(yyZu0id|^Mnr18~n+uxhlb;oe$3)!;$A6grpj5|~V z4qPS4+82^H9KE|>OU4v5jVxGs;BjRK-E`;6FFT92IDAWcZl+kjSu`PCzV5fTwwlgn zrk~+&)%8?uekW~7>&@0(F-1FjU++Beu~4^tYJ9q~gv$@LX4;N_*5aAeP`!8hCyB2l zuiC$Ue&>k~gWDU{{PFmwhQ9a-LFdAYz8dybHa0eG{<7=@U@e}%>`3;us+nK4z2BQN zcVl%Sb^4>?Ypb70{z+QfwEjuWXVmfkDsbhaG54B2>u%GvUwN#?ccnk$)K@oR+c(72 zH=b&~jNHgDAAR@a-6Wzhp|J2>b#U5ypUbj$ix+mLURYkRcxGjf^8Ue8VtxF*qo+SO z*}d*Q!W}wteNKCO;+u=}yDQ%CKltg(4|<+G(mZe5RnIYE_oADy>B@Q7T&pe5(yZWA zFq~imih$D%yADCpmj>JnTM9(f1{}Q0An!WUEJu0HAb(D6AuR4JP{QX{ctAnL3M*St z%IZ1!(u}zD01XM8KxEK>v&`kC0|t47mxj-h8JD9Gh*)ZnueRi&S%L?kDuqfxV5R_H zPRTRk&~y)Hr}K^3gB0-1ATJR`H;vLM2YdCip~yTn_!{P<~Fg#WGCq@(!v1^}qv+8z&V6?sVeOBfO%i z9Fhzs^qnKTR=7s-eBc#)9u}C&flFKvO_5`^?UT-HciUk^ACu|H$kx^7;msez5ERd)mxq^p0jLNRI zv2dWB101FT42kJDlEEl~r5M(xvuOx6iejaQhh52(MQ0^Zaga*Sa2hoXifJgl4O8h! z6=u_`2}}b3pp;5GXHzR9RMI@qnR#Y|oKg@Ymb@}Xvtq z(a(55rUU8-wSo;A(F$EWIEPC{-ILgIgEe3Gv~ra8NI4)A=fq7*VrC{ifToYk#!Rd3W48G1MB?hM+qVuqoW{OkZB$lso|QS* z!(D4%eAFELwl`e++>UULX3DH%?bO=`_PzD>rO@NySt%(gjVJ#-YyE~t@F}Igt4RAw z=8KzlG3O8Fyf*OzWP+)$DtrwVx0hAI#V~XGc@@jfE?f{|IZ3J`rB(x3`7& zJ!}mdACsT32V+;nC`^tRcx`Q}3e7T~IIS#t)VwvdXJhsLBzx#r@xq0WGNbnE_bU|| m)+Z}+o=0YTKEGCaa3X@#?q(f3LiKI1D#UDBVXR+Pyy<@%%0QL? literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/titanium_ingot.png b/src/main/resources/assets/ascension/textures/item/titanium_ingot.png new file mode 100644 index 0000000000000000000000000000000000000000..36c3cb47fc1179c2e4821eff0644b556cbe7e648 GIT binary patch literal 4621 zcmeHKeN+=y7LP>*SrqWA$b!rnP@(K3Gsy(PNTdi9Vu>JMDyLN^GcPcbWI{5KfEB6u zNmoE=X;-ZjKTvDM#Z|X0Yq4r-yNFV(u+@szV_n$l@}Z(GtL#faz_UGPkLPUvBj+SD zbMJ3{_uk*V@14BOi3?*Vx_Y~cM52kRxacH!^{{_k#=~E~d;K)LoX$^KA|%lk#AxER zoDLvDo)I9x%4tO+>lJlWUYaZes(*bwZ`;2d_jM;Z3fA#6yCbxU#)WJrk|7`GyKT95!;(puK zpF(ZUWd)?F2*+O{dyiCYzIYx#Gymyb4mmmIGP88t#OaRLv3bN}nEm?m8D&vSLFO6x3zO$YGHcZy&7SUcmOHU9kVG~2Gl zWASy7zaKMM_8>Z+aJtx?-*b@9dio%XMEax<>^YN5BdU5 zwzZs&eYHQtn0>9~mhy(l*{h&=R+K3qLS2<8YP;CJ!*uEt)>L=9x8=&Y4yUrJnhL(K zC~C#-xbJ_S**Qt*?d|+S+M0+>Ri-1hCoVp4=yEwYTuapP6vOMqG|Ov%*s3?esS}C9 zBdkW6$pQkR0U4Y@iFVf2qX@?;(ZzB#t~N%2OfD|p1d{U?rZD+gOc;ws%ySL5QjkCo z1RAmGbp|tKRiX}F3f|kz5)^Sjge)bxM4gC4@g{(fVp5D_F;*^Diq3OI!cDA}N{W7M zkODp_(M&-wQWA;9Vi8+pV&0S?A;QAKB)C)}m0}Qqnez++ZN&^`e>=qhM>H@qCeA2u zyaBOu(i%QTP@*XGBhT{F8`bI|dV_gT1*nI_N*g7F7?1BN>{+XgM8|4GgeTL2@w%d006fq5)bKBUpt3 zBS{6o6rn7Q$$*rU%0p!|OG-yjB$zljm9%bTR(2{DQiX=eXgLuI2?$1uky1JYQ)t3i zj3#gZ7#hbl1aMH<`#?n|s+6cyj1OB9b+n-6O?o)$oPp&n=3!R~rw7RbZI_J*m6D`f zDkF(dxk4UF41>~u$qYx%&Pw27S%|~KGSq93lZKFEq0F&Z))4trxLSPqnywofW# zcGzJxRFnzO0&hy;d7ToqXN%Y=humtopjcXhjn}*$8!cKX;zY}SoVw&9v`jF@Ej5coznNnH zjuCC&=>?6>f=V6Z-0t%7bYxm^sf#~6O4q5PBU2O&mzxu^E*X8!bz7RtK5U7|OkZ5< zyLYntDi^1Od@rYc?q8PgI$PvCVWx82^j?=D2ta_wzfgJ>UKH!=B({ z3SOt1Ja%~)<&9VF4=j$ayEfkA9ghyQ`9Z21vxRK*+VX|R2G8v9J?V#&4!)t~RJI)V zp7#S!fZ{&)nKy;GUSD~OmR9`O=YJZHt^g~KdvDJjx3nUY%<)$Ho@sY-8Mi{wZvMH~ zcSF%U(VYF2s`9a^sRvqj9ILthb$z=q*V^VK;z{aiq|cf&9l1SahaO~++w)5xx@MJe z!(Ry1wyMCM$CESu6qFsF(VBPR_O(@KlS^BVESo&mb7@7=E7QzAG07>Z0L09751i^M zil6P-{Tq+7K$f`G%UC8ci8h7K-t#=RK_3hY?eqRw(Yy&N={L%XQjn!}7Y;3#wmV3nR>mk|S kZY-@V>EHD9@Z(9zCmOpOK6PCOJ1bJfER3$1zhdow0GJZ4(f|Me literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/titanium_leggings.png b/src/main/resources/assets/ascension/textures/item/titanium_leggings.png new file mode 100644 index 0000000000000000000000000000000000000000..323d24c2173027be75e1aeabdd4366525b126900 GIT binary patch literal 4380 zcmeH~c~BI07RQ^!Lc$dcpjnT#9YkQYr+a#up{HdOVUQWakg0(pXb$O<=`a^F4KtEp z43Kywm~~@F5sF>11kr5BVpJr?@*qZXNfNirt}e#7(UqX6=*ELY_t(QUR8qA?)#g8@ zYNos2@BKc%_rCA_el@+(oRbw1Ix`f4pa`QuZvodR`5O`pe&=4lM}tded0v5Jp}nxn z?G!{C4@+xYJk0w<0fKy|?B>TKJK^xbf5$9NH&{ZBH5Mma4qkjW`wuz%8}Tn)f8_z= zVBc*+d(iPZX-EF5q$$=DAI&+^_2q-do2F)^ZGU~BH@C29O1sY*f2aG|=8u!SE$12T zX5wEwjpD7-wbKUU**6>8v8UHS}&Rsg&bWst17fsr|;Xh~h&ArmE>pv5e{^uik?vdVPV>vY~rpLd5&EbKea49o}~IJKg#k2n@}?4gGY>D4dI{G{bjdUgKGG0{nn)z%y#1d|Y2gu37u`If@5<>*}~ad};62dD^YD&E`btO3@9I7WReRc&FpQo*zo? zKwQh)=VzTg8})jk<%jZG@8IHR25)A+eQ@rpcig+Dtc$)0+OA9l?NwmPrdX$4Npnty zSNiNO(034&y42^Q*A5_31r&BzZY{E>g4Bjdl%H4c!c}^Z%Ud(Da z#nL6AsXht-?7T$7KD*7~p?o@ppG$#z*^DY+zl&6?QxurYaE8;(!-SGhVo0V>EW;H` zLg7?5Cr}ps@?ivc(kZNx-8$VYNgX%gsQY!EsEhNjw8SW@vL!3v=4E3;$*}S zL(h9yx9E~YrvsLmG~+ClbP5F+hezVGyG*80yu&lB0?-5X(JoY_#8A5(4V>YTGRpvD zIG|sg;mHHL6t(akXQ`XzGs}2~6c>odGMdbz1UaQ5(eCmm1;iV-7{`wKxk}wOzYoWv zyp6X5s0YNS8s{&G!kAd&Vv|Sw=>!G>mK)`d^B&3F?+m<5CQ9#QOXWq4dYwX!m*SkP z$Wi`VmPn>a0!u*zjz~cWf*=tsi>ncm5VXk*2TCR20Vt!xBhe0)mr($&6aj~2NnV@G z@(8Wba0rpY&BzYN`q?< z2Gb-Xgi6b6F%n}`wAzo7>p(3t8+8g?iH%vzHd+##ZaZjo(ZM;rp0S}k(az^ev@Dw{ z1t(H8T8&zZ5jcql5c7Gr2eh0_RbfiC#y_27spWu4gVqu4bPn*Zf3Zyz{ysOSdK1J+;THx2EnT)t%JY3R`=`Zp5{`?m!}vqLF(=rW%3 z#|c^+fwFb0t4tfQtJKrCT4Od@ z@UP(T5Bhyn=UzLs?&M79s`)V}tzk8+*Whj0##Mc_)(tQB9VZ?5#iRDzM*Gh8l)tvD z-@79!Aqj#vMPB{sKuJw*Z^_m-6XO@I__(^OD}vm%Lxwo`5`(MHB v?|;;u`o{&xwC=inr(3g<`)6fcyZ3y;{-gO(=zaD3K~9h{Ge_T=URe2G1o=RL literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/titanium_nugget.png b/src/main/resources/assets/ascension/textures/item/titanium_nugget.png new file mode 100644 index 0000000000000000000000000000000000000000..93301ca3c7db629cea4a7f9a2c697665c195a51c GIT binary patch literal 4319 zcmeHKe^32V=xdZOh(-STPQ>L&#j}`8A*n!gtll*G^LFuYLkqmiLIa$n+_=b?(ut?nGQ3} zf9%ZO?!Ncg&wKClecv~?+x)AFQj+E+K@gPU^|*_{HPtv1BUS0 zR#aJ(Y6MtcuL!UZl|%@NUJUs!rL^OT1HtW0jT=)PO&3lSQ$1gIYz)+1diKZ5GEY_> zY&$UXM2de_vtW7i^`7R3_UxU}p7+R!gY)-KJHY<2y(RAe+h%|C!u8x+_bhHXUyi0P zYz;E|W;}NO%5R^`Hf7FEdAnteZ{d;b-DFkY!ym5u@~i1T=*&nhW$_Oa(deH=66(-bRgeLSh_u%e{EI$npvI29Y|SrXiMn>D@}JcJ(%L%{_HDP zpHOte<) zqASl_EA2S&_;>NA@}HY_pZP0yLr&bezPgzUDsCW-uKtf-er5F^_9gdjduPp&`_ua3 z`>r23tX*Dw@A2nfO?`Rx>Unzpr$xuQOl`F$`r+O)&AYs3XFvT+2b<9Kz?tP+mpfeZ zO9MM@Zh50C>2K(J>khyB#J@hrlCS-G5BX=Q329oC)%;XqhGqAfjaw4moVVn`;$JPe z)w|PnH|s54-SfNOA8&jp;AvVgFmpqsI_*fy$FEi<_iQ-+kDav#gXvY>q5l5A{ASFOoWTxGtM zG$)5l3@@{SDH>8h*FlgYH>xmPwV=bS5R}4B*#Bgf%+qL}I)&xHrrg0>>bFwG%1x`C*r=3NUFRO*mQ* zmFfv(SrY6}d66!57Yk5rwkx0Z8F`HyHh~?Prb_^#lf{tZnp zs0Sp&34P-mS^(@(tXRV>era6Cnk*XJK)FiHwaAthE65N|>-o*Ts}b!trv z!*iHWBZL5{2J*|9fY&8)OsomH8J<`<;}ZelM)@b8M{19O0m|p2-7;5a1ogU|h>4s^cX>qH0>K4$UPFuEwKA<*hln3p5km@6QKgc6-G zWXl0zNDE;mDGP;DR`VFBR8Te0at3P-ZZcbA9-gBM0Ve}mM+z}P0aL=kn8R2Y8k7U1 zWsFV*%rQHthIXj}qswYQmTR1dku7Xcj=FtdL-CBxxEWml(QtyKaT`sL0UQiuf+nm> zae~Ij;bmSD*Z(iHv3+32(4u=J4a8p`GY##j5}|hJY3Q*=iftwsj%^E?;f6}kn0kSa zkpzoc7*Rw?J1(Mjn=J>W1d1VTEXz`qZ6doS zi+Y4nh5R7U5oiS(G^Q1tJ-miXCgLMig0VnAG88oHm}C@!4Ht_U6Jw-W2liijIAVZt zBL=)TWCNoMOhRmQ6b|cU44rTB7+!~OF#@2T3Nk5ur{tQFYf=hK3Ov56Bq20=4s8|O4= z@BX>Kn4o)o1qnTg>1pu&XQ)M4z_i2b&JWnSxXQWr%!w;3zYjgTXpp(S_hRP$FUl0@ zc5iZJYWh#NPQTMBq?)Z~`}#ggzIk(ba(Q`q@|CtHxk{F;Y~Hqi~Zc zHEk9X?Z1{12afi`D_Z7;ubg~0@A>p&6>X<`2L~(S!Le27dZE4J1=A;|JOQ|{C}E(p eMVjN!fS{(jrL_g@X&*=o@)oReAA7WN(|-VJP#1Lo literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/titanium_pickaxe.png b/src/main/resources/assets/ascension/textures/item/titanium_pickaxe.png new file mode 100644 index 0000000000000000000000000000000000000000..63a1d23db63ee1afd81f93539f555bcddff322ae GIT binary patch literal 4389 zcmeHKdsGuw9v_xtX5@5xk|XJ?Ixejyq`kTJ$=eJ;Gl31?(D{GEKemx7m;a!Uc9OZiZj zo3pWYfbwN7fC4{jLlFO2hxzr`QAv@HI>%|Bs-LH+KG$UAzP0Bf5w2H-Hae%D_EV*Y}D!c zn}IECTCz@?eRO8x7Yp(}m^VGPH10~x7V?b2keHLOwrERZ!fRf9e|Jnko{}oAu3XsC z^1ClSUcR=WF1D@`y%%=zYWub>(Tk5Isg0}ewC|gIB{aSWosK=+p+7E_I}K$GRKQ2ya9SO9Tk<5G%IrquoNZD+L^hgYTUK9&+cVST)Mtc zy8ll_|0tN5@KQ?K(~l#X52VGM%yZ_V;oXN%_q3_n&y5av&pl4xbFCw)eMxv-Zt_F#J=UJ=t>zyDBE&!Pti z^U=CqZL2?-p4r%=Dc?(~p;ttiM#!h0bs5urf{zfdbGFqu&u=LV=;EEnUL!OxaTMd{I~ z#?9EsTzzIA1$@$qN_gHyN+dp?PwbP4Id`#yP^;AvTq==DF^IrCWlo;*V@^-9KoR25 z0}t(HT|CPYn* z5|gQvHcSqr6sDp<8YZ);6>=p2a+*>Np_t=lp(`o-(5eI~22x37lnmfFgV9nT)Ig{) zD?!tk3MXVZ11pp&nIM%g4`hbfs1-@Y_+Z3rr+6FZc0jAMPKNV&28S%H1LX0PARD2S z%9Uv{l{`&NsL~X~An2FC?SYmPSP5J#Qv^pCn#_cp6toWOpo)RSk2opoXcA&JB z;8e&QjKgk7of}X*=eBU1T`Ll*MFq-%VG~?X48>D=iU%+oE|rtGij*oXgp?$dq%>_h zE+z3Hc#dIhW&aB;EFV-8n)Gbe1M`;!L!mX52Ns2%LXUPfxR_8hxGYGD4z=K+N45kKZ8%E($8mDQiT1JIb9borx zHr_|MK}Ipu5o!eu8q^A%);EW#LDdHEz7ilz5R?qVRoD>8M3TN{CBlx;->pXSUwUYQ zfFWB9d@mG(TNm63B?DVwpI$KcPkHps!%vw4MMshhOWzT>M&ufn0>c82xNAhNVJR>y z@QAzqZ*oNseoO%;{0HQNpGt+;FP6g3tZ-{imL7S4JVG8%Ox*r5j6}Jz=X($&<{9A( zLjs$|!(aq&G#MhgA}2)0KYyTl`?D}~(x}g{sE*S`<4ZnYo%8;OTW`(ytiWh^Wo7xZ zg@Fc7^z)On2amgMcO--hhu1q1{;up@{M`wvW#Cx5dH9!Xm4w_&!( z7$Pw7y{`}dyKDNTWy{;lPi?3gzmW>;+Chn!+sk4&Law8Kwl{2r{SUSIU*5R-HGik~ z1^4;hMLRO8M`zjRw*Uc)b{0|wm BL2>{9 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/titanium_shovel.png b/src/main/resources/assets/ascension/textures/item/titanium_shovel.png new file mode 100644 index 0000000000000000000000000000000000000000..f299b46b7aac53d59abbe13bb9bbb1e5aebf1463 GIT binary patch literal 4362 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/vexal_crystal.png b/src/main/resources/assets/ascension/textures/item/vexal_crystal.png new file mode 100644 index 0000000000000000000000000000000000000000..3e0e90eb3c88020cbf076728d7c5f7cb80bbfe92 GIT binary patch literal 798 zcmV+(1L6FMP)EX>4Tx04R}tkv&MmKpe$iTTA_@RIr1HLx$>P7Zq_VRV;#q(pG5I!Q|2}Xws0R zxHt-~1qVMCs}3&Cx;nTDg5U>;vxAeOir6bq^0;@1i`*{oJ2pP%an@@Cd{)rs*c}2J!5s zsd3&X4zsc-6Q2`L>U2TkN3Kf_zi}?v?B$tZJ)52<4igKdE|$8Om34)9hBzWCD&>1~ z4$GXkI4jjUYu}Teq!>uke%!@BYWq{-*TUS|@<-8MsnA{#p~5`y{>5 z(IQ7cXdAe=?r72;aJd7FJZYjX+LDi^w^#(;&*+=-!0;{5zvlGT-pAn`u^?e6X0GwuF<07=GjmYEx^TL1t624YJ`L;#im!2tgnYI-#Q000SaNLh0L z01FcU01FcV0GgZ_00007bV*G`2j~d}3px{_Pti&M00A0FL_t(I%VS^|GQfTDga6pX zSzwIHJul%3&OQImurpSH5nZuT`|1DpDos(unUFb+4x$WFyetepYP?u&ToJ3ypwxc) zKTZQ?o_)`dZY;>~?DHQ6BS}sS#Rd`_45~7sDB^Gf+FisMx7_;7P=DYxL!bsP!@1|* z8NyBFP!!KR`<|iMQ4D(+FfcGc{0()wj~Xw-mRp}0RAodN7}`(&N0!5B0LVx&UU#v(JBsN}(*+1b4 c1A`X;0M_Mnze##N<~>BrJi)Nn`9S~J;GNKA=*gzQmA@%v%7(nBpZ??37ki< zlxykST&Z}}D)c_grUgn7RH( zW|H0g{hs%Ef4}E_-gmOK#&sFNfsY455EQJ>)aHO|sQ3+d1pG#SH%fs^TSZ=hkVCm) zyMs4#78VxD?JUfCI5Px!E?JEmLwsWbez*~?_6hvh9`#YPp`v&nj$TAwWSnEm>; zsiWh6`^Pda*kky^a|^{peF^WHH>eyiQo zd2PdqzW9HKrY@1S$C?LDb($jHxH7mrx#hC1yy5PVl#Z$#EV3`G_Qoz-LHp8n#h!+) z@;@j$Pwzsz}r|55qX@s$31xmS0b z%AdEQ!)L28Mpbz`G)ePTDaG(6R_d|Z zf$JbBDaB)_=n__dO>7ZoQ%i=MTO}~Zs3jW+17@&m*kUfT!olWNtjnV-N@x`$Nl6Y& z@{oYQ$_f<5FCTAvzD|l1q{U;UouR zCUdl_$0@**T2d?sb`nM1ZnxB}kn)ZqRHjm?P)v@>M`C3}Q<~oYn4a3WzsjGKQYS*~=UjFNUE}*1}o= zsT0&En}HWN^ORUKY7;ZwcBU5srkmuSfu88y3kE2Ifzz%p^xx6Jb(eVurz|QR!_?fwIx8NCn8H9N=LHno%fe85qOJ z5FAfTKvV=yAxbkrunDY^#c*O8MV5mDuB0r}s}iXgkqT1~tT~ZI9qlFU8yu%8t&e<5=?VL*GaaJ~0phVeZiE@HS z#8fgIClc{Qu>_giL5eAsz~r=7@AxSI4NKq&Po-rsNGiNO^6Faf_8wkl;~8z z?2UtNNR5M~1m2Oy^A@#4tQHn2C({P7p%_Y_w3NVt*)TayVk#0N^5hCqMvyW^JSHcx zX?ULD%;o8FmIVYIE+#4F(Q@L#E*wfgfh4XGE81`-plA_02a8fRIOk=<` zmZFO(TM-M+k8#6J#JL|agOV`ev>C?`DuEIGBx4X04*Z0vW@-w~;KjjoKJU7X#^qrGyPOe!gFe~t!yXNGYl>)N@&$;XW zCRgCp%M@z^|A5@!RcU)upZKo-h-qzx7Ak?7p*!KB(gF~9)Sg-BgrJ}>@jDON-M9n< z{RO>2=l{*4^A{}$akbsq0zx2swr5ig2^gnwomLK@l&{vV>C9!K1hy1=c|663? z!otSP9&1kjv7=ksPkwx=?2xjj`)EsZ#vAeB5&QT!pP{o^tyIiG!`;~VL8W|U#oI5< z_cw(1{_e5A>`hBq_FoBU81#kq zKGPLrab2&8|30Gg!ec{Mj`p*@z=o`}O)@k2MfA;zR01Gfev;Y7A literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/item/winged_blade.png b/src/main/resources/assets/ascension/textures/item/winged_blade.png new file mode 100644 index 0000000000000000000000000000000000000000..7416a4a722b8cc39cdf9cdbcfab92c34635f754a GIT binary patch literal 4545 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 pI*!b8DHboM z|HvfS?E5|6^S;mXz27(4ed+5{gQZbYi9`}?N;77_>kHy1a6bIb?mF-`yj=ELHV7G% z8*y>0ohbr{Q0f8*@Gy3X#MA3YzZ2Y!1pV-2;Zi^S>(@20wHfMx?^U;wO@BM2(aW{_ zYs>Vkr#Mu4_0I)zZCv@n6&Cbne_c6#Ef-s^Y<@yXX|(a`#)6}IZ_Jq;dkb!Jc(-oX zL;1qzwv|P6q}+|WZ-}NWZ57x2gUavUSbJ{3Th`Xoz4U$n`Ox8s+kfZiXJ;EP+8SO7 zQ#Cf?{D@yuj9-0q9nO!1qS@7bd|YGIwk@Qee)aG>H#;KoGbIwgU5vqyZZa62>47SK zUv^NJ*8W;_$EM7V6N>^?RaDS*U*|4fw0ULL%ALErv-AJn+TV@kcUPTi(n#z51N7m4 z43T%8C!3@@`vNLHDL-`LSBJlEIrXLN^YVXgZNBiNX-hz0r8M)4`sK$9st^A1%H<+w z)?jIh=D>-3WF$MYW#p8k-( z7Z=j-{;AMoVQ)qW$zP||cgkBf%gL3Gu2&s2eG#^|qQe@{x%B$lJ!_K;(b<;DfA2oq zDg74hD){j8oG1NQ&^Mobp!^4O06Fk-Y}Ky7NY&xDcI*!PC~Czk8K1^{_h`YYr?KZ~ z?t|8=4cp@_X$N9{Sg_Sy7=HT9-BYZDYF*L zza5Rec(11|_0pw8*XFN!`gMI=K!msZWdj$hH`k_1?%f!u;V$)|UtaiTq^I}Fzvfld z)>pIJ%MH2BX}2G|I20m`j0_#g-liW>ad*m>WUYgJSHi&l+F*Wzw6P93MYC2Q_c&az z@g$NYy~jn_3W0!FK_27O$%Zbp$Pk9s$=+6(6=s(KJ%ss>f~P%DaJXBfVXjs zOJG5DCFL;=mroQlZ$>iOHi>f;b45N3ZNoqja6nQX z)`!o)3ygirtQob5BR)CP3xVk-`DdV?Y4?F4%4{Z$tgTo~YBK6%V!b5I+8CPj{nXMx zrBWm&q8cjzs8UU+P%Wh;P|9l8fJCcSonTL#MrCsH0_C&;kqVN_8OWnj<5oc6c2tei zYE)^1v#m;-9kna8YKpQe;oClq;!Tc$T}c&9uS%q%Aypzp0Xk8oK>>~{P$jOhquNA3 zp&DET=ma$ZtaidjC9VURoNm&|2)SY^l3qj!c9wI%R%e_v>*lA1EQ|wW3Y2IY4pk~} z4M7kvm4eVtfwBR|!*PLCma$r{Ax$c^?YgP`-3Ov_c zKbc+9sfQ`xg#Uot@KGr*=TiV5v*ugZr5YvGl2*xBRDo9oBhR_g-r*&ZkaqFocZIE^ zVK6{2nNtD=0$+Uo)%e8^%HM;bev>iTqUrqTa6?Er61r#TV`4b?d~4eYQ_S(97B$l* z!}@Ymwe7`qNMJsXn#M)*I_z&)xZ7L8(Xf literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/models/armor/ferrotitanium_layer_1.png b/src/main/resources/assets/ascension/textures/models/armor/ferrotitanium_layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..dae2c29e21e59754bcf67a2cd7e2b73beae4ba54 GIT binary patch literal 5179 zcmeHKYg7~079PZcf}j-@1e6d|3Oacck};7-h?v%32(*AtCX)$_LT=6(99cAE1_6L8=yQMXSXYEd_cHSW^ka~ePKhkAQ@D^ego`#scC zzj}|Ee@by}{ZP?1Z~Hkr5(_zJuG-|5Wb#OPbedndTd^0%Yid(qv*2uP)mVky%DuBYs+x8fueP;G*5~{fAeT)Uosu<^ zA&c>iib`%SiQb%FyZ4I?dxUU>Ps5P}cZXYhL7sNGgh(Wlh(yoR0ZCYv<_l+4g?gV` z6tlayAUl0j>Nm3O)3Vp`wgir=3@4@@Z%H)VUwvhluOu~f%zS6pWz*i9FyE4vrXM@B za^$EaM}M(L?amdVFi=zZM02Jfd^$*US>Haa~B)w1D+g}=-g86~JO_Hl*6%Lu{lS6pSdw}Ap!lP#D_ni* z&$Ug$27{wV=J%6DhDjmPqWGcpHTSl4S2Vy^%3FS~t-EmFe#7oVTeMj#MTrL@eoC3x z(SHB8wqMu>pDu%rwi_z;_+{5Ykn6hy&{w>4HiGFiG*qcm;54&F4}=Fnf)KMF#ZqvR zqQH{~t&rMLeuhdRltOA;kdz_Si|}M(R;B@u$&8A{GE*?Vk{U9@Nnl0*fCeW~idm!9 z8WFRQYQsgqyVXpmQfw|{ijW#Fl~F`G15V-4I5Y+I^4}z@Sti@`#!J5a3Hl zO(sb_LZ_QdCYp&&(;1TJOg^7aXRzoj77RRKV}_PQ&9K(!XNBm)h`^1QfzXqLPD`<3 zq6%FaDWp=tIOTbK8og9H0IxOnvjF&@n^8TTNn_A88v5WFMpB#(K>7pv+Zo1K(57@b zZq%h2FkGCDYe~Ps5Rnq8YyiQUQWBxj+mZt0y|kDT8}QSo8Pql(B}T{9xCVe4L43@Y z{7FLff~=QfvyRx(85{^$ZUFx!@8`MOoPn2AibUwJH0z?02qD!PFQU|8gc7m6syHa0 z%~5b*CXR7n4nG)&6>J3tqj(S-Ts$5N3mya|(Hcoqi{Vx%08S$SPLPrn%wgjw9Lz&8 zn8W1rz-*-w#<&>H!Z0?2uM8RlF~>jvRif&_QCXps01D@E*<6*95927tg*hCB3Pu@h z9?VxT6hTZbSE;}iHYjTykT97IUIjLTxGP)xz; z)6)RDQKuqJr~wa40z3k)fIw|rQQqpWVZh7Ln38d8ffy_{%w)k#Ml93DT@aT_|L4;K z5@#y7EFf+iQ^Fif!H4-gpi&;n58|Og3{;`wzZ~xWoE~UNCj3GX1L+Cq)(!D_F$MJh zD0iR3pdA#@(q{uZGuY_q13P^`U!WBKy;RICFj@b`oGcT^x~|DYr!8p6F3RJG5tX)I7K=r-ieHWa;*o-EOE|u@EES2m0*M* zXE*C@2W_=@0HY%*k%}GfIgfO6^ekm3S|G^YQ4$drn_Sq2C^B$ilwU>WCBL8gsWc#&WhnA@s6lTM$1?r5>nX7+a*dgq6bUGiZ z>+W(rW9n&dHPI+59D3UkZSSAIewF1m1^!TW_=X*Ha;iJT*hYsSo$idjW!LVp-mV>q z9$z#_V=nMzf%af{RZ&%sy~T?te_B}vcX_XBtoCXUdHSx)hgrzdD0zIm-M&iDNhJ9c%gjQ)f@VnWoh6?^UmK*Pj=1*|RaxSuPYve^;Z^V5c> z9T|3(k}t0&KaBCX++)9QYtzCv{%Bk;c0oOynyaOUb?we^afPGjw9cuC$wA-x;Pzv? z68d4ePuM!+$mv@reKXR>eN$EA0>u+~RHJan_?4!Ox2g=%>;zq?Ly;hC^5)Go(}zz~ z8%ygf$U4E!85BuFYhg{w!Uhe8N(dRg`(q>Du+Y z5^YSvQnSU|!P#51uP%K`{hH>vZxnx?Y;rEbZU zjzd!mj>hM0jQgefNKUySH@IxxWrx~^*1(;o>~0lIEiJ3fog5%`@~?LD`0U31A=C8- z!XI|>D);0Sdhu31@IG+*ed^|jC;BDpV)t#ns^xF&PVHW@{f@)C^$ha<3C*#K#|u*E z6GJ<<{JDHt6)AHqywfD{y;&BqX791c0)NQ8bjK+>0e!=KEqBq^AAPr}>EFg$_*hw< z`m_3b+>>5+?ONJ8Zl8Uh$hm%baoi4V?7Q`xw4!No@&bQ;3*sUQ`Ej+oOU3z{HHhOwvpBr Nl8B=s4uvOX{{>58kRJd5 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/models/armor/ferrotitanium_layer_2.png b/src/main/resources/assets/ascension/textures/models/armor/ferrotitanium_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..323cf8187baa086ad8e9a3674b0cb14bfb6f706b GIT binary patch literal 4857 zcmeHLdsGuw8Xu4~fXG99prQ^zrKpq4B$JS&NkNk!X$?k*6(6fiG7}gf50W8?tWVUf zx@t@7tAh1W@pS}SpX+J`W%04ng=*D`V9{a)R|Ksq?gHAI@IKpf_PA&Lk2z-^_ug-Q z-}n8#-@Rw!4edAmi{!1x&pr3py1bJ8EtyXi75)1u`qlT(H^s+3vlC~0 zZ|sacJ^WvCeEf*S$0lv{nu=9*{l7go#Jbt~>cY*EAv%wh2c|Wa)Xukk*U+HKUG+m` zf@b`nk;`LIO=4Jld}_nK8Jj+@i1==`w1M_`RkLCCP=aYb3qc;MX}MgZlFK{O0ZHU7 z$&tmC#DtbENX*}}IolqXaaprtQuaF0mI*`8PoXCsf0S&k|EOYbm?|S<@Vo*3ODBCe zYF=Jure%oN`GCL_R)lg`OKna^V@9)o;D{mnw*MZBxiKkx$C^K#Ze17R zRF0VvQtah9i2qO05H_IvX=cEf1&w>8S6ixfez_oWn_tt~zhe7F4t*+lTDC9Wb~nQR z*wMX#JA*$S$xOaKweTvZD1#%O)KvCWj=DVPqqU_8tgEBS{`SZBrRvZb+6~WE=Uw%E zi2QwF{>3@XwOqfU#~=9JqBp`Tlw)(Uy@w0ZcXwh0u~weX~|pV`YV8T^lF2j*V9DPV%~2UYGl^XSFR%1ibAKFKfKVp_gZ zo_ttwJ8g91llsREKk^G+ErpIgu@>(S&#r_Z|Cuz~L~k~72-2*hI8LJl2oHj! z(M}7YPoo%EN2Smv8N2aJ5gVpS8GDvMjjAnjDwU4QvQmjz@mhUWnqEw@qu=wDIwb(W zNHGNLG^U$u5~qyq#+86)S2vdpyG@uh89Pa>f#qf^1>+o?gCa^NZRfGy^M$2W(jZAt z#CAY{mW-XsFct}y>u@+Y4nD_hP2pl4fo~A&5uFY*Ab1oXN5pyxJmErt0pp8#VnWyhN@cP!gh@}ipa3|B1~?+20N3j< z9MRzfj^GBIj}R0pKrj>+k%S22lLD#-#B?hSR7s@wjLHQ?0w@8=$8aIV2QdI);G_;k z2m@&H2uvUr>rnxpCvZc#>L8h{QOVdm4%*$LNhcVC*=ht*r%j~UVe1~!(nczgAzZX! zQG84&juHy_0$dQqi|RJ|kh0o<F9ok5wP+W^C#XaCEj0B_u zs3lxV1<3Axkc~ucr3l7s)tb%eGPWyP*ag`&tOgT`Bp5^jMntZwj?Y7* z$aYq{&~0V|;~=cmEXZ!(ya)7XL?euYeDQRrj+|1 zJEB*Gk{P7bwNsJUV3dHeJAQpOZJ@w~wwqy55L^H!|*1S07z( z#K0RF_o?guMwf5*UXe0^4?G9h34YxYeGu#-`|CcKs(@CzHk8Yit9F2!k0oxl4T1&) zyG{>idtM0WWHBnWl2tb#Aec3=wjp^R_*YP>QcTvS-ffr_W?mUH_*K&OCPlEH&q>d! zDoep(@@Q__vO7PYyfRzyJJF*@!pSqk4u&0c7A7{@FQp#cJNL6|Eq+zitb5=5;m2nG z;tRcw`;|4vBZmHR+XLD*T(N5Z!>Ik`K7X#?KJC-U@jr!>RkirO%z+HCCkj4!P&zYi z*D=q+aZbph_~mE|6r-qEQuD(I=bkMT?}UQP3;~AN#g4Q%`9<}yqE@fV8~?$3`Et@gpUd0UXzQom^DbRj9T2?!LeL%y znR>3!@o4@LU)7qi5AFvSmtB5#!TUg=W7~Rt$>Yi$y9*s{aZpg0_u>;jm94)birq3S zR$0gT@-KJ8yj$moZptfNY!3_wOuRn#iz?QNBR5wcxmuf)n|?~$cIe0{arSG|v6Y1} z&p#eicO__J)2HORg>xelLAp?Jrcds(xpPVv4rC`R&e_~_r#!EOWbJ?TSo&Von6V+Z zWw*xdt-sdfo8uRB?^Nrt#3(>$O*!h>BgRLbk1M{g_0ap*sfgF1qit4CM*n?z p&>)!au&;kHZ&=X>>y~ZcPS`bZ*7ykp;CB@Ssg&`G!YRqwzXD6I{ILK4 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/models/armor/flerovium_layer_1.png b/src/main/resources/assets/ascension/textures/models/armor/flerovium_layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..07d25b2d848f405354bd2e738a6e5b2759ad9ba9 GIT binary patch literal 1750 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 i$R59iH9Vo&0sH|=-2px=`8Wdr0000N2bPDNB8 zb~7$DE-^7j^FlWO00J{fL_t(&L+w_(N<%>q-IO5#pHW0KHW7QpLPQX>5MrSgA}9ug zh?NkqOKoj$=MSi@g^2!yg&_C^igrHM%;JP)b02QbED_AYaCdjkoI7WB=O!7gwL(TF zlR?5eA4>&5tn&)M3=r|??EzDl3GWu5+XCHh0Q3<=TgZ-=X=+avNdYLAXX-L=G-=6r z8AYBfk^)dJ&(vk$Xws7LGKxG|Bn6;co~g^g(WE8gWfXa`ND7eR@|1wV(WH~!-Yz$$ z$TPa#Bss2I0MCM>@T1isZ5zr5{|$x{@FXDdG-~C7DTHTuD?DTiz{y1rkZ2PBuM6;} zTEOi|Ub}}Ehiey~#uvxia;eZ3I9w?-dy?k7rYFCQ=5%Fkzq@9i%fWo~65IFNb!r=; z1vpq9)b;gYV>Bn@VXtj}9G>?n-sNj|9lQX0iv#+2Ys47M$!PGNJ!gLso_#i-i}zUv zFTl=1zjlp8pHxQmO+BygDtR*}i^9?#`}JAlSGlTE@o_v+`@svaq^ioc&AC2(x<95b zYgx^LuD5e$k9=`>@{@Qyr3{wwsRB>{`VDw}EH<*9R9_z@^?X0B)@FN63tVh83h*Q7 zd?ss7m3%J`MfLe!GWPZ~Veotd+$Z@^eW~$i0o)TUPxmzY|8_U8ujX^jHTjb8cK_3y z@Tme&K!^hH*W7)^6(9+Z>PwAB3lQ}J63Ty9`I&T@}cY002ovPDHLkV1ifRE+hZ| literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/models/armor/ice_layer_1.png b/src/main/resources/assets/ascension/textures/models/armor/ice_layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..4538700f79fb6d05aa8c907417d14dffa4a35a41 GIT binary patch literal 5222 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/models/armor/titanium_layer_1.png b/src/main/resources/assets/ascension/textures/models/armor/titanium_layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..e0fee3e3da3721e73cad927f11d22475adc272c3 GIT binary patch literal 5276 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/models/armor/titanium_layer_2.png b/src/main/resources/assets/ascension/textures/models/armor/titanium_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..fb62f6a8cdd87252410995058c041a86edfc0b15 GIT binary patch literal 4658 zcmeHKdsGuw8XrVKo?1cdqLv|4g|^9Lk|D{Ai3kKp&}cS9rRug!W+rhYFOvz0RMdm< zwOUc!){54Oi;vZ6MaBAPSCn$VR@ZIqsS4FvSMdSJ)@K#g?oB`*r#)wn=WPFD&Y8^2 z_x`RX{#97F44?e1Y@XNj zT_xmRUp;)~$taV2^2haqDo-_ymDQgZuklJRH@z8ygxljFD8S36r)$;e>Ce*vNo+1! zr%=^Q998>v&i0Jm#jWt2wdKU6jEqr}hOf#iKQw%%OL+7_SQ++el3-17{>hUiwY!(B zI=C-#Uorf1z_pgE6}Na}o*_wxRy@3VB(CkQ;_j7zw7;Ix9~>9DtBk3*hN7Eh4KMoS z-&AzqV1vrAV~Ywg{?oPKa!t*J;uO)JyCFjOwN5osKgK4wdNz4g^etQd zj|qA9kw=bL^Y6W4KN=XGa=SDhFWs<1n+Ua;9%yjb6ZT;5(a)|pGaPJSOsrMGYdd~|2eY(-HzQdi)Y#LRIjpMC!Q>Q9(Nl%_6i)L}CWOj81R$_5 z90_|YW~-C%D0qHe0=)ao2oLr{xO@dKSEGf~Z4L&;1eid`&+xDXBHn~hSni;Wgie{+ zMFGAPyg3|aClJK#b_?8Mfz4q;P#nh*p$HL)_yECo&bM-;hi`Qz_$WF#l#G*duy&5M zSz#Y1X|TCC1&;^(@bmaAc8#W+-s8GI?3Sc~1C6cDe^WHi-{v%4H-KZd3d#>`j%sT0J9 z_Q7+ku}7>vvH3jybb1E@rt9YKgMOa79}G|$4WYDAF5jeTrGn>+m!NGFOB4QAqlgh1 zWfF=n6H7@xCZTXXE;ESvIE5Q=l)@P?M)smoTb&$fr5GO-AQ!NJM=YjssRT{tQwAvt zD8xoSDKyIXI4;F;1DQ<8P`VezR0j*Xk~H^@%11>5DiMy!XhtFiRJ4JQB~wzqOhg(0 zmDqq9BnBEp>8JA5fk@S=6+DqZ*kjR}NzQ0-5s zuPp|Q>$HKb3+#kQ_g2`Y7l`%uyt?Y}drkqv{gb?qzWs9b%k@GEyb!p*yZYsNAq8Ft z+}~aQH@QN44pWR3`~z}>qtdyHJ4N7_6=ax{rG%bB9niDUqjtOjEFpH)n@$J{i}Kw8 zP}$~}fiaj7RMIqVX#JoV!^7np&(2f{OV55b zwqxVzvA=x&r0thM;eD@yi0v(>F1Owo26@h$9JOrErgq)Bki?sO$t=qoO)tH*B`$1H z;G+X!@}}G~3Em$)QmP z28)8Ab3^Rh0^a(^9Z-Al^4i3JSDgBMm*#SI?fYoS(bZ~~Yf*Cu7|&cP3;Bm}<@5p3 zQSq;ZEET3sBX!eOD06bBeK)T22;yedY4fCMDF-vlE;lMS z@dK;t+8e)&n}NnYswyI;=3~U;W22#o%`LHP*#Ic!zG}kG3$2TBGxM$Wa6?1e*X~>M z7iCu;L&lG|xpR_>YeKWic6=};sBDJzv~c<9KhByqzOCcLXJH*NdeNnUOI6cL%e}Yd zB=LvqTYm7?eXLnLclDi7sar&`j~K_?v`ezKj|ZC7%HTOB8!y$gyDsWYZ1_od|( F{}<6qwXFaE literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ascension/textures/particle/bubble_purple.png b/src/main/resources/assets/ascension/textures/particle/bubble_purple.png new file mode 100644 index 0000000000000000000000000000000000000000..d262ec239f7537f933444f52a3049619d729ec0c GIT binary patch literal 4258 zcmeHKeNY=^8edMn3i45DE7QYq32G^IvmaTq**yYnlN6$+jSwp+PTB0f8}>@FOR^*Z zS%j6mX5YaZ`$6>sdqhE4y9_X!;K%u)l? z$sQOQP1~7Sv7mn0zB`AGp!plS=9SxSD|IZsL>xbMq1UjY(hSe0N>VZ_H0Dcq-lV@G|Ms;3K@!nDqSPecLa-p$xxt@mJ>2 zl!V21b$&7bXvT)Y!n!{D)-#um_!m0Yy-hvXxB2>s^Y)Qnd||Fx^v7jYpCCxWW3tWW zcG_$c$-or$we7N2^e)f)!@8=2MGLouvm4L4_kZ=0;j*WzIx+p=s~>c2K6h~42QTM4 z8ygqYrf2@o zcNgs6-f{eTS8mi%c0DzJ6T9QN7V7A;TZTrux9xmAa{qzP+y3!Bd1S$T$s_j5x#u%F zqMM`A`MvJ$Z|wQvcaQLpyp;dtd4J+$aItod@oE zqOfb#zgNBow)|_6?{^RRzHa^I*5veod$xW_m+v}t%TpCA9_!?aj=a0_>9vn9$dLzj zwvLqNwg0x3I$l(FrFwZr(H&>9Zls(%QQT3rJ5Whve)~@U_h)jm`;#8Z`0z&Q@4vn< z@00fA*N#1L@xi>kb^9%!f+_~d}qFnr>q0hL9o;lW}T;Zkj&Uan{ff~uC) z9-(Euz>0>l(zKE&2MPQ@W~yWFTv2?CTh(nbPv zMCCALC{064f}+G#+E!K#z(P0 zs6eNPbJ#&h2+FD^D*;sJws06`&q?lvi=mNZ@`yK7B<< zbA%zuctAh7BIJR46t4s!r70)?M;HXOg6S0HPM3RhEE19QJIRhb$4+ub~g5*XS@(30a z?WGt7lgtFbXo(^)3vH$`z|aC|VOWu+#c334f->w%zF~S)I+X~iBw*rcmN8+1mmpv? z43Bw9!HWT}#Ij}>j7TyuD!mTe3b)g0pp3+n#ofSbk`na8R+j^!5(!OBd1ODR(s*4q zlA(%CEJYJcv4vtRmMPF$5DdYV(^*NvXo_bp3fwBl$-~x>{k#w0YQPs;q8EmP=|E|D zy;C7`%nq~RY(c&qYIvd_~cPIt{05;=lqS=;pcRLqH|7WrSF_vb8^i}fmwm)x@%6ZSt&3p@LYHO z-{eZ0`j`R%_y!b#pGtp1?(Kn}S;^je%k9WBNDnf$_}4AP&@xZ0s0krRdX9c2Aba=a zLSu^NbU9M~KJTWS!jx~z`u_<{Zl`^PC-=Niha$PVSVzw<$9ntQ){owQ#eD}kLcDi) zY;3Ikhq2p@f8PD(P+3m*{zp4I3s;#w-F^DYtp}dAj**Wh