mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-02 17:32:03 +01:00
more more work
This commit is contained in:
parent
d700351d49
commit
233b5b5bec
37 changed files with 1327 additions and 572 deletions
|
@ -20,8 +20,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||||
if (this.level() != null && !this.level().isClientSide) {
|
if (this.level() != null && !this.level().isClientSide) {
|
||||||
AttributeInstance attributemodifiable = this.getAttribute(Attributes.MOVEMENT_SPEED);
|
AttributeInstance attributemodifiable = this.getAttribute(Attributes.MOVEMENT_SPEED);
|
||||||
|
|
||||||
- attributemodifiable.removeModifier(Zombie.SPEED_MODIFIER_BABY);
|
- attributemodifiable.removeModifier(Zombie.SPEED_MODIFIER_BABY.getId());
|
||||||
+ attributemodifiable.removeModifier(this.babyModifier); // Paper
|
+ attributemodifiable.removeModifier(this.babyModifier.getId()); // Paper
|
||||||
if (baby) {
|
if (baby) {
|
||||||
- attributemodifiable.addTransientModifier(Zombie.SPEED_MODIFIER_BABY);
|
- attributemodifiable.addTransientModifier(Zombie.SPEED_MODIFIER_BABY);
|
||||||
+ attributemodifiable.addTransientModifier(this.babyModifier); // Paper
|
+ attributemodifiable.addTransientModifier(this.babyModifier); // Paper
|
|
@ -9,8 +9,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
@@ -0,0 +0,0 @@ public class ServerPlayer extends Player {
|
@@ -0,0 +0,0 @@ public class ServerPlayer extends Player {
|
||||||
|
private RemoteChatSession chatSession;
|
||||||
private int containerCounter;
|
private int containerCounter;
|
||||||
public int latency;
|
|
||||||
public boolean wonGame;
|
public boolean wonGame;
|
||||||
+ private int containerUpdateDelay; // Paper
|
+ private int containerUpdateDelay; // Paper
|
||||||
|
|
|
@ -9,11 +9,16 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
@@ -0,0 +0,0 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
@@ -0,0 +0,0 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||||
int l;
|
|
||||||
int i1;
|
|
||||||
|
|
||||||
- if (this.random.nextInt(16) == 0) {
|
gameprofilerfiller.popPush("iceandsnow");
|
||||||
+ if (!this.paperConfig().environment.disableIceAndSnow && this.random.nextInt(16) == 0) { // Paper - Disable ice and snow
|
|
||||||
blockposition = this.getHeightmapPos(Heightmap.Types.MOTION_BLOCKING, this.getBlockRandomPos(j, 0, k, 15));
|
+ if (!this.paperConfig().environment.disableIceAndSnow) { // Paper
|
||||||
BlockPos blockposition1 = blockposition.below();
|
for (int l = 0; l < randomTickSpeed; ++l) {
|
||||||
Biome biomebase = (Biome) this.getBiome(blockposition).value();
|
if (this.random.nextInt(48) == 0) {
|
||||||
|
this.tickIceAndSnow(flag, this.getBlockRandomPos(j, 0, k, 15));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+ } // Paper
|
||||||
|
|
||||||
|
gameprofilerfiller.popPush("tickBlocks");
|
||||||
|
timings.chunkTicksBlocks.startTiming(); // Paper
|
|
@ -9,11 +9,11 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
@@ -0,0 +0,0 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
@@ -0,0 +0,0 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||||
gameprofilerfiller.push("thunder");
|
ProfilerFiller gameprofilerfiller = this.getProfiler();
|
||||||
BlockPos blockposition;
|
|
||||||
|
|
||||||
|
gameprofilerfiller.push("thunder");
|
||||||
- if (flag && this.isThundering() && this.spigotConfig.thunderChance > 0 && this.random.nextInt(this.spigotConfig.thunderChance) == 0) { // Spigot
|
- if (flag && this.isThundering() && this.spigotConfig.thunderChance > 0 && this.random.nextInt(this.spigotConfig.thunderChance) == 0) { // Spigot
|
||||||
+ if (!this.paperConfig().environment.disableThunder && flag && this.isThundering() && this.spigotConfig.thunderChance > 0 && this.random.nextInt(this.spigotConfig.thunderChance) == 0) { // Spigot // Paper - disable thunder
|
+ if (!this.paperConfig().environment.disableThunder && flag && this.isThundering() && this.spigotConfig.thunderChance > 0 && this.random.nextInt(this.spigotConfig.thunderChance) == 0) { // Spigot // Paper - disable thunder
|
||||||
blockposition = this.findLightningTargetAround(this.getBlockRandomPos(j, 0, k, 15));
|
BlockPos blockposition = this.findLightningTargetAround(this.getBlockRandomPos(j, 0, k, 15));
|
||||||
|
|
||||||
if (this.isRainingAt(blockposition)) {
|
if (this.isRainingAt(blockposition)) {
|
||||||
DifficultyInstance difficultydamagescaler = this.getCurrentDifficultyAt(blockposition);
|
|
|
@ -15,5 +15,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||||
- List<Entity> list = this.level.getEntities(this.source, new AABB((double) i, (double) l, (double) j1, (double) j, (double) i1, (double) k1));
|
- List<Entity> list = this.level.getEntities(this.source, new AABB((double) i, (double) l, (double) j1, (double) j, (double) i1, (double) k1));
|
||||||
+ List<Entity> list = this.level.getEntities(this.source, new AABB((double) i, (double) l, (double) j1, (double) j, (double) i1, (double) k1), (com.google.common.base.Predicate<Entity>) entity -> entity.isAlive() && !entity.isSpectator()); // Paper - Fix lag from explosions processing dead entities
|
+ List<Entity> list = this.level.getEntities(this.source, new AABB((double) i, (double) l, (double) j1, (double) j, (double) i1, (double) k1), (com.google.common.base.Predicate<Entity>) entity -> entity.isAlive() && !entity.isSpectator()); // Paper - Fix lag from explosions processing dead entities
|
||||||
Vec3 vec3d = new Vec3(this.x, this.y, this.z);
|
Vec3 vec3d = new Vec3(this.x, this.y, this.z);
|
||||||
|
Iterator iterator = list.iterator();
|
||||||
|
|
||||||
for (int l1 = 0; l1 < list.size(); ++l1) {
|
|
|
@ -90,7 +90,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||||
+ // Paper End
|
+ // Paper End
|
||||||
// Spigot End
|
// Spigot End
|
||||||
|
|
||||||
public static volatile RuntimeException chunkSystemCrash; // Paper - rewrite chunk system
|
protected void runServer() {
|
||||||
@@ -0,0 +0,0 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -0,0 +0,0 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
|
|
||||||
// Spigot start
|
// Spigot start
|
||||||
|
@ -99,12 +99,6 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||||
+ long start = System.nanoTime(), curTime, tickSection = start; // Paper - Further improve server tick loop
|
+ long start = System.nanoTime(), curTime, tickSection = start; // Paper - Further improve server tick loop
|
||||||
+ lastTick = start - TICK_TIME; // Paper
|
+ lastTick = start - TICK_TIME; // Paper
|
||||||
while (this.running) {
|
while (this.running) {
|
||||||
// Paper start - rewrite chunk system
|
|
||||||
// guarantee that nothing can stop the server from halting if it can at least still tick
|
|
||||||
@@ -0,0 +0,0 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
|
||||||
throw this.chunkSystemCrash;
|
|
||||||
}
|
|
||||||
// Paper end - rewrite chunk system
|
|
||||||
- long i = (curTime = Util.getMillis()) - this.nextTickTime;
|
- long i = (curTime = Util.getMillis()) - this.nextTickTime;
|
||||||
+ long i = ((curTime = System.nanoTime()) / (1000L * 1000L)) - this.nextTickTime; // Paper
|
+ long i = ((curTime = System.nanoTime()) / (1000L * 1000L)) - this.nextTickTime; // Paper
|
||||||
|
|
|
@ -9,26 +9,35 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
@@ -0,0 +0,0 @@ public class ServerPlayer extends Player {
|
@@ -0,0 +0,0 @@ public class ServerPlayer extends Player {
|
||||||
}
|
private int levitationStartTime;
|
||||||
}
|
private boolean disconnected;
|
||||||
|
private int requestedViewDistance;
|
||||||
- public String locale = "en_us"; // CraftBukkit - add, lowercase
|
- public String language = "en_us"; // CraftBukkit - default
|
||||||
+ public String locale = null; // CraftBukkit - add, lowercase // Paper - default to null
|
+ public String language = null; // CraftBukkit - default // Paper - default to null
|
||||||
public java.util.Locale adventure$locale = java.util.Locale.US; // Paper
|
public java.util.Locale adventure$locale = java.util.Locale.US; // Paper
|
||||||
public void updateOptions(ServerboundClientInformationPacket packet) {
|
@Nullable
|
||||||
// CraftBukkit start
|
private Vec3 startingToFallPosition;
|
||||||
|
@@ -0,0 +0,0 @@ public class ServerPlayer extends Player {
|
||||||
|
this.lastActionTime = Util.getMillis();
|
||||||
|
this.recipeBook = new ServerRecipeBook();
|
||||||
|
this.requestedViewDistance = 2;
|
||||||
|
- this.language = "en_us";
|
||||||
|
+ this.language = null; // Paper - default to null
|
||||||
|
this.lastSectionPos = SectionPos.of(0, 0, 0);
|
||||||
|
this.chunkTrackingView = ChunkTrackingView.EMPTY;
|
||||||
|
this.respawnDimension = Level.OVERWORLD;
|
||||||
@@ -0,0 +0,0 @@ public class ServerPlayer extends Player {
|
@@ -0,0 +0,0 @@ public class ServerPlayer extends Player {
|
||||||
PlayerChangedMainHandEvent event = new PlayerChangedMainHandEvent(this.getBukkitEntity(), getMainArm() == HumanoidArm.LEFT ? MainHand.LEFT : MainHand.RIGHT);
|
PlayerChangedMainHandEvent event = new PlayerChangedMainHandEvent(this.getBukkitEntity(), getMainArm() == HumanoidArm.LEFT ? MainHand.LEFT : MainHand.RIGHT);
|
||||||
this.server.server.getPluginManager().callEvent(event);
|
this.server.server.getPluginManager().callEvent(event);
|
||||||
}
|
}
|
||||||
- if (!this.locale.equals(packet.language)) {
|
- if (!this.language.equals(clientOptions.language())) {
|
||||||
+ if (this.locale == null || !this.locale.equals(packet.language)) { // Paper - check for null
|
+ if (this.language == null || !this.language.equals(clientOptions.language())) { // Paper
|
||||||
PlayerLocaleChangeEvent event = new PlayerLocaleChangeEvent(this.getBukkitEntity(), packet.language);
|
PlayerLocaleChangeEvent event = new PlayerLocaleChangeEvent(this.getBukkitEntity(), clientOptions.language());
|
||||||
this.server.server.getPluginManager().callEvent(event);
|
this.server.server.getPluginManager().callEvent(event);
|
||||||
+ this.server.server.getPluginManager().callEvent(new com.destroystokyo.paper.event.player.PlayerLocaleChangeEvent(this.getBukkitEntity(), this.locale, packet.language)); // Paper
|
+ this.server.server.getPluginManager().callEvent(new com.destroystokyo.paper.event.player.PlayerLocaleChangeEvent(this.getBukkitEntity(), this.language, clientOptions.language())); // Paper
|
||||||
}
|
}
|
||||||
this.locale = packet.language;
|
// CraftBukkit end
|
||||||
// Paper start
|
this.language = clientOptions.language();
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
|
@ -37,10 +46,9 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getLocale() {
|
public String getLocale() {
|
||||||
- return this.getHandle().locale;
|
- return this.getHandle().language;
|
||||||
-
|
|
||||||
+ // Paper start - Locale change event
|
+ // Paper start - Locale change event
|
||||||
+ final String locale = this.getHandle().locale;
|
+ final String locale = this.getHandle().language;
|
||||||
+ return locale != null ? locale : "en_us";
|
+ return locale != null ? locale : "en_us";
|
||||||
+ // Paper end
|
+ // Paper end
|
||||||
}
|
}
|
|
@ -141,17 +141,14 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
@@ -0,0 +0,0 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
@@ -0,0 +0,0 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||||
@Override
|
return this.getHandle().language;
|
||||||
public String getLocale() {
|
}
|
||||||
return this.getHandle().locale;
|
|
||||||
+
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ // Paper start
|
+ // Paper start
|
||||||
+ public void setAffectsSpawning(boolean affects) {
|
+ public void setAffectsSpawning(boolean affects) {
|
||||||
+ this.getHandle().affectsSpawning = affects;
|
+ this.getHandle().affectsSpawning = affects;
|
||||||
}
|
+ }
|
||||||
|
+
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public boolean getAffectsSpawning() {
|
+ public boolean getAffectsSpawning() {
|
||||||
+ return this.getHandle().affectsSpawning;
|
+ return this.getHandle().affectsSpawning;
|
File diff suppressed because it is too large
Load diff
|
@ -36,7 +36,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||||
@@ -0,0 +0,0 @@ public class Main {
|
@@ -0,0 +0,0 @@ public class Main {
|
||||||
deadline.add(Calendar.DAY_OF_YEAR, -21);
|
deadline.add(Calendar.DAY_OF_YEAR, -3);
|
||||||
if (buildDate.before(deadline.getTime())) {
|
if (buildDate.before(deadline.getTime())) {
|
||||||
System.err.println("*** Error, this build is outdated ***");
|
System.err.println("*** Error, this build is outdated ***");
|
||||||
- System.err.println("*** Please download a new build as per instructions from https://www.spigotmc.org/go/outdated-spigot ***");
|
- System.err.println("*** Please download a new build as per instructions from https://www.spigotmc.org/go/outdated-spigot ***");
|
||||||
|
@ -66,7 +66,7 @@ diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/
|
||||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
--- a/src/main/java/org/spigotmc/WatchdogThread.java
|
--- a/src/main/java/org/spigotmc/WatchdogThread.java
|
||||||
+++ b/src/main/java/org/spigotmc/WatchdogThread.java
|
+++ b/src/main/java/org/spigotmc/WatchdogThread.java
|
||||||
@@ -0,0 +0,0 @@ public final class WatchdogThread extends io.papermc.paper.util.TickThread // Pa
|
@@ -0,0 +0,0 @@ public class WatchdogThread extends Thread
|
||||||
|
|
||||||
private WatchdogThread(long timeoutTime, boolean restart)
|
private WatchdogThread(long timeoutTime, boolean restart)
|
||||||
{
|
{
|
||||||
|
@ -75,7 +75,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||||
this.timeoutTime = timeoutTime;
|
this.timeoutTime = timeoutTime;
|
||||||
this.restart = restart;
|
this.restart = restart;
|
||||||
}
|
}
|
||||||
@@ -0,0 +0,0 @@ public final class WatchdogThread extends io.papermc.paper.util.TickThread // Pa
|
@@ -0,0 +0,0 @@ public class WatchdogThread extends Thread
|
||||||
{
|
{
|
||||||
Logger log = Bukkit.getServer().getLogger();
|
Logger log = Bukkit.getServer().getLogger();
|
||||||
log.log( Level.SEVERE, "------------------------------" );
|
log.log( Level.SEVERE, "------------------------------" );
|
||||||
|
@ -93,12 +93,12 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||||
//
|
//
|
||||||
if ( net.minecraft.world.level.Level.lastPhysicsProblem != null )
|
if ( net.minecraft.world.level.Level.lastPhysicsProblem != null )
|
||||||
{
|
{
|
||||||
@@ -0,0 +0,0 @@ public final class WatchdogThread extends io.papermc.paper.util.TickThread // Pa
|
@@ -0,0 +0,0 @@ public class WatchdogThread extends Thread
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
log.log( Level.SEVERE, "------------------------------" );
|
log.log( Level.SEVERE, "------------------------------" );
|
||||||
- log.log( Level.SEVERE, "Server thread dump (Look for plugins here before reporting to Spigot!):" );
|
- log.log( Level.SEVERE, "Server thread dump (Look for plugins here before reporting to Spigot!):" );
|
||||||
+ log.log( Level.SEVERE, "Server thread dump (Look for plugins here before reporting to Paper!):" ); // Paper
|
+ log.log( Level.SEVERE, "Server thread dump (Look for plugins here before reporting to Paper!):" ); // Paper
|
||||||
io.papermc.paper.chunk.system.scheduling.ChunkTaskScheduler.dumpAllChunkLoadInfo(isLongTimeout); // Paper // Paper - rewrite chunk system
|
|
||||||
WatchdogThread.dumpThread( ManagementFactory.getThreadMXBean().getThreadInfo( MinecraftServer.getServer().serverThread.getId(), Integer.MAX_VALUE ), log );
|
WatchdogThread.dumpThread( ManagementFactory.getThreadMXBean().getThreadInfo( MinecraftServer.getServer().serverThread.getId(), Integer.MAX_VALUE ), log );
|
||||||
log.log( Level.SEVERE, "------------------------------" );
|
log.log( Level.SEVERE, "------------------------------" );
|
||||||
|
//
|
|
@ -4855,7 +4855,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||||
--- a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
|
--- a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
|
+++ b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
|
||||||
@@ -0,0 +0,0 @@ public abstract class BlockBehaviour implements FeatureElement {
|
@@ -0,0 +0,0 @@ public abstract class BlockBehaviour implements FeatureElement {
|
||||||
this.spawnParticlesOnBreak = blockbase_info.spawnParticlesOnBreak;
|
this.spawnTerrainParticles = blockbase_info.spawnTerrainParticles;
|
||||||
this.instrument = blockbase_info.instrument;
|
this.instrument = blockbase_info.instrument;
|
||||||
this.replaceable = blockbase_info.replaceable;
|
this.replaceable = blockbase_info.replaceable;
|
||||||
+ this.conditionallyFullOpaque = this.isOpaque() & this.isTransparentOnSomeFaces(); // Paper
|
+ this.conditionallyFullOpaque = this.isOpaque() & this.isTransparentOnSomeFaces(); // Paper
|
|
@ -12,12 +12,12 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||||
if (name == null) {
|
if (name == null) {
|
||||||
this.setProfile(null);
|
this.setProfile(null);
|
||||||
} else {
|
} else {
|
||||||
- this.setProfile(new GameProfile(null, name));
|
- this.setProfile(new CraftGameProfile(null, name));
|
||||||
+ // Paper start - Use Online Players Skull
|
+ // Paper start - Use Online Players Skull
|
||||||
+ GameProfile newProfile = null;
|
+ GameProfile newProfile = null;
|
||||||
+ net.minecraft.server.level.ServerPlayer player = net.minecraft.server.MinecraftServer.getServer().getPlayerList().getPlayerByName(name);
|
+ net.minecraft.server.level.ServerPlayer player = net.minecraft.server.MinecraftServer.getServer().getPlayerList().getPlayerByName(name);
|
||||||
+ if (player != null) newProfile = player.getGameProfile();
|
+ if (player != null) newProfile = player.getGameProfile();
|
||||||
+ if (newProfile == null) newProfile = new GameProfile(null, name);
|
+ if (newProfile == null) newProfile = new CraftGameProfile(null, name);
|
||||||
+ this.setProfile(newProfile);
|
+ this.setProfile(newProfile);
|
||||||
+ // Paper end
|
+ // Paper end
|
||||||
}
|
}
|
Loading…
Reference in a new issue