Initial sanctuary sources
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
# Canaplia 2.0 Foundations
|
||||
|
||||
This document tracks the architectural groundwork introduced in `2.0.0`.
|
||||
|
||||
## Goals
|
||||
- Prepare variant-specific smoke effects without changing item ids later.
|
||||
- Prepare resin evolution from shared-behavior resin blocks toward future unique resin variants.
|
||||
- Keep current gameplay behavior stable until the next prompts add new content.
|
||||
|
||||
## What changed
|
||||
- `RolledJointItem` is now aware of its `HempVariant`.
|
||||
- `CanapliaSmokeEffects` now resolves profiles from `SmokeSource + HempVariant`.
|
||||
- `HempBudCompostingState` now remembers which hemp variant was inserted into each tracked composter.
|
||||
- `HempBudComposterInteraction` now accepts any hemp bud variant and blocks mixed-variant composting in a single composter.
|
||||
- `CanapliaResinCatalog` now maps each bud variant to its matching resin block and burn duration.
|
||||
|
||||
## Current shared behavior
|
||||
- All hemp variants still use the same smoke effect set for now.
|
||||
- All resin block variants still use the same smoke behavior for now.
|
||||
- All resin block variants still use the same burn duration for now.
|
||||
|
||||
## Next prompt entry points
|
||||
- Add unique smoke profiles in `CanapliaSmokeEffects#createVariantAwareProfile`.
|
||||
- Add unique burn durations in `CanapliaResinCatalog#resolve`.
|
||||
- Add unique resin-side effects if they need to diverge from the hemp source variant.
|
||||
@@ -0,0 +1,18 @@
|
||||
source_block,source_family,biome_focus,possible_variants,base_seed_drop_chance,extra_conditions,codex_notes
|
||||
minecraft:short_grass,surface_flora,plains; forest; meadow; cherry_grove,common; tender; olive,0.06,Starter source buffed for survival playability,Main survival starter source
|
||||
minecraft:tall_grass,surface_flora,plains; meadow; savanna; flower_forest,common; tender; olive,0.1,Higher chance than short grass,Best early-game exploration source
|
||||
minecraft:short_dry_grass,dry_surface_flora,savanna; desert; badlands,olive,0.06,Fabric 1.21.11 dry-grass starter source,Primary dry-biome starter source
|
||||
minecraft:tall_dry_grass,dry_surface_flora,savanna; desert; badlands,olive,0.1,Higher chance than short dry grass,Best early-game dry starter source
|
||||
minecraft:fern,cold_or_shaded_flora,taiga; dark_forest; snowy_taiga; grove,dark; ashen,0.07,Pick by biome temperature / canopy,Useful for cold and shade strains
|
||||
minecraft:large_fern,cold_or_shaded_flora,snowy_taiga; grove; old_growth_taiga,ashen; dark,0.1,Slightly better than normal fern,Good for cold-biome hunting
|
||||
minecraft:dead_bush,dry_flora,badlands; eroded_badlands; wooded_badlands; desert,amber; olive,0.1,Amber should dominate in badlands,Avoid dirt-breaking loot; keep it botanical
|
||||
minecraft:moss_carpet,humid_flora,lush_caves,moss,0.07,Humidity source,Pairs well with cave exploration
|
||||
minecraft:hanging_roots,humid_flora,lush_caves; mangrove_swamp,moss,0.1,Humidity source,Good spelunker / wet-biome source
|
||||
minecraft:cave_vines,humid_flora,lush_caves,moss,0.06,Humidity source,Optional extra source if desired
|
||||
minecraft:crimson_roots,nether_native,crimson_forest; nether_wastes,ember,0.02,Nether only,Forced ember result
|
||||
minecraft:warped_roots,nether_native,warped_forest; basalt_deltas,ember,0.02,Nether only,Forced ember result
|
||||
minecraft:nether_sprouts,nether_native,soul_sand_valley; basalt_deltas,ember,0.015,Nether only,Forced ember result
|
||||
minecraft:weeping_vines,nether_native,crimson_forest,ember,0.01,Nether only,Forced ember result
|
||||
minecraft:twisting_vines,nether_native,warped_forest; soul_sand_valley,ember,0.01,Nether only,Forced ember result
|
||||
minecraft:chorus_plant,end_native,end_highlands; end_midlands; small_end_islands; end_barrens,indigo,0.015,End only,Forced indigo result
|
||||
minecraft:chorus_flower,end_native,end_highlands; end_midlands; small_end_islands; end_barrens,indigo,0.02,End only,Forced indigo result
|
||||
|
@@ -0,0 +1,7 @@
|
||||
result_variant,parent_a,parent_b,rule_type,environment_requirement,harvest_requirement,result_seed_chance,codex_notes
|
||||
gold,tender,olive,hybrid,warm biome; sky visible; daytime,Both parents mature and adjacent (radius 1),0.12,Bright dry hybrid
|
||||
purple,dark,moss,hybrid,humid area; low light,Both parents mature and adjacent (radius 1),0.08,Shadow-humidity hybrid
|
||||
pink,tender,purple,hybrid,flower biome or greenhouse; dawn or dusk,Both parents mature and adjacent (radius 1),0.1,Floral color hybrid
|
||||
coral,amber,moss,hybrid,warm biome; farmland touching water,Both parents mature and adjacent (radius 1),0.1,Warm coastal hybrid
|
||||
bluish,ashen,tender,hybrid,cold biome or snow/ice nearby,Both parents mature and adjacent (radius 1),0.09,Cold color hybrid
|
||||
varieg,any,different_any,mutation,humid biome; especially lush_caves,Two distinct mature variants adjacent (radius 1),0.06,Collector mutation
|
||||
|
@@ -0,0 +1,4 @@
|
||||
variant_key,rule_type,source,condition,result_chance,codex_notes
|
||||
lunar,special_harvest,ashen or bluish,Harvest mature parent at night with sky visible in a cold biome,0.06,Night-only special roll; no full moon requirement
|
||||
ember,dimension_lock,nether_native_plants,Break eligible Nether flora in any Nether biome,1.0,Forced result in Nether source table; never obtainable elsewhere
|
||||
indigo,dimension_lock,chorus_plant or chorus_flower,Break eligible End flora in any End biome,1.0,Forced result in End source table; never obtainable elsewhere
|
||||
|
@@ -0,0 +1,496 @@
|
||||
{
|
||||
"variants_catalog": [
|
||||
{
|
||||
"variant_key": "common",
|
||||
"variant_name_fr": "Chanvre commun",
|
||||
"family": "wild_base",
|
||||
"obtainable_in_survival": "yes",
|
||||
"first_obtention": "Discover seeds by breaking short grass or tall grass",
|
||||
"source_blocks_or_plants": "minecraft:short_grass; minecraft:tall_grass",
|
||||
"biome_focus": "plains; forest; riverbanks",
|
||||
"breeding_recipe": "",
|
||||
"special_conditions": "No special condition",
|
||||
"dimension_lock": "",
|
||||
"codex_notes": "Main starter line. Use as fallback green strain."
|
||||
},
|
||||
{
|
||||
"variant_key": "tender",
|
||||
"variant_name_fr": "Chanvre tendre",
|
||||
"family": "wild_base",
|
||||
"obtainable_in_survival": "yes",
|
||||
"first_obtention": "Discover seeds by breaking short grass or tall grass",
|
||||
"source_blocks_or_plants": "minecraft:short_grass; minecraft:tall_grass",
|
||||
"biome_focus": "meadow; flower_forest; cherry_grove",
|
||||
"breeding_recipe": "",
|
||||
"special_conditions": "Best as a bright / floral base strain",
|
||||
"dimension_lock": "",
|
||||
"codex_notes": "Soft green line used in several hybrid recipes."
|
||||
},
|
||||
{
|
||||
"variant_key": "olive",
|
||||
"variant_name_fr": "Chanvre olive",
|
||||
"family": "wild_base",
|
||||
"obtainable_in_survival": "yes",
|
||||
"first_obtention": "Discover seeds by breaking grass or dry grass in warm biomes",
|
||||
"source_blocks_or_plants": "minecraft:tall_grass; minecraft:short_grass; minecraft:tall_dry_grass; minecraft:short_dry_grass",
|
||||
"biome_focus": "savanna; windswept_savanna; desert_edge",
|
||||
"breeding_recipe": "",
|
||||
"special_conditions": "Warm / dry overworld discovery line",
|
||||
"dimension_lock": "",
|
||||
"codex_notes": "Dry-climate green line."
|
||||
},
|
||||
{
|
||||
"variant_key": "dark",
|
||||
"variant_name_fr": "Chanvre sombre",
|
||||
"family": "wild_base",
|
||||
"obtainable_in_survival": "yes",
|
||||
"first_obtention": "Discover seeds by breaking ferns or shaded grass",
|
||||
"source_blocks_or_plants": "minecraft:fern; minecraft:short_grass",
|
||||
"biome_focus": "dark_forest; old_growth_taiga; pale_garden",
|
||||
"breeding_recipe": "",
|
||||
"special_conditions": "Better in low light / canopy-heavy biomes",
|
||||
"dimension_lock": "",
|
||||
"codex_notes": "Shade line; key parent for purple."
|
||||
},
|
||||
{
|
||||
"variant_key": "ashen",
|
||||
"variant_name_fr": "Chanvre cendré",
|
||||
"family": "wild_base",
|
||||
"obtainable_in_survival": "yes",
|
||||
"first_obtention": "Discover seeds by breaking ferns in cold biomes",
|
||||
"source_blocks_or_plants": "minecraft:fern; minecraft:large_fern",
|
||||
"biome_focus": "snowy_taiga; grove; snowy_plains",
|
||||
"breeding_recipe": "",
|
||||
"special_conditions": "Cold-climate base line",
|
||||
"dimension_lock": "",
|
||||
"codex_notes": "Cold green line; key parent for bluish and lunar."
|
||||
},
|
||||
{
|
||||
"variant_key": "moss",
|
||||
"variant_name_fr": "Chanvre mousse",
|
||||
"family": "wild_base",
|
||||
"obtainable_in_survival": "yes",
|
||||
"first_obtention": "Discover seeds from humid cave / swamp flora",
|
||||
"source_blocks_or_plants": "minecraft:moss_carpet; minecraft:hanging_roots; minecraft:cave_vines",
|
||||
"biome_focus": "lush_caves; swamp; mangrove_swamp",
|
||||
"breeding_recipe": "",
|
||||
"special_conditions": "Humidity-heavy discovery line",
|
||||
"dimension_lock": "",
|
||||
"codex_notes": "Humid green line; key parent for purple, coral, varieg."
|
||||
},
|
||||
{
|
||||
"variant_key": "amber",
|
||||
"variant_name_fr": "Chanvre ambré",
|
||||
"family": "wild_rare",
|
||||
"obtainable_in_survival": "yes",
|
||||
"first_obtention": "Rare seed from dead bushes",
|
||||
"source_blocks_or_plants": "minecraft:dead_bush",
|
||||
"biome_focus": "badlands; eroded_badlands; wooded_badlands",
|
||||
"breeding_recipe": "",
|
||||
"special_conditions": "Rare wild discovery in hot mineral biomes",
|
||||
"dimension_lock": "",
|
||||
"codex_notes": "Dry rare line; parent for coral."
|
||||
},
|
||||
{
|
||||
"variant_key": "gold",
|
||||
"variant_name_fr": "Chanvre doré",
|
||||
"family": "hybrid",
|
||||
"obtainable_in_survival": "yes",
|
||||
"first_obtention": "Obtain as hybrid seed",
|
||||
"source_blocks_or_plants": "",
|
||||
"biome_focus": "warm_biomes; bright_surface_fields",
|
||||
"breeding_recipe": "tender + olive",
|
||||
"special_conditions": "Mature parents adjacent (radius 1); harvest by day with sky visible",
|
||||
"dimension_lock": "",
|
||||
"codex_notes": "Colorful hybrid from bright and dry green parents."
|
||||
},
|
||||
{
|
||||
"variant_key": "pink",
|
||||
"variant_name_fr": "Chanvre rosé",
|
||||
"family": "hybrid",
|
||||
"obtainable_in_survival": "yes",
|
||||
"first_obtention": "Obtain as hybrid seed",
|
||||
"source_blocks_or_plants": "",
|
||||
"biome_focus": "flower_forest; meadow; cherry_grove",
|
||||
"breeding_recipe": "tender + purple",
|
||||
"special_conditions": "Mature parents adjacent (radius 1); harvest at dawn or dusk",
|
||||
"dimension_lock": "",
|
||||
"codex_notes": "Stylized floral hybrid."
|
||||
},
|
||||
{
|
||||
"variant_key": "coral",
|
||||
"variant_name_fr": "Chanvre corail",
|
||||
"family": "hybrid",
|
||||
"obtainable_in_survival": "yes",
|
||||
"first_obtention": "Obtain as hybrid seed",
|
||||
"source_blocks_or_plants": "",
|
||||
"biome_focus": "mangrove_edge; beach; warm_coast",
|
||||
"breeding_recipe": "amber + moss",
|
||||
"special_conditions": "Mature parents adjacent (radius 1); at least 1 water block touching farmland",
|
||||
"dimension_lock": "",
|
||||
"codex_notes": "Warm wet hybrid."
|
||||
},
|
||||
{
|
||||
"variant_key": "purple",
|
||||
"variant_name_fr": "Chanvre pourpre",
|
||||
"family": "hybrid",
|
||||
"obtainable_in_survival": "yes",
|
||||
"first_obtention": "Obtain as hybrid seed",
|
||||
"source_blocks_or_plants": "",
|
||||
"biome_focus": "humid_shaded_fields; swamp; dark_forest",
|
||||
"breeding_recipe": "dark + moss",
|
||||
"special_conditions": "Mature parents adjacent (radius 1); low light and humidity",
|
||||
"dimension_lock": "",
|
||||
"codex_notes": "Shadow-humidity hybrid."
|
||||
},
|
||||
{
|
||||
"variant_key": "varieg",
|
||||
"variant_name_fr": "Chanvre panaché",
|
||||
"family": "hybrid",
|
||||
"obtainable_in_survival": "yes",
|
||||
"first_obtention": "Obtain as mutation seed",
|
||||
"source_blocks_or_plants": "",
|
||||
"biome_focus": "lush_caves; jungle; swamp_greenhouse",
|
||||
"breeding_recipe": "any_two_distinct_variants",
|
||||
"special_conditions": "Two distinct mature parents adjacent (radius 1); humid biome",
|
||||
"dimension_lock": "",
|
||||
"codex_notes": "Mutation-style collector variant."
|
||||
},
|
||||
{
|
||||
"variant_key": "bluish",
|
||||
"variant_name_fr": "Chanvre bleuté",
|
||||
"family": "hybrid",
|
||||
"obtainable_in_survival": "yes",
|
||||
"first_obtention": "Obtain as hybrid seed",
|
||||
"source_blocks_or_plants": "",
|
||||
"biome_focus": "cold_fields; grove; ice_edge",
|
||||
"breeding_recipe": "ashen + tender",
|
||||
"special_conditions": "Mature parents adjacent (radius 1); cold biome or snow/ice nearby",
|
||||
"dimension_lock": "",
|
||||
"codex_notes": "Cold hybrid, moved out of wild discovery to keep survival logic coherent."
|
||||
},
|
||||
{
|
||||
"variant_key": "lunar",
|
||||
"variant_name_fr": "Chanvre lunaire",
|
||||
"family": "circumstantial",
|
||||
"obtainable_in_survival": "yes",
|
||||
"first_obtention": "Special night harvest",
|
||||
"source_blocks_or_plants": "",
|
||||
"biome_focus": "cold_open_sky_biomes",
|
||||
"breeding_recipe": "ashen or bluish -> lunar seed roll",
|
||||
"special_conditions": "Harvest mature ashen or bluish plant at night, with sky visible, in a cold biome",
|
||||
"dimension_lock": "",
|
||||
"codex_notes": "Not found directly; obtained through timed harvest."
|
||||
},
|
||||
{
|
||||
"variant_key": "ember",
|
||||
"variant_name_fr": "Chanvre braise",
|
||||
"family": "dimensional",
|
||||
"obtainable_in_survival": "yes",
|
||||
"first_obtention": "Break native Nether flora",
|
||||
"source_blocks_or_plants": "minecraft:crimson_roots; minecraft:warped_roots; minecraft:nether_sprouts; minecraft:weeping_vines; minecraft:twisting_vines",
|
||||
"biome_focus": "all_nether_biomes",
|
||||
"breeding_recipe": "",
|
||||
"special_conditions": "Nether-only. Never drops outside the Nether.",
|
||||
"dimension_lock": "nether",
|
||||
"codex_notes": "Dimension identity strain."
|
||||
},
|
||||
{
|
||||
"variant_key": "indigo",
|
||||
"variant_name_fr": "Chanvre indigo",
|
||||
"family": "dimensional",
|
||||
"obtainable_in_survival": "yes",
|
||||
"first_obtention": "Break chorus plants or chorus flowers",
|
||||
"source_blocks_or_plants": "minecraft:chorus_plant; minecraft:chorus_flower",
|
||||
"biome_focus": "all_end_biomes",
|
||||
"breeding_recipe": "",
|
||||
"special_conditions": "End-only. Never drops outside the End.",
|
||||
"dimension_lock": "end",
|
||||
"codex_notes": "Dimension identity strain."
|
||||
}
|
||||
],
|
||||
"discovery_sources": [
|
||||
{
|
||||
"source_block": "minecraft:short_grass",
|
||||
"source_family": "surface_flora",
|
||||
"biome_focus": "plains; forest; meadow; cherry_grove",
|
||||
"possible_variants": [
|
||||
"common",
|
||||
"tender",
|
||||
"olive"
|
||||
],
|
||||
"base_seed_drop_chance": 0.06,
|
||||
"extra_conditions": "Starter source buffed for survival playability",
|
||||
"codex_notes": "Main survival starter source"
|
||||
},
|
||||
{
|
||||
"source_block": "minecraft:tall_grass",
|
||||
"source_family": "surface_flora",
|
||||
"biome_focus": "plains; meadow; savanna; flower_forest",
|
||||
"possible_variants": [
|
||||
"common",
|
||||
"tender",
|
||||
"olive"
|
||||
],
|
||||
"base_seed_drop_chance": 0.1,
|
||||
"extra_conditions": "Higher chance than short grass",
|
||||
"codex_notes": "Best early-game exploration source"
|
||||
},
|
||||
{
|
||||
"source_block": "minecraft:short_dry_grass",
|
||||
"source_family": "dry_surface_flora",
|
||||
"biome_focus": "savanna; desert; badlands",
|
||||
"possible_variants": [
|
||||
"olive"
|
||||
],
|
||||
"base_seed_drop_chance": 0.06,
|
||||
"extra_conditions": "Fabric 1.21.11 dry-grass starter source",
|
||||
"codex_notes": "Primary dry-biome starter source"
|
||||
},
|
||||
{
|
||||
"source_block": "minecraft:tall_dry_grass",
|
||||
"source_family": "dry_surface_flora",
|
||||
"biome_focus": "savanna; desert; badlands",
|
||||
"possible_variants": [
|
||||
"olive"
|
||||
],
|
||||
"base_seed_drop_chance": 0.1,
|
||||
"extra_conditions": "Higher chance than short dry grass",
|
||||
"codex_notes": "Best early-game dry starter source"
|
||||
},
|
||||
{
|
||||
"source_block": "minecraft:fern",
|
||||
"source_family": "cold_or_shaded_flora",
|
||||
"biome_focus": "taiga; dark_forest; snowy_taiga; grove",
|
||||
"possible_variants": [
|
||||
"dark",
|
||||
"ashen"
|
||||
],
|
||||
"base_seed_drop_chance": 0.07,
|
||||
"extra_conditions": "Pick by biome temperature / canopy",
|
||||
"codex_notes": "Useful for cold and shade strains"
|
||||
},
|
||||
{
|
||||
"source_block": "minecraft:large_fern",
|
||||
"source_family": "cold_or_shaded_flora",
|
||||
"biome_focus": "snowy_taiga; grove; old_growth_taiga",
|
||||
"possible_variants": [
|
||||
"ashen",
|
||||
"dark"
|
||||
],
|
||||
"base_seed_drop_chance": 0.1,
|
||||
"extra_conditions": "Slightly better than normal fern",
|
||||
"codex_notes": "Good for cold-biome hunting"
|
||||
},
|
||||
{
|
||||
"source_block": "minecraft:dead_bush",
|
||||
"source_family": "dry_flora",
|
||||
"biome_focus": "badlands; eroded_badlands; wooded_badlands; desert",
|
||||
"possible_variants": [
|
||||
"amber",
|
||||
"olive"
|
||||
],
|
||||
"base_seed_drop_chance": 0.1,
|
||||
"extra_conditions": "Amber should dominate in badlands",
|
||||
"codex_notes": "Avoid dirt-breaking loot; keep it botanical"
|
||||
},
|
||||
{
|
||||
"source_block": "minecraft:moss_carpet",
|
||||
"source_family": "humid_flora",
|
||||
"biome_focus": "lush_caves",
|
||||
"possible_variants": [
|
||||
"moss"
|
||||
],
|
||||
"base_seed_drop_chance": 0.07,
|
||||
"extra_conditions": "Humidity source",
|
||||
"codex_notes": "Pairs well with cave exploration"
|
||||
},
|
||||
{
|
||||
"source_block": "minecraft:hanging_roots",
|
||||
"source_family": "humid_flora",
|
||||
"biome_focus": "lush_caves; mangrove_swamp",
|
||||
"possible_variants": [
|
||||
"moss"
|
||||
],
|
||||
"base_seed_drop_chance": 0.1,
|
||||
"extra_conditions": "Humidity source",
|
||||
"codex_notes": "Good spelunker / wet-biome source"
|
||||
},
|
||||
{
|
||||
"source_block": "minecraft:cave_vines",
|
||||
"source_family": "humid_flora",
|
||||
"biome_focus": "lush_caves",
|
||||
"possible_variants": [
|
||||
"moss"
|
||||
],
|
||||
"base_seed_drop_chance": 0.06,
|
||||
"extra_conditions": "Humidity source",
|
||||
"codex_notes": "Optional extra source if desired"
|
||||
},
|
||||
{
|
||||
"source_block": "minecraft:crimson_roots",
|
||||
"source_family": "nether_native",
|
||||
"biome_focus": "crimson_forest; nether_wastes",
|
||||
"possible_variants": [
|
||||
"ember"
|
||||
],
|
||||
"base_seed_drop_chance": 0.02,
|
||||
"extra_conditions": "Nether only",
|
||||
"codex_notes": "Forced ember result"
|
||||
},
|
||||
{
|
||||
"source_block": "minecraft:warped_roots",
|
||||
"source_family": "nether_native",
|
||||
"biome_focus": "warped_forest; basalt_deltas",
|
||||
"possible_variants": [
|
||||
"ember"
|
||||
],
|
||||
"base_seed_drop_chance": 0.02,
|
||||
"extra_conditions": "Nether only",
|
||||
"codex_notes": "Forced ember result"
|
||||
},
|
||||
{
|
||||
"source_block": "minecraft:nether_sprouts",
|
||||
"source_family": "nether_native",
|
||||
"biome_focus": "soul_sand_valley; basalt_deltas",
|
||||
"possible_variants": [
|
||||
"ember"
|
||||
],
|
||||
"base_seed_drop_chance": 0.015,
|
||||
"extra_conditions": "Nether only",
|
||||
"codex_notes": "Forced ember result"
|
||||
},
|
||||
{
|
||||
"source_block": "minecraft:weeping_vines",
|
||||
"source_family": "nether_native",
|
||||
"biome_focus": "crimson_forest",
|
||||
"possible_variants": [
|
||||
"ember"
|
||||
],
|
||||
"base_seed_drop_chance": 0.01,
|
||||
"extra_conditions": "Nether only",
|
||||
"codex_notes": "Forced ember result"
|
||||
},
|
||||
{
|
||||
"source_block": "minecraft:twisting_vines",
|
||||
"source_family": "nether_native",
|
||||
"biome_focus": "warped_forest; soul_sand_valley",
|
||||
"possible_variants": [
|
||||
"ember"
|
||||
],
|
||||
"base_seed_drop_chance": 0.01,
|
||||
"extra_conditions": "Nether only",
|
||||
"codex_notes": "Forced ember result"
|
||||
},
|
||||
{
|
||||
"source_block": "minecraft:chorus_plant",
|
||||
"source_family": "end_native",
|
||||
"biome_focus": "end_highlands; end_midlands; small_end_islands; end_barrens",
|
||||
"possible_variants": [
|
||||
"indigo"
|
||||
],
|
||||
"base_seed_drop_chance": 0.015,
|
||||
"extra_conditions": "End only",
|
||||
"codex_notes": "Forced indigo result"
|
||||
},
|
||||
{
|
||||
"source_block": "minecraft:chorus_flower",
|
||||
"source_family": "end_native",
|
||||
"biome_focus": "end_highlands; end_midlands; small_end_islands; end_barrens",
|
||||
"possible_variants": [
|
||||
"indigo"
|
||||
],
|
||||
"base_seed_drop_chance": 0.02,
|
||||
"extra_conditions": "End only",
|
||||
"codex_notes": "Forced indigo result"
|
||||
}
|
||||
],
|
||||
"hybrid_rules": [
|
||||
{
|
||||
"result_variant": "gold",
|
||||
"parent_a": "tender",
|
||||
"parent_b": "olive",
|
||||
"rule_type": "hybrid",
|
||||
"environment_requirement": "warm biome; sky visible; daytime",
|
||||
"harvest_requirement": "Both parents mature and adjacent (radius 1)",
|
||||
"result_seed_chance": 0.12,
|
||||
"codex_notes": "Bright dry hybrid"
|
||||
},
|
||||
{
|
||||
"result_variant": "purple",
|
||||
"parent_a": "dark",
|
||||
"parent_b": "moss",
|
||||
"rule_type": "hybrid",
|
||||
"environment_requirement": "humid area; low light",
|
||||
"harvest_requirement": "Both parents mature and adjacent (radius 1)",
|
||||
"result_seed_chance": 0.08,
|
||||
"codex_notes": "Shadow-humidity hybrid"
|
||||
},
|
||||
{
|
||||
"result_variant": "pink",
|
||||
"parent_a": "tender",
|
||||
"parent_b": "purple",
|
||||
"rule_type": "hybrid",
|
||||
"environment_requirement": "flower biome or greenhouse; dawn or dusk",
|
||||
"harvest_requirement": "Both parents mature and adjacent (radius 1)",
|
||||
"result_seed_chance": 0.1,
|
||||
"codex_notes": "Floral color hybrid"
|
||||
},
|
||||
{
|
||||
"result_variant": "coral",
|
||||
"parent_a": "amber",
|
||||
"parent_b": "moss",
|
||||
"rule_type": "hybrid",
|
||||
"environment_requirement": "warm biome; farmland touching water",
|
||||
"harvest_requirement": "Both parents mature and adjacent (radius 1)",
|
||||
"result_seed_chance": 0.1,
|
||||
"codex_notes": "Warm coastal hybrid"
|
||||
},
|
||||
{
|
||||
"result_variant": "bluish",
|
||||
"parent_a": "ashen",
|
||||
"parent_b": "tender",
|
||||
"rule_type": "hybrid",
|
||||
"environment_requirement": "cold biome or snow/ice nearby",
|
||||
"harvest_requirement": "Both parents mature and adjacent (radius 1)",
|
||||
"result_seed_chance": 0.09,
|
||||
"codex_notes": "Cold color hybrid"
|
||||
},
|
||||
{
|
||||
"result_variant": "varieg",
|
||||
"parent_a": "any",
|
||||
"parent_b": "different_any",
|
||||
"rule_type": "mutation",
|
||||
"environment_requirement": "humid biome; especially lush_caves",
|
||||
"harvest_requirement": "Two distinct mature variants adjacent (radius 1)",
|
||||
"result_seed_chance": 0.06,
|
||||
"codex_notes": "Collector mutation"
|
||||
}
|
||||
],
|
||||
"special_rules": [
|
||||
{
|
||||
"variant_key": "lunar",
|
||||
"rule_type": "special_harvest",
|
||||
"source": "ashen or bluish",
|
||||
"condition": "Harvest mature parent at night with sky visible in a cold biome",
|
||||
"result_chance": 0.06,
|
||||
"codex_notes": "Night-only special roll; no full moon requirement"
|
||||
},
|
||||
{
|
||||
"variant_key": "ember",
|
||||
"rule_type": "dimension_lock",
|
||||
"source": "nether_native_plants",
|
||||
"condition": "Break eligible Nether flora in any Nether biome",
|
||||
"result_chance": 1.0,
|
||||
"codex_notes": "Forced result in Nether source table; never obtainable elsewhere"
|
||||
},
|
||||
{
|
||||
"variant_key": "indigo",
|
||||
"rule_type": "dimension_lock",
|
||||
"source": "chorus_plant or chorus_flower",
|
||||
"condition": "Break eligible End flora in any End biome",
|
||||
"result_chance": 1.0,
|
||||
"codex_notes": "Forced result in End source table; never obtainable elsewhere"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
# Canaplia survival obtainment tables for Codex
|
||||
|
||||
These files describe how already-implemented hemp crops can be obtained in survival.
|
||||
|
||||
## Design summary
|
||||
- The crop blocks and item variants already exist in the mod.
|
||||
- The missing part is the survival obtainment loop.
|
||||
- Wild green variants are discovered from biome flora.
|
||||
- Colorful variants mostly come from breeding / mutation.
|
||||
- `lunar` is a timed special harvest.
|
||||
- `ember` is Nether-only.
|
||||
- `indigo` is End-only.
|
||||
|
||||
## Files
|
||||
- `canaplia_codex_variants_catalog.csv`: one row per variant
|
||||
- `canaplia_codex_discovery_sources.csv`: world blocks / plants that can drop seeds
|
||||
- `canaplia_codex_hybrid_rules.csv`: breeding and mutation outputs
|
||||
- `canaplia_codex_special_rules.csv`: night / Nether / End rules
|
||||
- `canaplia_codex_survival_obtainment.xlsx`: workbook version of the same data
|
||||
|
||||
## Intended Codex usage
|
||||
Use these files as the survival design source-of-truth for:
|
||||
- loot/drop tables for biome flora
|
||||
- breeding logic between mature adjacent crops
|
||||
- special timed harvest rules
|
||||
- dimension-exclusive obtainment rules
|
||||
|
||||
## Internal key alignment
|
||||
- Runtime enum keys must match the mod item/block ids: use `pink` instead of `rosy`, and `varieg` instead of `variegated`.
|
||||
@@ -0,0 +1,17 @@
|
||||
variant_key,variant_name_fr,family,obtainable_in_survival,first_obtention,source_blocks_or_plants,biome_focus,breeding_recipe,special_conditions,dimension_lock,codex_notes
|
||||
common,Chanvre commun,wild_base,yes,Discover seeds by breaking short grass or tall grass,minecraft:short_grass; minecraft:tall_grass,plains; forest; riverbanks,,No special condition,,Main starter line. Use as fallback green strain.
|
||||
tender,Chanvre tendre,wild_base,yes,Discover seeds by breaking short grass or tall grass,minecraft:short_grass; minecraft:tall_grass,meadow; flower_forest; cherry_grove,,Best as a bright / floral base strain,,Soft green line used in several hybrid recipes.
|
||||
olive,Chanvre olive,wild_base,yes,Discover seeds by breaking grass or dry grass in warm biomes,minecraft:tall_grass; minecraft:short_grass; minecraft:tall_dry_grass; minecraft:short_dry_grass,savanna; windswept_savanna; desert_edge,,Warm / dry overworld discovery line,,Dry-climate green line.
|
||||
dark,Chanvre sombre,wild_base,yes,Discover seeds by breaking ferns or shaded grass,minecraft:fern; minecraft:short_grass,dark_forest; old_growth_taiga; pale_garden,,Better in low light / canopy-heavy biomes,,Shade line; key parent for purple.
|
||||
ashen,Chanvre cendré,wild_base,yes,Discover seeds by breaking ferns in cold biomes,minecraft:fern; minecraft:large_fern,snowy_taiga; grove; snowy_plains,,Cold-climate base line,,Cold green line; key parent for bluish and lunar.
|
||||
moss,Chanvre mousse,wild_base,yes,Discover seeds from humid cave / swamp flora,minecraft:moss_carpet; minecraft:hanging_roots; minecraft:cave_vines,lush_caves; swamp; mangrove_swamp,,Humidity-heavy discovery line,,"Humid green line; key parent for purple, coral, varieg."
|
||||
amber,Chanvre ambré,wild_rare,yes,Rare seed from dead bushes,minecraft:dead_bush,badlands; eroded_badlands; wooded_badlands,,Rare wild discovery in hot mineral biomes,,Dry rare line; parent for coral.
|
||||
gold,Chanvre doré,hybrid,yes,Obtain as hybrid seed,,warm_biomes; bright_surface_fields,tender + olive,Mature parents adjacent (radius 1); harvest by day with sky visible,,Colorful hybrid from bright and dry green parents.
|
||||
pink,Chanvre rosé,hybrid,yes,Obtain as hybrid seed,,flower_forest; meadow; cherry_grove,tender + purple,Mature parents adjacent (radius 1); harvest at dawn or dusk,,Stylized floral hybrid.
|
||||
coral,Chanvre corail,hybrid,yes,Obtain as hybrid seed,,mangrove_edge; beach; warm_coast,amber + moss,Mature parents adjacent (radius 1); at least 1 water block touching farmland,,Warm wet hybrid.
|
||||
purple,Chanvre pourpre,hybrid,yes,Obtain as hybrid seed,,humid_shaded_fields; swamp; dark_forest,dark + moss,Mature parents adjacent (radius 1); low light and humidity,,Shadow-humidity hybrid.
|
||||
varieg,Chanvre panaché,hybrid,yes,Obtain as mutation seed,,lush_caves; jungle; swamp_greenhouse,any_two_distinct_variants,Two distinct mature parents adjacent (radius 1); humid biome,,Mutation-style collector variant.
|
||||
bluish,Chanvre bleuté,hybrid,yes,Obtain as hybrid seed,,cold_fields; grove; ice_edge,ashen + tender,Mature parents adjacent (radius 1); cold biome or snow/ice nearby,,"Cold hybrid, moved out of wild discovery to keep survival logic coherent."
|
||||
lunar,Chanvre lunaire,circumstantial,yes,Special night harvest,,cold_open_sky_biomes,ashen or bluish -> lunar seed roll,"Harvest mature ashen or bluish plant at night, with sky visible, in a cold biome",,Not found directly; obtained through timed harvest.
|
||||
ember,Chanvre braise,dimensional,yes,Break native Nether flora,minecraft:crimson_roots; minecraft:warped_roots; minecraft:nether_sprouts; minecraft:weeping_vines; minecraft:twisting_vines,all_nether_biomes,,Nether-only. Never drops outside the Nether.,nether,Dimension identity strain.
|
||||
indigo,Chanvre indigo,dimensional,yes,Break chorus plants or chorus flowers,minecraft:chorus_plant; minecraft:chorus_flower,all_end_biomes,,End-only. Never drops outside the End.,end,Dimension identity strain.
|
||||
|
@@ -0,0 +1,160 @@
|
||||
# Hemp Effect System
|
||||
|
||||
## Goal
|
||||
|
||||
Each hemp variety applies:
|
||||
1. a main gameplay profile,
|
||||
2. a subtle visual profile during the normal trip,
|
||||
3. a possible bad trip with stronger visual disturbance.
|
||||
|
||||
Normal trip must stay readable and non-invasive.
|
||||
Bad trip is the only state allowed to become truly disturbing.
|
||||
|
||||
---
|
||||
|
||||
## Core rules
|
||||
|
||||
### Consumption flow
|
||||
|
||||
When the player consumes a hemp item:
|
||||
|
||||
1. Resolve the consumed variety from its `id`.
|
||||
2. Apply all `main_effects` immediately.
|
||||
3. Enable the `normal_visual_profile`.
|
||||
4. Roll one bad trip chance using `bad_trip_chance`.
|
||||
5. If the roll succeeds, schedule the bad trip after a random delay in `bad_trip_delay_sec`.
|
||||
6. When the delay expires, apply `bad_trip_effects` and enable `bad_trip_visual_profile`.
|
||||
7. When the main duration ends, clear normal visuals and gameplay effects.
|
||||
8. When the bad trip duration ends, clear bad trip visuals and gameplay effects.
|
||||
|
||||
---
|
||||
|
||||
## Design constraints
|
||||
|
||||
### Normal trip
|
||||
Normal trip should:
|
||||
- remain comfortable for 2 to 3 minutes,
|
||||
- never make HUD unreadable,
|
||||
- never make combat or building frustrating,
|
||||
- use only light visual treatment.
|
||||
|
||||
Allowed normal visual changes:
|
||||
- subtle tint,
|
||||
- mild saturation shift,
|
||||
- mild contrast shift,
|
||||
- very light vignette,
|
||||
- very light ghosting.
|
||||
|
||||
Forbidden during normal trip:
|
||||
- strong blur,
|
||||
- strong wobble,
|
||||
- aggressive FOV change,
|
||||
- strong double vision,
|
||||
- strong screen shake.
|
||||
|
||||
### Bad trip
|
||||
Bad trip should:
|
||||
- feel clearly worse,
|
||||
- remain shorter than the main trip,
|
||||
- include nausea and hunger,
|
||||
- be visually more unstable.
|
||||
|
||||
Allowed bad trip visual changes:
|
||||
- stronger tint,
|
||||
- stronger vignette,
|
||||
- stronger saturation shift,
|
||||
- light image wobble,
|
||||
- light afterimage,
|
||||
- light brightness pulsing.
|
||||
|
||||
---
|
||||
|
||||
## Stacking rules
|
||||
|
||||
Current stacking model:
|
||||
|
||||
- Consuming the same variety refreshes that variety's duration.
|
||||
- Consuming a different variety keeps the previous gameplay effects active and adds the new variety on top.
|
||||
- Main gameplay effects from several varieties can coexist at the same time.
|
||||
- A new manual consumption rerolls the bad trip entirely from the latest variety.
|
||||
- Passive resin aura refresh keeps extending the same variety without rerolling the bad trip every tick.
|
||||
- Only one normal hemp visual profile can be active at a time: the latest active variety drives visuals.
|
||||
- Only one bad trip state can be active at a time, and a reroll replaces the previous pending or active bad trip.
|
||||
|
||||
---
|
||||
|
||||
## Effect conventions
|
||||
|
||||
### Main effect duration
|
||||
Main trip duration should stay between 140 and 180 seconds.
|
||||
|
||||
### Bad trip duration
|
||||
Bad trip duration should stay between 25 and 40 seconds.
|
||||
|
||||
### Bad trip base gameplay package
|
||||
All bad trips contain at least:
|
||||
- Nausea
|
||||
- Hunger
|
||||
|
||||
Rare and very rare varieties may add:
|
||||
- Weakness
|
||||
- Slowness
|
||||
- short Blindness
|
||||
|
||||
Use these sparingly.
|
||||
|
||||
---
|
||||
|
||||
## Data format
|
||||
|
||||
Each variety entry contains:
|
||||
|
||||
- `id`: stable machine id
|
||||
- `name_fr`: display name
|
||||
- `rarity`: common, uncommon, rare, very_rare
|
||||
- `color_family`: readable color identity
|
||||
- `main_duration_sec`: main trip duration
|
||||
- `main_effects`: list of vanilla effects
|
||||
- `normal_visual_profile`: subtle visual profile
|
||||
- `bad_trip_chance`: float from 0.0 to 1.0
|
||||
- `bad_trip_delay_sec`: min/max delay before bad trip starts
|
||||
- `bad_trip_duration_sec`: bad trip duration
|
||||
- `bad_trip_effects`: gameplay penalty package
|
||||
- `bad_trip_visual_profile`: stronger visual profile
|
||||
|
||||
---
|
||||
|
||||
## Visual profile semantics
|
||||
|
||||
### Intensity scale
|
||||
Use a 0.0 to 1.0 scale:
|
||||
- 0.05 to 0.15 = subtle
|
||||
- 0.20 to 0.35 = noticeable
|
||||
- 0.40+ = invasive
|
||||
|
||||
Normal trip should usually stay in 0.08 to 0.14.
|
||||
Bad trip may go to 0.25 to 0.50 depending on rarity.
|
||||
|
||||
### Suggested shader parameters
|
||||
A visual profile can drive:
|
||||
- `tint_strength`
|
||||
- `saturation_delta`
|
||||
- `contrast_delta`
|
||||
- `vignette_strength`
|
||||
- `ghosting_strength`
|
||||
- `wobble_strength`
|
||||
- `pulse_strength`
|
||||
|
||||
Not every profile needs every parameter.
|
||||
|
||||
---
|
||||
|
||||
## Implementation note
|
||||
|
||||
The system should be data-driven:
|
||||
- all plant tuning lives in JSON,
|
||||
- gameplay code reads the JSON,
|
||||
- visuals are picked by profile name or inline values,
|
||||
- item classes should not hardcode effect logic.
|
||||
|
||||
This allows easy balancing without rewriting gameplay code.
|
||||
@@ -0,0 +1,601 @@
|
||||
{
|
||||
"version": 1,
|
||||
"bad_trip_base_rules": {
|
||||
"applies_nausea": true,
|
||||
"applies_hunger": true,
|
||||
"normal_trip_visual_intensity_target": [0.08, 0.14],
|
||||
"bad_trip_visual_intensity_target": [0.25, 0.50]
|
||||
},
|
||||
"varieties": [
|
||||
{
|
||||
"id": "chanvre_commun",
|
||||
"name_fr": "Chanvre commun",
|
||||
"rarity": "common",
|
||||
"color_family": "natural_green",
|
||||
"main_duration_sec": 160,
|
||||
"main_effects": [
|
||||
{ "effect": "minecraft:resistance", "amplifier": 0, "duration_sec": 160 },
|
||||
{ "effect": "minecraft:slowness", "amplifier": 0, "duration_sec": 160 },
|
||||
{ "effect": "minecraft:haste", "amplifier": 0, "duration_sec": 160 },
|
||||
{ "effect": "minecraft:strength", "amplifier": 0, "duration_sec": 160 }
|
||||
],
|
||||
"normal_visual_profile": {
|
||||
"palette": "soft_green",
|
||||
"intensity": 0.09,
|
||||
"tint_strength": 0.05,
|
||||
"saturation_delta": 0.03,
|
||||
"contrast_delta": 0.02,
|
||||
"vignette_strength": 0.03
|
||||
},
|
||||
"bad_trip_chance": 0.10,
|
||||
"bad_trip_delay_sec": { "min": 18, "max": 32 },
|
||||
"bad_trip_duration_sec": 28,
|
||||
"bad_trip_effects": [
|
||||
{ "effect": "minecraft:nausea", "amplifier": 0, "duration_sec": 28 },
|
||||
{ "effect": "minecraft:hunger", "amplifier": 0, "duration_sec": 32 }
|
||||
],
|
||||
"bad_trip_visual_profile": {
|
||||
"palette": "dirty_green",
|
||||
"intensity": 0.26,
|
||||
"tint_strength": 0.10,
|
||||
"saturation_delta": -0.05,
|
||||
"contrast_delta": 0.04,
|
||||
"vignette_strength": 0.10,
|
||||
"ghosting_strength": 0.06
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "chanvre_tendre",
|
||||
"name_fr": "Chanvre tendre",
|
||||
"rarity": "common",
|
||||
"color_family": "fresh_light_green",
|
||||
"main_duration_sec": 170,
|
||||
"main_effects": [
|
||||
{ "effect": "minecraft:speed", "amplifier": 0, "duration_sec": 170 },
|
||||
{ "effect": "minecraft:jump_boost", "amplifier": 0, "duration_sec": 170 },
|
||||
{ "effect": "minecraft:weakness", "amplifier": 0, "duration_sec": 170 }
|
||||
],
|
||||
"normal_visual_profile": {
|
||||
"palette": "fresh_green",
|
||||
"intensity": 0.08,
|
||||
"tint_strength": 0.04,
|
||||
"saturation_delta": 0.04,
|
||||
"contrast_delta": 0.01,
|
||||
"vignette_strength": 0.02
|
||||
},
|
||||
"bad_trip_chance": 0.09,
|
||||
"bad_trip_delay_sec": { "min": 20, "max": 35 },
|
||||
"bad_trip_duration_sec": 26,
|
||||
"bad_trip_effects": [
|
||||
{ "effect": "minecraft:nausea", "amplifier": 0, "duration_sec": 26 },
|
||||
{ "effect": "minecraft:hunger", "amplifier": 0, "duration_sec": 30 }
|
||||
],
|
||||
"bad_trip_visual_profile": {
|
||||
"palette": "sour_green",
|
||||
"intensity": 0.24,
|
||||
"tint_strength": 0.09,
|
||||
"saturation_delta": -0.04,
|
||||
"vignette_strength": 0.08,
|
||||
"ghosting_strength": 0.05
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "chanvre_olive",
|
||||
"name_fr": "Chanvre olive",
|
||||
"rarity": "common",
|
||||
"color_family": "olive_green",
|
||||
"main_duration_sec": 155,
|
||||
"main_effects": [
|
||||
{ "effect": "minecraft:haste", "amplifier": 0, "duration_sec": 155 },
|
||||
{ "effect": "minecraft:luck", "amplifier": 0, "duration_sec": 155 },
|
||||
{ "effect": "minecraft:hunger", "amplifier": 0, "duration_sec": 155 }
|
||||
],
|
||||
"normal_visual_profile": {
|
||||
"palette": "olive_matte",
|
||||
"intensity": 0.09,
|
||||
"tint_strength": 0.05,
|
||||
"saturation_delta": -0.01,
|
||||
"contrast_delta": 0.02,
|
||||
"vignette_strength": 0.03
|
||||
},
|
||||
"bad_trip_chance": 0.12,
|
||||
"bad_trip_delay_sec": { "min": 16, "max": 30 },
|
||||
"bad_trip_duration_sec": 30,
|
||||
"bad_trip_effects": [
|
||||
{ "effect": "minecraft:nausea", "amplifier": 0, "duration_sec": 30 },
|
||||
{ "effect": "minecraft:hunger", "amplifier": 1, "duration_sec": 34 }
|
||||
],
|
||||
"bad_trip_visual_profile": {
|
||||
"palette": "mustard_sick",
|
||||
"intensity": 0.28,
|
||||
"tint_strength": 0.11,
|
||||
"saturation_delta": -0.08,
|
||||
"vignette_strength": 0.10,
|
||||
"ghosting_strength": 0.06
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "chanvre_sombre",
|
||||
"name_fr": "Chanvre sombre",
|
||||
"rarity": "common",
|
||||
"color_family": "deep_forest_green",
|
||||
"main_duration_sec": 165,
|
||||
"main_effects": [
|
||||
{ "effect": "minecraft:night_vision", "amplifier": 0, "duration_sec": 165 },
|
||||
{ "effect": "minecraft:strength", "amplifier": 0, "duration_sec": 165 },
|
||||
{ "effect": "minecraft:slowness", "amplifier": 0, "duration_sec": 165 }
|
||||
],
|
||||
"normal_visual_profile": {
|
||||
"palette": "deep_green",
|
||||
"intensity": 0.10,
|
||||
"tint_strength": 0.06,
|
||||
"saturation_delta": -0.01,
|
||||
"contrast_delta": 0.03,
|
||||
"vignette_strength": 0.04
|
||||
},
|
||||
"bad_trip_chance": 0.12,
|
||||
"bad_trip_delay_sec": { "min": 18, "max": 34 },
|
||||
"bad_trip_duration_sec": 30,
|
||||
"bad_trip_effects": [
|
||||
{ "effect": "minecraft:nausea", "amplifier": 0, "duration_sec": 30 },
|
||||
{ "effect": "minecraft:hunger", "amplifier": 0, "duration_sec": 34 }
|
||||
],
|
||||
"bad_trip_visual_profile": {
|
||||
"palette": "swamp_dark",
|
||||
"intensity": 0.29,
|
||||
"tint_strength": 0.12,
|
||||
"saturation_delta": -0.06,
|
||||
"contrast_delta": 0.05,
|
||||
"vignette_strength": 0.12,
|
||||
"ghosting_strength": 0.05
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "chanvre_cendre",
|
||||
"name_fr": "Chanvre cendré",
|
||||
"rarity": "common",
|
||||
"color_family": "ashy_green",
|
||||
"main_duration_sec": 150,
|
||||
"main_effects": [
|
||||
{ "effect": "minecraft:slow_falling", "amplifier": 0, "duration_sec": 150 },
|
||||
{ "effect": "minecraft:weakness", "amplifier": 0, "duration_sec": 150 }
|
||||
],
|
||||
"normal_visual_profile": {
|
||||
"palette": "ash_green",
|
||||
"intensity": 0.09,
|
||||
"tint_strength": 0.04,
|
||||
"saturation_delta": -0.05,
|
||||
"contrast_delta": -0.01,
|
||||
"vignette_strength": 0.03,
|
||||
"ghosting_strength": 0.03
|
||||
},
|
||||
"bad_trip_chance": 0.14,
|
||||
"bad_trip_delay_sec": { "min": 14, "max": 28 },
|
||||
"bad_trip_duration_sec": 32,
|
||||
"bad_trip_effects": [
|
||||
{ "effect": "minecraft:nausea", "amplifier": 0, "duration_sec": 32 },
|
||||
{ "effect": "minecraft:hunger", "amplifier": 1, "duration_sec": 34 }
|
||||
],
|
||||
"bad_trip_visual_profile": {
|
||||
"palette": "dusty_gray_green",
|
||||
"intensity": 0.30,
|
||||
"tint_strength": 0.10,
|
||||
"saturation_delta": -0.12,
|
||||
"contrast_delta": -0.03,
|
||||
"vignette_strength": 0.11,
|
||||
"ghosting_strength": 0.08,
|
||||
"wobble_strength": 0.04
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "chanvre_mousse",
|
||||
"name_fr": "Chanvre mousse",
|
||||
"rarity": "common",
|
||||
"color_family": "moss_green",
|
||||
"main_duration_sec": 175,
|
||||
"main_effects": [
|
||||
{ "effect": "minecraft:water_breathing", "amplifier": 0, "duration_sec": 175 },
|
||||
{ "effect": "minecraft:regeneration", "amplifier": 0, "duration_sec": 175 },
|
||||
{ "effect": "minecraft:slowness", "amplifier": 0, "duration_sec": 175 }
|
||||
],
|
||||
"normal_visual_profile": {
|
||||
"palette": "wet_moss",
|
||||
"intensity": 0.09,
|
||||
"tint_strength": 0.05,
|
||||
"saturation_delta": 0.01,
|
||||
"contrast_delta": -0.01,
|
||||
"vignette_strength": 0.03
|
||||
},
|
||||
"bad_trip_chance": 0.11,
|
||||
"bad_trip_delay_sec": { "min": 20, "max": 36 },
|
||||
"bad_trip_duration_sec": 28,
|
||||
"bad_trip_effects": [
|
||||
{ "effect": "minecraft:nausea", "amplifier": 0, "duration_sec": 28 },
|
||||
{ "effect": "minecraft:hunger", "amplifier": 0, "duration_sec": 32 }
|
||||
],
|
||||
"bad_trip_visual_profile": {
|
||||
"palette": "bog_green",
|
||||
"intensity": 0.27,
|
||||
"tint_strength": 0.10,
|
||||
"saturation_delta": -0.04,
|
||||
"contrast_delta": -0.02,
|
||||
"vignette_strength": 0.09,
|
||||
"ghosting_strength": 0.06
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "chanvre_dore",
|
||||
"name_fr": "Chanvre doré",
|
||||
"rarity": "uncommon",
|
||||
"color_family": "golden_green",
|
||||
"main_duration_sec": 150,
|
||||
"main_effects": [
|
||||
{ "effect": "minecraft:absorption", "amplifier": 0, "duration_sec": 150 },
|
||||
{ "effect": "minecraft:haste", "amplifier": 1, "duration_sec": 150 },
|
||||
{ "effect": "minecraft:speed", "amplifier": 0, "duration_sec": 150 }
|
||||
],
|
||||
"normal_visual_profile": {
|
||||
"palette": "soft_gold",
|
||||
"intensity": 0.11,
|
||||
"tint_strength": 0.06,
|
||||
"saturation_delta": 0.05,
|
||||
"contrast_delta": 0.03,
|
||||
"vignette_strength": 0.03
|
||||
},
|
||||
"bad_trip_chance": 0.15,
|
||||
"bad_trip_delay_sec": { "min": 15, "max": 28 },
|
||||
"bad_trip_duration_sec": 30,
|
||||
"bad_trip_effects": [
|
||||
{ "effect": "minecraft:nausea", "amplifier": 0, "duration_sec": 30 },
|
||||
{ "effect": "minecraft:hunger", "amplifier": 1, "duration_sec": 34 }
|
||||
],
|
||||
"bad_trip_visual_profile": {
|
||||
"palette": "toxic_yellow",
|
||||
"intensity": 0.32,
|
||||
"tint_strength": 0.13,
|
||||
"saturation_delta": 0.03,
|
||||
"contrast_delta": 0.06,
|
||||
"vignette_strength": 0.11,
|
||||
"pulse_strength": 0.05
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "chanvre_ambre",
|
||||
"name_fr": "Chanvre ambré",
|
||||
"rarity": "uncommon",
|
||||
"color_family": "amber_yellow_brown",
|
||||
"main_duration_sec": 155,
|
||||
"main_effects": [
|
||||
{ "effect": "minecraft:fire_resistance", "amplifier": 0, "duration_sec": 155 },
|
||||
{ "effect": "minecraft:strength", "amplifier": 0, "duration_sec": 155 },
|
||||
{ "effect": "minecraft:hunger", "amplifier": 0, "duration_sec": 155 }
|
||||
],
|
||||
"normal_visual_profile": {
|
||||
"palette": "warm_amber",
|
||||
"intensity": 0.11,
|
||||
"tint_strength": 0.06,
|
||||
"saturation_delta": 0.03,
|
||||
"contrast_delta": 0.03,
|
||||
"vignette_strength": 0.03
|
||||
},
|
||||
"bad_trip_chance": 0.16,
|
||||
"bad_trip_delay_sec": { "min": 14, "max": 28 },
|
||||
"bad_trip_duration_sec": 32,
|
||||
"bad_trip_effects": [
|
||||
{ "effect": "minecraft:nausea", "amplifier": 0, "duration_sec": 32 },
|
||||
{ "effect": "minecraft:hunger", "amplifier": 1, "duration_sec": 34 }
|
||||
],
|
||||
"bad_trip_visual_profile": {
|
||||
"palette": "burnt_amber",
|
||||
"intensity": 0.33,
|
||||
"tint_strength": 0.14,
|
||||
"saturation_delta": 0.01,
|
||||
"contrast_delta": 0.05,
|
||||
"vignette_strength": 0.12,
|
||||
"pulse_strength": 0.06
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "chanvre_bleute",
|
||||
"name_fr": "Chanvre bleuté",
|
||||
"rarity": "uncommon",
|
||||
"color_family": "cool_blue_green",
|
||||
"main_duration_sec": 165,
|
||||
"main_effects": [
|
||||
{ "effect": "minecraft:night_vision", "amplifier": 0, "duration_sec": 165 },
|
||||
{ "effect": "minecraft:water_breathing", "amplifier": 0, "duration_sec": 165 },
|
||||
{ "effect": "minecraft:speed", "amplifier": 0, "duration_sec": 165 }
|
||||
],
|
||||
"normal_visual_profile": {
|
||||
"palette": "cool_blue",
|
||||
"intensity": 0.10,
|
||||
"tint_strength": 0.05,
|
||||
"saturation_delta": 0.01,
|
||||
"contrast_delta": 0.02,
|
||||
"vignette_strength": 0.02
|
||||
},
|
||||
"bad_trip_chance": 0.14,
|
||||
"bad_trip_delay_sec": { "min": 18, "max": 30 },
|
||||
"bad_trip_duration_sec": 29,
|
||||
"bad_trip_effects": [
|
||||
{ "effect": "minecraft:nausea", "amplifier": 0, "duration_sec": 29 },
|
||||
{ "effect": "minecraft:hunger", "amplifier": 0, "duration_sec": 33 }
|
||||
],
|
||||
"bad_trip_visual_profile": {
|
||||
"palette": "cold_cyan",
|
||||
"intensity": 0.30,
|
||||
"tint_strength": 0.12,
|
||||
"saturation_delta": -0.02,
|
||||
"contrast_delta": 0.05,
|
||||
"vignette_strength": 0.10,
|
||||
"ghosting_strength": 0.07
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "chanvre_rose",
|
||||
"name_fr": "Chanvre rosé",
|
||||
"rarity": "uncommon",
|
||||
"color_family": "soft_plant_pink",
|
||||
"main_duration_sec": 175,
|
||||
"main_effects": [
|
||||
{ "effect": "minecraft:regeneration", "amplifier": 0, "duration_sec": 175 },
|
||||
{ "effect": "minecraft:slowness", "amplifier": 0, "duration_sec": 175 }
|
||||
],
|
||||
"normal_visual_profile": {
|
||||
"palette": "soft_pink",
|
||||
"intensity": 0.09,
|
||||
"tint_strength": 0.04,
|
||||
"saturation_delta": 0.03,
|
||||
"contrast_delta": 0.01,
|
||||
"vignette_strength": 0.02
|
||||
},
|
||||
"bad_trip_chance": 0.15,
|
||||
"bad_trip_delay_sec": { "min": 20, "max": 35 },
|
||||
"bad_trip_duration_sec": 30,
|
||||
"bad_trip_effects": [
|
||||
{ "effect": "minecraft:nausea", "amplifier": 0, "duration_sec": 30 },
|
||||
{ "effect": "minecraft:hunger", "amplifier": 1, "duration_sec": 34 }
|
||||
],
|
||||
"bad_trip_visual_profile": {
|
||||
"palette": "sickly_pink",
|
||||
"intensity": 0.31,
|
||||
"tint_strength": 0.12,
|
||||
"saturation_delta": -0.01,
|
||||
"vignette_strength": 0.10,
|
||||
"ghosting_strength": 0.06
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "chanvre_corail",
|
||||
"name_fr": "Chanvre corail",
|
||||
"rarity": "uncommon",
|
||||
"color_family": "warm_coral",
|
||||
"main_duration_sec": 150,
|
||||
"main_effects": [
|
||||
{ "effect": "minecraft:dolphins_grace", "amplifier": 0, "duration_sec": 150 },
|
||||
{ "effect": "minecraft:water_breathing", "amplifier": 0, "duration_sec": 150 },
|
||||
{ "effect": "minecraft:jump_boost", "amplifier": 0, "duration_sec": 150 }
|
||||
],
|
||||
"normal_visual_profile": {
|
||||
"palette": "coral_warm",
|
||||
"intensity": 0.11,
|
||||
"tint_strength": 0.05,
|
||||
"saturation_delta": 0.04,
|
||||
"contrast_delta": 0.02,
|
||||
"vignette_strength": 0.02
|
||||
},
|
||||
"bad_trip_chance": 0.17,
|
||||
"bad_trip_delay_sec": { "min": 14, "max": 26 },
|
||||
"bad_trip_duration_sec": 31,
|
||||
"bad_trip_effects": [
|
||||
{ "effect": "minecraft:nausea", "amplifier": 0, "duration_sec": 31 },
|
||||
{ "effect": "minecraft:hunger", "amplifier": 1, "duration_sec": 35 }
|
||||
],
|
||||
"bad_trip_visual_profile": {
|
||||
"palette": "burnt_coral",
|
||||
"intensity": 0.33,
|
||||
"tint_strength": 0.13,
|
||||
"saturation_delta": 0.00,
|
||||
"contrast_delta": 0.05,
|
||||
"vignette_strength": 0.11,
|
||||
"ghosting_strength": 0.06,
|
||||
"pulse_strength": 0.05
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "chanvre_pourpre",
|
||||
"name_fr": "Chanvre pourpre",
|
||||
"rarity": "rare",
|
||||
"color_family": "deep_red_violet",
|
||||
"main_duration_sec": 145,
|
||||
"main_effects": [
|
||||
{ "effect": "minecraft:strength", "amplifier": 1, "duration_sec": 145 },
|
||||
{ "effect": "minecraft:resistance", "amplifier": 0, "duration_sec": 145 }
|
||||
],
|
||||
"normal_visual_profile": {
|
||||
"palette": "mystic_purple",
|
||||
"intensity": 0.12,
|
||||
"tint_strength": 0.06,
|
||||
"saturation_delta": 0.05,
|
||||
"contrast_delta": 0.03,
|
||||
"vignette_strength": 0.03
|
||||
},
|
||||
"bad_trip_chance": 0.22,
|
||||
"bad_trip_delay_sec": { "min": 12, "max": 24 },
|
||||
"bad_trip_duration_sec": 34,
|
||||
"bad_trip_effects": [
|
||||
{ "effect": "minecraft:nausea", "amplifier": 1, "duration_sec": 34 },
|
||||
{ "effect": "minecraft:hunger", "amplifier": 1, "duration_sec": 36 },
|
||||
{ "effect": "minecraft:weakness", "amplifier": 0, "duration_sec": 24 }
|
||||
],
|
||||
"bad_trip_visual_profile": {
|
||||
"palette": "corrupted_magenta",
|
||||
"intensity": 0.40,
|
||||
"tint_strength": 0.17,
|
||||
"saturation_delta": 0.08,
|
||||
"contrast_delta": 0.07,
|
||||
"vignette_strength": 0.14,
|
||||
"ghosting_strength": 0.10,
|
||||
"wobble_strength": 0.05
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "chanvre_indigo",
|
||||
"name_fr": "Chanvre indigo",
|
||||
"rarity": "rare",
|
||||
"color_family": "dark_blue_violet",
|
||||
"main_duration_sec": 145,
|
||||
"main_effects": [
|
||||
{ "effect": "minecraft:invisibility", "amplifier": 0, "duration_sec": 145 },
|
||||
{ "effect": "minecraft:night_vision", "amplifier": 0, "duration_sec": 145 },
|
||||
{ "effect": "minecraft:weakness", "amplifier": 0, "duration_sec": 145 }
|
||||
],
|
||||
"normal_visual_profile": {
|
||||
"palette": "deep_indigo",
|
||||
"intensity": 0.12,
|
||||
"tint_strength": 0.06,
|
||||
"saturation_delta": -0.01,
|
||||
"contrast_delta": 0.04,
|
||||
"vignette_strength": 0.04
|
||||
},
|
||||
"bad_trip_chance": 0.21,
|
||||
"bad_trip_delay_sec": { "min": 12, "max": 25 },
|
||||
"bad_trip_duration_sec": 34,
|
||||
"bad_trip_effects": [
|
||||
{ "effect": "minecraft:nausea", "amplifier": 1, "duration_sec": 34 },
|
||||
{ "effect": "minecraft:hunger", "amplifier": 1, "duration_sec": 36 },
|
||||
{ "effect": "minecraft:weakness", "amplifier": 0, "duration_sec": 24 }
|
||||
],
|
||||
"bad_trip_visual_profile": {
|
||||
"palette": "void_indigo",
|
||||
"intensity": 0.39,
|
||||
"tint_strength": 0.16,
|
||||
"saturation_delta": -0.05,
|
||||
"contrast_delta": 0.08,
|
||||
"vignette_strength": 0.15,
|
||||
"ghosting_strength": 0.11,
|
||||
"wobble_strength": 0.04
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "chanvre_panache",
|
||||
"name_fr": "Chanvre panaché",
|
||||
"rarity": "rare",
|
||||
"color_family": "mixed_pale_green",
|
||||
"main_duration_sec": 160,
|
||||
"main_effects_mode": "random_pick",
|
||||
"main_effects_pool": [
|
||||
{ "effect": "minecraft:speed", "amplifier": 0, "duration_sec": 160 },
|
||||
{ "effect": "minecraft:haste", "amplifier": 0, "duration_sec": 160 },
|
||||
{ "effect": "minecraft:regeneration", "amplifier": 0, "duration_sec": 160 },
|
||||
{ "effect": "minecraft:night_vision", "amplifier": 0, "duration_sec": 160 }
|
||||
],
|
||||
"main_effects_pick_count": 2,
|
||||
"normal_visual_profile": {
|
||||
"palette": "pale_mixed_green",
|
||||
"intensity": 0.11,
|
||||
"tint_strength": 0.05,
|
||||
"saturation_delta": 0.01,
|
||||
"contrast_delta": 0.02,
|
||||
"vignette_strength": 0.03,
|
||||
"ghosting_strength": 0.03
|
||||
},
|
||||
"bad_trip_chance": 0.20,
|
||||
"bad_trip_delay_sec": { "min": 13, "max": 27 },
|
||||
"bad_trip_duration_sec": 33,
|
||||
"bad_trip_effects": [
|
||||
{ "effect": "minecraft:nausea", "amplifier": 1, "duration_sec": 33 },
|
||||
{ "effect": "minecraft:hunger", "amplifier": 1, "duration_sec": 36 }
|
||||
],
|
||||
"bad_trip_visual_profile": {
|
||||
"palette": "unstable_mixed",
|
||||
"intensity": 0.36,
|
||||
"tint_strength": 0.14,
|
||||
"saturation_delta": -0.02,
|
||||
"contrast_delta": 0.04,
|
||||
"vignette_strength": 0.12,
|
||||
"ghosting_strength": 0.10,
|
||||
"wobble_strength": 0.05
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "chanvre_lunaire",
|
||||
"name_fr": "Chanvre lunaire",
|
||||
"rarity": "very_rare",
|
||||
"color_family": "pale_silver_green",
|
||||
"main_duration_sec": 150,
|
||||
"main_effects": [
|
||||
{ "effect": "minecraft:jump_boost", "amplifier": 1, "duration_sec": 150 },
|
||||
{ "effect": "minecraft:slow_falling", "amplifier": 0, "duration_sec": 150 },
|
||||
{ "effect": "minecraft:night_vision", "amplifier": 0, "duration_sec": 150 }
|
||||
],
|
||||
"normal_visual_profile": {
|
||||
"palette": "moon_pale",
|
||||
"intensity": 0.13,
|
||||
"tint_strength": 0.06,
|
||||
"saturation_delta": -0.03,
|
||||
"contrast_delta": 0.01,
|
||||
"vignette_strength": 0.03,
|
||||
"ghosting_strength": 0.03
|
||||
},
|
||||
"bad_trip_chance": 0.27,
|
||||
"bad_trip_delay_sec": { "min": 10, "max": 22 },
|
||||
"bad_trip_duration_sec": 36,
|
||||
"bad_trip_effects": [
|
||||
{ "effect": "minecraft:nausea", "amplifier": 1, "duration_sec": 36 },
|
||||
{ "effect": "minecraft:hunger", "amplifier": 1, "duration_sec": 38 },
|
||||
{ "effect": "minecraft:blindness", "amplifier": 0, "duration_sec": 4 }
|
||||
],
|
||||
"bad_trip_visual_profile": {
|
||||
"palette": "overexposed_moon",
|
||||
"intensity": 0.46,
|
||||
"tint_strength": 0.18,
|
||||
"saturation_delta": -0.10,
|
||||
"contrast_delta": -0.02,
|
||||
"vignette_strength": 0.13,
|
||||
"ghosting_strength": 0.12,
|
||||
"wobble_strength": 0.06,
|
||||
"pulse_strength": 0.06
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "chanvre_braise",
|
||||
"name_fr": "Chanvre braise",
|
||||
"rarity": "very_rare",
|
||||
"color_family": "dark_red_ember",
|
||||
"main_duration_sec": 145,
|
||||
"main_effects": [
|
||||
{ "effect": "minecraft:fire_resistance", "amplifier": 0, "duration_sec": 145 },
|
||||
{ "effect": "minecraft:strength", "amplifier": 1, "duration_sec": 145 },
|
||||
{ "effect": "minecraft:haste", "amplifier": 1, "duration_sec": 145 }
|
||||
],
|
||||
"normal_visual_profile": {
|
||||
"palette": "ember_warm",
|
||||
"intensity": 0.13,
|
||||
"tint_strength": 0.07,
|
||||
"saturation_delta": 0.04,
|
||||
"contrast_delta": 0.04,
|
||||
"vignette_strength": 0.03
|
||||
},
|
||||
"bad_trip_chance": 0.30,
|
||||
"bad_trip_delay_sec": { "min": 10, "max": 20 },
|
||||
"bad_trip_duration_sec": 38,
|
||||
"bad_trip_effects": [
|
||||
{ "effect": "minecraft:nausea", "amplifier": 1, "duration_sec": 38 },
|
||||
{ "effect": "minecraft:hunger", "amplifier": 2, "duration_sec": 40 },
|
||||
{ "effect": "minecraft:weakness", "amplifier": 0, "duration_sec": 20 }
|
||||
],
|
||||
"bad_trip_visual_profile": {
|
||||
"palette": "burning_red",
|
||||
"intensity": 0.50,
|
||||
"tint_strength": 0.20,
|
||||
"saturation_delta": 0.06,
|
||||
"contrast_delta": 0.08,
|
||||
"vignette_strength": 0.16,
|
||||
"ghosting_strength": 0.09,
|
||||
"wobble_strength": 0.05,
|
||||
"pulse_strength": 0.08
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,162 @@
|
||||
{
|
||||
"layout": {
|
||||
"tile_size": [
|
||||
16,
|
||||
16
|
||||
],
|
||||
"columns": 16,
|
||||
"rows": 1,
|
||||
"column_order": [
|
||||
"common",
|
||||
"tender",
|
||||
"olive",
|
||||
"dark",
|
||||
"ashen",
|
||||
"moss",
|
||||
"gold",
|
||||
"amber",
|
||||
"bluish",
|
||||
"pink",
|
||||
"coral",
|
||||
"purple",
|
||||
"indigo",
|
||||
"varieg",
|
||||
"lunar",
|
||||
"ember"
|
||||
],
|
||||
"row_order": [
|
||||
"resin_block"
|
||||
],
|
||||
"note": "Raw sheet has no margins. Size: 256x16."
|
||||
},
|
||||
"variants": [
|
||||
{
|
||||
"key": "common",
|
||||
"name": "Résine commune",
|
||||
"rarity": "commun",
|
||||
"h": 36,
|
||||
"s": 1.0,
|
||||
"v": 1.0
|
||||
},
|
||||
{
|
||||
"key": "tender",
|
||||
"name": "Résine tendre",
|
||||
"rarity": "commun",
|
||||
"h": 44,
|
||||
"s": 0.88,
|
||||
"v": 1.1
|
||||
},
|
||||
{
|
||||
"key": "olive",
|
||||
"name": "Résine olive",
|
||||
"rarity": "commun",
|
||||
"h": 78,
|
||||
"s": 0.82,
|
||||
"v": 0.96
|
||||
},
|
||||
{
|
||||
"key": "dark",
|
||||
"name": "Résine sombre",
|
||||
"rarity": "commun",
|
||||
"h": 28,
|
||||
"s": 1.0,
|
||||
"v": 0.72
|
||||
},
|
||||
{
|
||||
"key": "ashen",
|
||||
"name": "Résine cendrée",
|
||||
"rarity": "commun",
|
||||
"h": 34,
|
||||
"s": 0.34,
|
||||
"v": 0.92
|
||||
},
|
||||
{
|
||||
"key": "moss",
|
||||
"name": "Résine mousse",
|
||||
"rarity": "commun",
|
||||
"h": 112,
|
||||
"s": 0.72,
|
||||
"v": 0.82
|
||||
},
|
||||
{
|
||||
"key": "gold",
|
||||
"name": "Résine dorée",
|
||||
"rarity": "peu commun",
|
||||
"h": 52,
|
||||
"s": 0.96,
|
||||
"v": 1.12
|
||||
},
|
||||
{
|
||||
"key": "amber",
|
||||
"name": "Résine ambrée",
|
||||
"rarity": "peu commun",
|
||||
"h": 22,
|
||||
"s": 1.0,
|
||||
"v": 1.04
|
||||
},
|
||||
{
|
||||
"key": "bluish",
|
||||
"name": "Résine bleutée",
|
||||
"rarity": "peu commun",
|
||||
"h": 190,
|
||||
"s": 0.7,
|
||||
"v": 0.98
|
||||
},
|
||||
{
|
||||
"key": "pink",
|
||||
"name": "Résine rosée",
|
||||
"rarity": "peu commun",
|
||||
"h": 340,
|
||||
"s": 0.62,
|
||||
"v": 1.08
|
||||
},
|
||||
{
|
||||
"key": "coral",
|
||||
"name": "Résine corail",
|
||||
"rarity": "peu commun",
|
||||
"h": 10,
|
||||
"s": 0.82,
|
||||
"v": 1.1
|
||||
},
|
||||
{
|
||||
"key": "purple",
|
||||
"name": "Résine pourpre",
|
||||
"rarity": "rare",
|
||||
"h": 296,
|
||||
"s": 0.82,
|
||||
"v": 0.84
|
||||
},
|
||||
{
|
||||
"key": "indigo",
|
||||
"name": "Résine indigo",
|
||||
"rarity": "rare",
|
||||
"h": 246,
|
||||
"s": 0.82,
|
||||
"v": 0.84
|
||||
},
|
||||
{
|
||||
"key": "varieg",
|
||||
"name": "Résine panachée",
|
||||
"rarity": "rare",
|
||||
"h": 88,
|
||||
"s": 0.88,
|
||||
"v": 1.0
|
||||
},
|
||||
{
|
||||
"key": "lunar",
|
||||
"name": "Résine lunaire",
|
||||
"rarity": "très rare",
|
||||
"h": 72,
|
||||
"s": 0.12,
|
||||
"v": 1.22
|
||||
},
|
||||
{
|
||||
"key": "ember",
|
||||
"name": "Résine braise",
|
||||
"rarity": "très rare",
|
||||
"h": 4,
|
||||
"s": 0.96,
|
||||
"v": 0.92
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 10 KiB |
Reference in New Issue
Block a user