mirror of
https://github.com/Ellpeck/NaturesAura.git
synced 2024-11-22 03:43:30 +01:00
got tags working
This commit is contained in:
parent
2ed4e45d38
commit
b2e7a3f467
92 changed files with 245 additions and 307 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -12,6 +12,7 @@
|
||||||
/classes
|
/classes
|
||||||
/bin/
|
/bin/
|
||||||
/run/
|
/run/
|
||||||
|
/run-data/
|
||||||
/logs
|
/logs
|
||||||
|
|
||||||
*.classpath
|
*.classpath
|
||||||
|
@ -20,4 +21,4 @@
|
||||||
*.launch
|
*.launch
|
||||||
.settings/org.eclipse.jdt.core.prefs
|
.settings/org.eclipse.jdt.core.prefs
|
||||||
*.prefs
|
*.prefs
|
||||||
.cache
|
.cache
|
||||||
|
|
|
@ -83,6 +83,9 @@ minecraft {
|
||||||
source sourceSets.main
|
source sourceSets.main
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
property 'mixin.env.remapRefMap', 'true'
|
||||||
|
property 'mixin.env.refMapRemappingFile', "${projectDir}/build/createSrgToMcp/output.srg"
|
||||||
}
|
}
|
||||||
|
|
||||||
client {
|
client {
|
||||||
|
@ -146,7 +149,7 @@ dependencies {
|
||||||
// If the group id is "net.minecraft" and the artifact id is one of ["client", "server", "joined"],
|
// If the group id is "net.minecraft" and the artifact id is one of ["client", "server", "joined"],
|
||||||
// then special handling is done to allow a setup of a vanilla dependency without the use of an external repository.
|
// then special handling is done to allow a setup of a vanilla dependency without the use of an external repository.
|
||||||
minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"
|
minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"
|
||||||
|
|
||||||
// Example mod dependency with JEI - using fg.deobf() ensures the dependency is remapped to your development mappings
|
// Example mod dependency with JEI - using fg.deobf() ensures the dependency is remapped to your development mappings
|
||||||
// The JEI API is declared for compile time use, while the full JEI artifact is used at runtime
|
// The JEI API is declared for compile time use, while the full JEI artifact is used at runtime
|
||||||
compileOnly fg.deobf("mezz.jei:jei-${minecraft_version}-common-api:${jei_version}")
|
compileOnly fg.deobf("mezz.jei:jei-${minecraft_version}-common-api:${jei_version}")
|
||||||
|
@ -155,7 +158,7 @@ dependencies {
|
||||||
|
|
||||||
runtimeOnly fg.deobf("top.theillusivec4.curios:curios-forge:${curios_version}")
|
runtimeOnly fg.deobf("top.theillusivec4.curios:curios-forge:${curios_version}")
|
||||||
compileOnly fg.deobf("top.theillusivec4.curios:curios-forge:${curios_version}:api")
|
compileOnly fg.deobf("top.theillusivec4.curios:curios-forge:${curios_version}:api")
|
||||||
|
|
||||||
compileOnly fg.deobf("vazkii.patchouli:Patchouli:${patchouli_version}:api")
|
compileOnly fg.deobf("vazkii.patchouli:Patchouli:${patchouli_version}:api")
|
||||||
runtimeOnly fg.deobf("vazkii.patchouli:Patchouli:${patchouli_version}")
|
runtimeOnly fg.deobf("vazkii.patchouli:Patchouli:${patchouli_version}")
|
||||||
|
|
||||||
|
|
|
@ -1,15 +0,0 @@
|
||||||
{
|
|
||||||
"values": [
|
|
||||||
"naturesaura:ancient_bark",
|
|
||||||
"naturesaura:ancient_log",
|
|
||||||
"naturesaura:ancient_planks",
|
|
||||||
"naturesaura:ancient_slab",
|
|
||||||
"naturesaura:ancient_stairs",
|
|
||||||
"naturesaura:auto_crafter",
|
|
||||||
"naturesaura:flower_generator",
|
|
||||||
"naturesaura:nether_wart_mushroom",
|
|
||||||
"naturesaura:oak_generator",
|
|
||||||
"naturesaura:offering_table",
|
|
||||||
"naturesaura:wood_stand"
|
|
||||||
]
|
|
||||||
}
|
|
|
@ -1,49 +0,0 @@
|
||||||
{
|
|
||||||
"values": [
|
|
||||||
"naturesaura:animal_container",
|
|
||||||
"naturesaura:animal_generator",
|
|
||||||
"naturesaura:animal_spawner",
|
|
||||||
"naturesaura:aura_detector",
|
|
||||||
"naturesaura:aura_timer",
|
|
||||||
"naturesaura:blast_furnace_booster",
|
|
||||||
"naturesaura:chorus_generator",
|
|
||||||
"naturesaura:chunk_loader",
|
|
||||||
"naturesaura:conversion_catalyst",
|
|
||||||
"naturesaura:crushing_catalyst",
|
|
||||||
"naturesaura:depth_ingot_block",
|
|
||||||
"naturesaura:ender_crate",
|
|
||||||
"naturesaura:field_creator",
|
|
||||||
"naturesaura:firework_generator",
|
|
||||||
"naturesaura:furnace_heater",
|
|
||||||
"naturesaura:generator_limit_remover",
|
|
||||||
"naturesaura:gold_brick",
|
|
||||||
"naturesaura:gold_nether_brick",
|
|
||||||
"naturesaura:grated_chute",
|
|
||||||
"naturesaura:hopper_upgrade",
|
|
||||||
"naturesaura:infused_brick",
|
|
||||||
"naturesaura:infused_brick_slab",
|
|
||||||
"naturesaura:infused_brick_stairs",
|
|
||||||
"naturesaura:infused_iron_block",
|
|
||||||
"naturesaura:infused_slab",
|
|
||||||
"naturesaura:infused_stairs",
|
|
||||||
"naturesaura:infused_stone",
|
|
||||||
"naturesaura:item_distributor",
|
|
||||||
"naturesaura:lower_limiter",
|
|
||||||
"naturesaura:moss_generator",
|
|
||||||
"naturesaura:nature_altar",
|
|
||||||
"naturesaura:nether_grass",
|
|
||||||
"naturesaura:pickup_stopper",
|
|
||||||
"naturesaura:placer",
|
|
||||||
"naturesaura:potion_generator",
|
|
||||||
"naturesaura:powder_placer",
|
|
||||||
"naturesaura:projectile_generator",
|
|
||||||
"naturesaura:rf_converter",
|
|
||||||
"naturesaura:sky_ingot_block",
|
|
||||||
"naturesaura:snow_creator",
|
|
||||||
"naturesaura:spawn_lamp",
|
|
||||||
"naturesaura:spring",
|
|
||||||
"naturesaura:tainted_gold_block",
|
|
||||||
"naturesaura:time_changer",
|
|
||||||
"naturesaura:weather_changer"
|
|
||||||
]
|
|
||||||
}
|
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/ancient_bark"
|
||||||
}
|
}
|
|
@ -26,5 +26,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/ancient_leaves"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/ancient_log"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/ancient_planks"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/ancient_sapling"
|
||||||
}
|
}
|
|
@ -30,5 +30,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/ancient_slab"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/ancient_stairs"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/animal_container"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/animal_generator"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/animal_spawner"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/aura_bloom"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/aura_cactus"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/aura_detector"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/aura_mushroom"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/aura_timer"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/auto_crafter"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/blast_furnace_booster"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/chorus_generator"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/chunk_loader"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/conversion_catalyst"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/crimson_aura_mushroom"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/crushing_catalyst"
|
||||||
}
|
}
|
|
@ -26,5 +26,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/decayed_leaves"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/depth_ingot_block"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/dimension_rail_end"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/dimension_rail_nether"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/dimension_rail_overworld"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/end_flower"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/ender_crate"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/field_creator"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/firework_generator"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/flower_generator"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/furnace_heater"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/generator_limit_remover"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/gold_brick"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/gold_nether_brick"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/gold_powder"
|
||||||
}
|
}
|
|
@ -29,5 +29,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/golden_leaves"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/grated_chute"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/hopper_upgrade"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/infused_brick"
|
||||||
}
|
}
|
|
@ -30,5 +30,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/infused_brick_slab"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/infused_brick_stairs"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/infused_iron_block"
|
||||||
}
|
}
|
|
@ -30,5 +30,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/infused_slab"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/infused_stairs"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/infused_stone"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/item_distributor"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/light"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/lower_limiter"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/moss_generator"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/nature_altar"
|
||||||
}
|
}
|
|
@ -11,30 +11,17 @@
|
||||||
"type": "minecraft:item",
|
"type": "minecraft:item",
|
||||||
"conditions": [
|
"conditions": [
|
||||||
{
|
{
|
||||||
"condition": "minecraft:alternative",
|
"condition": "minecraft:match_tool",
|
||||||
"terms": [
|
"predicate": {
|
||||||
{
|
"enchantments": [
|
||||||
"condition": "minecraft:match_tool",
|
{
|
||||||
"predicate": {
|
"enchantment": "minecraft:silk_touch",
|
||||||
"items": [
|
"levels": {
|
||||||
"minecraft:shears"
|
"min": 1
|
||||||
]
|
}
|
||||||
}
|
}
|
||||||
},
|
]
|
||||||
{
|
}
|
||||||
"condition": "minecraft:match_tool",
|
|
||||||
"predicate": {
|
|
||||||
"enchantments": [
|
|
||||||
{
|
|
||||||
"enchantment": "minecraft:silk_touch",
|
|
||||||
"levels": {
|
|
||||||
"min": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"name": "naturesaura:nether_grass"
|
"name": "naturesaura:nether_grass"
|
||||||
|
@ -48,5 +35,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/nether_grass"
|
||||||
}
|
}
|
|
@ -11,30 +11,17 @@
|
||||||
"type": "minecraft:item",
|
"type": "minecraft:item",
|
||||||
"conditions": [
|
"conditions": [
|
||||||
{
|
{
|
||||||
"condition": "minecraft:alternative",
|
"condition": "minecraft:match_tool",
|
||||||
"terms": [
|
"predicate": {
|
||||||
{
|
"enchantments": [
|
||||||
"condition": "minecraft:match_tool",
|
{
|
||||||
"predicate": {
|
"enchantment": "minecraft:silk_touch",
|
||||||
"items": [
|
"levels": {
|
||||||
"minecraft:shears"
|
"min": 1
|
||||||
]
|
}
|
||||||
}
|
}
|
||||||
},
|
]
|
||||||
{
|
}
|
||||||
"condition": "minecraft:match_tool",
|
|
||||||
"predicate": {
|
|
||||||
"enchantments": [
|
|
||||||
{
|
|
||||||
"enchantment": "minecraft:silk_touch",
|
|
||||||
"levels": {
|
|
||||||
"min": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"name": "naturesaura:nether_wart_mushroom"
|
"name": "naturesaura:nether_wart_mushroom"
|
||||||
|
@ -59,5 +46,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/nether_wart_mushroom"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/oak_generator"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/offering_table"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/pickup_stopper"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/placer"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/potion_generator"
|
||||||
}
|
}
|
|
@ -26,10 +26,11 @@
|
||||||
"entries": [
|
"entries": [
|
||||||
{
|
{
|
||||||
"type": "minecraft:item",
|
"type": "minecraft:item",
|
||||||
"name": "naturesaura:aura_bloom"
|
"name": "minecraft:air"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/potted_aura_bloom"
|
||||||
}
|
}
|
|
@ -26,10 +26,11 @@
|
||||||
"entries": [
|
"entries": [
|
||||||
{
|
{
|
||||||
"type": "minecraft:item",
|
"type": "minecraft:item",
|
||||||
"name": "naturesaura:aura_cactus"
|
"name": "minecraft:air"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/potted_aura_cactus"
|
||||||
}
|
}
|
|
@ -26,10 +26,11 @@
|
||||||
"entries": [
|
"entries": [
|
||||||
{
|
{
|
||||||
"type": "minecraft:item",
|
"type": "minecraft:item",
|
||||||
"name": "naturesaura:aura_mushroom"
|
"name": "minecraft:air"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/potted_aura_mushroom"
|
||||||
}
|
}
|
|
@ -26,10 +26,11 @@
|
||||||
"entries": [
|
"entries": [
|
||||||
{
|
{
|
||||||
"type": "minecraft:item",
|
"type": "minecraft:item",
|
||||||
"name": "naturesaura:crimson_aura_mushroom"
|
"name": "minecraft:air"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/potted_crimson_aura_mushroom"
|
||||||
}
|
}
|
|
@ -26,10 +26,11 @@
|
||||||
"entries": [
|
"entries": [
|
||||||
{
|
{
|
||||||
"type": "minecraft:item",
|
"type": "minecraft:item",
|
||||||
"name": "naturesaura:warped_aura_mushroom"
|
"name": "minecraft:air"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/potted_warped_aura_mushroom"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/powder_placer"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/projectile_generator"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/rf_converter"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/sky_ingot_block"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/slime_split_generator"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/snow_creator"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/spawn_lamp"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/spring"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/tainted_gold_block"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/time_changer"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/warped_aura_mushroom"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/weather_changer"
|
||||||
}
|
}
|
|
@ -16,5 +16,6 @@
|
||||||
],
|
],
|
||||||
"rolls": 1.0
|
"rolls": 1.0
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"random_sequence": "naturesaura:blocks/wood_stand"
|
||||||
}
|
}
|
|
@ -1,7 +1,5 @@
|
||||||
package de.ellpeck.naturesaura.data;
|
package de.ellpeck.naturesaura.data;
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
|
||||||
import com.google.gson.GsonBuilder;
|
|
||||||
import de.ellpeck.naturesaura.blocks.BlockFlowerPot;
|
import de.ellpeck.naturesaura.blocks.BlockFlowerPot;
|
||||||
import de.ellpeck.naturesaura.blocks.BlockGoldenLeaves;
|
import de.ellpeck.naturesaura.blocks.BlockGoldenLeaves;
|
||||||
import de.ellpeck.naturesaura.blocks.ModBlocks;
|
import de.ellpeck.naturesaura.blocks.ModBlocks;
|
||||||
|
@ -9,114 +7,51 @@ import de.ellpeck.naturesaura.blocks.Slab;
|
||||||
import de.ellpeck.naturesaura.items.ModItems;
|
import de.ellpeck.naturesaura.items.ModItems;
|
||||||
import de.ellpeck.naturesaura.reg.ModRegistry;
|
import de.ellpeck.naturesaura.reg.ModRegistry;
|
||||||
import net.minecraft.advancements.critereon.StatePropertiesPredicate;
|
import net.minecraft.advancements.critereon.StatePropertiesPredicate;
|
||||||
import net.minecraft.data.CachedOutput;
|
import net.minecraft.data.loot.BlockLootSubProvider;
|
||||||
import net.minecraft.data.DataGenerator;
|
import net.minecraft.world.flag.FeatureFlags;
|
||||||
import net.minecraft.data.DataProvider;
|
|
||||||
import net.minecraft.data.loot.BlockLoot;
|
|
||||||
import net.minecraft.resources.ResourceLocation;
|
|
||||||
import net.minecraft.world.item.Items;
|
import net.minecraft.world.item.Items;
|
||||||
import net.minecraft.world.level.block.Block;
|
import net.minecraft.world.level.block.Block;
|
||||||
import net.minecraft.world.level.block.Blocks;
|
import net.minecraft.world.level.block.Blocks;
|
||||||
import net.minecraft.world.level.block.FlowerPotBlock;
|
|
||||||
import net.minecraft.world.level.storage.loot.LootPool;
|
import net.minecraft.world.level.storage.loot.LootPool;
|
||||||
import net.minecraft.world.level.storage.loot.LootTable;
|
import net.minecraft.world.level.storage.loot.LootTable;
|
||||||
import net.minecraft.world.level.storage.loot.LootTables;
|
|
||||||
import net.minecraft.world.level.storage.loot.entries.LootItem;
|
import net.minecraft.world.level.storage.loot.entries.LootItem;
|
||||||
import net.minecraft.world.level.storage.loot.entries.LootPoolEntryContainer;
|
|
||||||
import net.minecraft.world.level.storage.loot.functions.SetItemCountFunction;
|
import net.minecraft.world.level.storage.loot.functions.SetItemCountFunction;
|
||||||
import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets;
|
|
||||||
import net.minecraft.world.level.storage.loot.predicates.ConditionUserBuilder;
|
|
||||||
import net.minecraft.world.level.storage.loot.predicates.LootItemBlockStatePropertyCondition;
|
import net.minecraft.world.level.storage.loot.predicates.LootItemBlockStatePropertyCondition;
|
||||||
import net.minecraft.world.level.storage.loot.predicates.LootItemRandomChanceCondition;
|
import net.minecraft.world.level.storage.loot.predicates.LootItemRandomChanceCondition;
|
||||||
import net.minecraft.world.level.storage.loot.providers.number.ConstantValue;
|
import net.minecraft.world.level.storage.loot.providers.number.ConstantValue;
|
||||||
import net.minecraft.world.level.storage.loot.providers.number.UniformGenerator;
|
import net.minecraft.world.level.storage.loot.providers.number.UniformGenerator;
|
||||||
import net.minecraftforge.registries.ForgeRegistries;
|
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
import java.util.Set;
|
||||||
import java.io.IOException;
|
|
||||||
import java.nio.file.Path;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.function.Function;
|
|
||||||
|
|
||||||
public class BlockLootProvider implements DataProvider {
|
public class BlockLootProvider extends BlockLootSubProvider {
|
||||||
|
|
||||||
private static final Gson GSON = new GsonBuilder().setPrettyPrinting().create();
|
public BlockLootProvider() {
|
||||||
private final DataGenerator generator;
|
super(Set.of(), FeatureFlags.REGISTRY.allFlags());
|
||||||
private final Map<Block, Function<Block, LootTable.Builder>> lootFunctions = new HashMap<>();
|
}
|
||||||
|
|
||||||
public BlockLootProvider(DataGenerator generator) {
|
|
||||||
this.generator = generator;
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void generate() {
|
||||||
for (var item : ModRegistry.ALL_ITEMS) {
|
for (var item : ModRegistry.ALL_ITEMS) {
|
||||||
if (!(item instanceof Block block))
|
if (!(item instanceof Block block))
|
||||||
continue;
|
continue;
|
||||||
if (block instanceof Slab) {
|
if (block instanceof Slab) {
|
||||||
this.lootFunctions.put(block, LootTableHooks::genSlab);
|
this.add(block, this::createSlabItemTable);
|
||||||
} else if (block instanceof BlockFlowerPot) {
|
} else if (block instanceof BlockFlowerPot) {
|
||||||
this.lootFunctions.put(block, LootTableHooks::genFlowerPot);
|
this.add(block, this::createPotFlowerItemTable);
|
||||||
} else {
|
} else {
|
||||||
this.lootFunctions.put(block, LootTableHooks::genRegular);
|
this.dropSelf(block);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.lootFunctions.put(ModBlocks.ANCIENT_LEAVES, LootTableHooks::genSilkOnly);
|
this.add(ModBlocks.ANCIENT_LEAVES, BlockLootProvider::createSilkTouchOnlyTable);
|
||||||
this.lootFunctions.put(ModBlocks.DECAYED_LEAVES, LootTableHooks::genSilkOnly);
|
this.add(ModBlocks.DECAYED_LEAVES, BlockLootProvider::createSilkTouchOnlyTable);
|
||||||
this.lootFunctions.put(ModBlocks.GOLDEN_LEAVES, b -> LootTable.lootTable().withPool(LootPool.lootPool().setRolls(ConstantValue.exactly(1)).add(LootTableHooks.survivesExplosion(b, LootItem.lootTableItem(ModItems.GOLD_LEAF)).when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(b).setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(BlockGoldenLeaves.STAGE, BlockGoldenLeaves.HIGHEST_STAGE)))).when(LootItemRandomChanceCondition.randomChance(0.75F))));
|
this.add(ModBlocks.GOLDEN_LEAVES, b -> LootTable.lootTable().withPool(LootPool.lootPool().setRolls(ConstantValue.exactly(1)).add(this.applyExplosionCondition(b, LootItem.lootTableItem(ModItems.GOLD_LEAF)).when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(b).setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(BlockGoldenLeaves.STAGE, BlockGoldenLeaves.HIGHEST_STAGE)))).when(LootItemRandomChanceCondition.randomChance(0.75F))));
|
||||||
this.lootFunctions.put(ModBlocks.NETHER_WART_MUSHROOM, b -> LootTableHooks.genSilkOr(b, LootItem.lootTableItem(Items.NETHER_WART).apply(SetItemCountFunction.setCount(UniformGenerator.between(1, 2)))));
|
this.add(ModBlocks.NETHER_WART_MUSHROOM, b -> BlockLootSubProvider.createSilkTouchDispatchTable(b, LootItem.lootTableItem(Items.NETHER_WART).apply(SetItemCountFunction.setCount(UniformGenerator.between(1, 2)))));
|
||||||
this.lootFunctions.put(ModBlocks.NETHER_GRASS, b -> LootTableHooks.genSilkOr(b, LootItem.lootTableItem(Blocks.NETHERRACK)));
|
this.add(ModBlocks.NETHER_GRASS, b -> BlockLootSubProvider.createSilkTouchDispatchTable(b, LootItem.lootTableItem(Blocks.NETHERRACK)));
|
||||||
}
|
|
||||||
|
|
||||||
private static Path getPath(Path root, ResourceLocation res) {
|
|
||||||
return root.resolve("data/" + res.getNamespace() + "/loot_tables/blocks/" + res.getPath() + ".json");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run(CachedOutput cache) throws IOException {
|
protected Iterable<Block> getKnownBlocks() {
|
||||||
for (var function : this.lootFunctions.entrySet()) {
|
return ModRegistry.ALL_ITEMS.stream().filter(i -> i instanceof Block).map(i -> (Block) i).toList();
|
||||||
var block = function.getKey();
|
|
||||||
var func = function.getValue();
|
|
||||||
var table = func.apply(block).setParamSet(LootContextParamSets.BLOCK).build();
|
|
||||||
var path = BlockLootProvider.getPath(this.generator.getOutputFolder(), ForgeRegistries.BLOCKS.getKey(block));
|
|
||||||
DataProvider.saveStable(cache, LootTables.serialize(table), path);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
@Nonnull
|
|
||||||
@Override
|
|
||||||
public String getName() {
|
|
||||||
return "Nature's Aura Loot";
|
|
||||||
}
|
|
||||||
|
|
||||||
// What a mess
|
|
||||||
private static class LootTableHooks extends BlockLoot {
|
|
||||||
|
|
||||||
public static LootTable.Builder genLeaves(Block block, Block drop) {
|
|
||||||
return BlockLoot.createLeavesDrops(block, drop, 0.05F, 0.0625F, 0.083333336F, 0.1F);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static LootTable.Builder genSlab(Block block) {
|
|
||||||
return BlockLoot.createSlabItemTable(block);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static LootTable.Builder genRegular(Block block) {
|
|
||||||
return BlockLoot.createSingleItemTable(block);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static LootTable.Builder genSilkOnly(Block block) {
|
|
||||||
return BlockLoot.createSilkTouchOnlyTable(block);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static LootTable.Builder genSilkOr(Block block, LootPoolEntryContainer.Builder<?> builder) {
|
|
||||||
return BlockLoot.createSilkTouchOrShearsDispatchTable(block, builder);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static LootTable.Builder genFlowerPot(Block block) {
|
|
||||||
return BlockLoot.createPotFlowerItemTable(((FlowerPotBlock) block).getContent());
|
|
||||||
}
|
|
||||||
|
|
||||||
public static <T extends ConditionUserBuilder<T>> T survivesExplosion(Block block, ConditionUserBuilder<T> then) {
|
|
||||||
return BlockLoot.applyExplosionCondition(block, then);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -3,15 +3,15 @@ package de.ellpeck.naturesaura.data;
|
||||||
import de.ellpeck.naturesaura.NaturesAura;
|
import de.ellpeck.naturesaura.NaturesAura;
|
||||||
import de.ellpeck.naturesaura.reg.ICustomBlockState;
|
import de.ellpeck.naturesaura.reg.ICustomBlockState;
|
||||||
import de.ellpeck.naturesaura.reg.ModRegistry;
|
import de.ellpeck.naturesaura.reg.ModRegistry;
|
||||||
import net.minecraft.data.DataGenerator;
|
import net.minecraft.data.PackOutput;
|
||||||
import net.minecraft.world.level.block.Block;
|
import net.minecraft.world.level.block.Block;
|
||||||
import net.minecraftforge.client.model.generators.BlockStateProvider;
|
import net.minecraftforge.client.model.generators.BlockStateProvider;
|
||||||
import net.minecraftforge.common.data.ExistingFileHelper;
|
import net.minecraftforge.common.data.ExistingFileHelper;
|
||||||
|
|
||||||
public class BlockStateGenerator extends BlockStateProvider {
|
public class BlockStateGenerator extends BlockStateProvider {
|
||||||
|
|
||||||
public BlockStateGenerator(DataGenerator gen, ExistingFileHelper exFileHelper) {
|
public BlockStateGenerator(PackOutput output, ExistingFileHelper exFileHelper) {
|
||||||
super(gen, NaturesAura.MOD_ID, exFileHelper);
|
super(output, NaturesAura.MOD_ID, exFileHelper);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -4,18 +4,19 @@ import de.ellpeck.naturesaura.NaturesAura;
|
||||||
import de.ellpeck.naturesaura.blocks.ModBlocks;
|
import de.ellpeck.naturesaura.blocks.ModBlocks;
|
||||||
import de.ellpeck.naturesaura.reg.IModItem;
|
import de.ellpeck.naturesaura.reg.IModItem;
|
||||||
import de.ellpeck.naturesaura.reg.ModRegistry;
|
import de.ellpeck.naturesaura.reg.ModRegistry;
|
||||||
import net.minecraft.data.DataGenerator;
|
import net.minecraft.core.HolderLookup;
|
||||||
import net.minecraft.data.tags.BlockTagsProvider;
|
import net.minecraft.data.PackOutput;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
import net.minecraft.tags.BlockTags;
|
import net.minecraft.tags.BlockTags;
|
||||||
import net.minecraft.tags.TagKey;
|
import net.minecraft.tags.TagKey;
|
||||||
import net.minecraft.world.level.block.Block;
|
import net.minecraft.world.level.block.Block;
|
||||||
import net.minecraft.world.level.block.Blocks;
|
import net.minecraft.world.level.block.Blocks;
|
||||||
import net.minecraft.world.level.material.Material;
|
import net.minecraftforge.common.data.BlockTagsProvider;
|
||||||
import net.minecraftforge.common.data.ExistingFileHelper;
|
import net.minecraftforge.common.data.ExistingFileHelper;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
|
||||||
public class BlockTagProvider extends BlockTagsProvider {
|
public class BlockTagProvider extends BlockTagsProvider {
|
||||||
|
|
||||||
|
@ -24,12 +25,12 @@ public class BlockTagProvider extends BlockTagsProvider {
|
||||||
public static final TagKey<Block> ALTAR_GOLD_BRICK = BlockTags.create(new ResourceLocation(NaturesAura.MOD_ID, "altar_gold_brick"));
|
public static final TagKey<Block> ALTAR_GOLD_BRICK = BlockTags.create(new ResourceLocation(NaturesAura.MOD_ID, "altar_gold_brick"));
|
||||||
public static final TagKey<Block> ALTAR_FANCY_BRICK = BlockTags.create(new ResourceLocation(NaturesAura.MOD_ID, "altar_fancy_brick"));
|
public static final TagKey<Block> ALTAR_FANCY_BRICK = BlockTags.create(new ResourceLocation(NaturesAura.MOD_ID, "altar_fancy_brick"));
|
||||||
|
|
||||||
public BlockTagProvider(DataGenerator gen, @Nullable ExistingFileHelper existingFileHelper) {
|
public BlockTagProvider(PackOutput output, CompletableFuture<HolderLookup.Provider> lookupProvider, @Nullable ExistingFileHelper existingFileHelper) {
|
||||||
super(gen, NaturesAura.MOD_ID, existingFileHelper);
|
super(output, lookupProvider, NaturesAura.MOD_ID, existingFileHelper);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void addTags() {
|
protected void addTags(HolderLookup.Provider provider) {
|
||||||
this.tag(BlockTags.LOGS).add(ModBlocks.ANCIENT_LOG, ModBlocks.ANCIENT_BARK);
|
this.tag(BlockTags.LOGS).add(ModBlocks.ANCIENT_LOG, ModBlocks.ANCIENT_BARK);
|
||||||
this.tag(BlockTags.PLANKS).add(ModBlocks.ANCIENT_PLANKS);
|
this.tag(BlockTags.PLANKS).add(ModBlocks.ANCIENT_PLANKS);
|
||||||
this.tag(BlockTags.STAIRS).add(ModBlocks.ANCIENT_STAIRS, ModBlocks.INFUSED_BRICK_STAIRS, ModBlocks.INFUSED_STAIRS);
|
this.tag(BlockTags.STAIRS).add(ModBlocks.ANCIENT_STAIRS, ModBlocks.INFUSED_BRICK_STAIRS, ModBlocks.INFUSED_STAIRS);
|
||||||
|
@ -45,12 +46,13 @@ public class BlockTagProvider extends BlockTagsProvider {
|
||||||
|
|
||||||
// sort these so that they don't change the json every time we run data (because it's a set)
|
// sort these so that they don't change the json every time we run data (because it's a set)
|
||||||
ModRegistry.ALL_ITEMS.stream().sorted(Comparator.comparing(IModItem::getBaseName)).filter(i -> i instanceof Block).map(i -> (Block) i).forEach(b -> {
|
ModRegistry.ALL_ITEMS.stream().sorted(Comparator.comparing(IModItem::getBaseName)).filter(i -> i instanceof Block).map(i -> (Block) i).forEach(b -> {
|
||||||
var material = b.defaultBlockState().getMaterial();
|
// TODO figure out what to do about materials for mineability
|
||||||
|
/*var material = b.defaultBlockState().getMaterial();
|
||||||
if (material == Material.STONE || material == Material.METAL) {
|
if (material == Material.STONE || material == Material.METAL) {
|
||||||
this.tag(BlockTags.MINEABLE_WITH_PICKAXE).add(b);
|
this.tag(BlockTags.MINEABLE_WITH_PICKAXE).add(b);
|
||||||
} else if (material == Material.WOOD) {
|
} else if (material == Material.WOOD) {
|
||||||
this.tag(BlockTags.MINEABLE_WITH_AXE).add(b);
|
this.tag(BlockTags.MINEABLE_WITH_AXE).add(b);
|
||||||
}
|
}*/
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@ import de.ellpeck.naturesaura.NaturesAura;
|
||||||
import de.ellpeck.naturesaura.reg.ICustomItemModel;
|
import de.ellpeck.naturesaura.reg.ICustomItemModel;
|
||||||
import de.ellpeck.naturesaura.reg.INoItemBlock;
|
import de.ellpeck.naturesaura.reg.INoItemBlock;
|
||||||
import de.ellpeck.naturesaura.reg.ModRegistry;
|
import de.ellpeck.naturesaura.reg.ModRegistry;
|
||||||
import net.minecraft.data.DataGenerator;
|
import net.minecraft.data.PackOutput;
|
||||||
import net.minecraft.world.item.Item;
|
import net.minecraft.world.item.Item;
|
||||||
import net.minecraft.world.level.block.Block;
|
import net.minecraft.world.level.block.Block;
|
||||||
import net.minecraftforge.client.model.generators.ItemModelProvider;
|
import net.minecraftforge.client.model.generators.ItemModelProvider;
|
||||||
|
@ -12,8 +12,8 @@ import net.minecraftforge.common.data.ExistingFileHelper;
|
||||||
|
|
||||||
public class ItemModelGenerator extends ItemModelProvider {
|
public class ItemModelGenerator extends ItemModelProvider {
|
||||||
|
|
||||||
public ItemModelGenerator(DataGenerator generator, ExistingFileHelper existingFileHelper) {
|
public ItemModelGenerator(PackOutput output, ExistingFileHelper existingFileHelper) {
|
||||||
super(generator, NaturesAura.MOD_ID, existingFileHelper);
|
super(output, NaturesAura.MOD_ID, existingFileHelper);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -6,27 +6,29 @@ import de.ellpeck.naturesaura.items.ModItems;
|
||||||
import de.ellpeck.naturesaura.items.tools.*;
|
import de.ellpeck.naturesaura.items.tools.*;
|
||||||
import de.ellpeck.naturesaura.reg.IModItem;
|
import de.ellpeck.naturesaura.reg.IModItem;
|
||||||
import de.ellpeck.naturesaura.reg.ModRegistry;
|
import de.ellpeck.naturesaura.reg.ModRegistry;
|
||||||
import net.minecraft.data.DataGenerator;
|
import net.minecraft.core.HolderLookup;
|
||||||
import net.minecraft.data.tags.BlockTagsProvider;
|
import net.minecraft.data.PackOutput;
|
||||||
import net.minecraft.data.tags.IntrinsicHolderTagsProvider;
|
import net.minecraft.data.tags.IntrinsicHolderTagsProvider;
|
||||||
import net.minecraft.data.tags.ItemTagsProvider;
|
import net.minecraft.data.tags.ItemTagsProvider;
|
||||||
import net.minecraft.tags.BlockTags;
|
import net.minecraft.tags.BlockTags;
|
||||||
import net.minecraft.tags.ItemTags;
|
import net.minecraft.tags.ItemTags;
|
||||||
import net.minecraft.tags.TagKey;
|
import net.minecraft.tags.TagKey;
|
||||||
import net.minecraft.world.item.Item;
|
import net.minecraft.world.item.Item;
|
||||||
|
import net.minecraft.world.level.block.Block;
|
||||||
import net.minecraftforge.common.Tags;
|
import net.minecraftforge.common.Tags;
|
||||||
import net.minecraftforge.common.data.ExistingFileHelper;
|
import net.minecraftforge.common.data.ExistingFileHelper;
|
||||||
|
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
|
||||||
public class ItemTagProvider extends ItemTagsProvider {
|
public class ItemTagProvider extends ItemTagsProvider {
|
||||||
|
|
||||||
public ItemTagProvider(DataGenerator generatorIn, BlockTagsProvider blockTagProvider, ExistingFileHelper helper) {
|
public ItemTagProvider(PackOutput output, CompletableFuture<HolderLookup.Provider> lookupProvider, CompletableFuture<TagLookup<Block>> blockTagProvider, ExistingFileHelper existingFileHelper) {
|
||||||
super(generatorIn, blockTagProvider, NaturesAura.MOD_ID, helper);
|
super(output, lookupProvider, blockTagProvider, NaturesAura.MOD_ID, existingFileHelper);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void addTags() {
|
protected void addTags(HolderLookup.Provider provider) {
|
||||||
this.copy(BlockTags.LOGS, ItemTags.LOGS);
|
this.copy(BlockTags.LOGS, ItemTags.LOGS);
|
||||||
this.copy(BlockTags.PLANKS, ItemTags.PLANKS);
|
this.copy(BlockTags.PLANKS, ItemTags.PLANKS);
|
||||||
this.copy(BlockTags.STAIRS, ItemTags.STAIRS);
|
this.copy(BlockTags.STAIRS, ItemTags.STAIRS);
|
||||||
|
|
|
@ -1,21 +1,29 @@
|
||||||
package de.ellpeck.naturesaura.data;
|
package de.ellpeck.naturesaura.data;
|
||||||
|
|
||||||
|
import net.minecraft.data.loot.LootTableProvider;
|
||||||
|
import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets;
|
||||||
import net.minecraftforge.data.event.GatherDataEvent;
|
import net.minecraftforge.data.event.GatherDataEvent;
|
||||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
import net.minecraftforge.fml.common.Mod;
|
import net.minecraftforge.fml.common.Mod;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD)
|
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD)
|
||||||
public final class ModData {
|
public final class ModData {
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public static void gatherData(GatherDataEvent event) {
|
public static void gatherData(GatherDataEvent event) {
|
||||||
var generator = event.getGenerator();
|
var gen = event.getGenerator();
|
||||||
var ex = event.getExistingFileHelper();
|
var out = gen.getPackOutput();
|
||||||
var blockTags = new BlockTagProvider(generator, ex);
|
var lookup = event.getLookupProvider();
|
||||||
generator.addProvider(event.includeServer(), blockTags);
|
var existing = event.getExistingFileHelper();
|
||||||
generator.addProvider(event.includeServer(), new ItemTagProvider(generator, blockTags, ex));
|
|
||||||
generator.addProvider(event.includeServer(), new BlockLootProvider(generator));
|
var blockTags = new BlockTagProvider(out, lookup, existing);
|
||||||
generator.addProvider(event.includeServer(), new BlockStateGenerator(generator, ex));
|
gen.addProvider(event.includeServer(), blockTags);
|
||||||
generator.addProvider(event.includeServer(), new ItemModelGenerator(generator, ex));
|
gen.addProvider(event.includeServer(), new ItemTagProvider(out, lookup, blockTags.contentsGetter(), existing));
|
||||||
|
gen.addProvider(event.includeServer(), new LootTableProvider(out, Set.of(), List.of(new LootTableProvider.SubProviderEntry(BlockLootProvider::new, LootContextParamSets.BLOCK))));
|
||||||
|
gen.addProvider(event.includeServer(), new BlockStateGenerator(out, existing));
|
||||||
|
gen.addProvider(event.includeServer(), new ItemModelGenerator(out, existing));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue