diff --git a/kubejs/client_scripts/_main_.js b/kubejs/client_scripts/_main_.js
new file mode 100644
index 0000000..8acfb66
--- /dev/null
+++ b/kubejs/client_scripts/_main_.js
@@ -0,0 +1,3 @@
+// priority: 100
+
+console.info(`${global.LOG_PREFIX} 加载客户端内容`);
diff --git a/kubejs/config/client.properties b/kubejs/config/client.properties
new file mode 100644
index 0000000..c88b05a
--- /dev/null
+++ b/kubejs/config/client.properties
@@ -0,0 +1,15 @@
+#KubeJS Client Properties
+#Sun Jul 03 17:12:21 SGT 2022
+backgroundColor=2E3440
+barBorderColor=ECEFF4
+exportAtlases=false
+menuBackgroundBrightness=64
+disableRecipeBook=false
+title=
+barColor=ECEFF4
+overrideColors=false
+fmlLogColor=ECEFF4
+showTagNames=true
+fmlMemoryColor=ECEFF4
+menuBackgroundScale=32.0
+menuInnerBackgroundBrightness=32
diff --git a/kubejs/config/common.properties b/kubejs/config/common.properties
new file mode 100644
index 0000000..89cb642
--- /dev/null
+++ b/kubejs/config/common.properties
@@ -0,0 +1,9 @@
+#KubeJS Common Properties
+#Sun Jul 03 17:12:16 SGT 2022
+announceReload=true
+disableClassFilter=false
+serverOnly=false
+hideServerScriptErrors=false
+packmode=default
+printRemappedClasses=false
+debugInfo=false
diff --git a/kubejs/jsconfig.json b/kubejs/jsconfig.json
new file mode 100644
index 0000000..6e5458c
--- /dev/null
+++ b/kubejs/jsconfig.json
@@ -0,0 +1,6 @@
+{
+ "compilerOptions": {
+ "lib": ["ES5", "ES2015"],
+ "typeRoots": ["./probe/generated", "./probe/user"]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/probe/generated/constants.d.ts b/kubejs/probe/generated/constants.d.ts
new file mode 100644
index 0000000..8a8011f
--- /dev/null
+++ b/kubejs/probe/generated/constants.d.ts
@@ -0,0 +1,23 @@
+///
+declare const settings: Internal.ServerSettings;
+declare const console: Internal.ConsoleJS;
+declare const RARITY_RARE: Rarity;
+declare const HOUR: 3600000;
+declare const SLOT_FEET: EquipmentSlot;
+declare const SLOT_HEAD: EquipmentSlot;
+// declare const global: {};
+declare const MAIN_HAND: Hand;
+declare const SLOT_LEGS: EquipmentSlot;
+declare const AIR_BLOCK: Internal.class_2189;
+declare const RARITY_UNCOMMON: Rarity;
+declare const AIR_ITEM: Internal.class_1739;
+declare const SLOT_CHEST: EquipmentSlot;
+declare const RARITY_EPIC: Rarity;
+declare const Painter: Internal.Painter;
+declare const SECOND: 1000;
+declare const MINUTE: 60000;
+declare const SLOT_OFFHAND: EquipmentSlot;
+declare const RARITY_COMMON: Rarity;
+declare const Client: Internal.ClientWrapper;
+declare const SLOT_MAINHAND: EquipmentSlot;
+declare const OFF_HAND: Hand;
diff --git a/kubejs/probe/generated/events.d.ts b/kubejs/probe/generated/events.d.ts
new file mode 100644
index 0000000..64d3bd3
--- /dev/null
+++ b/kubejs/probe/generated/events.d.ts
@@ -0,0 +1,48 @@
+///
+///
+declare function onEvent(name: "recipes.serializer.special.flag", handler: (event: Internal.SpecialRecipeSerializerManager) => void);
+declare function onEvent(name: "player.chest.opened", handler: (event: Internal.ChestEventJS) => void);
+declare function onEvent(name: "player.advancement", handler: (event: Internal.PlayerAdvancementEventJS) => void);
+declare function onEvent(name: "recipes.type_registry", handler: (event: Internal.RecipeTypeRegistryEventJS) => void);
+declare function onEvent(name: "sound.registry", handler: (event: Internal.SoundRegistryEventJS) => void);
+declare function onEvent(name: "recipes.compostables", handler: (event: Internal.CompostablesRecipeEventJS) => void);
+declare function onEvent(name: "item.registry.armor_tiers", handler: (event: Internal.ItemArmorTierEventJS) => void);
+declare function onEvent(name: "client.generate_assets", handler: (event: Internal.ClientGenerateAssetsEventJS) => void);
+declare function onEvent(name: "client.paint_screen", handler: (event: Internal.ScreenPaintEventJS) => void);
+declare function onEvent(name: "item.model_properties", handler: (event: Internal.ItemModelPropertiesEventJS) => void);
+declare function onEvent(name: "client.painter_updated", handler: (event: Internal.PainterUpdatedEventJS) => void);
+declare function onEvent(name: "command.registry", handler: (event: Internal.CommandRegistryEventJS) => void);
+declare function onEvent(name: "command.run", handler: (event: Internal.CommandEventJS) => void);
+declare function onEvent(name: "item.food_eaten", handler: (event: Internal.ItemFoodEatenEventJS) => void);
+declare function onEvent(name: "item.registry.tool_tiers", handler: (event: Internal.ItemToolTierEventJS) => void);
+declare function onEvent(name: "player.chest.closed", handler: (event: Internal.ChestEventJS) => void);
+declare function onEvent(name: "minecraft.sound_event.registry", handler: (event: Registry.Sound_event) => void);
+declare function onEvent(name: "sound_event.registry", handler: (event: Registry.Sound_event) => void);
+declare function onEvent(name: "minecraft.fluid.registry", handler: (event: Registry.Fluid) => void);
+declare function onEvent(name: "fluid.registry", handler: (event: Registry.Fluid) => void);
+declare function onEvent(name: "minecraft.block.registry", handler: (event: Registry.Block) => void);
+declare function onEvent(name: "block.registry", handler: (event: Registry.Block) => void);
+declare function onEvent(name: "minecraft.item.registry", handler: (event: Registry.Item) => void);
+declare function onEvent(name: "item.registry", handler: (event: Registry.Item) => void);
+declare function onEvent(name: "minecraft.enchantment.registry", handler: (event: Registry.Enchantment) => void);
+declare function onEvent(name: "enchantment.registry", handler: (event: Registry.Enchantment) => void);
+declare function onEvent(name: "minecraft.mob_effect.registry", handler: (event: Registry.Mob_effect) => void);
+declare function onEvent(name: "mob_effect.registry", handler: (event: Registry.Mob_effect) => void);
+declare function onEvent(name: "minecraft.entity_type.registry", handler: (event: Registry.Entity_type) => void);
+declare function onEvent(name: "entity_type.registry", handler: (event: Registry.Entity_type) => void);
+declare function onEvent(name: "minecraft.block_entity_type.registry", handler: (event: Registry.Block_entity_type) => void);
+declare function onEvent(name: "block_entity_type.registry", handler: (event: Registry.Block_entity_type) => void);
+declare function onEvent(name: "minecraft.potion.registry", handler: (event: Registry.Potion) => void);
+declare function onEvent(name: "potion.registry", handler: (event: Registry.Potion) => void);
+declare function onEvent(name: "minecraft.particle_type.registry", handler: (event: Registry.Particle_type) => void);
+declare function onEvent(name: "particle_type.registry", handler: (event: Registry.Particle_type) => void);
+declare function onEvent(name: "minecraft.motive.registry", handler: (event: Registry.Motive) => void);
+declare function onEvent(name: "motive.registry", handler: (event: Registry.Motive) => void);
+declare function onEvent(name: "minecraft.custom_stat.registry", handler: (event: Registry.Custom_stat) => void);
+declare function onEvent(name: "custom_stat.registry", handler: (event: Registry.Custom_stat) => void);
+declare function onEvent(name: "minecraft.point_of_interest_type.registry", handler: (event: Registry.Point_of_interest_type) => void);
+declare function onEvent(name: "point_of_interest_type.registry", handler: (event: Registry.Point_of_interest_type) => void);
+declare function onEvent(name: "minecraft.villager_type.registry", handler: (event: Registry.Villager_type) => void);
+declare function onEvent(name: "villager_type.registry", handler: (event: Registry.Villager_type) => void);
+declare function onEvent(name: "minecraft.villager_profession.registry", handler: (event: Registry.Villager_profession) => void);
+declare function onEvent(name: "villager_profession.registry", handler: (event: Registry.Villager_profession) => void);
diff --git a/kubejs/probe/generated/events.documented.d.ts b/kubejs/probe/generated/events.documented.d.ts
new file mode 100644
index 0000000..ef6da61
--- /dev/null
+++ b/kubejs/probe/generated/events.documented.d.ts
@@ -0,0 +1,739 @@
+///
+///
+/**
+* Fired when you need to add some datapack json to the server.
+*
+* Low priority event is fired first, as they will be overriden later.
+*
+* And vise versa for high priority events.
+*/
+declare function onEvent(name: "server.datapack.low_priority", handler: (event: Internal.DataPackEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.worldgen.chunk_generator", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.height_provider_type", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.worldgen.material_condition", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired on an entity is spawned.
+*/
+declare function onEvent(name: "entity.spawned", handler: (event: Internal.EntitySpawnedEventJS) => void);
+/**
+* Fired by different tag everytime when a player:
+* - ticks
+* - logged in
+* - logged out
+*/
+declare function onEvent(name: "player.tick", handler: (event: Internal.SimplePlayerEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.worldgen.material_rule", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.activity", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when player clicked a non-air, non-fluid block.
+*
+* This event is called only once.
+*/
+declare function onEvent(name: "block.left_click", handler: (event: Internal.BlockLeftClickEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.worldgen.placed_feature", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.worldgen.template_pool", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when ticking on client side.
+*/
+declare function onEvent(name: "client.tick", handler: (event: Internal.ClientTickEventJS) => void);
+/**
+* Fired when a living entity is about to die.
+*
+* If the entity's HP <= 0, the entity will fall and get removed.
+*
+* If the event is not cancelled, the entity will die and drop loots.
+*/
+declare function onEvent(name: "entity.death", handler: (event: Internal.LivingEntityDeathEventJS) => void);
+/**
+* Fired when you need to modify properties of an item.
+*/
+declare function onEvent(name: "item.modification", handler: (event: Internal.ItemModificationEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.chunk_status", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.worldgen.noise", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.sensor_type", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.items", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.worldgen.trunk_placer_type", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.loot_condition_type", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.blocks", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired by different tag when the game:
+* - is initializing
+* - is post-initializing
+*/
+declare function onEvent(name: "init", handler: (event: Internal.StartupEventJS) => void);
+/**
+* Fired when you need to modify recipes.
+*/
+declare function onEvent(name: "recipes", handler: (event: Internal.RecipeEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.int_provider_type", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "block.tags", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired by different tag everytime when a player:
+* - ticks
+* - logged in
+* - logged out
+*/
+declare function onEvent(name: "player.logged_in", handler: (event: Internal.SimplePlayerEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.entity_types", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.loot_pool_entry_type", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.memory_module_type", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.motive", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.worldgen.feature_size_type", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when the chest loot table is registering.
+*/
+declare function onEvent(name: "chest.loot_tables", handler: (event: Internal.ChestLootEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.position_source_type", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to remove worldgen.
+*/
+declare function onEvent(name: "worldgen.remove", handler: (event: Internal.WorldgenRemoveEventJS) => void);
+/**
+* Fired to register special handlers for tooltips on items.
+*/
+declare function onEvent(name: "item.tooltip", handler: (event: Internal.ItemTooltipEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.block_entity_type", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.game_events", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.worldgen.structure_pool_element", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when a block is placed.
+*
+* Note that the entity can be `null`, if the placer is a dispenser, etc.
+*/
+declare function onEvent(name: "block.place", handler: (event: Internal.BlockPlaceEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.custom_stat", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.stat_type", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.worldgen.block_state_provider_type", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.loot_function_type", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.dimension_type", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.attribute", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to remove worldgen.
+*/
+declare function onEvent(name: "worldgen.add", handler: (event: Internal.WorldgenAddEventJS) => void);
+/**
+* Fired when you need to modify properties of a block.
+*/
+declare function onEvent(name: "block.modification", handler: (event: Internal.BlockModificationEventJS) => void);
+/**
+* Fired when the inventory of player is changed.
+*/
+declare function onEvent(name: "player.inventory.changed", handler: (event: Internal.InventoryChangedEventJS) => void);
+/**
+* Fired when the gift loot table (cat, villager, etc.) is registering.
+*/
+declare function onEvent(name: "gift.loot_tables", handler: (event: Internal.GiftLootEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.particle_type", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.worldgen.foliage_placer_type", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.recipe_serializer", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when the fishing loot table is registering.
+*/
+declare function onEvent(name: "fishing.loot_tables", handler: (event: Internal.FishingLootEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "fluid.tags", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired by different tag when the level:
+* - loads
+* - ticks
+* - unloads
+*/
+declare function onEvent(name: "level.tick", handler: (event: Internal.SimpleLevelEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.enchantment", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.mob_effect", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.loot_score_provider_type", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.worldgen.noise_settings", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.point_of_interest_type", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired by different tag when the server:
+* - loads
+* - ticks
+* - unloads
+*/
+declare function onEvent(name: "server.tick", handler: (event: Internal.ServerEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.worldgen.structure_placement", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.worldgen.biome_source", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.pos_rule_test", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when the player:
+* - opens the inventory
+* - closes the inventory
+*/
+declare function onEvent(name: "player.inventory.opened", handler: (event: Internal.InventoryEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.loot_number_provider_type", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.recipe_type", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.loot_nbt_provider_type", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.worldgen.configured_structure_feature", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.block_predicate_type", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when a living entity is hurt.
+*
+* If cancelled, the attack will do no effect.
+*/
+declare function onEvent(name: "entity.hurt", handler: (event: Internal.LivingEntityHurtEventJS) => void);
+/**
+* Fired by different tag when the game:
+* - is initializing
+* - is post-initializing
+*/
+declare function onEvent(name: "postinit", handler: (event: Internal.StartupEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.worldgen.structure_feature", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.worldgen.configured_feature", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when the generic loot table is registering.
+* Note that this is unused.
+*/
+declare function onEvent(name: "generic.loot_tables", handler: (event: Internal.GenericLootEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.worldgen.feature", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.worldgen.density_function_type", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired by different tag when the server:
+* - loads
+* - ticks
+* - unloads
+*/
+declare function onEvent(name: "server.load", handler: (event: Internal.ServerEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.float_provider_type", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add some datapack json to the server.
+*
+* Low priority event is fired first, as they will be overriden later.
+*
+* And vise versa for high priority events.
+*/
+declare function onEvent(name: "server.datapack.high_priority", handler: (event: Internal.DataPackEventJS) => void);
+/**
+* Fired when you need to add some datapack json to the server.
+*
+* Low priority event is fired first, as they will be overriden later.
+*
+* And vise versa for high priority events.
+*/
+declare function onEvent(name: "server.datapack.last", handler: (event: Internal.DataPackEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.schedule", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired by different tag when the level:
+* - loads
+* - ticks
+* - unloads
+*/
+declare function onEvent(name: "level.load", handler: (event: Internal.SimpleLevelEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.worldgen.structure_piece", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.worldgen.density_function", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when player right clicks on an Entity.
+*
+* Note that both main hand and off hand will be called if not cancelled.
+*
+* On cancellation, Result.SUCCESS is returned, thus making player swing his arm.
+*/
+declare function onEvent(name: "item.entity_interact", handler: (event: Internal.ItemEntityInteractEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.worldgen.structure_processor", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.sound_event", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when the player tossed an item.
+*/
+declare function onEvent(name: "item.toss", handler: (event: Internal.ItemTossEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "item.tags", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when the entity loot table is registering.
+*/
+declare function onEvent(name: "entity.loot_tables", handler: (event: Internal.EntityLootEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.rule_test", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when the client is initalizing.
+*/
+declare function onEvent(name: "client.init", handler: (event: Internal.ClientEventJS) => void);
+/**
+* Fired when a block is broken by player. This will not be fired by other means, like TNT.
+*
+* On fabric, the experience returned is always `null`.
+*/
+declare function onEvent(name: "block.break", handler: (event: Internal.BlockBreakEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.worldgen.structure_set", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.worldgen.tree_decorator_type", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when player right clicks with item on hand.
+*
+* Note that this will only be fired when hand has item.
+*
+* On cancellation, Result.SUCCESS is returned, thus making player swing his arm.
+*/
+declare function onEvent(name: "item.right_click", handler: (event: Internal.ItemRightClickEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.worldgen.placement_modifier_type", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.villager_profession", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when the player:
+* - opens the inventory
+* - closes the inventory
+*/
+declare function onEvent(name: "player.inventory.closed", handler: (event: Internal.InventoryEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.villager_type", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when an item is about to be picked up by the player.
+*/
+declare function onEvent(name: "item.pickup", handler: (event: Internal.ItemPickupEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.worldgen.processor_list", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.fluids", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.worldgen.configured_carver", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.worldgen.carver", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when the block loot table is registering.
+*/
+declare function onEvent(name: "block.loot_tables", handler: (event: Internal.BlockLootEventJS) => void);
+/**
+* Fired by different tag when the client is:
+* - logged in
+* - logged out
+*/
+declare function onEvent(name: "client.logged_in", handler: (event: Internal.ClientLoggedInEventJS) => void);
+/**
+* Fired when player right clicks on an Block that is not fluid.
+*
+* Note that both main hand and off hand will be called if not cancelled.
+*
+* On cancellation, Result.SUCCESS is returned, thus making player swing his arm.
+*/
+declare function onEvent(name: "block.right_click", handler: (event: Internal.BlockRightClickEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.menu", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.potion", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add, change tags of things.
+*
+* However, due to the type erasure of Java, Probe can not determine what
+* can be used here, please refer to the tag string itself.
+*/
+declare function onEvent(name: "tags.worldgen.biome", handler: (event: Internal.TagEventJS) => void);
+/**
+* Fired when you need to add some datapack json to the server.
+*
+* Low priority event is fired first, as they will be overriden later.
+*
+* And vise versa for high priority events.
+*/
+declare function onEvent(name: "server.datapack.first", handler: (event: Internal.DataPackEventJS) => void);
diff --git a/kubejs/probe/generated/globals.d.ts b/kubejs/probe/generated/globals.d.ts
new file mode 100644
index 0000000..3ea7da1
--- /dev/null
+++ b/kubejs/probe/generated/globals.d.ts
@@ -0,0 +1,52073 @@
+declare class JsonIO {
+ static writeJsonHash(stream: Internal.DataOutputStream_, element: Internal.JsonElement_): void;
+ static toPrimitive(element: Internal.JsonElement_): any;
+ static read(path: Internal.Path_): Internal.MapJS;
+ static getJsonHashBytes(json: Internal.JsonElement_): number[];
+ static parse(string: string): any;
+ static primitiveOf(o: any): Internal.JsonPrimitive;
+ static of(o: any): Internal.JsonElement;
+ static toArray(element: Internal.JsonElement_): Internal.JsonArray;
+ static parseRaw(string: string): Internal.JsonElement;
+ static toPrettyString(json: Internal.JsonElement_): string;
+ static toString(json: Internal.JsonElement_): string;
+ static toObject(json: Internal.JsonElement_): any;
+ static copy(element: Internal.JsonElement_): Internal.JsonElement;
+ static write(path: Internal.Path_, json: Internal.JsonElement_): void;
+ constructor();
+}
+type JsonIO_ = JsonIO;
+/**
+*/
+declare interface BlockStatePredicate {
+ test(arg0: Internal.class_2680_): boolean;
+ getBlockStates(): Internal.Collection;
+ /**
+ */
+ static of(o: BlockStatePredicate_): BlockStatePredicate;
+ getBlocks(): Internal.Collection;
+ static fromString(s: string): BlockStatePredicate;
+ check(targetStates: Internal.List_): boolean;
+ getBlockIds(): Internal.Set;
+ asRuleTest(): Internal.class_3825;
+ static ruleTestOf(o: any): Internal.class_3825;
+ readonly AIR_ID : ResourceLocation;
+}
+/**
+*/
+type BlockStatePredicate_ = BlockStatePredicate_[] | {or?: Internal.BlockStatePredicate_, not?: Internal.BlockStatePredicate_} | net.minecraft.world.level.block.Block | net.minecraft.world.level.block.state.BlockState | `#${Special.BlockTag}` | RegExp | BlockStatePredicate;
+declare const BlockStatePredicate: BlockStatePredicate;
+declare interface Color {
+ static rgba(r: number, g: number, b: number, a: number): Internal.Color;
+ static of(o: any): Internal.Color;
+ static createMapped(o: any, ... names: string[]): Internal.Color;
+ readonly BLUE_DYE : Internal.Color;
+ readonly GOLD : Internal.Color;
+ readonly GRAY : Internal.Color;
+ readonly MAGENTA_DYE : Internal.Color;
+ readonly BLUE : Internal.Color;
+ readonly DARK_AQUA : Internal.Color;
+ readonly TEXT : {"dark_red":Internal.class_124,"green":Internal.class_124,"underline":Internal.class_124,"dark_green":Internal.class_124,"black":Internal.class_124,"yellow":Internal.class_124,"bold":Internal.class_124,"italic":Internal.class_124,"dark_blue":Internal.class_124,"dark_purple":Internal.class_124,"gold":Internal.class_124,"red":Internal.class_124,"aqua":Internal.class_124,"gray":Internal.class_124,"light_purple":Internal.class_124,"blue":Internal.class_124,"white":Internal.class_124,"dark_aqua":Internal.class_124,"dark_gray":Internal.class_124,"reset":Internal.class_124,"strikethrough":Internal.class_124,"obfuscated":Internal.class_124};
+ readonly DYE : {"magenta":Internal.class_1767,"pink":Internal.class_1767,"green":Internal.class_1767,"lime":Internal.class_1767,"light_gray":Internal.class_1767,"yellow":Internal.class_1767,"black":Internal.class_1767,"light_blue":Internal.class_1767,"brown":Internal.class_1767,"cyan":Internal.class_1767,"orange":Internal.class_1767,"red":Internal.class_1767,"gray":Internal.class_1767,"white":Internal.class_1767,"blue":Internal.class_1767,"purple":Internal.class_1767};
+ readonly WHITE_DYE : Internal.Color;
+ readonly DARK_RED : Internal.Color;
+ readonly LIGHT_PURPLE : Internal.Color;
+ readonly BROWN_DYE : Internal.Color;
+ readonly BLACK : Internal.Color;
+ readonly GRAY_DYE : Internal.Color;
+ readonly NONE : Internal.Color;
+ readonly LIGHT_BLUE_DYE : Internal.Color;
+ readonly AQUA : Internal.Color;
+ readonly WHITE : Internal.Color;
+ readonly LIGHT_GRAY_DYE : Internal.Color;
+ readonly BLACK_DYE : Internal.Color;
+ readonly RED_DYE : Internal.Color;
+ readonly PURPLE_DYE : Internal.Color;
+ readonly GREEN_DYE : Internal.Color;
+ readonly PINK_DYE : Internal.Color;
+ readonly DARK_BLUE : Internal.Color;
+ readonly GREEN : Internal.Color;
+ readonly CYAN_DYE : Internal.Color;
+ readonly RED : Internal.Color;
+ readonly DARK_PURPLE : Internal.Color;
+ readonly ORANGE_DYE : Internal.Color;
+ readonly YELLOW_DYE : Internal.Color;
+ readonly DARK_GREEN : Internal.Color;
+ readonly YELLOW : Internal.Color;
+ readonly LIME_DYE : Internal.Color;
+ readonly DARK_GRAY : Internal.Color;
+ readonly MAP : {"":Internal.NoColor,"light_blue_dye":Internal.class_1767,"BLUE_DYE":Internal.class_1767,"purple_dye":Internal.class_1767,"dark_red":Internal.class_124,"lightGrayDye":Internal.class_1767,"DARK_AQUA":Internal.class_124,"none":Internal.NoColor,"green_dye":Internal.class_1767,"blackDye":Internal.class_1767,"dark_blue":Internal.class_124,"red":Internal.class_124,"pink_dye":Internal.class_1767,"aqua":Internal.class_124,"white":Internal.class_124,"WHITE_DYE":Internal.class_1767,"dark_gray":Internal.class_124,"LIGHT_PURPLE":Internal.class_124,"BROWN_DYE":Internal.class_1767,"BLACK":Internal.class_124,"darkPurple":Internal.class_124,"NONE":Internal.NoColor,"LIGHT_BLUE_DYE":Internal.class_1767,"AQUA":Internal.class_124,"lightBlueDye":Internal.class_1767,"limeDye":Internal.class_1767,"PURPLE_DYE":Internal.class_1767,"GREEN_DYE":Internal.class_1767,"magenta_dye":Internal.class_1767,"-":Internal.NoColor,"lime_dye":Internal.class_1767,"yellowDye":Internal.class_1767,"grayDye":Internal.class_1767,"purpleDye":Internal.class_1767,"DARK_PURPLE":Internal.class_124,"ORANGE_DYE":Internal.class_1767,"darkGray":Internal.class_124,"brownDye":Internal.class_1767,"YELLOW":Internal.class_124,"LIME_DYE":Internal.class_1767,"blueDye":Internal.class_1767,"white_dye":Internal.class_1767,"pinkDye":Internal.class_1767,"blue_dye":Internal.class_1767,"cyanDye":Internal.class_1767,"GOLD":Internal.class_124,"GRAY":Internal.class_124,"MAGENTA_DYE":Internal.class_1767,"BLUE":Internal.class_124,"yellow":Internal.class_124,"darkBlue":Internal.class_124,"transparent":Internal.NoColor,"orange_dye":Internal.class_1767,"red_dye":Internal.class_1767,"dark_purple":Internal.class_124,"gold":Internal.class_124,"gray":Internal.class_124,"light_purple":Internal.class_124,"darkRed":Internal.class_124,"greenDye":Internal.class_1767,"DARK_RED":Internal.class_124,"redDye":Internal.class_1767,"GRAY_DYE":Internal.class_1767,"orangeDye":Internal.class_1767,"yellow_dye":Internal.class_1767,"black_dye":Internal.class_1767,"magentaDye":Internal.class_1767,"WHITE":Internal.class_124,"green":Internal.class_124,"LIGHT_GRAY_DYE":Internal.class_1767,"BLACK_DYE":Internal.class_1767,"darkGreen":Internal.class_124,"RED_DYE":Internal.class_1767,"dark_green":Internal.class_124,"black":Internal.class_124,"lightPurple":Internal.class_124,"PINK_DYE":Internal.class_1767,"DARK_BLUE":Internal.class_124,"GREEN":Internal.class_124,"darkAqua":Internal.class_124,"gray_dye":Internal.class_1767,"CYAN_DYE":Internal.class_1767,"RED":Internal.class_124,"brown_dye":Internal.class_1767,"cyan_dye":Internal.class_1767,"blue":Internal.class_124,"whiteDye":Internal.class_1767,"dark_aqua":Internal.class_124,"YELLOW_DYE":Internal.class_1767,"DARK_GREEN":Internal.class_124,"DARK_GRAY":Internal.class_124};
+}
+type Color_ = Color;
+declare const Color: Color;
+declare class Block {
+ static getMaterial(): Internal.Map;
+ static getTaggedIds(tag: ResourceLocation_): Internal.List;
+ static getBlock(id: ResourceLocation_): Internal.class_2248;
+ static custom(predicate: Internal.BlockPredicate_): Internal.BlockPredicate;
+ static getTypeList(): Internal.List;
+ static getFacing(): Internal.Map;
+ static id(id: ResourceLocation_, properties: Internal.Map_): Internal.BlockIDPredicate;
+ static id(id: ResourceLocation_): Internal.BlockIDPredicate;
+ static entity(id: ResourceLocation_): Internal.BlockEntityPredicate;
+ get material(): Internal.Map;
+ get typeList(): Internal.List;
+ get facing(): Internal.Map;
+ constructor();
+}
+type Block_ = Block;
+declare class Vec3i implements Internal.Comparable {
+ method_23227($$0: number): Vec3i;
+ method_23228(): Vec3i;
+ method_23226($$0: Internal.class_2350_, $$1: number): Vec3i;
+ method_35854($$0: number): Vec3i;
+ method_10259($$0: Vec3i_): Vec3i;
+ method_35853($$0: Vec3i_): Vec3i;
+ method_35852($$0: Vec3i_): Vec3i;
+ method_35851($$0: Internal.class_2350_): Vec3i;
+ method_35850($$0: Internal.class_2350$class_2351_, $$1: number): Vec3i;
+ hashCode(): number;
+ method_19769($$0: Internal.class_2374_, $$1: number): boolean;
+ method_35859(): Vec3i;
+ static method_39677($$0: number): Internal.Codec;
+ method_40081($$0: number, $$1: number, $$2: number): number;
+ method_35858($$0: number): Vec3i;
+ method_35857(): Vec3i;
+ method_35856($$0: number): Vec3i;
+ method_35855(): Vec3i;
+ method_23854(): string;
+ method_19455($$0: Vec3i_): number;
+ method_19771($$0: Vec3i_, $$1: number): boolean;
+ method_10260(): number;
+ method_19770($$0: Internal.class_2374_): number;
+ method_34592($$0: number, $$1: number, $$2: number): Vec3i;
+ method_35862($$0: number): Vec3i;
+ method_35861(): Vec3i;
+ method_35860($$0: number): Vec3i;
+ equals($$0: any): boolean;
+ method_30558($$0: Internal.class_2350$class_2351_): number;
+ method_10262($$0: Vec3i_): number;
+ method_30931(): Vec3i;
+ method_35849($$0: number, $$1: number, $$2: number): Vec3i;
+ method_10264(): number;
+ toString(): string;
+ method_10263(): number;
+ method_10265($$0: Vec3i_): number;
+ method_10268($$0: number, $$1: number, $$2: number): number;
+ method_30930($$0: number): Vec3i;
+ static readonly field_25123 : Internal.Codec;
+ static readonly field_11176 : Vec3i;
+ constructor($$0: number, $$1: number, $$2: number);
+ constructor($$0: number, $$1: number, $$2: number);
+}
+type Vec3i_ = Vec3i;
+/**
+*/
+declare class Ingredient {
+ static customNBT(in_: Internal.IngredientJS_, predicate: Internal.Predicate_): Internal.IngredientJS;
+ static getAll(): Internal.IngredientJS;
+ static matchAny(objects: any): Internal.IngredientJS;
+ static isIngredient(o: any): boolean;
+ static custom(in_: Internal.IngredientJS_, predicate: Internal.Predicate_): Internal.IngredientJS;
+ static custom(predicate: Internal.Predicate_): Internal.IngredientJS;
+ /**
+ */
+ static of(object: Internal.IngredientJS_, count: number): Internal.IngredientJS;
+ /**
+ */
+ static of(object: Internal.IngredientJS_): Internal.IngredientJS;
+ static registerCustomIngredientAction(id: string, callback: Internal.CustomIngredientActionCallback_): void;
+ static getNone(): Internal.IngredientJS;
+ get all(): Internal.IngredientJS;
+ get none(): Internal.IngredientJS;
+ constructor();
+}
+/**
+*/
+type Ingredient_ = Ingredient;
+declare interface NBTIO {
+ static read(path: Internal.Path_): Internal.class_2487;
+ static write(path: Internal.Path_, nbt: Internal.class_2487_): void;
+}
+type NBTIO_ = NBTIO;
+declare const NBTIO: NBTIO;
+declare class EquipmentSlot extends Internal.Enum {
+ static method_20234($$0: Internal.class_1304$class_1305_, $$1: number): EquipmentSlot;
+ method_5923(): string;
+ method_32320($$0: number): number;
+ method_5926(): number;
+ method_5927(): number;
+ static method_5924($$0: string): EquipmentSlot;
+ static valueOf($$0: string): EquipmentSlot;
+ method_5925(): Internal.class_1304$class_1305;
+ static values(): EquipmentSlot[];
+ static readonly field_6166 : EquipmentSlot;
+ static readonly field_6169 : EquipmentSlot;
+ static readonly field_6173 : EquipmentSlot;
+ static readonly field_6174 : EquipmentSlot;
+ static readonly field_6171 : EquipmentSlot;
+ static readonly field_6172 : EquipmentSlot;
+}
+type EquipmentSlot_ = "mainhand" | "head" | "feet" | "chest" | "legs" | "offhand" | EquipmentSlot;
+declare class CarvingGenerationStep extends Internal.Enum implements Internal.class_3542 {
+ method_12581(): string;
+ static valueOf($$0: string): CarvingGenerationStep;
+ static values(): CarvingGenerationStep[];
+ method_15434(): string;
+ static method_28546($$0: string): CarvingGenerationStep;
+ static readonly field_24770 : Internal.Codec;
+ static readonly field_13166 : CarvingGenerationStep;
+ static readonly field_13169 : CarvingGenerationStep;
+}
+type CarvingGenerationStep_ = "liquid" | "air" | CarvingGenerationStep;
+declare class Rarity extends Internal.Enum {
+ static valueOf($$0: string): Rarity;
+ static values(): Rarity[];
+ static readonly field_8907 : Rarity;
+ static readonly field_8906 : Rarity;
+ readonly field_8908 : Internal.class_124;
+ static readonly field_8903 : Rarity;
+ static readonly field_8904 : Rarity;
+}
+type Rarity_ = "uncommon" | "common" | "rare" | "epic" | Rarity;
+declare class Hand extends Internal.Enum {
+ static valueOf($$0: string): Hand;
+ static values(): Hand[];
+ static readonly field_5810 : Hand;
+ static readonly field_5808 : Hand;
+}
+type Hand_ = "main_hand" | "off_hand" | Hand;
+declare interface Utils {
+ static getSystemTime(): number;
+ static listOrSelf(o: any): Internal.ListJS;
+ static getStat(id: ResourceLocation_): Internal.class_3445;
+ static parseDouble(object: any, def: number): number;
+ static emptyList(): Internal.List;
+ static getRandom(): Internal.Random;
+ static randomOf(random: Internal.Random_, objects: Internal.Collection_): any;
+ static emptyMap(): Internal.Map;
+ static copy(o: any): any;
+ static id(namespace: string, path: string): ResourceLocation;
+ static id(id: ResourceLocation_): ResourceLocation;
+ static listOf(o: any): Internal.ListJS;
+ static rollChestLoot(id: ResourceLocation_, entity: Internal.EntityJS_): Internal.ListJS;
+ static rollChestLoot(id: ResourceLocation_): Internal.ListJS;
+ static getServer(): Internal.ServerJS;
+ static newCountingMap(): Internal.CountingMap;
+ static createConsole(name: string): Internal.ConsoleJS;
+ static newMap(): Internal.MapJS;
+ static newList(): Internal.ListJS;
+ static getClientLevel(): Internal.LevelJS;
+ static parseInt(object: any, def: number): number;
+ static getLevel(level: Internal.class_1937_): Internal.LevelJS;
+ static isWrapped(o: any): boolean;
+ static regex(s: any): Internal.Pattern;
+ static regex(pattern: string, flags: number): Internal.Pattern;
+ static newRandom(seed: number): Internal.Random;
+ static queueIO(runnable: Internal.Runnable_): void;
+ static toTitleCase(s: string): string;
+ static mapOf(o: any): Internal.MapJS;
+ static getSound(id: ResourceLocation_): Internal.class_3414;
+}
+type Utils_ = Utils;
+declare const Utils: Utils;
+declare interface Facing {
+ readonly ALL : {"east":Internal.class_2350,"south":Internal.class_2350,"north":Internal.class_2350,"west":Internal.class_2350,"up":Internal.class_2350,"down":Internal.class_2350};
+ readonly DOWN : Internal.class_2350;
+ readonly south : Internal.class_2350;
+ readonly north : Internal.class_2350;
+ readonly WEST : Internal.class_2350;
+ readonly down : Internal.class_2350;
+ readonly east : Internal.class_2350;
+ readonly NORTH : Internal.class_2350;
+ readonly west : Internal.class_2350;
+ readonly up : Internal.class_2350;
+ readonly UP : Internal.class_2350;
+ readonly SOUTH : Internal.class_2350;
+ readonly EAST : Internal.class_2350;
+}
+type Facing_ = Facing;
+declare const Facing: Facing;
+declare class BlockPos extends Vec3i {
+ static method_10091($$0: number): number;
+ static method_23627($$0: Internal.class_3341_): Internal.Stream;
+ method_10093($$0: Internal.class_2350_): BlockPos;
+ static method_10071($$0: number): number;
+ static method_10092($$0: number): BlockPos;
+ method_10070($$0: Internal.class_2470_): BlockPos;
+ method_10095(): BlockPos;
+ static method_10094($$0: number, $$1: number, $$2: number, $$3: number, $$4: number, $$5: number): Internal.Iterable;
+ method_10072(): BlockPos;
+ method_33096($$0: number): BlockPos;
+ static method_20437($$0: BlockPos_, $$1: BlockPos_): Internal.Stream;
+ method_25503(): Internal.class_2338$class_2339;
+ method_35830($$0: number): BlockPos;
+ static method_10097($$0: BlockPos_, $$1: BlockPos_): Internal.Iterable;
+ method_10075($$0: Vec3i_): BlockPos;
+ method_10074(): BlockPos;
+ static method_10096($$0: number, $$1: number, $$2: number, $$3: number): number;
+ static method_34848($$0: Internal.Random_, $$1: number, $$2: BlockPos_, $$3: number): Internal.Iterable;
+ method_10077($$0: number): BlockPos;
+ method_10076($$0: number): BlockPos;
+ method_10079($$0: Internal.class_2350_, $$1: number): BlockPos;
+ static method_17962($$0: number, $$1: number, $$2: number, $$3: number, $$4: number, $$5: number): Internal.Stream;
+ method_10078(): BlockPos;
+ method_10059($$0: Vec3i_): BlockPos;
+ method_10080($$0: number, $$1: number, $$2: number): BlockPos;
+ static method_10060($$0: number, $$1: Internal.class_2350_): number;
+ method_10081($$0: Vec3i_): BlockPos;
+ method_10062(): BlockPos;
+ method_10084(): BlockPos;
+ static method_10083($$0: number): number;
+ static method_10061($$0: number): number;
+ static method_25996($$0: BlockPos_, $$1: number, $$2: number, $$3: number): Internal.Iterable;
+ static method_29715($$0: Internal.class_238_): Internal.Stream;
+ static method_25998($$0: BlockPos_, $$1: number, $$2: number, $$3: number): Internal.Stream;
+ static method_25997($$0: BlockPos_, $$1: number, $$2: number, $$3: Internal.Predicate_): Internal.Optional;
+ static method_27156($$0: Internal.Random_, $$1: number, $$2: number, $$3: number, $$4: number, $$5: number, $$6: number, $$7: number): Internal.Iterable;
+ static method_10064($$0: number, $$1: number, $$2: number): number;
+ method_10086($$0: number): BlockPos;
+ method_10063(): number;
+ method_30513($$0: Internal.class_2350$class_2351_, $$1: number): BlockPos;
+ method_10088($$0: number): BlockPos;
+ method_10087($$0: number): BlockPos;
+ method_10089($$0: number): BlockPos;
+ method_10067(): BlockPos;
+ static method_30512($$0: BlockPos_, $$1: number, $$2: Internal.class_2350_, $$3: Internal.class_2350_): Internal.Iterable;
+ method_10069($$0: number, $$1: number, $$2: number): BlockPos;
+ static readonly field_10975 : 12;
+ static readonly field_25064 : Internal.Codec;
+ static readonly field_10980 : BlockPos;
+ constructor($$0: Vec3i);
+ constructor($$0: Internal.class_2374);
+ constructor($$0: Vec3);
+ constructor($$0: number, $$1: number, $$2: number);
+ constructor($$0: number, $$1: number, $$2: number);
+}
+type BlockPos_ = BlockPos;
+declare class Component {
+ static green(text: any): Internal.class_5250;
+ static prettyPrintNbt(tag: Internal.class_2520_): Internal.class_2561;
+ static string(text: string): Internal.class_5250;
+ static darkGreen(text: any): Internal.class_5250;
+ static clickEventOf(o: any): Internal.class_2558;
+ static lightPurple(text: any): Internal.class_5250;
+ static yellow(text: any): Internal.class_5250;
+ static black(text: any): Internal.class_5250;
+ static darkBlue(text: any): Internal.class_5250;
+ static translate(key: string, ... objects: any[]): Internal.class_5250;
+ static translate(key: string): Internal.class_5250;
+ static darkAqua(text: any): Internal.class_5250;
+ static gold(text: any): Internal.class_5250;
+ static red(text: any): Internal.class_5250;
+ static aqua(text: any): Internal.class_5250;
+ static gray(text: any): Internal.class_5250;
+ static white(text: any): Internal.class_5250;
+ static blue(text: any): Internal.class_5250;
+ static darkRed(text: any): Internal.class_5250;
+ static keybind(keybind: string): Internal.class_5250;
+ static of(o: any): Internal.class_5250;
+ static darkGray(text: any): Internal.class_5250;
+ static darkPurple(text: any): Internal.class_5250;
+ static join(separator: Internal.class_5250_, texts: Internal.Iterable_): Internal.class_5250;
+ constructor();
+}
+type Component_ = Component;
+declare interface UUID {
+ static digits(sb: Internal.StringBuilder_, val: number, digits: number): void;
+ static toString(id: Internal.UUID_): string;
+ static fromString(o: any): Internal.UUID;
+}
+type UUID_ = UUID;
+declare const UUID: UUID;
+declare class Vec3 implements Internal.class_2374 {
+ method_1036($$0: Vec3_): Vec3;
+ static method_24955($$0: Vec3i_): Vec3;
+ static method_24954($$0: Vec3i_): Vec3;
+ method_1037($$0: number): Vec3;
+ method_1019($$0: Vec3_): Vec3;
+ static method_26410($$0: Vec3i_, $$1: number): Vec3;
+ method_35590($$0: Vec3_, $$1: number): Vec3;
+ static method_24953($$0: Vec3i_): Vec3;
+ static method_24457($$0: number): Vec3;
+ method_10215(): number;
+ method_10214(): number;
+ method_31033($$0: number): Vec3;
+ method_10216(): number;
+ hashCode(): number;
+ method_1020($$0: Vec3_): Vec3;
+ method_1021($$0: number): Vec3;
+ method_1022($$0: Vec3_): number;
+ method_1023($$0: number, $$1: number, $$2: number): Vec3;
+ method_1024($$0: number): Vec3;
+ method_1025($$0: Vec3_): number;
+ method_1026($$0: Vec3_): number;
+ method_1027(): number;
+ method_1028($$0: number, $$1: number, $$2: number): number;
+ method_24802($$0: Internal.class_2374_, $$1: number): boolean;
+ method_1029(): Vec3;
+ method_18043($$0: Internal.class_2350$class_2351_): number;
+ method_22882(): Vec3;
+ method_18806($$0: Vec3_): Vec3;
+ method_18805($$0: number, $$1: number, $$2: number): Vec3;
+ equals($$0: any): boolean;
+ method_38499($$0: Internal.class_2350$class_2351_, $$1: number): Vec3;
+ method_37267(): number;
+ method_37268(): number;
+ static method_1030($$0: number, $$1: number): Vec3;
+ toString(): string;
+ method_1031($$0: number, $$1: number, $$2: number): Vec3;
+ method_1032($$0: Internal.EnumSet_): Vec3;
+ method_1033(): number;
+ static method_1034($$0: Internal.class_241_): Vec3;
+ method_1035($$0: Vec3_): Vec3;
+ readonly field_1350 : number;
+ readonly field_1351 : number;
+ readonly field_1352 : number;
+ static readonly field_1353 : Vec3;
+ constructor($$0: number, $$1: number, $$2: number);
+ constructor($$0: Internal.class_1160);
+}
+type Vec3_ = Vec3;
+declare class Fluid {
+ static lava(amount: number): Internal.FluidStackJS;
+ static lava(): Internal.FluidStackJS;
+ static getType(id: ResourceLocation_): Internal.class_3611;
+ static getEmpty(): Internal.FluidStackJS;
+ static of(o: Internal.FluidStackJS_): Internal.FluidStackJS;
+ static of(o: Internal.FluidStackJS_, amount: number, nbt: Internal.class_2487_): Internal.FluidStackJS;
+ static of(o: Internal.FluidStackJS_, nbt: Internal.class_2487_): Internal.FluidStackJS;
+ static of(o: Internal.FluidStackJS_, amount: number): Internal.FluidStackJS;
+ static exists(id: ResourceLocation_): boolean;
+ static getTypes(): Internal.List;
+ static water(): Internal.FluidStackJS;
+ static water(amount: number): Internal.FluidStackJS;
+ static readonly LAVA_ID : ResourceLocation;
+ static readonly WATER_ID : ResourceLocation;
+ get types(): Internal.List;
+ get empty(): Internal.FluidStackJS;
+ constructor();
+}
+type Fluid_ = Fluid;
+declare interface NBT {
+ static byteArrayTag(v: number[]): Internal.class_2520;
+ static fromTag(t: Internal.class_2520_): any;
+ static listTag(list: Internal.List_): Internal.class_2520;
+ static listTag(): Internal.class_2520;
+ static toTagCompound(v: any): Internal.class_2487;
+ static compoundTag(map: Internal.Map_): Internal.class_2520;
+ static compoundTag(): Internal.class_2520;
+ static isTagCompound(o: any): boolean;
+ static toTag(v: any): Internal.class_2520;
+ static floatTag(v: number): Internal.class_2520;
+ static quoteAndEscapeForJS(stringBuilder: Internal.StringBuilder_, string: string): void;
+ static toTagList(list: any): Internal.class_2499;
+ static ia(v: number[]): Internal.class_2520;
+ static intTag(v: number): Internal.class_2520;
+ static byteTag(v: number): Internal.class_2520;
+ static longArrayTag(v: number[]): Internal.class_2520;
+ static b(v: number): Internal.class_2520;
+ static read(buf: Internal.class_2540_): Internal.OrderedCompoundTag;
+ static d(v: number): Internal.class_2520;
+ static f(v: number): Internal.class_2520;
+ static convertType(tagType: Internal.class_4614_): Internal.class_4614;
+ static i(v: number): Internal.class_2520;
+ static shortTag(v: number): Internal.class_2520;
+ static l(v: number): Internal.class_2520;
+ static toTagCollection(c: Internal.Collection_): Internal.class_2483;
+ static toTagCollection(v: any): Internal.class_2483;
+ static s(v: number): Internal.class_2520;
+ static la(v: number[]): Internal.class_2520;
+ static longTag(v: number): Internal.class_2520;
+ static isTagCollection(o: any): boolean;
+ static intArrayTag(v: number[]): Internal.class_2520;
+ static doubleTag(v: number): Internal.class_2520;
+ static stringTag(v: string): Internal.class_2520;
+ static accessTagMap(tag: Internal.class_2487_): Internal.Map;
+ static ba(v: number[]): Internal.class_2520;
+ readonly COMPOUND_TYPE : Internal.class_4614;
+ readonly VALUE_UNWRAPPER : ((arg0: Internal.Scriptable, arg1: any) => any);
+ readonly LIST_TYPE : Internal.class_4614;
+}
+type NBT_ = NBT;
+declare const NBT: NBT;
+declare class JavaMath {
+ static multiplyFull(arg0: number, arg1: number): number;
+ static copySign(arg0: number, arg1: number): number;
+ static log1p(arg0: number): number;
+ static expm1(arg0: number): number;
+ static cos(arg0: number): number;
+ static rint(arg0: number): number;
+ static atan(arg0: number): number;
+ static nextUp(arg0: number): number;
+ static sqrt(arg0: number): number;
+ static decrementExact(arg0: number): number;
+ static absExact(arg0: number): number;
+ static exp(arg0: number): number;
+ static atan2(arg0: number, arg1: number): number;
+ static signum(arg0: number): number;
+ static tan(arg0: number): number;
+ static sinh(arg0: number): number;
+ static toDegrees(arg0: number): number;
+ static acos(arg0: number): number;
+ static ceil(arg0: number): number;
+ static getExponent(arg0: number): number;
+ static addExact(arg0: number, arg1: number): number;
+ static multiplyHigh(arg0: number, arg1: number): number;
+ static ulp(arg0: number): number;
+ static scalb(arg0: number, arg1: number): number;
+ static floorMod(arg0: number, arg1: number): number;
+ static log(arg0: number): number;
+ static log10(arg0: number): number;
+ static nextAfter(arg0: number, arg1: number): number;
+ static multiplyExact(arg0: number, arg1: number): number;
+ static cbrt(arg0: number): number;
+ static random(): number;
+ static tanh(arg0: number): number;
+ static min(arg0: number, arg1: number): number;
+ static negateExact(arg0: number): number;
+ static hypot(arg0: number, arg1: number): number;
+ static pow(arg0: number, arg1: number): number;
+ static sin(arg0: number): number;
+ static floor(arg0: number): number;
+ static subtractExact(arg0: number, arg1: number): number;
+ static max(arg0: number, arg1: number): number;
+ static toIntExact(arg0: number): number;
+ static nextDown(arg0: number): number;
+ static toRadians(arg0: number): number;
+ static cosh(arg0: number): number;
+ static IEEEremainder(arg0: number, arg1: number): number;
+ static abs(arg0: number): number;
+ static round(arg0: number): number;
+ static floorDiv(arg0: number, arg1: number): number;
+ static incrementExact(arg0: number): number;
+ static asin(arg0: number): number;
+ static fma(arg0: number, arg1: number, arg2: number): number;
+ static readonly E : 2.718281828459045;
+ static readonly PI : 3.141592653589793;
+}
+type JavaMath_ = JavaMath;
+declare class Item {
+ static clearListCache(): void;
+ static getList(): Internal.ListJS;
+ static getEmpty(): Internal.ItemStackJS;
+ static of(in_: Internal.ItemStackJS_, count: number, nbt: Internal.class_2487_): Internal.ItemStackJS;
+ static of(in_: Internal.ItemStackJS_, tag: Internal.class_2487_): Internal.ItemStackJS;
+ static of(in_: Internal.ItemStackJS_, count: number): Internal.ItemStackJS;
+ static of(in_: Internal.ItemStackJS_): Internal.ItemStackJS;
+ static getTypeList(): Internal.ListJS;
+ static findGroup(id: string): Internal.class_1761;
+ static isItem(o: any): boolean;
+ static getItem(id: ResourceLocation_): Internal.class_1792;
+ static exists(id: ResourceLocation_): boolean;
+ static withChance(in_: Internal.ItemStackJS_, c: number): Internal.ItemStackJS;
+ static fireworks(properties: Internal.Map_): Internal.FireworksJS;
+ static withNBT(in_: Internal.ItemStackJS_, nbt: Internal.class_2487_): Internal.ItemStackJS;
+ get typeList(): Internal.ListJS;
+ get list(): Internal.ListJS;
+ get empty(): Internal.ItemStackJS;
+ constructor();
+}
+type Item_ = Item;
+declare interface AABB {
+ static ofBlock(pos: BlockPos_): Internal.class_238;
+ static ofSize(x: number, y: number, z: number): Internal.class_238;
+ static ofSize(vec3: Vec3_, x: number, y: number, z: number): Internal.class_238;
+ static of(x0: number, y0: number, z0: number, x1: number, y1: number, z1: number): Internal.class_238;
+ static wrap(o: any): Internal.class_238;
+ static ofBlocks(pos1: BlockPos_, pos2: BlockPos_): Internal.class_238;
+ readonly CUBE : Internal.class_238;
+ readonly EMPTY : Internal.class_238;
+}
+type AABB_ = AABB;
+declare const AABB: AABB;
+declare class DecorationGenerationStep extends Internal.Enum {
+ static valueOf($$0: string): DecorationGenerationStep;
+ static values(): DecorationGenerationStep[];
+ static readonly field_13174 : DecorationGenerationStep;
+ static readonly field_35182 : DecorationGenerationStep;
+ static readonly field_25186 : DecorationGenerationStep;
+ static readonly field_13173 : DecorationGenerationStep;
+ static readonly field_13172 : DecorationGenerationStep;
+ static readonly field_13171 : DecorationGenerationStep;
+ static readonly field_13178 : DecorationGenerationStep;
+ static readonly field_13177 : DecorationGenerationStep;
+ static readonly field_25187 : DecorationGenerationStep;
+ static readonly field_13176 : DecorationGenerationStep;
+ static readonly field_13179 : DecorationGenerationStep;
+}
+type DecorationGenerationStep_ = "strongholds" | "underground_ores" | "underground_structures" | "top_layer_modification" | "fluid_springs" | "underground_decoration" | "raw_generation" | "lakes" | "vegetal_decoration" | "local_modifications" | "surface_structures" | DecorationGenerationStep;
+declare class Platform {
+ static isDevelopmentEnvironment(): boolean;
+ static isClientEnvironment(): boolean;
+ static getName(): string;
+ static getInfo(modID: string): Internal.PlatformWrapper$ModInfo;
+ static getMods(): Internal.Map;
+ static getList(): Internal.Set;
+ static isForge(): boolean;
+ static getModVersion(): string;
+ static isLoaded(modId: string): boolean;
+ static getMcVersion(): string;
+ static isFabric(): boolean;
+ get mods(): Internal.Map;
+ get modVersion(): string;
+ get developmentEnvironment(): boolean;
+ get forge(): boolean;
+ get fabric(): boolean;
+ get mcVersion(): string;
+ get clientEnvironment(): boolean;
+ get name(): string;
+ get list(): Internal.Set;
+ constructor();
+}
+type Platform_ = Platform;
+declare class ResourceLocation implements Internal.Comparable, Internal.SpecialEquality {
+ method_36181(): string;
+ static method_20207($$0: string): boolean;
+ static method_12829($$0: string): ResourceLocation;
+ static method_12835($$0: Internal.StringReader_): ResourceLocation;
+ static method_29186($$0: string): Internal.DataResult;
+ method_12832(): string;
+ method_12833($$0: ResourceLocation_): number;
+ static method_29184($$0: string): boolean;
+ static method_12838($$0: string, $$1: string): ResourceLocation;
+ method_12836(): string;
+ hashCode(): number;
+ equals($$0: any): boolean;
+ toString(): string;
+ static method_12831($$0: string): boolean;
+ specialEquals(o: any, shallow: boolean): boolean;
+ static readonly field_33382 : "realms";
+ static readonly field_33381 : "minecraft";
+ static readonly field_33380 : ":";
+ static readonly field_25139 : Internal.Codec;
+ constructor($$0: string, $$1: string);
+ constructor($$0: string);
+}
+type ResourceLocation_ = ResourceLocation;
+declare namespace dev.architectury.event {
+ interface Event {
+ unregister(arg0: T): void;
+ isRegistered(arg0: T): boolean;
+ invoker(): T;
+ clearListeners(): void;
+ register(arg0: T): void;
+ }
+ type Event_ = Event;
+}
+declare namespace net.fabricmc.fabric.mixin.transfer {
+ interface BucketItemAccessor {
+ fabric_getFluid(): Internal.class_3611;
+ }
+ type BucketItemAccessor_ = BucketItemAccessor;
+}
+declare namespace it.unimi.dsi.fastutil {
+ interface Function extends Internal.Function {
+ getOrDefault(arg0: any, arg1: V): V;
+ size(): number;
+ apply(arg0: K): V;
+ containsKey(arg0: any): boolean;
+ get(arg0: any): V;
+ clear(): void;
+ put(arg0: K, arg1: V): V;
+ remove(arg0: any): V;
+ }
+ type Function_ = ((arg0: any) => V) | Function;
+}
+declare namespace Internal {
+ class class_1871 extends Internal.class_1852 {
+ method_17734($$0: Internal.class_1715_, $$1: Internal.class_1937_): boolean;
+ method_8113($$0: number, $$1: number): boolean;
+ method_8119(): Internal.class_1865;
+ method_17733($$0: Internal.class_1715_): Internal.class_1799;
+ /**
+ * Internal constructor, this means that it's not valid and you will get an error if you use it.
+ */
+ protected constructor();
+ }
+ type class_1871_ = class_1871;
+ interface IntCollection extends Internal.Collection, Internal.IntIterable {
+ add(arg0: number): boolean;
+ spliterator(): Internal.IntSpliterator;
+ containsAll(arg0: Internal.IntCollection_): boolean;
+ intIterator(): Internal.IntIterator;
+ intSpliterator(): Internal.IntSpliterator;
+ remove(arg0: any): boolean;
+ removeIf(arg0: Internal.Predicate_): boolean;
+ removeIf(arg0: Internal.IntPredicate_): boolean;
+ removeIf(arg0: it.unimi.dsi.fastutil.ints.IntPredicate_): boolean;
+ intStream(): Internal.IntStream;
+ removeAll(arg0: Internal.IntCollection_): boolean;
+ contains(arg0: any): boolean;
+ contains(arg0: number): boolean;
+ iterator(): Internal.IntIterator;
+ addAll(arg0: Internal.IntCollection_): boolean;
+ stream(): Internal.Stream;
+ toIntArray(arg0: number[]): number[];
+ toIntArray(): number[];
+ toArray(arg0: number[]): number[];
+ parallelStream(): Internal.Stream;
+ rem(arg0: number): boolean;
+ intParallelStream(): Internal.IntStream;
+ retainAll(arg0: Internal.IntCollection_): boolean;
+ }
+ type IntCollection_ = IntCollection;
+ interface NBTSerializable {
+ toNBT(): Internal.class_2520;
+ }
+ type NBTSerializable_ = NBTSerializable;
+ class class_6581 extends Internal.class_6579 {
+ method_23455($$0: Internal.Random_, $$1: BlockPos_): Internal.class_2680;
+ static readonly field_34713 : Internal.Codec;
+ /**
+ * Internal constructor, this means that it's not valid and you will get an error if you use it.
+ */
+ protected constructor();
+ }
+ type class_6581_ = class_6581;
+ class class_3154 implements Internal.class_3037 {
+ static readonly field_24904 : Internal.Codec;
+ readonly field_13765 : Internal.List;
+ /**
+ * Internal constructor, this means that it's not valid and you will get an error if you use it.
+ */
+ protected constructor();
+ }
+ type class_3154_ = class_3154;
+ interface Predicate {
+ or(arg0: Internal.Predicate_): Internal.Predicate;
+ test(arg0: T): boolean;
+ and(arg0: Internal.Predicate_): Internal.Predicate;
+ negate(): Internal.Predicate;
+ }
+ type Predicate_ = ((arg0: T) => boolean) | Predicate;
+ class class_1071 {
+ method_4656($$0: Internal.MinecraftProfileTexture_, $$1: Internal.MinecraftProfileTexture$Type_): ResourceLocation;
+ method_4652($$0: Internal.GameProfile_, $$1: Internal.class_1071$class_1072_, $$2: boolean): void;
+ method_4654($$0: Internal.GameProfile_): Internal.Map;
+ static readonly field_32970 : "textures";
+ /**
+ * Internal constructor, this means that it's not valid and you will get an error if you use it.
+ */
+ protected constructor();
+ }
+ type class_1071_ = class_1071;
+ class class_2582 extends Internal.Enum {
+ static method_31652($$0: string): Internal.class_2582;
+ method_22536($$0: boolean): ResourceLocation;
+ method_10945(): string;
+ method_10947(): string;
+ static valueOf($$0: string): Internal.class_2582;
+ static method_10946($$0: string): Internal.class_2582;
+ static values(): Internal.class_2582[];
+ static readonly field_11821 : Internal.class_2582;
+ static readonly field_11843 : Internal.class_2582;
+ static readonly field_11844 : Internal.class_2582;
+ static readonly field_11822 : Internal.class_2582;
+ static readonly field_11820 : Internal.class_2582;
+ static readonly field_11842 : Internal.class_2582;
+ static readonly field_11847 : Internal.class_2582;
+ static readonly field_11825 : Internal.class_2582;
+ static readonly field_11848 : Internal.class_2582;
+ static readonly field_11826 : Internal.class_2582;
+ static readonly field_11823 : Internal.class_2582;
+ static readonly field_11845 : Internal.class_2582;
+ static readonly field_11846 : 41;
+ static readonly field_11829 : Internal.class_2582;
+ static readonly field_11807 : Internal.class_2582;
+ static readonly field_11849 : Internal.class_2582;
+ static readonly field_11827 : Internal.class_2582;
+ static readonly field_11806 : Internal.class_2582;
+ static readonly field_11828 : Internal.class_2582;
+ static readonly field_11809 : Internal.class_2582;
+ static readonly field_11840 : Internal.class_2582;
+ static readonly field_11810 : Internal.class_2582;
+ static readonly field_11811 : Internal.class_2582;
+ static readonly field_11830 : Internal.class_2582;
+ static readonly field_11831 : Internal.class_2582;
+ static readonly field_11814 : Internal.class_2582;
+ static readonly field_11836 : Internal.class_2582;
+ static readonly field_11837 : Internal.class_2582;
+ static readonly field_11815 : Internal.class_2582;
+ static readonly field_11834 : Internal.class_2582;
+ static readonly field_11812 : Internal.class_2582;
+ static readonly field_11813 : Internal.class_2582;
+ static readonly field_11835 : Internal.class_2582;
+ static readonly field_11818 : Internal.class_2582;
+ static readonly field_11819 : Internal.class_2582;
+ static readonly field_11838 : Internal.class_2582;
+ static readonly field_11816 : Internal.class_2582;
+ static readonly field_11839 : Internal.class_2582;
+ static readonly field_11817 : Internal.class_2582;
+ static readonly field_23882 : Internal.class_2582;
+ static readonly field_24417 : 6;
+ static readonly field_18283 : 34;
+ static readonly field_11850 : Internal.class_2582;
+ static readonly field_18689 : Internal.class_2582;
+ /**
+ * Internal constructor, this means that it's not valid and you will get an error if you use it.
+ */
+ protected constructor();
+ }
+ type class_2582_ = "triangle_bottom" | "straight_cross" | "diagonal_left_mirror" | "circle_middle" | "stripe_bottom" | "stripe_right" | "diagonal_right_mirror" | "half_horizontal_mirror" | "triangle_top" | "square_top_left" | "piglin" | "stripe_downleft" | "triangles_top" | "square_bottom_left" | "triangles_bottom" | "skull" | "mojang" | "rhombus_middle" | "stripe_left" | "border" | "bricks" | "stripe_small" | "gradient" | "cross" | "diagonal_right" | "half_vertical" | "curly_border" | "stripe_top" | "gradient_up" | "half_vertical_mirror" | "flower" | "stripe_downright" | "diagonal_left" | "globe" | "square_bottom_right" | "stripe_middle" | "stripe_center" | "square_top_right" | "creeper" | "base" | "half_horizontal" | class_2582;
+ interface GameVersion {
+ getProtocolVersion(): number;
+ getPackVersion(arg0: Internal.PackType_): number;
+ getPackVersion(): number;
+ getReleaseTarget(): string;
+ getName(): string;
+ getBuildTime(): Internal.Date;
+ getWorldVersion(): number;
+ getId(): string;
+ getSeriesId(): string;
+ isStable(): boolean;
+ }
+ type GameVersion_ = GameVersion;
+ class class_3986 extends Internal.class_1501 {
+ method_5943($$0: Internal.class_5425_, $$1: Internal.class_1266_, $$2: Internal.class_3730_, $$3: Internal.class_1315_, $$4: Internal.class_2487_): Internal.class_1315;
+ method_6807(): boolean;
+ method_35189($$0: number): void;
+ method_5749($$0: Internal.class_2487_): void;
+ method_6007(): void;
+ method_5652($$0: Internal.class_2487_): void;
+ /**
+ * Internal constructor, this means that it's not valid and you will get an error if you use it.
+ */
+ protected constructor();
+ }
+ type class_3986_ = class_3986;
+ interface class_2165 {
+ method_9200(): boolean;
+ method_36320(): boolean;
+ method_9203(arg0: Internal.class_2561_, arg1: Internal.UUID_): void;
+ method_9202(): boolean;
+ method_9201(): boolean;
+ }
+ type class_2165_ = class_2165;
+ class class_4649 extends Internal.class_4647 {
+ method_26989($$0: Internal.Random_, $$1: number, $$2: Internal.class_4643_): number;
+ method_23452($$0: Internal.Random_, $$1: number): number;
+ static readonly field_24935 : Internal.Codec;
+ /**
+ * Internal constructor, this means that it's not valid and you will get an error if you use it.
+ */
+ protected constructor();
+ }
+ type class_4649_ = class_4649;
+ abstract class UnmodifiableIterator implements Internal.Iterator {
+ remove(): void;
+ /**
+ * Internal constructor, this means that it's not valid and you will get an error if you use it.
+ */
+ protected constructor();
+ }
+ type UnmodifiableIterator_ = UnmodifiableIterator;
+ interface GenericFutureListener extends Internal.EventListener {
+ operationComplete(arg0: F): void;
+ }
+ type GenericFutureListener_ = GenericFutureListener;
+ interface ScheduledFuture extends Internal.Delayed, Internal.Future {
+ }
+ type ScheduledFuture_ = ScheduledFuture;
+ class class_3168 extends Internal.class_3031 {
+ method_13151($$0: Internal.class_5821_): boolean;
+ /**
+ * Internal constructor, this means that it's not valid and you will get an error if you use it.
+ */
+ protected constructor();
+ }
+ type class_3168_ = class_3168;
+ class class_4184 {
+ method_19333(): boolean;
+ method_23767(): Internal.class_1158;
+ method_19332(): boolean;
+ method_19321($$0: Internal.class_1922_, $$1: Internal.class_1297_, $$2: boolean, $$3: boolean, $$4: number): void;
+ method_19335(): Internal.class_1160;
+ method_19334(): Internal.class_5636;
+ method_19331(): Internal.class_1297;
+ method_19330(): number;
+ method_35689(): Internal.class_1160;
+ method_19329(): number;
+ method_19326(): Vec3;
+ method_19337(): void;
+ method_19336(): Internal.class_1160;
+ method_19328(): BlockPos;
+ method_36425(): Internal.class_4184$class_6355;
+ method_19317(): void;
+ static readonly field_32133 : 0.083333336;
+ /**
+ * Internal constructor, this means that it's not valid and you will get an error if you use it.
+ */
+ protected constructor();
+ }
+ type class_4184_ = class_4184;
+ abstract class AbstractCollection implements Internal.Collection {
+ add(arg0: E): boolean;
+ removeAll(arg0: Internal.Collection_): boolean;
+ contains(arg0: any): boolean;
+ iterator(): Internal.Iterator;
+ size(): number;
+ addAll(arg0: Internal.Collection_): boolean;
+ containsAll(arg0: Internal.Collection_): boolean;
+ toArray(): any[];
+ toArray(arg0: T[]): T[];
+ isEmpty(): boolean;
+ clear(): void;
+ toString(): string;
+ remove(arg0: any): boolean;
+ retainAll(arg0: Internal.Collection_): boolean;
+ get empty(): boolean;
+ /**
+ * Internal constructor, this means that it's not valid and you will get an error if you use it.
+ */
+ protected constructor();
+ }
+ type AbstractCollection_ = AbstractCollection;
+ class class_3620 {
+ static method_38480($$0: number): number;
+ method_38481($$0: Internal.class_3620$class_6594_): number;
+ static method_38479($$0: number): Internal.class_3620;
+ method_15820($$0: Internal.class_3620$class_6594_): number;
+ static readonly field_16010 : Internal.class_3620;
+ readonly field_16011 : number;
+ static readonly field_16012 : Internal.class_3620;
+ static readonly field_16017 : Internal.class_3620;
+ static readonly field_16018 : Internal.class_3620;
+ static readonly field_16019 : Internal.class_3620;
+ static readonly field_16013 : Internal.class_3620;
+ static readonly field_16014 : Internal.class_3620;
+ static readonly field_16015 : Internal.class_3620;
+ static readonly field_16016 : Internal.class_3620;
+ static readonly field_15977 : Internal.class_3620;
+ static readonly field_15978 : Internal.class_3620;
+ static readonly field_15979 : Internal.class_3620;
+ static readonly field_16020 : Internal.class_3620;
+ readonly field_16021 : number;
+ static readonly field_16022 : Internal.class_3620;
+ static readonly field_16023 : Internal.class_3620;
+ static readonly field_16028 : Internal.class_3620;
+ static readonly field_16029 : Internal.class_3620;
+ static readonly field_15976 : Internal.class_3620;
+ static readonly field_16024 : Internal.class_3620;
+ static readonly field_16025 : Internal.class_3620;
+ static readonly field_16026 : Internal.class_3620;
+ static readonly field_16027 : Internal.class_3620;
+ static readonly field_33532 : Internal.class_3620;
+ static readonly field_15988 : Internal.class_3620;
+ static readonly field_15989 : Internal.class_3620;
+ static readonly field_16030 : Internal.class_3620;
+ static readonly field_15984 : Internal.class_3620;
+ static readonly field_33617 : Internal.class_3620;
+ static readonly field_15985 : Internal.class_3620;
+ static readonly field_15986 : Internal.class_3620;
+ static readonly field_15987 : Internal.class_3620;
+ static readonly field_15980 : Internal.class_3620;
+ static readonly field_15981 : Internal.class_3620;
+ static readonly field_15982 : Internal.class_3620;
+ static readonly field_15983 : Internal.class_3620;
+ static readonly field_33533 : Internal.class_3620;
+ static readonly field_15999 : Internal.class_3620;
+ static readonly field_25703 : Internal.class_3620;
+ static readonly field_25704 : Internal.class_3620;
+ static readonly field_16000 : Internal.class_3620;
+ static readonly field_16001 : Internal.class_3620;
+ static readonly field_15990 : Internal.class_3620;
+ static readonly field_25702 : Internal.class_3620;
+ static readonly field_25707 : Internal.class_3620;
+ static readonly field_25708 : Internal.class_3620;
+ static readonly field_25705 : Internal.class_3620;
+ static readonly field_25706 : Internal.class_3620;
+ static readonly field_15995 : Internal.class_3620;
+ static readonly field_15996 : Internal.class_3620;
+ static readonly field_16007 : Internal.class_3620;
+ static readonly field_16008 : Internal.class_3620;
+ static readonly field_15997 : Internal.class_3620;
+ static readonly field_15998 : Internal.class_3620;
+ static readonly field_16009 : Internal.class_3620;
+ static readonly field_16002 : Internal.class_3620;
+ static readonly field_15991 : Internal.class_3620;
+ static readonly field_16003 : Internal.class_3620;
+ static readonly field_15992 : Internal.class_3620;
+ static readonly field_16004 : Internal.class_3620;
+ static readonly field_15993 : Internal.class_3620;
+ static readonly field_16005 : Internal.class_3620;
+ static readonly field_15994 : Internal.class_3620;
+ /**
+ * Internal constructor, this means that it's not valid and you will get an error if you use it.
+ */
+ protected constructor();
+ }
+ type class_3620_ = class_3620;
+ class class_3765 {
+ method_16494(): number;
+ method_16495(): BlockPos;
+ method_16496($$0: number): Internal.class_3763;
+ method_16490(): number;
+ method_16491($$0: number, $$1: Internal.class_3763_): void;
+ method_16493(): number;
+ method_20017($$0: Internal.class_1297_): void;
+ method_20016($$0: Internal.class_1267_): number;
+ method_35213(): Internal.Set;
+ method_35212(): number;
+ method_16517(): number;
+ method_35211($$0: number): void;
+ method_16518($$0: Internal.class_1657_): void;
+ method_16513(): number;
+ method_16832(): boolean;
+ method_16514(): number;
+ static method_16515(): Internal.class_1799;
+ method_16516($$0: number, $$1: Internal.class_3763_, $$2: BlockPos_, $$3: boolean): void;
+ method_16510($$0: Internal.class_3763_, $$1: boolean): void;
+ method_16831(): Internal.class_1937;
+ method_20025(): number;
+ method_20024(): boolean;
+ method_20023(): boolean;
+ method_20022(): boolean;
+ method_20021(): boolean;
+ method_20020(): boolean;
+ method_16506(): void;
+ method_16509(): void;
+ method_16502($$0: Internal.class_2487_): Internal.class_2487;
+ method_16524(): boolean;
+ method_16504(): boolean;
+ method_16487($$0: number, $$1: Internal.class_3763_, $$2: boolean): boolean;
+ method_16500($$0: number): void;
+ method_16523(): void;
+ static readonly field_30671 : 600;
+ static readonly field_30672 : 24000;
+ static readonly field_30670 : 2400;
+ static readonly field_30669 : 16;
+ static readonly field_30675 : 12544;
+ static readonly field_30673 : 5;
+ static readonly field_30674 : 9216;
+ /**
+ * Internal constructor, this means that it's not valid and you will get an error if you use it.
+ */
+ protected constructor();
+ }
+ type class_3765_ = class_3765;
+ class class_4968 {
+ method_26100(): Internal.class_3414;
+ method_26103(): number;
+ method_26101(): number;
+ method_26102(): number;
+ static readonly field_23146 : Internal.class_4968;
+ static readonly field_24674 : Internal.Codec;
+ /**
+ * Internal constructor, this means that it's not valid and you will get an error if you use it.
+ */
+ protected constructor();
+ }
+ type class_4968_ = class_4968;
+ class class_3793 extends Internal.class_3491 {
+ method_15110($$0: Internal.class_4538_, $$1: BlockPos_, $$2: BlockPos_, $$3: Internal.class_3499$class_3501_, $$4: Internal.class_3499$class_3501_, $$5: Internal.class_3492_): Internal.class_3499$class_3501;
+ static readonly field_24998 : Internal.Codec;
+ static readonly field_16718 : Internal.class_3793;
+ static readonly field_16719 : Internal.class_3793;
+ static readonly field_16721 : Internal.class_3793;
+ /**
+ * Internal constructor, this means that it's not valid and you will get an error if you use it.
+ */
+ protected constructor();
+ }
+ type class_3793_ = class_3793;
+ interface ScreenAccessor {
+ getTextRenderer(): Internal.class_327;
+ getItemRenderer(): Internal.class_918;
+ getClient(): Internal.class_310;
+ }
+ type ScreenAccessor_ = ScreenAccessor;
+ class class_5419 extends Internal.class_5418 {
+ static method_30242(): Internal.class_5132$class_5133;
+ method_5943($$0: Internal.class_5425_, $$1: Internal.class_1266_, $$2: Internal.class_3730_, $$3: Internal.class_1315_, $$4: Internal.class_2487_): Internal.class_1315;
+ method_24705(): Internal.class_4837;
+ method_18868(): Internal.class_4095;
+ method_5643($$0: Internal.class_1282_, $$1: number): boolean;
+ method_20820($$0: Internal.class_1799_): boolean;
+ method_26952(): boolean;
+ /**
+ * Internal constructor, this means that it's not valid and you will get an error if you use it.
+ */
+ protected constructor();
+ }
+ type class_5419_ = class_5419;
+ class class_6120 extends Internal.class_6122 {
+ static method_35377($$0: Internal.class_5843_, $$1: Internal.class_5843_, $$2: number): Internal.class_6120;
+ method_35388(): Internal.class_6123;
+ toString(): string;
+ method_35391($$0: Internal.Random_, $$1: Internal.class_5868_): number;
+ static readonly field_31531 : Internal.Codec;
+ /**
+ * Internal constructor, this means that it's not valid and you will get an error if you use it.
+ */
+ protected constructor();
+ }
+ type class_6120_ = class_6120;
+ abstract class class_1422 extends Internal.class_1480 implements Internal.class_5761 {
+ method_5945(): number;
+ static method_26879(): Internal.class_5132$class_5133;
+ method_6091($$0: Vec3_): void;
+ method_5749($$0: Internal.class_2487_): void;
+ method_6453(): boolean;
+ method_6454($$0: boolean): void;
+ method_35171(): Internal.class_3414;
+ method_35170($$0: Internal.class_2487_): void;
+ method_5974($$0: number): boolean;
+ method_6007(): void;
+ method_6455($$0: Internal.class_1799_): void;
+ method_5652($$0: Internal.class_2487_): void;
+ method_17326(): boolean;
+ /**
+ * Internal constructor, this means that it's not valid and you will get an error if you use it.
+ */
+ protected constructor();
+ }
+ type class_1422_ = class_1422;
+ class class_6584 extends Internal.class_6661 {
+ static method_39661($$0: Internal.class_2902$class_2903_, $$1: number, $$2: number): Internal.class_6584;
+ method_39615(): Internal.class_6798;
+ static readonly field_34721 : Internal.Codec;
+ /**
+ * Internal constructor, this means that it's not valid and you will get an error if you use it.
+ */
+ protected constructor();
+ }
+ type class_6584_ = class_6584;
+ class AccessControlContext {
+ checkPermission(arg0: Internal.Permission_): void;
+ hashCode(): number;
+ equals(arg0: any): boolean;
+ getDomainCombiner(): Internal.DomainCombiner;
+ get domainCombiner(): Internal.DomainCombiner;
+ /**
+ * Internal constructor, this means that it's not valid and you will get an error if you use it.
+ */
+ protected constructor();
+ }
+ type AccessControlContext_ = AccessControlContext;
+ class class_1661 implements Internal.class_1263, Internal.class_1275 {
+ method_5438($$0: number): Internal.class_1799;
+ method_5439(): number;
+ method_37417($$0: boolean): Internal.class_1799;
+ method_7381(): void;
+ static method_7380($$0: number): boolean;
+ method_7384($$0: Internal.class_2499_): Internal.class_2499;
+ method_7382($$0: Internal.class_6862_): boolean;
+ method_7367($$0: number, $$1: Internal.class_1799_): boolean;
+ method_5441($$0: number): Internal.class_1799;
+ method_5442(): boolean;
+ method_7388(): void;
+ method_7365($$0: number): void;
+ method_7387($$0: Internal.class_1662_): void;
+ method_7386(): number;
+ method_7364(): number;
+ method_29280($$0: Internal.Predicate_, $$1: number, $$2: Internal.class_1263_): number;
+ method_5443($$0: Internal.class_1657_): boolean;
+ static method_7368(): number;
+ method_5447($$0: number, $$1: Internal.class_1799_): void;
+ method_5448(): void;
+ method_7370($$0: Internal.class_2680_): number;
+ method_7391(): Internal.class_1799;
+ method_7390($$0: Internal.class_1799_): number;
+ method_7374($$0: Internal.class_1799_): void;
+ method_7373($$0: number): void;
+ method_7395($$0: Internal.class_1799_): number;
+ method_7372($$0: number): Internal.class_1799;
+ method_7394($$0: Internal.class_1799_): boolean;
+ method_7371($$0: Internal.class_1799_): number;
+ method_7378($$0: Internal.class_1799_): void;
+ method_7377($$0: Internal.class_1661_): void;
+ method_5431(): void;
+ method_7398($$0: Internal.class_1799_): void;
+ method_7376(): number;
+ method_7375($$0: Internal.class_1282_, $$1: number, $$2: number[]): void;
+ method_7397($$0: Internal.class_2499_): void;
+ method_5434($$0: number, $$1: number): Internal.class_1799;
+ method_32338($$0: Internal.class_1799_, $$1: boolean): void;
+ method_7379($$0: Internal.class_1799_): boolean;
+ method_5477(): Internal.class_2561;
+ readonly field_7546 : Internal.class_1657;
+ field_7545 : number;
+ readonly field_7548 : Internal.class_2371;
+ readonly field_7547 : Internal.class_2371;
+ static readonly field_30639 : 40;
+ static readonly field_30637 : 5;
+ readonly field_7544 : Internal.class_2371;
+ static readonly field_30638 : 36;
+ static readonly field_33768 : number[];
+ static readonly field_33767 : number[];
+ static readonly field_30640 : -1;
+ /**
+ * Internal constructor, this means that it's not valid and you will get an error if you use it.
+ */
+ protected constructor();
+ }
+ type class_1661_ = class_1661;
+ abstract class Dictionary {
+ size(): number;
+ keys(): Internal.Enumeration;
+ elements(): Internal.Enumeration;
+ get(arg0: any): V;
+ isEmpty(): boolean;
+ put(arg0: K, arg1: V): V;
+ remove(arg0: any): V;
+ get empty(): boolean;
+ /**
+ * Internal constructor, this means that it's not valid and you will get an error if you use it.
+ */
+ protected constructor();
+ }
+ type Dictionary_ = Dictionary;
+ abstract class class_2586 implements Internal.RenderAttachmentBlockEntity {
+ getRenderAttachmentData(): any;
+ method_38240($$0: Internal.class_1799_): void;
+ method_38242(): Internal.class_2487;
+ method_38244(): Internal.class_2487;
+ method_38243(): Internal.class_2487;
+ method_10996(): void;
+ method_31662($$0: Internal.class_1937_): void;
+ method_11017(): Internal.class_2591;
+ method_10997(): Internal.class_1937;
+ method_11010(): Internal.class_2680;
+ method_16887(): Internal.class_2487;
+ method_38235(): Internal.class_2596;
+ method_5431(): void;
+ method_11012(): void;
+ method_11011(): boolean;
+ method_11003($$0: Internal.class_129_): void;
+ static method_38239($$0: Internal.class_2487_): BlockPos;
+ method_11014($$0: Internal.class_2487_): void;
+ static method_38238($$0: Internal.class_2487_, $$1: Internal.class_2591_): void;
+ method_11002(): boolean;
+ method_11016(): BlockPos;
+ method_31664($$0: Internal.class_2680_): void;
+ static method_11005($$0: BlockPos_, $$1: Internal.class_2680_, $$2: Internal.class_2487_): Internal.class_2586;
+ method_11004($$0: number, $$1: number): boolean;
+ method_11015(): boolean;
+ get renderAttachmentData(): any;
+ /**
+ * Internal constructor, this means that it's not valid and you will get an error if you use it.
+ */
+ protected constructor();
+ }
+ type class_2586_ = class_2586;
+ interface Object2FloatMap extends Internal.Object2FloatFunction, Internal.Map {
+ computeFloatIfAbsent(arg0: K, arg1: Internal.ToDoubleFunction_): number;
+ computeFloatIfPresent(arg0: K, arg1: Internal.BiFunction_): number;
+ getOrDefault(arg0: any, arg1: number): number;
+ entrySet(): Internal.ObjectSet>;
+ containsKey(arg0: any): boolean;
+ forEach(arg0: Internal.BiConsumer_): void;
+ computeIfAbsent(arg0: K, arg1: Internal.ToDoubleFunction_): number;
+ computeIfAbsent(arg0: K, arg1: Internal.Object2FloatFunction_): number;
+ values(): Internal.FloatCollection;
+ replace(arg0: K, arg1: number, arg2: number): boolean;
+ replace(arg0: K, arg1: number): number;
+ clear(): void;
+ containsValue(arg0: any): boolean;
+ containsValue(arg0: number): boolean;
+ put(arg0: K, arg1: number): number;
+ remove(arg0: any, arg1: any): boolean;
+ remove(arg0: any): number;
+ remove(arg0: any, arg1: number): boolean;
+ computeFloat(arg0: K, arg1: Internal.BiFunction_): number;
+ defaultReturnValue(): number;
+ defaultReturnValue(arg0: number): void;
+ size(): number;
+ object2FloatEntrySet(): Internal.ObjectSet>;
+ mergeFloat(arg0: K, arg1: number, arg2: Internal.BiFunction_): number;
+ mergeFloat(arg0: K, arg1: number, arg2: Internal.FloatBinaryOperator_): number;
+ mergeFloat(arg0: K, arg1: number, arg2: Internal.DoubleBinaryOperator_): number;
+ merge(arg0: K, arg1: number, arg2: Internal.BiFunction_): number;
+ get(arg0: any): number;
+ keySet(): Internal.ObjectSet;
+ putIfAbsent(arg0: K, arg1: number): number;
+ computeFloatIfAbsentPartial(arg0: K, arg1: Internal.Object2FloatFunction_): number;
+ }
+ type Object2FloatMap_ = Object2FloatMap;
+ abstract class MultithreadEventLoopGroup extends Internal.MultithreadEventExecutorGroup implements Internal.EventLoopGroup {
+ next(): Internal.EventLoop;
+ register(arg0: io.netty.channel.Channel_): Internal.ChannelFuture;
+ register(arg0: io.netty.channel.Channel_, arg1: Internal.ChannelPromise_): Internal.ChannelFuture;
+ register(arg0: Internal.ChannelPromise_): Internal.ChannelFuture;
+ /**
+ * Internal constructor, this means that it's not valid and you will get an error if you use it.
+ */
+ protected constructor();
+ }
+ type MultithreadEventLoopGroup_ = MultithreadEventLoopGroup;
+ interface class_6026 {
+ }
+ type class_6026_ = class_6026;
+ interface BaseMapCodec {
+ encode(arg0: Internal.Map_, arg1: Internal.DynamicOps_, arg2: Internal.RecordBuilder_): Internal.RecordBuilder;
+ elementCodec(): Internal.Codec;
+ keyCodec(): Internal.Codec;
+ decode(arg0: Internal.DynamicOps_, arg1: Internal.MapLike_): Internal.DataResult>;
+ }
+ type BaseMapCodec_ = BaseMapCodec;
+ class class_1940 {
+ static method_28383($$0: Internal.Dynamic_, $$1: Internal.class_5359_): Internal.class_1940;
+ method_28382($$0: Internal.class_1934_): Internal.class_1940;
+ method_28381($$0: Internal.class_1267_): Internal.class_1940;
+ method_8583(): boolean;
+ method_8582(): boolean;
+ method_27340(): Internal.class_1267;
+ method_28385(): Internal.class_1940;
+ method_27341(): Internal.class_1928;
+ method_29558(): Internal.class_5359;
+ method_29557($$0: Internal.class_5359_): Internal.class_1940;
+ method_8574(): Internal.class_1934;
+ method_27339(): string;
+ /**
+ * Internal constructor, this means that it's not valid and you will get an error if you use it.
+ */
+ protected constructor();
+ }
+ type class_1940_ = class_1940;
+ interface class_1275 {
+ method_16914(): boolean;
+ method_5797(): Internal.class_2561;
+ method_5476(): Internal.class_2561;
+ method_5477(): Internal.class_2561;
+ }
+ type class_1275_ = class_1275;
+ class class_3225 {
+ method_14264(): void;
+ method_14263($$0: BlockPos_, $$1: Internal.class_2846$class_2847_, $$2: Internal.class_2350_, $$3: number): void;
+ method_14262($$0: Internal.class_3222_, $$1: Internal.class_1937_, $$2: Internal.class_1799_, $$3: Hand_, $$4: Internal.class_3965_): Internal.class_1269;
+ handler$zfe000$interactBlock(player: Internal.class_3222_, world: Internal.class_1937_, stack: Internal.class_1799_, hand: Hand_, blockHitResult: Internal.class_3965_, info: Internal.CallbackInfoReturnable_): void;
+ handler$zfe000$interactItem(player: Internal.class_3222_, world: Internal.class_1937_, stack: Internal.class_1799_, hand: Hand_, info: Internal.CallbackInfoReturnable_): void;
+ method_21717($$0: BlockPos_, $$1: Internal.class_2846$class_2847_, $$2: string): void;
+ handler$zfe000$startBlockBreak(pos: BlockPos_, playerAction: Internal.class_2846$class_2847_, direction: Internal.class_2350_, i: number, info: Internal.CallbackInfo_): void;
+ method_14268(): boolean;
+ method_30118($$0: Internal.class_1934_): boolean;
+ method_14257(): Internal.class_1934;
+ method_14256($$0: Internal.class_3222_, $$1: Internal.class_1937_, $$2: Internal.class_1799_, $$3: Hand_): Internal.class_1269;
+ method_14267(): boolean;
+ method_14266($$0: BlockPos_): boolean;
+ method_30119(): Internal.class_1934;
+ method_14259($$0: Internal.class_3218_): void;
+ field_14003 : boolean;
+ /**
+ * Internal constructor, this means that it's not valid and you will get an error if you use it.
+ */
+ protected constructor();
+ }
+ type class_3225_ = class_3225;
+ class class_3794 extends Internal.class_3491 {
+ method_15110($$0: Internal.class_4538_, $$1: BlockPos_, $$2: BlockPos_, $$3: Internal.class_3499$class_3501_, $$4: Internal.class_3499$class_3501_, $$5: Internal.class_3492_): Internal.class_3499$class_3501;
+ static readonly field_25003 : Internal.Codec;
+ static readonly field_16871 : Internal.class_3794;
+ /**
+ * Internal constructor, this means that it's not valid and you will get an error if you use it.
+ */
+ protected constructor();
+ }
+ type class_3794_ = class_3794;
+ interface LongIterator extends Internal.PrimitiveIterator$OfLong {
+ next(): number;
+ skip(arg0: number): number;
+ forEachRemaining(arg0: Internal.Consumer_): void;
+ forEachRemaining(arg0: it.unimi.dsi.fastutil.longs.LongConsumer_): void;
+ nextLong(): number;
+ }
+ type LongIterator_ = LongIterator;
+ class class_161 {
+ method_690($$0: Internal.class_161_): void;
+ method_688(): ResourceLocation;
+ method_689(): Internal.class_161$class_162;
+ hashCode(): number;
+ equals($$0: any): boolean;
+ method_684(): Internal.class_2561;
+ method_686(): Internal.class_185;
+ toString(): string;
+ method_687(): Internal.class_161;
+ method_680(): string[][];
+ method_691(): Internal.class_170;
+ method_681(): Internal.Iterable;
+ method_682(): Internal.Map;
+ method_683(): number;
+ /**
+ * Internal constructor, this means that it's not valid and you will get an error if you use it.
+ */
+ protected constructor();
+ }
+ type class_161_ = class_161;
+ class class_6628 {
+ method_38726($$0: Internal.class_1934_, $$1: boolean): void;
+ method_38732($$0: string): void;
+ method_38725(): void;
+ /**
+ * Internal constructor, this means that it's not valid and you will get an error if you use it.
+ */
+ protected constructor();
+ }
+ type class_6628_ = class_6628;
+ interface Int2BooleanFunction extends it.unimi.dsi.fastutil.Function, Internal.IntPredicate {
+ getOrDefault(arg0: any, arg1: boolean): boolean;
+ getOrDefault(arg0: number, arg1: boolean): boolean;
+ andThenShort(arg0: Internal.Boolean2ShortFunction_): Internal.Int2ShortFunction;
+ composeByte(arg0: Internal.Byte2IntFunction_): Internal.Byte2BooleanFunction;
+ andThenInt(arg0: Internal.Boolean2IntFunction_): Internal.Int2IntFunction;
+ composeReference(arg0: Internal.Reference2IntFunction_): Internal.Reference2BooleanFunction;
+ andThen(arg0: Internal.Function_): Internal.Function;
+ put(arg0: number, arg1: boolean): boolean;
+ remove(arg0: number): boolean;
+ remove(arg0: any): boolean;
+ defaultReturnValue(): boolean;
+ defaultReturnValue(arg0: boolean): void;
+ andThenDouble(arg0: Internal.Boolean2DoubleFunction_): Internal.Int2DoubleFunction;
+ andThenObject(arg0: Internal.Boolean2ObjectFunction_