Simplify Screens, Sounds and Particles Extractor

Particles: 6.6KB -> 3.5KB
Screens: 1.4KB -> 732B
Sounds: 118KB -> 72.2KB
This commit is contained in:
Snowiiii 2024-11-14 19:00:38 +01:00
parent ac31d1c83b
commit 711e16528a
9 changed files with 1797 additions and 7147 deletions

View File

@ -1,446 +1,113 @@
[
{ {
"id": 0, "minecraft:angry_villager": 0,
"name": "minecraft:angry_villager" "minecraft:block": 1,
}, "minecraft:block_marker": 2,
{ "minecraft:bubble": 3,
"id": 1, "minecraft:cloud": 4,
"name": "minecraft:block" "minecraft:crit": 5,
}, "minecraft:damage_indicator": 6,
{ "minecraft:dragon_breath": 7,
"id": 2, "minecraft:dripping_lava": 8,
"name": "minecraft:block_marker" "minecraft:falling_lava": 9,
}, "minecraft:landing_lava": 10,
{ "minecraft:dripping_water": 11,
"id": 3, "minecraft:falling_water": 12,
"name": "minecraft:bubble" "minecraft:dust": 13,
}, "minecraft:dust_color_transition": 14,
{ "minecraft:effect": 15,
"id": 4, "minecraft:elder_guardian": 16,
"name": "minecraft:cloud" "minecraft:enchanted_hit": 17,
}, "minecraft:enchant": 18,
{ "minecraft:end_rod": 19,
"id": 5, "minecraft:entity_effect": 20,
"name": "minecraft:crit" "minecraft:explosion_emitter": 21,
}, "minecraft:explosion": 22,
{ "minecraft:gust": 23,
"id": 6, "minecraft:small_gust": 24,
"name": "minecraft:damage_indicator" "minecraft:gust_emitter_large": 25,
}, "minecraft:gust_emitter_small": 26,
{ "minecraft:sonic_boom": 27,
"id": 7, "minecraft:falling_dust": 28,
"name": "minecraft:dragon_breath" "minecraft:firework": 29,
}, "minecraft:fishing": 30,
{ "minecraft:flame": 31,
"id": 8, "minecraft:infested": 32,
"name": "minecraft:dripping_lava" "minecraft:cherry_leaves": 33,
}, "minecraft:sculk_soul": 34,
{ "minecraft:sculk_charge": 35,
"id": 9, "minecraft:sculk_charge_pop": 36,
"name": "minecraft:falling_lava" "minecraft:soul_fire_flame": 37,
}, "minecraft:soul": 38,
{ "minecraft:flash": 39,
"id": 10, "minecraft:happy_villager": 40,
"name": "minecraft:landing_lava" "minecraft:composter": 41,
}, "minecraft:heart": 42,
{ "minecraft:instant_effect": 43,
"id": 11, "minecraft:item": 44,
"name": "minecraft:dripping_water" "minecraft:vibration": 45,
}, "minecraft:trail": 46,
{ "minecraft:item_slime": 47,
"id": 12, "minecraft:item_cobweb": 48,
"name": "minecraft:falling_water" "minecraft:item_snowball": 49,
}, "minecraft:large_smoke": 50,
{ "minecraft:lava": 51,
"id": 13, "minecraft:mycelium": 52,
"name": "minecraft:dust" "minecraft:note": 53,
}, "minecraft:poof": 54,
{ "minecraft:portal": 55,
"id": 14, "minecraft:rain": 56,
"name": "minecraft:dust_color_transition" "minecraft:smoke": 57,
}, "minecraft:white_smoke": 58,
{ "minecraft:sneeze": 59,
"id": 15, "minecraft:spit": 60,
"name": "minecraft:effect" "minecraft:squid_ink": 61,
}, "minecraft:sweep_attack": 62,
{ "minecraft:totem_of_undying": 63,
"id": 16, "minecraft:underwater": 64,
"name": "minecraft:elder_guardian" "minecraft:splash": 65,
}, "minecraft:witch": 66,
{ "minecraft:bubble_pop": 67,
"id": 17, "minecraft:current_down": 68,
"name": "minecraft:enchanted_hit" "minecraft:bubble_column_up": 69,
}, "minecraft:nautilus": 70,
{ "minecraft:dolphin": 71,
"id": 18, "minecraft:campfire_cosy_smoke": 72,
"name": "minecraft:enchant" "minecraft:campfire_signal_smoke": 73,
}, "minecraft:dripping_honey": 74,
{ "minecraft:falling_honey": 75,
"id": 19, "minecraft:landing_honey": 76,
"name": "minecraft:end_rod" "minecraft:falling_nectar": 77,
}, "minecraft:falling_spore_blossom": 78,
{ "minecraft:ash": 79,
"id": 20, "minecraft:crimson_spore": 80,
"name": "minecraft:entity_effect" "minecraft:warped_spore": 81,
}, "minecraft:spore_blossom_air": 82,
{ "minecraft:dripping_obsidian_tear": 83,
"id": 21, "minecraft:falling_obsidian_tear": 84,
"name": "minecraft:explosion_emitter" "minecraft:landing_obsidian_tear": 85,
}, "minecraft:reverse_portal": 86,
{ "minecraft:white_ash": 87,
"id": 22, "minecraft:small_flame": 88,
"name": "minecraft:explosion" "minecraft:snowflake": 89,
}, "minecraft:dripping_dripstone_lava": 90,
{ "minecraft:falling_dripstone_lava": 91,
"id": 23, "minecraft:dripping_dripstone_water": 92,
"name": "minecraft:gust" "minecraft:falling_dripstone_water": 93,
}, "minecraft:glow_squid_ink": 94,
{ "minecraft:glow": 95,
"id": 24, "minecraft:wax_on": 96,
"name": "minecraft:small_gust" "minecraft:wax_off": 97,
}, "minecraft:electric_spark": 98,
{ "minecraft:scrape": 99,
"id": 25, "minecraft:shriek": 100,
"name": "minecraft:gust_emitter_large" "minecraft:egg_crack": 101,
}, "minecraft:dust_plume": 102,
{ "minecraft:trial_spawner_detection": 103,
"id": 26, "minecraft:trial_spawner_detection_ominous": 104,
"name": "minecraft:gust_emitter_small" "minecraft:vault_connection": 105,
}, "minecraft:dust_pillar": 106,
{ "minecraft:ominous_spawning": 107,
"id": 27, "minecraft:raid_omen": 108,
"name": "minecraft:sonic_boom" "minecraft:trial_omen": 109,
}, "minecraft:block_crumble": 110
{
"id": 28,
"name": "minecraft:falling_dust"
},
{
"id": 29,
"name": "minecraft:firework"
},
{
"id": 30,
"name": "minecraft:fishing"
},
{
"id": 31,
"name": "minecraft:flame"
},
{
"id": 32,
"name": "minecraft:infested"
},
{
"id": 33,
"name": "minecraft:cherry_leaves"
},
{
"id": 34,
"name": "minecraft:sculk_soul"
},
{
"id": 35,
"name": "minecraft:sculk_charge"
},
{
"id": 36,
"name": "minecraft:sculk_charge_pop"
},
{
"id": 37,
"name": "minecraft:soul_fire_flame"
},
{
"id": 38,
"name": "minecraft:soul"
},
{
"id": 39,
"name": "minecraft:flash"
},
{
"id": 40,
"name": "minecraft:happy_villager"
},
{
"id": 41,
"name": "minecraft:composter"
},
{
"id": 42,
"name": "minecraft:heart"
},
{
"id": 43,
"name": "minecraft:instant_effect"
},
{
"id": 44,
"name": "minecraft:item"
},
{
"id": 45,
"name": "minecraft:vibration"
},
{
"id": 46,
"name": "minecraft:trail"
},
{
"id": 47,
"name": "minecraft:item_slime"
},
{
"id": 48,
"name": "minecraft:item_cobweb"
},
{
"id": 49,
"name": "minecraft:item_snowball"
},
{
"id": 50,
"name": "minecraft:large_smoke"
},
{
"id": 51,
"name": "minecraft:lava"
},
{
"id": 52,
"name": "minecraft:mycelium"
},
{
"id": 53,
"name": "minecraft:note"
},
{
"id": 54,
"name": "minecraft:poof"
},
{
"id": 55,
"name": "minecraft:portal"
},
{
"id": 56,
"name": "minecraft:rain"
},
{
"id": 57,
"name": "minecraft:smoke"
},
{
"id": 58,
"name": "minecraft:white_smoke"
},
{
"id": 59,
"name": "minecraft:sneeze"
},
{
"id": 60,
"name": "minecraft:spit"
},
{
"id": 61,
"name": "minecraft:squid_ink"
},
{
"id": 62,
"name": "minecraft:sweep_attack"
},
{
"id": 63,
"name": "minecraft:totem_of_undying"
},
{
"id": 64,
"name": "minecraft:underwater"
},
{
"id": 65,
"name": "minecraft:splash"
},
{
"id": 66,
"name": "minecraft:witch"
},
{
"id": 67,
"name": "minecraft:bubble_pop"
},
{
"id": 68,
"name": "minecraft:current_down"
},
{
"id": 69,
"name": "minecraft:bubble_column_up"
},
{
"id": 70,
"name": "minecraft:nautilus"
},
{
"id": 71,
"name": "minecraft:dolphin"
},
{
"id": 72,
"name": "minecraft:campfire_cosy_smoke"
},
{
"id": 73,
"name": "minecraft:campfire_signal_smoke"
},
{
"id": 74,
"name": "minecraft:dripping_honey"
},
{
"id": 75,
"name": "minecraft:falling_honey"
},
{
"id": 76,
"name": "minecraft:landing_honey"
},
{
"id": 77,
"name": "minecraft:falling_nectar"
},
{
"id": 78,
"name": "minecraft:falling_spore_blossom"
},
{
"id": 79,
"name": "minecraft:ash"
},
{
"id": 80,
"name": "minecraft:crimson_spore"
},
{
"id": 81,
"name": "minecraft:warped_spore"
},
{
"id": 82,
"name": "minecraft:spore_blossom_air"
},
{
"id": 83,
"name": "minecraft:dripping_obsidian_tear"
},
{
"id": 84,
"name": "minecraft:falling_obsidian_tear"
},
{
"id": 85,
"name": "minecraft:landing_obsidian_tear"
},
{
"id": 86,
"name": "minecraft:reverse_portal"
},
{
"id": 87,
"name": "minecraft:white_ash"
},
{
"id": 88,
"name": "minecraft:small_flame"
},
{
"id": 89,
"name": "minecraft:snowflake"
},
{
"id": 90,
"name": "minecraft:dripping_dripstone_lava"
},
{
"id": 91,
"name": "minecraft:falling_dripstone_lava"
},
{
"id": 92,
"name": "minecraft:dripping_dripstone_water"
},
{
"id": 93,
"name": "minecraft:falling_dripstone_water"
},
{
"id": 94,
"name": "minecraft:glow_squid_ink"
},
{
"id": 95,
"name": "minecraft:glow"
},
{
"id": 96,
"name": "minecraft:wax_on"
},
{
"id": 97,
"name": "minecraft:wax_off"
},
{
"id": 98,
"name": "minecraft:electric_spark"
},
{
"id": 99,
"name": "minecraft:scrape"
},
{
"id": 100,
"name": "minecraft:shriek"
},
{
"id": 101,
"name": "minecraft:egg_crack"
},
{
"id": 102,
"name": "minecraft:dust_plume"
},
{
"id": 103,
"name": "minecraft:trial_spawner_detection"
},
{
"id": 104,
"name": "minecraft:trial_spawner_detection_ominous"
},
{
"id": 105,
"name": "minecraft:vault_connection"
},
{
"id": 106,
"name": "minecraft:dust_pillar"
},
{
"id": 107,
"name": "minecraft:ominous_spawning"
},
{
"id": 108,
"name": "minecraft:raid_omen"
},
{
"id": 109,
"name": "minecraft:trial_omen"
},
{
"id": 110,
"name": "minecraft:block_crumble"
} }
]

View File

@ -1,102 +1,27 @@
[
{ {
"id": 0, "minecraft:generic_9x1": 0,
"name": "minecraft:generic_9x1" "minecraft:generic_9x2": 1,
}, "minecraft:generic_9x3": 2,
{ "minecraft:generic_9x4": 3,
"id": 1, "minecraft:generic_9x5": 4,
"name": "minecraft:generic_9x2" "minecraft:generic_9x6": 5,
}, "minecraft:generic_3x3": 6,
{ "minecraft:crafter_3x3": 7,
"id": 2, "minecraft:anvil": 8,
"name": "minecraft:generic_9x3" "minecraft:beacon": 9,
}, "minecraft:blast_furnace": 10,
{ "minecraft:brewing_stand": 11,
"id": 3, "minecraft:crafting": 12,
"name": "minecraft:generic_9x4" "minecraft:enchantment": 13,
}, "minecraft:furnace": 14,
{ "minecraft:grindstone": 15,
"id": 4, "minecraft:hopper": 16,
"name": "minecraft:generic_9x5" "minecraft:lectern": 17,
}, "minecraft:loom": 18,
{ "minecraft:merchant": 19,
"id": 5, "minecraft:shulker_box": 20,
"name": "minecraft:generic_9x6" "minecraft:smithing": 21,
}, "minecraft:smoker": 22,
{ "minecraft:cartography_table": 23,
"id": 6, "minecraft:stonecutter": 24
"name": "minecraft:generic_3x3"
},
{
"id": 7,
"name": "minecraft:crafter_3x3"
},
{
"id": 8,
"name": "minecraft:anvil"
},
{
"id": 9,
"name": "minecraft:beacon"
},
{
"id": 10,
"name": "minecraft:blast_furnace"
},
{
"id": 11,
"name": "minecraft:brewing_stand"
},
{
"id": 12,
"name": "minecraft:crafting"
},
{
"id": 13,
"name": "minecraft:enchantment"
},
{
"id": 14,
"name": "minecraft:furnace"
},
{
"id": 15,
"name": "minecraft:grindstone"
},
{
"id": 16,
"name": "minecraft:hopper"
},
{
"id": 17,
"name": "minecraft:lectern"
},
{
"id": 18,
"name": "minecraft:loom"
},
{
"id": 19,
"name": "minecraft:merchant"
},
{
"id": 20,
"name": "minecraft:shulker_box"
},
{
"id": 21,
"name": "minecraft:smithing"
},
{
"id": 22,
"name": "minecraft:smoker"
},
{
"id": 23,
"name": "minecraft:cartography_table"
},
{
"id": 24,
"name": "minecraft:stonecutter"
} }
]

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,5 @@
package de.snowii.extractor.extractors package de.snowii.extractor.extractors
import com.google.gson.JsonArray
import com.google.gson.JsonElement import com.google.gson.JsonElement
import com.google.gson.JsonObject import com.google.gson.JsonObject
import de.snowii.extractor.Extractor import de.snowii.extractor.Extractor
@ -14,12 +13,12 @@ class Particles : Extractor.Extractor {
} }
override fun extract(server: MinecraftServer): JsonElement { override fun extract(server: MinecraftServer): JsonElement {
val particlesJson = JsonArray() val particlesJson = JsonObject()
for (particle in Registries.PARTICLE_TYPE) { for (particle in Registries.PARTICLE_TYPE) {
val particleJson = JsonObject() particlesJson.addProperty(
particleJson.addProperty("id", Registries.PARTICLE_TYPE.getRawId(particle)) Registries.PARTICLE_TYPE.getId(particle)!!.toString(),
particleJson.addProperty("name", Registries.PARTICLE_TYPE.getId(particle)!!.toString()) Registries.PARTICLE_TYPE.getRawId(particle)
particlesJson.add(particleJson) )
} }
return particlesJson return particlesJson

View File

@ -1,6 +1,5 @@
package de.snowii.extractor.extractors package de.snowii.extractor.extractors
import com.google.gson.JsonArray
import com.google.gson.JsonElement import com.google.gson.JsonElement
import com.google.gson.JsonObject import com.google.gson.JsonObject
import de.snowii.extractor.Extractor import de.snowii.extractor.Extractor
@ -13,12 +12,12 @@ class Screens : Extractor.Extractor {
} }
override fun extract(server: MinecraftServer): JsonElement { override fun extract(server: MinecraftServer): JsonElement {
val screensJson = JsonArray() val screensJson = JsonObject()
for (screen in Registries.SCREEN_HANDLER) { for (screen in Registries.SCREEN_HANDLER) {
val screenJson = JsonObject() screensJson.addProperty(
screenJson.addProperty("id", Registries.SCREEN_HANDLER.getRawId(screen)) Registries.SCREEN_HANDLER.getId(screen)!!.toString(),
screenJson.addProperty("name", Registries.SCREEN_HANDLER.getId(screen)!!.toString()) Registries.SCREEN_HANDLER.getRawId(screen)
screensJson.add(screenJson) )
} }
return screensJson return screensJson

View File

@ -1,6 +1,5 @@
package de.snowii.extractor.extractors package de.snowii.extractor.extractors
import com.google.gson.JsonArray
import com.google.gson.JsonElement import com.google.gson.JsonElement
import com.google.gson.JsonObject import com.google.gson.JsonObject
import de.snowii.extractor.Extractor import de.snowii.extractor.Extractor
@ -14,15 +13,14 @@ class Sounds : Extractor.Extractor {
} }
override fun extract(server: MinecraftServer): JsonElement { override fun extract(server: MinecraftServer): JsonElement {
val itemsJson = JsonArray() val soundJson = JsonObject()
for (sound in Registries.SOUND_EVENT) { for (sound in Registries.SOUND_EVENT) {
val itemJson = JsonObject() soundJson.addProperty(
itemJson.addProperty("id", Registries.SOUND_EVENT.getRawId(sound)) Registries.SOUND_EVENT.getId(sound)!!.toString(),
itemJson.addProperty("name", Registries.SOUND_EVENT.getId(sound)!!.toString()) Registries.SOUND_EVENT.getRawId(sound)
itemsJson.add(itemJson) )
} }
return itemsJson return soundJson
} }
} }

View File

@ -2,20 +2,10 @@ use std::{collections::HashMap, sync::LazyLock};
use proc_macro::TokenStream; use proc_macro::TokenStream;
use quote::quote; use quote::quote;
use serde::Deserialize;
#[derive(Deserialize)]
pub struct Particle {
name: String,
id: u16,
}
static SOUNDS: LazyLock<HashMap<String, u16>> = LazyLock::new(|| { static SOUNDS: LazyLock<HashMap<String, u16>> = LazyLock::new(|| {
serde_json::from_str::<Vec<Particle>>(include_str!("../../assets/particles.json")) serde_json::from_str(include_str!("../../assets/particles.json"))
.expect("Could not parse particles.json registry.") .expect("Could not parse particles.json registry.")
.into_iter()
.map(|val| (val.name, val.id))
.collect()
}); });
pub(crate) fn particle_impl(item: TokenStream) -> TokenStream { pub(crate) fn particle_impl(item: TokenStream) -> TokenStream {

View File

@ -2,20 +2,10 @@ use std::{collections::HashMap, sync::LazyLock};
use proc_macro::TokenStream; use proc_macro::TokenStream;
use quote::quote; use quote::quote;
use serde::Deserialize;
#[derive(Deserialize)]
pub struct Screen {
name: String,
id: u8,
}
static SCREENS: LazyLock<HashMap<String, u8>> = LazyLock::new(|| { static SCREENS: LazyLock<HashMap<String, u8>> = LazyLock::new(|| {
serde_json::from_str::<Vec<Screen>>(include_str!("../../assets/screens.json")) serde_json::from_str(include_str!("../../assets/screens.json"))
.expect("Could not parse screens.json registry.") .expect("Could not parse screens.json registry.")
.into_iter()
.map(|val| (val.name, val.id))
.collect()
}); });
pub(crate) fn screen_impl(item: TokenStream) -> TokenStream { pub(crate) fn screen_impl(item: TokenStream) -> TokenStream {

View File

@ -2,20 +2,10 @@ use std::{collections::HashMap, sync::LazyLock};
use proc_macro::TokenStream; use proc_macro::TokenStream;
use quote::quote; use quote::quote;
use serde::Deserialize;
#[derive(Deserialize)]
pub struct Sound {
name: String,
id: u16,
}
static SOUNDS: LazyLock<HashMap<String, u16>> = LazyLock::new(|| { static SOUNDS: LazyLock<HashMap<String, u16>> = LazyLock::new(|| {
serde_json::from_str::<Vec<Sound>>(include_str!("../../assets/sounds.json")) serde_json::from_str(include_str!("../../assets/sounds.json"))
.expect("Could not parse sounds.json registry.") .expect("Could not parse sounds.json registry.")
.into_iter()
.map(|val| (val.name, val.id))
.collect()
}); });
pub(crate) fn sound_impl(item: TokenStream) -> TokenStream { pub(crate) fn sound_impl(item: TokenStream) -> TokenStream {