Initial commit (Forge 1291).
This commit is contained in:
@ -0,0 +1,31 @@
|
||||
--- ../src-base/minecraft/net/minecraftforge/common/util/FakePlayerFactory.java
|
||||
+++ ../src-work/minecraft/net/minecraftforge/common/util/FakePlayerFactory.java
|
||||
@@ -35,12 +35,24 @@
|
||||
*/
|
||||
public static FakePlayer get(WorldServer world, GameProfile username)
|
||||
{
|
||||
- if (!fakePlayers.containsKey(username))
|
||||
+ // Cauldron start - Refactored below to avoid a hashCode check with a null GameProfile ID
|
||||
+ if (username == null || username.getName() == null) return null;
|
||||
+
|
||||
+ for (Map.Entry<GameProfile, FakePlayer> mapEntry : fakePlayers.entrySet())
|
||||
{
|
||||
- FakePlayer fakePlayer = new FakePlayer(world, username);
|
||||
- fakePlayers.put(username, fakePlayer);
|
||||
+ GameProfile gameprofile = mapEntry.getKey();
|
||||
+ if (gameprofile.getName().equals(username.getName()))
|
||||
+ {
|
||||
+ return mapEntry.getValue();
|
||||
+ }
|
||||
}
|
||||
-
|
||||
+ FakePlayer fakePlayer = new FakePlayer(world, username);
|
||||
+ if (username.getId() == null) // GameProfile hashCode check will fail with a null ID
|
||||
+ {
|
||||
+ username = new GameProfile(UUID.randomUUID(), username.getName()); // Create new GameProfile with random UUID
|
||||
+ }
|
||||
+ // Cauldron end
|
||||
+ fakePlayers.put(username, fakePlayer);
|
||||
return fakePlayers.get(username);
|
||||
}
|
||||
|
Reference in New Issue
Block a user