Class ForgeEventFactory
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic BlockState
alterGround
(LevelSimulatedReader level, RandomSource random, BlockPos pos, BlockState altered) static SaplingGrowTreeEvent
blockGrowFeature
(LevelAccessor level, RandomSource randomSource, BlockPos pos, @Nullable Holder<ConfiguredFeature<?, ?>> holder) static boolean
canCreateFluidSource
(Level level, BlockPos pos, BlockState state, boolean def) static net.minecraftforge.eventbus.api.Event.Result
canEntityDespawn
(Mob entity, ServerLevelAccessor level) static boolean
canLivingConvert
(LivingEntity entity, EntityType<? extends LivingEntity> outcome, Consumer<Integer> timer) static boolean
canMountEntity
(Entity entityMounting, Entity entityBeingMounted, boolean isMounting) static boolean
doPlayerHarvestCheck
(Player player, BlockState state, boolean success) static void
fireChunkTicketLevelUpdated
(ServerLevel level, long chunkPos, int oldTicketLevel, int newTicketLevel, @Nullable ChunkHolder chunkHolder) static void
fireChunkUnWatch
(ServerPlayer entity, ChunkPos chunkpos, ServerLevel level) static void
fireChunkWatch
(ServerPlayer entity, LevelChunk chunk, ServerLevel level) static BlockState
fireFluidPlaceBlockEvent
(LevelAccessor level, BlockPos pos, BlockPos liquidPos, BlockState state) static void
firePlayerChangedDimensionEvent
(Player player, ResourceKey<Level> fromDim, ResourceKey<Level> toDim) static void
firePlayerCraftingEvent
(Player player, ItemStack crafted, Container craftMatrix) static void
firePlayerItemPickupEvent
(Player player, ItemEntity item, ItemStack clone) static void
firePlayerLoadingEvent
(Player player, File playerDirectory, String uuidString) static void
firePlayerLoadingEvent
(Player player, PlayerDataStorage playerFileData, String uuidString) static void
firePlayerLoggedIn
(Player player) static void
firePlayerLoggedOut
(Player player) static void
firePlayerRespawnEvent
(Player player, boolean endConquered) static void
firePlayerSavingEvent
(Player player, File playerDirectory, String uuidString) static void
firePlayerSmeltedEvent
(Player player, ItemStack smelted) static boolean
fireSleepingLocationCheck
(LivingEntity player, BlockPos sleepingLocation) static boolean
fireSleepingTimeCheck
(Player player, Optional<BlockPos> sleepingLocation) static ZombieEvent.SummonAidEvent
fireZombieSummonAid
(Zombie zombie, Level level, int x, int y, int z, LivingEntity attacker, double summonChance) static <T extends ICapabilityProvider>
@Nullable CapabilityDispatchergatherCapabilities
(Class<? extends T> type, T provider) static <T extends ICapabilityProvider>
@Nullable CapabilityDispatchergatherCapabilities
(Class<? extends T> type, T provider, @Nullable ICapabilityProvider parent) private static @Nullable CapabilityDispatcher
gatherCapabilities
(AttachCapabilitiesEvent<?> event, @Nullable ICapabilityProvider parent) static float
getBreakSpeed
(Player player, BlockState state, float original, BlockPos pos) static EntityEvent.Size
getEntitySizeForge
(Entity entity, Pose pose, EntityDimensions size, float eyeHeight) static EntityEvent.Size
getEntitySizeForge
(Entity entity, Pose pose, EntityDimensions oldSize, EntityDimensions newSize, float newEyeHeight) static int
getExperienceDrop
(LivingEntity entity, Player attackingPlayer, int originalExperience) static int
getItemBurnTime
(@NotNull ItemStack itemStack, int burnTime, @Nullable RecipeType<?> recipeType) static int
getMaxSpawnPackSize
(Mob entity) static boolean
getMobGriefingEvent
(Level level, @Nullable Entity entity) static Component
getPlayerDisplayName
(Player player, Component username) static Component
getPlayerTabListDisplayName
(Player player) getPotentialSpawns
(LevelAccessor level, MobCategory category, BlockPos pos, WeightedRandomList<MobSpawnSettings.SpawnerData> oldList) static LootTable
loadLootTable
(ResourceLocation name, LootTable table, LootTables lootTableManager) static void
onAdvancementEarnedEvent
(Player player, Advancement earned) static void
onAdvancementProgressedEvent
(Player player, Advancement progressed, AdvancementProgress advancementProgress, String criterion, AdvancementEvent.AdvancementProgressEvent.ProgressType progressType) static boolean
onAnimalTame
(Animal animal, Player tamer) static int
onApplyBonemeal
(@NotNull Player player, @NotNull Level level, @NotNull BlockPos pos, @NotNull BlockState state, @NotNull ItemStack stack) static int
onArrowLoose
(ItemStack stack, Level level, Player player, int charge, boolean hasAmmo) static InteractionResultHolder<ItemStack>
onArrowNock
(ItemStack item, Level level, Player player, InteractionHand hand, boolean hasAmmo) static boolean
onBlockPlace
(@Nullable Entity entity, @NotNull BlockSnapshot blockSnapshot, @NotNull Direction direction) static @Nullable InteractionResultHolder<ItemStack>
onBucketUse
(@NotNull Player player, @NotNull Level level, @NotNull ItemStack stack, @Nullable HitResult target) onChorusFruitTeleport
(LivingEntity entity, double targetX, double targetY, double targetZ) static void
onCommandRegister
(com.mojang.brigadier.CommandDispatcher<CommandSourceStack> dispatcher, Commands.CommandSelection environment, CommandBuildContext context) static boolean
onCreateWorldSpawn
(Level level, ServerLevelData settings) static int
onEnchantmentLevelSet
(Level level, BlockPos pos, int enchantRow, int power, ItemStack itemStack, int enchantmentLevel) onEnderPearlLand
(ServerPlayer entity, double targetX, double targetY, double targetZ, ThrownEnderpearl pearlEntity, float attackDamage) Deprecated, for removal: This API element is subject to removal in a future version.Use the hit result-sensitive version.onEnderPearlLand
(ServerPlayer entity, double targetX, double targetY, double targetZ, ThrownEnderpearl pearlEntity, float attackDamage, @Nullable HitResult hitResult) onEnderTeleport
(LivingEntity entity, double targetX, double targetY, double targetZ) static boolean
onEntityDestroyBlock
(LivingEntity entity, BlockPos pos, BlockState state) static boolean
onEntityStruckByLightning
(Entity entity, LightningBolt bolt) onEntityTeleportCommand
(Entity entity, double targetX, double targetY, double targetZ) onEntityTeleportSpreadPlayersCommand
(Entity entity, double targetX, double targetY, double targetZ) static void
onExplosionDetonate
(Level level, Explosion explosion, List<Entity> list, double diameter) static boolean
onExplosionStart
(Level level, Explosion explosion) static @Nullable SpawnGroupData
onFinalizeSpawn
(Mob mob, ServerLevelAccessor level, DifficultyInstance difficulty, MobSpawnType spawnType, @Nullable SpawnGroupData spawnData, @Nullable CompoundTag spawnTag) Vanilla calls toMob.finalizeSpawn(net.minecraft.world.level.ServerLevelAccessor, net.minecraft.world.DifficultyInstance, net.minecraft.world.entity.MobSpawnType, net.minecraft.world.entity.SpawnGroupData, net.minecraft.nbt.CompoundTag)
are replaced with calls to this method via coremod.
Mods should call this method in place of callingMob.finalizeSpawn(net.minecraft.world.level.ServerLevelAccessor, net.minecraft.world.DifficultyInstance, net.minecraft.world.entity.MobSpawnType, net.minecraft.world.entity.SpawnGroupData, net.minecraft.nbt.CompoundTag)
.static MobSpawnEvent.FinalizeSpawn
onFinalizeSpawnSpawner
(Mob mob, ServerLevelAccessor level, DifficultyInstance difficulty, @Nullable SpawnGroupData spawnData, @Nullable CompoundTag spawnTag, BaseSpawner spawner) Returns the FinalizeSpawn event instance, or null if it was canceled.
This is separate since mob spawners perform special finalizeSpawn handling when NBT data is present, but we still want to fire the event.
This overload is also the only way to pass through aBaseSpawner
instance.static int
onItemExpire
(ItemEntity entity, @NotNull ItemStack item) static int
onItemPickup
(ItemEntity entityItem, Player player) static ItemTooltipEvent
onItemTooltip
(ItemStack itemStack, @Nullable Player entityPlayer, List<Component> list, TooltipFlag flags) static ItemStack
onItemUseFinish
(LivingEntity entity, ItemStack item, int duration, ItemStack result) static int
onItemUseStart
(LivingEntity entity, ItemStack item, int duration) static int
onItemUseTick
(LivingEntity entity, ItemStack item, int duration) static void
onLivingConvert
(LivingEntity entity, LivingEntity outcome) static float
onLivingHeal
(LivingEntity entity, float amount) static boolean
onMultiBlockPlace
(@Nullable Entity entity, List<BlockSnapshot> blockSnapshots, Direction direction) onNeighborNotify
(Level level, BlockPos pos, BlockState state, EnumSet<Direction> notifiedSides, boolean forceRedstoneUpdate) static boolean
onPermissionChanged
(com.mojang.authlib.GameProfile gameProfile, int newLevel, PlayerList playerList) static boolean
onPistonMovePost
(Level level, BlockPos pos, Direction direction, boolean extending) static boolean
onPistonMovePre
(Level level, BlockPos pos, Direction direction, boolean extending) static void
onPlayerBrewedPotion
(Player player, ItemStack stack) static void
onPlayerClone
(Player player, Player oldPlayer, boolean wasDeath) static void
onPlayerDestroyItem
(Player player, @NotNull ItemStack stack, @Nullable InteractionHand hand) static void
onPlayerFall
(Player player, float distance, float multiplier) static void
onPlayerPostTick
(Player player) static void
onPlayerPreTick
(Player player) static Player.BedSleepingProblem
onPlayerSleepInBed
(Player player, Optional<BlockPos> pos) static boolean
onPlayerSpawnSet
(Player player, ResourceKey<Level> levelKey, BlockPos pos, boolean forced) static void
onPlayerWakeup
(Player player, boolean wakeImmediately, boolean updateLevel) static PlayLevelSoundEvent.AtEntity
onPlaySoundAtEntity
(Entity entity, Holder<SoundEvent> name, SoundSource category, float volume, float pitch) onPlaySoundAtPosition
(Level level, double x, double y, double z, Holder<SoundEvent> name, SoundSource category, float volume, float pitch) static void
static void
onPostLevelTick
(Level level, BooleanSupplier haveTime) static void
onPostServerTick
(BooleanSupplier haveTime, MinecraftServer server) static boolean
onPotionAttemptBrew
(NonNullList<ItemStack> stacks) static void
onPotionBrewed
(NonNullList<ItemStack> brewingItemStacks) static void
static void
onPreLevelTick
(Level level, BooleanSupplier haveTime) static void
onPreServerTick
(BooleanSupplier haveTime, MinecraftServer server) static boolean
onProjectileImpact
(Projectile projectile, HitResult ray) static void
onRenderTickEnd
(float timer) static void
onRenderTickStart
(float timer) static List<PreparableReloadListener>
onResourceReload
(ReloadableServerResources serverResources) static long
onSleepFinished
(ServerLevel level, long newTime, long minTime) static void
onStartEntityTracking
(Entity entity, Player player) static void
onStopEntityTracking
(Entity entity, Player player) static @Nullable BlockState
onToolUse
(BlockState originalState, UseOnContext context, ToolAction toolAction, boolean simulate) static Optional<PortalShape>
onTrySpawnPortal
(LevelAccessor level, BlockPos pos, Optional<PortalShape> size) static boolean
onUseItemStop
(LivingEntity entity, ItemStack item, int duration) static boolean
saplingGrowTree
(LevelAccessor level, RandomSource randomSource, BlockPos pos) Deprecated, for removal: This API element is subject to removal in a future version.
-
Constructor Details
-
ForgeEventFactory
public ForgeEventFactory()
-
-
Method Details
-
onMultiBlockPlace
public static boolean onMultiBlockPlace(@Nullable @Nullable Entity entity, List<BlockSnapshot> blockSnapshots, Direction direction) -
onBlockPlace
public static boolean onBlockPlace(@Nullable @Nullable Entity entity, @NotNull @NotNull BlockSnapshot blockSnapshot, @NotNull @NotNull Direction direction) -
onNeighborNotify
public static BlockEvent.NeighborNotifyEvent onNeighborNotify(Level level, BlockPos pos, BlockState state, EnumSet<Direction> notifiedSides, boolean forceRedstoneUpdate) -
doPlayerHarvestCheck
-
getBreakSpeed
-
onPlayerDestroyItem
public static void onPlayerDestroyItem(Player player, @NotNull @NotNull ItemStack stack, @Nullable @Nullable InteractionHand hand) -
onFinalizeSpawn
@Nullable public static @Nullable SpawnGroupData onFinalizeSpawn(Mob mob, ServerLevelAccessor level, DifficultyInstance difficulty, MobSpawnType spawnType, @Nullable @Nullable SpawnGroupData spawnData, @Nullable @Nullable CompoundTag spawnTag) Vanilla calls toMob.finalizeSpawn(net.minecraft.world.level.ServerLevelAccessor, net.minecraft.world.DifficultyInstance, net.minecraft.world.entity.MobSpawnType, net.minecraft.world.entity.SpawnGroupData, net.minecraft.nbt.CompoundTag)
are replaced with calls to this method via coremod.
Mods should call this method in place of callingMob.finalizeSpawn(net.minecraft.world.level.ServerLevelAccessor, net.minecraft.world.DifficultyInstance, net.minecraft.world.entity.MobSpawnType, net.minecraft.world.entity.SpawnGroupData, net.minecraft.nbt.CompoundTag)
. Super calls (from within overrides) should not be wrapped.When interfacing with this event, write all code as normal, and replace the call to
Mob.finalizeSpawn(net.minecraft.world.level.ServerLevelAccessor, net.minecraft.world.DifficultyInstance, net.minecraft.world.entity.MobSpawnType, net.minecraft.world.entity.SpawnGroupData, net.minecraft.nbt.CompoundTag)
with a call to this method.As an example, the following code block:
Would become:var zombie = new Zombie(level); zombie.finalizeSpawn(level, difficulty, spawnType, spawnData, spawnTag); level.tryAddFreshEntityWithPassengers(zombie); if (zombie.isAddedToWorld()) { // Do stuff with your new zombie }
The only code that changes is thevar zombie = new Zombie(level); ForgeEventFactory.onFinalizeSpawn(zombie, level, difficulty, spawnType, spawnData, spawnTag); level.tryAddFreshEntityWithPassengers(zombie); if (zombie.isAddedToWorld()) { // Do stuff with your new zombie }
Mob.finalizeSpawn(net.minecraft.world.level.ServerLevelAccessor, net.minecraft.world.DifficultyInstance, net.minecraft.world.entity.MobSpawnType, net.minecraft.world.entity.SpawnGroupData, net.minecraft.nbt.CompoundTag)
call.- Returns:
- The SpawnGroupData from this event, or null if it was canceled. The return value of this method has no bearing on if the entity will be spawned.
- See Also:
-
onFinalizeSpawnSpawner
@Nullable public static MobSpawnEvent.FinalizeSpawn onFinalizeSpawnSpawner(Mob mob, ServerLevelAccessor level, DifficultyInstance difficulty, @Nullable @Nullable SpawnGroupData spawnData, @Nullable @Nullable CompoundTag spawnTag, BaseSpawner spawner) Returns the FinalizeSpawn event instance, or null if it was canceled.
This is separate since mob spawners perform special finalizeSpawn handling when NBT data is present, but we still want to fire the event.
This overload is also the only way to pass through aBaseSpawner
instance.- See Also:
-
canEntityDespawn
public static net.minecraftforge.eventbus.api.Event.Result canEntityDespawn(Mob entity, ServerLevelAccessor level) -
getItemBurnTime
public static int getItemBurnTime(@NotNull @NotNull ItemStack itemStack, int burnTime, @Nullable @Nullable RecipeType<?> recipeType) -
getExperienceDrop
public static int getExperienceDrop(LivingEntity entity, Player attackingPlayer, int originalExperience) -
getMaxSpawnPackSize
-
getPlayerDisplayName
-
getPlayerTabListDisplayName
-
fireFluidPlaceBlockEvent
public static BlockState fireFluidPlaceBlockEvent(LevelAccessor level, BlockPos pos, BlockPos liquidPos, BlockState state) -
onItemTooltip
public static ItemTooltipEvent onItemTooltip(ItemStack itemStack, @Nullable @Nullable Player entityPlayer, List<Component> list, TooltipFlag flags) -
fireZombieSummonAid
public static ZombieEvent.SummonAidEvent fireZombieSummonAid(Zombie zombie, Level level, int x, int y, int z, LivingEntity attacker, double summonChance) -
onEntityStruckByLightning
-
onItemUseStart
-
onItemUseTick
-
onUseItemStop
-
onItemUseFinish
public static ItemStack onItemUseFinish(LivingEntity entity, ItemStack item, int duration, ItemStack result) -
onStartEntityTracking
-
onStopEntityTracking
-
firePlayerLoadingEvent
-
firePlayerSavingEvent
-
firePlayerLoadingEvent
public static void firePlayerLoadingEvent(Player player, PlayerDataStorage playerFileData, String uuidString) -
onToolUse
@Nullable public static @Nullable BlockState onToolUse(BlockState originalState, UseOnContext context, ToolAction toolAction, boolean simulate) -
onApplyBonemeal
public static int onApplyBonemeal(@NotNull @NotNull Player player, @NotNull @NotNull Level level, @NotNull @NotNull BlockPos pos, @NotNull @NotNull BlockState state, @NotNull @NotNull ItemStack stack) -
onBucketUse
-
onPlaySoundAtEntity
public static PlayLevelSoundEvent.AtEntity onPlaySoundAtEntity(Entity entity, Holder<SoundEvent> name, SoundSource category, float volume, float pitch) -
onPlaySoundAtPosition
public static PlayLevelSoundEvent.AtPosition onPlaySoundAtPosition(Level level, double x, double y, double z, Holder<SoundEvent> name, SoundSource category, float volume, float pitch) -
onItemExpire
-
onItemPickup
-
canMountEntity
-
onAnimalTame
-
onPlayerSleepInBed
-
onPlayerWakeup
-
onPlayerFall
-
onPlayerSpawnSet
public static boolean onPlayerSpawnSet(Player player, ResourceKey<Level> levelKey, BlockPos pos, boolean forced) -
onPlayerClone
-
onExplosionStart
-
onExplosionDetonate
-
onCreateWorldSpawn
-
onLivingHeal
-
onPotionAttemptBrew
-
onPotionBrewed
-
onPlayerBrewedPotion
-
gatherCapabilities
@Nullable public static <T extends ICapabilityProvider> @Nullable CapabilityDispatcher gatherCapabilities(Class<? extends T> type, T provider) -
gatherCapabilities
@Nullable public static <T extends ICapabilityProvider> @Nullable CapabilityDispatcher gatherCapabilities(Class<? extends T> type, T provider, @Nullable @Nullable ICapabilityProvider parent) -
gatherCapabilities
@Nullable private static @Nullable CapabilityDispatcher gatherCapabilities(AttachCapabilitiesEvent<?> event, @Nullable @Nullable ICapabilityProvider parent) -
fireSleepingLocationCheck
-
fireSleepingTimeCheck
-
onArrowNock
public static InteractionResultHolder<ItemStack> onArrowNock(ItemStack item, Level level, Player player, InteractionHand hand, boolean hasAmmo) -
onArrowLoose
-
onProjectileImpact
-
loadLootTable
public static LootTable loadLootTable(ResourceLocation name, LootTable table, LootTables lootTableManager) -
canCreateFluidSource
public static boolean canCreateFluidSource(Level level, BlockPos pos, BlockState state, boolean def) -
onTrySpawnPortal
public static Optional<PortalShape> onTrySpawnPortal(LevelAccessor level, BlockPos pos, Optional<PortalShape> size) -
onEnchantmentLevelSet
-
onEntityDestroyBlock
-
getMobGriefingEvent
-
saplingGrowTree
@Deprecated(forRemoval=true, since="1.19.2") public static boolean saplingGrowTree(LevelAccessor level, RandomSource randomSource, BlockPos pos) Deprecated, for removal: This API element is subject to removal in a future version. -
blockGrowFeature
public static SaplingGrowTreeEvent blockGrowFeature(LevelAccessor level, RandomSource randomSource, BlockPos pos, @Nullable @Nullable Holder<ConfiguredFeature<?, ?>> holder) -
alterGround
public static BlockState alterGround(LevelSimulatedReader level, RandomSource random, BlockPos pos, BlockState altered) -
fireChunkTicketLevelUpdated
public static void fireChunkTicketLevelUpdated(ServerLevel level, long chunkPos, int oldTicketLevel, int newTicketLevel, @Nullable @Nullable ChunkHolder chunkHolder) -
fireChunkWatch
-
fireChunkUnWatch
-
onPistonMovePre
-
onPistonMovePost
-
onSleepFinished
-
onResourceReload
public static List<PreparableReloadListener> onResourceReload(ReloadableServerResources serverResources) -
onCommandRegister
public static void onCommandRegister(com.mojang.brigadier.CommandDispatcher<CommandSourceStack> dispatcher, Commands.CommandSelection environment, CommandBuildContext context) -
getEntitySizeForge
public static EntityEvent.Size getEntitySizeForge(Entity entity, Pose pose, EntityDimensions size, float eyeHeight) -
getEntitySizeForge
public static EntityEvent.Size getEntitySizeForge(Entity entity, Pose pose, EntityDimensions oldSize, EntityDimensions newSize, float newEyeHeight) -
canLivingConvert
public static boolean canLivingConvert(LivingEntity entity, EntityType<? extends LivingEntity> outcome, Consumer<Integer> timer) -
onLivingConvert
-
onEntityTeleportCommand
public static EntityTeleportEvent.TeleportCommand onEntityTeleportCommand(Entity entity, double targetX, double targetY, double targetZ) -
onEntityTeleportSpreadPlayersCommand
public static EntityTeleportEvent.SpreadPlayersCommand onEntityTeleportSpreadPlayersCommand(Entity entity, double targetX, double targetY, double targetZ) -
onEnderTeleport
public static EntityTeleportEvent.EnderEntity onEnderTeleport(LivingEntity entity, double targetX, double targetY, double targetZ) -
onEnderPearlLand
@Internal @Deprecated(forRemoval=true, since="1.19.2") public static EntityTeleportEvent.EnderPearl onEnderPearlLand(ServerPlayer entity, double targetX, double targetY, double targetZ, ThrownEnderpearl pearlEntity, float attackDamage) Deprecated, for removal: This API element is subject to removal in a future version. -
onEnderPearlLand
@Internal public static EntityTeleportEvent.EnderPearl onEnderPearlLand(ServerPlayer entity, double targetX, double targetY, double targetZ, ThrownEnderpearl pearlEntity, float attackDamage, @Nullable @Nullable HitResult hitResult) -
onChorusFruitTeleport
public static EntityTeleportEvent.ChorusFruit onChorusFruitTeleport(LivingEntity entity, double targetX, double targetY, double targetZ) -
onPermissionChanged
public static boolean onPermissionChanged(com.mojang.authlib.GameProfile gameProfile, int newLevel, PlayerList playerList) -
firePlayerChangedDimensionEvent
public static void firePlayerChangedDimensionEvent(Player player, ResourceKey<Level> fromDim, ResourceKey<Level> toDim) -
firePlayerLoggedIn
-
firePlayerLoggedOut
-
firePlayerRespawnEvent
-
firePlayerItemPickupEvent
-
firePlayerCraftingEvent
-
firePlayerSmeltedEvent
-
onRenderTickStart
public static void onRenderTickStart(float timer) -
onRenderTickEnd
public static void onRenderTickEnd(float timer) -
onPlayerPreTick
-
onPlayerPostTick
-
onPreLevelTick
-
onPostLevelTick
-
onPreClientTick
public static void onPreClientTick() -
onPostClientTick
public static void onPostClientTick() -
onPreServerTick
-
onPostServerTick
-
getPotentialSpawns
public static WeightedRandomList<MobSpawnSettings.SpawnerData> getPotentialSpawns(LevelAccessor level, MobCategory category, BlockPos pos, WeightedRandomList<MobSpawnSettings.SpawnerData> oldList) -
onAdvancementEarnedEvent
-
onAdvancementProgressedEvent
@Internal public static void onAdvancementProgressedEvent(Player player, Advancement progressed, AdvancementProgress advancementProgress, String criterion, AdvancementEvent.AdvancementProgressEvent.ProgressType progressType)
-