Fix Support for 41.0.94 (#295)

* Fix Support for 41.0.94

* Bump to 5.9
This commit is contained in:
shedaniel
2022-07-12 17:19:53 +08:00
committed by GitHub
parent fe632a10bd
commit 37c5c7d1fe
12 changed files with 84 additions and 84 deletions

View File

@@ -38,7 +38,7 @@ import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.client.event.*;
import net.minecraftforge.event.entity.player.ItemTooltipEvent;
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
import net.minecraftforge.event.world.WorldEvent;
import net.minecraftforge.event.level.LevelEvent;
import net.minecraftforge.eventbus.api.EventPriority;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
@@ -127,9 +127,9 @@ public class EventHandlerImplClient {
}
@SubscribeEvent(priority = EventPriority.HIGH)
public static void eventWorldEvent(WorldEvent.Load event) {
if (event.getWorld().isClientSide()) {
ClientLevel world = (ClientLevel) event.getWorld();
public static void eventWorldEvent(LevelEvent.Load event) {
if (event.getLevel().isClientSide()) {
ClientLevel world = (ClientLevel) event.getLevel();
ClientLifecycleEvent.CLIENT_LEVEL_LOAD.invoker().act(world);
}
}
@@ -169,12 +169,12 @@ public class EventHandlerImplClient {
@SubscribeEvent(priority = EventPriority.HIGH)
public static void eventPlayerInteractEvent(PlayerInteractEvent.RightClickEmpty event) {
InteractionEvent.CLIENT_RIGHT_CLICK_AIR.invoker().click(event.getPlayer(), event.getHand());
InteractionEvent.CLIENT_RIGHT_CLICK_AIR.invoker().click(event.getEntity(), event.getHand());
}
@SubscribeEvent(priority = EventPriority.HIGH)
public static void eventPlayerInteractEvent(PlayerInteractEvent.LeftClickEmpty event) {
InteractionEvent.CLIENT_LEFT_CLICK_AIR.invoker().click(event.getPlayer(), event.getHand());
InteractionEvent.CLIENT_LEFT_CLICK_AIR.invoker().click(event.getEntity(), event.getHand());
}
@SubscribeEvent(priority = EventPriority.HIGH)

View File

@@ -33,11 +33,11 @@ import net.minecraft.world.level.LevelAccessor;
import net.minecraftforge.event.CommandEvent;
import net.minecraftforge.event.RegisterCommandsEvent;
import net.minecraftforge.event.ServerChatEvent;
import net.minecraftforge.event.TickEvent.LevelTickEvent;
import net.minecraftforge.event.TickEvent.Phase;
import net.minecraftforge.event.TickEvent.PlayerTickEvent;
import net.minecraftforge.event.TickEvent.ServerTickEvent;
import net.minecraftforge.event.TickEvent.WorldTickEvent;
import net.minecraftforge.event.entity.EntityJoinWorldEvent;
import net.minecraftforge.event.entity.EntityJoinLevelEvent;
import net.minecraftforge.event.entity.item.ItemTossEvent;
import net.minecraftforge.event.entity.living.AnimalTameEvent;
import net.minecraftforge.event.entity.living.LivingAttackEvent;
@@ -45,14 +45,14 @@ import net.minecraftforge.event.entity.living.LivingDeathEvent;
import net.minecraftforge.event.entity.living.LivingSpawnEvent;
import net.minecraftforge.event.entity.player.*;
import net.minecraftforge.event.entity.player.PlayerEvent.*;
import net.minecraftforge.event.level.BlockEvent.BreakEvent;
import net.minecraftforge.event.level.BlockEvent.EntityPlaceEvent;
import net.minecraftforge.event.level.BlockEvent.FarmlandTrampleEvent;
import net.minecraftforge.event.level.ChunkDataEvent;
import net.minecraftforge.event.level.ExplosionEvent.Detonate;
import net.minecraftforge.event.level.ExplosionEvent.Start;
import net.minecraftforge.event.level.LevelEvent;
import net.minecraftforge.event.server.*;
import net.minecraftforge.event.world.BlockEvent.BreakEvent;
import net.minecraftforge.event.world.BlockEvent.EntityPlaceEvent;
import net.minecraftforge.event.world.BlockEvent.FarmlandTrampleEvent;
import net.minecraftforge.event.world.ChunkDataEvent;
import net.minecraftforge.event.world.ExplosionEvent.Detonate;
import net.minecraftforge.event.world.ExplosionEvent.Start;
import net.minecraftforge.event.world.WorldEvent;
import net.minecraftforge.eventbus.api.Event;
import net.minecraftforge.eventbus.api.EventPriority;
import net.minecraftforge.eventbus.api.SubscribeEvent;
@@ -70,12 +70,12 @@ public class EventHandlerImplCommon {
}
@SubscribeEvent(priority = EventPriority.HIGH)
public static void event(WorldTickEvent event) {
public static void event(LevelTickEvent event) {
if (event.side == LogicalSide.SERVER) {
if (event.phase == Phase.START)
TickEvent.SERVER_LEVEL_PRE.invoker().tick((ServerLevel) event.world);
TickEvent.SERVER_LEVEL_PRE.invoker().tick((ServerLevel) event.level);
else if (event.phase == Phase.END)
TickEvent.SERVER_LEVEL_POST.invoker().tick((ServerLevel) event.world);
TickEvent.SERVER_LEVEL_POST.invoker().tick((ServerLevel) event.level);
}
}
@@ -101,22 +101,22 @@ public class EventHandlerImplCommon {
@SubscribeEvent(priority = EventPriority.HIGH)
public static void event(RegisterCommandsEvent event) {
CommandRegistrationEvent.EVENT.invoker().register(event.getDispatcher(), event.getEnvironment());
CommandRegistrationEvent.EVENT.invoker().register(event.getDispatcher(), event.getCommandSelection());
}
@SubscribeEvent(priority = EventPriority.HIGH)
public static void event(PlayerLoggedInEvent event) {
PlayerEvent.PLAYER_JOIN.invoker().join((ServerPlayer) event.getPlayer());
PlayerEvent.PLAYER_JOIN.invoker().join((ServerPlayer) event.getEntity());
}
@SubscribeEvent(priority = EventPriority.HIGH)
public static void event(PlayerLoggedOutEvent event) {
PlayerEvent.PLAYER_QUIT.invoker().quit((ServerPlayer) event.getPlayer());
PlayerEvent.PLAYER_QUIT.invoker().quit((ServerPlayer) event.getEntity());
}
@SubscribeEvent(priority = EventPriority.HIGH)
public static void event(PlayerRespawnEvent event) {
PlayerEvent.PLAYER_RESPAWN.invoker().respawn((ServerPlayer) event.getPlayer(), event.isEndConquered());
PlayerEvent.PLAYER_RESPAWN.invoker().respawn((ServerPlayer) event.getEntity(), event.isEndConquered());
}
@SubscribeEvent(priority = EventPriority.HIGH)
@@ -168,79 +168,79 @@ public class EventHandlerImplCommon {
}
@SubscribeEvent(priority = EventPriority.HIGH)
public static void eventWorldEvent(WorldEvent.Load event) {
if (event.getWorld() instanceof ServerLevel) {
ServerLevel world = (ServerLevel) event.getWorld();
public static void eventWorldEvent(LevelEvent.Load event) {
if (event.getLevel() instanceof ServerLevel) {
ServerLevel world = (ServerLevel) event.getLevel();
LifecycleEvent.SERVER_LEVEL_LOAD.invoker().act(world);
}
}
@SubscribeEvent(priority = EventPriority.HIGH)
public static void eventWorldEvent(WorldEvent.Unload event) {
if (event.getWorld() instanceof ServerLevel) {
ServerLevel world = (ServerLevel) event.getWorld();
public static void eventWorldEvent(LevelEvent.Unload event) {
if (event.getLevel() instanceof ServerLevel) {
ServerLevel world = (ServerLevel) event.getLevel();
LifecycleEvent.SERVER_LEVEL_UNLOAD.invoker().act(world);
}
}
@SubscribeEvent(priority = EventPriority.HIGH)
public static void eventWorldEvent(WorldEvent.Save event) {
if (event.getWorld() instanceof ServerLevel) {
ServerLevel world = (ServerLevel) event.getWorld();
public static void eventWorldEvent(LevelEvent.Save event) {
if (event.getLevel() instanceof ServerLevel) {
ServerLevel world = (ServerLevel) event.getLevel();
LifecycleEvent.SERVER_LEVEL_SAVE.invoker().act(world);
}
}
@SubscribeEvent(priority = EventPriority.HIGH)
public static void event(LivingDeathEvent event) {
if (EntityEvent.LIVING_DEATH.invoker().die(event.getEntityLiving(), event.getSource()).isFalse()) {
if (EntityEvent.LIVING_DEATH.invoker().die(event.getEntity(), event.getSource()).isFalse()) {
event.setCanceled(true);
}
}
@SubscribeEvent(priority = EventPriority.HIGH)
public static void event(AdvancementEvent event) {
if (event.getPlayer() instanceof ServerPlayer) {
PlayerEvent.PLAYER_ADVANCEMENT.invoker().award((ServerPlayer) event.getPlayer(), event.getAdvancement());
if (event.getEntity() instanceof ServerPlayer) {
PlayerEvent.PLAYER_ADVANCEMENT.invoker().award((ServerPlayer) event.getEntity(), event.getAdvancement());
}
}
@SubscribeEvent(priority = EventPriority.HIGH)
public static void eventPlayerEvent(Clone event) {
if (event.getOriginal() instanceof ServerPlayer && event.getPlayer() instanceof ServerPlayer) {
PlayerEvent.PLAYER_CLONE.invoker().clone((ServerPlayer) event.getOriginal(), (ServerPlayer) event.getPlayer(), !event.isWasDeath());
if (event.getOriginal() instanceof ServerPlayer && event.getEntity() instanceof ServerPlayer) {
PlayerEvent.PLAYER_CLONE.invoker().clone((ServerPlayer) event.getOriginal(), (ServerPlayer) event.getEntity(), !event.isWasDeath());
}
}
@SubscribeEvent(priority = EventPriority.HIGH)
public static void eventExplosionEvent(Start event) {
if (ExplosionEvent.PRE.invoker().explode(event.getWorld(), event.getExplosion()).isFalse()) {
if (ExplosionEvent.PRE.invoker().explode(event.getLevel(), event.getExplosion()).isFalse()) {
event.setCanceled(true);
}
}
@SubscribeEvent(priority = EventPriority.HIGH)
public static void eventExplosionEvent(Detonate event) {
ExplosionEvent.DETONATE.invoker().explode(event.getWorld(), event.getExplosion(), event.getAffectedEntities());
ExplosionEvent.DETONATE.invoker().explode(event.getLevel(), event.getExplosion(), event.getAffectedEntities());
}
@SubscribeEvent(priority = EventPriority.HIGH)
public static void event(LivingAttackEvent event) {
if (EntityEvent.LIVING_HURT.invoker().hurt(event.getEntityLiving(), event.getSource(), event.getAmount()).isFalse()) {
if (EntityEvent.LIVING_HURT.invoker().hurt(event.getEntity(), event.getSource(), event.getAmount()).isFalse()) {
event.setCanceled(true);
}
}
@SubscribeEvent(priority = EventPriority.HIGH)
public static void event(EntityJoinWorldEvent event) {
if (EntityEvent.ADD.invoker().add(event.getEntity(), event.getWorld()).isFalse()) {
public static void event(EntityJoinLevelEvent event) {
if (EntityEvent.ADD.invoker().add(event.getEntity(), event.getLevel()).isFalse()) {
event.setCanceled(true);
}
}
@SubscribeEvent(priority = EventPriority.HIGH)
public static void event(FarmlandTrampleEvent event) {
if (InteractionEvent.FARMLAND_TRAMPLE.invoker().trample((Level) event.getWorld(), event.getPos(), event.getState(), event.getFallDistance(), event.getEntity()).value() != null) {
if (event.getLevel() instanceof Level && InteractionEvent.FARMLAND_TRAMPLE.invoker().trample((Level) event.getLevel(), event.getPos(), event.getState(), event.getFallDistance(), event.getEntity()).value() != null) {
event.setCanceled(true);
}
}
@@ -248,7 +248,7 @@ public class EventHandlerImplCommon {
@SubscribeEvent(priority = EventPriority.HIGH)
public static void event(FillBucketEvent event) {
ItemStack oldItem = event.getEmptyBucket();
CompoundEventResult<ItemStack> result = PlayerEvent.FILL_BUCKET.invoker().fill(event.getPlayer(), event.getWorld(), oldItem, event.getTarget());
CompoundEventResult<ItemStack> result = PlayerEvent.FILL_BUCKET.invoker().fill(event.getEntity(), event.getLevel(), oldItem, event.getTarget());
if (result.interruptsFurtherEvaluation()) {
event.setCanceled(true);
event.setFilledBucket(result.object());
@@ -267,7 +267,7 @@ public class EventHandlerImplCommon {
@SubscribeEvent(priority = EventPriority.HIGH)
public static void eventLivingSpawnEvent(LivingSpawnEvent.CheckSpawn event) {
EventResult result = EntityEvent.LIVING_CHECK_SPAWN.invoker().canSpawn(event.getEntityLiving(), event.getWorld(), event.getX(), event.getY(), event.getZ(), event.getSpawnReason(), event.getSpawner());
EventResult result = EntityEvent.LIVING_CHECK_SPAWN.invoker().canSpawn(event.getEntity(), event.getLevel(), event.getX(), event.getY(), event.getZ(), event.getSpawnReason(), event.getSpawner());
if (result.interruptsFurtherEvaluation()) {
if (result.value() != null) {
event.setResult(result.value() == Boolean.TRUE ? Event.Result.ALLOW : Event.Result.DENY);
@@ -284,42 +284,42 @@ public class EventHandlerImplCommon {
@SubscribeEvent(priority = EventPriority.HIGH)
public static void event(ItemCraftedEvent event) {
PlayerEvent.CRAFT_ITEM.invoker().craft(event.getPlayer(), event.getCrafting(), event.getInventory());
PlayerEvent.CRAFT_ITEM.invoker().craft(event.getEntity(), event.getCrafting(), event.getInventory());
}
@SubscribeEvent(priority = EventPriority.HIGH)
public static void event(ItemSmeltedEvent event) {
PlayerEvent.SMELT_ITEM.invoker().smelt(event.getPlayer(), event.getSmelting());
PlayerEvent.SMELT_ITEM.invoker().smelt(event.getEntity(), event.getSmelting());
}
@SubscribeEvent(priority = EventPriority.HIGH)
public static void event(EntityItemPickupEvent event) {
PlayerEvent.PICKUP_ITEM_PRE.invoker().canPickup(event.getPlayer(), event.getItem(), event.getItem().getItem());
PlayerEvent.PICKUP_ITEM_PRE.invoker().canPickup(event.getEntity(), event.getItem(), event.getItem().getItem());
}
@SubscribeEvent(priority = EventPriority.HIGH)
public static void event(ItemPickupEvent event) {
PlayerEvent.PICKUP_ITEM_POST.invoker().pickup(event.getPlayer(), event.getOriginalEntity(), event.getStack());
PlayerEvent.PICKUP_ITEM_POST.invoker().pickup(event.getEntity(), event.getOriginalEntity(), event.getStack());
}
@SubscribeEvent(priority = EventPriority.HIGH)
public static void event(ItemTossEvent event) {
PlayerEvent.DROP_ITEM.invoker().drop(event.getPlayer(), event.getEntityItem());
PlayerEvent.DROP_ITEM.invoker().drop(event.getPlayer(), event.getEntity());
}
@SubscribeEvent(priority = EventPriority.HIGH)
public static void eventPlayerContainerEvent(PlayerContainerEvent.Open event) {
PlayerEvent.OPEN_MENU.invoker().open(event.getPlayer(), event.getContainer());
PlayerEvent.OPEN_MENU.invoker().open(event.getEntity(), event.getContainer());
}
@SubscribeEvent(priority = EventPriority.HIGH)
public static void eventPlayerContainerEvent(PlayerContainerEvent.Close event) {
PlayerEvent.CLOSE_MENU.invoker().close(event.getPlayer(), event.getContainer());
PlayerEvent.CLOSE_MENU.invoker().close(event.getEntity(), event.getContainer());
}
@SubscribeEvent(priority = EventPriority.HIGH)
public static void eventPlayerInteractEvent(PlayerInteractEvent.RightClickItem event) {
CompoundEventResult<ItemStack> result = InteractionEvent.RIGHT_CLICK_ITEM.invoker().click(event.getPlayer(), event.getHand());
CompoundEventResult<ItemStack> result = InteractionEvent.RIGHT_CLICK_ITEM.invoker().click(event.getEntity(), event.getHand());
if (result.isPresent()) {
event.setCanceled(true);
event.setCancellationResult(result.result().asMinecraft());
@@ -328,7 +328,7 @@ public class EventHandlerImplCommon {
@SubscribeEvent(priority = EventPriority.HIGH)
public static void eventPlayerInteractEvent(PlayerInteractEvent.RightClickBlock event) {
EventResult result = InteractionEvent.RIGHT_CLICK_BLOCK.invoker().click(event.getPlayer(), event.getHand(), event.getPos(), event.getFace());
EventResult result = InteractionEvent.RIGHT_CLICK_BLOCK.invoker().click(event.getEntity(), event.getHand(), event.getPos(), event.getFace());
if (result.isPresent()) {
event.setCanceled(true);
event.setCancellationResult(result.asMinecraft());
@@ -339,7 +339,7 @@ public class EventHandlerImplCommon {
@SubscribeEvent(priority = EventPriority.HIGH)
public static void eventPlayerInteractEvent(PlayerInteractEvent.EntityInteract event) {
EventResult result = InteractionEvent.INTERACT_ENTITY.invoker().interact(event.getPlayer(), event.getTarget(), event.getHand());
EventResult result = InteractionEvent.INTERACT_ENTITY.invoker().interact(event.getEntity(), event.getTarget(), event.getHand());
if (result.isPresent()) {
event.setCanceled(true);
event.setCancellationResult(result.asMinecraft());
@@ -348,7 +348,7 @@ public class EventHandlerImplCommon {
@SubscribeEvent(priority = EventPriority.HIGH)
public static void eventPlayerInteractEvent(PlayerInteractEvent.LeftClickBlock event) {
EventResult result = InteractionEvent.LEFT_CLICK_BLOCK.invoker().click(event.getPlayer(), event.getHand(), event.getPos(), event.getFace());
EventResult result = InteractionEvent.LEFT_CLICK_BLOCK.invoker().click(event.getEntity(), event.getHand(), event.getPos(), event.getFace());
if (result.isPresent()) {
event.setCanceled(true);
event.setCancellationResult(result.asMinecraft());
@@ -359,8 +359,8 @@ public class EventHandlerImplCommon {
@SubscribeEvent(priority = EventPriority.HIGH)
public static void event(BreakEvent event) {
if (event.getPlayer() instanceof ServerPlayer && event.getWorld() instanceof Level) {
EventResult result = BlockEvent.BREAK.invoker().breakBlock((Level) event.getWorld(), event.getPos(), event.getState(), (ServerPlayer) event.getPlayer(), new IntValue() {
if (event.getPlayer() instanceof ServerPlayer && event.getLevel() instanceof Level) {
EventResult result = BlockEvent.BREAK.invoker().breakBlock((Level) event.getLevel(), event.getPos(), event.getState(), (ServerPlayer) event.getPlayer(), new IntValue() {
@Override
public int getAsInt() {
return event.getExpToDrop();
@@ -379,8 +379,8 @@ public class EventHandlerImplCommon {
@SubscribeEvent(priority = EventPriority.HIGH)
public static void event(EntityPlaceEvent event) {
if (event.getWorld() instanceof Level) {
EventResult result = BlockEvent.PLACE.invoker().placeBlock((Level) event.getWorld(), event.getPos(), event.getState(), event.getEntity());
if (event.getLevel() instanceof Level) {
EventResult result = BlockEvent.PLACE.invoker().placeBlock((Level) event.getLevel(), event.getPos(), event.getState(), event.getEntity());
if (result.isFalse()) {
event.setCanceled(true);
}
@@ -394,28 +394,28 @@ public class EventHandlerImplCommon {
@SubscribeEvent(priority = EventPriority.HIGH)
public static void event(PlayerChangedDimensionEvent event) {
if (event.getPlayer() instanceof ServerPlayer) {
PlayerEvent.CHANGE_DIMENSION.invoker().change((ServerPlayer) event.getPlayer(), event.getFrom(), event.getTo());
if (event.getEntity() instanceof ServerPlayer) {
PlayerEvent.CHANGE_DIMENSION.invoker().change((ServerPlayer) event.getEntity(), event.getFrom(), event.getTo());
}
}
@SubscribeEvent(priority = EventPriority.HIGH)
public static void eventChunkDataEvent(ChunkDataEvent.Save event) {
if (event.getWorld() instanceof ServerLevel) {
ChunkEvent.SAVE_DATA.invoker().save(event.getChunk(), (ServerLevel) event.getWorld(), event.getData());
if (event.getLevel() instanceof ServerLevel) {
ChunkEvent.SAVE_DATA.invoker().save(event.getChunk(), (ServerLevel) event.getLevel(), event.getData());
}
}
@SubscribeEvent(priority = EventPriority.HIGH)
public static void eventChunkDataEvent(ChunkDataEvent.Load event) {
LevelAccessor level = event.getChunk().getWorldForge();
if (!(level instanceof ServerLevel) && event instanceof WorldEventAttachment) {
level = ((WorldEventAttachment) event).architectury$getAttachedLevel();
if (!(level instanceof ServerLevel) && event instanceof LevelEventAttachment) {
level = ((LevelEventAttachment) event).architectury$getAttachedLevel();
}
ChunkEvent.LOAD_DATA.invoker().load(event.getChunk(), level instanceof ServerLevel ? (ServerLevel) level : null, event.getData());
}
public interface WorldEventAttachment {
public interface LevelEventAttachment {
LevelAccessor architectury$getAttachedLevel();
void architectury$attachLevel(LevelAccessor level);

View File

@@ -23,10 +23,10 @@ import net.minecraft.world.item.ItemStack;
public class ItemStackHooksImpl {
public static boolean hasCraftingRemainingItem(ItemStack stack) {
return stack.hasContainerItem();
return stack.hasCraftingRemainingItem();
}
public static ItemStack getCraftingRemainingItem(ItemStack stack) {
return stack.getContainerItem();
return stack.getCraftingRemainingItem();
}
}

View File

@@ -24,7 +24,7 @@ import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.ToolActions;
import net.minecraftforge.event.world.BlockEvent;
import net.minecraftforge.event.level.BlockEvent;
import java.util.function.Consumer;
import java.util.function.Function;

View File

@@ -26,7 +26,7 @@ import net.minecraft.world.entity.ai.village.poi.PoiManager;
import net.minecraft.world.level.ChunkPos;
import net.minecraft.world.level.chunk.ProtoChunk;
import net.minecraft.world.level.chunk.storage.ChunkSerializer;
import net.minecraftforge.event.world.ChunkDataEvent;
import net.minecraftforge.event.level.ChunkDataEvent;
import net.minecraftforge.eventbus.api.Event;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
@@ -56,7 +56,7 @@ public class MixinChunkSerializer {
WeakReference<ServerLevel> levelRef = level.get();
if (levelRef != null && event instanceof ChunkDataEvent.Load) {
ChunkDataEvent.Load load = (ChunkDataEvent.Load) event;
((EventHandlerImplCommon.WorldEventAttachment) load).architectury$attachLevel(levelRef.get());
((EventHandlerImplCommon.LevelEventAttachment) load).architectury$attachLevel(levelRef.get());
}
level.remove();
return event;

View File

@@ -21,14 +21,14 @@ package dev.architectury.mixin.forge;
import dev.architectury.event.forge.EventHandlerImplCommon;
import net.minecraft.world.level.LevelAccessor;
import net.minecraftforge.event.world.WorldEvent;
import net.minecraftforge.event.level.LevelEvent;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import java.lang.ref.WeakReference;
@Mixin(WorldEvent.class)
public class MixinWorldEvent implements EventHandlerImplCommon.WorldEventAttachment {
@Mixin(LevelEvent.class)
public class MixinLevelEvent implements EventHandlerImplCommon.LevelEventAttachment {
@Unique
private WeakReference<LevelAccessor> level;

View File

@@ -194,11 +194,11 @@ public class NetworkManagerImpl {
@SubscribeEvent
public static void loggedIn(PlayerEvent.PlayerLoggedInEvent event) {
NetworkManager.sendToPlayer((ServerPlayer) event.getPlayer(), SYNC_IDS, sendSyncPacket(C2S));
NetworkManager.sendToPlayer((ServerPlayer) event.getEntity(), SYNC_IDS, sendSyncPacket(C2S));
}
@SubscribeEvent
public static void loggedOut(PlayerEvent.PlayerLoggedOutEvent event) {
clientReceivables.removeAll(event.getPlayer());
clientReceivables.removeAll(event.getEntity());
}
}

View File

@@ -22,7 +22,7 @@ package dev.architectury.platform.forge;
import dev.architectury.platform.Mod;
import dev.architectury.utils.Env;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.client.ConfigGuiHandler;
import net.minecraftforge.client.ConfigScreenHandler;
import net.minecraftforge.fml.ModContainer;
import net.minecraftforge.fml.ModList;
import net.minecraftforge.fml.loading.FMLEnvironment;
@@ -178,8 +178,8 @@ public class PlatformImpl {
@Override
public void registerConfigurationScreen(ConfigurationScreenProvider configurationScreenProvider) {
container.registerExtensionPoint(ConfigGuiHandler.ConfigGuiFactory.class, () ->
new ConfigGuiHandler.ConfigGuiFactory((minecraft, screen) -> configurationScreenProvider.provide(screen)));
container.registerExtensionPoint(ConfigScreenHandler.ConfigScreenFactory.class, () ->
new ConfigScreenHandler.ConfigScreenFactory((minecraft, screen) -> configurationScreenProvider.provide(screen)));
}
}
}

View File

@@ -36,7 +36,7 @@ import net.minecraftforge.network.NetworkHooks;
public class MenuRegistryImpl {
public static void openExtendedMenu(ServerPlayer player, ExtendedMenuProvider provider) {
NetworkHooks.openGui(player, provider, provider::saveExtraData);
NetworkHooks.openScreen(player, provider, provider::saveExtraData);
}
public static <T extends AbstractContainerMenu> MenuType<T> of(SimpleMenuTypeFactory<T> factory) {

View File

@@ -24,6 +24,6 @@ side = "BOTH"
[[dependencies.architectury]]
modId = "forge"
mandatory = true
versionRange = "[41.0.64,)"
versionRange = "[41.0.94,)"
ordering = "NONE"
side = "BOTH"

View File

@@ -13,7 +13,7 @@
"MixinEntitySpawnExtension",
"MixinFallingBlockEntity",
"MixinItemExtension",
"MixinWorldEvent"
"MixinLevelEvent"
],
"injectors": {
"defaultRequire": 1

View File

@@ -10,14 +10,14 @@ artifact_type=release
archives_base_name=architectury
archives_base_name_snapshot=architectury-snapshot
base_version=5.8
base_version=5.9
maven_group=dev.architectury
fabric_loader_version=0.14.6
fabric_api_version=0.55.1+1.19
mod_menu_version=3.1.0
forge_version=41.0.64
forge_version=41.0.94
curseforge_id=419699
modrinth_id=lhGA9TYQ