mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-27 15:00:13 +01:00
Update Paper to MC 1.12-pre5
This commit is contained in:
parent
8fb32efc40
commit
b39f2133a1
46 changed files with 223 additions and 243 deletions
|
@ -1,19 +1,19 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <1254957+zachbr@users.noreply.github.com>
|
||||
Date: Mon, 15 May 2017 10:11:42 -0500
|
||||
Subject: [PATCH] 1.12-pre2 versioning change and warning
|
||||
Subject: [PATCH] 1.12 prerelease versioning change and warning
|
||||
|
||||
Remove when merged to master
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/command/defaults/VersionCommand.java b/src/main/java/org/bukkit/command/defaults/VersionCommand.java
|
||||
index aae605e9..d7e3d7f4 100644
|
||||
index aae605e9..2319d6b5 100644
|
||||
--- a/src/main/java/org/bukkit/command/defaults/VersionCommand.java
|
||||
+++ b/src/main/java/org/bukkit/command/defaults/VersionCommand.java
|
||||
@@ -0,0 +0,0 @@ public class VersionCommand extends BukkitCommand {
|
||||
if (!testPermission(sender)) return true;
|
||||
|
||||
if (args.length == 0) {
|
||||
+ sender.sendMessage("This is pre-release software, and is not necessarily of the same quality as a full release"); // TODO: Remove during merge into master
|
||||
+ sender.sendMessage("This is pre-release software"); // TODO: Remove during merge into master
|
||||
sender.sendMessage("This server is running " + Bukkit.getName() + " version " + Bukkit.getVersion() + " (Implementing API version " + Bukkit.getBukkitVersion() + ")");
|
||||
sendVersion(sender);
|
||||
} else {
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] POM changes
|
|||
|
||||
|
||||
diff --git a/pom.xml b/pom.xml
|
||||
index e7891169..067d30e8 100644
|
||||
index 66bb7a12..ea6a710e 100644
|
||||
--- a/pom.xml
|
||||
+++ b/pom.xml
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -24,7 +24,7 @@ index e7891169..067d30e8 100644
|
|||
- <artifactId>spigot-api</artifactId>
|
||||
+ <groupId>com.destroystokyo.paper</groupId>
|
||||
+ <artifactId>paper-api</artifactId>
|
||||
<version>1.12-pre2-SNAPSHOT</version>
|
||||
<version>1.12-pre5-SNAPSHOT</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
- <name>Spigot-API</name>
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] Add EntityZapEvent
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPig.java b/src/main/java/net/minecraft/server/EntityPig.java
|
||||
index c2f4337d0..50629ff33 100644
|
||||
index cd97aa30f..835fd7461 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPig.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPig.java
|
||||
@@ -0,0 +0,0 @@ public class EntityPig extends EntityAnimal {
|
||||
|
@ -22,7 +22,7 @@ index c2f4337d0..50629ff33 100644
|
|||
if (CraftEventFactory.callPigZapEvent(this, entitylightning, entitypigzombie).isCancelled()) {
|
||||
return;
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
index 67be37ae8..34945598c 100644
|
||||
index fa7ec707f..2562cc45e 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
@@ -0,0 +0,0 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant {
|
||||
|
@ -37,7 +37,7 @@ index 67be37ae8..34945598c 100644
|
|||
+
|
||||
entitywitch.setPositionRotation(this.locX, this.locY, this.locZ, this.yaw, this.pitch);
|
||||
entitywitch.prepare(this.world.D(new BlockPosition(entitywitch)), (GroupDataEntity) null);
|
||||
entitywitch.setAI(this.hasAI());
|
||||
entitywitch.setNoAI(this.isNoAI());
|
||||
@@ -0,0 +0,0 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant {
|
||||
entitywitch.setCustomNameVisible(this.getCustomNameVisible());
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ index c67cb54a3..521f46262 100644
|
|||
private Vec3D c;
|
||||
private EnumHand d;
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 1bc61ef43..25c02c727 100644
|
||||
index 3b4b5cf8c..81f8e0fd0 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
|
||||
|
|
|
@ -26,20 +26,20 @@ index af953dda4..1ce3aaa8c 100644
|
|||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
index 29c2fd4c9..02f3c001b 100644
|
||||
index 7d79e4625..a977a6775 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
@@ -0,0 +0,0 @@ public abstract class EntityHuman extends EntityLiving {
|
||||
this.j(this.getShoulderEntityLeft());
|
||||
this.j(this.getShoulderEntityRight());
|
||||
if (!this.world.isClientSide && (!this.onGround || this.isInWater())) {
|
||||
if (!this.world.isClientSide && (!this.onGround || this.isInWater() || this.isPassenger())) {
|
||||
- this.releaseShoulderEntities();
|
||||
+ if (!this.world.paperConfig.parrotsHangOnBetter) this.releaseShoulderEntities(); // Paper - Hang on!
|
||||
}
|
||||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 0b6fd67e7..7a4673278 100644
|
||||
index 9b78df95c..3c59a2f40 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
|
||||
|
|
|
@ -30,8 +30,20 @@ index 4f2fa59ac..8af52a61f 100644
|
|||
public void b() {
|
||||
this.b.l(this.a);
|
||||
this.a = false;
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index 0e70cdf6f..8a61c2369 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -0,0 +0,0 @@ public abstract class Entity implements ICommandListener {
|
||||
public boolean noclip;
|
||||
public float R;
|
||||
protected Random random;
|
||||
+ public boolean fromMobSpawner; // Paper
|
||||
public int ticksLived;
|
||||
public int fireTicks;
|
||||
public boolean inWater; // Spigot - protected -> public // PAIL
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
index 254955156..09e5408ac 100644
|
||||
index 67f26bd62..6adb38de0 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
@@ -0,0 +0,0 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
|
@ -43,18 +55,23 @@ index 254955156..09e5408ac 100644
|
|||
public EntityInsentient(World world) {
|
||||
super(world);
|
||||
@@ -0,0 +0,0 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
// Spigot Start
|
||||
if ( this.fromMobSpawner )
|
||||
{
|
||||
this.world.methodProfiler.a("checkDespawn");
|
||||
this.L();
|
||||
this.world.methodProfiler.b();
|
||||
+ // Paper start - Re-add so we can allow them to float in water
|
||||
+ if (this.fromMobSpawner) {
|
||||
+ // Paper start - Allow nerfed mobs to jump and float
|
||||
+ if (goalFloat != null) {
|
||||
+ if (goalFloat.validConditions()) goalFloat.update();
|
||||
+ this.getControllerJump().jumpIfSet();
|
||||
+ }
|
||||
+ // Paper end
|
||||
return;
|
||||
}
|
||||
// Spigot End
|
||||
+ return;
|
||||
+ }
|
||||
+ // Spigot End
|
||||
this.world.methodProfiler.a("sensing");
|
||||
this.bw.a();
|
||||
this.world.methodProfiler.b();
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalFloat.java b/src/main/java/net/minecraft/server/PathfinderGoalFloat.java
|
||||
index b3b303b3b..fc8be86fd 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalFloat.java
|
||||
|
@ -80,4 +97,17 @@ index b3b303b3b..fc8be86fd 100644
|
|||
public void e() {
|
||||
if (this.a.getRandom().nextFloat() < 0.8F) {
|
||||
this.a.getControllerJump().a();
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index 825ca9346..2f409fe1e 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -0,0 +0,0 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
|
||||
@Override
|
||||
public boolean hasAI() {
|
||||
- return (this.getHandle() instanceof EntityInsentient) ? !((EntityInsentient) this.getHandle()).isNoAI(): false;
|
||||
+ return this.getHandle() instanceof EntityInsentient && (!((EntityInsentient) this.getHandle()).isNoAI() || this.getHandle().getWorld().spigotConfig.nerfSpawnerMobs && ((EntityInsentient) this.getHandle()).fromMobSpawner); // Paper
|
||||
}
|
||||
|
||||
@Override
|
||||
--
|
|
@ -96,19 +96,19 @@ index 9836c0c5a..39f0f5a17 100644
|
|||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index 2b01c5395..42eaef8a1 100644
|
||||
index 2ee915226..fd7fda511 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -0,0 +0,0 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
|
||||
private static final Logger bW = LogManager.getLogger();
|
||||
private static final Logger bV = LogManager.getLogger();
|
||||
public String locale = null; // Spigot private -> public // Paper - default to null
|
||||
+ public long lastSave = MinecraftServer.currentTick; // Paper
|
||||
public PlayerConnection playerConnection;
|
||||
public final MinecraftServer server;
|
||||
public final PlayerInteractManager playerInteractManager;
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 19a66b64c..1f0e79387 100644
|
||||
index 374ab7294..6f6cc49c0 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -0,0 +0,0 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
|
||||
|
@ -155,7 +155,7 @@ index 19a66b64c..1f0e79387 100644
|
|||
this.methodProfiler.a("tallying");
|
||||
// Spigot start
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
index e7017883f..31f2704af 100644
|
||||
index a6576841b..f40bd1f46 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
@@ -0,0 +0,0 @@ public abstract class PlayerList {
|
||||
|
@ -192,7 +192,7 @@ index e7017883f..31f2704af 100644
|
|||
public void addWhitelist(GameProfile gameprofile) {
|
||||
this.whitelist.add(new WhiteListEntry(gameprofile));
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 36e6fdd16..b1253899c 100644
|
||||
index 9f297f8de..a49e2302c 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -0,0 +0,0 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
|
|
|
@ -27,19 +27,19 @@ index 70af657f5..af953dda4 100644
|
|||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index b8b1b32df..2794ffa5b 100644
|
||||
index 7339e337b..883777223 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -0,0 +0,0 @@ public abstract class Entity implements ICommandListener {
|
||||
public final byte activationType = org.spigotmc.ActivationRange.initializeEntityActivationType(this);
|
||||
public final boolean defaultActivationState;
|
||||
public long activatedTick = Integer.MIN_VALUE;
|
||||
public boolean fromMobSpawner;
|
||||
+ protected int numCollisions = 0; // Paper
|
||||
public void inactiveTick() { }
|
||||
// Spigot end
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index f59c67b79..096d56026 100644
|
||||
index 75dbd8cf1..e5c7ee17f 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -0,0 +0,0 @@ public abstract class EntityLiving extends Entity {
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] Change implementation of (tile)entity removal list
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index e712ab370..e9a7565ae 100644
|
||||
index a41bfe580..321306cb8 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -0,0 +0,0 @@ public abstract class Entity implements ICommandListener {
|
||||
|
@ -24,7 +24,7 @@ index e712ab370..e9a7565ae 100644
|
|||
public boolean impulse;
|
||||
public int portalCooldown;
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 4b49d1976..b7f502ecd 100644
|
||||
index 07596960b..c3449f94c 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -0,0 +0,0 @@ import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
|
||||
|
|
|
@ -8,16 +8,16 @@ World checks and the Chunk Add logic are inconsistent on how Y > 256, < 0, is tr
|
|||
Keep them consistent
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 0a473d7d2..888ecce77 100644
|
||||
index 28c249718..b12d464dc 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -0,0 +0,0 @@ public abstract class World implements IBlockAccess {
|
||||
}
|
||||
}
|
||||
|
||||
int k = MathHelper.floor(entity.locX / 16.0D);
|
||||
- int l = MathHelper.floor(entity.locY / 16.0D);
|
||||
+ int l = Math.min(15, Math.max(0, MathHelper.floor(entity.locY / 16.0D))); // Paper - stay consistent with chunk add/remove behavior
|
||||
int i1 = MathHelper.floor(entity.locZ / 16.0D);
|
||||
int i = MathHelper.floor(entity.locX / 16.0D);
|
||||
- int j = MathHelper.floor(entity.locY / 16.0D);
|
||||
+ int j = Math.min(15, Math.max(0, MathHelper.floor(entity.locY / 16.0D))); // Paper - stay consistent with chunk add/remove behavior
|
||||
int k = MathHelper.floor(entity.locZ / 16.0D);
|
||||
|
||||
if (!entity.aa || entity.ab != k || entity.ac != l || entity.ad != i1) {
|
||||
if (!entity.aa || entity.ab != i || entity.ac != j || entity.ad != k) {
|
||||
--
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] Complete resource pack API
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 65ab76cc5..1bc61ef43 100644
|
||||
index 9be557062..3b4b5cf8c 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
|
||||
|
@ -23,7 +23,7 @@ index 65ab76cc5..1bc61ef43 100644
|
|||
// CraftBukkit end
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index cf753d362..5839801f5 100644
|
||||
index 4822071c9..409582d5b 100644
|
||||
--- a/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 {
|
||||
|
|
|
@ -21,7 +21,7 @@ index 74a49a5fb..3a942c763 100644
|
|||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index ecdb92397..b55ce6b1a 100644
|
||||
index cf2c4ea3b..0ce50541c 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -0,0 +0,0 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
|
||||
|
@ -39,7 +39,7 @@ index ecdb92397..b55ce6b1a 100644
|
|||
|
||||
if (i1 - j > 1000L) {
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 036d96fa7..b3c580836 100644
|
||||
index fee13283f..33776d905 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -0,0 +0,0 @@ public abstract class World implements IBlockAccess {
|
||||
|
|
|
@ -20,24 +20,24 @@ index fd606ee14..c00fa83d5 100644
|
|||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index 3ef2ffd2d..586c4ad0d 100644
|
||||
index a6f70d846..8b0c126a3 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -0,0 +0,0 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
private long co = System.currentTimeMillis();
|
||||
private Entity cp;
|
||||
private long cn = System.currentTimeMillis();
|
||||
private Entity co;
|
||||
public boolean worldChangeInvuln;
|
||||
- private boolean cr;
|
||||
+ private boolean cr; private void setHasSeenCredits(boolean has) { this.cr = has; } // Paper - OBFHELPER
|
||||
private final RecipeBookServer cs = new RecipeBookServer();
|
||||
private Vec3D ct;
|
||||
private int cu;
|
||||
- private boolean cq;
|
||||
+ private boolean cq; private void setHasSeenCredits(boolean has) { this.cq = has; } // Paper - OBFHELPER
|
||||
private final RecipeBookServer cr = new RecipeBookServer();
|
||||
private Vec3D cs;
|
||||
private int ct;
|
||||
@@ -0,0 +0,0 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
this.world.kill(this);
|
||||
if (!this.viewingCredits) {
|
||||
this.viewingCredits = true;
|
||||
+ if (world.paperConfig.disableEndCredits) this.setHasSeenCredits(true); // Paper - Toggle to always disable end credits
|
||||
this.playerConnection.sendPacket(new PacketPlayOutGameStateChange(4, this.cr ? 0.0F : 1.0F));
|
||||
this.cr = true;
|
||||
this.playerConnection.sendPacket(new PacketPlayOutGameStateChange(4, this.cq ? 0.0F : 1.0F));
|
||||
this.cq = true;
|
||||
}
|
||||
--
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] Configurable packet in spam threshold
|
|||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
index c758bde3f..d765607c0 100644
|
||||
index cf06f8ac3..2001175bf 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
@@ -0,0 +0,0 @@ public class PaperConfig {
|
||||
|
@ -23,7 +23,7 @@ index c758bde3f..d765607c0 100644
|
|||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index bac3ba83d..7b8e7f343 100644
|
||||
index 73baf015b..de8c9a3a5 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
|
||||
|
|
|
@ -20,7 +20,7 @@ index 091c96411..693f157ea 100644
|
|||
// Paper end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index 1277ba3c2..ff2fe1b9d 100644
|
||||
index e5c7ee17f..00201988f 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -0,0 +0,0 @@ public abstract class EntityLiving extends Entity {
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] Don't allow entities to ride themselves - #572
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index 6915be3f1..b8b1b32df 100644
|
||||
index 902df7ac6..7339e337b 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -0,0 +0,0 @@ public abstract class Entity implements ICommandListener {
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] Don't let fishinghooks use portals
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index 5476aa5f7..ca05b3310 100644
|
||||
index 7ced4d196..c5c701f08 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -0,0 +0,0 @@ public abstract class Entity implements ICommandListener {
|
||||
|
@ -18,7 +18,7 @@ index 5476aa5f7..ca05b3310 100644
|
|||
public int dimension;
|
||||
protected BlockPosition an;
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java
|
||||
index e6a1e5a2a..d905c338f 100644
|
||||
index 1ef0fbe4d..95cc18716 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityFishingHook.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityFishingHook.java
|
||||
@@ -0,0 +0,0 @@ public class EntityFishingHook extends Entity {
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] Don't spam reload spawn chunks in nether/end
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index fb24b5407..e301eaf9d 100644
|
||||
index 85cd83c35..364cfe885 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -0,0 +0,0 @@ public abstract class World implements IBlockAccess {
|
||||
|
|
|
@ -7,7 +7,7 @@ Saving players async is extremely dangerous. This will force it to main
|
|||
the same way we handle async chunk loads.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
index 31f2704af..bc2322e62 100644
|
||||
index f40bd1f46..772670a03 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
@@ -0,0 +0,0 @@ public abstract class PlayerList {
|
||||
|
|
|
@ -14,7 +14,7 @@ big slowdown in execution but throwing an exception at same time to raise awaren
|
|||
that it is happening so that plugin authors can fix their code to stop executing commands async.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 63ea04fb4..65ab76cc5 100644
|
||||
index 7c4fe706a..9be557062 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] Entity Origin API
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index bbbd1689e..3dff98596 100644
|
||||
index 7ced523cd..2892f31f0 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -0,0 +0,0 @@ public abstract class Entity implements ICommandListener {
|
||||
|
@ -101,7 +101,7 @@ index bc6383669..ca9eb2f3b 100644
|
|||
if (i >= 0 && i < this.list.size()) {
|
||||
NBTBase nbtbase = (NBTBase) this.list.get(i);
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index b87273aca..c6cf7754b 100644
|
||||
index 3d114cfea..d207092ed 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -0,0 +0,0 @@ public abstract class World implements IBlockAccess {
|
||||
|
@ -118,7 +118,7 @@ index b87273aca..c6cf7754b 100644
|
|||
flag = true;
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index f849a8148..63154b647 100644
|
||||
index 6375b5c40..87813d59c 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -0,0 +0,0 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] Fix AIOOBE in inventory handling
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index b8ec71a93..bac3ba83d 100644
|
||||
index c2e93bb45..73baf015b 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
|
||||
|
|
|
@ -6,7 +6,7 @@ Subject: [PATCH] Fix NFE when attempting to read EMPTY ItemStack
|
|||
Thanks @gabizou
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
|
||||
index 4de2e2b25..b8ac7479d 100644
|
||||
index 3aefb023e..8c7f57bc7 100644
|
||||
--- a/src/main/java/net/minecraft/server/ItemStack.java
|
||||
+++ b/src/main/java/net/minecraft/server/ItemStack.java
|
||||
@@ -0,0 +0,0 @@ public final class ItemStack {
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] Fix block break desync
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 20f026eb8..0b6fd67e7 100644
|
||||
index 32baff5e2..9b78df95c 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
|
||||
|
|
|
@ -6,7 +6,7 @@ Subject: [PATCH] IllegalPacketEvent
|
|||
Fired for invalid data from players that represents hacking attempts
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index d2742df61..13cce8904 100644
|
||||
index 12e07ccc4..9ee2cd17d 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -0,0 +0,0 @@ import org.bukkit.inventory.CraftingInventory;
|
||||
|
|
|
@ -5,13 +5,13 @@ Subject: [PATCH] Implement PlayerLocaleChangeEvent
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index 42f6b7206..f4a2e748d 100644
|
||||
index 01adb5807..6024b001f 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -0,0 +0,0 @@ import org.bukkit.inventory.MainHand;
|
||||
public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
|
||||
private static final Logger bW = LogManager.getLogger();
|
||||
private static final Logger bV = LogManager.getLogger();
|
||||
- public String locale = "en_US"; // Spigot private -> public
|
||||
+ public String locale = null; // Spigot private -> public // Paper - default to null
|
||||
public PlayerConnection playerConnection;
|
||||
|
@ -30,11 +30,11 @@ index 42f6b7206..f4a2e748d 100644
|
|||
+ new com.destroystokyo.paper.event.player.PlayerLocaleChangeEvent(this.getBukkitEntity(), oldLocale, this.locale).callEvent();
|
||||
+ }
|
||||
+ // Paper end
|
||||
this.cm = packetplayinsettings.c();
|
||||
this.cn = packetplayinsettings.d();
|
||||
this.cl = packetplayinsettings.c();
|
||||
this.cm = packetplayinsettings.d();
|
||||
this.getDataWatcher().set(EntityPlayer.br, Byte.valueOf((byte) packetplayinsettings.e()));
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 00f9229f0..d1f70af51 100644
|
||||
index ca0fd5843..234becfd4 100644
|
||||
--- a/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 {
|
||||
|
@ -45,7 +45,6 @@ index 00f9229f0..d1f70af51 100644
|
|||
+ // Paper start - Locale change event
|
||||
+ final String locale = getHandle().locale;
|
||||
+ return locale != null ? locale : "en_US";
|
||||
+ // Paper end
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -13,7 +13,7 @@ custom renderers are in use, defaulting to the much simpler Vanilla system.
|
|||
Additionally, numerous issues to player position tracking on maps has been fixed.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
index b4507fe0c..29c2fd4c9 100644
|
||||
index dcd2ac6ab..7d79e4625 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
@@ -0,0 +0,0 @@ public abstract class EntityHuman extends EntityLiving {
|
||||
|
@ -48,7 +48,7 @@ index 10cafe057..1d0d7453a 100644
|
|||
Iterator iterator = this.trackedPlayers.iterator(); // CraftBukkit
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 0ddc03507..634f1c28c 100644
|
||||
index 8729a0056..ba554517f 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -0,0 +0,0 @@ public abstract class World implements IBlockAccess {
|
||||
|
|
|
@ -1,26 +0,0 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Mon, 2 Jan 2017 02:07:24 -0500
|
||||
Subject: [PATCH] MC-111699: Ignore Improper Anvil Item Name Packets
|
||||
|
||||
The client is improperly sending Item Name Packets to the server BEFORE
|
||||
the click event. This causes the server to reset before the click event is processed
|
||||
|
||||
This breaks the ability to rename more than 1 item at a time.
|
||||
|
||||
See: https://bugs.mojang.com/browse/MC-111699
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 563781256..dfeadd9b5 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
|
||||
String s4 = SharedConstants.a(packetplayincustompayload.b().e(32767));
|
||||
|
||||
if (s4.length() <= 30) {
|
||||
- containeranvil.a(s4);
|
||||
+ if (!s4.isEmpty() || containeranvil.getSlot(2).getItem().isEmpty()) containeranvil.a(s4); // Paper - Hack Fix for MC-111699
|
||||
}
|
||||
} else {
|
||||
containeranvil.a("");
|
||||
--
|
|
@ -1,20 +0,0 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Mon, 2 Jan 2017 02:43:22 -0500
|
||||
Subject: [PATCH] MC-112017: Allow 31 instead of 30 for item names
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index dfeadd9b5..20f026eb8 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
|
||||
if (packetplayincustompayload.b() != null && packetplayincustompayload.b().readableBytes() >= 1) {
|
||||
String s4 = SharedConstants.a(packetplayincustompayload.b().e(32767));
|
||||
|
||||
- if (s4.length() <= 30) {
|
||||
+ if (s4.length() <= 31) { // Paper - MC-112017
|
||||
if (!s4.isEmpty() || containeranvil.getSlot(2).getItem().isEmpty()) containeranvil.a(s4); // Paper - Hack Fix for MC-111699
|
||||
}
|
||||
} else {
|
||||
--
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] Optimise removeQueue
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index c8183de48..1aa2d2e0a 100644
|
||||
index 182513efd..3906d4bf7 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -0,0 +0,0 @@ package net.minecraft.server;
|
||||
|
@ -25,9 +25,9 @@ index c8183de48..1aa2d2e0a 100644
|
|||
public double e;
|
||||
- public final List<Integer> removeQueue = Lists.newLinkedList();
|
||||
+ public final Deque<Integer> removeQueue = new ArrayDeque<>(); // Paper
|
||||
private final AdvancementDataPlayer bZ;
|
||||
private final ServerStatisticManager ca;
|
||||
private float cb = Float.MIN_VALUE;
|
||||
private final AdvancementDataPlayer bY;
|
||||
private final ServerStatisticManager bZ;
|
||||
private float ca = Float.MIN_VALUE;
|
||||
@@ -0,0 +0,0 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
Iterator iterator = this.removeQueue.iterator();
|
||||
int j = 0;
|
||||
|
@ -49,15 +49,15 @@ index c8183de48..1aa2d2e0a 100644
|
|||
}
|
||||
@@ -0,0 +0,0 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
this.lastHealthSent = -1.0F;
|
||||
this.ci = -1;
|
||||
// this.cs.a((RecipeBook) entityplayer.cs); // CraftBukkit
|
||||
this.ch = -1;
|
||||
// this.cr.a((RecipeBook) entityplayer.cr); // CraftBukkit
|
||||
- this.removeQueue.addAll(entityplayer.removeQueue);
|
||||
+ //this.removeQueue.addAll(entityplayer.removeQueue); // Paper
|
||||
+ // Paper start - Optimize remove queue
|
||||
+ //this.removeQueue.addAll(entityplayer.removeQueue);
|
||||
+ if (this.removeQueue != entityplayer.removeQueue) {
|
||||
+ this.removeQueue.addAll(entityplayer.removeQueue);
|
||||
+ }
|
||||
+ // Paper end
|
||||
this.cr = entityplayer.cr;
|
||||
this.cw = entityplayer.cw;
|
||||
this.cq = entityplayer.cq;
|
||||
this.cv = entityplayer.cv;
|
||||
this.setShoulderEntityLeft(entityplayer.getShoulderEntityLeft());
|
||||
--
|
|
@ -8,7 +8,7 @@ Use an optimized method to test if a block position meets a desired light level.
|
|||
This method benefits from returning as soon as the desired light level matches.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockCrops.java b/src/main/java/net/minecraft/server/BlockCrops.java
|
||||
index e9c5d1465..9015affc5 100644
|
||||
index 128096453..fea81de16 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockCrops.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockCrops.java
|
||||
@@ -0,0 +0,0 @@ public class BlockCrops extends BlockPlant implements IBlockFragilePlantElement
|
||||
|
@ -17,11 +17,11 @@ index e9c5d1465..9015affc5 100644
|
|||
super.b(world, blockposition, iblockdata, random);
|
||||
- if (world.getLightLevel(blockposition.up()) >= 9) {
|
||||
+ if (world.isLightLevel(blockposition.up(), 9)) { // Paper
|
||||
int i = this.z(iblockdata);
|
||||
int i = this.y(iblockdata);
|
||||
|
||||
if (i < this.g()) {
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockGrass.java b/src/main/java/net/minecraft/server/BlockGrass.java
|
||||
index fb1bf80b8..8b43e6070 100644
|
||||
index d0fa96651..62ec2ad31 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockGrass.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockGrass.java
|
||||
@@ -0,0 +0,0 @@ public class BlockGrass extends Block implements IBlockFragilePlantElement {
|
||||
|
@ -65,7 +65,7 @@ index fb1bf80b8..8b43e6070 100644
|
|||
// world.setTypeUpdate(blockposition1, Blocks.GRASS.getBlockData());
|
||||
org.bukkit.World bworld = world.getWorld();
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockSapling.java b/src/main/java/net/minecraft/server/BlockSapling.java
|
||||
index f463b7113..89458cd77 100644
|
||||
index b22949368..cb1e5a2a3 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockSapling.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockSapling.java
|
||||
@@ -0,0 +0,0 @@ public class BlockSapling extends BlockPlant implements IBlockFragilePlantElemen
|
||||
|
@ -78,7 +78,7 @@ index f463b7113..89458cd77 100644
|
|||
world.captureTreeGeneration = true;
|
||||
// CraftBukkit end
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockStem.java b/src/main/java/net/minecraft/server/BlockStem.java
|
||||
index c74b6284f..bb96e164e 100644
|
||||
index 7492110fa..8d1630ac0 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockStem.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockStem.java
|
||||
@@ -0,0 +0,0 @@ public class BlockStem extends BlockPlant implements IBlockFragilePlantElement {
|
||||
|
@ -118,15 +118,15 @@ index 21539ff9b..1585bf3bc 100644
|
|||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
index bf059a746..003e06156 100644
|
||||
index 2b619ab93..372890b5d 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
@@ -0,0 +0,0 @@ public class EntityZombie extends EntityMonster {
|
||||
int j1 = j + MathHelper.nextInt(this.random, 7, 40) * MathHelper.nextInt(this.random, -1, 1);
|
||||
int k1 = k + MathHelper.nextInt(this.random, 7, 40) * MathHelper.nextInt(this.random, -1, 1);
|
||||
|
||||
- if (this.world.getType(new BlockPosition(i1, j1 - 1, k1)).r() && this.world.getLightLevel(new BlockPosition(i1, j1, k1)) < 10) {
|
||||
+ if (this.world.getType(new BlockPosition(i1, j1 - 1, k1)).r() && !this.world.isLightLevel(new BlockPosition(i1, j1, k1), 10)) { // Paper
|
||||
- if (this.world.getType(new BlockPosition(i1, j1 - 1, k1)).q() && this.world.getLightLevel(new BlockPosition(i1, j1, k1)) < 10) {
|
||||
+ if (this.world.getType(new BlockPosition(i1, j1 - 1, k1)).q() && !this.world.isLightLevel(new BlockPosition(i1, j1, k1), 10)) { // Paper
|
||||
entityzombie.setPosition((double) i1, (double) j1, (double) k1);
|
||||
if (!this.world.isPlayerNearby((double) i1, (double) j1, (double) k1, 7.0D) && this.world.a(entityzombie.getBoundingBox(), (Entity) entityzombie) && this.world.getCubes(entityzombie, entityzombie.getBoundingBox()).isEmpty() && !this.world.containsLiquid(entityzombie.getBoundingBox())) {
|
||||
this.world.addEntity(entityzombie, CreatureSpawnEvent.SpawnReason.REINFORCEMENTS); // CraftBukkit
|
||||
|
|
|
@ -19,7 +19,7 @@ index 3a942c763..3bd29650c 100644
|
|||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index b3911fa9f..fa940ad31 100644
|
||||
index 5428220a0..3177c17c4 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -0,0 +0,0 @@ public abstract class Entity implements ICommandListener {
|
||||
|
@ -31,7 +31,7 @@ index b3911fa9f..fa940ad31 100644
|
|||
public ScoreboardTeamBase aW() {
|
||||
if (!this.world.paperConfig.nonPlayerEntitiesOnScoreboards && !(this instanceof EntityHuman)) { return null; } // Paper
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 25c02c727..353e73b15 100644
|
||||
index 81f8e0fd0..b5284cecd 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] POM Changes
|
|||
|
||||
|
||||
diff --git a/pom.xml b/pom.xml
|
||||
index 4f14d6f41..a833892e3 100644
|
||||
index 31cb11194..167bc0ac2 100644
|
||||
--- a/pom.xml
|
||||
+++ b/pom.xml
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -17,7 +17,7 @@ index 4f14d6f41..a833892e3 100644
|
|||
+ <groupId>com.destroystokyo.paper</groupId>
|
||||
+ <artifactId>paper</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<version>1.12-pre2-SNAPSHOT</version>
|
||||
<version>1.12-pre5-SNAPSHOT</version>
|
||||
- <name>Spigot</name>
|
||||
- <url>http://www.spigotmc.org</url>
|
||||
+ <name>Paper</name>
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] Player Tab List and Title APIs
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PacketPlayOutPlayerListHeaderFooter.java b/src/main/java/net/minecraft/server/PacketPlayOutPlayerListHeaderFooter.java
|
||||
index 5f5b3825d..242efb0b9 100644
|
||||
index 0663b07ca..f5ef1ba31 100644
|
||||
--- a/src/main/java/net/minecraft/server/PacketPlayOutPlayerListHeaderFooter.java
|
||||
+++ b/src/main/java/net/minecraft/server/PacketPlayOutPlayerListHeaderFooter.java
|
||||
@@ -0,0 +0,0 @@ import java.io.IOException;
|
||||
|
@ -78,7 +78,7 @@ index 7bcafa8bb..4f6c1c2e7 100644
|
|||
|
||||
if (this.a == PacketPlayOutTitle.EnumTitleAction.TIMES) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index efcf383e7..b1c06388b 100644
|
||||
index 21c729026..a7e011404 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
|
|
@ -5,11 +5,11 @@ Subject: [PATCH] Player affects spawning API
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
index fc3d05394..b4507fe0c 100644
|
||||
index 186e2df8b..dcd2ac6ab 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
@@ -0,0 +0,0 @@ public abstract class EntityHuman extends EntityLiving {
|
||||
private final ItemCooldown bX;
|
||||
private final ItemCooldown bW;
|
||||
@Nullable
|
||||
public EntityFishingHook hookedFish;
|
||||
+ public boolean affectsSpawning = true;
|
||||
|
@ -17,7 +17,7 @@ index fc3d05394..b4507fe0c 100644
|
|||
// CraftBukkit start
|
||||
public boolean fauxSleeping;
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
index be3422adc..2802cc062 100644
|
||||
index bb27f5dd8..65b7b33be 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
@@ -0,0 +0,0 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
|
@ -44,7 +44,7 @@ index dcc251e31..d8344ddc9 100644
|
|||
return false;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
|
||||
index 4c65dc0a9..c56a8e9c2 100644
|
||||
index a599a043d..1c7c187c7 100644
|
||||
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
|
||||
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
|
||||
@@ -0,0 +0,0 @@ public final class SpawnerCreature {
|
||||
|
@ -57,7 +57,7 @@ index 4c65dc0a9..c56a8e9c2 100644
|
|||
|
||||
j = MathHelper.floor(entityhuman.locZ / 16.0D);
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 1ff2263eb..b87273aca 100644
|
||||
index 6b404e385..3d114cfea 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -0,0 +0,0 @@ public abstract class World implements IBlockAccess {
|
||||
|
@ -70,7 +70,7 @@ index 1ff2263eb..b87273aca 100644
|
|||
|
||||
if (d3 < 0.0D || d4 < d3 * d3) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 433aafb33..c5924a2be 100644
|
||||
index 06f33f80e..6f042b620 100644
|
||||
--- a/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 {
|
||||
|
|
|
@ -6,7 +6,7 @@ Subject: [PATCH] Properly fix item duplication bug
|
|||
Credit to prplz for figuring out the real issue
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index 8d48d7c0c..eca718513 100644
|
||||
index 3906d4bf7..0cd711c3e 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -0,0 +0,0 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
|
@ -19,7 +19,7 @@ index 8d48d7c0c..eca718513 100644
|
|||
|
||||
public void reset() {
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 13cce8904..563781256 100644
|
||||
index 9ee2cd17d..32baff5e2 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
|
||||
|
|
|
@ -30,7 +30,7 @@ will have plugins and worlds saving to the disk has a high potential to result
|
|||
in corruption/dataloss.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 40514d042..f0743e6cc 100644
|
||||
index 42769d164..6c5b40f32 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -0,0 +0,0 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs
|
||||
|
@ -78,7 +78,7 @@ index 40514d042..f0743e6cc 100644
|
|||
return this.serverThread;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
index 072de1f71..4483beeba 100644
|
||||
index 772670a03..34f113ee5 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
@@ -0,0 +0,0 @@ public abstract class PlayerList {
|
||||
|
@ -107,7 +107,7 @@ index 072de1f71..4483beeba 100644
|
|||
// CraftBukkit start
|
||||
public void sendMessage(IChatBaseComponent[] iChatBaseComponents) {
|
||||
diff --git a/src/main/java/org/spigotmc/RestartCommand.java b/src/main/java/org/spigotmc/RestartCommand.java
|
||||
index 49768734d..d51636c8e 100644
|
||||
index 49768734d..e1bc3e64e 100644
|
||||
--- a/src/main/java/org/spigotmc/RestartCommand.java
|
||||
+++ b/src/main/java/org/spigotmc/RestartCommand.java
|
||||
@@ -0,0 +0,0 @@ public class RestartCommand extends Command
|
||||
|
@ -115,6 +115,8 @@ index 49768734d..d51636c8e 100644
|
|||
try
|
||||
{
|
||||
- if ( script.isFile() )
|
||||
- {
|
||||
- System.out.println( "Attempting to restart with " + SpigotConfig.restartScript );
|
||||
+ // Paper - extract method and cleanup
|
||||
+ boolean isRestarting = addShutdownHook(script);
|
||||
+ if (isRestarting) {
|
||||
|
@ -122,39 +124,11 @@ index 49768734d..d51636c8e 100644
|
|||
+ } else {
|
||||
+ System.out.println( "Startup script '" + SpigotConfig.restartScript + "' does not exist! Stopping server." );
|
||||
+ }
|
||||
+
|
||||
+ // Stop the watchdog
|
||||
+ WatchdogThread.doStop();
|
||||
+
|
||||
+ shutdownServer(isRestarting);
|
||||
+ } catch ( Exception ex )
|
||||
+ {
|
||||
+ ex.printStackTrace();
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ // Paper start - sync copied from above with minor changes, async added
|
||||
+ private static void shutdownServer(boolean isRestarting)
|
||||
+ {
|
||||
+ if (MinecraftServer.getServer().isMainThread())
|
||||
+ {
|
||||
+ // Kick all players
|
||||
+ for ( EntityPlayer p : com.google.common.collect.ImmutableList.copyOf( MinecraftServer.getServer().getPlayerList().players ) )
|
||||
+ {
|
||||
+ p.playerConnection.disconnect(SpigotConfig.restartMessage);
|
||||
+ }
|
||||
+ // Give the socket a chance to send the packets
|
||||
+ try
|
||||
+ {
|
||||
+ Thread.sleep( 100 );
|
||||
+ } catch ( InterruptedException ex )
|
||||
{
|
||||
- System.out.println( "Attempting to restart with " + SpigotConfig.restartScript );
|
||||
+ }
|
||||
|
||||
- // Disable Watchdog
|
||||
- WatchdogThread.doStop();
|
||||
+ closeSocket();
|
||||
+ // Stop the watchdog
|
||||
+ WatchdogThread.doStop();
|
||||
|
||||
- // Kick all players
|
||||
- for ( EntityPlayer p : (List< EntityPlayer>) MinecraftServer.getServer().getPlayerList().players )
|
||||
|
@ -170,14 +144,7 @@ index 49768734d..d51636c8e 100644
|
|||
- }
|
||||
- // Close the socket so we can rebind with the new process
|
||||
- MinecraftServer.getServer().getServerConnection().b();
|
||||
+ // Actually shutdown
|
||||
+ try
|
||||
+ {
|
||||
+ MinecraftServer.getServer().stop();
|
||||
+ } catch ( Throwable t )
|
||||
+ {
|
||||
+ }
|
||||
|
||||
-
|
||||
- // Give time for it to kick in
|
||||
- try
|
||||
- {
|
||||
|
@ -185,8 +152,12 @@ index 49768734d..d51636c8e 100644
|
|||
- } catch ( InterruptedException ex )
|
||||
- {
|
||||
- }
|
||||
+ // Actually stop the JVM
|
||||
+ System.exit(0);
|
||||
+ shutdownServer(isRestarting);
|
||||
+ } catch ( Exception ex )
|
||||
+ {
|
||||
+ ex.printStackTrace();
|
||||
+ }
|
||||
+ }
|
||||
|
||||
- // Actually shutdown
|
||||
- try
|
||||
|
@ -195,10 +166,23 @@ index 49768734d..d51636c8e 100644
|
|||
- } catch ( Throwable t )
|
||||
- {
|
||||
- }
|
||||
+ } else
|
||||
+ // Paper start - sync copied from above with minor changes, async added
|
||||
+ private static void shutdownServer(boolean isRestarting)
|
||||
+ {
|
||||
+ if (MinecraftServer.getServer().isMainThread())
|
||||
+ {
|
||||
+ // Mark the server to shutdown at the end of the tick
|
||||
+ MinecraftServer.getServer().safeShutdown(isRestarting);
|
||||
+ // Kick all players
|
||||
+ for ( EntityPlayer p : com.google.common.collect.ImmutableList.copyOf( MinecraftServer.getServer().getPlayerList().players ) )
|
||||
+ {
|
||||
+ p.playerConnection.disconnect(SpigotConfig.restartMessage);
|
||||
+ }
|
||||
+ // Give the socket a chance to send the packets
|
||||
+ try
|
||||
+ {
|
||||
+ Thread.sleep( 100 );
|
||||
+ } catch ( InterruptedException ex )
|
||||
+ {
|
||||
+ }
|
||||
|
||||
- // This will be done AFTER the server has completely halted
|
||||
- Thread shutdownHook = new Thread()
|
||||
|
@ -225,19 +209,24 @@ index 49768734d..d51636c8e 100644
|
|||
- }
|
||||
- }
|
||||
- };
|
||||
+ closeSocket();
|
||||
|
||||
- shutdownHook.setDaemon( true );
|
||||
- Runtime.getRuntime().addShutdownHook( shutdownHook );
|
||||
- } else
|
||||
+ // wait 10 seconds to see if we're actually going to try shutdown
|
||||
+ // Actually shutdown
|
||||
+ try
|
||||
+ {
|
||||
+ Thread.sleep(10000);
|
||||
+ }
|
||||
+ catch (InterruptedException ignored)
|
||||
{
|
||||
- System.out.println( "Startup script '" + SpigotConfig.restartScript + "' does not exist! Stopping server." );
|
||||
-
|
||||
+ MinecraftServer.getServer().stop();
|
||||
+ } catch ( Throwable t )
|
||||
+ {
|
||||
+ }
|
||||
+ } else
|
||||
+ {
|
||||
+ // Mark the server to shutdown at the end of the tick
|
||||
+ MinecraftServer.getServer().safeShutdown(isRestarting);
|
||||
|
||||
- // Actually shutdown
|
||||
- try
|
||||
- {
|
||||
|
@ -245,6 +234,14 @@ index 49768734d..d51636c8e 100644
|
|||
- } catch ( Throwable t )
|
||||
- {
|
||||
- }
|
||||
+
|
||||
+ // wait 10 seconds to see if we're actually going to try shutdown
|
||||
+ try
|
||||
+ {
|
||||
+ Thread.sleep(10000);
|
||||
+ }
|
||||
+ catch (InterruptedException ignored)
|
||||
+ {
|
||||
}
|
||||
+
|
||||
+ // Check if we've actually hit a state where the server is going to safely shutdown
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] Remove the Vanilla Method Profiler
|
|||
|
||||
Spigot rebrought this back after it was removed for years due to the performance hit.
|
||||
|
||||
It is unknown if the JIT will optimize it out as effeciently with how it was
|
||||
It is unknown if the JIT will optimize it out as efficiently with how it was
|
||||
added, so we do not want any risk of performance degredation.
|
||||
|
||||
Paper has a proper Timings system that makes the Vanilla Method profiler obsolete and inferior.
|
||||
|
|
|
@ -7,7 +7,7 @@ This ensures that Shulker Boxes can never drop their contents twice, and
|
|||
that the inventory is cleared incase it some how also got saved to the world.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockShulkerBox.java b/src/main/java/net/minecraft/server/BlockShulkerBox.java
|
||||
index e4e0eae60..3fe3af1c2 100644
|
||||
index 717dc3245..96a279cb1 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockShulkerBox.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockShulkerBox.java
|
||||
@@ -0,0 +0,0 @@ public class BlockShulkerBox extends BlockTileEntity {
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] Timings v2
|
|||
|
||||
|
||||
diff --git a/pom.xml b/pom.xml
|
||||
index 33bbeb2bd..0cbe47cb6 100644
|
||||
index 167bc0ac2..6b73c55f9 100644
|
||||
--- a/pom.xml
|
||||
+++ b/pom.xml
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -441,7 +441,7 @@ index 5ab2cf6ee..b5795b6d3 100644
|
|||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
|
||||
index 0ee47df3f..ba3913667 100644
|
||||
index 7c39edca8..6c1c5e566 100644
|
||||
--- a/src/main/java/net/minecraft/server/Block.java
|
||||
+++ b/src/main/java/net/minecraft/server/Block.java
|
||||
@@ -0,0 +0,0 @@ public class Block {
|
||||
|
@ -531,7 +531,7 @@ index 9dcab42de..c1b0d6cea 100644
|
|||
this.chunkLoader.a(this.world, chunk);
|
||||
} catch (IOException ioexception) {
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||
index fe387e218..6550686ee 100644
|
||||
index b23de7663..fe64ee4aa 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||
@@ -0,0 +0,0 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
|
||||
|
@ -571,7 +571,7 @@ index fe387e218..6550686ee 100644
|
|||
// return chunk; // CraftBukkit
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
index 30538d8ec..840ffeb93 100644
|
||||
index 70fde368f..c56aa5c19 100644
|
||||
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
@@ -0,0 +0,0 @@ import java.io.PrintStream;
|
||||
|
@ -624,7 +624,7 @@ index 30538d8ec..840ffeb93 100644
|
|||
return waitable.get();
|
||||
} catch (java.util.concurrent.ExecutionException e) {
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index bae717b18..c6b7d6c22 100644
|
||||
index ef63b5d3b..0e70cdf6f 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -0,0 +0,0 @@ import org.bukkit.block.BlockFace;
|
||||
|
@ -663,7 +663,7 @@ index bae717b18..c6b7d6c22 100644
|
|||
|
||||
public void recalcPosition() {
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index 3a92c468c..2c22b6ca2 100644
|
||||
index bf2761d53..5a2dbe5ff 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -0,0 +0,0 @@ import org.bukkit.event.entity.EntityTeleportEvent;
|
||||
|
@ -765,7 +765,7 @@ index c840f6761..14504cbcc 100644
|
|||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 39318aaf1..e847f3f1a 100644
|
||||
index 249fccce9..3629cbc47 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -0,0 +0,0 @@ import org.bukkit.Bukkit;
|
||||
|
@ -1012,7 +1012,7 @@ index eeac34998..e4ed2e991 100644
|
|||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 1dbdcfa57..63ea04fb4 100644
|
||||
index 3bcabb195..7c4fe706a 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -0,0 +0,0 @@ import org.bukkit.inventory.CraftingInventory;
|
||||
|
@ -1056,7 +1056,7 @@ index 1dbdcfa57..63ea04fb4 100644
|
|||
}
|
||||
- org.bukkit.craftbukkit.SpigotTimings.playerCommandTimer.stopTiming(); // Spigot
|
||||
+ MinecraftTimings.playerCommandTimer.stopTiming(); // Paper
|
||||
// this.minecraftServer.getCommandHandler().b(this.player, s);
|
||||
// this.minecraftServer.getCommandHandler().a(this.player, s);
|
||||
// CraftBukkit end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
|
||||
|
@ -1090,7 +1090,7 @@ index f74b06794..1fc632e0c 100644
|
|||
+ // Paper end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
index f79683a60..4aaf287ae 100644
|
||||
index 35f421164..4a8927798 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -1176,7 +1176,7 @@ index 591f4ad7f..e02f0c442 100644
|
|||
private static final RegistryMaterials<MinecraftKey, Class<? extends TileEntity>> f = new RegistryMaterials();
|
||||
protected World world;
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index a366b2d70..eafb76003 100644
|
||||
index 41f0ac2bf..919f041d9 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -0,0 +0,0 @@ import com.google.common.collect.Maps;
|
||||
|
@ -1257,32 +1257,32 @@ index a366b2d70..eafb76003 100644
|
|||
this.methodProfiler.b();
|
||||
}
|
||||
@@ -0,0 +0,0 @@ public abstract class World implements IBlockAccess {
|
||||
entity.ticksLived++;
|
||||
entity.inactiveTick();
|
||||
} else {
|
||||
- entity.tickTimer.startTiming(); // Spigot
|
||||
// CraftBukkit end
|
||||
entity.M = entity.locX;
|
||||
entity.N = entity.locY;
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
- entity.tickTimer.startTiming(); // Spigot
|
||||
entity.M = entity.locX;
|
||||
entity.N = entity.locY;
|
||||
entity.O = entity.locZ;
|
||||
@@ -0,0 +0,0 @@ public abstract class World implements IBlockAccess {
|
||||
entity.lastPitch = entity.pitch;
|
||||
if (flag && entity.aa) {
|
||||
++entity.ticksLived;
|
||||
+ ++co.aikar.timings.TimingHistory.activatedEntityTicks; // Paper
|
||||
if (entity.isPassenger()) {
|
||||
entity.leaveVehicle();
|
||||
} else {
|
||||
entity.lastPitch = entity.pitch;
|
||||
if (flag && entity.aa) {
|
||||
++entity.ticksLived;
|
||||
+ ++co.aikar.timings.TimingHistory.activatedEntityTicks; // Paper
|
||||
if (entity.isPassenger()) {
|
||||
entity.leaveVehicle();
|
||||
} else {
|
||||
@@ -0,0 +0,0 @@ public abstract class World implements IBlockAccess {
|
||||
}
|
||||
}
|
||||
}
|
||||
-
|
||||
- entity.tickTimer.stopTiming(); // Spigot
|
||||
}
|
||||
- entity.tickTimer.stopTiming(); // Spigot
|
||||
-
|
||||
}
|
||||
|
||||
public boolean b(AxisAlignedBB axisalignedbb) {
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index d91de898f..af722bd00 100644
|
||||
index b924dad97..63c7d4402 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -0,0 +0,0 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] Vanished players don't have rights
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index ca05b3310..916c63ef7 100644
|
||||
index c5c701f08..902df7ac6 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -0,0 +0,0 @@ public abstract class Entity implements ICommandListener {
|
||||
|
@ -31,7 +31,7 @@ index c0d97f154..363209170 100644
|
|||
IBlockData iblockdata1 = this.a.getPlacedState(world, blockposition, enumdirection, f, f1, f2, i, entityhuman);
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index cfdd04d8b..42cfbe096 100644
|
||||
index 7c12338a5..8537f65fd 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -0,0 +0,0 @@ public abstract class World implements IBlockAccess {
|
||||
|
@ -69,7 +69,7 @@ index cfdd04d8b..42cfbe096 100644
|
|||
List list = this.getEntities((Entity) null, axisalignedbb);
|
||||
|
||||
@@ -0,0 +0,0 @@ public abstract class World implements IBlockAccess {
|
||||
AxisAlignedBB axisalignedbb = flag ? null : block.getBlockData().c(this, blockposition);
|
||||
AxisAlignedBB axisalignedbb = flag ? null : block.getBlockData().d(this, blockposition);
|
||||
|
||||
// CraftBukkit start - store default return
|
||||
- boolean defaultReturn = axisalignedbb != Block.k && !this.a(axisalignedbb.a(blockposition), entity) ? false : (iblockdata.getMaterial() == Material.ORIENTABLE && block == Blocks.ANVIL ? true : iblockdata.getMaterial().isReplaceable() && block.canPlace(this, blockposition, enumdirection));
|
||||
|
|
|
@ -17,7 +17,7 @@ update Bukkit
|
|||
update CraftBukkit
|
||||
update Spigot
|
||||
|
||||
if [[ "$2" = "all" ]] ; then
|
||||
if [[ "$2" = "all" || "$2" = "a" ]] ; then
|
||||
update BuildData
|
||||
update Paperclip
|
||||
fi
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit f4d4fd9c0ff899191e17fb7f7a3673f5529c0e05
|
||||
Subproject commit ceb1b906afeaa302a4038f73c2d2029914c6a6b2
|
|
@ -1 +1 @@
|
|||
Subproject commit 211c15e44665dd0365460fb3330411dca6dbbe53
|
||||
Subproject commit 60a4fa84ba7a6254d77017501a900b148aad2bfe
|
|
@ -1 +1 @@
|
|||
Subproject commit 3ecbb59cbb9e20064d04628d26387742705ab9ac
|
||||
Subproject commit c7920f4302bce2042aa9c5d1d121e488cb88f7f0
|
|
@ -1 +1 @@
|
|||
Subproject commit 1ffab67d68300a10e9c01d0ae2f87fba30e82a92
|
||||
Subproject commit 662916298a344f788a6e3cafaa90f06ad48232d2
|
Loading…
Reference in a new issue