import {$PlayerRespawnEventJS, $PlayerRespawnEventJS$Type} from "packages/pie/ilikepiefoo/events/$PlayerRespawnEventJS"
import {$FoodEatenEventJS, $FoodEatenEventJS$Type} from "packages/dev/latvian/mods/kubejs/item/$FoodEatenEventJS"
import {$BlockPlacedEventJS, $BlockPlacedEventJS$Type} from "packages/dev/latvian/mods/kubejs/block/$BlockPlacedEventJS"
import {$ItemEntityInteractedEventJS, $ItemEntityInteractedEventJS$Type} from "packages/dev/latvian/mods/kubejs/item/$ItemEntityInteractedEventJS"
import {$TagEventJS, $TagEventJS$Type} from "packages/dev/latvian/mods/kubejs/server/tag/$TagEventJS"
import {$ExplosionEventJS$After, $ExplosionEventJS$After$Type} from "packages/dev/latvian/mods/kubejs/level/$ExplosionEventJS$After"
import {$MenuType, $MenuType$Type} from "packages/net/minecraft/world/inventory/$MenuType"
import {$EntityType, $EntityType$Type} from "packages/net/minecraft/world/entity/$EntityType"
import {$ItemDestroyedEventJS, $ItemDestroyedEventJS$Type} from "packages/dev/latvian/mods/kubejs/item/forge/$ItemDestroyedEventJS"
import {$InventoryEventJS, $InventoryEventJS$Type} from "packages/dev/latvian/mods/kubejs/player/$InventoryEventJS"
import {$PlayerChatDecorateEventJS, $PlayerChatDecorateEventJS$Type} from "packages/dev/latvian/mods/kubejs/player/$PlayerChatDecorateEventJS"
import {$DataPackEventJS, $DataPackEventJS$Type} from "packages/dev/latvian/mods/kubejs/script/data/$DataPackEventJS"
import {$GenericLootEventJS, $GenericLootEventJS$Type} from "packages/dev/latvian/mods/kubejs/loot/$GenericLootEventJS"
import {$LivingEntityDeathEventJS, $LivingEntityDeathEventJS$Type} from "packages/dev/latvian/mods/kubejs/entity/$LivingEntityDeathEventJS"
import {$ChestLootEventJS, $ChestLootEventJS$Type} from "packages/dev/latvian/mods/kubejs/loot/$ChestLootEventJS"
import {$SpecialRecipeSerializerManager, $SpecialRecipeSerializerManager$Type} from "packages/dev/latvian/mods/kubejs/recipe/special/$SpecialRecipeSerializerManager"
import {$EntityLootEventJS, $EntityLootEventJS$Type} from "packages/dev/latvian/mods/kubejs/loot/$EntityLootEventJS"
import {$BlockRightClickedEventJS, $BlockRightClickedEventJS$Type} from "packages/dev/latvian/mods/kubejs/block/$BlockRightClickedEventJS"
import {$ServerEventJS, $ServerEventJS$Type} from "packages/dev/latvian/mods/kubejs/server/$ServerEventJS"
import {$PlayerChangeDimensionEventJS, $PlayerChangeDimensionEventJS$Type} from "packages/pie/ilikepiefoo/events/$PlayerChangeDimensionEventJS"
import {$EntitySpawnedEventJS, $EntitySpawnedEventJS$Type} from "packages/dev/latvian/mods/kubejs/entity/$EntitySpawnedEventJS"
import {$ItemClickedEventJS, $ItemClickedEventJS$Type} from "packages/dev/latvian/mods/kubejs/item/$ItemClickedEventJS"
import {$BlockLeftClickedEventJS, $BlockLeftClickedEventJS$Type} from "packages/dev/latvian/mods/kubejs/block/$BlockLeftClickedEventJS"
import {$CheckLivingEntitySpawnEventJS, $CheckLivingEntitySpawnEventJS$Type} from "packages/dev/latvian/mods/kubejs/entity/$CheckLivingEntitySpawnEventJS"
import {$PlayerRespawnedEventJS, $PlayerRespawnedEventJS$Type} from "packages/dev/latvian/mods/kubejs/player/$PlayerRespawnedEventJS"
import {$KubeJSPowahPlugin$MagmaticFluidEvent, $KubeJSPowahPlugin$MagmaticFluidEvent$Type} from "packages/com/bobvaraioa/kubejspowah/$KubeJSPowahPlugin$MagmaticFluidEvent"
import {$BlockBrokenEventJS, $BlockBrokenEventJS$Type} from "packages/dev/latvian/mods/kubejs/block/$BlockBrokenEventJS"
import {$CustomCommandEventJS, $CustomCommandEventJS$Type} from "packages/dev/latvian/mods/kubejs/server/$CustomCommandEventJS"
import {$GiftLootEventJS, $GiftLootEventJS$Type} from "packages/dev/latvian/mods/kubejs/loot/$GiftLootEventJS"
import {$ProxyEventJS, $ProxyEventJS$Type} from "packages/pie/ilikepiefoo/events/$ProxyEventJS"
import {$SimpleLevelEventJS, $SimpleLevelEventJS$Type} from "packages/dev/latvian/mods/kubejs/level/$SimpleLevelEventJS"
import {$ExplosionEventJS$Before, $ExplosionEventJS$Before$Type} from "packages/dev/latvian/mods/kubejs/level/$ExplosionEventJS$Before"
import {$CompostableRecipesEventJS, $CompostableRecipesEventJS$Type} from "packages/dev/latvian/mods/kubejs/recipe/$CompostableRecipesEventJS"
import {$ItemDroppedEventJS, $ItemDroppedEventJS$Type} from "packages/dev/latvian/mods/kubejs/item/$ItemDroppedEventJS"
import {$CommandRegistryEventJS, $CommandRegistryEventJS$Type} from "packages/dev/latvian/mods/kubejs/command/$CommandRegistryEventJS"
import {$Block, $Block$Type} from "packages/net/minecraft/world/level/block/$Block"
import {$EntityEnterChunkEventJS, $EntityEnterChunkEventJS$Type} from "packages/pie/ilikepiefoo/events/$EntityEnterChunkEventJS"
import {$RecipesEventJS, $RecipesEventJS$Type} from "packages/dev/latvian/mods/kubejs/recipe/$RecipesEventJS"
import {$BlockLootEventJS, $BlockLootEventJS$Type} from "packages/dev/latvian/mods/kubejs/loot/$BlockLootEventJS"
import {$ItemSmeltedEventJS, $ItemSmeltedEventJS$Type} from "packages/dev/latvian/mods/kubejs/item/$ItemSmeltedEventJS"
import {$DetectorBlockEventJS, $DetectorBlockEventJS$Type} from "packages/dev/latvian/mods/kubejs/block/$DetectorBlockEventJS"
import {$AfterRecipesLoadedEventJS, $AfterRecipesLoadedEventJS$Type} from "packages/dev/latvian/mods/kubejs/recipe/$AfterRecipesLoadedEventJS"
import {$SimplePlayerEventJS, $SimplePlayerEventJS$Type} from "packages/dev/latvian/mods/kubejs/player/$SimplePlayerEventJS"
import {$InventoryChangedEventJS, $InventoryChangedEventJS$Type} from "packages/dev/latvian/mods/kubejs/player/$InventoryChangedEventJS"
import {$KubeJSPowahPlugin$HeatSourceEvent, $KubeJSPowahPlugin$HeatSourceEvent$Type} from "packages/com/bobvaraioa/kubejspowah/$KubeJSPowahPlugin$HeatSourceEvent"
import {$PlayerCloneEventJS, $PlayerCloneEventJS$Type} from "packages/pie/ilikepiefoo/events/$PlayerCloneEventJS"
import {$CommandEventJS, $CommandEventJS$Type} from "packages/dev/latvian/mods/kubejs/server/$CommandEventJS"
import {$FishingLootEventJS, $FishingLootEventJS$Type} from "packages/dev/latvian/mods/kubejs/loot/$FishingLootEventJS"
import {$FarmlandTrampledEventJS, $FarmlandTrampledEventJS$Type} from "packages/dev/latvian/mods/kubejs/block/$FarmlandTrampledEventJS"
import {$LivingEntityHurtEventJS, $LivingEntityHurtEventJS$Type} from "packages/dev/latvian/mods/kubejs/entity/$LivingEntityHurtEventJS"
import {$KubeJSPowahPlugin$CoolantsEvent, $KubeJSPowahPlugin$CoolantsEvent$Type} from "packages/com/bobvaraioa/kubejspowah/$KubeJSPowahPlugin$CoolantsEvent"
import {$NetworkEventJS, $NetworkEventJS$Type} from "packages/dev/latvian/mods/kubejs/net/$NetworkEventJS"
import {$ChestEventJS, $ChestEventJS$Type} from "packages/dev/latvian/mods/kubejs/player/$ChestEventJS"
import {$Item, $Item$Type} from "packages/net/minecraft/world/item/$Item"
import {$ItemPickedUpEventJS, $ItemPickedUpEventJS$Type} from "packages/dev/latvian/mods/kubejs/item/$ItemPickedUpEventJS"
import {$EntityTameEventJS, $EntityTameEventJS$Type} from "packages/pie/ilikepiefoo/events/$EntityTameEventJS"
import {$ItemCraftedEventJS, $ItemCraftedEventJS$Type} from "packages/dev/latvian/mods/kubejs/item/$ItemCraftedEventJS"
import {$LivingEntityDropsEventJS, $LivingEntityDropsEventJS$Type} from "packages/dev/latvian/mods/kubejs/entity/forge/$LivingEntityDropsEventJS"
import {$PlayerAdvancementEventJS, $PlayerAdvancementEventJS$Type} from "packages/dev/latvian/mods/kubejs/player/$PlayerAdvancementEventJS"

declare global {
export namespace ServerEvents {
function recipes(handler: (event: $RecipesEventJS) => void): void
function specialRecipeSerializers(handler: (event: $SpecialRecipeSerializerManager) => void): void
function compostableRecipes(handler: (event: $CompostableRecipesEventJS) => void): void
function entityLootTables(handler: (event: $EntityLootEventJS) => void): void
function tick(handler: (event: $ServerEventJS) => void): void
function command(extra: string, handler: (event: $CommandEventJS) => void): void
function command(handler: (event: $CommandEventJS) => void): void
function blockLootTables(handler: (event: $BlockLootEventJS) => void): void
function tags(extra: string, handler: (event: $TagEventJS) => void): void
function loaded(handler: (event: $ServerEventJS) => void): void
function customCommand(extra: string, handler: (event: $CustomCommandEventJS) => void): void
function customCommand(handler: (event: $CustomCommandEventJS) => void): void
function giftLootTables(handler: (event: $GiftLootEventJS) => void): void
function commandRegistry(handler: (event: $CommandRegistryEventJS) => void): void
function afterRecipes(handler: (event: $AfterRecipesLoadedEventJS) => void): void
function chestLootTables(handler: (event: $ChestLootEventJS) => void): void
function unloaded(handler: (event: $ServerEventJS) => void): void
function lowPriorityData(handler: (event: $DataPackEventJS) => void): void
function fishingLootTables(handler: (event: $FishingLootEventJS) => void): void
function genericLootTables(handler: (event: $GenericLootEventJS) => void): void
function highPriorityData(handler: (event: $DataPackEventJS) => void): void
}
export namespace NetworkEvents {
function dataReceived(extra: string, handler: (event: $NetworkEventJS) => void): void
}
export namespace ArchEvents {
function handleServer(extra: string, handler: (event: $ProxyEventJS) => void): void
}
export namespace CommonAddedEvents {
function entityTame(handler: (event: $EntityTameEventJS) => void): void
function playerClone(handler: (event: $PlayerCloneEventJS) => void): void
function entityEnterChunk(handler: (event: $EntityEnterChunkEventJS) => void): void
function playerRespawn(handler: (event: $PlayerRespawnEventJS) => void): void
function playerChangeDimension(handler: (event: $PlayerChangeDimensionEventJS) => void): void
}
export namespace PlayerEvents {
function decorateChat(handler: (event: $PlayerChatDecorateEventJS) => void): void
function chestOpened(extra: $MenuType$Type, handler: (event: $ChestEventJS) => void): void
function chestOpened(handler: (event: $ChestEventJS) => void): void
function advancement(extra: string, handler: (event: $PlayerAdvancementEventJS) => void): void
function advancement(handler: (event: $PlayerAdvancementEventJS) => void): void
function chat(handler: (event: $PlayerChatDecorateEventJS) => void): void
function chestClosed(extra: $MenuType$Type, handler: (event: $ChestEventJS) => void): void
function chestClosed(handler: (event: $ChestEventJS) => void): void
function loggedIn(handler: (event: $SimplePlayerEventJS) => void): void
function loggedOut(handler: (event: $SimplePlayerEventJS) => void): void
function inventoryClosed(extra: $MenuType$Type, handler: (event: $InventoryEventJS) => void): void
function inventoryClosed(handler: (event: $InventoryEventJS) => void): void
function inventoryChanged(extra: $Item$Type, handler: (event: $InventoryChangedEventJS) => void): void
function inventoryChanged(handler: (event: $InventoryChangedEventJS) => void): void
function inventoryOpened(extra: $MenuType$Type, handler: (event: $InventoryEventJS) => void): void
function inventoryOpened(handler: (event: $InventoryEventJS) => void): void
function tick(handler: (event: $SimplePlayerEventJS) => void): void
function respawned(handler: (event: $PlayerRespawnedEventJS) => void): void
}
export namespace ItemEvents {
function rightClicked(extra: $Item$Type, handler: (event: $ItemClickedEventJS) => void): void
function rightClicked(handler: (event: $ItemClickedEventJS) => void): void
function crafted(extra: $Item$Type, handler: (event: $ItemCraftedEventJS) => void): void
function crafted(handler: (event: $ItemCraftedEventJS) => void): void
function dropped(extra: $Item$Type, handler: (event: $ItemDroppedEventJS) => void): void
function dropped(handler: (event: $ItemDroppedEventJS) => void): void
function firstRightClicked(extra: $Item$Type, handler: (event: $ItemClickedEventJS) => void): void
function firstRightClicked(handler: (event: $ItemClickedEventJS) => void): void
function pickedUp(extra: $Item$Type, handler: (event: $ItemPickedUpEventJS) => void): void
function pickedUp(handler: (event: $ItemPickedUpEventJS) => void): void
function destroyed(extra: $Item$Type, handler: (event: $ItemDestroyedEventJS) => void): void
function destroyed(handler: (event: $ItemDestroyedEventJS) => void): void
function entityInteracted(extra: $Item$Type, handler: (event: $ItemEntityInteractedEventJS) => void): void
function entityInteracted(handler: (event: $ItemEntityInteractedEventJS) => void): void
function foodEaten(extra: $Item$Type, handler: (event: $FoodEatenEventJS) => void): void
function foodEaten(handler: (event: $FoodEatenEventJS) => void): void
function firstLeftClicked(extra: $Item$Type, handler: (event: $ItemClickedEventJS) => void): void
function firstLeftClicked(handler: (event: $ItemClickedEventJS) => void): void
function canPickUp(extra: $Item$Type, handler: (event: $ItemPickedUpEventJS) => void): void
function canPickUp(handler: (event: $ItemPickedUpEventJS) => void): void
function smelted(extra: $Item$Type, handler: (event: $ItemSmeltedEventJS) => void): void
function smelted(handler: (event: $ItemSmeltedEventJS) => void): void
}
export namespace LevelEvents {
function loaded(extra: string, handler: (event: $SimpleLevelEventJS) => void): void
function loaded(handler: (event: $SimpleLevelEventJS) => void): void
function unloaded(extra: string, handler: (event: $SimpleLevelEventJS) => void): void
function unloaded(handler: (event: $SimpleLevelEventJS) => void): void
function beforeExplosion(handler: (event: $ExplosionEventJS$Before) => void): void
function tick(extra: string, handler: (event: $SimpleLevelEventJS) => void): void
function tick(handler: (event: $SimpleLevelEventJS) => void): void
function afterExplosion(handler: (event: $ExplosionEventJS$After) => void): void
}
export namespace EntityEvents {
function spawned(extra: $EntityType$Type, handler: (event: $EntitySpawnedEventJS) => void): void
function spawned(handler: (event: $EntitySpawnedEventJS) => void): void
function drops(extra: $EntityType$Type, handler: (event: $LivingEntityDropsEventJS) => void): void
function drops(handler: (event: $LivingEntityDropsEventJS) => void): void
function checkSpawn(extra: $EntityType$Type, handler: (event: $CheckLivingEntitySpawnEventJS) => void): void
function checkSpawn(handler: (event: $CheckLivingEntitySpawnEventJS) => void): void
function death(extra: $EntityType$Type, handler: (event: $LivingEntityDeathEventJS) => void): void
function death(handler: (event: $LivingEntityDeathEventJS) => void): void
function hurt(extra: $EntityType$Type, handler: (event: $LivingEntityHurtEventJS) => void): void
function hurt(handler: (event: $LivingEntityHurtEventJS) => void): void
}
export namespace PowahEvents {
function registerCoolants(handler: (event: $KubeJSPowahPlugin$CoolantsEvent) => void): void
function registerHeatSource(handler: (event: $KubeJSPowahPlugin$HeatSourceEvent) => void): void
function registerMagmaticFluid(handler: (event: $KubeJSPowahPlugin$MagmaticFluidEvent) => void): void
}
export namespace BlockEvents {
function broken(extra: $Block$Type, handler: (event: $BlockBrokenEventJS) => void): void
function broken(handler: (event: $BlockBrokenEventJS) => void): void
function detectorPowered(extra: string, handler: (event: $DetectorBlockEventJS) => void): void
function detectorPowered(handler: (event: $DetectorBlockEventJS) => void): void
function farmlandTrampled(extra: $Block$Type, handler: (event: $FarmlandTrampledEventJS) => void): void
function farmlandTrampled(handler: (event: $FarmlandTrampledEventJS) => void): void
function placed(extra: $Block$Type, handler: (event: $BlockPlacedEventJS) => void): void
function placed(handler: (event: $BlockPlacedEventJS) => void): void
function detectorUnpowered(extra: string, handler: (event: $DetectorBlockEventJS) => void): void
function detectorUnpowered(handler: (event: $DetectorBlockEventJS) => void): void
function leftClicked(extra: $Block$Type, handler: (event: $BlockLeftClickedEventJS) => void): void
function leftClicked(handler: (event: $BlockLeftClickedEventJS) => void): void
function rightClicked(extra: $Block$Type, handler: (event: $BlockRightClickedEventJS) => void): void
function rightClicked(handler: (event: $BlockRightClickedEventJS) => void): void
function detectorChanged(extra: string, handler: (event: $DetectorBlockEventJS) => void): void
function detectorChanged(handler: (event: $DetectorBlockEventJS) => void): void
}
}