mirror of
https://github.com/MinecraftForge/MinecraftForge.git
synced 2026-11-12 16:27:47 +00:00
Fix PlayerChangeGameModeEvent (#8441)
This commit is contained in:
1 parent
5c9258491f
commit
5e295f2485
3 files changed
+27
-8
No files matched your search
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Minecraft Forge
|
||||
* Copyright (c) 2016-2021.
|
||||
* Copyright (c) 2016-2022.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
@@ -768,15 +768,25 @@ public class ForgeHooks
|
||||
MinecraftForge.EVENT_BUS.post(new PlayerInteractEvent.LeftClickEmpty(player));
|
||||
}
|
||||
|
||||
@Deprecated(forRemoval = true, since = "1.18")
|
||||
public static boolean onChangeGameMode(Player player, GameType currentGameMode, GameType newGameMode)
|
||||
{
|
||||
if (currentGameMode != newGameMode)
|
||||
return onChangeGameType(player, currentGameMode, newGameMode) != null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return null if game type should not be changed, desired new GameType otherwise
|
||||
*/
|
||||
@Nullable
|
||||
public static GameType onChangeGameType(Player player, GameType currentGameType, GameType newGameType)
|
||||
{
|
||||
if (currentGameType != newGameType)
|
||||
{
|
||||
PlayerEvent.PlayerChangeGameModeEvent evt = new PlayerEvent.PlayerChangeGameModeEvent(player, currentGameMode, newGameMode);
|
||||
PlayerEvent.PlayerChangeGameModeEvent evt = new PlayerEvent.PlayerChangeGameModeEvent(player, currentGameType, newGameType);
|
||||
MinecraftForge.EVENT_BUS.post(evt);
|
||||
return !evt.isCanceled();
|
||||
return evt.isCanceled() ? null : evt.getNewGameMode();
|
||||
}
|
||||
return true;
|
||||
return newGameType;
|
||||
}
|
||||
|
||||
private static ThreadLocal<Deque<LootTableContext>> lootContext = new ThreadLocal<Deque<LootTableContext>>();
|
||||
|
||||
Reference in new issue
Block a user