diff --git a/build.gradle b/build.gradle index e585f6e..9736234 100644 --- a/build.gradle +++ b/build.gradle @@ -1,18 +1,18 @@ plugins { - id 'fabric-loom' version '1.4-SNAPSHOT' + id 'fabric-loom' version '1.6-SNAPSHOT' id 'maven-publish' } loom { accessWidenerPath = file("src/main/resources/proviorigins.accesswidener") - runs { - datagenClient { - inherit client + runs { + datagen { + inherit server name "Data Generation" vmArg "-Dfabric-api.datagen" vmArg "-Dfabric-api.datagen.output-dir=${file("src/main/generated")}" vmArg "-Dfabric-api.datagen.modid=${modid}" - + runDir "build/datagen" } } @@ -28,11 +28,8 @@ sourceSets { } } -sourceCompatibility = JavaVersion.VERSION_17 -targetCompatibility = JavaVersion.VERSION_17 - archivesBaseName = project.archives_base_name -version = project.mod_version +version = project.mod_version + "+" + project.minecraft_version group = project.maven_group repositories { @@ -98,6 +95,9 @@ dependencies { modImplementation "com.github.apace100:origins-fabric:${project.origins_version}" modCompileOnly "maven.modrinth:lambdynamiclights:${project.dynlights_version}" + + modImplementation "com.github.Provismet:LilyLib:${project.lilylib_version}" + include "com.github.Provismet:LilyLib:${project.lilylib_version}" } processResources { @@ -118,6 +118,9 @@ java { // if it is present. // If you remove this line, sources will not be generated. withSourcesJar() + + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } jar { diff --git a/gradle.properties b/gradle.properties index a21966a..5e12ba0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,20 +2,21 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties - # check these on https://fabricmc.net/develop - minecraft_version=1.20.2 - yarn_mappings=1.20.2+build.4 - loader_version=0.15.2 +# check these on https://fabricmc.net/develop +minecraft_version=1.20.2 +yarn_mappings=1.20.2+build.4 +loader_version=0.15.2 # Mod Properties - mod_version = 1.6.1 - maven_group = com.provismet - archives_base_name = provi-origins - modid = proviorigins +mod_version = 1.6.1 +maven_group = com.provismet +archives_base_name = provi-origins +modid = proviorigins # Dependencies - fabric_version=0.91.2+1.20.2 - origins_version=1.12.0 - extrade_oa_version=1.1.0 - pehkui_version=3.7.5 - dynlights_version=mYl4RvKg +fabric_version=0.91.2+1.20.2 +origins_version=1.12.0 +extrade_oa_version=1.1.0 +pehkui_version=3.7.5 +dynlights_version=mYl4RvKg +lilylib_version=1.1.3-mc1.20 diff --git a/src/main/generated/assets/proviorigins/blockstates/lily_of_the_void.json b/src/main/generated/assets/proviorigins/blockstates/lily_of_the_void.json new file mode 100644 index 0000000..7a17d6b --- /dev/null +++ b/src/main/generated/assets/proviorigins/blockstates/lily_of_the_void.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "proviorigins:block/lily_of_the_void" + } + } +} \ No newline at end of file diff --git a/src/main/generated/assets/proviorigins/blockstates/potted_lily_of_the_void.json b/src/main/generated/assets/proviorigins/blockstates/potted_lily_of_the_void.json new file mode 100644 index 0000000..e7f48a9 --- /dev/null +++ b/src/main/generated/assets/proviorigins/blockstates/potted_lily_of_the_void.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "proviorigins:block/potted_lily_of_the_void" + } + } +} \ No newline at end of file diff --git a/src/main/generated/assets/proviorigins/lang/en_gb.json b/src/main/generated/assets/proviorigins/lang/en_gb.json new file mode 100644 index 0000000..c792c8f --- /dev/null +++ b/src/main/generated/assets/proviorigins/lang/en_gb.json @@ -0,0 +1,9 @@ +{ + "item.proviorigins.crystalliser_icon": "Crystalliser Origin Icon", + "power.proviorigins.alraune.summon_plant.badge.2": "Flower Sprites\n- Will take damage if not placed on plantable blocks such as dirt or grass.\n- Will die after 1200 ticks unless fed with a super fertiliser such as dragon breath.", + "power.proviorigins.crystalliser.name": "Crystalliser", + "power.proviorigins.drakling.chain_crafting.description": "You can craft chainmail armour.", + "power.proviorigins.drakling.weak_armour.description": "Your newfound strength allows you to wear stronger armour, but your bodily heat loosens the material and makes it weaker than normal.", + "power.proviorigins.jellysculk.catalyse.name": "Catalyser", + "tooltip.proviorigins.alraune.super_fertiliser": "§8A super effective fertiliser." +} \ No newline at end of file diff --git a/src/main/generated/assets/proviorigins/lang/en_us.json b/src/main/generated/assets/proviorigins/lang/en_us.json new file mode 100644 index 0000000..338116a --- /dev/null +++ b/src/main/generated/assets/proviorigins/lang/en_us.json @@ -0,0 +1,275 @@ +{ + "block.proviorigins.lily_of_the_void": "Lily of the Void", + "block.proviorigins.potted_lily_of_the_void": "Potted Lily of the Void", + "category.proviorigins.keys": "Provi's Origins Extra Keys", + "death.attack.bad_dimension": "%1$s was rejected by the world", + "death.attack.bad_dimension.item": "%1$s returned to the void with help from %2$s using %3$s", + "death.attack.bad_dimension.player": "%1$s returned to the void with help from %2$s", + "death.attack.compost": "%1$s was composted", + "death.attack.compost.item": "%1$s was composted by %2$s using %3$s", + "death.attack.compost.player": "%1$s was composted by %2$s", + "death.attack.crystal_beam": "%1$s was shattered by %2$s", + "death.attack.crystal_beam.item": "%1$s was shattered by %2$s using %3$s", + "death.attack.freshwater": "%1$s ran out of salt", + "death.attack.freshwater.item": "%1$s lost too much salt trying to deal with %2$s's %3$s", + "death.attack.freshwater.player": "%1$s lost too much salt whilst fighting %2$s", + "death.attack.kraken_soul_steal": "%1$s had their soul stolen by %2$s", + "death.attack.kraken_soul_steal.item": "%1$s had their soul stolen by %2$s using %3$s", + "death.attack.void_corrupted": "%1$s was corrupted by the void", + "death.attack.void_corrupted.item": "%1$s succumbed to the void whilst fighting %2$s using %3$s", + "death.attack.void_corrupted.player": "%1$s succumbed to the void whilst fighting %2$s", + "effect.proviorigins.alert": "Alert", + "effect.proviorigins.sleep": "Sleeping", + "effect.proviorigins.untargetable": "Illusive", + "effect.proviorigins.void_corruption": "Void Corruption", + "item.proviorigins.alraune": "Alraune Origin Icon", + "item.proviorigins.crystalliser": "Crystallizer Origin Icon", + "item.proviorigins.drake": "Drake Origin Icon", + "item.proviorigins.drakling": "Drakling Origin Icon", + "item.proviorigins.fae_moth": "Faerie Moth Origin Icon", + "item.proviorigins.homunculus": "Homunculus Origin Icon", + "item.proviorigins.jelly": "Jelly Sculk Origin Icon", + "item.proviorigins.kraken_of_decay": "Kraken of Decay Origin Icon", + "item.proviorigins.kraken_soul_lantern": "Soul Lantern", + "item.proviorigins.lily_of_the_void": "Lily of the Void Origin Icon", + "item.proviorigins.solid_lantern": "Lantern", + "item.proviorigins.splinter": "Splinter Origin Icon", + "key.proviorigins.quaternary_active": "Active Skill (Quaternary)", + "key.proviorigins.tertiary_active": "Active Skill (Tertiary)", + "origin.proviorigins.alraune.description": "Blooming from the energy of the forest, you are a facet of nature itself: one whom grows and is protected by nature.", + "origin.proviorigins.alraune.name": "Alraune", + "origin.proviorigins.crystalliser.description": "An amalgam of shards left behind from exploded End Crystals. After gaining sapience, you've retained a similar level of strength.", + "origin.proviorigins.crystalliser.name": "Crystallizer", + "origin.proviorigins.drake.description": "The head of your predecessor has enhanced your growth, you alone soar as the ruler of these skies.", + "origin.proviorigins.drake.name": "Drake", + "origin.proviorigins.drakling.description": "An emergent dragon, immature and yet brimming with potential.", + "origin.proviorigins.drakling.name": "Drakling", + "origin.proviorigins.fae_moth.description": "The fae live with nature, adapting to it. This creature chose the likeness of a moth.", + "origin.proviorigins.fae_moth.name": "Faerie Moth", + "origin.proviorigins.homunculus.description": "An artificial human, created by witchcraft and seen as a outlier by all of society.", + "origin.proviorigins.homunculus.name": "Homunculus", + "origin.proviorigins.jelly.description": "A sculk sensor acted as a polyp, allowing a jellyfish of sculk to be born. Sensing its surroundings, it now dances through the air.", + "origin.proviorigins.jelly.name": "Jelly Sculk", + "origin.proviorigins.kraken_of_decay.description": "A vagrant kraken strays from death, still grasping onto its remnant power.", + "origin.proviorigins.kraken_of_decay.name": "Kraken of Decay", + "origin.proviorigins.lily_of_the_void.description": "Grown from a lily rooted upon the skybox, you are connected both to nature and to oblivion.", + "origin.proviorigins.lily_of_the_void.name": "Lily of the Void", + "origin.proviorigins.splinter.description": "A fragile warrior, but a master of deception and fragmentation. The Splinter uses summoned clones of themself and trickery to survive.", + "origin.proviorigins.splinter.name": "Splinter", + "power.proviorigins.alraune/life_sap.description": "Your connection to nature allows you to harness its power. Using this power allows you to transform flowers into placed turrets that aid you in battle.", + "power.proviorigins.alraune/life_sap.name": "Sap of Life", + "power.proviorigins.alraune/photosynthesis.description": "Slowly gain regain food and saturation when exposed to sunlight.", + "power.proviorigins.alraune/photosynthesis.name": "Photosynthesis", + "power.proviorigins.alraune/summon_plant.badge.1": "Costs 1 Sap of Life.", + "power.proviorigins.alraune/summon_plant.badge.2": "Flower Sprites\n- Will take damage if not placed on plantable blocks such as dirt or grass.\n- Will die after 1200 ticks unless fed with a super fertilizer such as dragon breath.", + "power.proviorigins.alraune/summon_plant.badge.3": "Flower Sprites have different requirements for different biomes.\n- Most biomes require the Sprite to be exposed to sunlight.\n- For biomes with denser foliage, such as forests, only exposure to the sky is required.\n- Some biomes, such as Lush Caves, will allow Flower Sprites to grow regardless.\n- Use bone meal on a Flower Sprite to bypass this limitation.", + "power.proviorigins.alraune/summon_plant.description": "Using your connection to nature allows you to empower flowers into stationary Flower Sprites that damage and hinder nearby enemies.", + "power.proviorigins.alraune/summon_plant.name": "Floral Summoning", + "power.proviorigins.alraune/through_grass.description": "Nature moves out of your way, you can strike through foliage when not sneaking.", + "power.proviorigins.alraune/through_grass.name": "Unrestricted Herb", + "power.proviorigins.common/amphibious.description": "You can breathe in both air and water.", + "power.proviorigins.common/amphibious.name": "Amphibious", + "power.proviorigins.common/angry_golems.description": "Iron golems view you as hostile and will attack you on-sight.", + "power.proviorigins.common/angry_golems.name": "Oppressive Iron", + "power.proviorigins.common/brittle.description": "You have only 5 hearts.", + "power.proviorigins.common/brittle.name": "Brittle Body", + "power.proviorigins.common/double_fire_damage.description": "You take double damage from fire and lava.", + "power.proviorigins.common/double_fire_damage.name": "Highly Flammable", + "power.proviorigins.common/double_jump.description": "You can double jump.", + "power.proviorigins.common/double_jump.name": "Floaty Body", + "power.proviorigins.common/dried_up.description": "Lose hydration when under the sun in hot biomes and always when in underground hot biomes.\nDrinking or standing in water restores hydration. You will catch fire after 30 seconds of losing hydration.", + "power.proviorigins.common/dried_up.name": "Dried Up", + "power.proviorigins.common/exhaust_more.description": "Your hunger depletes 50% faster than others.", + "power.proviorigins.common/exhaust_more.name": "Hyper Metabolism", + "power.proviorigins.common/hearty.description": "You have 2 additional hearts.", + "power.proviorigins.common/hearty.name": "Hearty", + "power.proviorigins.common/kill_dragon.badge": "This power is upgraded upon gaining the Free The End advancement.", + "power.proviorigins.common/medium_taller.description": "You are slightly taller than others with a height of 2.5 blocks.", + "power.proviorigins.common/medium_taller.name": "Grown Body", + "power.proviorigins.common/more_experience.description": "You gain x1.5 experience.", + "power.proviorigins.common/more_experience.name": "Enhanced Intellect", + "power.proviorigins.common/no_bows.description": "You are unable to use bows and crossbows.", + "power.proviorigins.common/no_bows.name": "Low Dexterity", + "power.proviorigins.common/no_crits.description": "You cannot perform critical hits with your attacks.", + "power.proviorigins.common/no_crits.name": "Imprecise", + "power.proviorigins.common/no_food.description": "You cannot eat food except for milk.", + "power.proviorigins.common/no_food.name": "Pure Calcium", + "power.proviorigins.common/no_game_events.description": "None of your actions emit vibrations.", + "power.proviorigins.common/no_game_events.name": "Silent Steps", + "power.proviorigins.common/no_potions.description": "You cannot drink potions.", + "power.proviorigins.common/no_potions.name": "Irregular Chemistry", + "power.proviorigins.common/no_splash_potions.description": "You are unaffected by potion clouds, including splash and lingering potions.", + "power.proviorigins.common/no_splash_potions.name": "Incompatible Alchemy", + "power.proviorigins.common/no_trades.description": "Villagers refuse to acknowledge you. You cannot trade with them.", + "power.proviorigins.common/no_trades.name": "Merchant Ban", + "power.proviorigins.common/pescatarian.description": "You can only eat fish.", + "power.proviorigins.common/pescatarian.name": "Pescatarian", + "power.proviorigins.common/poor_strength.description": "Your melee hits deal 33% less damage.", + "power.proviorigins.common/poor_strength.name": "Weak Melee", + "power.proviorigins.common/slow_fall.description": "Sneaking in the air slows your descent.", + "power.proviorigins.common/slow_fall.name": "Slow Descent", + "power.proviorigins.common/slow_swim.description": "You swim very slowly.", + "power.proviorigins.common/slow_swim.name": "Poor Swimmer", + "power.proviorigins.common/smaller.description": "You are smaller than most and have a height of 1.15 blocks.", + "power.proviorigins.common/smaller.name": "Small Body", + "power.proviorigins.common/taller.description": "You are taller than most with a height of 3 blocks.", + "power.proviorigins.common/taller.name": "Large Body", + "power.proviorigins.crystalliser/crystal_charging.description": "Gain crystal shards when dealing critical hits, taking attacks, and killing enemies.", + "power.proviorigins.crystalliser/crystal_charging.name": "Shard Collector", + "power.proviorigins.crystalliser/explosion_resist.description": "You take 75% less explosion damage.", + "power.proviorigins.crystalliser/explosion_resist.name": "Explosive Nature", + "power.proviorigins.crystalliser/shard_absorb.badge": "Costs 1 bar of Crystal Shards.", + "power.proviorigins.crystalliser/shard_absorb.description": "Consume some of your crystal shards and regain 2 hearts of health.", + "power.proviorigins.crystalliser/shard_absorb.name": "Shard Absorption", + "power.proviorigins.crystalliser/summon_follower.badge": "Costs every bar of Crystal Shards.", + "power.proviorigins.crystalliser/summon_follower.description": "Deplete your crystal shards to summon a full crystal above your head. The crystal follows you and attacks your enemies from up to 32 blocks away.", + "power.proviorigins.crystalliser/summon_follower.name": "Deadly Refraction", + "power.proviorigins.decaykraken/deaths_vice.description": "Gain access to a resource called Death's Vice that drains slowly over time.", + "power.proviorigins.decaykraken/deaths_vice.name": "Death's Vice", + "power.proviorigins.decaykraken/deaths_vice_empty.description": "Suffer from darkness when Death's Vice reaches zero.", + "power.proviorigins.decaykraken/deaths_vice_empty.name": "Death Vision", + "power.proviorigins.decaykraken/deaths_vice_gain_on_kill.description": "Gain 0.5 bars of Death's Vice when killing an entity.", + "power.proviorigins.decaykraken/deaths_vice_gain_on_kill.name": "Nothing Wasted", + "power.proviorigins.decaykraken/deaths_vice_low_value_penalty.description": "Suffer weakness and slowness when Death's Vice is below 25%.", + "power.proviorigins.decaykraken/deaths_vice_low_value_penalty.name": "Over-Reliance", + "power.proviorigins.decaykraken/deaths_vice_recharge_rate.badge": "For quality of life purposes, you may craft Soul Lanterns into a unique version that cannot be placed but grants the same held effects.", + "power.proviorigins.decaykraken/deaths_vice_recharge_rate.description": "Regain Death's Vice when within 5 blocks of any form of soul fire or when holding a soul lantern in your hand. This bonus is increased in the Nether and further increased in soulful biomes.", + "power.proviorigins.decaykraken/deaths_vice_recharge_rate.name": "Longing Embrace", + "power.proviorigins.decaykraken/evolved.description": "Slaying the Wither threefold has enhanced your connection to death, granting you access to new skills and an immunity to freshwater.", + "power.proviorigins.decaykraken/evolved.name": "Embodiment of Decay", + "power.proviorigins.decaykraken/propulsion.badge": "Costs 1 bar of Death's Vice.", + "power.proviorigins.decaykraken/propulsion.description": "Expel a cloud of ink to boost yourself in the direction you're facing. This ability is much stronger in water.", + "power.proviorigins.decaykraken/propulsion.name": "Ink Propulsion", + "power.proviorigins.decaykraken/slow_on_land.description": "You move slightly slower on land.", + "power.proviorigins.decaykraken/slow_on_land.name": "Suction Grip", + "power.proviorigins.decaykraken/soul_consume.badge": "Weak souls grant 0.25 bars of Death's Vice.\nMedium souls grant 1 bar of Death's Vice.\nPerfect souls will refill your Death's Vice completely.", + "power.proviorigins.decaykraken/soul_consume.description": "Consume an item that holds a soul. Death's Vice restores based on the strength of the soul held in the item.", + "power.proviorigins.decaykraken/soul_consume.name": "Soul Collector", + "power.proviorigins.decaykraken/soul_steal.badge": "Costs 1.5 bars of Death's Vice.", + "power.proviorigins.decaykraken/soul_steal.description": "Charge a short-ranged beam of soul energy, if it hits an entity inflict damage and heal yourself.", + "power.proviorigins.decaykraken/soul_steal.name": "Soul Siphon", + "power.proviorigins.decaykraken/soulsand_spreading.description": "Killing an undead mob whilst standing on coarse dirt will convert it into soul sand.", + "power.proviorigins.decaykraken/soulsand_spreading.name": "Soul Capture", + "power.proviorigins.decaykraken/tentacle_grapple.badge": "Costs 1.5 bars of Death's Vice.", + "power.proviorigins.decaykraken/tentacle_grapple.description": "Extend a tentacle to grab an entity up to 12 blocks away, pulling them towards you and inflicting slow.", + "power.proviorigins.decaykraken/tentacle_grapple.name": "Tentacle Grapple", + "power.proviorigins.decaykraken/water_glow.description": "Gain a glow when submerged in water.", + "power.proviorigins.decaykraken/water_glow.name": "Bioluminescence", + "power.proviorigins.decaykraken/water_sensitive.badge.1": "Freshwater is any Overworld body of water outside of an ocean or beach biome.", + "power.proviorigins.decaykraken/water_sensitive.badge.2": "Water Protection enchantments will delay this effect.", + "power.proviorigins.decaykraken/water_sensitive.description": "Sources of freshwater are harmful to you and will drain Death's Vice over time before damaging your health.", + "power.proviorigins.decaykraken/water_sensitive.name": "Sodium Satiation", + "power.proviorigins.decaykraken/wither_hit.badge": "Costs 0.5 bars of Death's Vice.", + "power.proviorigins.decaykraken/wither_hit.description": "When Death's Vice is above 6 bars, striking a target consumes half a bar to inflict Wither for 6 seconds.", + "power.proviorigins.decaykraken/wither_hit.name": "Touch of Decay", + "power.proviorigins.drakling/chain_crafting.description": "You can craft chainmail armor.", + "power.proviorigins.drakling/chain_crafting.name": "Forge Master", + "power.proviorigins.drakling/dragon_evolution.description": "Wear a dragon head to begin your evolution.", + "power.proviorigins.drakling/dragon_evolution.name": "Becoming Complete", + "power.proviorigins.drakling/enderdragon_mandatory.description": "The Ender Dragon beckons for you. Your flight stamina decreases rapidly when attempting to flee the dragon.", + "power.proviorigins.drakling/enderdragon_mandatory.name": "Draconic Pull", + "power.proviorigins.drakling/ridable.badge.1": "You cannot carry players in combat with you nor players who already have passengers.", + "power.proviorigins.drakling/ridable.badge.2": "[SNEAK] to force dismount.", + "power.proviorigins.drakling/ridable.description": "Your strength allows you to carry other players. Other players may press [USE] on you to mount you; you may pick up other players by pressing [USE] on them whilst sneaking.", + "power.proviorigins.drakling/ridable.name": "Mountable", + "power.proviorigins.drakling/short_flight.description": "You have natural Elytra wings, but your wings are imperfect, allowing flight only in short bursts.", + "power.proviorigins.drakling/short_flight.name": "Broken Wings", + "power.proviorigins.drakling/true_flight.description": "You have natural Elytra wings, now perfected you can fly freely and boost yourself in the air.", + "power.proviorigins.drakling/true_flight.name": "Perfected Wings", + "power.proviorigins.drakling/weak_natural_armour.description": "Your newfound strength allows you to wear stronger armor, but your bodily heat loosens the material and makes it weaker than normal.", + "power.proviorigins.drakling/weak_natural_armour.name": "Molten Metal", + "power.proviorigins.faemoth/crit_passive.badge.1": "Sleep is a new status effect that disables an entity's movement, strength, and vision.\nEntities with Sleep take double damage, but the effect is then immediately removed.", + "power.proviorigins.faemoth/crit_passive.badge.2": "Costs 1.5 bars of Faerie Dust per layer.", + "power.proviorigins.faemoth/crit_passive.description": "Critical strikes with a sword will lace an opponent with a layer faerie dust. A target that has three layers on them at once will be put to sleep for a few seconds.", + "power.proviorigins.faemoth/crit_passive.name": "Hypnotic Powder", + "power.proviorigins.faemoth/faerie_dust.badge.1": "Artificial fire-related light sources such as torches, campfires, and lanterns allow you to produce Faerie Dust.", + "power.proviorigins.faemoth/faerie_dust.badge.2": "Torches and lanterns held by yourself or other nearby players will also apply to this power.", + "power.proviorigins.faemoth/faerie_dust.badge.3": "For quality of life purposes, you may craft Lanterns into a unique version that cannot be placed but grants the same held effects.", + "power.proviorigins.faemoth/faerie_dust.description": "Your moth-like body produces a magical powder when near appropriate light sources. Being in direct sunlight or too far from light will erode the powder.", + "power.proviorigins.faemoth/faerie_dust.name": "Faerie Dust", + "power.proviorigins.faemoth/flutter.badge": "Costs 1 bar of Faerie Dust.", + "power.proviorigins.faemoth/flutter.description": "Use your wings to boost yourself into the air: you have mid-air jumps.", + "power.proviorigins.faemoth/flutter.name": "Flutter", + "power.proviorigins.faemoth/share_buffs.badge": "Costs 3.5 bars of Faerie Dust.", + "power.proviorigins.faemoth/share_buffs.description": "Share speed, strength, and regeneration effects that you currently have with all allies in an 8 block radius.", + "power.proviorigins.faemoth/share_buffs.name": "Blessings of the Fae", + "power.proviorigins.jellysculk/break_sculk_fast.description": "You can break sculk very quickly, even with your bare hands.", + "power.proviorigins.jellysculk/break_sculk_fast.name": "Dismantled", + "power.proviorigins.jellysculk/buffs_on_sculk.description": "You gain buffs whilst standing on sculk.", + "power.proviorigins.jellysculk/buffs_on_sculk.name": "Comforting Familia", + "power.proviorigins.jellysculk/catalyse.description": "Occasionally spread sculk veins when gaining experience.", + "power.proviorigins.jellysculk/catalyse.name": "Catalyzer", + "power.proviorigins.jellysculk/create_sensor.badge": "[USE] with an empty hand while sneaking to activate.", + "power.proviorigins.jellysculk/create_sensor.description": "You can spend experience to grow a sculk sensor on top of a sculk block.", + "power.proviorigins.jellysculk/create_sensor.name": "Spreading Your Senses", + "power.proviorigins.jellysculk/debuffs_off_sculk.description": "You are afflicted with darkness when not standing on sculk.", + "power.proviorigins.jellysculk/debuffs_off_sculk.name": "Away From Home", + "power.proviorigins.jellysculk/entity_detect.badge": "Team members and tamed animals are always visible.", + "power.proviorigins.jellysculk/entity_detect.description": "You can only see entities around you through their vibrations. Sculk Sensors and Shriekers can also extend their signals to you, revealing entities they detect.", + "power.proviorigins.jellysculk/entity_detect.name": "Vibratory Sight", + "power.proviorigins.jellysculk/spread_sculk.badge": "[USE] with an empty hand while sneaking to activate.", + "power.proviorigins.jellysculk/spread_sculk.description": "You can spend experience points to spread sculk to any sculk replaceable block.", + "power.proviorigins.jellysculk/spread_sculk.name": "Spreading Your Domain", + "power.proviorigins.splinter/arcane_glow.description": "You glow based on the amount of mana you currently have.", + "power.proviorigins.splinter/arcane_glow.name": "Mana Glow", + "power.proviorigins.splinter/distortion.badge": "Costs 2 bars of mana.", + "power.proviorigins.splinter/distortion.description": "Blind enemies within a 6 block radius, become untargetable, and create mirror images of yourself and your clones.", + "power.proviorigins.splinter/distortion.name": "Illusory Presence", + "power.proviorigins.splinter/dodge_projectiles.badge": "Costs 2 bars of mana.", + "power.proviorigins.splinter/dodge_projectiles.description": "Dodge projectiles when sneaking.", + "power.proviorigins.splinter/dodge_projectiles.name": "Evasive", + "power.proviorigins.splinter/fragment.badge.1": "Clones inherit your equipment and will fight for you.\nPress [USE] on a clone to 'sit' them like an animal.", + "power.proviorigins.splinter/fragment.badge.2": "Costs 1 concentration.", + "power.proviorigins.splinter/fragment.description": "Summon a clone of yourself at your current location. Summoning clones uses concentration instead of mana.", + "power.proviorigins.splinter/fragment.name": "Fragment", + "power.proviorigins.splinter/resource_recharge.description": "You have access to a mana resource with which to cast spells and concentration to summon clones.", + "power.proviorigins.splinter/resource_recharge.name": "Arcane Energy", + "power.proviorigins.splinter/swap.badge": "Costs 2 bars of mana.", + "power.proviorigins.splinter/swap.description": "Swap places with the clone you are looking at, or if sneaking swap places with the furthest clone within 32 blocks.", + "power.proviorigins.splinter/swap.name": "Misdirection", + "power.proviorigins.voidlily/floral_mimicry.description": "You may gain mimicry of any compatible plant held in your main hand, consuming the plant in the process. Mimicries grant buffs and last for a duration, until death, or until overridden by another mimicry.", + "power.proviorigins.voidlily/floral_mimicry.name": "Floral Mimicry", + "power.proviorigins.voidlily/flower_copy__manual_reset.description": "You have natural mimicry of lilies, inflicting poison upon struck entities whilst no other mimicry is active.\nAt any time you may forgo your current mimicry and return to this default state.", + "power.proviorigins.voidlily/flower_copy__manual_reset.name": "Born A Lily", + "power.proviorigins.voidlily/nether_air.description": "The fabric of the Nether disagrees with you, preventing you from breathing whilst there.", + "power.proviorigins.voidlily/nether_air.name": "Abyssal Collapse", + "power.proviorigins.voidlily/pollination.description": "Nearby bees pollinate you, granting saturation but blinding you in the process.", + "power.proviorigins.voidlily/pollination.name": "Pollination", + "power.proviorigins.voidlily/void_growth.description": "Gain strength, speed, air, and saturation when in The End or within 4 blocks of Bedrock, portals, or 4 blocks of Crying Obsidian.", + "power.proviorigins.voidlily/void_growth.name": "Grow Upon The Skybox", + "subtitles.proviorigins.decaykraken.bide": "Kraken bides", + "subtitles.proviorigins.decaykraken.ink": "Kraken squirts", + "subtitles.proviorigins.decaykraken.salt": "Kraken dissolves", + "subtitles.proviorigins.decaykraken.soul_steal": "Kraken grasps", + "subtitles.proviorigins.drakling.birth": "Drake emerges", + "subtitles.proviorigins.drakling.evolve": "Drakling evolves", + "subtitles.proviorigins.drakling.flap": "Drake flaps", + "subtitles.proviorigins.voidlily.mimic": "Lily mimics", + "subtitles.proviorigins.voidlily.mimic_end": "Lily loses mimic", + "subtitles.proviorigins.voidlily.teleport": "Lily teleports", + "tooltip.proviorigins.alraune.summons_aoe": "§8Summons a flower that deals damage in an area.", + "tooltip.proviorigins.alraune.summons_projectile": "§8Summons a flower that shoots arrows at foes.", + "tooltip.proviorigins.alraune.summons_pull": "§8Summons a flower that pulls in foes.", + "tooltip.proviorigins.alraune.summons_push": "§8Summons a flower that pushes foes away.", + "tooltip.proviorigins.alraune.super_fertiliser": "§8A super effective fertilizer.", + "tooltip.proviorigins.common.no_potions": "§8You are unaffected by potions.", + "tooltip.proviorigins.decaykraken.max_soul": "§8Perfect Soul", + "tooltip.proviorigins.decaykraken.medium_soul": "§8Medium Soul", + "tooltip.proviorigins.decaykraken.weak_soul": "§8Weak Soul", + "tooltip.proviorigins.drakling.dragon_head": "§8Wear the flesh of your ancestors and gain their strength.", + "tooltip.proviorigins.voidlily.grants_armour": "§8Consume to gain armor.", + "tooltip.proviorigins.voidlily.grants_blindness": "§8Consume to inflict blindness on struck entities.", + "tooltip.proviorigins.voidlily.grants_corruption": "§8Consume to enhance your latent poison with the void.", + "tooltip.proviorigins.voidlily.grants_fire_resistance": "§8Consume to gain fire resistance.", + "tooltip.proviorigins.voidlily.grants_glow": "§8Consume to gain a glow.", + "tooltip.proviorigins.voidlily.grants_jump_boost": "§8Consume to gain jump boost.", + "tooltip.proviorigins.voidlily.grants_night_vision": "§8Consume to gain night vision.", + "tooltip.proviorigins.voidlily.grants_regeneration": "§8Consume to gain regeneration.", + "tooltip.proviorigins.voidlily.grants_saturation": "§8Consume to gain saturation.", + "tooltip.proviorigins.voidlily.grants_speed": "§8Consume to gain speed.", + "tooltip.proviorigins.voidlily.grants_teleport": "§8Consume to perform line-of-sight teleportation.", + "tooltip.proviorigins.voidlily.grants_thorns": "§8Consume to gain thorns, damaging attackers.", + "tooltip.proviorigins.voidlily.grants_water_breathing": "§8Consume to gain oxygen.", + "tooltip.proviorigins.voidlily.grants_weakness": "§8Consume to inflict weakness on struck entities.", + "tooltip.proviorigins.voidlily.grants_wither": "§8Consume to inflict wither on struck entities." +} \ No newline at end of file diff --git a/src/main/generated/assets/proviorigins/models/block/lily_of_the_void.json b/src/main/generated/assets/proviorigins/models/block/lily_of_the_void.json new file mode 100644 index 0000000..b00beb9 --- /dev/null +++ b/src/main/generated/assets/proviorigins/models/block/lily_of_the_void.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "proviorigins:block/lily_of_the_void" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/proviorigins/models/block/potted_lily_of_the_void.json b/src/main/generated/assets/proviorigins/models/block/potted_lily_of_the_void.json new file mode 100644 index 0000000..1effa08 --- /dev/null +++ b/src/main/generated/assets/proviorigins/models/block/potted_lily_of_the_void.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/flower_pot_cross", + "textures": { + "plant": "proviorigins:block/lily_of_the_void" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/proviorigins/models/item/alraune_icon.json b/src/main/generated/assets/proviorigins/models/item/alraune_icon.json new file mode 100644 index 0000000..848e806 --- /dev/null +++ b/src/main/generated/assets/proviorigins/models/item/alraune_icon.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "proviorigins:icons/alraune" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/proviorigins/models/item/crystalliser_icon.json b/src/main/generated/assets/proviorigins/models/item/crystalliser_icon.json new file mode 100644 index 0000000..98fd42d --- /dev/null +++ b/src/main/generated/assets/proviorigins/models/item/crystalliser_icon.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "proviorigins:icons/crystalliser" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/proviorigins/models/item/drake_icon.json b/src/main/generated/assets/proviorigins/models/item/drake_icon.json new file mode 100644 index 0000000..9154f0c --- /dev/null +++ b/src/main/generated/assets/proviorigins/models/item/drake_icon.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "proviorigins:icons/drake" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/proviorigins/models/item/drakling_icon.json b/src/main/generated/assets/proviorigins/models/item/drakling_icon.json new file mode 100644 index 0000000..82d3dea --- /dev/null +++ b/src/main/generated/assets/proviorigins/models/item/drakling_icon.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "proviorigins:icons/drakling" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/proviorigins/models/item/fae_moth_icon.json b/src/main/generated/assets/proviorigins/models/item/fae_moth_icon.json new file mode 100644 index 0000000..c3ee22c --- /dev/null +++ b/src/main/generated/assets/proviorigins/models/item/fae_moth_icon.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "proviorigins:icons/fae_moth" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/proviorigins/models/item/homunculus_icon.json b/src/main/generated/assets/proviorigins/models/item/homunculus_icon.json new file mode 100644 index 0000000..74916a8 --- /dev/null +++ b/src/main/generated/assets/proviorigins/models/item/homunculus_icon.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "proviorigins:icons/homunculus" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/proviorigins/models/item/jelly_icon.json b/src/main/generated/assets/proviorigins/models/item/jelly_icon.json new file mode 100644 index 0000000..459d8d7 --- /dev/null +++ b/src/main/generated/assets/proviorigins/models/item/jelly_icon.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "proviorigins:icons/jelly" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/proviorigins/models/item/kraken_of_decay_icon.json b/src/main/generated/assets/proviorigins/models/item/kraken_of_decay_icon.json new file mode 100644 index 0000000..15dc888 --- /dev/null +++ b/src/main/generated/assets/proviorigins/models/item/kraken_of_decay_icon.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "proviorigins:icons/kraken_of_decay" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/proviorigins/models/item/lily_of_the_void.json b/src/main/generated/assets/proviorigins/models/item/lily_of_the_void.json new file mode 100644 index 0000000..65ccfa8 --- /dev/null +++ b/src/main/generated/assets/proviorigins/models/item/lily_of_the_void.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "proviorigins:block/lily_of_the_void" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/proviorigins/models/item/lily_of_the_void_icon.json b/src/main/generated/assets/proviorigins/models/item/lily_of_the_void_icon.json new file mode 100644 index 0000000..889fbb1 --- /dev/null +++ b/src/main/generated/assets/proviorigins/models/item/lily_of_the_void_icon.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "proviorigins:icons/lily_of_the_void" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/proviorigins/models/item/splinter_icon.json b/src/main/generated/assets/proviorigins/models/item/splinter_icon.json new file mode 100644 index 0000000..bd7b294 --- /dev/null +++ b/src/main/generated/assets/proviorigins/models/item/splinter_icon.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "proviorigins:icons/splinter" + } +} \ No newline at end of file diff --git a/src/main/generated/data/c/tags/items/hidden_from_recipe_viewers.json b/src/main/generated/data/c/tags/items/hidden_from_recipe_viewers.json new file mode 100644 index 0000000..0b52c7d --- /dev/null +++ b/src/main/generated/data/c/tags/items/hidden_from_recipe_viewers.json @@ -0,0 +1,14 @@ +{ + "replace": false, + "values": [ + "proviorigins:lily_of_the_void_icon", + "proviorigins:kraken_of_decay_icon", + "proviorigins:drakling_icon", + "proviorigins:drake_icon", + "proviorigins:splinter_icon", + "proviorigins:fae_moth_icon", + "proviorigins:alraune_icon", + "proviorigins:homunculus_icon", + "proviorigins:crystalliser_icon" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/tags/blocks/small_flowers.json b/src/main/generated/data/minecraft/tags/blocks/small_flowers.json new file mode 100644 index 0000000..19850c7 --- /dev/null +++ b/src/main/generated/data/minecraft/tags/blocks/small_flowers.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "proviorigins:lily_of_the_void" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/tags/items/piglin_repellents.json b/src/main/generated/data/minecraft/tags/items/piglin_repellents.json new file mode 100644 index 0000000..ed9b2ae --- /dev/null +++ b/src/main/generated/data/minecraft/tags/items/piglin_repellents.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "proviorigins:kraken_soul_lantern" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/tags/items/small_flowers.json b/src/main/generated/data/minecraft/tags/items/small_flowers.json new file mode 100644 index 0000000..19850c7 --- /dev/null +++ b/src/main/generated/data/minecraft/tags/items/small_flowers.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "proviorigins:lily_of_the_void" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/advancements/recipes/decorations/lantern.json b/src/main/generated/data/proviorigins/advancements/recipes/decorations/lantern.json index 874ae9d..fa0f20f 100644 --- a/src/main/generated/data/proviorigins/advancements/recipes/decorations/lantern.json +++ b/src/main/generated/data/proviorigins/advancements/recipes/decorations/lantern.json @@ -34,9 +34,9 @@ }, "requirements": [ [ + "has_the_recipe", "has_lantern", - "has_solid_lantern", - "has_the_recipe" + "has_solid_lantern" ] ], "rewards": { diff --git a/src/main/generated/data/proviorigins/advancements/recipes/decorations/soul_lantern.json b/src/main/generated/data/proviorigins/advancements/recipes/decorations/soul_lantern.json index 3f446c7..7b56947 100644 --- a/src/main/generated/data/proviorigins/advancements/recipes/decorations/soul_lantern.json +++ b/src/main/generated/data/proviorigins/advancements/recipes/decorations/soul_lantern.json @@ -34,9 +34,9 @@ }, "requirements": [ [ + "has_the_recipe", "has_soul_lantern", - "has_kraken_soul_lantern", - "has_the_recipe" + "has_kraken_soul_lantern" ] ], "rewards": { diff --git a/src/main/generated/data/proviorigins/advancements/recipes/misc/purple_dye.json b/src/main/generated/data/proviorigins/advancements/recipes/misc/purple_dye.json index a6adea8..0d3f89c 100644 --- a/src/main/generated/data/proviorigins/advancements/recipes/misc/purple_dye.json +++ b/src/main/generated/data/proviorigins/advancements/recipes/misc/purple_dye.json @@ -34,9 +34,9 @@ }, "requirements": [ [ + "has_the_recipe", "has_purple_dye", - "has_lily_of_the_void", - "has_the_recipe" + "has_lily_of_the_void" ] ], "rewards": { diff --git a/src/main/generated/data/proviorigins/loot_tables/blocks/lily_of_the_void.json b/src/main/generated/data/proviorigins/loot_tables/blocks/lily_of_the_void.json new file mode 100644 index 0000000..b3efc2a --- /dev/null +++ b/src/main/generated/data/proviorigins/loot_tables/blocks/lily_of_the_void.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "proviorigins:lily_of_the_void" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/loot_tables/blocks/potted_lily_of_the_void.json b/src/main/generated/data/proviorigins/loot_tables/blocks/potted_lily_of_the_void.json new file mode 100644 index 0000000..09bf1bc --- /dev/null +++ b/src/main/generated/data/proviorigins/loot_tables/blocks/potted_lily_of_the_void.json @@ -0,0 +1,35 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:flower_pot" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "proviorigins:lily_of_the_void" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/blocks/alraune/foliage.json b/src/main/generated/data/proviorigins/tags/blocks/alraune/foliage.json new file mode 100644 index 0000000..485912a --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/blocks/alraune/foliage.json @@ -0,0 +1,13 @@ +{ + "replace": false, + "values": [ + { + "id": "#minecraft:flowers", + "required": false + }, + { + "id": "#minecraft:saplings", + "required": false + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/blocks/decaykraken/soul_fires.json b/src/main/generated/data/proviorigins/tags/blocks/decaykraken/soul_fires.json new file mode 100644 index 0000000..7204ad4 --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/blocks/decaykraken/soul_fires.json @@ -0,0 +1,9 @@ +{ + "replace": false, + "values": [ + "minecraft:soul_torch", + "minecraft:soul_wall_torch", + "minecraft:soul_lantern", + "minecraft:soul_fire" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/blocks/decaykraken/soul_fires_fire_state.json b/src/main/generated/data/proviorigins/tags/blocks/decaykraken/soul_fires_fire_state.json new file mode 100644 index 0000000..f86efb0 --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/blocks/decaykraken/soul_fires_fire_state.json @@ -0,0 +1,17 @@ +{ + "replace": false, + "values": [ + { + "id": "betternether:cincinnasite_fire_bowl_soul", + "required": false + }, + { + "id": "betternether:bricks_fire_bowl_soul", + "required": false + }, + { + "id": "betternether:netherite_fire_bowl_soul", + "required": false + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/blocks/decaykraken/soul_fires_lit_state.json b/src/main/generated/data/proviorigins/tags/blocks/decaykraken/soul_fires_lit_state.json new file mode 100644 index 0000000..dd8e5e2 --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/blocks/decaykraken/soul_fires_lit_state.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:soul_campfire" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/blocks/faemoth/large_fires.json b/src/main/generated/data/proviorigins/tags/blocks/faemoth/large_fires.json new file mode 100644 index 0000000..0c39e6a --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/blocks/faemoth/large_fires.json @@ -0,0 +1,9 @@ +{ + "replace": false, + "values": [ + "minecraft:lantern", + "minecraft:soul_lantern", + "minecraft:fire", + "minecraft:soul_fire" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/blocks/faemoth/large_fires_fire_state.json b/src/main/generated/data/proviorigins/tags/blocks/faemoth/large_fires_fire_state.json new file mode 100644 index 0000000..12d75c3 --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/blocks/faemoth/large_fires_fire_state.json @@ -0,0 +1,21 @@ +{ + "replace": false, + "values": [ + { + "id": "#proviorigins:decaykraken/soul_fires_fire_state", + "required": false + }, + { + "id": "betternether:cincinnasite_fire_bowl", + "required": false + }, + { + "id": "betternether:bricks_fire_bowl", + "required": false + }, + { + "id": "betternether:netherite_fire_bowl", + "required": false + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/blocks/faemoth/large_fires_lit_state.json b/src/main/generated/data/proviorigins/tags/blocks/faemoth/large_fires_lit_state.json new file mode 100644 index 0000000..83642b0 --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/blocks/faemoth/large_fires_lit_state.json @@ -0,0 +1,10 @@ +{ + "replace": false, + "values": [ + { + "id": "#proviorigins:decaykraken/soul_fires_lit_state", + "required": false + }, + "minecraft:campfire" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/blocks/faemoth/torches.json b/src/main/generated/data/proviorigins/tags/blocks/faemoth/torches.json new file mode 100644 index 0000000..638a9b7 --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/blocks/faemoth/torches.json @@ -0,0 +1,17 @@ +{ + "replace": false, + "values": [ + "minecraft:torch", + "minecraft:wall_torch", + "minecraft:soul_torch", + "minecraft:soul_wall_torch", + { + "id": "#minecraft:candles", + "required": false + }, + { + "id": "betternether:willow_torch", + "required": false + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/blocks/jellysculk/sculk.json b/src/main/generated/data/proviorigins/tags/blocks/jellysculk/sculk.json new file mode 100644 index 0000000..101e991 --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/blocks/jellysculk/sculk.json @@ -0,0 +1,10 @@ +{ + "replace": false, + "values": [ + "minecraft:sculk", + "minecraft:sculk_sensor", + "minecraft:sculk_catalyst", + "minecraft:sculk_vein", + "minecraft:sculk_shrieker" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/blocks/lily_of_the_void_plantable.json b/src/main/generated/data/proviorigins/tags/blocks/lily_of_the_void_plantable.json new file mode 100644 index 0000000..c8dede6 --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/blocks/lily_of_the_void_plantable.json @@ -0,0 +1,25 @@ +{ + "replace": false, + "values": [ + { + "id": "#proviorigins:voidlily/void_touching", + "required": false + }, + { + "id": "#proviorigins:voidlily/weakly_void_touching", + "required": false + }, + { + "id": "betterend:shadow_grass", + "required": false + }, + { + "id": "betterend:chorus_nylium", + "required": false + }, + { + "id": "betterend:pink_moss", + "required": false + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/blocks/voidlily/void_touching.json b/src/main/generated/data/proviorigins/tags/blocks/voidlily/void_touching.json new file mode 100644 index 0000000..0d6b72e --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/blocks/voidlily/void_touching.json @@ -0,0 +1,11 @@ +{ + "replace": false, + "values": [ + "minecraft:bedrock", + "minecraft:respawn_anchor", + { + "id": "#minecraft:portals", + "required": false + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/blocks/voidlily/weakly_void_touching.json b/src/main/generated/data/proviorigins/tags/blocks/voidlily/weakly_void_touching.json new file mode 100644 index 0000000..d215a99 --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/blocks/voidlily/weakly_void_touching.json @@ -0,0 +1,18 @@ +{ + "replace": false, + "values": [ + "minecraft:crying_obsidian", + { + "id": "betternether:weeping_obsidian", + "required": false + }, + { + "id": "betternether:blue_crying_obsidian", + "required": false + }, + { + "id": "betternether:blue_weeping_obsidian", + "required": false + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/entity_types/common/can_trade.json b/src/main/generated/data/proviorigins/tags/entity_types/common/can_trade.json new file mode 100644 index 0000000..58a93c2 --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/entity_types/common/can_trade.json @@ -0,0 +1,7 @@ +{ + "replace": false, + "values": [ + "minecraft:villager", + "minecraft:wandering_trader" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/entity_types/crystalliser/extra_shards.json b/src/main/generated/data/proviorigins/tags/entity_types/crystalliser/extra_shards.json new file mode 100644 index 0000000..c50ad8f --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/entity_types/crystalliser/extra_shards.json @@ -0,0 +1,11 @@ +{ + "replace": false, + "values": [ + "minecraft:player", + "proviorigins:player_clone", + { + "id": "#c:bosses", + "required": false + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/entity_types/jellysculk/always_detect.json b/src/main/generated/data/proviorigins/tags/entity_types/jellysculk/always_detect.json new file mode 100644 index 0000000..69727ed --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/entity_types/jellysculk/always_detect.json @@ -0,0 +1,12 @@ +{ + "replace": false, + "values": [ + { + "id": "#c:bosses", + "required": false + }, + "minecraft:ghast", + "minecraft:phantom", + "minecraft:warden" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/entity_types/jellysculk/always_visible.json b/src/main/generated/data/proviorigins/tags/entity_types/jellysculk/always_visible.json new file mode 100644 index 0000000..164539b --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/entity_types/jellysculk/always_visible.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:armor_stand" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/entity_types/jellysculk/bypass_detection_check.json b/src/main/generated/data/proviorigins/tags/entity_types/jellysculk/bypass_detection_check.json new file mode 100644 index 0000000..a4c343a --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/entity_types/jellysculk/bypass_detection_check.json @@ -0,0 +1,13 @@ +{ + "replace": false, + "values": [ + { + "id": "#proviorigins:jellysculk/always_detect", + "required": false + }, + { + "id": "#proviorigins:jellysculk/always_detect", + "required": false + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/items/alraune/summon_aoe.json b/src/main/generated/data/proviorigins/tags/items/alraune/summon_aoe.json new file mode 100644 index 0000000..e7dbbf7 --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/items/alraune/summon_aoe.json @@ -0,0 +1,20 @@ +{ + "replace": false, + "values": [ + "minecraft:torchflower", + "minecraft:red_tulip", + "minecraft:orange_tulip", + "minecraft:white_tulip", + "minecraft:pink_tulip", + "minecraft:blue_orchid", + "minecraft:oxeye_daisy", + { + "id": "betterend:flammalix", + "required": false + }, + { + "id": "betterend:aeridium", + "required": false + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/items/alraune/summon_projectile.json b/src/main/generated/data/proviorigins/tags/items/alraune/summon_projectile.json new file mode 100644 index 0000000..4fa2847 --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/items/alraune/summon_projectile.json @@ -0,0 +1,10 @@ +{ + "replace": false, + "values": [ + "minecraft:wither_rose", + { + "id": "#proviorigins:voidlily/grants_corruption", + "required": false + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/items/alraune/summon_pull.json b/src/main/generated/data/proviorigins/tags/items/alraune/summon_pull.json new file mode 100644 index 0000000..31cc7a5 --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/items/alraune/summon_pull.json @@ -0,0 +1,18 @@ +{ + "replace": false, + "values": [ + "minecraft:pitcher_plant", + "minecraft:poppy", + "minecraft:azure_bluet", + "minecraft:sunflower", + "minecraft:peony", + { + "id": "betterend:tenanea_flowers", + "required": false + }, + { + "id": "betterend:twisted_umbrella_moss", + "required": false + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/items/alraune/summon_push.json b/src/main/generated/data/proviorigins/tags/items/alraune/summon_push.json new file mode 100644 index 0000000..500d660 --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/items/alraune/summon_push.json @@ -0,0 +1,18 @@ +{ + "replace": false, + "values": [ + "minecraft:rose_bush", + "minecraft:dandelion", + "minecraft:allium", + "minecraft:cornflower", + "minecraft:lilac", + { + "id": "betterend:blooming_cooksonia", + "required": false + }, + { + "id": "betterend:umbrella_moss", + "required": false + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/items/alraune/super_fertiliser.json b/src/main/generated/data/proviorigins/tags/items/alraune/super_fertiliser.json new file mode 100644 index 0000000..cc31845 --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/items/alraune/super_fertiliser.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:dragon_breath" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/items/common/hydration.json b/src/main/generated/data/proviorigins/tags/items/common/hydration.json new file mode 100644 index 0000000..463b173 --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/items/common/hydration.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:potion" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/items/decaykraken/max_consume.json b/src/main/generated/data/proviorigins/tags/items/decaykraken/max_consume.json new file mode 100644 index 0000000..7e1a33f --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/items/decaykraken/max_consume.json @@ -0,0 +1,8 @@ +{ + "replace": false, + "values": [ + "minecraft:totem_of_undying", + "minecraft:wither_skeleton_skull", + "minecraft:nether_star" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/items/decaykraken/medium_consume.json b/src/main/generated/data/proviorigins/tags/items/decaykraken/medium_consume.json new file mode 100644 index 0000000..088433d --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/items/decaykraken/medium_consume.json @@ -0,0 +1,7 @@ +{ + "replace": false, + "values": [ + "minecraft:soul_lantern", + "minecraft:sculk_catalyst" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/items/decaykraken/soul_carry.json b/src/main/generated/data/proviorigins/tags/items/decaykraken/soul_carry.json new file mode 100644 index 0000000..56f5775 --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/items/decaykraken/soul_carry.json @@ -0,0 +1,7 @@ +{ + "replace": false, + "values": [ + "minecraft:soul_lantern", + "proviorigins:kraken_soul_lantern" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/items/decaykraken/weak_consume.json b/src/main/generated/data/proviorigins/tags/items/decaykraken/weak_consume.json new file mode 100644 index 0000000..755dcf9 --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/items/decaykraken/weak_consume.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:soul_torch" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/items/faemoth/light_sources.json b/src/main/generated/data/proviorigins/tags/items/faemoth/light_sources.json new file mode 100644 index 0000000..4624cd3 --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/items/faemoth/light_sources.json @@ -0,0 +1,13 @@ +{ + "replace": false, + "values": [ + { + "id": "#proviorigins:decaykraken/soul_carry", + "required": false + }, + "minecraft:torch", + "minecraft:soul_torch", + "minecraft:lantern", + "proviorigins:solid_lantern" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/items/voidlily/grants_armour.json b/src/main/generated/data/proviorigins/tags/items/voidlily/grants_armour.json new file mode 100644 index 0000000..f5c8976 --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/items/voidlily/grants_armour.json @@ -0,0 +1,9 @@ +{ + "replace": false, + "values": [ + { + "id": "#minecraft:logs_that_burn", + "required": false + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/items/voidlily/grants_blindness.json b/src/main/generated/data/proviorigins/tags/items/voidlily/grants_blindness.json new file mode 100644 index 0000000..4a2ad93 --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/items/voidlily/grants_blindness.json @@ -0,0 +1,10 @@ +{ + "replace": false, + "values": [ + "minecraft:azure_bluet", + { + "id": "betterend:murkweed", + "required": false + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/items/voidlily/grants_corruption.json b/src/main/generated/data/proviorigins/tags/items/voidlily/grants_corruption.json new file mode 100644 index 0000000..99fd7d5 --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/items/voidlily/grants_corruption.json @@ -0,0 +1,15 @@ +{ + "replace": false, + "values": [ + "minecraft:lily_of_the_valley", + "proviorigins:lily_of_the_void", + { + "id": "betterend:end_lily_seed", + "required": false + }, + { + "id": "betterend:end_lotus_seed", + "required": false + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/items/voidlily/grants_fire_resistance.json b/src/main/generated/data/proviorigins/tags/items/voidlily/grants_fire_resistance.json new file mode 100644 index 0000000..846f5fc --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/items/voidlily/grants_fire_resistance.json @@ -0,0 +1,10 @@ +{ + "replace": false, + "values": [ + "minecraft:allium", + { + "id": "betternether:magma_flower", + "required": false + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/items/voidlily/grants_glow.json b/src/main/generated/data/proviorigins/tags/items/voidlily/grants_glow.json new file mode 100644 index 0000000..61e1f8c --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/items/voidlily/grants_glow.json @@ -0,0 +1,18 @@ +{ + "replace": false, + "values": [ + "minecraft:glow_berries", + { + "id": "betterend:glowing_pillar_leaves", + "required": false + }, + { + "id": "betterend:lumecorn_rod", + "required": false + }, + { + "id": "betterend:blue_vine_fur", + "required": false + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/items/voidlily/grants_jump_boost.json b/src/main/generated/data/proviorigins/tags/items/voidlily/grants_jump_boost.json new file mode 100644 index 0000000..a663acf --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/items/voidlily/grants_jump_boost.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:cornflower" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/items/voidlily/grants_night_vision.json b/src/main/generated/data/proviorigins/tags/items/voidlily/grants_night_vision.json new file mode 100644 index 0000000..efe5efc --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/items/voidlily/grants_night_vision.json @@ -0,0 +1,7 @@ +{ + "replace": false, + "values": [ + "minecraft:poppy", + "minecraft:torchflower" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/items/voidlily/grants_regeneration.json b/src/main/generated/data/proviorigins/tags/items/voidlily/grants_regeneration.json new file mode 100644 index 0000000..563ca0c --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/items/voidlily/grants_regeneration.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:oxeye_daisy" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/items/voidlily/grants_saturation.json b/src/main/generated/data/proviorigins/tags/items/voidlily/grants_saturation.json new file mode 100644 index 0000000..81b2a8f --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/items/voidlily/grants_saturation.json @@ -0,0 +1,7 @@ +{ + "replace": false, + "values": [ + "minecraft:blue_orchid", + "minecraft:dandelion" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/items/voidlily/grants_speed.json b/src/main/generated/data/proviorigins/tags/items/voidlily/grants_speed.json new file mode 100644 index 0000000..7f33c28 --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/items/voidlily/grants_speed.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:sugar_cane" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/items/voidlily/grants_teleport.json b/src/main/generated/data/proviorigins/tags/items/voidlily/grants_teleport.json new file mode 100644 index 0000000..b0a1e9b --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/items/voidlily/grants_teleport.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:chorus_fruit" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/items/voidlily/grants_thorns.json b/src/main/generated/data/proviorigins/tags/items/voidlily/grants_thorns.json new file mode 100644 index 0000000..579d338 --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/items/voidlily/grants_thorns.json @@ -0,0 +1,24 @@ +{ + "replace": false, + "values": [ + "minecraft:cactus", + "minecraft:rose_bush", + "minecraft:sweet_berries", + { + "id": "betternether:nether_cactus", + "required": false + }, + { + "id": "betternether:barrel_cactus", + "required": false + }, + { + "id": "betterend:needlegrass", + "required": false + }, + { + "id": "betterend:neon_cactus", + "required": false + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/items/voidlily/grants_water_breathing.json b/src/main/generated/data/proviorigins/tags/items/voidlily/grants_water_breathing.json new file mode 100644 index 0000000..022b822 --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/items/voidlily/grants_water_breathing.json @@ -0,0 +1,30 @@ +{ + "replace": false, + "values": [ + "minecraft:kelp", + { + "id": "betterend:charnia_red", + "required": false + }, + { + "id": "betterend:charnia_orange", + "required": false + }, + { + "id": "betterend:charnia_purple", + "required": false + }, + { + "id": "betterend:charnia_light_blue", + "required": false + }, + { + "id": "betterend:charnia_cyan", + "required": false + }, + { + "id": "betterend:charnia_green", + "required": false + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/items/voidlily/grants_weakness.json b/src/main/generated/data/proviorigins/tags/items/voidlily/grants_weakness.json new file mode 100644 index 0000000..61f398d --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/items/voidlily/grants_weakness.json @@ -0,0 +1,9 @@ +{ + "replace": false, + "values": [ + "minecraft:red_tulip", + "minecraft:orange_tulip", + "minecraft:white_tulip", + "minecraft:pink_tulip" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/items/voidlily/grants_wither.json b/src/main/generated/data/proviorigins/tags/items/voidlily/grants_wither.json new file mode 100644 index 0000000..b8c47ff --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/items/voidlily/grants_wither.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:wither_rose" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/worldgen/biome/alraune/always_grow.json b/src/main/generated/data/proviorigins/tags/worldgen/biome/alraune/always_grow.json new file mode 100644 index 0000000..b2b6f01 --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/worldgen/biome/alraune/always_grow.json @@ -0,0 +1,10 @@ +{ + "replace": false, + "values": [ + "minecraft:lush_caves", + { + "id": "terralith:cave/underground_jungle", + "required": false + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/worldgen/biome/alraune/natural.json b/src/main/generated/data/proviorigins/tags/worldgen/biome/alraune/natural.json new file mode 100644 index 0000000..54b8845 --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/worldgen/biome/alraune/natural.json @@ -0,0 +1,25 @@ +{ + "replace": false, + "values": [ + { + "id": "#c:forest", + "required": false + }, + { + "id": "#c:jungle", + "required": false + }, + { + "id": "#c:floral", + "required": false + }, + { + "id": "#c:vegetation_dense", + "required": false + }, + { + "id": "#proviorigins:alraune/always_grow", + "required": false + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/worldgen/biome/common/hot_underground.json b/src/main/generated/data/proviorigins/tags/worldgen/biome/common/hot_underground.json new file mode 100644 index 0000000..1d4655c --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/worldgen/biome/common/hot_underground.json @@ -0,0 +1,13 @@ +{ + "replace": false, + "values": [ + { + "id": "#c:in_nether", + "required": false + }, + { + "id": "terralith:cave/thermal_caves", + "required": false + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/worldgen/biome/decaykraken/has_saltwater.json b/src/main/generated/data/proviorigins/tags/worldgen/biome/decaykraken/has_saltwater.json new file mode 100644 index 0000000..dd13606 --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/worldgen/biome/decaykraken/has_saltwater.json @@ -0,0 +1,30 @@ +{ + "replace": false, + "values": [ + { + "id": "#proviorigins:decaykraken/irrelevant_salinity", + "required": false + }, + "minecraft:stony_shore", + { + "id": "#c:beach", + "required": false + }, + { + "id": "#c:ocean", + "required": false + }, + { + "id": "terralith:alpha_islands", + "required": false + }, + { + "id": "terralith:alpha_islands_winter", + "required": false + }, + { + "id": "terralith:mirage_isles", + "required": false + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/worldgen/biome/decaykraken/irrelevant_salinity.json b/src/main/generated/data/proviorigins/tags/worldgen/biome/decaykraken/irrelevant_salinity.json new file mode 100644 index 0000000..d2df481 --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/worldgen/biome/decaykraken/irrelevant_salinity.json @@ -0,0 +1,19 @@ +{ + "replace": false, + "values": [ + { + "id": "#c:in_nether", + "required": false + }, + { + "id": "#c:in_the_end", + "required": false + }, + "minecraft:the_void", + "minecraft:mushroom_fields", + { + "id": "#terralith:skylands", + "required": false + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/proviorigins/tags/worldgen/biome/decaykraken/soul_collector.json b/src/main/generated/data/proviorigins/tags/worldgen/biome/decaykraken/soul_collector.json new file mode 100644 index 0000000..ba78408 --- /dev/null +++ b/src/main/generated/data/proviorigins/tags/worldgen/biome/decaykraken/soul_collector.json @@ -0,0 +1,30 @@ +{ + "replace": false, + "values": [ + "minecraft:soul_sand_valley", + { + "id": "byg:warped_desert", + "required": false + }, + { + "id": "betternether:wart_forest", + "required": false + }, + { + "id": "betternether:wart_forest_edge", + "required": false + }, + { + "id": "betternether:soul_plain", + "required": false + }, + { + "id": "betternether:nether_grasslands", + "required": false + }, + { + "id": "betternether:poor_nether_grasslands", + "required": false + } + ] +} \ No newline at end of file diff --git a/src/main/java/com/provismet/datagen/proviorigins/BiomeTagGenerator.java b/src/main/java/com/provismet/datagen/proviorigins/BiomeTagGenerator.java new file mode 100644 index 0000000..43d7158 --- /dev/null +++ b/src/main/java/com/provismet/datagen/proviorigins/BiomeTagGenerator.java @@ -0,0 +1,62 @@ +package com.provismet.datagen.proviorigins; + +import com.provismet.proviorigins.utility.tags.POBiomeTags; +import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; +import net.fabricmc.fabric.api.tag.convention.v1.ConventionalBiomeTags; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.registry.RegistryWrapper; +import net.minecraft.util.Identifier; +import net.minecraft.world.biome.Biome; +import net.minecraft.world.biome.BiomeKeys; + +import java.util.concurrent.CompletableFuture; + +public class BiomeTagGenerator extends FabricTagProvider { + public BiomeTagGenerator (FabricDataOutput output, CompletableFuture registriesFuture) { + super(output, RegistryKeys.BIOME, registriesFuture); + } + + @Override + protected void configure (RegistryWrapper.WrapperLookup arg) { + getOrCreateTagBuilder(POBiomeTags.HOT_UNDERGROUND) + .addOptionalTag(ConventionalBiomeTags.IN_NETHER) + .addOptional(Identifier.of("terralith", "cave/thermal_caves")); + + getOrCreateTagBuilder(POBiomeTags.HAS_SALTWATER) + .addOptionalTag(POBiomeTags.IRRELEVANT_SALINITY) + .add(BiomeKeys.STONY_SHORE) + .addOptionalTag(ConventionalBiomeTags.BEACH) + .addOptionalTag(ConventionalBiomeTags.OCEAN) + .addOptional(Identifier.of("terralith", "alpha_islands")) + .addOptional(Identifier.of("terralith", "alpha_islands_winter")) + .addOptional(Identifier.of("terralith", "mirage_isles")); + + getOrCreateTagBuilder(POBiomeTags.IRRELEVANT_SALINITY) + .addOptionalTag(ConventionalBiomeTags.IN_NETHER) + .addOptionalTag(ConventionalBiomeTags.IN_THE_END) + .add(BiomeKeys.THE_VOID) + .add(BiomeKeys.MUSHROOM_FIELDS) + .addOptionalTag(Identifier.of("terralith", "skylands")); + + getOrCreateTagBuilder(POBiomeTags.SOUL_COLLECTOR) + .add(BiomeKeys.SOUL_SAND_VALLEY) + .addOptional(Identifier.of("byg", "warped_desert")) + .addOptional(Identifier.of("betternether", "wart_forest")) + .addOptional(Identifier.of("betternether", "wart_forest_edge")) + .addOptional(Identifier.of("betternether", "soul_plain")) + .addOptional(Identifier.of("betternether", "nether_grasslands")) + .addOptional(Identifier.of("betternether", "poor_nether_grasslands")); + + getOrCreateTagBuilder(POBiomeTags.ALWAYS_GROW) + .add(BiomeKeys.LUSH_CAVES) + .addOptional(Identifier.of("terralith", "cave/underground_jungle")); + + getOrCreateTagBuilder(POBiomeTags.NATURAL) + .addOptionalTag(ConventionalBiomeTags.FOREST) + .addOptionalTag(ConventionalBiomeTags.JUNGLE) + .addOptionalTag(ConventionalBiomeTags.FLORAL) + .addOptionalTag(ConventionalBiomeTags.VEGETATION_DENSE) + .addOptionalTag(POBiomeTags.ALWAYS_GROW); + } +} diff --git a/src/main/java/com/provismet/datagen/proviorigins/BlockTagGenerator.java b/src/main/java/com/provismet/datagen/proviorigins/BlockTagGenerator.java new file mode 100644 index 0000000..608b7b3 --- /dev/null +++ b/src/main/java/com/provismet/datagen/proviorigins/BlockTagGenerator.java @@ -0,0 +1,92 @@ +package com.provismet.datagen.proviorigins; + +import com.provismet.proviorigins.content.registries.POBlocks; +import com.provismet.proviorigins.utility.tags.POBlockTags; +import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; +import net.fabricmc.fabric.api.tag.convention.v1.ConventionalBlockTags; +import net.minecraft.block.Blocks; +import net.minecraft.registry.RegistryWrapper; +import net.minecraft.registry.tag.BlockTags; +import net.minecraft.util.Identifier; + +import java.util.concurrent.CompletableFuture; + +public class BlockTagGenerator extends FabricTagProvider.BlockTagProvider { + public BlockTagGenerator (FabricDataOutput output, CompletableFuture registriesFuture) { + super(output, registriesFuture); + } + + @Override + protected void configure (RegistryWrapper.WrapperLookup arg) { + getOrCreateTagBuilder(BlockTags.SMALL_FLOWERS) + .add(POBlocks.LILY_OF_THE_VOID); + + getOrCreateTagBuilder(POBlockTags.VOID_PLANTABLE) + .addOptionalTag(POBlockTags.VOID_TOUCHING) + .addOptionalTag(POBlockTags.WEAKLY_VOID_TOUCHING) + .addOptional(Identifier.of("betterend", "shadow_grass")) + .addOptional(Identifier.of("betterend", "chorus_nylium")) + .addOptional(Identifier.of("betterend", "pink_moss")); + + getOrCreateTagBuilder(POBlockTags.VOID_TOUCHING) + .add(Blocks.BEDROCK) + .add(Blocks.RESPAWN_ANCHOR) + .addOptionalTag(BlockTags.PORTALS); + + getOrCreateTagBuilder(POBlockTags.WEAKLY_VOID_TOUCHING) + .add(Blocks.CRYING_OBSIDIAN) + .addOptional(Identifier.of("betternether", "weeping_obsidian")) + .addOptional(Identifier.of("betternether", "blue_crying_obsidian")) + .addOptional(Identifier.of("betternether", "blue_weeping_obsidian")); + + getOrCreateTagBuilder(POBlockTags.SOUL_FIRES) + .add(Blocks.SOUL_TORCH) + .add(Blocks.SOUL_WALL_TORCH) + .add(Blocks.SOUL_LANTERN) + .add(Blocks.SOUL_FIRE); + + getOrCreateTagBuilder(POBlockTags.SOUL_FIRES_WITH_FIRE_BLOCKSTATE) + .addOptional(Identifier.of("betternether", "cincinnasite_fire_bowl_soul")) + .addOptional(Identifier.of("betternether", "bricks_fire_bowl_soul")) + .addOptional(Identifier.of("betternether", "netherite_fire_bowl_soul")); + + getOrCreateTagBuilder(POBlockTags.SOUL_FIRES_WITH_LIT_BLOCKSTATE) + .add(Blocks.SOUL_CAMPFIRE); + + getOrCreateTagBuilder(POBlockTags.SCULK) + .add(Blocks.SCULK) + .add(Blocks.SCULK_SENSOR) + .add(Blocks.SCULK_CATALYST) + .add(Blocks.SCULK_VEIN) + .add(Blocks.SCULK_SHRIEKER); + + getOrCreateTagBuilder(POBlockTags.LARGE_FIRES) + .add(Blocks.LANTERN) + .add(Blocks.SOUL_LANTERN) + .add(Blocks.FIRE) + .add(Blocks.SOUL_FIRE); + + getOrCreateTagBuilder(POBlockTags.LARGE_FIRES_WITH_FIRE_BLOCKSTATE) + .addOptionalTag(POBlockTags.SOUL_FIRES_WITH_FIRE_BLOCKSTATE) + .addOptional(Identifier.of("betternether", "cincinnasite_fire_bowl")) + .addOptional(Identifier.of("betternether", "bricks_fire_bowl")) + .addOptional(Identifier.of("betternether", "netherite_fire_bowl")); + + getOrCreateTagBuilder(POBlockTags.LARGE_FIRES_WITH_LIT_BLOCKSTATE) + .addOptionalTag(POBlockTags.SOUL_FIRES_WITH_LIT_BLOCKSTATE) + .add(Blocks.CAMPFIRE); + + getOrCreateTagBuilder(POBlockTags.TORCHES) + .add(Blocks.TORCH) + .add(Blocks.WALL_TORCH) + .add(Blocks.SOUL_TORCH) + .add(Blocks.SOUL_WALL_TORCH) + .addOptionalTag(BlockTags.CANDLES) + .addOptional(Identifier.of("betternether", "willow_torch")); + + getOrCreateTagBuilder(POBlockTags.FOLIAGE) + .addOptionalTag(BlockTags.FLOWERS) + .addOptionalTag(BlockTags.SAPLINGS); // Missing Apoli + } +} diff --git a/src/main/java/com/provismet/datagen/proviorigins/EntityTypeTagGenerator.java b/src/main/java/com/provismet/datagen/proviorigins/EntityTypeTagGenerator.java new file mode 100644 index 0000000..41b8292 --- /dev/null +++ b/src/main/java/com/provismet/datagen/proviorigins/EntityTypeTagGenerator.java @@ -0,0 +1,42 @@ +package com.provismet.datagen.proviorigins; + +import com.provismet.proviorigins.content.registries.POEntities; +import com.provismet.proviorigins.utility.tags.POEntityTypeTags; +import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; +import net.fabricmc.fabric.api.tag.convention.v1.ConventionalEntityTypeTags; +import net.minecraft.entity.EntityType; +import net.minecraft.registry.RegistryWrapper; + +import java.util.concurrent.CompletableFuture; + +public class EntityTypeTagGenerator extends FabricTagProvider.EntityTypeTagProvider { + public EntityTypeTagGenerator (FabricDataOutput output, CompletableFuture completableFuture) { + super(output, completableFuture); + } + + @Override + protected void configure (RegistryWrapper.WrapperLookup arg) { + getOrCreateTagBuilder(POEntityTypeTags.CAN_TRADE) + .add(EntityType.VILLAGER) + .add(EntityType.WANDERING_TRADER); + + getOrCreateTagBuilder(POEntityTypeTags.ALWAYS_DETECT) + .addOptionalTag(ConventionalEntityTypeTags.BOSSES) + .add(EntityType.GHAST) + .add(EntityType.PHANTOM) + .add(EntityType.WARDEN); + + getOrCreateTagBuilder(POEntityTypeTags.ALWAYS_VISIBLE) + .add(EntityType.ARMOR_STAND); + + getOrCreateTagBuilder(POEntityTypeTags.BYPASSES_DETECTION_CHECK) + .addOptionalTag(POEntityTypeTags.ALWAYS_DETECT) + .addOptionalTag(POEntityTypeTags.ALWAYS_DETECT); + + getOrCreateTagBuilder(POEntityTypeTags.GRANTS_EXTRA_SHARDS) + .add(EntityType.PLAYER) + .add(POEntities.CLONE) + .addOptionalTag(ConventionalEntityTypeTags.BOSSES); + } +} diff --git a/src/main/java/com/provismet/datagen/proviorigins/ItemTagGenerator.java b/src/main/java/com/provismet/datagen/proviorigins/ItemTagGenerator.java new file mode 100644 index 0000000..c4e5a76 --- /dev/null +++ b/src/main/java/com/provismet/datagen/proviorigins/ItemTagGenerator.java @@ -0,0 +1,175 @@ +package com.provismet.datagen.proviorigins; + +import com.provismet.proviorigins.content.registries.POItems; +import com.provismet.proviorigins.utility.OriginList; +import com.provismet.proviorigins.utility.tags.POItemTags; +import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; +import net.minecraft.item.Item; +import net.minecraft.item.Items; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.registry.RegistryWrapper; +import net.minecraft.registry.tag.ItemTags; +import net.minecraft.registry.tag.TagKey; +import net.minecraft.util.Identifier; + +import java.util.concurrent.CompletableFuture; + +public class ItemTagGenerator extends FabricTagProvider.ItemTagProvider { + public ItemTagGenerator (FabricDataOutput output, CompletableFuture completableFuture) { + super(output, completableFuture); + } + + @Override + protected void configure (RegistryWrapper.WrapperLookup arg) { + final TagKey hidden = TagKey.of(RegistryKeys.ITEM, Identifier.of("c", "hidden_from_recipe_viewers")); + getOrCreateTagBuilder(hidden) + .add(OriginList.LILY_OF_THE_VOID.getIconKey()) + .add(OriginList.KRAKEN_OF_DECAY.getIconKey()) + .add(OriginList.DRAKLING.getIconKey()) + .add(OriginList.DRAKE.getIconKey()) + .add(OriginList.SPLINTER.getIconKey()) + .add(OriginList.FAERIE_MOTH.getIconKey()) + .add(OriginList.ALRAUNE.getIconKey()) + .add(OriginList.HOMUNCULUS.getIconKey()) + .add(OriginList.CRYSTALLISER.getIconKey()); + + getOrCreateTagBuilder(ItemTags.SMALL_FLOWERS) + .add(POItems.LILY_OF_THE_VOID); + + getOrCreateTagBuilder(ItemTags.PIGLIN_REPELLENTS) + .add(POItems.SOUL_LAMP); + + getOrCreateTagBuilder(POItemTags.HYDRATE_ON_USE) + .add(Items.POTION); + + getOrCreateTagBuilder(POItemTags.GRANTS_ARMOUR) + .addOptionalTag(ItemTags.LOGS_THAT_BURN); + + getOrCreateTagBuilder(POItemTags.GRANTS_BLINDNESS) + .add(Items.AZURE_BLUET) + .addOptional(Identifier.of("betterend", "murkweed")); + + getOrCreateTagBuilder(POItemTags.GRANTS_CORRUPTION) + .add(Items.LILY_OF_THE_VALLEY) + .add(POItems.LILY_OF_THE_VOID) + .addOptional(Identifier.of("betterend", "end_lily_seed")) + .addOptional(Identifier.of("betterend", "end_lotus_seed")); + + getOrCreateTagBuilder(POItemTags.GRANTS_FIRE_RESISTANCE) + .add(Items.ALLIUM) + .addOptional(Identifier.of("betternether", "magma_flower")); + + getOrCreateTagBuilder(POItemTags.GRANTS_GLOW) + .add(Items.GLOW_BERRIES) + .addOptional(Identifier.of("betterend", "glowing_pillar_leaves")) + .addOptional(Identifier.of("betterend", "lumecorn_rod")) + .addOptional(Identifier.of("betterend", "blue_vine_fur")); + + getOrCreateTagBuilder(POItemTags.GRANTS_JUMP_BOOST) + .add(Items.CORNFLOWER); + + getOrCreateTagBuilder(POItemTags.GRANTS_NIGHT_VISION) + .add(Items.POPPY) + .add(Items.TORCHFLOWER); + + getOrCreateTagBuilder(POItemTags.GRANTS_REGENERATION) + .add(Items.OXEYE_DAISY); + + getOrCreateTagBuilder(POItemTags.GRANTS_SATURATION) + .add(Items.BLUE_ORCHID) + .add(Items.DANDELION); + + getOrCreateTagBuilder(POItemTags.GRANTS_SPEED) + .add(Items.SUGAR_CANE); + + getOrCreateTagBuilder(POItemTags.GRANTS_TELEPORT) + .add(Items.CHORUS_FRUIT); + + getOrCreateTagBuilder(POItemTags.GRANTS_THORNS) + .add(Items.CACTUS) + .add(Items.ROSE_BUSH) + .add(Items.SWEET_BERRIES) + .addOptional(Identifier.of("betternether", "nether_cactus")) + .addOptional(Identifier.of("betternether", "barrel_cactus")) + .addOptional(Identifier.of("betterend", "needlegrass")) + .addOptional(Identifier.of("betterend", "neon_cactus")); + + getOrCreateTagBuilder(POItemTags.GRANTS_WATER_BREATHING) + .add(Items.KELP) + .addOptional(Identifier.of("betterend", "charnia_red")) + .addOptional(Identifier.of("betterend", "charnia_orange")) + .addOptional(Identifier.of("betterend", "charnia_purple")) + .addOptional(Identifier.of("betterend", "charnia_light_blue")) + .addOptional(Identifier.of("betterend", "charnia_cyan")) + .addOptional(Identifier.of("betterend", "charnia_green")); + + getOrCreateTagBuilder(POItemTags.GRANTS_WEAKNESS) + .add(Items.RED_TULIP) + .add(Items.ORANGE_TULIP) + .add(Items.WHITE_TULIP) + .add(Items.PINK_TULIP); + + getOrCreateTagBuilder(POItemTags.GRANTS_WITHER) + .add(Items.WITHER_ROSE); + + getOrCreateTagBuilder(POItemTags.SOUL_CARRY) + .add(Items.SOUL_LANTERN) + .add(POItems.SOUL_LAMP); + + getOrCreateTagBuilder(POItemTags.MAX_SOUL_CONSUME) + .add(Items.TOTEM_OF_UNDYING) + .add(Items.WITHER_SKELETON_SKULL) + .add(Items.NETHER_STAR); + + getOrCreateTagBuilder(POItemTags.MEDIUM_SOUL_CONSUME) + .add(Items.SOUL_LANTERN) + .add(Items.SCULK_CATALYST); + + getOrCreateTagBuilder(POItemTags.WEAK_SOUL_CONSUME) + .add(Items.SOUL_TORCH); + + getOrCreateTagBuilder(POItemTags.LIGHT_SOURCES) + .addOptionalTag(POItemTags.SOUL_CARRY) + .add(Items.TORCH) + .add(Items.SOUL_TORCH) + .add(Items.LANTERN) + .add(POItems.SOLID_LANTERN); + + getOrCreateTagBuilder(POItemTags.SUMMON_AOE) + .add(Items.TORCHFLOWER) + .add(Items.RED_TULIP) + .add(Items.ORANGE_TULIP) + .add(Items.WHITE_TULIP) + .add(Items.PINK_TULIP) + .add(Items.BLUE_ORCHID) + .add(Items.OXEYE_DAISY) + .addOptional(Identifier.of("betterend", "flammalix")) + .addOptional(Identifier.of("betterend", "aeridium")); + + getOrCreateTagBuilder(POItemTags.SUMMON_PROJECTILE) + .add(Items.WITHER_ROSE) + .addOptionalTag(POItemTags.GRANTS_CORRUPTION); + + getOrCreateTagBuilder(POItemTags.SUMMON_PULL) + .add(Items.PITCHER_PLANT) + .add(Items.POPPY) + .add(Items.AZURE_BLUET) + .add(Items.SUNFLOWER) + .add(Items.PEONY) + .addOptional(Identifier.of("betterend", "tenanea_flowers")) + .addOptional(Identifier.of("betterend", "twisted_umbrella_moss")); + + getOrCreateTagBuilder(POItemTags.SUMMON_PUSH) + .add(Items.ROSE_BUSH) + .add(Items.DANDELION) + .add(Items.ALLIUM) + .add(Items.CORNFLOWER) + .add(Items.LILAC) + .addOptional(Identifier.of("betterend", "blooming_cooksonia")) + .addOptional(Identifier.of("betterend", "umbrella_moss")); + + getOrCreateTagBuilder(POItemTags.FERTILISER) + .add(Items.DRAGON_BREATH); + } +} diff --git a/src/main/java/com/provismet/datagen/proviorigins/LanguageGenerator.java b/src/main/java/com/provismet/datagen/proviorigins/LanguageGenerator.java new file mode 100644 index 0000000..896fcee --- /dev/null +++ b/src/main/java/com/provismet/datagen/proviorigins/LanguageGenerator.java @@ -0,0 +1,233 @@ +package com.provismet.datagen.proviorigins; + +import com.provismet.proviorigins.content.registries.POBlocks; +import com.provismet.proviorigins.content.registries.POItems; +import com.provismet.proviorigins.content.registries.POStatusEffects; +import com.provismet.proviorigins.utility.OriginList; +import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricLanguageProvider; +import org.jetbrains.annotations.Nullable; + +public class LanguageGenerator extends FabricLanguageProvider { + protected LanguageGenerator (FabricDataOutput dataOutput) { + super(dataOutput); + } + + @Override + public void generateTranslations (TranslationBuilder translationBuilder) { + translationBuilder.add("category.proviorigins.keys", "Provi's Origins Extra Keys"); + translationBuilder.add("key.proviorigins.tertiary_active", "Active Skill (Tertiary)"); + translationBuilder.add("key.proviorigins.quaternary_active", "Active Skill (Quaternary)"); + + translationBuilder.add(POBlocks.LILY_OF_THE_VOID, "Lily of the Void"); + translationBuilder.add(POBlocks.POTTED_LILY_OF_THE_VOID, "Potted Lily of the Void"); + + translationBuilder.add(POItems.SOLID_LANTERN, "Lantern"); + translationBuilder.add(POItems.SOUL_LAMP, "Soul Lantern"); + + translationBuilder.add(POStatusEffects.VOID_CORRUPTION, "Void Corruption"); + translationBuilder.add(POStatusEffects.UNTARGETABLE, "Illusive"); + translationBuilder.add(POStatusEffects.SLEEP, "Sleeping"); + translationBuilder.add(POStatusEffects.ALERT, "Alert"); + + addOrigin(translationBuilder, OriginList.LILY_OF_THE_VOID.fullName, "Lily of the Void", "Grown from a lily rooted upon the skybox, you are connected both to nature and to oblivion."); + addOrigin(translationBuilder, OriginList.KRAKEN_OF_DECAY.fullName, "Kraken of Decay", "A vagrant kraken strays from death, still grasping onto its remnant power."); + addOrigin(translationBuilder, OriginList.DRAKLING.fullName, "Drakling", "An emergent dragon, immature and yet brimming with potential."); + addOrigin(translationBuilder, OriginList.DRAKE.fullName, "Drake", "The head of your predecessor has enhanced your growth, you alone soar as the ruler of these skies."); + addOrigin(translationBuilder, OriginList.JELLY_SCULK.fullName, "Jelly Sculk", "A sculk sensor acted as a polyp, allowing a jellyfish of sculk to be born. Sensing its surroundings, it now dances through the air."); + addOrigin(translationBuilder, OriginList.SPLINTER.fullName, "Splinter", "A fragile warrior, but a master of deception and fragmentation. The Splinter uses summoned clones of themself and trickery to survive."); + addOrigin(translationBuilder, OriginList.FAERIE_MOTH.fullName, "Faerie Moth", "The fae live with nature, adapting to it. This creature chose the likeness of a moth."); + addOrigin(translationBuilder, OriginList.ALRAUNE.fullName, "Alraune", "Blooming from the energy of the forest, you are a facet of nature itself: one whom grows and is protected by nature."); + addOrigin(translationBuilder, OriginList.HOMUNCULUS.fullName, "Homunculus", "An artificial human, created by witchcraft and seen as a outlier by all of society."); + addOrigin(translationBuilder, OriginList.CRYSTALLISER.fullName, "Crystallizer", "An amalgam of shards left behind from exploded End Crystals. After gaining sapience, you've retained a similar level of strength."); + + translationBuilder.add("power.proviorigins.common/kill_dragon.badge", "This power is upgraded upon gaining the Free The End advancement."); + + addPower(translationBuilder, OriginList.COMMON, "brittle", "Brittle Body", "You have only 5 hearts."); + addPower(translationBuilder, OriginList.COMMON, "amphibious", "Amphibious", "You can breathe in both air and water."); + addPower(translationBuilder, OriginList.COMMON, "pescatarian", "Pescatarian", "You can only eat fish."); + addPower(translationBuilder, OriginList.COMMON, "taller", "Large Body", "You are taller than most with a height of 3 blocks."); + addPower(translationBuilder, OriginList.COMMON, "slow_swim", "Poor Swimmer", "You swim very slowly."); + addPower(translationBuilder, OriginList.COMMON, "double_jump", "Floaty Body", "You can double jump."); + addPower(translationBuilder, OriginList.COMMON, "no_game_events", "Silent Steps", "None of your actions emit vibrations."); + addPower(translationBuilder, OriginList.COMMON, "slow_fall", "Slow Descent", "Sneaking in the air slows your descent."); + addPower(translationBuilder, OriginList.COMMON, "exhaust_more", "Hyper Metabolism", "Your hunger depletes 50% faster than others."); + addPower(translationBuilder, OriginList.COMMON, "double_fire_damage", "Highly Flammable", "You take double damage from fire and lava."); + addPower(translationBuilder, OriginList.COMMON, "no_food", "Pure Calcium", "You cannot eat food except for milk."); + addPower(translationBuilder, OriginList.COMMON, "no_potions", "Irregular Chemistry", "You cannot drink potions."); + addPower(translationBuilder, OriginList.COMMON, "no_splash_potions", "Incompatible Alchemy", "You are unaffected by potion clouds, including splash and lingering potions."); + addPower(translationBuilder, OriginList.COMMON, "no_crits", "Imprecise", "You cannot perform critical hits with your attacks."); + addPower(translationBuilder, OriginList.COMMON, "smaller", "Small Body", "You are smaller than most and have a height of 1.15 blocks."); + addPower(translationBuilder, OriginList.COMMON, "poor_strength", "Weak Melee", "Your melee hits deal 33% less damage."); + addPower(translationBuilder, OriginList.COMMON, "hearty", "Hearty", "You have 2 additional hearts."); + addPower(translationBuilder, OriginList.COMMON, "medium_taller", "Grown Body", "You are slightly taller than others with a height of 2.5 blocks."); + addPower(translationBuilder, OriginList.COMMON, "dried_up", "Dried Up", "Lose hydration when under the sun in hot biomes and always when in underground hot biomes.\nDrinking or standing in water restores hydration. You will catch fire after 30 seconds of losing hydration."); + addPower(translationBuilder, OriginList.COMMON, "no_trades", "Merchant Ban", "Villagers refuse to acknowledge you. You cannot trade with them."); + addPower(translationBuilder, OriginList.COMMON, "angry_golems", "Oppressive Iron", "Iron golems view you as hostile and will attack you on-sight."); + addPower(translationBuilder, OriginList.COMMON, "more_experience", "Enhanced Intellect", "You gain x1.5 experience."); + addPower(translationBuilder, OriginList.COMMON, "no_bows", "Low Dexterity", "You are unable to use bows and crossbows."); + + addPower(translationBuilder, OriginList.LILY_OF_THE_VOID, "floral_mimicry", "Floral Mimicry", "You may gain mimicry of any compatible plant held in your main hand, consuming the plant in the process. Mimicries grant buffs and last for a duration, until death, or until overridden by another mimicry."); + addPower(translationBuilder, OriginList.LILY_OF_THE_VOID, "flower_copy__manual_reset", "Born A Lily", "You have natural mimicry of lilies, inflicting poison upon struck entities whilst no other mimicry is active.\nAt any time you may forgo your current mimicry and return to this default state."); + addPower(translationBuilder, OriginList.LILY_OF_THE_VOID, "nether_air", "Abyssal Collapse", "The fabric of the Nether disagrees with you, preventing you from breathing whilst there."); + addPower(translationBuilder, OriginList.LILY_OF_THE_VOID, "pollination", "Pollination", "Nearby bees pollinate you, granting saturation but blinding you in the process."); + addPower(translationBuilder, OriginList.LILY_OF_THE_VOID, "void_growth", "Grow Upon The Skybox", "Gain strength, speed, air, and saturation when in The End or within 4 blocks of Bedrock, portals, or 4 blocks of Crying Obsidian."); + + addPower(translationBuilder, OriginList.KRAKEN_OF_DECAY, "evolved", "Embodiment of Decay", "Slaying the Wither threefold has enhanced your connection to death, granting you access to new skills and an immunity to freshwater."); + addPower(translationBuilder, OriginList.KRAKEN_OF_DECAY, "deaths_vice", "Death's Vice", "Gain access to a resource called Death's Vice that drains slowly over time."); + addPower(translationBuilder, OriginList.KRAKEN_OF_DECAY, "deaths_vice_empty", "Death Vision", "Suffer from darkness when Death's Vice reaches zero."); + addPower(translationBuilder, OriginList.KRAKEN_OF_DECAY, "deaths_vice_gain_on_kill", "Nothing Wasted", "Gain 0.5 bars of Death's Vice when killing an entity."); + addPower(translationBuilder, OriginList.KRAKEN_OF_DECAY, "deaths_vice_low_value_penalty", "Over-Reliance", "Suffer weakness and slowness when Death's Vice is below 25%."); + addPower(translationBuilder, OriginList.KRAKEN_OF_DECAY, "deaths_vice_recharge_rate", "Longing Embrace", "Regain Death's Vice when within 5 blocks of any form of soul fire or when holding a soul lantern in your hand. This bonus is increased in the Nether and further increased in soulful biomes.", "For quality of life purposes, you may craft Soul Lanterns into a unique version that cannot be placed but grants the same held effects."); + addPower(translationBuilder, OriginList.KRAKEN_OF_DECAY, "propulsion", "Ink Propulsion", "Expel a cloud of ink to boost yourself in the direction you're facing. This ability is much stronger in water.", "Costs 1 bar of Death's Vice."); + addPower(translationBuilder, OriginList.KRAKEN_OF_DECAY, "soul_steal", "Soul Siphon", "Charge a short-ranged beam of soul energy, if it hits an entity inflict damage and heal yourself.", "Costs 1.5 bars of Death's Vice."); + addPower(translationBuilder, OriginList.KRAKEN_OF_DECAY, "soulsand_spreading", "Soul Capture", "Killing an undead mob whilst standing on coarse dirt will convert it into soul sand."); + addPower(translationBuilder, OriginList.KRAKEN_OF_DECAY, "water_glow", "Bioluminescence", "Gain a glow when submerged in water."); + addPower(translationBuilder, OriginList.KRAKEN_OF_DECAY, "water_sensitive", "Sodium Satiation", "Sources of freshwater are harmful to you and will drain Death's Vice over time before damaging your health.", "Freshwater is any Overworld body of water outside of an ocean or beach biome.", "Water Protection enchantments will delay this effect."); + addPower(translationBuilder, OriginList.KRAKEN_OF_DECAY, "wither_hit", "Touch of Decay", "When Death's Vice is above 6 bars, striking a target consumes half a bar to inflict Wither for 6 seconds.", "Costs 0.5 bars of Death's Vice."); + addPower(translationBuilder, OriginList.KRAKEN_OF_DECAY, "slow_on_land", "Suction Grip", "You move slightly slower on land."); + addPower(translationBuilder, OriginList.KRAKEN_OF_DECAY, "tentacle_grapple", "Tentacle Grapple", "Extend a tentacle to grab an entity up to 12 blocks away, pulling them towards you and inflicting slow.", "Costs 1.5 bars of Death's Vice."); + addPower(translationBuilder, OriginList.KRAKEN_OF_DECAY, "soul_consume", "Soul Collector", "Consume an item that holds a soul. Death's Vice restores based on the strength of the soul held in the item.", "Weak souls grant 0.25 bars of Death's Vice.\nMedium souls grant 1 bar of Death's Vice.\nPerfect souls will refill your Death's Vice completely."); + + addPower(translationBuilder, OriginList.DRAKLING, "chain_crafting", "Forge Master", "You can craft chainmail armor."); + addPower(translationBuilder, OriginList.DRAKLING, "dragon_evolution", "Becoming Complete", "Wear a dragon head to begin your evolution."); + addPower(translationBuilder, OriginList.DRAKLING, "enderdragon_mandatory", "Draconic Pull", "The Ender Dragon beckons for you. Your flight stamina decreases rapidly when attempting to flee the dragon."); + addPower(translationBuilder, OriginList.DRAKLING, "short_flight", "Broken Wings", "You have natural Elytra wings, but your wings are imperfect, allowing flight only in short bursts."); + addPower(translationBuilder, OriginList.DRAKLING, "true_flight", "Perfected Wings", "You have natural Elytra wings, now perfected you can fly freely and boost yourself in the air."); + addPower(translationBuilder, OriginList.DRAKLING, "weak_natural_armour", "Molten Metal", "Your newfound strength allows you to wear stronger armor, but your bodily heat loosens the material and makes it weaker than normal."); + addPower(translationBuilder, OriginList.DRAKLING, "ridable", "Mountable", "Your strength allows you to carry other players. Other players may press [USE] on you to mount you; you may pick up other players by pressing [USE] on them whilst sneaking.", "You cannot carry players in combat with you nor players who already have passengers.", "[SNEAK] to force dismount."); + + addPower(translationBuilder, OriginList.JELLY_SCULK, "break_sculk_fast", "Dismantled", "You can break sculk very quickly, even with your bare hands."); + addPower(translationBuilder, OriginList.JELLY_SCULK, "buffs_on_sculk", "Comforting Familia", "You gain buffs whilst standing on sculk."); + addPower(translationBuilder, OriginList.JELLY_SCULK, "create_sensor", "Spreading Your Senses", "You can spend experience to grow a sculk sensor on top of a sculk block.", "[USE] with an empty hand while sneaking to activate."); + addPower(translationBuilder, OriginList.JELLY_SCULK, "debuffs_off_sculk", "Away From Home", "You are afflicted with darkness when not standing on sculk."); + addPower(translationBuilder, OriginList.JELLY_SCULK, "entity_detect", "Vibratory Sight", "You can only see entities around you through their vibrations. Sculk Sensors and Shriekers can also extend their signals to you, revealing entities they detect.", "Team members and tamed animals are always visible."); + addPower(translationBuilder, OriginList.JELLY_SCULK, "spread_sculk", "Spreading Your Domain", "You can spend experience points to spread sculk to any sculk replaceable block.", "[USE] with an empty hand while sneaking to activate."); + addPower(translationBuilder, OriginList.JELLY_SCULK, "catalyse", "Catalyzer", "Occasionally spread sculk veins when gaining experience."); + + addPower(translationBuilder, OriginList.SPLINTER, "arcane_glow", "Mana Glow", "You glow based on the amount of mana you currently have."); + addPower(translationBuilder, OriginList.SPLINTER, "fragment", "Fragment", "Summon a clone of yourself at your current location. Summoning clones uses concentration instead of mana.", "Clones inherit your equipment and will fight for you.\nPress [USE] on a clone to 'sit' them like an animal.", "Costs 1 concentration."); + addPower(translationBuilder, OriginList.SPLINTER, "resource_recharge", "Arcane Energy", "You have access to a mana resource with which to cast spells and concentration to summon clones."); + addPower(translationBuilder, OriginList.SPLINTER, "distortion", "Illusory Presence", "Blind enemies within a 6 block radius, become untargetable, and create mirror images of yourself and your clones.", "Costs 2 bars of mana."); + addPower(translationBuilder, OriginList.SPLINTER, "swap", "Misdirection", "Swap places with the clone you are looking at, or if sneaking swap places with the furthest clone within 32 blocks.", "Costs 2 bars of mana."); + addPower(translationBuilder, OriginList.SPLINTER, "dodge_projectiles", "Evasive", "Dodge projectiles when sneaking.", "Costs 2 bars of mana."); + + addPower(translationBuilder, OriginList.FAERIE_MOTH, "faerie_dust", "Faerie Dust", "Your moth-like body produces a magical powder when near appropriate light sources. Being in direct sunlight or too far from light will erode the powder.", "Artificial fire-related light sources such as torches, campfires, and lanterns allow you to produce Faerie Dust.", "Torches and lanterns held by yourself or other nearby players will also apply to this power.", "For quality of life purposes, you may craft Lanterns into a unique version that cannot be placed but grants the same held effects."); + addPower(translationBuilder, OriginList.FAERIE_MOTH, "flutter", "Flutter", "Use your wings to boost yourself into the air: you have mid-air jumps.", "Costs 1 bar of Faerie Dust."); + addPower(translationBuilder, OriginList.FAERIE_MOTH, "crit_passive", "Hypnotic Powder", "Critical strikes with a sword will lace an opponent with a layer faerie dust. A target that has three layers on them at once will be put to sleep for a few seconds.", "Sleep is a new status effect that disables an entity's movement, strength, and vision.\nEntities with Sleep take double damage, but the effect is then immediately removed.", "Costs 1.5 bars of Faerie Dust per layer."); + addPower(translationBuilder, OriginList.FAERIE_MOTH, "share_buffs", "Blessings of the Fae", "Share speed, strength, and regeneration effects that you currently have with all allies in an 8 block radius.", "Costs 3.5 bars of Faerie Dust."); + + addPower(translationBuilder, OriginList.ALRAUNE, "photosynthesis", "Photosynthesis", "Slowly gain regain food and saturation when exposed to sunlight."); + addPower(translationBuilder, OriginList.ALRAUNE, "through_grass", "Unrestricted Herb", "Nature moves out of your way, you can strike through foliage when not sneaking."); + addPower(translationBuilder, OriginList.ALRAUNE, "life_sap", "Sap of Life", "Your connection to nature allows you to harness its power. Using this power allows you to transform flowers into placed turrets that aid you in battle."); + addPower(translationBuilder, OriginList.ALRAUNE, "summon_plant", "Floral Summoning", "Using your connection to nature allows you to empower flowers into stationary Flower Sprites that damage and hinder nearby enemies.", "Costs 1 Sap of Life.", "Flower Sprites\n- Will take damage if not placed on plantable blocks such as dirt or grass.\n- Will die after 1200 ticks unless fed with a super fertilizer such as dragon breath.", "Flower Sprites have different requirements for different biomes.\n- Most biomes require the Sprite to be exposed to sunlight.\n- For biomes with denser foliage, such as forests, only exposure to the sky is required.\n- Some biomes, such as Lush Caves, will allow Flower Sprites to grow regardless.\n- Use bone meal on a Flower Sprite to bypass this limitation."); + + addPower(translationBuilder, OriginList.CRYSTALLISER, "summon_follower", "Deadly Refraction", "Deplete your crystal shards to summon a full crystal above your head. The crystal follows you and attacks your enemies from up to 32 blocks away.", "Costs every bar of Crystal Shards."); + addPower(translationBuilder, OriginList.CRYSTALLISER, "crystal_charging", "Shard Collector", "Gain crystal shards when dealing critical hits, taking attacks, and killing enemies."); + addPower(translationBuilder, OriginList.CRYSTALLISER, "shard_absorb", "Shard Absorption", "Consume some of your crystal shards and regain 2 hearts of health.", "Costs 1 bar of Crystal Shards."); + addPower(translationBuilder, OriginList.CRYSTALLISER, "explosion_resist", "Explosive Nature", "You take 75% less explosion damage."); + + addDeathMessage(translationBuilder, "freshwater", "%1$s ran out of salt", "%1$s lost too much salt whilst fighting %2$s", "%1$s lost too much salt trying to deal with %2$s's %3$s"); + addDeathMessage(translationBuilder, "kraken_soul_steal", "%1$s had their soul stolen by %2$s", null, "%1$s had their soul stolen by %2$s using %3$s"); + addDeathMessage(translationBuilder, "void_corrupted", "%1$s was corrupted by the void", "%1$s succumbed to the void whilst fighting %2$s", "%1$s succumbed to the void whilst fighting %2$s using %3$s"); + addDeathMessage(translationBuilder, "bad_dimension", "%1$s was rejected by the world", "%1$s returned to the void with help from %2$s", "%1$s returned to the void with help from %2$s using %3$s"); + addDeathMessage(translationBuilder, "compost", "%1$s was composted", "%1$s was composted by %2$s", "%1$s was composted by %2$s using %3$s"); + addDeathMessage(translationBuilder, "crystal_beam", "%1$s was shattered by %2$s", null, "%1$s was shattered by %2$s using %3$s"); + + addSubtitle(translationBuilder, OriginList.LILY_OF_THE_VOID.dataName, "mimic", "Lily mimics"); + addSubtitle(translationBuilder, OriginList.LILY_OF_THE_VOID.dataName, "mimic_end", "Lily loses mimic"); + addSubtitle(translationBuilder, OriginList.LILY_OF_THE_VOID.dataName, "teleport", "Lily teleports"); + + addSubtitle(translationBuilder, OriginList.KRAKEN_OF_DECAY.dataName, "bide", "Kraken bides"); + addSubtitle(translationBuilder, OriginList.KRAKEN_OF_DECAY.dataName, "soul_steal", "Kraken grasps"); + addSubtitle(translationBuilder, OriginList.KRAKEN_OF_DECAY.dataName, "ink", "Kraken squirts"); + addSubtitle(translationBuilder, OriginList.KRAKEN_OF_DECAY.dataName, "salt", "Kraken dissolves"); + + addSubtitle(translationBuilder, OriginList.DRAKLING.dataName, "evolve", "Drakling evolves"); + addSubtitle(translationBuilder, OriginList.DRAKLING.dataName, "birth", "Drake emerges"); + addSubtitle(translationBuilder, OriginList.DRAKLING.dataName, "flap", "Drake flaps"); + + addTooltip(translationBuilder, OriginList.COMMON.dataName, "no_potions", "§8You are unaffected by potions."); + + addTooltip(translationBuilder, OriginList.LILY_OF_THE_VOID.dataName, "grants_armour", "§8Consume to gain armor."); + addTooltip(translationBuilder, OriginList.LILY_OF_THE_VOID.dataName, "grants_blindness", "§8Consume to inflict blindness on struck entities."); + addTooltip(translationBuilder, OriginList.LILY_OF_THE_VOID.dataName, "grants_corruption", "§8Consume to enhance your latent poison with the void."); + addTooltip(translationBuilder, OriginList.LILY_OF_THE_VOID.dataName, "grants_fire_resistance", "§8Consume to gain fire resistance."); + addTooltip(translationBuilder, OriginList.LILY_OF_THE_VOID.dataName, "grants_glow", "§8Consume to gain a glow."); + addTooltip(translationBuilder, OriginList.LILY_OF_THE_VOID.dataName, "grants_jump_boost", "§8Consume to gain jump boost."); + addTooltip(translationBuilder, OriginList.LILY_OF_THE_VOID.dataName, "grants_night_vision", "§8Consume to gain night vision."); + addTooltip(translationBuilder, OriginList.LILY_OF_THE_VOID.dataName, "grants_regeneration", "§8Consume to gain regeneration."); + addTooltip(translationBuilder, OriginList.LILY_OF_THE_VOID.dataName, "grants_saturation", "§8Consume to gain saturation."); + addTooltip(translationBuilder, OriginList.LILY_OF_THE_VOID.dataName, "grants_speed", "§8Consume to gain speed."); + addTooltip(translationBuilder, OriginList.LILY_OF_THE_VOID.dataName, "grants_teleport", "§8Consume to perform line-of-sight teleportation."); + addTooltip(translationBuilder, OriginList.LILY_OF_THE_VOID.dataName, "grants_thorns", "§8Consume to gain thorns, damaging attackers."); + addTooltip(translationBuilder, OriginList.LILY_OF_THE_VOID.dataName, "grants_weakness", "§8Consume to inflict weakness on struck entities."); + addTooltip(translationBuilder, OriginList.LILY_OF_THE_VOID.dataName, "grants_wither", "§8Consume to inflict wither on struck entities."); + addTooltip(translationBuilder, OriginList.LILY_OF_THE_VOID.dataName, "grants_water_breathing", "§8Consume to gain oxygen."); + + addTooltip(translationBuilder, OriginList.KRAKEN_OF_DECAY.dataName, "weak_soul", "§8Weak Soul"); + addTooltip(translationBuilder, OriginList.KRAKEN_OF_DECAY.dataName, "medium_soul", "§8Medium Soul"); + addTooltip(translationBuilder, OriginList.KRAKEN_OF_DECAY.dataName, "max_soul", "§8Perfect Soul"); + + addTooltip(translationBuilder, OriginList.DRAKLING.dataName, "dragon_head", "§8Wear the flesh of your ancestors and gain their strength."); + + addTooltip(translationBuilder, OriginList.ALRAUNE.dataName, "summons_aoe", "§8Summons a flower that deals damage in an area."); + addTooltip(translationBuilder, OriginList.ALRAUNE.dataName, "summons_pull", "§8Summons a flower that pulls in foes."); + addTooltip(translationBuilder, OriginList.ALRAUNE.dataName, "summons_push", "§8Summons a flower that pushes foes away."); + addTooltip(translationBuilder, OriginList.ALRAUNE.dataName, "summons_projectile", "§8Summons a flower that shoots arrows at foes."); + addTooltip(translationBuilder, OriginList.ALRAUNE.dataName, "super_fertiliser", "§8A super effective fertilizer."); + } + + public static void addOrigin (TranslationBuilder translationBuilder, String origin, String name, String description) { + StringBuilder builder = new StringBuilder(); + builder.append("origin.proviorigins.").append(origin); + translationBuilder.add(builder + ".name", name); + translationBuilder.add(builder + ".description", description); + translationBuilder.add("item.proviorigins." + origin, name + " Origin Icon"); + } + + public static void addPower (TranslationBuilder translationBuilder, String origin, String power, String name, String description) { + addPower(translationBuilder, origin, power, name, description, new String[0]); + } + + public static void addPower (TranslationBuilder translationBuilder, OriginList.OriginEntry origin, String power, String name, String description) { + addPower(translationBuilder, origin.dataName, power, name, description); + } + + public static void addPower (TranslationBuilder translationBuilder, OriginList.OriginEntry origin, String power, String name, String description, String... badges) { + addPower(translationBuilder, origin.dataName, power, name, description, badges); + } + + public static void addPower (TranslationBuilder translationBuilder, String origin, String power, String name, String description, String... badges) { + StringBuilder builder = new StringBuilder(); + builder.append("power.proviorigins.").append(origin).append("/").append(power); + translationBuilder.add(builder + ".name", name); + translationBuilder.add(builder + ".description", description); + + if (badges.length == 1) { + translationBuilder.add(builder + ".badge", badges[0]); + } + else { + for (int i = 1; i <= badges.length; ++i) { + translationBuilder.add(builder + ".badge." + i, badges[i - 1]); + } + } + } + + public static void addDeathMessage (TranslationBuilder translationBuilder, String msgId, String normal, @Nullable String player, @Nullable String item) { + translationBuilder.add("death.attack." + msgId, normal); + if (player != null) + translationBuilder.add("death.attack." + msgId + ".player", player); + if (item != null) { + translationBuilder.add("death.attack." + msgId + ".item", item); + } + } + + public static void addSubtitle (TranslationBuilder translationBuilder, String origin, String title, String message) { + translationBuilder.add("subtitles.proviorigins." + origin + "." + title, message); + } + + public static void addTooltip (TranslationBuilder translationBuilder, String origin, String key, String message) { + translationBuilder.add("tooltip.proviorigins." + origin + "." + key, message); + } +} diff --git a/src/main/java/com/provismet/datagen/proviorigins/LanguageGeneratorUK.java b/src/main/java/com/provismet/datagen/proviorigins/LanguageGeneratorUK.java new file mode 100644 index 0000000..435109c --- /dev/null +++ b/src/main/java/com/provismet/datagen/proviorigins/LanguageGeneratorUK.java @@ -0,0 +1,23 @@ +package com.provismet.datagen.proviorigins; + +import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricLanguageProvider; + +public class LanguageGeneratorUK extends FabricLanguageProvider { + protected LanguageGeneratorUK (FabricDataOutput dataOutput) { + super(dataOutput, "en_gb"); + } + + @Override + public void generateTranslations (TranslationBuilder translationBuilder) { + translationBuilder.add("item.proviorigins.crystalliser_icon", "Crystalliser Origin Icon"); + + LanguageGenerator.addTooltip(translationBuilder, "alraune", "super_fertiliser", "§8A super effective fertiliser."); + + translationBuilder.add("power.proviorigins.drakling.chain_crafting.description", "You can craft chainmail armour."); + translationBuilder.add("power.proviorigins.drakling.weak_armour.description", "Your newfound strength allows you to wear stronger armour, but your bodily heat loosens the material and makes it weaker than normal."); + translationBuilder.add("power.proviorigins.jellysculk.catalyse.name", "Catalyser"); + translationBuilder.add("power.proviorigins.alraune.summon_plant.badge.2", "Flower Sprites\n- Will take damage if not placed on plantable blocks such as dirt or grass.\n- Will die after 1200 ticks unless fed with a super fertiliser such as dragon breath."); + translationBuilder.add("power.proviorigins.crystalliser.name", "Crystalliser"); + } +} diff --git a/src/main/java/com/provismet/datagen/proviorigins/LootTableGenerator.java b/src/main/java/com/provismet/datagen/proviorigins/LootTableGenerator.java new file mode 100644 index 0000000..0e61e44 --- /dev/null +++ b/src/main/java/com/provismet/datagen/proviorigins/LootTableGenerator.java @@ -0,0 +1,17 @@ +package com.provismet.datagen.proviorigins; + +import com.provismet.proviorigins.content.registries.POBlocks; +import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricBlockLootTableProvider; + +public class LootTableGenerator extends FabricBlockLootTableProvider { + protected LootTableGenerator (FabricDataOutput dataOutput) { + super(dataOutput); + } + + @Override + public void generate () { + addDrop(POBlocks.LILY_OF_THE_VOID); + addPottedPlantDrops(POBlocks.POTTED_LILY_OF_THE_VOID); + } +} diff --git a/src/main/java/com/provismet/datagen/proviorigins/ModelGenerator.java b/src/main/java/com/provismet/datagen/proviorigins/ModelGenerator.java new file mode 100644 index 0000000..e0f8385 --- /dev/null +++ b/src/main/java/com/provismet/datagen/proviorigins/ModelGenerator.java @@ -0,0 +1,35 @@ +package com.provismet.datagen.proviorigins; + +import com.provismet.proviorigins.ProviOriginsMain; +import com.provismet.proviorigins.content.registries.POBlocks; +import com.provismet.proviorigins.utility.OriginList; +import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricModelProvider; +import net.minecraft.data.client.BlockStateModelGenerator; +import net.minecraft.data.client.ItemModelGenerator; +import net.minecraft.data.client.Models; +import net.minecraft.data.client.TextureMap; + +public class ModelGenerator extends FabricModelProvider { + public ModelGenerator (FabricDataOutput output) { + super(output); + } + + @Override + public void generateBlockStateModels (BlockStateModelGenerator blockStateModelGenerator) { + blockStateModelGenerator.registerFlowerPotPlant(POBlocks.LILY_OF_THE_VOID, POBlocks.POTTED_LILY_OF_THE_VOID, BlockStateModelGenerator.TintType.NOT_TINTED); + } + + @Override + public void generateItemModels (ItemModelGenerator itemModelGenerator) { + OriginList.ALL.forEach(entry -> registerIcon(itemModelGenerator, entry)); + } + + private static void registerIcon (ItemModelGenerator generator, OriginList.OriginEntry entry) { + Models.GENERATED.upload( + entry.getIconKey().getValue().withPrefixedPath("item/"), + TextureMap.layer0(ProviOriginsMain.identifier("icons/" + entry.fullName)), + generator.writer + ); + } +} diff --git a/src/main/java/com/provismet/datagen/proviorigins/ProviOriginsDataGenerator.java b/src/main/java/com/provismet/datagen/proviorigins/ProviOriginsDataGenerator.java index 7bf98f8..5f1feea 100644 --- a/src/main/java/com/provismet/datagen/proviorigins/ProviOriginsDataGenerator.java +++ b/src/main/java/com/provismet/datagen/proviorigins/ProviOriginsDataGenerator.java @@ -1,6 +1,5 @@ package com.provismet.datagen.proviorigins; -import com.provismet.proviorigins.content.world.WorldGenerator; import com.provismet.proviorigins.content.world.features.FeaturesConfigured; import com.provismet.proviorigins.content.world.features.FeaturesPlaced; @@ -15,11 +14,19 @@ public void onInitializeDataGenerator (FabricDataGenerator fabricDataGenerator) FabricDataGenerator.Pack pack = fabricDataGenerator.createPack(); pack.addProvider(WorldGenerator::new); pack.addProvider(RecipeGenerator::new); + pack.addProvider(LanguageGenerator::new); + pack.addProvider(LanguageGeneratorUK::new); + pack.addProvider(ItemTagGenerator::new); + pack.addProvider(EntityTypeTagGenerator::new); + pack.addProvider(BlockTagGenerator::new); + pack.addProvider(BiomeTagGenerator::new); + pack.addProvider(LootTableGenerator::new); + pack.addProvider(ModelGenerator::new); } @Override - public void buildRegistry(RegistryBuilder registryBuilder) { - registryBuilder.addRegistry(RegistryKeys.CONFIGURED_FEATURE, FeaturesConfigured::buildFeatures); // VSCode says this line is an error in the editor, but the datagen gradle task does execute with no issue. + public void buildRegistry (RegistryBuilder registryBuilder) { + registryBuilder.addRegistry(RegistryKeys.CONFIGURED_FEATURE, FeaturesConfigured::buildFeatures); registryBuilder.addRegistry(RegistryKeys.PLACED_FEATURE, FeaturesPlaced::buildPlacedFeatures); } } diff --git a/src/main/java/com/provismet/datagen/proviorigins/RecipeGenerator.java b/src/main/java/com/provismet/datagen/proviorigins/RecipeGenerator.java index 76ad111..90bfc86 100644 --- a/src/main/java/com/provismet/datagen/proviorigins/RecipeGenerator.java +++ b/src/main/java/com/provismet/datagen/proviorigins/RecipeGenerator.java @@ -1,5 +1,6 @@ package com.provismet.datagen.proviorigins; +import com.provismet.proviorigins.content.registries.POItems; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; import net.minecraft.data.server.recipe.RecipeExporter; @@ -15,9 +16,9 @@ public RecipeGenerator(FabricDataOutput output) { @Override public void generate (RecipeExporter exporter) { - createSimpleShapeless(exporter, com.provismet.proviorigins.content.registries.Items.LILY_OF_THE_VOID, Items.PURPLE_DYE, 1, RecipeCategory.MISC); - createSimpleShapeless(exporter, com.provismet.proviorigins.content.registries.Items.SOLID_LANTERN, Items.LANTERN, 1, RecipeCategory.DECORATIONS); - createSimpleShapeless(exporter, com.provismet.proviorigins.content.registries.Items.SOUL_LAMP, Items.SOUL_LANTERN, 1, RecipeCategory.DECORATIONS); + createSimpleShapeless(exporter, POItems.LILY_OF_THE_VOID, Items.PURPLE_DYE, 1, RecipeCategory.MISC); + createSimpleShapeless(exporter, POItems.SOLID_LANTERN, Items.LANTERN, 1, RecipeCategory.DECORATIONS); + createSimpleShapeless(exporter, POItems.SOUL_LAMP, Items.SOUL_LANTERN, 1, RecipeCategory.DECORATIONS); } private static void createSimpleShapeless (RecipeExporter exporter, Item inputItem, Item outputItem, int count, RecipeCategory category) { diff --git a/src/main/java/com/provismet/proviorigins/content/world/WorldGenerator.java b/src/main/java/com/provismet/datagen/proviorigins/WorldGenerator.java similarity index 94% rename from src/main/java/com/provismet/proviorigins/content/world/WorldGenerator.java rename to src/main/java/com/provismet/datagen/proviorigins/WorldGenerator.java index dc912b4..76df5b3 100644 --- a/src/main/java/com/provismet/proviorigins/content/world/WorldGenerator.java +++ b/src/main/java/com/provismet/datagen/proviorigins/WorldGenerator.java @@ -1,4 +1,4 @@ -package com.provismet.proviorigins.content.world; +package com.provismet.datagen.proviorigins; import java.util.concurrent.CompletableFuture; diff --git a/src/main/java/com/provismet/proviorigins/ProviOriginsClient.java b/src/main/java/com/provismet/proviorigins/ProviOriginsClient.java index 3891633..ff96cee 100644 --- a/src/main/java/com/provismet/proviorigins/ProviOriginsClient.java +++ b/src/main/java/com/provismet/proviorigins/ProviOriginsClient.java @@ -2,9 +2,9 @@ import org.lwjgl.glfw.GLFW; -import com.provismet.proviorigins.content.registries.BlockRenderLayers; -import com.provismet.proviorigins.content.registries.ModelLayerRegistry; -import com.provismet.proviorigins.content.registries.ParticleFactories; +import com.provismet.proviorigins.content.registries.POBlockRenderLayers; +import com.provismet.proviorigins.content.registries.POModelLayerRegistry; +import com.provismet.proviorigins.content.registries.POParticleFactories; import com.provismet.proviorigins.content.registries.RendererRegistry; import com.provismet.proviorigins.extras.SleepFogModifier; @@ -28,12 +28,12 @@ public class ProviOriginsClient implements ClientModInitializer { @Override public void onInitializeClient () { - ModelLayerRegistry.register(); + POModelLayerRegistry.register(); RendererRegistry.register(); - BlockRenderLayers.register(); + POBlockRenderLayers.register(); BackgroundRenderer.FOG_MODIFIERS.add(0, new SleepFogModifier()); - ParticleFactories.register(); + POParticleFactories.register(); } } diff --git a/src/main/java/com/provismet/proviorigins/ProviOriginsMain.java b/src/main/java/com/provismet/proviorigins/ProviOriginsMain.java index 76914ba..7bbf8d7 100644 --- a/src/main/java/com/provismet/proviorigins/ProviOriginsMain.java +++ b/src/main/java/com/provismet/proviorigins/ProviOriginsMain.java @@ -7,12 +7,12 @@ import com.provismet.proviorigins.conditions.bientity.BiEntityConditionFactories; import com.provismet.proviorigins.conditions.block.BlockConditionFactories; import com.provismet.proviorigins.conditions.entity.EntityConditionFactories; -import com.provismet.proviorigins.content.registries.Blocks; -import com.provismet.proviorigins.content.registries.Entities; -import com.provismet.proviorigins.content.registries.Items; -import com.provismet.proviorigins.content.registries.Particles; -import com.provismet.proviorigins.content.registries.Sounds; -import com.provismet.proviorigins.content.registries.StatusEffects; +import com.provismet.proviorigins.content.registries.POBlocks; +import com.provismet.proviorigins.content.registries.POEntities; +import com.provismet.proviorigins.content.registries.POItems; +import com.provismet.proviorigins.content.registries.POParticles; +import com.provismet.proviorigins.content.registries.POSounds; +import com.provismet.proviorigins.content.registries.POStatusEffects; import com.provismet.proviorigins.content.world.gen.WorldGen; import com.provismet.proviorigins.powers.PowerFactories; @@ -29,12 +29,12 @@ public static Identifier identifier (String path) { @Override public void onInitialize () { - Entities.register(); - Items.register(); - StatusEffects.register(); - Blocks.register(); - Particles.register(); - Sounds.register(); + POEntities.register(); + POItems.register(); + POStatusEffects.register(); + POBlocks.register(); + POParticles.register(); + POSounds.register(); WorldGen.generateWorldGen(); diff --git a/src/main/java/com/provismet/proviorigins/actions/SummonCloneAction.java b/src/main/java/com/provismet/proviorigins/actions/SummonCloneAction.java index b7c423a..f522cf1 100644 --- a/src/main/java/com/provismet/proviorigins/actions/SummonCloneAction.java +++ b/src/main/java/com/provismet/proviorigins/actions/SummonCloneAction.java @@ -4,7 +4,7 @@ import com.provismet.proviorigins.ProviOriginsMain; import com.provismet.proviorigins.content.entities.CloneEntity; -import com.provismet.proviorigins.content.registries.Entities; +import com.provismet.proviorigins.content.registries.POEntities; import com.provismet.proviorigins.powers.Powers; import io.github.apace100.apoli.data.ApoliDataTypes; @@ -44,7 +44,7 @@ public static void action (SerializableData.Instance data, Entity entity) { private static CloneEntity summon (PlayerEntity player, boolean canSit, boolean followOwner, boolean canAttack, boolean inheritsEquipment, boolean inheritsEnchantments) { if (player.getWorld() instanceof ServerWorld serverWorld) { - CloneEntity clone = new CloneEntity(Entities.CLONE, serverWorld); + CloneEntity clone = new CloneEntity(POEntities.CLONE, serverWorld); clone.setCanSit(canSit); clone.setCanAttack(canAttack); clone.setFollowOwner(followOwner); diff --git a/src/main/java/com/provismet/proviorigins/actions/SummonMinionAction.java b/src/main/java/com/provismet/proviorigins/actions/SummonMinionAction.java index 435860d..2957f2c 100644 --- a/src/main/java/com/provismet/proviorigins/actions/SummonMinionAction.java +++ b/src/main/java/com/provismet/proviorigins/actions/SummonMinionAction.java @@ -3,7 +3,7 @@ import java.util.function.Consumer; import com.provismet.proviorigins.content.entities.MinionEntity; -import com.provismet.proviorigins.content.registries.Entities; +import com.provismet.proviorigins.content.registries.POEntities; import com.provismet.proviorigins.powers.Powers; import io.github.apace100.apoli.data.ApoliDataTypes; @@ -38,7 +38,7 @@ public static void action (SerializableData.Instance data, Entity entity) { final Consumer> bientityAction = data.get(Powers.BIENTITY_ACTION); - MinionEntity minion = new MinionEntity(Entities.MINION, world); + MinionEntity minion = new MinionEntity(POEntities.MINION, world); minion.setOwner(living); minion.setTexture(texture); minion.setFollowOwner(shouldFollow); diff --git a/src/main/java/com/provismet/proviorigins/content/Blocks/LilyOfTheVoidBlock.java b/src/main/java/com/provismet/proviorigins/content/Blocks/LilyOfTheVoidBlock.java index 1d39b0c..9fc8166 100644 --- a/src/main/java/com/provismet/proviorigins/content/Blocks/LilyOfTheVoidBlock.java +++ b/src/main/java/com/provismet/proviorigins/content/Blocks/LilyOfTheVoidBlock.java @@ -1,10 +1,10 @@ package com.provismet.proviorigins.content.blocks; import com.provismet.proviorigins.content.DamageTypes; -import com.provismet.proviorigins.content.registries.Particles; -import com.provismet.proviorigins.content.registries.StatusEffects; -import com.provismet.proviorigins.extras.Tags; +import com.provismet.proviorigins.content.registries.POParticles; +import com.provismet.proviorigins.content.registries.POStatusEffects; +import com.provismet.proviorigins.utility.tags.POBlockTags; import net.minecraft.block.BlockState; import net.minecraft.block.FlowerBlock; import net.minecraft.block.ShapeContext; @@ -21,12 +21,12 @@ public class LilyOfTheVoidBlock extends FlowerBlock { public LilyOfTheVoidBlock (Settings settings) { - super(StatusEffects.VOID_CORRUPTION, 8, settings); + super(POStatusEffects.VOID_CORRUPTION, 8, settings); } @Override protected boolean canPlantOnTop (BlockState floor, BlockView world, BlockPos pos) { - return floor.isIn(Tags.Blocks.VOID_PLANTABLE); + return floor.isIn(POBlockTags.VOID_PLANTABLE); } @Override @@ -38,7 +38,7 @@ public void randomDisplayTick (BlockState state, World world, BlockPos pos, Rand if (random.nextDouble() < 0.3) { - world.addParticle(Particles.LILY_PETAL, + world.addParticle(POParticles.LILY_PETAL, x + random.nextDouble() / 5.0, (double)pos.getY() + (0.5 - random.nextDouble()), z + random.nextDouble() / 5.0, @@ -54,7 +54,7 @@ public void onEntityCollision (BlockState state, World world, BlockPos pos, Enti if (world.isClient || world.getDifficulty() == Difficulty.PEACEFUL) return; if (entity instanceof LivingEntity living && !living.isInvulnerableTo(living.getDamageSources().create(DamageTypes.VOID_CORRUPTION))) { - living.addStatusEffect(new StatusEffectInstance(StatusEffects.VOID_CORRUPTION, 50)); + living.addStatusEffect(new StatusEffectInstance(POStatusEffects.VOID_CORRUPTION, 50)); } } } diff --git a/src/main/java/com/provismet/proviorigins/content/StatusEffects/AlertEffect.java b/src/main/java/com/provismet/proviorigins/content/StatusEffects/AlertEffect.java index cbd3a3f..76786e6 100644 --- a/src/main/java/com/provismet/proviorigins/content/StatusEffects/AlertEffect.java +++ b/src/main/java/com/provismet/proviorigins/content/StatusEffects/AlertEffect.java @@ -1,6 +1,6 @@ package com.provismet.proviorigins.content.statusEffects; -import com.provismet.proviorigins.content.registries.StatusEffects; +import com.provismet.proviorigins.content.registries.POStatusEffects; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.effect.StatusEffect; @@ -14,6 +14,6 @@ public AlertEffect () { @Override public void onApplied (LivingEntity entity, int amplifier) { super.onApplied(entity, amplifier); - if (entity.hasStatusEffect(StatusEffects.SLEEP)) entity.removeStatusEffect(StatusEffects.SLEEP); + if (entity.hasStatusEffect(POStatusEffects.SLEEP)) entity.removeStatusEffect(POStatusEffects.SLEEP); } } diff --git a/src/main/java/com/provismet/proviorigins/content/StatusEffects/SleepEffect.java b/src/main/java/com/provismet/proviorigins/content/StatusEffects/SleepEffect.java index 11d7aff..fb3314d 100644 --- a/src/main/java/com/provismet/proviorigins/content/StatusEffects/SleepEffect.java +++ b/src/main/java/com/provismet/proviorigins/content/StatusEffects/SleepEffect.java @@ -2,7 +2,7 @@ import java.util.UUID; -import com.provismet.proviorigins.content.registries.StatusEffects; +import com.provismet.proviorigins.content.registries.POStatusEffects; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.attribute.EntityAttributeModifier; @@ -27,6 +27,6 @@ public boolean canApplyUpdateEffect (int duration, int amplifier) { @Override public void applyUpdateEffect (LivingEntity entity, int amplifier) { - if (!entity.hasStatusEffect(StatusEffects.ALERT)) entity.addStatusEffect(new StatusEffectInstance(StatusEffects.ALERT, 150)); + if (!entity.hasStatusEffect(POStatusEffects.ALERT)) entity.addStatusEffect(new StatusEffectInstance(POStatusEffects.ALERT, 150)); } } diff --git a/src/main/java/com/provismet/proviorigins/content/entities/models/CloneEntityModel.java b/src/main/java/com/provismet/proviorigins/content/entities/models/CloneEntityModel.java index 2242064..bc424ec 100644 --- a/src/main/java/com/provismet/proviorigins/content/entities/models/CloneEntityModel.java +++ b/src/main/java/com/provismet/proviorigins/content/entities/models/CloneEntityModel.java @@ -1,7 +1,7 @@ package com.provismet.proviorigins.content.entities.models; import com.provismet.proviorigins.content.entities.CloneEntity; -import com.provismet.proviorigins.content.registries.ModelLayerRegistry; +import com.provismet.proviorigins.content.registries.POModelLayerRegistry; import net.minecraft.client.model.Dilation; import net.minecraft.client.model.ModelPart; @@ -32,11 +32,11 @@ public static TexturedModelData getSlimTexturedModelData () { } public static TexturedModelData getTexturedModelDataInner () { - return TexturedModelData.of(PlayerEntityModel.getModelData(ModelLayerRegistry.HAT_DILATION, 0.0f), 64, 32); + return TexturedModelData.of(PlayerEntityModel.getModelData(POModelLayerRegistry.HAT_DILATION, 0.0f), 64, 32); } public static TexturedModelData getTexturedModelDataOuter () { - return TexturedModelData.of(PlayerEntityModel.getModelData(ModelLayerRegistry.ARMOR_DILATION, 0.0f), 64, 32); + return TexturedModelData.of(PlayerEntityModel.getModelData(POModelLayerRegistry.ARMOR_DILATION, 0.0f), 64, 32); } @Override diff --git a/src/main/java/com/provismet/proviorigins/content/entities/renderers/CloneEntityRenderer.java b/src/main/java/com/provismet/proviorigins/content/entities/renderers/CloneEntityRenderer.java index 624fde3..5170071 100644 --- a/src/main/java/com/provismet/proviorigins/content/entities/renderers/CloneEntityRenderer.java +++ b/src/main/java/com/provismet/proviorigins/content/entities/renderers/CloneEntityRenderer.java @@ -2,7 +2,7 @@ import com.provismet.proviorigins.content.entities.CloneEntity; import com.provismet.proviorigins.content.entities.models.CloneEntityModel; -import com.provismet.proviorigins.content.registries.ModelLayerRegistry; +import com.provismet.proviorigins.content.registries.POModelLayerRegistry; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; @@ -23,10 +23,10 @@ public class CloneEntityRenderer extends BipedEntityRende private static final Identifier DEFAULT_STEVE = new Identifier("minecraft", "textures/entity/steve.png"); public CloneEntityRenderer (Context context, boolean slimArms) { - super(context, new CloneEntityModel<>(context.getPart(slimArms ? ModelLayerRegistry.CLONE_SLIM_MODEL_LAYER : ModelLayerRegistry.CLONE_MODEL_LAYER), slimArms), 0.5f); + super(context, new CloneEntityModel<>(context.getPart(slimArms ? POModelLayerRegistry.CLONE_SLIM_MODEL_LAYER : POModelLayerRegistry.CLONE_MODEL_LAYER), slimArms), 0.5f); - BipedEntityModel inner = new BipedEntityModel<>(context.getPart(slimArms ? ModelLayerRegistry.CLONE_SLIM_INNER_LAYER : ModelLayerRegistry.CLONE_INNER_LAYER)); - BipedEntityModel outer = new BipedEntityModel<>(context.getPart(slimArms ? ModelLayerRegistry.CLONE_SLIM_OUTER_LAYER : ModelLayerRegistry.CLONE_OUTER_LAYER)); + BipedEntityModel inner = new BipedEntityModel<>(context.getPart(slimArms ? POModelLayerRegistry.CLONE_SLIM_INNER_LAYER : POModelLayerRegistry.CLONE_INNER_LAYER)); + BipedEntityModel outer = new BipedEntityModel<>(context.getPart(slimArms ? POModelLayerRegistry.CLONE_SLIM_OUTER_LAYER : POModelLayerRegistry.CLONE_OUTER_LAYER)); this.addFeature(new ArmorFeatureRenderer<>(this, inner, outer, context.getModelManager())); this.addFeature(new StuckArrowsFeatureRenderer<>(context, this)); this.addFeature(new StuckStingersFeatureRenderer<>(this)); diff --git a/src/main/java/com/provismet/proviorigins/content/entities/renderers/MinionEntityRenderer.java b/src/main/java/com/provismet/proviorigins/content/entities/renderers/MinionEntityRenderer.java index 41ebe3e..2037c40 100644 --- a/src/main/java/com/provismet/proviorigins/content/entities/renderers/MinionEntityRenderer.java +++ b/src/main/java/com/provismet/proviorigins/content/entities/renderers/MinionEntityRenderer.java @@ -2,7 +2,7 @@ import com.provismet.proviorigins.content.entities.MinionEntity; import com.provismet.proviorigins.content.entities.models.MinionEntityModel; -import com.provismet.proviorigins.content.registries.ModelLayerRegistry; +import com.provismet.proviorigins.content.registries.POModelLayerRegistry; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; @@ -14,7 +14,7 @@ @Environment(value=EnvType.CLIENT) public class MinionEntityRenderer extends MobEntityRenderer> { public MinionEntityRenderer (Context context) { - super(context, new MinionEntityModel<>(context.getPart(ModelLayerRegistry.MINION_MODEL_LAYER)), 0.5f); + super(context, new MinionEntityModel<>(context.getPart(POModelLayerRegistry.MINION_MODEL_LAYER)), 0.5f); } @Override diff --git a/src/main/java/com/provismet/proviorigins/content/particles/MagicCircleParticle.java b/src/main/java/com/provismet/proviorigins/content/particles/MagicCircleParticle.java index e25b0b1..c57e31e 100644 --- a/src/main/java/com/provismet/proviorigins/content/particles/MagicCircleParticle.java +++ b/src/main/java/com/provismet/proviorigins/content/particles/MagicCircleParticle.java @@ -1,7 +1,6 @@ package com.provismet.proviorigins.content.particles; -import com.provismet.proviorigins.content.particles.utility.FlatParticle; - +import com.provismet.lilylib.particle.FlatParticle; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.particle.Particle; @@ -9,6 +8,7 @@ import net.minecraft.client.particle.SpriteProvider; import net.minecraft.client.world.ClientWorld; import net.minecraft.particle.DefaultParticleType; +import net.minecraft.util.math.MathHelper; public class MagicCircleParticle extends FlatParticle { private static final float MAX_SCALE = 8f; @@ -16,10 +16,13 @@ public class MagicCircleParticle extends FlatParticle { private final float rotationSpeed; + private float prevScale; + protected MagicCircleParticle (ClientWorld clientWorld, double x, double y, double z, SpriteProvider spriteProvider) { super(clientWorld, x, y, z, spriteProvider); this.maxAge = 30; this.scale = 0f; + this.prevScale = this.scale; this.rotationSpeed = (float)Math.toRadians(random.nextBoolean() ? 5.0 : -5.0); } @@ -27,13 +30,19 @@ protected MagicCircleParticle (ClientWorld clientWorld, double x, double y, doub public void tick () { super.tick(); this.setAngleY(this.angle + this.rotationSpeed); + this.prevScale = this.scale; if (this.scale < MAX_SCALE) this.scale += MAX_SCALE / SCALE_TIME; else if (this.scale > MAX_SCALE) this.scale = MAX_SCALE; float multiplier = (float)this.age / (float)this.maxAge; float tempAlpha = 1f - multiplier * multiplier * multiplier; - this.alpha = tempAlpha >= 0.11f ? tempAlpha : 0.11f; + this.alpha = Math.max(tempAlpha, 0.11f); + } + + @Override + public float getSize (float tickDelta) { + return MathHelper.lerp(tickDelta, this.prevScale, this.scale); } @Environment(value=EnvType.CLIENT) diff --git a/src/main/java/com/provismet/proviorigins/content/particles/TelegraphParticle.java b/src/main/java/com/provismet/proviorigins/content/particles/TelegraphParticle.java index ced1bfa..273ae92 100644 --- a/src/main/java/com/provismet/proviorigins/content/particles/TelegraphParticle.java +++ b/src/main/java/com/provismet/proviorigins/content/particles/TelegraphParticle.java @@ -1,7 +1,7 @@ package com.provismet.proviorigins.content.particles; +import com.provismet.lilylib.particle.FlatParticle; import com.provismet.proviorigins.content.particles.effects.TelegraphParticleEffect; -import com.provismet.proviorigins.content.particles.utility.FlatParticle; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; @@ -9,10 +9,12 @@ import net.minecraft.client.particle.ParticleFactory; import net.minecraft.client.particle.SpriteProvider; import net.minecraft.client.world.ClientWorld; +import net.minecraft.util.math.MathHelper; public class TelegraphParticle extends FlatParticle { private final float maxScale; private final float staticAlpha; + private float prevScale; protected TelegraphParticle (ClientWorld clientWorld, double x, double y, double z, T particleEffect, SpriteProvider spriteProvider) { this(clientWorld, x, y, z, 0.0, 0.0, 0.0, particleEffect, spriteProvider); @@ -29,6 +31,7 @@ protected TelegraphParticle (ClientWorld clientWorld, double x, double y, double this.staticAlpha = alpha; this.maxScale = particleEffect.getScale(); this.maxAge = particleEffect.getDuration(); + this.prevScale = this.scale; } @Override @@ -36,11 +39,17 @@ public void tick () { super.tick(); this.setSpriteForAge(this.spriteProvider); this.setAlpha(this.staticAlpha); + this.prevScale = this.scale; if ((float)this.age > (float)this.maxAge / 3f) this.scale = this.maxScale; else this.scale = this.maxScale * (((float)this.age * 3f) / (float)this.maxAge); } - + + @Override + public float getSize (float tickDelta) { + return MathHelper.lerp(tickDelta, this.prevScale, this.scale); + } + @Environment(value=EnvType.CLIENT) public static class Factory implements ParticleFactory { private final SpriteProvider spriteProvider; diff --git a/src/main/java/com/provismet/proviorigins/content/particles/effects/CrystalParticleEffect.java b/src/main/java/com/provismet/proviorigins/content/particles/effects/CrystalParticleEffect.java index 071802d..0cf407b 100644 --- a/src/main/java/com/provismet/proviorigins/content/particles/effects/CrystalParticleEffect.java +++ b/src/main/java/com/provismet/proviorigins/content/particles/effects/CrystalParticleEffect.java @@ -4,7 +4,7 @@ import com.mojang.brigadier.StringReader; import com.mojang.brigadier.exceptions.CommandSyntaxException; -import com.provismet.proviorigins.content.registries.Particles; +import com.provismet.proviorigins.content.registries.POParticles; import net.minecraft.network.PacketByteBuf; import net.minecraft.particle.AbstractDustParticleEffect; @@ -35,7 +35,7 @@ public CrystalParticleEffect (Vector3f color, float scale) { @Override public ParticleType getType () { - return Particles.CRYSTAL; + return POParticles.CRYSTAL; } } diff --git a/src/main/java/com/provismet/proviorigins/content/particles/effects/FlowerParticleEffect.java b/src/main/java/com/provismet/proviorigins/content/particles/effects/FlowerParticleEffect.java index 1f1b5d7..5743913 100644 --- a/src/main/java/com/provismet/proviorigins/content/particles/effects/FlowerParticleEffect.java +++ b/src/main/java/com/provismet/proviorigins/content/particles/effects/FlowerParticleEffect.java @@ -4,7 +4,7 @@ import com.mojang.brigadier.StringReader; import com.mojang.brigadier.exceptions.CommandSyntaxException; -import com.provismet.proviorigins.content.registries.Particles; +import com.provismet.proviorigins.content.registries.POParticles; import net.minecraft.network.PacketByteBuf; import net.minecraft.particle.AbstractDustParticleEffect; @@ -35,6 +35,6 @@ public FlowerParticleEffect(Vector3f color, float scale) { @Override public ParticleType getType () { - return Particles.FLOWER; + return POParticles.FLOWER; } } diff --git a/src/main/java/com/provismet/proviorigins/content/particles/effects/TelegraphParticleEffect.java b/src/main/java/com/provismet/proviorigins/content/particles/effects/TelegraphParticleEffect.java index 9d96a0f..60bfe6d 100644 --- a/src/main/java/com/provismet/proviorigins/content/particles/effects/TelegraphParticleEffect.java +++ b/src/main/java/com/provismet/proviorigins/content/particles/effects/TelegraphParticleEffect.java @@ -4,7 +4,7 @@ import com.mojang.brigadier.StringReader; import com.mojang.brigadier.exceptions.CommandSyntaxException; -import com.provismet.proviorigins.content.registries.Particles; +import com.provismet.proviorigins.content.registries.POParticles; import net.minecraft.network.PacketByteBuf; import net.minecraft.particle.AbstractDustParticleEffect; @@ -47,7 +47,7 @@ public TelegraphParticleEffect read (ParticleType parti @Override public ParticleType getType () { - return Particles.TELEGRAPH; + return POParticles.TELEGRAPH; } @Override diff --git a/src/main/java/com/provismet/proviorigins/content/particles/utility/FlatParticle.java b/src/main/java/com/provismet/proviorigins/content/particles/utility/FlatParticle.java deleted file mode 100644 index daf1e73..0000000 --- a/src/main/java/com/provismet/proviorigins/content/particles/utility/FlatParticle.java +++ /dev/null @@ -1,119 +0,0 @@ -package com.provismet.proviorigins.content.particles.utility; - -import org.joml.Quaternionf; -import org.joml.Vector3f; - -import net.minecraft.client.particle.ParticleTextureSheet; -import net.minecraft.client.particle.SpriteBillboardParticle; -import net.minecraft.client.particle.SpriteProvider; -import net.minecraft.client.render.Camera; -import net.minecraft.client.render.VertexConsumer; -import net.minecraft.client.world.ClientWorld; -import net.minecraft.util.math.MathHelper; -import net.minecraft.util.math.Vec3d; - -/** - * A particle that renders flat on the ground. - * Supports animated sprites. - */ -public abstract class FlatParticle extends SpriteBillboardParticle { - protected final SpriteProvider spriteProvider; - - protected float angleX; - protected float prevAngleX; - protected float angleZ; - protected float prevAngleZ; - - protected FlatParticle (ClientWorld clientWorld, double x, double y, double z, SpriteProvider spriteProvider) { - super(clientWorld, x, y, z); - this.spriteProvider = spriteProvider; - this.setSpriteForAge(this.spriteProvider); - this.velocityMultiplier = 0f; - this.gravityStrength = 0f; - this.velocityX = 0f; - this.velocityY = 0f; - this.velocityZ = 0f; - this.angleX = 0f; - this.prevAngleX = 0f; - this.angleZ = 0f; - this.prevAngleZ = 0f; - } - - protected FlatParticle (ClientWorld clientWorld, double x, double y, double z, double velocityX, double velocityY, double velocityZ, SpriteProvider spriteProvider) { - super(clientWorld, x, y, z, velocityX, velocityY, velocityZ); - this.spriteProvider = spriteProvider; - this.setSpriteForAge(this.spriteProvider); - } - - public void setAngleX (float radians) { - this.prevAngleX = this.angleX; - this.angleX = radians; - } - - public void setAngleY (float radians) { - this.prevAngle = this.angle; - this.angle = radians; - } - - public void setAngleZ (float radians) { - this.prevAngleZ = this.angleZ; - this.angleZ = radians; - } - - @Override - public void tick () { - super.tick(); - this.setSpriteForAge(this.spriteProvider); - if (this.age > this.maxAge / 2) { - this.setAlpha(1.0f - ((float)this.age - (float)(this.maxAge / 2)) / (float)this.maxAge); - } - } - - @Override - public ParticleTextureSheet getType () { - return ParticleTextureSheet.PARTICLE_SHEET_TRANSLUCENT; - } - - /** - * Renders a flat, upwards-facing particle. - * - * @param vertexConsumer - * @param camera - * @param tickDelta - */ - @Override - public void buildGeometry (VertexConsumer vertexConsumer, Camera camera, float tickDelta) { - Vec3d vec3d = camera.getPos(); - float xLerp = (float)(MathHelper.lerp((double)tickDelta, this.prevPosX, this.x) - vec3d.getX()); - float yLerp = (float)(MathHelper.lerp((double)tickDelta, this.prevPosY, this.y) - vec3d.getY()); - float zLerp = (float)(MathHelper.lerp((double)tickDelta, this.prevPosZ, this.z) - vec3d.getZ()); - - Quaternionf quaternion = new Quaternionf(); - quaternion.rotateX(MathHelper.lerp(tickDelta, this.prevAngleX, this.angleX)); - quaternion.rotateY(MathHelper.lerp(tickDelta, this.prevAngle, this.angle)); - quaternion.rotateZ(MathHelper.lerp(tickDelta, this.prevAngleZ, this.angleZ)); - - Vector3f[] vector3fs = new Vector3f[] { - new Vector3f(-1f, 0f, -1f), - new Vector3f(-1f, 0f, 1f), - new Vector3f(1f, 0f, 1f), - new Vector3f(1f, 0f, -1f) - }; - - for (Vector3f vector3f : vector3fs) { - vector3f.rotate(quaternion); - vector3f.mul(this.getSize(tickDelta)); - vector3f.add(xLerp, yLerp, zLerp); - } - - float minU = this.getMinU(); - float maxU = this.getMaxU(); - float minV = this.getMinV(); - float maxV = this.getMaxV(); - int brightness = this.getBrightness(tickDelta); - vertexConsumer.vertex(vector3fs[0].x(), vector3fs[0].y(), vector3fs[0].z()).texture(maxU, maxV).color(this.red, this.green, this.blue, this.alpha).light(brightness).next(); - vertexConsumer.vertex(vector3fs[1].x(), vector3fs[1].y(), vector3fs[1].z()).texture(maxU, minV).color(this.red, this.green, this.blue, this.alpha).light(brightness).next(); - vertexConsumer.vertex(vector3fs[2].x(), vector3fs[2].y(), vector3fs[2].z()).texture(minU, minV).color(this.red, this.green, this.blue, this.alpha).light(brightness).next(); - vertexConsumer.vertex(vector3fs[3].x(), vector3fs[3].y(), vector3fs[3].z()).texture(minU, maxV).color(this.red, this.green, this.blue, this.alpha).light(brightness).next(); - } -} diff --git a/src/main/java/com/provismet/proviorigins/content/registries/BlockRenderLayers.java b/src/main/java/com/provismet/proviorigins/content/registries/POBlockRenderLayers.java similarity index 73% rename from src/main/java/com/provismet/proviorigins/content/registries/BlockRenderLayers.java rename to src/main/java/com/provismet/proviorigins/content/registries/POBlockRenderLayers.java index aedbe50..08c55df 100644 --- a/src/main/java/com/provismet/proviorigins/content/registries/BlockRenderLayers.java +++ b/src/main/java/com/provismet/proviorigins/content/registries/POBlockRenderLayers.java @@ -4,13 +4,13 @@ import net.minecraft.block.Block; import net.minecraft.client.render.RenderLayer; -public class BlockRenderLayers { +public class POBlockRenderLayers { private static void registerCutout (Block block) { BlockRenderLayerMap.INSTANCE.putBlock(block, RenderLayer.getCutout()); } public static void register () { - registerCutout(Blocks.LILY_OF_THE_VOID); - registerCutout(Blocks.POTTED_LILY_OF_THE_VOID); + registerCutout(POBlocks.LILY_OF_THE_VOID); + registerCutout(POBlocks.POTTED_LILY_OF_THE_VOID); } } diff --git a/src/main/java/com/provismet/proviorigins/content/registries/Blocks.java b/src/main/java/com/provismet/proviorigins/content/registries/POBlocks.java similarity index 97% rename from src/main/java/com/provismet/proviorigins/content/registries/Blocks.java rename to src/main/java/com/provismet/proviorigins/content/registries/POBlocks.java index 1b4d11b..043cf3a 100644 --- a/src/main/java/com/provismet/proviorigins/content/registries/Blocks.java +++ b/src/main/java/com/provismet/proviorigins/content/registries/POBlocks.java @@ -9,7 +9,7 @@ import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; -public class Blocks { +public class POBlocks { public static final LilyOfTheVoidBlock LILY_OF_THE_VOID = new LilyOfTheVoidBlock(FabricBlockSettings.copy(net.minecraft.block.Blocks.LILY_OF_THE_VALLEY)); public static final Block POTTED_LILY_OF_THE_VOID = new FlowerPotBlock(LILY_OF_THE_VOID, FabricBlockSettings.copy(net.minecraft.block.Blocks.POTTED_LILY_OF_THE_VALLEY)); diff --git a/src/main/java/com/provismet/proviorigins/content/registries/Entities.java b/src/main/java/com/provismet/proviorigins/content/registries/POEntities.java similarity index 98% rename from src/main/java/com/provismet/proviorigins/content/registries/Entities.java rename to src/main/java/com/provismet/proviorigins/content/registries/POEntities.java index cf073f9..4e88a9a 100644 --- a/src/main/java/com/provismet/proviorigins/content/registries/Entities.java +++ b/src/main/java/com/provismet/proviorigins/content/registries/POEntities.java @@ -13,7 +13,7 @@ import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; -public class Entities { +public class POEntities { public static final EntityType CLONE = Registry.register( Registries.ENTITY_TYPE, ProviOriginsMain.identifier("player_clone"), diff --git a/src/main/java/com/provismet/proviorigins/content/registries/Items.java b/src/main/java/com/provismet/proviorigins/content/registries/POItems.java similarity index 96% rename from src/main/java/com/provismet/proviorigins/content/registries/Items.java rename to src/main/java/com/provismet/proviorigins/content/registries/POItems.java index d84761e..2669dc7 100644 --- a/src/main/java/com/provismet/proviorigins/content/registries/Items.java +++ b/src/main/java/com/provismet/proviorigins/content/registries/POItems.java @@ -15,7 +15,7 @@ import net.minecraft.registry.RegistryKey; import net.minecraft.util.Rarity; -public class Items { +public class POItems { private static Item registerItemIcon (String origin) { return Registry.register(Registries.ITEM, ProviOriginsMain.identifier(origin + "_icon"), new Item(new FabricItemSettings().maxCount(64).rarity(Rarity.EPIC))); } @@ -36,7 +36,7 @@ private static void register (Item item, String path, @Nullable RegistryKey constructor) { ParticleFactoryRegistry.getInstance().register(particleType, constructor); } @@ -26,12 +26,12 @@ private static void registerParticleFactory (Particle } public static void register () { - registerDefaultParticleFactory(Particles.LILY_PETAL, LilyPetalParticle.Factory::new); - registerDefaultParticleFactory(Particles.SOUL_CIRCLE, SoulCircleParticle.Factory::new); - registerDefaultParticleFactory(Particles.MAGIC_CIRCLE, MagicCircleParticle.Factory::new); + registerDefaultParticleFactory(POParticles.LILY_PETAL, LilyPetalParticle.Factory::new); + registerDefaultParticleFactory(POParticles.SOUL_CIRCLE, SoulCircleParticle.Factory::new); + registerDefaultParticleFactory(POParticles.MAGIC_CIRCLE, MagicCircleParticle.Factory::new); - registerParticleFactory(Particles.FLOWER, FlowerParticle.Factory::new); - registerParticleFactory(Particles.TELEGRAPH, TelegraphParticle.Factory::new); - registerParticleFactory(Particles.CRYSTAL, CrystalParticle.Factory::new); + registerParticleFactory(POParticles.FLOWER, FlowerParticle.Factory::new); + registerParticleFactory(POParticles.TELEGRAPH, TelegraphParticle.Factory::new); + registerParticleFactory(POParticles.CRYSTAL, CrystalParticle.Factory::new); } } diff --git a/src/main/java/com/provismet/proviorigins/content/registries/Particles.java b/src/main/java/com/provismet/proviorigins/content/registries/POParticles.java similarity index 98% rename from src/main/java/com/provismet/proviorigins/content/registries/Particles.java rename to src/main/java/com/provismet/proviorigins/content/registries/POParticles.java index f52357d..8ce9076 100644 --- a/src/main/java/com/provismet/proviorigins/content/registries/Particles.java +++ b/src/main/java/com/provismet/proviorigins/content/registries/POParticles.java @@ -12,7 +12,7 @@ import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; -public class Particles { +public class POParticles { public static final DefaultParticleType LILY_PETAL = FabricParticleTypes.simple(); public static final DefaultParticleType SOUL_CIRCLE = FabricParticleTypes.simple(true); public static final DefaultParticleType MAGIC_CIRCLE = FabricParticleTypes.simple(); diff --git a/src/main/java/com/provismet/proviorigins/content/registries/Sounds.java b/src/main/java/com/provismet/proviorigins/content/registries/POSounds.java similarity index 98% rename from src/main/java/com/provismet/proviorigins/content/registries/Sounds.java rename to src/main/java/com/provismet/proviorigins/content/registries/POSounds.java index d9887c4..5e43dbf 100644 --- a/src/main/java/com/provismet/proviorigins/content/registries/Sounds.java +++ b/src/main/java/com/provismet/proviorigins/content/registries/POSounds.java @@ -6,7 +6,7 @@ import net.minecraft.registry.Registry; import net.minecraft.sound.SoundEvent; -public class Sounds { +public class POSounds { public static final SoundEvent LILY_MIMIC = SoundEvent.of(ProviOriginsMain.identifier("origin.voidlily.mimic")); public static final SoundEvent LILY_MIMIC_END = SoundEvent.of(ProviOriginsMain.identifier("origin.voidlily.mimic_end")); public static final SoundEvent LILY_TELEPORT = SoundEvent.of(ProviOriginsMain.identifier("origin.voidlily.teleport")); diff --git a/src/main/java/com/provismet/proviorigins/content/registries/StatusEffects.java b/src/main/java/com/provismet/proviorigins/content/registries/POStatusEffects.java similarity index 97% rename from src/main/java/com/provismet/proviorigins/content/registries/StatusEffects.java rename to src/main/java/com/provismet/proviorigins/content/registries/POStatusEffects.java index 3eac7bb..c7ecc31 100644 --- a/src/main/java/com/provismet/proviorigins/content/registries/StatusEffects.java +++ b/src/main/java/com/provismet/proviorigins/content/registries/POStatusEffects.java @@ -10,7 +10,7 @@ import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; -public class StatusEffects { +public class POStatusEffects { public static final StatusEffect VOID_CORRUPTION = new VoidCorruption(); public static final StatusEffect UNTARGETABLE = new Untargetable(); public static final StatusEffect SLEEP = new SleepEffect(); diff --git a/src/main/java/com/provismet/proviorigins/content/registries/RendererRegistry.java b/src/main/java/com/provismet/proviorigins/content/registries/RendererRegistry.java index 7af8a3b..7c1e27b 100644 --- a/src/main/java/com/provismet/proviorigins/content/registries/RendererRegistry.java +++ b/src/main/java/com/provismet/proviorigins/content/registries/RendererRegistry.java @@ -6,6 +6,6 @@ public class RendererRegistry { public static void register () { - EntityRendererRegistry.register(Entities.MINION, MinionEntityRenderer::new); + EntityRendererRegistry.register(POEntities.MINION, MinionEntityRenderer::new); } } diff --git a/src/main/java/com/provismet/proviorigins/content/world/features/FeaturesConfigured.java b/src/main/java/com/provismet/proviorigins/content/world/features/FeaturesConfigured.java index 723e1dc..384269f 100644 --- a/src/main/java/com/provismet/proviorigins/content/world/features/FeaturesConfigured.java +++ b/src/main/java/com/provismet/proviorigins/content/world/features/FeaturesConfigured.java @@ -1,7 +1,7 @@ package com.provismet.proviorigins.content.world.features; import com.provismet.proviorigins.ProviOriginsMain; -import com.provismet.proviorigins.content.registries.Blocks; +import com.provismet.proviorigins.content.registries.POBlocks; import net.minecraft.registry.Registerable; import net.minecraft.registry.RegistryKey; @@ -28,6 +28,6 @@ private static > void register ( public static void buildFeatures (Registerable> context) { register(context, LILY_OF_THE_VOID, Feature.FLOWER, new RandomPatchFeatureConfig(96, 7, 4, - PlacedFeatures.createEntry(Feature.SIMPLE_BLOCK, new SimpleBlockFeatureConfig(BlockStateProvider.of(Blocks.LILY_OF_THE_VOID))))); + PlacedFeatures.createEntry(Feature.SIMPLE_BLOCK, new SimpleBlockFeatureConfig(BlockStateProvider.of(POBlocks.LILY_OF_THE_VOID))))); } } diff --git a/src/main/java/com/provismet/proviorigins/extras/DynamicLightsEntry.java b/src/main/java/com/provismet/proviorigins/extras/DynamicLightsEntry.java index 716c7d1..72c4517 100644 --- a/src/main/java/com/provismet/proviorigins/extras/DynamicLightsEntry.java +++ b/src/main/java/com/provismet/proviorigins/extras/DynamicLightsEntry.java @@ -2,7 +2,7 @@ import java.util.List; -import com.provismet.proviorigins.content.registries.Entities; +import com.provismet.proviorigins.content.registries.POEntities; import com.provismet.proviorigins.powers.EmissivePower; import dev.lambdaurora.lambdynlights.api.DynamicLightHandlers; @@ -22,7 +22,7 @@ public void onInitializeDynamicLights () { return light; }); - DynamicLightHandlers.registerDynamicLightHandler(Entities.CLONE, entity -> { + DynamicLightHandlers.registerDynamicLightHandler(POEntities.CLONE, entity -> { int light = 0; List powers = PowerHolderComponent.getPowers(entity, EmissivePower.class); for (EmissivePower power : powers) { @@ -31,7 +31,7 @@ public void onInitializeDynamicLights () { return light; }); - DynamicLightHandlers.registerDynamicLightHandler(Entities.MINION, entity -> { + DynamicLightHandlers.registerDynamicLightHandler(POEntities.MINION, entity -> { int light = 0; List powers = PowerHolderComponent.getPowers(entity, EmissivePower.class); for (EmissivePower power : powers) { diff --git a/src/main/java/com/provismet/proviorigins/extras/RightAngledTriangle.java b/src/main/java/com/provismet/proviorigins/extras/RightAngledTriangle.java deleted file mode 100644 index 2468113..0000000 --- a/src/main/java/com/provismet/proviorigins/extras/RightAngledTriangle.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.provismet.proviorigins.extras; - -import net.minecraft.util.math.Vec3d; - -/* -* end -* /| -* / | -* h / | a -* / | -* / | -* /_____| -* start o -*/ -public class RightAngledTriangle { - private final double hypotenuseLength; // Defined as the line between the start and end vectors. - private final double oppositeLength; // The side opposite to the end vector. - private final double adjacentLength; // The non-hypotenuse side adjacent to the end vector. - - public RightAngledTriangle (Vec3d hypotenuseStart, Vec3d hypotenuseEnd) { - this.oppositeLength = clamped(hypotenuseEnd.getX() - hypotenuseStart.getX()); - this.adjacentLength = clamped(hypotenuseEnd.getZ() - hypotenuseStart.getZ()); - this.hypotenuseLength = Math.sqrt(this.oppositeLength * this.oppositeLength + this.adjacentLength * this.adjacentLength); - } - - private double clamped (double value) { - if (value == 0) return 0.00001; - else return value; - } - - public double cosine () { - return this.adjacentLength / this.hypotenuseLength; - } - - public double sine () { - return this.oppositeLength / this.hypotenuseLength; - } - - public double tangent () { - return sine() / cosine(); - } -} diff --git a/src/main/java/com/provismet/proviorigins/extras/SleepFogModifier.java b/src/main/java/com/provismet/proviorigins/extras/SleepFogModifier.java index a28cd00..7e4c82f 100644 --- a/src/main/java/com/provismet/proviorigins/extras/SleepFogModifier.java +++ b/src/main/java/com/provismet/proviorigins/extras/SleepFogModifier.java @@ -1,6 +1,6 @@ package com.provismet.proviorigins.extras; -import com.provismet.proviorigins.content.registries.StatusEffects; +import com.provismet.proviorigins.content.registries.POStatusEffects; import net.minecraft.client.render.BackgroundRenderer.FogData; import net.minecraft.client.render.BackgroundRenderer.FogType; @@ -12,7 +12,7 @@ public class SleepFogModifier implements StatusEffectFogModifier { @Override public StatusEffect getStatusEffect () { - return StatusEffects.SLEEP; + return POStatusEffects.SLEEP; } @Override diff --git a/src/main/java/com/provismet/proviorigins/extras/Tags.java b/src/main/java/com/provismet/proviorigins/extras/Tags.java deleted file mode 100644 index 8971b4e..0000000 --- a/src/main/java/com/provismet/proviorigins/extras/Tags.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.provismet.proviorigins.extras; - -import com.provismet.proviorigins.ProviOriginsMain; - -import net.minecraft.block.Block; -import net.minecraft.entity.damage.DamageType; -import net.minecraft.registry.RegistryKeys; -import net.minecraft.registry.tag.TagKey; - -public class Tags { - public static class DamageTypes { - public static final TagKey DISABLES_SHIELDS = DamageTypes.of("disables_shields"); - public static final TagKey ALWAYS_BLOCK = DamageTypes.of("always_block"); - - private static TagKey of (String identifierPath) { - return TagKey.of(RegistryKeys.DAMAGE_TYPE, ProviOriginsMain.identifier(identifierPath)); - } - } - - public static class Blocks { - public static final TagKey VOID_PLANTABLE = Blocks.of("lily_of_the_void_plantable"); - - private static TagKey of (String identifierPath) { - return TagKey.of(RegistryKeys.BLOCK, ProviOriginsMain.identifier(identifierPath)); - } - } -} diff --git a/src/main/java/com/provismet/proviorigins/mixin/EntityRenderDispatcherMixin.java b/src/main/java/com/provismet/proviorigins/mixin/EntityRenderDispatcherMixin.java index ffd3164..ded8524 100644 --- a/src/main/java/com/provismet/proviorigins/mixin/EntityRenderDispatcherMixin.java +++ b/src/main/java/com/provismet/proviorigins/mixin/EntityRenderDispatcherMixin.java @@ -14,7 +14,7 @@ import com.google.common.collect.ImmutableMap; import com.provismet.proviorigins.content.entities.CloneEntity; import com.provismet.proviorigins.content.entities.renderers.CloneEntityRenderer; -import com.provismet.proviorigins.content.registries.Entities; +import com.provismet.proviorigins.content.registries.POEntities; import net.fabricmc.fabric.api.client.rendering.v1.LivingEntityFeatureRendererRegistrationCallback; import net.fabricmc.fabric.impl.client.rendering.RegistrationHelperImpl; @@ -85,7 +85,7 @@ private static CloneEntityRenderer createCloneEntityRenderer (Conte CloneEntityRenderer renderer = new CloneEntityRenderer<>(context, slimArms); LivingEntityRendererAccessor accessor = (LivingEntityRendererAccessor)renderer; LivingEntityFeatureRendererRegistrationCallback.EVENT.invoker() - .registerRenderers(Entities.CLONE, renderer, new RegistrationHelperImpl(accessor::invokeAddFeature), context); + .registerRenderers(POEntities.CLONE, renderer, new RegistrationHelperImpl(accessor::invokeAddFeature), context); return renderer; } } diff --git a/src/main/java/com/provismet/proviorigins/mixin/LivingEntityMixin.java b/src/main/java/com/provismet/proviorigins/mixin/LivingEntityMixin.java index 25dfe87..5b023ef 100644 --- a/src/main/java/com/provismet/proviorigins/mixin/LivingEntityMixin.java +++ b/src/main/java/com/provismet/proviorigins/mixin/LivingEntityMixin.java @@ -2,6 +2,8 @@ import java.util.List; +import com.provismet.proviorigins.content.registries.POStatusEffects; +import com.provismet.proviorigins.utility.tags.PODamageTypeTags; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; @@ -9,7 +11,6 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; -import com.provismet.proviorigins.extras.Tags; import com.provismet.proviorigins.powers.EvadeProjectilesPower; import com.provismet.proviorigins.powers.PreventBreathingPower; import com.provismet.proviorigins.powers.PreventPortalsPower; @@ -75,7 +76,7 @@ private void canBeSplashed (CallbackInfoReturnable cir) { // Untargetable Status Effect @Inject(at=@At("RETURN"), method="canTarget(Lnet/minecraft/entity/LivingEntity;)Z", cancellable=true) private void applyUntargetable (LivingEntity target, CallbackInfoReturnable cir) { - if (target.hasStatusEffect(com.provismet.proviorigins.content.registries.StatusEffects.UNTARGETABLE)) cir.setReturnValue(false); + if (target.hasStatusEffect(POStatusEffects.UNTARGETABLE)) cir.setReturnValue(false); } // Apply double damage from sleep. @@ -84,8 +85,8 @@ private void applySleepDamage (DamageSource source, float amount, CallbackInfoRe if (!source.isIn(DamageTypeTags.BYPASSES_EFFECTS)) { LivingEntity livingEntity = (LivingEntity)(Object)this; - if (livingEntity.hasStatusEffect(com.provismet.proviorigins.content.registries.StatusEffects.SLEEP)) { - livingEntity.removeStatusEffect(com.provismet.proviorigins.content.registries.StatusEffects.SLEEP); + if (livingEntity.hasStatusEffect(POStatusEffects.SLEEP)) { + livingEntity.removeStatusEffect(POStatusEffects.SLEEP); cir.setReturnValue(cir.getReturnValue() * 2); } } @@ -95,13 +96,13 @@ private void applySleepDamage (DamageSource source, float amount, CallbackInfoRe @Inject(at=@At("HEAD"), method="jump", cancellable=true) private void preventSleepJump (CallbackInfo info) { LivingEntity livingEntity = (LivingEntity)(Object)this; - if (livingEntity.hasStatusEffect(com.provismet.proviorigins.content.registries.StatusEffects.SLEEP)) info.cancel(); + if (livingEntity.hasStatusEffect(POStatusEffects.SLEEP)) info.cancel(); } // Allow custom damage sources to disable shields when blocked. @Inject(at=@At(value="INVOKE", target="Lnet/minecraft/entity/LivingEntity;damageShield(F)V", shift=At.Shift.AFTER), method="damage") private void disableShield (DamageSource source, float amount, CallbackInfoReturnable info) { - if (source.isIn(Tags.DamageTypes.DISABLES_SHIELDS) && (LivingEntity)(Object)this instanceof PlayerEntity player) { + if (source.isIn(PODamageTypeTags.DISABLES_SHIELDS) && (LivingEntity)(Object)this instanceof PlayerEntity player) { player.disableShield(true); } } @@ -110,7 +111,7 @@ private void disableShield (DamageSource source, float amount, CallbackInfoRetur @Inject(at=@At("RETURN"), method="blockedByShield", cancellable=true) private void alwaysBlock (DamageSource source, CallbackInfoReturnable cir) { LivingEntity living = (LivingEntity)(Object)this; - if (living.isBlocking() && source.isIn(Tags.DamageTypes.ALWAYS_BLOCK)) cir.setReturnValue(true); + if (living.isBlocking() && source.isIn(PODamageTypeTags.ALWAYS_BLOCK)) cir.setReturnValue(true); } // Evade Projectile Power @@ -124,8 +125,8 @@ private void actOnProjectile (DamageSource source, float amount, CallbackInfoRet @Inject(at=@At("RETURN"), method="canHaveStatusEffect", cancellable=true) private void cannotHaveSleepAndAlert (StatusEffectInstance effectInstance, CallbackInfoReturnable cir) { - if (effectInstance.getEffectType() == com.provismet.proviorigins.content.registries.StatusEffects.SLEEP && - ((LivingEntity)(Object)this).hasStatusEffect(com.provismet.proviorigins.content.registries.StatusEffects.ALERT)) cir.setReturnValue(false); + if (effectInstance.getEffectType() == POStatusEffects.SLEEP && + ((LivingEntity)(Object)this).hasStatusEffect(POStatusEffects.ALERT)) cir.setReturnValue(false); } // Prevent Portal Powers diff --git a/src/main/java/com/provismet/proviorigins/mixin/PlayerEntityMixin.java b/src/main/java/com/provismet/proviorigins/mixin/PlayerEntityMixin.java index 99e44c8..57fea59 100644 --- a/src/main/java/com/provismet/proviorigins/mixin/PlayerEntityMixin.java +++ b/src/main/java/com/provismet/proviorigins/mixin/PlayerEntityMixin.java @@ -9,7 +9,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; -import com.provismet.proviorigins.content.registries.StatusEffects; +import com.provismet.proviorigins.content.registries.POStatusEffects; import com.provismet.proviorigins.powers.ActionOnCriticalHitPower; import com.provismet.proviorigins.powers.ActionOnGainExpPower; import com.provismet.proviorigins.powers.ActionOnGainLevelPower; @@ -52,7 +52,7 @@ private boolean preventCrits (boolean shouldCrit) { @Inject(at=@At("RETURN"), method="getBlockBreakingSpeed", cancellable=true) private void preventBlockBreakWhenSleeping (BlockState block, CallbackInfoReturnable cir) { PlayerEntity player = (PlayerEntity)(Object)this; - if (player.hasStatusEffect(StatusEffects.SLEEP)) cir.setReturnValue(0f); + if (player.hasStatusEffect(POStatusEffects.SLEEP)) cir.setReturnValue(0f); } // Action On Gain Level Power diff --git a/src/main/java/com/provismet/proviorigins/mixin/WorldRendererMixin.java b/src/main/java/com/provismet/proviorigins/mixin/WorldRendererMixin.java index ce999b6..43c5e55 100644 --- a/src/main/java/com/provismet/proviorigins/mixin/WorldRendererMixin.java +++ b/src/main/java/com/provismet/proviorigins/mixin/WorldRendererMixin.java @@ -5,7 +5,7 @@ import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; -import com.provismet.proviorigins.content.registries.StatusEffects; +import com.provismet.proviorigins.content.registries.POStatusEffects; import net.minecraft.client.render.Camera; import net.minecraft.client.render.WorldRenderer; @@ -17,7 +17,7 @@ public abstract class WorldRendererMixin { @Inject(at=@At("RETURN"), method="hasBlindnessOrDarkness", cancellable=true) private void checkForSleep (Camera camera, CallbackInfoReturnable cir) { if (camera.getFocusedEntity() instanceof LivingEntity living) { - if (living.hasStatusEffect(StatusEffects.SLEEP)) cir.setReturnValue(true); + if (living.hasStatusEffect(POStatusEffects.SLEEP)) cir.setReturnValue(true); } } } diff --git a/src/main/java/com/provismet/proviorigins/powers/IllusionPower.java b/src/main/java/com/provismet/proviorigins/powers/IllusionPower.java index dbe2ba9..c71e425 100644 --- a/src/main/java/com/provismet/proviorigins/powers/IllusionPower.java +++ b/src/main/java/com/provismet/proviorigins/powers/IllusionPower.java @@ -3,8 +3,8 @@ import java.util.ArrayList; import java.util.List; +import com.provismet.lilylib.util.MoreMath.RightAngledTriangle; import com.provismet.proviorigins.ProviOriginsMain; -import com.provismet.proviorigins.extras.RightAngledTriangle; import io.github.apace100.apoli.component.PowerHolderComponent; import io.github.apace100.apoli.data.ApoliDataTypes; diff --git a/src/main/java/com/provismet/proviorigins/utility/OriginList.java b/src/main/java/com/provismet/proviorigins/utility/OriginList.java new file mode 100644 index 0000000..bca800e --- /dev/null +++ b/src/main/java/com/provismet/proviorigins/utility/OriginList.java @@ -0,0 +1,65 @@ +package com.provismet.proviorigins.utility; + +import com.provismet.proviorigins.ProviOriginsMain; +import net.minecraft.item.Item; +import net.minecraft.registry.RegistryKey; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.util.Identifier; + +import java.util.List; + +public abstract class OriginList { + public static final OriginEntry COMMON = OriginEntry.of("common"); + public static final OriginEntry LILY_OF_THE_VOID = OriginEntry.of("lily_of_the_void", "voidlily"); + public static final OriginEntry KRAKEN_OF_DECAY = OriginEntry.of("kraken_of_decay", "decaykraken"); + public static final OriginEntry DRAKLING = OriginEntry.of("drakling", "drakling"); + public static final OriginEntry DRAKE = OriginEntry.of("drake", "drakling"); + public static final OriginEntry JELLY_SCULK = OriginEntry.of("jelly", "jellysculk"); + public static final OriginEntry SPLINTER = OriginEntry.of("splinter", "splinter"); + public static final OriginEntry FAERIE_MOTH = OriginEntry.of("fae_moth", "faemoth"); + public static final OriginEntry ALRAUNE = OriginEntry.of("alraune"); + public static final OriginEntry HOMUNCULUS = OriginEntry.of("homunculus"); + public static final OriginEntry CRYSTALLISER = OriginEntry.of("crystalliser"); + + public static final List ALL = List.of( + LILY_OF_THE_VOID, + KRAKEN_OF_DECAY, + DRAKLING, DRAKE, + JELLY_SCULK, + SPLINTER, + FAERIE_MOTH, + ALRAUNE, + HOMUNCULUS, + CRYSTALLISER + ); + + public static class OriginEntry { + public final String fullName; + public final String dataName; + + private OriginEntry (String fullName, String dataName) { + this.fullName = fullName; + this.dataName = dataName; + } + + public RegistryKey getIconKey () { + return RegistryKey.of(RegistryKeys.ITEM, ProviOriginsMain.identifier(this.fullName + "_icon")); + } + + public String getDataPath (String path) { + return String.format("%s/%s", this.dataName, path); + } + + public Identifier getDataId (String path) { + return ProviOriginsMain.identifier(this.getDataPath(path)); + } + + private static OriginEntry of (String fullName, String dataName) { + return new OriginEntry(fullName, dataName); + } + + private static OriginEntry of (String name) { + return new OriginEntry(name, name); + } + } +} diff --git a/src/main/java/com/provismet/proviorigins/utility/tags/POBiomeTags.java b/src/main/java/com/provismet/proviorigins/utility/tags/POBiomeTags.java new file mode 100644 index 0000000..9a86dea --- /dev/null +++ b/src/main/java/com/provismet/proviorigins/utility/tags/POBiomeTags.java @@ -0,0 +1,22 @@ +package com.provismet.proviorigins.utility.tags; + +import com.provismet.proviorigins.ProviOriginsMain; +import com.provismet.proviorigins.utility.OriginList; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.registry.tag.TagKey; +import net.minecraft.world.biome.Biome; + +public abstract class POBiomeTags { + public static final TagKey HOT_UNDERGROUND = POBiomeTags.of(OriginList.COMMON.getDataPath("hot_underground")); + + public static final TagKey HAS_SALTWATER = POBiomeTags.of(OriginList.KRAKEN_OF_DECAY.getDataPath("has_saltwater")); + public static final TagKey IRRELEVANT_SALINITY = POBiomeTags.of(OriginList.KRAKEN_OF_DECAY.getDataPath("irrelevant_salinity")); + public static final TagKey SOUL_COLLECTOR = POBiomeTags.of(OriginList.KRAKEN_OF_DECAY.getDataPath("soul_collector")); + + public static final TagKey ALWAYS_GROW = POBiomeTags.of(OriginList.ALRAUNE.getDataPath("always_grow")); + public static final TagKey NATURAL = POBiomeTags.of(OriginList.ALRAUNE.getDataPath("natural")); + + private static TagKey of (String path) { + return TagKey.of(RegistryKeys.BIOME, ProviOriginsMain.identifier(path)); + } +} diff --git a/src/main/java/com/provismet/proviorigins/utility/tags/POBlockTags.java b/src/main/java/com/provismet/proviorigins/utility/tags/POBlockTags.java new file mode 100644 index 0000000..d56eea0 --- /dev/null +++ b/src/main/java/com/provismet/proviorigins/utility/tags/POBlockTags.java @@ -0,0 +1,31 @@ +package com.provismet.proviorigins.utility.tags; + +import com.provismet.proviorigins.ProviOriginsMain; +import com.provismet.proviorigins.utility.OriginList; +import net.minecraft.block.Block; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.registry.tag.TagKey; + +public abstract class POBlockTags { + public static final TagKey VOID_PLANTABLE = POBlockTags.of("lily_of_the_void_plantable"); + + public static final TagKey VOID_TOUCHING = POBlockTags.of(OriginList.LILY_OF_THE_VOID.getDataPath("void_touching")); + public static final TagKey WEAKLY_VOID_TOUCHING = POBlockTags.of(OriginList.LILY_OF_THE_VOID.getDataPath("weakly_void_touching")); + + public static final TagKey SOUL_FIRES = POBlockTags.of(OriginList.KRAKEN_OF_DECAY.getDataPath("soul_fires")); + public static final TagKey SOUL_FIRES_WITH_FIRE_BLOCKSTATE = POBlockTags.of(OriginList.KRAKEN_OF_DECAY.getDataPath("soul_fires_fire_state")); + public static final TagKey SOUL_FIRES_WITH_LIT_BLOCKSTATE = POBlockTags.of(OriginList.KRAKEN_OF_DECAY.getDataPath("soul_fires_lit_state")); + + public static final TagKey SCULK = POBlockTags.of(OriginList.JELLY_SCULK.getDataPath("sculk")); + + public static final TagKey LARGE_FIRES = POBlockTags.of(OriginList.FAERIE_MOTH.getDataPath("large_fires")); + public static final TagKey LARGE_FIRES_WITH_FIRE_BLOCKSTATE = POBlockTags.of(OriginList.FAERIE_MOTH.getDataPath("large_fires_fire_state")); + public static final TagKey LARGE_FIRES_WITH_LIT_BLOCKSTATE = POBlockTags.of(OriginList.FAERIE_MOTH.getDataPath("large_fires_lit_state")); + public static final TagKey TORCHES = POBlockTags.of(OriginList.FAERIE_MOTH.getDataPath("torches")); + + public static final TagKey FOLIAGE = POBlockTags.of(OriginList.ALRAUNE.getDataPath("foliage")); + + private static TagKey of (String identifierPath) { + return TagKey.of(RegistryKeys.BLOCK, ProviOriginsMain.identifier(identifierPath)); + } +} diff --git a/src/main/java/com/provismet/proviorigins/utility/tags/PODamageTypeTags.java b/src/main/java/com/provismet/proviorigins/utility/tags/PODamageTypeTags.java new file mode 100644 index 0000000..19ce13e --- /dev/null +++ b/src/main/java/com/provismet/proviorigins/utility/tags/PODamageTypeTags.java @@ -0,0 +1,15 @@ +package com.provismet.proviorigins.utility.tags; + +import com.provismet.proviorigins.ProviOriginsMain; +import net.minecraft.entity.damage.DamageType; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.registry.tag.TagKey; + +public abstract class PODamageTypeTags { + public static final TagKey DISABLES_SHIELDS = PODamageTypeTags.of("disables_shields"); + public static final TagKey ALWAYS_BLOCK = PODamageTypeTags.of("always_block"); + + private static TagKey of (String identifierPath) { + return TagKey.of(RegistryKeys.DAMAGE_TYPE, ProviOriginsMain.identifier(identifierPath)); + } +} diff --git a/src/main/java/com/provismet/proviorigins/utility/tags/POEntityTypeTags.java b/src/main/java/com/provismet/proviorigins/utility/tags/POEntityTypeTags.java new file mode 100644 index 0000000..e0eb836 --- /dev/null +++ b/src/main/java/com/provismet/proviorigins/utility/tags/POEntityTypeTags.java @@ -0,0 +1,21 @@ +package com.provismet.proviorigins.utility.tags; + +import com.provismet.proviorigins.ProviOriginsMain; +import com.provismet.proviorigins.utility.OriginList; +import net.minecraft.entity.EntityType; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.registry.tag.TagKey; + +public abstract class POEntityTypeTags { + public static final TagKey> CAN_TRADE = POEntityTypeTags.of(OriginList.COMMON.getDataPath("can_trade")); + + public static final TagKey> GRANTS_EXTRA_SHARDS = POEntityTypeTags.of(OriginList.CRYSTALLISER.getDataPath("extra_shards")); + + public static final TagKey> ALWAYS_DETECT = POEntityTypeTags.of(OriginList.JELLY_SCULK.getDataPath("always_detect")); + public static final TagKey> ALWAYS_VISIBLE = POEntityTypeTags.of(OriginList.JELLY_SCULK.getDataPath("always_visible")); + public static final TagKey> BYPASSES_DETECTION_CHECK = POEntityTypeTags.of(OriginList.JELLY_SCULK.getDataPath("bypass_detection_check")); + + private static TagKey> of (String name) { + return TagKey.of(RegistryKeys.ENTITY_TYPE, ProviOriginsMain.identifier(name)); + } +} diff --git a/src/main/java/com/provismet/proviorigins/utility/tags/POItemTags.java b/src/main/java/com/provismet/proviorigins/utility/tags/POItemTags.java new file mode 100644 index 0000000..dc6e78d --- /dev/null +++ b/src/main/java/com/provismet/proviorigins/utility/tags/POItemTags.java @@ -0,0 +1,44 @@ +package com.provismet.proviorigins.utility.tags; + +import com.provismet.proviorigins.ProviOriginsMain; +import com.provismet.proviorigins.utility.OriginList; +import net.minecraft.item.Item; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.registry.tag.TagKey; + +public abstract class POItemTags { + public static final TagKey HYDRATE_ON_USE = POItemTags.of(OriginList.COMMON.getDataPath("hydration")); + + public static final TagKey GRANTS_ARMOUR = POItemTags.of(OriginList.LILY_OF_THE_VOID.getDataPath("grants_armour")); + public static final TagKey GRANTS_BLINDNESS = POItemTags.of(OriginList.LILY_OF_THE_VOID.getDataPath("grants_blindness")); + public static final TagKey GRANTS_CORRUPTION = POItemTags.of(OriginList.LILY_OF_THE_VOID.getDataPath("grants_corruption")); + public static final TagKey GRANTS_FIRE_RESISTANCE = POItemTags.of(OriginList.LILY_OF_THE_VOID.getDataPath("grants_fire_resistance")); + public static final TagKey GRANTS_GLOW = POItemTags.of(OriginList.LILY_OF_THE_VOID.getDataPath("grants_glow")); + public static final TagKey GRANTS_JUMP_BOOST = POItemTags.of(OriginList.LILY_OF_THE_VOID.getDataPath("grants_jump_boost")); + public static final TagKey GRANTS_NIGHT_VISION = POItemTags.of(OriginList.LILY_OF_THE_VOID.getDataPath("grants_night_vision")); + public static final TagKey GRANTS_REGENERATION = POItemTags.of(OriginList.LILY_OF_THE_VOID.getDataPath("grants_regeneration")); + public static final TagKey GRANTS_SATURATION = POItemTags.of(OriginList.LILY_OF_THE_VOID.getDataPath("grants_saturation")); + public static final TagKey GRANTS_SPEED = POItemTags.of(OriginList.LILY_OF_THE_VOID.getDataPath("grants_speed")); + public static final TagKey GRANTS_TELEPORT = POItemTags.of(OriginList.LILY_OF_THE_VOID.getDataPath("grants_teleport")); + public static final TagKey GRANTS_THORNS = POItemTags.of(OriginList.LILY_OF_THE_VOID.getDataPath("grants_thorns")); + public static final TagKey GRANTS_WATER_BREATHING = POItemTags.of(OriginList.LILY_OF_THE_VOID.getDataPath("grants_water_breathing")); + public static final TagKey GRANTS_WEAKNESS = POItemTags.of(OriginList.LILY_OF_THE_VOID.getDataPath("grants_weakness")); + public static final TagKey GRANTS_WITHER = POItemTags.of(OriginList.LILY_OF_THE_VOID.getDataPath("grants_wither")); + + public static final TagKey SOUL_CARRY = POItemTags.of(OriginList.KRAKEN_OF_DECAY.getDataPath("soul_carry")); + public static final TagKey MAX_SOUL_CONSUME = POItemTags.of(OriginList.KRAKEN_OF_DECAY.getDataPath("max_consume")); + public static final TagKey MEDIUM_SOUL_CONSUME = POItemTags.of(OriginList.KRAKEN_OF_DECAY.getDataPath("medium_consume")); + public static final TagKey WEAK_SOUL_CONSUME = POItemTags.of(OriginList.KRAKEN_OF_DECAY.getDataPath("weak_consume")); + + public static final TagKey LIGHT_SOURCES = POItemTags.of(OriginList.FAERIE_MOTH.getDataPath("light_sources")); + + public static final TagKey SUMMON_AOE = POItemTags.of(OriginList.ALRAUNE.getDataPath("summon_aoe")); + public static final TagKey SUMMON_PROJECTILE = POItemTags.of(OriginList.ALRAUNE.getDataPath("summon_projectile")); + public static final TagKey SUMMON_PULL = POItemTags.of(OriginList.ALRAUNE.getDataPath("summon_pull")); + public static final TagKey SUMMON_PUSH = POItemTags.of(OriginList.ALRAUNE.getDataPath("summon_push")); + public static final TagKey FERTILISER = POItemTags.of(OriginList.ALRAUNE.getDataPath("super_fertiliser")); + + private static TagKey of (String path) { + return TagKey.of(RegistryKeys.ITEM, ProviOriginsMain.identifier(path)); + } +} diff --git a/src/main/resources/assets/proviorigins/blockstates/lily_of_the_void.json b/src/main/resources/assets/proviorigins/blockstates/lily_of_the_void.json deleted file mode 100644 index e1ea965..0000000 --- a/src/main/resources/assets/proviorigins/blockstates/lily_of_the_void.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "proviorigins:block/lily_of_the_void" - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/proviorigins/blockstates/potted_lily_of_the_void.json b/src/main/resources/assets/proviorigins/blockstates/potted_lily_of_the_void.json deleted file mode 100644 index 021f1b2..0000000 --- a/src/main/resources/assets/proviorigins/blockstates/potted_lily_of_the_void.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "proviorigins:block/potted_lily_of_the_void" - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/proviorigins/lang/en_gb.json b/src/main/resources/assets/proviorigins/lang/en_gb.json deleted file mode 100644 index 32140ee..0000000 --- a/src/main/resources/assets/proviorigins/lang/en_gb.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "item.proviorigins.crystalliser_icon": "Crystalliser Origin Icon", - - "tooltip.proviorigins.voidlily.grants_armour": "§8Consume to gain armour.", - - "tooltip.proviorigins.alraune.super_fertiliser": "§8A super effective fertiliser.", - - "power.proviorigins.drakling.chain_crafting.desc": "You can craft chainmail armour.", - "power.proviorigins.drakling.weak_armour.desc": "Your newfound strength allows you to wear stronger armour, but your bodily heat loosens the material and makes it weaker than normal.", - - "power.proviorigins.jellysculk.catalyse.name": "Catalyser", - - "power.proviorigins.alraune.summon_plant.badge.2": "Flower Sprites\n- Will take damage if not placed on plantable blocks such as dirt or grass.\n- Will die after 1200 ticks unless fed with a super fertiliser such as dragon breath.", - - "power.proviorigins.crystalliser.name": "Crystalliser" -} \ No newline at end of file diff --git a/src/main/resources/assets/proviorigins/lang/en_us.json b/src/main/resources/assets/proviorigins/lang/en_us.json deleted file mode 100644 index 52c78af..0000000 --- a/src/main/resources/assets/proviorigins/lang/en_us.json +++ /dev/null @@ -1,302 +0,0 @@ -{ - "category.proviorigins.keys": "Provi's Origins Extra Keys", - - "key.proviorigins.tertiary_active": "Active Skill (Tertiary)", - "key.proviorigins.quaternary_active": "Active Skill (Quaternary)", - - "wiki.proviorigins.wiki": "Wiki", - - "block.proviorigins.lily_of_the_void": "Lily of the Void", - "block.proviorigins.potted_lily_of_the_void": "Potted Lily of the Void", - - "item.proviorigins.kraken_soul_lantern": "Soul Lantern", - "item.proviorigins.solid_lantern": "Lantern", - - "item.proviorigins.lily_of_the_void_icon": "Lily of the Void Origin Icon", - "item.proviorigins.kraken_of_decay_icon": "Kraken of Decay Origin Icon", - "item.proviorigins.drakling_icon": "Drakling Origin Icon", - "item.proviorigins.drake_icon": "Drake Origin Icon", - "item.proviorigins.jelly_icon": "Jelly Sculk Origin Icon", - "item.proviorigins.splinter_icon": "Splinter Origin Icon", - "item.proviorigins.fae_moth_icon": "Faerie Moth Origin Icon", - "item.proviorigins.alraune_icon": "Alraune Origin Icon", - "item.proviorigins.homunculus_icon": "Homunculus Origin Icon", - "item.proviorigins.crystalliser_icon": "Crystallizer Origin Icon", - - "effect.proviorigins.void_corruption": "Void Corruption", - "effect.proviorigins.untargetable": "Illusive", - "effect.proviorigins.sleep": "Sleeping", - "effect.proviorigins.alert": "Alert", - - "subtitles.proviorigins.voidlily.mimic": "Lily mimics", - "subtitles.proviorigins.voidlily.mimic_end": "Lily loses mimic", - "subtitles.proviorigins.voidlily.teleport": "Lily teleports", - - "subtitle.proviorigins.decaykraken.bide": "Kraken bides", - "subtitle.proviorigins.decaykraken.soul_steal": "Kraken grasps", - "subtitle.proviorigins.decaykraken.ink": "Kraken squirts", - "subtitle.proviorigins.decaykraken.salt": "Kraken dissolves", - - "subtitle.proviorigins.drakling.evolve": "Drakling evolves", - "subtitle.proviorigins.drakling.birth": "Drake emerges", - "subtitle.proviorigins.drakling.flap": "Drake flaps", - - "death.attack.freshwater": "%1$s ran out of salt", - "death.attack.freshwater.player": "%1$s lost too much salt whilst fighting %2$s", - "death.attack.freshwater.item": "%1$s lost too much salt trying to deal with %2$s's %3$s", - "death.attack.kraken_soul_steal": "%1$s had their soul stolen by %2$s", - "death.attack.kraken_soul_steal.item": "%1$s had their soul stolen by %2$s using %3$s", - "death.attack.void_corrupted": "%1$s was corrupted by the void", - "death.attack.void_corrupted.player": "%1$s succumbed to the void whilst fighting %2$s", - "death.attack.void_corrupted.item": "%1$s succumbed to the void whilst fighting %2$s using %3$s", - "death.attack.bad_dimension": "%1$s was rejected by the world", - "death.attack.bad_dimension.player": "%1$s returned to the void with help from %2$s", - "death.attack.bad_dimension.item": "%1$s returned to the void with help from %2$s using %3$s", - "death.attack.compost": "%1$s was composted", - "death.attack.compost.player": "%1$s was composted by %2$s", - "death.attack.compost.item": "%1$s was composted by %2$s using %3$s", - "death.attack.crystal_beam": "%1$s was shattered by %2$s", - "death.attack.crystal_beam.item": "%1$s was shattered by %2$s using %3$s", - - "tooltip.proviorigins.common.no_potions": "§8You are unaffected by potions.", - - "tooltip.proviorigins.voidlily.grants_armour": "§8Consume to gain armor.", - "tooltip.proviorigins.voidlily.grants_blindness": "§8Consume to inflict blindness on struck entities.", - "tooltip.proviorigins.voidlily.grants_corruption": "§8Consume to enhance your latent poison with the void.", - "tooltip.proviorigins.voidlily.grants_fire_resistance": "§8Consume to gain fire resistance.", - "tooltip.proviorigins.voidlily.grants_glow": "§8Consume to gain a glow.", - "tooltip.proviorigins.voidlily.grants_jump_boost": "§8Consume to gain jump boost.", - "tooltip.proviorigins.voidlily.grants_night_vision": "§8Consume to gain night vision.", - "tooltip.proviorigins.voidlily.grants_regeneration": "§8Consume to gain regeneration.", - "tooltip.proviorigins.voidlily.grants_saturation": "§8Consume to gain saturation.", - "tooltip.proviorigins.voidlily.grants_speed": "§8Consume to gain speed.", - "tooltip.proviorigins.voidlily.grants_teleport": "§8Consume to perform line-of-sight teleportation.", - "tooltip.proviorigins.voidlily.grants_thorns": "§8Consume to gain thorns, damaging attackers.", - "tooltip.proviorigins.voidlily.grants_weakness": "§8Consume to inflict weakness on struck entities.", - "tooltip.proviorigins.voidlily.grants_wither": "§8Consume to inflict wither on struck entities.", - "tooltip.proviorigins.voidlily.grants_water_breathing": "§8Consume to gain oxygen.", - - "tooltip.proviorigins.decaykraken.weak_soul": "§8Weak Soul", - "tooltip.proviorigins.decaykraken.medium_soul": "§8Medium Soul", - "tooltip.proviorigins.decaykraken.max_soul": "§8Perfect Soul", - - "tooltip.proviorigins.drakling.dragon_head": "§8Wear the flesh of your ancestors and gain their strength.", - - "tooltip.proviorigins.alraune.summons_aoe": "§8Summons a flower that deals damage in an area.", - "tooltip.proviorigins.alraune.summons_pull": "§8Summons a flower that pulls in foes.", - "tooltip.proviorigins.alraune.summons_push": "§8Summons a flower that pushes foes away.", - "tooltip.proviorigins.alraune.summons_projectile": "§8Summons a flower that shoots arrows at foes.", - "tooltip.proviorigins.alraune.super_fertiliser": "§8A super effective fertilizer.", - - "power.proviorigins.common/kill_dragon.badge": "This power is upgraded upon gaining the Free The End advancement.", - - "power.proviorigins.common/brittle.name": "Brittle Body", - "power.proviorigins.common/brittle.description": "You have only 5 hearts.", - "power.proviorigins.common/amphibious.name": "Amphibious", - "power.proviorigins.common/amphibious.description": "You can breathe in both air and water.", - "power.proviorigins.common/pescatarian.name": "Pescatarian", - "power.proviorigins.common/pescatarian.description": "You can only eat fish.", - "power.proviorigins.common/taller.name": "Large Body", - "power.proviorigins.common/taller.description": "You are taller than most with a height of 3 blocks.", - "power.proviorigins.common/slow_swim.name": "Poor Swimmer", - "power.proviorigins.common/slow_swim.description": "You swim very slowly.", - "power.proviorigins.common/double_jump.name": "Floaty Body", - "power.proviorigins.common/double_jump.description": "You can double jump.", - "power.proviorigins.common/no_game_events.name": "Silent Steps", - "power.proviorigins.common/no_game_events.description": "None of your actions emit vibrations.", - "power.proviorigins.common/slow_fall.name": "Slow Descent", - "power.proviorigins.common/slow_fall.description": "Sneaking in the air slows your descent.", - "power.proviorigins.common/exhaust_more.name": "Hyper Metabolism", - "power.proviorigins.common/exhaust_more.description": "Your hunger depletes 50% faster than others.", - "power.proviorigins.common/double_fire_damage.name": "Highly Flammable", - "power.proviorigins.common/double_fire_damage.description": "You take double damage from fire and lava.", - "power.proviorigins.common/no_food.name": "Pure Calcium", - "power.proviorigins.common/no_food.description": "You cannot eat food except for milk.", - "power.proviorigins.common/no_potions.name": "Irregular Chemistry", - "power.proviorigins.common/no_potions.description": "You cannot drink potions.", - "power.proviorigins.common/no_splash_potions.name": "Incompatible Alchemy", - "power.proviorigins.common/no_splash_potions.description": "You are unaffected by potion clouds, including splash and lingering potions.", - "power.proviorigins.common/no_crits.name": "Imprecise", - "power.proviorigins.common/no_crits.description": "You cannot perform critical hits with your attacks.", - "power.proviorigins.common/smaller.name": "Small Body", - "power.proviorigins.common/smaller.description": "You are smaller than most and have a height of 1.15 blocks.", - "power.proviorigins.common/poor_strength.name": "Weak Melee", - "power.proviorigins.common/poor_strength.description": "Your melee hits deal 33% less damage.", - "power.proviorigins.common/hearty.name": "Hearty", - "power.proviorigins.common/hearty.description": "You have 2 additional hearts.", - "power.proviorigins.common/medium_taller.name": "Grown Body", - "power.proviorigins.common/medium_taller.description": "You are slightly taller than others with a height of 2.5 blocks.", - "power.proviorigins.common/dried_up.name": "Dried Up", - "power.proviorigins.common/dried_up.description": "Lose hydration when under the sun in hot biomes and always when in underground hot biomes. Drinking or standing in water restores hydration. You will catch fire after 30 seconds of losing hydration.", - "power.proviorigins.common/no_trades.name": "Merchant Ban", - "power.proviorigins.common/no_trades.description": "Villagers refuse to acknowledge you. You cannot trade with them.", - "power.proviorigins.common/angry_golems.name": "Oppressive Iron", - "power.proviorigins.common/angry_golems.description": "Iron golems view you as hostile and will attack you on-sight.", - "power.proviorigins.common/more_experience.name": "Enhanced Intellect", - "power.proviorigins.common/more_experience.description": "You gain x1.5 more experience.", - "power.proviorigins.common/no_bows.name": "Low Dexterity", - "power.proviorigins.common/no_bows.description": "You are unable to use bows and crossbows.", - - "origin.proviorigins.lily_of_the_void.name": "Lily of the Void", - "origin.proviorigins.lily_of_the_void.description": "Grown from a Void Flower rooted on the skybox, you are connected both to nature and to oblivion.", - "power.proviorigins.voidlily/floral_mimicry.name": "Floral Mimicry", - "power.proviorigins.voidlily/floral_mimicry.description": "You may gain mimicry of any compatible plant held in your main hand, consuming the plant in the process. Mimicries grant buffs and last for a duration, until death, or until overridden by another mimicry.", - "power.proviorigins.voidlily/flower_copy__manual_reset.name": "Born A Lily", - "power.proviorigins.voidlily/flower_copy__manual_reset.description": "You have natural mimicry of lilies, inflicting poison upon struck entities whilst no other mimicry is active.\nAt any time you may forgo your current mimicry and return to this default state.", - "power.proviorigins.voidlily/nether_air.name": "Abyssal Collapse", - "power.proviorigins.voidlily/nether_air.description": "The fabric of the Nether disagrees with you, preventing you from breathing whilst there.", - "power.proviorigins.voidlily/pollination.name": "Pollination", - "power.proviorigins.voidlily/pollination.description": "Nearby bees pollinate you, granting saturation but blinding you in the process.", - "power.proviorigins.voidlily/void_growth.name": "Grow Upon The Skybox", - "power.proviorigins.voidlily/void_growth.description": "Gain strength, speed, air, and saturation when in The End or within 4 blocks of Bedrock, portals, or 4 blocks of Crying Obsidian.", - - "origin.proviorigins.kraken_of_decay.name": "Kraken of Decay", - "origin.proviorigins.kraken_of_decay.description": "A vagrant kraken strays from death, still grasping onto its remnant power.", - "power.proviorigins.decaykraken/evolved.name": "Embodiment of Decay", - "power.proviorigins.decaykraken/evolved.description": "Slaying the Wither threefold has enhanced your connection to death, granting you access to new skills and an immunity to freshwater.", - "power.proviorigins.decaykraken/deaths_vice.name": "Death's Vice", - "power.proviorigins.decaykraken/deaths_vice.description": "Gain access to a resource called Death's Vice that drains slowly over time.", - "power.proviorigins.decaykraken/deaths_vice_empty.name": "Death Vision", - "power.proviorigins.decaykraken/deaths_vice_empty.description": "Suffer from darkness when Death's Vice reaches zero.", - "power.proviorigins.decaykraken/deaths_vice_gain_on_kill.name": "Nothing Wasted", - "power.proviorigins.decaykraken/deaths_vice_gain_on_kill.description": "Gain 0.5 bars of Death's Vice when killing an entity.", - "power.proviorigins.decaykraken/deaths_vice_low_value_penalty.name": "Over-Reliance", - "power.proviorigins.decaykraken/deaths_vice_low_value_penalty.description": "Suffer weakness and slowness when Death's Vice is below 25%.", - "power.proviorigins.decaykraken/deaths_vice_recharge_rate.name": "Longing Embrace", - "power.proviorigins.decaykraken/deaths_vice_recharge_rate.description": "Regain Death's Vice when within 5 blocks of any form of soul fire or when holding a soul lantern in your hand. This bonus is increased in the Nether and further increased in soulful biomes.", - "power.proviorigins.decaykraken/deaths_vice_recharge_rate.badge": "For quality of life purposes, you may craft Soul Lanterns into a unique version that cannot be placed but grants the same held effects.", - "power.proviorigins.decaykraken/propulsion.name": "Ink Propulsion", - "power.proviorigins.decaykraken/propulsion.description": "Expel a cloud of ink to boost yourself in the direction you're facing. This ability is much stronger in water.", - "power.proviorigins.decaykraken/propulsion.badge": "Costs 1 bar of Death's Vice.", - "power.proviorigins.decaykraken/soul_steal.name": "Soul Siphon", - "power.proviorigins.decaykraken/soul_steal.description": "Charge a short-ranged beam of soul energy, if it hits an entity inflict damage and heal yourself.", - "power.proviorigins.decaykraken/soul_steal.badge": "Costs 1.5 bars of Death's Vice.", - "power.proviorigins.decaykraken/soulsand_spreading.name": "Soul Capture", - "power.proviorigins.decaykraken/soulsand_spreading.description": "Killing an undead mob whilst standing on coarse dirt will convert it into soul sand.", - "power.proviorigins.decaykraken/water_glow.name": "Bioluminescence", - "power.proviorigins.decaykraken/water_glow.description": "Gain a glow when submerged in water.", - "power.proviorigins.decaykraken/water_sensitive.name": "Sodium Satiation", - "power.proviorigins.decaykraken/water_sensitive.description": "Sources of freshwater are harmful to you and will drain Death's Vice over time before damaging your health.", - "power.proviorigins.decaykraken/water_sensitive.badge.1": "Freshwater is any Overworld body of water outside of an ocean or beach biome.", - "power.proviorigins.decaykraken/water_sensitive.badge.2": "Water Protection enchantments will delay this effect.", - "power.proviorigins.decaykraken/wither_hit.name": "Touch of Decay", - "power.proviorigins.decaykraken/wither_hit.description": "When Death's Vice is above 6 bars, striking a target consumes half a bar to inflict Wither for 6 seconds.", - "power.proviorigins.decaykraken/wither_hit.badge": "Costs 0.5 bars of Death's Vice.", - "power.proviorigins.decaykraken/slow_on_land.name": "Suction Grip", - "power.proviorigins.decaykraken/slow_on_land.description": "You move slightly slower on land.", - "power.proviorigins.decaykraken/tentacle_grapple.name": "Tentacle Grapple", - "power.proviorigins.decaykraken/tentacle_grapple.description": "Extend a tentacle to grab an entity up to 12 blocks away, pulling them towards you and inflicting slow.", - "power.proviorigins.decaykraken/tentacle_grapple.badge": "Costs 1.5 bars of Death's Vice.", - "power.proviorigins.decaykraken/soul_consume.name": "Soul Collector", - "power.proviorigins.decaykraken/soul_consume.description": "Consume an item that holds a soul. Death's Vice restores based on the strength of the soul held in the item.", - "power.proviorigins.decaykraken/soul_consume.badge": "Weak souls grant 0.25 bars of Death's Vice.\nMedium souls grant 1 bar of Death's Vice.\nPerfect souls will refill your Death's Vice completely.", - - "origin.proviorigins.drakling.name": "Drakling", - "origin.proviorigins.drakling.description": "An emergent dragon, immature and yet brimming with potential.", - "origin.proviorigins.drake.name": "Drake", - "origin.proviorigins.drake.description": "The head of your predecessor has enhanced your growth, you alone soar as the ruler of these skies.", - "power.proviorigins.drakling/chain_crafting.name": "Forge Master", - "power.proviorigins.drakling/chain_crafting.description": "You can craft chainmail armor.", - "power.proviorigins.drakling/dragon_evolution.name": "Becoming Complete", - "power.proviorigins.drakling/dragon_evolution.description": "Wear a dragon head to begin your evolution.", - "power.proviorigins.drakling/enderdragon_mandatory.name": "Draconic Pull", - "power.proviorigins.drakling/enderdragon_mandatory.description": "The Ender Dragon beckons for you. Your flight stamina decreases rapidly when attempting to flee the dragon.", - "power.proviorigins.drakling/short_flight.name": "Broken Wings", - "power.proviorigins.drakling/short_flight.description": "You have natural Elytra wings, but your wings are imperfect, allowing flight only in short bursts.", - "power.proviorigins.drakling/true_flight.name": "Perfected Wings", - "power.proviorigins.drakling/true_flight.description": "You have natural Elytra wings, now perfected you can fly freely and boost yourself in the air.", - "power.proviorigins.drakling/weak_natural_armour.name": "Molten Metal", - "power.proviorigins.drakling/weak_natural_armour.description": "Your newfound strength allows you to wear stronger armor, but your bodily heat loosens the material and makes it weaker than normal.", - "power.proviorigins.drakling/ridable.name": "Mountable", - "power.proviorigins.drakling/ridable.description": "Your strength allows you to carry other players. Other players may press [USE] on you to mount you; you may pick up other players by pressing [USE] on them whilst sneaking.", - "power.proviorigins.drakling/ridable.badge.1": "You cannot carry players in combat with you nor players who already have passengers.", - "power.proviorigins.drakling/ridable.badge.2": "[SNEAK] to force dismount.", - - "origin.proviorigins.jelly.name": "Jelly Sculk", - "origin.proviorigins.jelly.description": "A sculk sensor acted as a polyp, allowing a jellyfish of sculk to be born. Sensing its surroundings, it now dances through the air.", - "power.proviorigins.jellysculk/break_sculk_fast.name": "Dismantled", - "power.proviorigins.jellysculk/break_sculk_fast.description": "You can break sculk very quickly, even with your bare hands.", - "power.proviorigins.jellysculk/buffs_on_sculk.name": "Comforting Familia", - "power.proviorigins.jellysculk/buffs_on_sculk.description": "You gain buffs whilst standing on sculk.", - "power.proviorigins.jellysculk/create_sensor.name": "Spreading Your Senses", - "power.proviorigins.jellysculk/create_sensor.description": "You can spend experience to grow a sculk sensor on top of a sculk block.", - "power.proviorigins.jellysculk/create_sensor.badge": "[USE] with an empty hand while sneaking to activate.", - "power.proviorigins.jellysculk/debuffs_off_sculk.name": "Away From Home", - "power.proviorigins.jellysculk/debuffs_off_sculk.description": "You are afflicted with darkness when not standing on sculk.", - "power.proviorigins.jellysculk/entity_detect.name": "Vibratory Sight", - "power.proviorigins.jellysculk/entity_detect.description": "You can only see entities around you through their vibrations. Sculk Sensors and Shriekers can also extend their signals to you, revealing entities they detect.", - "power.proviorigins.jellysculk/entity_detect.badge": "Team members and tamed animals are always visible.", - "power.proviorigins.jellysculk/spread_sculk.name": "Spreading Your Domain", - "power.proviorigins.jellysculk/spread_sculk.description": "You can spend experience points to spread sculk to any sculk replaceable block.", - "power.proviorigins.jellysculk/spread_sculk.badge": "[USE] with an empty hand while sneaking to activate.", - "power.proviorigins.jellysculk/catalyse.name": "Catalyzer", - "power.proviorigins.jellysculk/catalyse.description": "Occasionally spread sculk veins when gaining experience.", - - "origin.proviorigins.splinter.name": "Splinter", - "origin.proviorigins.splinter.description": "A fragile warrior, but a master of deception and fragmentation. The Splinter uses summoned clones of themself and trickery to survive.", - "power.proviorigins.splinter/arcane_glow.name": "Mana Glow", - "power.proviorigins.splinter/arcane_glow.description": "You glow based on the amount of mana you currently have.", - "power.proviorigins.splinter/fragment.name": "Fragment", - "power.proviorigins.splinter/fragment.description": "Summon a clone of yourself at your current location. Summoning clones uses concentration instead of mana.", - "power.proviorigins.splinter/fragment.badge1": "Clones inherit your equipment and will fight for you.\nPress [USE] on a clone to 'sit' them like an animal.", - "power.proviorigins.splinter/fragment.badge2": "Costs 1 concentration.", - "power.proviorigins.splinter/resource_recharge.name": "Arcane Energy", - "power.proviorigins.splinter/resource_recharge.description": "You have access to a mana resource with which to cast spells and concentration to summon clones.", - "power.proviorigins.splinter/distortion.name": "Illusory Presence", - "power.proviorigins.splinter/distortion.description": "Blind enemies within a 6 block radius, become untargetable, and create mirror images of yourself and your clones.", - "power.proviorigins.splinter/distortion.badge": "Costs 2 bars of mana.", - "power.proviorigins.splinter/swap.name": "Misdirection", - "power.proviorigins.splinter/swap.description": "Swap places with the clone you are looking at, or if sneaking swap places with the furthest clone within 32 blocks.", - "power.proviorigins.splinter/swap.badge": "Costs 2 bars of mana.", - "power.proviorigins.splinter/dodge_projectiles.name": "Evasive", - "power.proviorigins.splinter/dodge_projectiles.description": "Dodge projectiles when sneaking.", - "power.proviorigins.splinter/dodge_projectiles.badge": "Costs 2 bars of mana.", - - "origin.proviorigins.fae_moth.name": "Faerie Moth", - "origin.proviorigins.fae_moth.description": "The fae live with nature, adapting to it. This creature chose the likeness of a moth.", - "power.proviorigins.faemoth/faerie_dust.name": "Faerie Dust", - "power.proviorigins.faemoth/faerie_dust.description": "Your moth-like body produces a magical powder when near appropriate light sources. Being in direct sunlight or too far from light will erode the powder.", - "power.proviorigins.faemoth/faerie_dust.badge1": "Artificial fire-related light sources such as torches, campfires, and lanterns allow you to produce Faerie Dust.", - "power.proviorigins.faemoth/faerie_dust.badge2": "Torches and lanterns held by yourself or other nearby players will also apply to this power.", - "power.proviorigins.faemoth/faerie_dust.badge3": "For quality of life purposes, you may craft Lanterns into a unique version that cannot be placed but grants the same held effects.", - "power.proviorigins.faemoth/flutter.name": "Flutter", - "power.proviorigins.faemoth/flutter.description": "Use your wings to boost yourself into the air: you have mid-air jumps.", - "power.proviorigins.faemoth/flutter.badge": "Costs 1 bar of Faerie Dust.", - "power.proviorigins.faemoth/crit_passive.name": "Hypnotic Powder", - "power.proviorigins.faemoth/crit_passive.description": "Critical strikes with a sword will lace an opponent with a layer faerie dust. A target that has three layers on them at once will be put to sleep for a few seconds.", - "power.proviorigins.faemoth/crit_passive.badge1": "Sleep is a new status effect that disables an entity's movement, strength, and vision.\nEntities with Sleep take double damage, but the effect is then immediately removed.", - "power.proviorigins.faemoth/crit_passive.badge2": "Costs 1.5 bars of Faerie Dust per layer.", - "power.proviorigins.faemoth/share_buffs.name": "Blessings of the Fae", - "power.proviorigins.faemoth/share_buffs.description": "Share speed, strength, and regeneration effects that you currently have with all allies in an 8 block radius.", - "power.proviorigins.faemoth/share_buffs.badge": "Costs 3.5 bars of Faerie Dust.", - - "origin.proviorigins.alraune.name": "Alraune", - "origin.proviorigins.alraune.description": "Blooming from the energy of the forest, you are a facet of nature itself: one whom grows and is protected by nature.", - "power.proviorigins.alraune/photosynthesis.name": "Photosynthesis", - "power.proviorigins.alraune/photosynthesis.description": "Slowly gain regain food and saturation when exposed to sunlight.", - "power.proviorigins.alraune/through_grass.name": "Unrestricted Herb", - "power.proviorigins.alraune/through_grass.description": "Nature moves out of your way, you can strike through foliage when not sneaking.", - "power.proviorigins.alraune/life_sap.name": "Sap of Life", - "power.proviorigins.alraune/life_sap.description": "Your connection to nature allows you to harness its power. Using this power allows you to transform flowers into placed turrets that aid you in battle.", - "power.proviorigins.alraune/summon_plant.name": "Floral Summoning", - "power.proviorigins.alraune/summon_plant.description": "Using your connection to nature allows you to empower flowers into stationary Flower Sprites that damage and hinder nearby enemies.", - "power.proviorigins.alraune/summon_plant.badge.1": "Costs 1 Sap of Life.", - "power.proviorigins.alraune/summon_plant.badge.2": "Flower Sprites\n- Will take damage if not placed on plantable blocks such as dirt or grass.\n- Will die after 1200 ticks unless fed with a super fertilizer such as dragon breath.", - "power.proviorigins.alraune/summon_plant.badge.3": "Flower Sprites have different requirements for different biomes.\n- Most biomes require the Sprite to be exposed to sunlight.\n- For biomes with denser foliage, such as forests, only exposure to the sky is required.\n- Some biomes, such as Lush Caves, will allow Flower Sprites to grow regardless.\n- Use bone meal on a Flower Sprite to bypass this limitation.", - - "origin.proviorigins.homunculus.name": "Homunculus", - "origin.proviorigins.homunculus.description": "An artificial human, created by witchcraft and seen as a outlier by all of society.", - - "origin.proviorigins.crystalliser.name": "Crystallizer", - "origin.proviorigins.crystalliser.description": "An amalgam of shards left behind from exploded End Crystals. After gaining sapience, you've retained a similar level of strength.", - "power.proviorigins.crystalliser/summon_follower.name": "Deadly Refraction", - "power.proviorigins.crystalliser/summon_follower.description": "Deplete your crystal shards to summon a full crystal above your head. The crystal follows you and attacks your enemies from up to 32 blocks away.", - "power.proviorigins.crystalliser/summon_follower.badge": "Costs every bar of Crystal Shards.", - "power.proviorigins.crystalliser/crystal_charging.name": "Shard Collector", - "power.proviorigins.crystalliser/crystal_charging.description": "Gain crystal shards when dealing critical hits, taking attacks, and killing enemies.", - "power.proviorigins.crystalliser/shard_absorb.name": "Shard Absorption", - "power.proviorigins.crystalliser/shard_absorb.description": "Consume some of your crystal shards and regain 2 hearts of health.", - "power.proviorigins.crystalliser/shard_absorb.badge": "Costs 1 bar of Crystal Shards.", - "power.proviorigins.crystalliser/explosion_resist.name": "Explosive Nature", - "power.proviorigins.crystalliser/explosion_resist.description": "You take 75% less explosion damage." -} \ No newline at end of file diff --git a/src/main/resources/assets/proviorigins/models/block/lily_of_the_void.json b/src/main/resources/assets/proviorigins/models/block/lily_of_the_void.json deleted file mode 100644 index f9b9c7e..0000000 --- a/src/main/resources/assets/proviorigins/models/block/lily_of_the_void.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cross", - "textures": { - "cross": "proviorigins:block/lily_of_the_void" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/proviorigins/models/block/potted_lily_of_the_void.json b/src/main/resources/assets/proviorigins/models/block/potted_lily_of_the_void.json deleted file mode 100644 index dba5bca..0000000 --- a/src/main/resources/assets/proviorigins/models/block/potted_lily_of_the_void.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/flower_pot_cross", - "textures": { - "plant": "proviorigins:block/lily_of_the_void" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/proviorigins/models/item/alraune_icon.json b/src/main/resources/assets/proviorigins/models/item/alraune_icon.json deleted file mode 100644 index 7bc8737..0000000 --- a/src/main/resources/assets/proviorigins/models/item/alraune_icon.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "proviorigins:icons/alraune" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/proviorigins/models/item/crystalliser_icon.json b/src/main/resources/assets/proviorigins/models/item/crystalliser_icon.json deleted file mode 100644 index 69db14d..0000000 --- a/src/main/resources/assets/proviorigins/models/item/crystalliser_icon.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "proviorigins:icons/crystalliser" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/proviorigins/models/item/drake_icon.json b/src/main/resources/assets/proviorigins/models/item/drake_icon.json deleted file mode 100644 index bd73193..0000000 --- a/src/main/resources/assets/proviorigins/models/item/drake_icon.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "proviorigins:icons/drake" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/proviorigins/models/item/drakling_icon.json b/src/main/resources/assets/proviorigins/models/item/drakling_icon.json deleted file mode 100644 index 6549cb2..0000000 --- a/src/main/resources/assets/proviorigins/models/item/drakling_icon.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "proviorigins:icons/drakling" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/proviorigins/models/item/fae_moth_icon.json b/src/main/resources/assets/proviorigins/models/item/fae_moth_icon.json deleted file mode 100644 index 5e8e1c3..0000000 --- a/src/main/resources/assets/proviorigins/models/item/fae_moth_icon.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "proviorigins:icons/fae_moth" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/proviorigins/models/item/homunculus_icon.json b/src/main/resources/assets/proviorigins/models/item/homunculus_icon.json deleted file mode 100644 index 3b84153..0000000 --- a/src/main/resources/assets/proviorigins/models/item/homunculus_icon.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "proviorigins:icons/homunculus" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/proviorigins/models/item/jelly_icon.json b/src/main/resources/assets/proviorigins/models/item/jelly_icon.json deleted file mode 100644 index aa18cb3..0000000 --- a/src/main/resources/assets/proviorigins/models/item/jelly_icon.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "proviorigins:icons/jelly" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/proviorigins/models/item/kraken_of_decay_icon.json b/src/main/resources/assets/proviorigins/models/item/kraken_of_decay_icon.json deleted file mode 100644 index 7950844..0000000 --- a/src/main/resources/assets/proviorigins/models/item/kraken_of_decay_icon.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "proviorigins:icons/kraken_of_decay" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/proviorigins/models/item/lily_of_the_void.json b/src/main/resources/assets/proviorigins/models/item/lily_of_the_void.json deleted file mode 100644 index 484dc90..0000000 --- a/src/main/resources/assets/proviorigins/models/item/lily_of_the_void.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "proviorigins:block/lily_of_the_void" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/proviorigins/models/item/lily_of_the_void_icon.json b/src/main/resources/assets/proviorigins/models/item/lily_of_the_void_icon.json deleted file mode 100644 index 48bc1e8..0000000 --- a/src/main/resources/assets/proviorigins/models/item/lily_of_the_void_icon.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "proviorigins:icons/lily_of_the_void" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/proviorigins/models/item/splinter_icon.json b/src/main/resources/assets/proviorigins/models/item/splinter_icon.json deleted file mode 100644 index a137dff..0000000 --- a/src/main/resources/assets/proviorigins/models/item/splinter_icon.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "proviorigins:icons/splinter" - } -} \ No newline at end of file diff --git a/src/main/resources/data/c/tags/items/hidden_from_recipe_viewers.json b/src/main/resources/data/c/tags/items/hidden_from_recipe_viewers.json deleted file mode 100644 index 95831f2..0000000 --- a/src/main/resources/data/c/tags/items/hidden_from_recipe_viewers.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "values": [ - "proviorigins:lily_of_the_void_icon", - "proviorigins:kraken_of_decay_icon", - "proviorigins:jelly_icon", - "proviorigins:drakling_icon", - "proviorigins:drake_icon", - "proviorigins:splinter_icon", - "proviorigins:fae_moth_icon", - "proviorigins:alraune_icon", - "proviorigins:homunculus_icon", - "proviorigins:crystalliser_icon" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/blocks/small_flowers.json b/src/main/resources/data/minecraft/tags/blocks/small_flowers.json deleted file mode 100644 index ee7f3b1..0000000 --- a/src/main/resources/data/minecraft/tags/blocks/small_flowers.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "values": [ - "proviorigins:lily_of_the_void" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/items/piglin_repellents.json b/src/main/resources/data/minecraft/tags/items/piglin_repellents.json deleted file mode 100644 index 6df2f14..0000000 --- a/src/main/resources/data/minecraft/tags/items/piglin_repellents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "proviorigins:kraken_soul_lantern" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/items/small_flowers.json b/src/main/resources/data/minecraft/tags/items/small_flowers.json deleted file mode 100644 index ee7f3b1..0000000 --- a/src/main/resources/data/minecraft/tags/items/small_flowers.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "values": [ - "proviorigins:lily_of_the_void" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/loot_tables/blocks/lily_of_the_void.json b/src/main/resources/data/proviorigins/loot_tables/blocks/lily_of_the_void.json deleted file mode 100644 index 929d887..0000000 --- a/src/main/resources/data/proviorigins/loot_tables/blocks/lily_of_the_void.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "proviorigins:lily_of_the_void" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} diff --git a/src/main/resources/data/proviorigins/powers/faemoth/crit_passive.json b/src/main/resources/data/proviorigins/powers/faemoth/crit_passive.json index 937a67a..b86df64 100644 --- a/src/main/resources/data/proviorigins/powers/faemoth/crit_passive.json +++ b/src/main/resources/data/proviorigins/powers/faemoth/crit_passive.json @@ -3,11 +3,11 @@ "badges": [ { "sprite": "origins:textures/gui/badge/info.png", - "text": "power.proviorigins.faemoth/crit_passive.badge1" + "text": "power.proviorigins.faemoth/crit_passive.badge.1" }, { "sprite": "proviorigins:textures/gui/badge/cost.png", - "text": "power.proviorigins.faemoth/crit_passive.badge2" + "text": "power.proviorigins.faemoth/crit_passive.badge.2" } ], "bientity_action": { diff --git a/src/main/resources/data/proviorigins/powers/faemoth/faerie_dust.json b/src/main/resources/data/proviorigins/powers/faemoth/faerie_dust.json index cb1c7b1..c042394 100644 --- a/src/main/resources/data/proviorigins/powers/faemoth/faerie_dust.json +++ b/src/main/resources/data/proviorigins/powers/faemoth/faerie_dust.json @@ -3,15 +3,15 @@ "badges": [ { "sprite": "origins:textures/gui/badge/info.png", - "text": "power.proviorigins.faemoth/faerie_dust.badge1" + "text": "power.proviorigins.faemoth/faerie_dust.badge.1" }, { "sprite": "origins:textures/gui/badge/info.png", - "text": "power.proviorigins.faemoth/faerie_dust.badge2" + "text": "power.proviorigins.faemoth/faerie_dust.badge.2" }, { "sprite": "origins:textures/gui/badge/info.png", - "text": "power.proviorigins.faemoth/faerie_dust.badge3" + "text": "power.proviorigins.faemoth/faerie_dust.badge.3" }, { "type": "origins:crafting_recipe", diff --git a/src/main/resources/data/proviorigins/powers/splinter/fragment.json b/src/main/resources/data/proviorigins/powers/splinter/fragment.json index 9f8af1e..6798406 100644 --- a/src/main/resources/data/proviorigins/powers/splinter/fragment.json +++ b/src/main/resources/data/proviorigins/powers/splinter/fragment.json @@ -7,11 +7,11 @@ }, { "sprite": "origins:textures/gui/badge/info.png", - "text": "power.proviorigins.splinter/fragment.badge1" + "text": "power.proviorigins.splinter/fragment.badge.1" }, { "sprite": "proviorigins:textures/gui/badge/cost.png", - "text": "power.proviorigins.splinter/fragment.badge2" + "text": "power.proviorigins.splinter/fragment.badge.2" } ], "key": { diff --git a/src/main/resources/data/proviorigins/tags/blocks/alraune/foliage.json b/src/main/resources/data/proviorigins/tags/blocks/alraune/foliage.json deleted file mode 100644 index 3edac5e..0000000 --- a/src/main/resources/data/proviorigins/tags/blocks/alraune/foliage.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "values": [ - "#minecraft:flowers", - "#minecraft:saplings", - { - "id": "#c:plant", - "required": false - }, - { - "id": "#c:seeds", - "required": false - }, - { - "id": "#apoli:material/plant", - "required": false - }, - { - "id": "#apoli:material/replaceable_plant", - "required": false - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/blocks/decaykraken/soul_fire_fire_state.json b/src/main/resources/data/proviorigins/tags/blocks/decaykraken/soul_fire_fire_state.json deleted file mode 100644 index b4d17fc..0000000 --- a/src/main/resources/data/proviorigins/tags/blocks/decaykraken/soul_fire_fire_state.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "values": [ - { - "id": "betternether:cincinnasite_fire_bowl_soul", - "required": false - }, - { - "id": "betternether:bricks_fire_bowl_soul", - "required": false - }, - { - "id": "betternether:netherite_fire_bowl_soul", - "required": false - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/blocks/decaykraken/soul_fire_lit_state.json b/src/main/resources/data/proviorigins/tags/blocks/decaykraken/soul_fire_lit_state.json deleted file mode 100644 index e7e641f..0000000 --- a/src/main/resources/data/proviorigins/tags/blocks/decaykraken/soul_fire_lit_state.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "values": [ - "minecraft:soul_campfire" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/blocks/decaykraken/soul_fires.json b/src/main/resources/data/proviorigins/tags/blocks/decaykraken/soul_fires.json deleted file mode 100644 index fe8e1b4..0000000 --- a/src/main/resources/data/proviorigins/tags/blocks/decaykraken/soul_fires.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "values": [ - "minecraft:soul_torch", - "minecraft:soul_wall_torch", - "minecraft:soul_lantern", - "minecraft:soul_fire" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/blocks/faemoth/large_fires.json b/src/main/resources/data/proviorigins/tags/blocks/faemoth/large_fires.json deleted file mode 100644 index 9fc2007..0000000 --- a/src/main/resources/data/proviorigins/tags/blocks/faemoth/large_fires.json +++ /dev/null @@ -1,272 +0,0 @@ -{ - "values": [ - "minecraft:lantern", - "minecraft:soul_lantern", - "minecraft:fire", - "minecraft:soul_fire", - { - "id": "betterend:flavolite_lantern", - "required": false - }, - { - "id": "betterend:violecite_lantern", - "required": false - }, - { - "id": "betterend:sulphuric_rock_lantern", - "required": false - }, - { - "id": "betterend:virid_jadestone_lantern", - "required": false - }, - { - "id": "betterend:azure_jadestone_lantern", - "required": false - }, - { - "id": "betterend:sandy_jadestone_lantern", - "required": false - }, - { - "id": "betterend:umbralith_lantern", - "required": false - }, - { - "id": "betterend:thallasium_bulb_lantern", - "required": false - }, - { - "id": "betterend:thallasium_bulb_lantern_white", - "required": false - }, - { - "id": "betterend:thallasium_bulb_lantern_gray", - "required": false - }, - { - "id": "betterend:thallasium_bulb_lantern_light_gray", - "required": false - }, - { - "id": "betterend:thallasium_bulb_lantern_black", - "required": false - }, - { - "id": "betterend:thallasium_bulb_lantern_blue", - "required": false - }, - { - "id": "betterend:thallasium_bulb_lantern_lime", - "required": false - }, - { - "id": "betterend:thallasium_bulb_lantern_magenta", - "required": false - }, - { - "id": "betterend:thallasium_bulb_lantern_red", - "required": false - }, - { - "id": "betterend:thallasium_bulb_lantern_orange", - "required": false - }, - { - "id": "betterend:thallasium_bulb_lantern_purple", - "required": false - }, - { - "id": "betterend:thallasium_bulb_lantern_cyan", - "required": false - }, - { - "id": "betterend:thallasium_bulb_lantern_brown", - "required": false - }, - { - "id": "betterend:thallasium_bulb_lantern_green", - "required": false - }, - { - "id": "betterend:thallasium_bulb_lantern_yellow", - "required": false - }, - { - "id": "betterend:thallasium_bulb_lantern_pink", - "required": false - }, - { - "id": "betterend:thallasium_bulb_lantern_light_blue", - "required": false - }, - { - "id": "betterend:terminite_bulb_lantern", - "required": false - }, - { - "id": "betterend:terminite_bulb_lantern_white", - "required": false - }, - { - "id": "betterend:terminite_bulb_lantern_gray", - "required": false - }, - { - "id": "betterend:terminite_bulb_lantern_light_gray", - "required": false - }, - { - "id": "betterend:terminite_bulb_lantern_black", - "required": false - }, - { - "id": "betterend:terminite_bulb_lantern_blue", - "required": false - }, - { - "id": "betterend:terminite_bulb_lantern_lime", - "required": false - }, - { - "id": "betterend:terminite_bulb_lantern_magenta", - "required": false - }, - { - "id": "betterend:terminite_bulb_lantern_red", - "required": false - }, - { - "id": "betterend:terminite_bulb_lantern_orange", - "required": false - }, - { - "id": "betterend:terminite_bulb_lantern_purple", - "required": false - }, - { - "id": "betterend:terminite_bulb_lantern_cyan", - "required": false - }, - { - "id": "betterend:terminite_bulb_lantern_brown", - "required": false - }, - { - "id": "betterend:terminite_bulb_lantern_green", - "required": false - }, - { - "id": "betterend:terminite_bulb_lantern_yellow", - "required": false - }, - { - "id": "betterend:terminite_bulb_lantern_pink", - "required": false - }, - { - "id": "betterend:terminite_bulb_lantern_light_blue", - "required": false - }, - { - "id": "betterend:andesite_lantern", - "required": false - }, - { - "id": "betterend:diorite_lantern", - "required": false - }, - { - "id": "betterend:granite_lantern", - "required": false - }, - { - "id": "betterend:quartz_lantern", - "required": false - }, - { - "id": "betterend:purpur_lantern", - "required": false - }, - { - "id": "betterend:end_stone_lantern", - "required": false - }, - { - "id": "betterend:blackstone_lantern", - "required": false - }, - { - "id": "betterend:iron_bulb_lantern", - "required": false - }, - { - "id": "betterend:iron_bulb_lantern_white", - "required": false - }, - { - "id": "betterend:iron_bulb_lantern_gray", - "required": false - }, - { - "id": "betterend:iron_bulb_lantern_light_gray", - "required": false - }, - { - "id": "betterend:iron_bulb_lantern_black", - "required": false - }, - { - "id": "betterend:iron_bulb_lantern_blue", - "required": false - }, - { - "id": "betterend:iron_bulb_lantern_lime", - "required": false - }, - { - "id": "betterend:iron_bulb_lantern_magenta", - "required": false - }, - { - "id": "betterend:iron_bulb_lantern_red", - "required": false - }, - { - "id": "betterend:iron_bulb_lantern_orange", - "required": false - }, - { - "id": "betterend:iron_bulb_lantern_purple", - "required": false - }, - { - "id": "betterend:iron_bulb_lantern_cyan", - "required": false - }, - { - "id": "betterend:iron_bulb_lantern_brown", - "required": false - }, - { - "id": "betterend:iron_bulb_lantern_green", - "required": false - }, - { - "id": "betterend:iron_bulb_lantern_yellow", - "required": false - }, - { - "id": "betterend:iron_bulb_lantern_pink", - "required": false - }, - { - "id": "betterend:iron_bulb_lantern_light_blue", - "required": false - }, - { - "id": "betternether:cincinnasite_lantern_small", - "required": false - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/blocks/faemoth/large_fires_fire_state.json b/src/main/resources/data/proviorigins/tags/blocks/faemoth/large_fires_fire_state.json deleted file mode 100644 index c899ee3..0000000 --- a/src/main/resources/data/proviorigins/tags/blocks/faemoth/large_fires_fire_state.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "values": [ - "#proviorigins:decaykraken/soul_fire_fire_state", - { - "id": "betternether:cincinnasite_fire_bowl", - "required": false - }, - { - "id": "betternether:bricks_fire_bowl", - "required": false - }, - { - "id": "betternether:netherite_fire_bowl", - "required": false - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/blocks/faemoth/large_fires_lit_state.json b/src/main/resources/data/proviorigins/tags/blocks/faemoth/large_fires_lit_state.json deleted file mode 100644 index 57a941b..0000000 --- a/src/main/resources/data/proviorigins/tags/blocks/faemoth/large_fires_lit_state.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "values": [ - "#proviorigins:decaykraken/soul_fire_lit_state", - "minecraft:campfire" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/blocks/faemoth/torches.json b/src/main/resources/data/proviorigins/tags/blocks/faemoth/torches.json deleted file mode 100644 index 008123d..0000000 --- a/src/main/resources/data/proviorigins/tags/blocks/faemoth/torches.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "values": [ - "#minecraft:candles", - "minecraft:torch", - "minecraft:wall_torch", - "minecraft:soul_torch", - "minecraft:soul_wall_torch", - { - "id": "betternether:willow_torch", - "required": false - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/blocks/jellysculk/sculk.json b/src/main/resources/data/proviorigins/tags/blocks/jellysculk/sculk.json deleted file mode 100644 index 36ffc88..0000000 --- a/src/main/resources/data/proviorigins/tags/blocks/jellysculk/sculk.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "values": [ - "minecraft:sculk", - "minecraft:sculk_sensor", - "minecraft:sculk_shrieker", - "minecraft:sculk_vein" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/blocks/lily_of_the_void_plantable.json b/src/main/resources/data/proviorigins/tags/blocks/lily_of_the_void_plantable.json deleted file mode 100644 index fe76414..0000000 --- a/src/main/resources/data/proviorigins/tags/blocks/lily_of_the_void_plantable.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "values": [ - "#proviorigins:voidlily/void_touching", - "#proviorigins:voidlily/weakly_void_touching", - { - "id": "betterend:shadow_grass", - "required": false - }, - { - "id": "betterend:chorus_nylium", - "required": false - }, - { - "id": "betterend:pink_moss", - "required": false - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/blocks/voidlily/void_touching.json b/src/main/resources/data/proviorigins/tags/blocks/voidlily/void_touching.json deleted file mode 100644 index fa99409..0000000 --- a/src/main/resources/data/proviorigins/tags/blocks/voidlily/void_touching.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "values": [ - "minecraft:bedrock", - "minecraft:respawn_anchor", - "#minecraft:portals" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/blocks/voidlily/weakly_void_touching.json b/src/main/resources/data/proviorigins/tags/blocks/voidlily/weakly_void_touching.json deleted file mode 100644 index 2a3e694..0000000 --- a/src/main/resources/data/proviorigins/tags/blocks/voidlily/weakly_void_touching.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "replace": false, - "values": [ - "minecraft:crying_obsidian", - { - "id": "betternether:weeping_obsidian", - "required": false - }, - { - "id": "betternether:blue_crying_obsidian", - "required": false - }, - { - "id": "betternether:blue_weeping_obsidian", - "required": false - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/entity_types/common/can_trade.json b/src/main/resources/data/proviorigins/tags/entity_types/common/can_trade.json deleted file mode 100644 index 0d29db1..0000000 --- a/src/main/resources/data/proviorigins/tags/entity_types/common/can_trade.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "values": [ - "minecraft:villager", - "minecraft:wandering_trader" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/entity_types/crystalliser/extra_shards.json b/src/main/resources/data/proviorigins/tags/entity_types/crystalliser/extra_shards.json deleted file mode 100644 index f1017f7..0000000 --- a/src/main/resources/data/proviorigins/tags/entity_types/crystalliser/extra_shards.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "values": [ - "minecraft:player", - "proviorigins:player_clone", - "#c:bosses" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/entity_types/jellysculk/always_detect.json b/src/main/resources/data/proviorigins/tags/entity_types/jellysculk/always_detect.json deleted file mode 100644 index f154595..0000000 --- a/src/main/resources/data/proviorigins/tags/entity_types/jellysculk/always_detect.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "values": [ - "#c:bosses", - "minecraft:ghast", - "minecraft:phantom", - "minecraft:warden" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/entity_types/jellysculk/always_visible.json b/src/main/resources/data/proviorigins/tags/entity_types/jellysculk/always_visible.json deleted file mode 100644 index 97cf42f..0000000 --- a/src/main/resources/data/proviorigins/tags/entity_types/jellysculk/always_visible.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "values": [ - "minecraft:armor_stand" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/entity_types/jellysculk/bypass_detection_check.json b/src/main/resources/data/proviorigins/tags/entity_types/jellysculk/bypass_detection_check.json deleted file mode 100644 index 853ec82..0000000 --- a/src/main/resources/data/proviorigins/tags/entity_types/jellysculk/bypass_detection_check.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "values": [ - "#proviorigins:jellysculk/always_detect", - "#proviorigins:jellysculk/always_visible" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/items/alraune/summon_aoe.json b/src/main/resources/data/proviorigins/tags/items/alraune/summon_aoe.json deleted file mode 100644 index 03e5fbc..0000000 --- a/src/main/resources/data/proviorigins/tags/items/alraune/summon_aoe.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "values": [ - "minecraft:torchflower", - "minecraft:red_tulip", - "minecraft:orange_tulip", - "minecraft:white_tulip", - "minecraft:pink_tulip", - "minecraft:blue_orchid", - "minecraft:oxeye_daisy", - { - "id": "betterend:flammalix", - "required": false - }, - { - "id": "betterend:aeridium", - "required": false - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/items/alraune/summon_projectile.json b/src/main/resources/data/proviorigins/tags/items/alraune/summon_projectile.json deleted file mode 100644 index eb28d84..0000000 --- a/src/main/resources/data/proviorigins/tags/items/alraune/summon_projectile.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "values": [ - "#proviorigins:voidlily/grants_corruption", - "minecraft:wither_rose" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/items/alraune/summon_pull.json b/src/main/resources/data/proviorigins/tags/items/alraune/summon_pull.json deleted file mode 100644 index 9d77a82..0000000 --- a/src/main/resources/data/proviorigins/tags/items/alraune/summon_pull.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "values": [ - "minecraft:pitcher_plant", - "minecraft:poppy", - "minecraft:azure_bluet", - "minecraft:sunflower", - "minecraft:peony", - { - "id": "betterend:tenanea_flowers", - "required": false - }, - { - "id": "betterend:twisted_umbrella_moss", - "required": false - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/items/alraune/summon_push.json b/src/main/resources/data/proviorigins/tags/items/alraune/summon_push.json deleted file mode 100644 index cd16604..0000000 --- a/src/main/resources/data/proviorigins/tags/items/alraune/summon_push.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "values": [ - "minecraft:rose_bush", - "minecraft:dandelion", - "minecraft:allium", - "minecraft:cornflower", - "minecraft:lilac", - { - "id": "betterend:blooming_cooksonia", - "required": false - }, - { - "id": "betterend:umbrella_moss", - "required": false - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/items/alraune/super_fertiliser.json b/src/main/resources/data/proviorigins/tags/items/alraune/super_fertiliser.json deleted file mode 100644 index 8977cfd..0000000 --- a/src/main/resources/data/proviorigins/tags/items/alraune/super_fertiliser.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "values": [ - "minecraft:dragon_breath" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/items/common/hydration.json b/src/main/resources/data/proviorigins/tags/items/common/hydration.json deleted file mode 100644 index 599b0e4..0000000 --- a/src/main/resources/data/proviorigins/tags/items/common/hydration.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "values": [ - "minecraft:potion" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/items/decaykraken/max_consume.json b/src/main/resources/data/proviorigins/tags/items/decaykraken/max_consume.json deleted file mode 100644 index 6f67928..0000000 --- a/src/main/resources/data/proviorigins/tags/items/decaykraken/max_consume.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "replace": false, - "values": [ - "minecraft:totem_of_undying", - "minecraft:wither_skeleton_skull", - "minecraft:nether_star" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/items/decaykraken/medium_consume.json b/src/main/resources/data/proviorigins/tags/items/decaykraken/medium_consume.json deleted file mode 100644 index fa5d338..0000000 --- a/src/main/resources/data/proviorigins/tags/items/decaykraken/medium_consume.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "replace": false, - "values": [ - "minecraft:soul_lantern", - "minecraft:sculk_catalyst" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/items/decaykraken/soul_carry.json b/src/main/resources/data/proviorigins/tags/items/decaykraken/soul_carry.json deleted file mode 100644 index 9aead96..0000000 --- a/src/main/resources/data/proviorigins/tags/items/decaykraken/soul_carry.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "values": [ - "minecraft:soul_lantern", - "proviorigins:kraken_soul_lantern" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/items/decaykraken/weak_consume.json b/src/main/resources/data/proviorigins/tags/items/decaykraken/weak_consume.json deleted file mode 100644 index d65e177..0000000 --- a/src/main/resources/data/proviorigins/tags/items/decaykraken/weak_consume.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "minecraft:soul_torch" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/items/faemoth/light_sources.json b/src/main/resources/data/proviorigins/tags/items/faemoth/light_sources.json deleted file mode 100644 index db1b978..0000000 --- a/src/main/resources/data/proviorigins/tags/items/faemoth/light_sources.json +++ /dev/null @@ -1,277 +0,0 @@ -{ - "values": [ - "#proviorigins:decaykraken/soul_carry", - "minecraft:torch", - "minecraft:soul_torch", - "minecraft:lantern", - "proviorigins:solid_lantern", - { - "id": "betternether:willow_torch", - "required": false - }, - { - "id": "betterend:flavolite_lantern", - "required": false - }, - { - "id": "betterend:violecite_lantern", - "required": false - }, - { - "id": "betterend:sulphuric_rock_lantern", - "required": false - }, - { - "id": "betterend:virid_jadestone_lantern", - "required": false - }, - { - "id": "betterend:azure_jadestone_lantern", - "required": false - }, - { - "id": "betterend:sandy_jadestone_lantern", - "required": false - }, - { - "id": "betterend:umbralith_lantern", - "required": false - }, - { - "id": "betterend:thallasium_bulb_lantern", - "required": false - }, - { - "id": "betterend:thallasium_bulb_lantern_white", - "required": false - }, - { - "id": "betterend:thallasium_bulb_lantern_gray", - "required": false - }, - { - "id": "betterend:thallasium_bulb_lantern_light_gray", - "required": false - }, - { - "id": "betterend:thallasium_bulb_lantern_black", - "required": false - }, - { - "id": "betterend:thallasium_bulb_lantern_blue", - "required": false - }, - { - "id": "betterend:thallasium_bulb_lantern_lime", - "required": false - }, - { - "id": "betterend:thallasium_bulb_lantern_magenta", - "required": false - }, - { - "id": "betterend:thallasium_bulb_lantern_red", - "required": false - }, - { - "id": "betterend:thallasium_bulb_lantern_orange", - "required": false - }, - { - "id": "betterend:thallasium_bulb_lantern_purple", - "required": false - }, - { - "id": "betterend:thallasium_bulb_lantern_cyan", - "required": false - }, - { - "id": "betterend:thallasium_bulb_lantern_brown", - "required": false - }, - { - "id": "betterend:thallasium_bulb_lantern_green", - "required": false - }, - { - "id": "betterend:thallasium_bulb_lantern_yellow", - "required": false - }, - { - "id": "betterend:thallasium_bulb_lantern_pink", - "required": false - }, - { - "id": "betterend:thallasium_bulb_lantern_light_blue", - "required": false - }, - { - "id": "betterend:terminite_bulb_lantern", - "required": false - }, - { - "id": "betterend:terminite_bulb_lantern_white", - "required": false - }, - { - "id": "betterend:terminite_bulb_lantern_gray", - "required": false - }, - { - "id": "betterend:terminite_bulb_lantern_light_gray", - "required": false - }, - { - "id": "betterend:terminite_bulb_lantern_black", - "required": false - }, - { - "id": "betterend:terminite_bulb_lantern_blue", - "required": false - }, - { - "id": "betterend:terminite_bulb_lantern_lime", - "required": false - }, - { - "id": "betterend:terminite_bulb_lantern_magenta", - "required": false - }, - { - "id": "betterend:terminite_bulb_lantern_red", - "required": false - }, - { - "id": "betterend:terminite_bulb_lantern_orange", - "required": false - }, - { - "id": "betterend:terminite_bulb_lantern_purple", - "required": false - }, - { - "id": "betterend:terminite_bulb_lantern_cyan", - "required": false - }, - { - "id": "betterend:terminite_bulb_lantern_brown", - "required": false - }, - { - "id": "betterend:terminite_bulb_lantern_green", - "required": false - }, - { - "id": "betterend:terminite_bulb_lantern_yellow", - "required": false - }, - { - "id": "betterend:terminite_bulb_lantern_pink", - "required": false - }, - { - "id": "betterend:terminite_bulb_lantern_light_blue", - "required": false - }, - { - "id": "betterend:andesite_lantern", - "required": false - }, - { - "id": "betterend:diorite_lantern", - "required": false - }, - { - "id": "betterend:granite_lantern", - "required": false - }, - { - "id": "betterend:quartz_lantern", - "required": false - }, - { - "id": "betterend:purpur_lantern", - "required": false - }, - { - "id": "betterend:end_stone_lantern", - "required": false - }, - { - "id": "betterend:blackstone_lantern", - "required": false - }, - { - "id": "betterend:iron_bulb_lantern", - "required": false - }, - { - "id": "betterend:iron_bulb_lantern_white", - "required": false - }, - { - "id": "betterend:iron_bulb_lantern_gray", - "required": false - }, - { - "id": "betterend:iron_bulb_lantern_light_gray", - "required": false - }, - { - "id": "betterend:iron_bulb_lantern_black", - "required": false - }, - { - "id": "betterend:iron_bulb_lantern_blue", - "required": false - }, - { - "id": "betterend:iron_bulb_lantern_lime", - "required": false - }, - { - "id": "betterend:iron_bulb_lantern_magenta", - "required": false - }, - { - "id": "betterend:iron_bulb_lantern_red", - "required": false - }, - { - "id": "betterend:iron_bulb_lantern_orange", - "required": false - }, - { - "id": "betterend:iron_bulb_lantern_purple", - "required": false - }, - { - "id": "betterend:iron_bulb_lantern_cyan", - "required": false - }, - { - "id": "betterend:iron_bulb_lantern_brown", - "required": false - }, - { - "id": "betterend:iron_bulb_lantern_green", - "required": false - }, - { - "id": "betterend:iron_bulb_lantern_yellow", - "required": false - }, - { - "id": "betterend:iron_bulb_lantern_pink", - "required": false - }, - { - "id": "betterend:iron_bulb_lantern_light_blue", - "required": false - }, - { - "id": "betternether:cincinnasite_lantern_small", - "required": false - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/items/voidlily/grants_armour.json b/src/main/resources/data/proviorigins/tags/items/voidlily/grants_armour.json deleted file mode 100644 index 57b7566..0000000 --- a/src/main/resources/data/proviorigins/tags/items/voidlily/grants_armour.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "values": [ - "#minecraft:logs_that_burn" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/items/voidlily/grants_blindness.json b/src/main/resources/data/proviorigins/tags/items/voidlily/grants_blindness.json deleted file mode 100644 index 26d7dc3..0000000 --- a/src/main/resources/data/proviorigins/tags/items/voidlily/grants_blindness.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "values": [ - "minecraft:azure_bluet", - { - "id": "betterend:murkweed", - "required": false - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/items/voidlily/grants_corruption.json b/src/main/resources/data/proviorigins/tags/items/voidlily/grants_corruption.json deleted file mode 100644 index 3d9b7e1..0000000 --- a/src/main/resources/data/proviorigins/tags/items/voidlily/grants_corruption.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "values": [ - "minecraft:lily_of_the_valley", - "proviorigins:lily_of_the_void", - { - "id": "betterend:end_lily_seed", - "required": false - }, - { - "id": "betterend:end_lotus_seed", - "required": false - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/items/voidlily/grants_fire_resistance.json b/src/main/resources/data/proviorigins/tags/items/voidlily/grants_fire_resistance.json deleted file mode 100644 index 42cee41..0000000 --- a/src/main/resources/data/proviorigins/tags/items/voidlily/grants_fire_resistance.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "values": [ - "minecraft:allium", - { - "id": "betternether:magma_flower", - "required": false - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/items/voidlily/grants_glow.json b/src/main/resources/data/proviorigins/tags/items/voidlily/grants_glow.json deleted file mode 100644 index febbfc8..0000000 --- a/src/main/resources/data/proviorigins/tags/items/voidlily/grants_glow.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "values": [ - "minecraft:glow_berries", - { - "id": "betterend:glowing_pillar_leaves", - "required": false - }, - { - "id": "betterend:lumecorn_rod", - "required": false - }, - { - "id": "betterend:blue_vine_fur", - "required": false - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/items/voidlily/grants_jump_boost.json b/src/main/resources/data/proviorigins/tags/items/voidlily/grants_jump_boost.json deleted file mode 100644 index efccf60..0000000 --- a/src/main/resources/data/proviorigins/tags/items/voidlily/grants_jump_boost.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "values": [ - "minecraft:cornflower" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/items/voidlily/grants_night_vision.json b/src/main/resources/data/proviorigins/tags/items/voidlily/grants_night_vision.json deleted file mode 100644 index be096cf..0000000 --- a/src/main/resources/data/proviorigins/tags/items/voidlily/grants_night_vision.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "values": [ - "minecraft:poppy", - "minecraft:torchflower" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/items/voidlily/grants_regeneration.json b/src/main/resources/data/proviorigins/tags/items/voidlily/grants_regeneration.json deleted file mode 100644 index 68db73d..0000000 --- a/src/main/resources/data/proviorigins/tags/items/voidlily/grants_regeneration.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "values": [ - "minecraft:oxeye_daisy" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/items/voidlily/grants_saturation.json b/src/main/resources/data/proviorigins/tags/items/voidlily/grants_saturation.json deleted file mode 100644 index 7e6721b..0000000 --- a/src/main/resources/data/proviorigins/tags/items/voidlily/grants_saturation.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "values": [ - "minecraft:blue_orchid", - "minecraft:dandelion" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/items/voidlily/grants_speed.json b/src/main/resources/data/proviorigins/tags/items/voidlily/grants_speed.json deleted file mode 100644 index 0c9edb7..0000000 --- a/src/main/resources/data/proviorigins/tags/items/voidlily/grants_speed.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "values": [ - "minecraft:sugar_cane" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/items/voidlily/grants_teleport.json b/src/main/resources/data/proviorigins/tags/items/voidlily/grants_teleport.json deleted file mode 100644 index 5018286..0000000 --- a/src/main/resources/data/proviorigins/tags/items/voidlily/grants_teleport.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "values": [ - "minecraft:chorus_fruit" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/items/voidlily/grants_thorns.json b/src/main/resources/data/proviorigins/tags/items/voidlily/grants_thorns.json deleted file mode 100644 index eb2ca91..0000000 --- a/src/main/resources/data/proviorigins/tags/items/voidlily/grants_thorns.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "values": [ - "minecraft:cactus", - "minecraft:rose_bush", - "minecraft:sweet_berries", - { - "id": "betternether:nether_cactus", - "required": false - }, - { - "id": "betternether:barrel_cactus", - "required": false - }, - { - "id": "betterend:needlegrass", - "required": false - }, - { - "id": "betterend:neon_cactus", - "required": false - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/items/voidlily/grants_water_breathing.json b/src/main/resources/data/proviorigins/tags/items/voidlily/grants_water_breathing.json deleted file mode 100644 index e722870..0000000 --- a/src/main/resources/data/proviorigins/tags/items/voidlily/grants_water_breathing.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "values": [ - "minecraft:kelp", - { - "id": "betterend:charnia_red", - "required": false - }, - { - "id": "betterend:charnia_orange", - "required": false - }, - { - "id": "betterend:charnia_purple", - "required": false - }, - { - "id": "betterend:charnia_light_blue", - "required": false - }, - { - "id": "betterend:charnia_cyan", - "required": false - }, - { - "id": "betterend:charnia_green", - "required": false - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/items/voidlily/grants_weakness.json b/src/main/resources/data/proviorigins/tags/items/voidlily/grants_weakness.json deleted file mode 100644 index ea32295..0000000 --- a/src/main/resources/data/proviorigins/tags/items/voidlily/grants_weakness.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "values": [ - "minecraft:red_tulip", - "minecraft:orange_tulip", - "minecraft:white_tulip", - "minecraft:pink_tulip" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/items/voidlily/grants_wither.json b/src/main/resources/data/proviorigins/tags/items/voidlily/grants_wither.json deleted file mode 100644 index 15650e0..0000000 --- a/src/main/resources/data/proviorigins/tags/items/voidlily/grants_wither.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "values": [ - "minecraft:wither_rose" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/worldgen/biome/alraune/always_grow.json b/src/main/resources/data/proviorigins/tags/worldgen/biome/alraune/always_grow.json deleted file mode 100644 index b238b66..0000000 --- a/src/main/resources/data/proviorigins/tags/worldgen/biome/alraune/always_grow.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "values": [ - "minecraft:lush_caves", - { - "id": "terralith:cave/underground_jungle", - "required": false - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/worldgen/biome/alraune/natural.json b/src/main/resources/data/proviorigins/tags/worldgen/biome/alraune/natural.json deleted file mode 100644 index 9d8abf3..0000000 --- a/src/main/resources/data/proviorigins/tags/worldgen/biome/alraune/natural.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "values": [ - "#c:forest", - "#c:jungle", - "#c:floral", - "#c:vegetation_dense", - "minecraft:lush_caves" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/worldgen/biome/common/hot_underground.json b/src/main/resources/data/proviorigins/tags/worldgen/biome/common/hot_underground.json deleted file mode 100644 index 1541eca..0000000 --- a/src/main/resources/data/proviorigins/tags/worldgen/biome/common/hot_underground.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "values": [ - "#c:in_nether", - { - "id": "terralith:cave/thermal_caves", - "required": false - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/worldgen/biome/decaykraken/has_saltwater.json b/src/main/resources/data/proviorigins/tags/worldgen/biome/decaykraken/has_saltwater.json deleted file mode 100644 index ef53e8a..0000000 --- a/src/main/resources/data/proviorigins/tags/worldgen/biome/decaykraken/has_saltwater.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "values": [ - "#proviorigins:decaykraken/irrelevant_salinity", - "minecraft:stony_shore", - "#c:beach", - "#c:ocean", - { - "id": "#byg:is_ocean", - "required": false - }, - { - "id": "#byg:is_deep_ocean", - "required": false - }, - { - "id": "#terralith:cliffs", - "required": false - }, - { - "id": "terralith:alpha_islands", - "required": false - }, - { - "id": "terralith:alpha_islands_winter", - "required": false - }, - { - "id": "terralith:mirage_isles", - "required": false - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/worldgen/biome/decaykraken/irrelevant_salinity.json b/src/main/resources/data/proviorigins/tags/worldgen/biome/decaykraken/irrelevant_salinity.json deleted file mode 100644 index 7202863..0000000 --- a/src/main/resources/data/proviorigins/tags/worldgen/biome/decaykraken/irrelevant_salinity.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "values": [ - "#c:in_the_end", - "#c:in_nether", - "minecraft:the_void", - "minecraft:mushroom_fields", - { - "id": "#terralith:skylands", - "required": false - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/proviorigins/tags/worldgen/biome/decaykraken/soul_collector.json b/src/main/resources/data/proviorigins/tags/worldgen/biome/decaykraken/soul_collector.json deleted file mode 100644 index 7841c86..0000000 --- a/src/main/resources/data/proviorigins/tags/worldgen/biome/decaykraken/soul_collector.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "values": [ - "minecraft:soul_sand_valley", - { - "id": "byg:warped_desert", - "required": false - }, - { - "id": "betternether:wart_forest", - "required": false - }, - { - "id": "betternether:wart_forest_edge", - "required": false - }, - { - "id": "betternether:soul_plain", - "required": false - }, - { - "id": "betternether:nether_grasslands", - "required": false - }, - { - "id": "betternether:poor_nether_grasslands", - "required": false - } - ] -} \ No newline at end of file