Update to Minecraft 1.12.1

By: md_5 <git@md-5.net>
This commit is contained in:
CraftBukkit/Spigot
2017-08-03 23:00:00 +10:00
parent 4ba3003a60
commit 0cda4f9617
19 changed files with 179 additions and 254 deletions

View File

@@ -1,7 +1,7 @@
--- a/net/minecraft/server/World.java
+++ b/net/minecraft/server/World.java
@@ -13,6 +13,21 @@
import java.util.UUID;
@@ -14,6 +14,21 @@
import java.util.function.Supplier;
import javax.annotation.Nullable;
+// CraftBukkit start
@@ -22,7 +22,7 @@
public abstract class World implements IBlockAccess {
private int a = 63;
@@ -58,7 +73,52 @@
@@ -59,7 +74,52 @@
private final WorldBorder P;
int[] J;
@@ -76,7 +76,7 @@
this.u = Lists.newArrayList(new IWorldAccess[] { this.t});
this.N = Calendar.getInstance();
this.scoreboard = new Scoreboard();
@@ -71,6 +131,36 @@
@@ -72,6 +132,36 @@
this.worldProvider = worldprovider;
this.isClientSide = flag;
this.P = worldprovider.getWorldBorder();
@@ -113,7 +113,7 @@
}
public World b() {
@@ -208,6 +298,27 @@
@@ -209,6 +299,27 @@
}
public boolean setTypeAndData(BlockPosition blockposition, IBlockData iblockdata, int i) {
@@ -141,7 +141,7 @@
if (this.E(blockposition)) {
return false;
} else if (!this.isClientSide && this.worldData.getType() == WorldType.DEBUG_ALL_BLOCK_STATES) {
@@ -215,9 +326,23 @@
@@ -216,9 +327,23 @@
} else {
Chunk chunk = this.getChunkAtWorldCoords(blockposition);
Block block = iblockdata.getBlock();
@@ -165,7 +165,7 @@
return false;
} else {
if (iblockdata.c() != iblockdata1.c() || iblockdata.d() != iblockdata1.d()) {
@@ -226,6 +351,7 @@
@@ -227,6 +352,7 @@
this.methodProfiler.b();
}
@@ -173,7 +173,7 @@
if ((i & 2) != 0 && (!this.isClientSide || (i & 4) == 0) && chunk.isReady()) {
this.notify(blockposition, iblockdata1, iblockdata, i);
}
@@ -238,12 +364,37 @@
@@ -239,12 +365,37 @@
} else if (!this.isClientSide && (i & 16) == 0) {
this.c(blockposition, block);
}
@@ -211,7 +211,7 @@
public boolean setAir(BlockPosition blockposition) {
return this.setTypeAndData(blockposition, Blocks.AIR.getBlockData(), 3);
}
@@ -277,6 +428,11 @@
@@ -278,6 +429,11 @@
public void update(BlockPosition blockposition, Block block, boolean flag) {
if (this.worldData.getType() != WorldType.DEBUG_ALL_BLOCK_STATES) {
@@ -223,7 +223,7 @@
this.applyPhysics(blockposition, block, flag);
}
@@ -365,6 +521,17 @@
@@ -366,6 +522,17 @@
IBlockData iblockdata = this.getType(blockposition);
try {
@@ -241,7 +241,7 @@
iblockdata.doPhysics(this, blockposition, block, blockposition1);
} catch (Throwable throwable) {
CrashReport crashreport = CrashReport.a(throwable, "Exception while updating neighbours");
@@ -582,6 +749,17 @@
@@ -583,6 +750,17 @@
}
public IBlockData getType(BlockPosition blockposition) {
@@ -259,7 +259,7 @@
if (this.E(blockposition)) {
return Blocks.AIR.getBlockData();
} else {
@@ -787,6 +965,13 @@
@@ -788,6 +966,13 @@
}
public boolean addEntity(Entity entity) {
@@ -273,7 +273,7 @@
int i = MathHelper.floor(entity.locX / 16.0D);
int j = MathHelper.floor(entity.locZ / 16.0D);
boolean flag = entity.attachedToPlayer;
@@ -795,6 +980,37 @@
@@ -796,6 +981,37 @@
flag = true;
}
@@ -311,7 +311,7 @@
if (!flag && !this.isChunkLoaded(i, j, false)) {
return false;
} else {
@@ -817,6 +1033,7 @@
@@ -818,6 +1034,7 @@
((IWorldAccess) this.u.get(i)).a(entity);
}
@@ -319,7 +319,7 @@
}
protected void c(Entity entity) {
@@ -824,6 +1041,7 @@
@@ -825,6 +1042,7 @@
((IWorldAccess) this.u.get(i)).b(entity);
}
@@ -327,7 +327,7 @@
}
public void kill(Entity entity) {
@@ -859,7 +1077,15 @@
@@ -860,7 +1078,15 @@
this.getChunkAt(i, j).b(entity);
}
@@ -344,7 +344,7 @@
this.c(entity);
}
@@ -976,7 +1202,7 @@
@@ -977,7 +1203,7 @@
}
public boolean a(AxisAlignedBB axisalignedbb) {
@@ -353,7 +353,7 @@
}
public int a(float f) {
@@ -1046,6 +1272,11 @@
@@ -1047,6 +1273,11 @@
for (i = 0; i < this.j.size(); ++i) {
entity = (Entity) this.j.get(i);
@@ -365,7 +365,7 @@
try {
++entity.ticksLived;
@@ -1094,8 +1325,10 @@
@@ -1095,8 +1326,10 @@
CrashReportSystemDetails crashreportsystemdetails1;
CrashReport crashreport1;
@@ -378,7 +378,7 @@
Entity entity1 = entity.bJ();
if (entity1 != null) {
@@ -1128,7 +1361,7 @@
@@ -1129,7 +1362,7 @@
this.getChunkAt(j, l).b(entity);
}
@@ -387,7 +387,7 @@
this.c(entity);
}
@@ -1137,6 +1370,13 @@
@@ -1138,6 +1371,13 @@
this.methodProfiler.c("blockEntities");
this.O = true;
@@ -401,16 +401,7 @@
Iterator iterator = this.tileEntityListTick.iterator();
while (iterator.hasNext()) {
@@ -1147,7 +1387,7 @@
if (this.isLoaded(blockposition) && this.P.a(blockposition)) {
try {
- this.methodProfiler.a(tileentity.getClass().getSimpleName());
+ this.methodProfiler.a("ticking"/*tileentity.getClass().getSimpleName()*/); // CraftBukkit: SPIGOT-1900
((ITickable) tileentity).e();
this.methodProfiler.b();
} catch (Throwable throwable2) {
@@ -1169,11 +1409,13 @@
@@ -1172,11 +1412,13 @@
}
this.O = false;
@@ -424,7 +415,7 @@
this.methodProfiler.c("pendingBlockEntities");
if (!this.b.isEmpty()) {
@@ -1181,9 +1423,11 @@
@@ -1184,9 +1426,11 @@
TileEntity tileentity1 = (TileEntity) this.b.get(i1);
if (!tileentity1.y()) {
@@ -436,7 +427,7 @@
if (this.isLoaded(tileentity1.getPosition())) {
Chunk chunk = this.getChunkAtWorldCoords(tileentity1.getPosition());
@@ -1191,6 +1435,12 @@
@@ -1194,6 +1438,12 @@
chunk.a(tileentity1.getPosition(), tileentity1);
this.notify(tileentity1.getPosition(), iblockdata, iblockdata, 3);
@@ -449,7 +440,7 @@
}
}
}
@@ -1244,15 +1494,13 @@
@@ -1247,15 +1497,13 @@
int i;
int j;
@@ -471,7 +462,7 @@
entity.M = entity.locX;
entity.N = entity.locY;
@@ -1265,6 +1513,7 @@
@@ -1268,6 +1516,7 @@
entity.aE();
} else {
entity.B_();
@@ -479,7 +470,7 @@
}
}
@@ -1556,11 +1805,18 @@
@@ -1559,11 +1808,18 @@
}
}
@@ -498,7 +489,7 @@
TileEntity tileentity = null;
if (this.O) {
@@ -1595,6 +1851,14 @@
@@ -1598,6 +1854,14 @@
public void setTileEntity(BlockPosition blockposition, @Nullable TileEntity tileentity) {
if (!this.E(blockposition)) {
if (tileentity != null && !tileentity.y()) {
@@ -513,7 +504,7 @@
if (this.O) {
tileentity.setPosition(blockposition);
Iterator iterator = this.b.iterator();
@@ -1754,6 +2018,14 @@
@@ -1757,6 +2021,14 @@
}
this.o = MathHelper.a(this.o, 0.0F, 1.0F);
@@ -528,7 +519,7 @@
}
}
}
@@ -1891,7 +2163,10 @@
@@ -1894,7 +2166,10 @@
}
public boolean c(EnumSkyBlock enumskyblock, BlockPosition blockposition) {
@@ -540,7 +531,7 @@
return false;
} else {
int i = 0;
@@ -2058,7 +2333,7 @@
@@ -2061,7 +2336,7 @@
while (iterator.hasNext()) {
Entity entity = (Entity) iterator.next();
@@ -549,7 +540,7 @@
arraylist.add(entity);
}
}
@@ -2073,7 +2348,7 @@
@@ -2076,7 +2351,7 @@
while (iterator.hasNext()) {
Entity entity = (Entity) iterator.next();
@@ -558,7 +549,7 @@
arraylist.add(entity);
}
}
@@ -2122,7 +2397,7 @@
@@ -2125,7 +2400,7 @@
}
}
@@ -567,7 +558,7 @@
}
@Nullable
@@ -2143,8 +2418,17 @@
@@ -2146,8 +2421,17 @@
while (iterator.hasNext()) {
Entity entity = (Entity) iterator.next();
@@ -586,7 +577,7 @@
++i;
}
}
@@ -2153,12 +2437,18 @@
@@ -2156,12 +2440,18 @@
}
public void a(Collection<Entity> collection) {
@@ -606,7 +597,7 @@
this.b(entity);
}
@@ -2172,7 +2462,13 @@
@@ -2175,7 +2465,13 @@
IBlockData iblockdata = this.getType(blockposition);
AxisAlignedBB axisalignedbb = flag ? null : block.getBlockData().d(this, blockposition);
@@ -621,7 +612,7 @@
}
public int getSeaLevel() {
@@ -2282,6 +2578,11 @@
@@ -2285,6 +2581,11 @@
for (int i = 0; i < this.players.size(); ++i) {
EntityHuman entityhuman1 = (EntityHuman) this.players.get(i);
@@ -633,7 +624,7 @@
if (predicate.apply(entityhuman1)) {
double d5 = entityhuman1.d(d0, d1, d2);
@@ -2450,6 +2751,16 @@
@@ -2453,6 +2754,16 @@
public void everyoneSleeping() {}
@@ -650,7 +641,7 @@
public float h(float f) {
return (this.p + (this.q - this.p) * f) * this.j(f);
}
@@ -2667,7 +2978,7 @@
@@ -2670,7 +2981,7 @@
int l = j * 16 + 8 - blockposition.getZ();
boolean flag = true;