diff --git a/nms-patches/DedicatedServer.patch b/nms-patches/DedicatedServer.patch index 9085d70728..98570530b1 100644 --- a/nms-patches/DedicatedServer.patch +++ b/nms-patches/DedicatedServer.patch @@ -95,7 +95,7 @@ + thread.setDaemon(true); thread.start(); - DedicatedServer.LOGGER.info("Starting minecraft server version 1.8.6"); + DedicatedServer.LOGGER.info("Starting minecraft server version 1.8.7"); @@ -73,7 +120,7 @@ } diff --git a/nms-patches/HandshakeListener.patch b/nms-patches/HandshakeListener.patch index 89fa10ffa2..d3fb466112 100644 --- a/nms-patches/HandshakeListener.patch +++ b/nms-patches/HandshakeListener.patch @@ -58,7 +58,7 @@ + // CraftBukkit end + if (packethandshakinginsetprotocol.b() > 47) { - chatcomponenttext = new ChatComponentText("Outdated server! I\'m still on 1.8.6"); + chatcomponenttext = new ChatComponentText("Outdated server! I\'m still on 1.8.7"); this.b.handle(new PacketLoginOutDisconnect(chatcomponenttext)); @@ -26,6 +71,7 @@ this.b.close(chatcomponenttext); diff --git a/nms-patches/PlayerConnection.patch b/nms-patches/PlayerConnection.patch index 1b92fa7cfe..5833796899 100644 --- a/nms-patches/PlayerConnection.patch +++ b/nms-patches/PlayerConnection.patch @@ -1330,7 +1330,7 @@ PlayerConnectionUtils.ensureMainThread(packetplayinupdatesign, this, this.player.u()); this.player.resetIdleTimer(); WorldServer worldserver = this.minecraftServer.getWorldServer(this.player.dimension); -@@ -847,14 +1751,29 @@ +@@ -847,14 +1751,30 @@ if (!tileentitysign.b() || tileentitysign.c() != this.player) { this.minecraftServer.warning("Player " + this.player.getName() + " just tried to change non-editable sign"); @@ -1346,22 +1346,23 @@ + int y = packetplayinupdatesign.a().getY(); + int z = packetplayinupdatesign.a().getZ(); + String[] lines = new String[4]; ++ for (int i = 0; i < aichatbasecomponent.length; ++i) { -- tileentitysign.lines[i] = new ChatComponentText(aichatbasecomponent[i].c()); -+ lines[i] = aichatbasecomponent[i].c(); -+ } +- tileentitysign.lines[i] = new ChatComponentText(EnumChatFormat.a(aichatbasecomponent[i].c())); ++ lines[i] = EnumChatFormat.a(aichatbasecomponent[i].c()); + } + SignChangeEvent event = new SignChangeEvent((org.bukkit.craftbukkit.block.CraftBlock) player.getWorld().getBlockAt(x, y, z), this.server.getPlayer(this.player), lines); + this.server.getPluginManager().callEvent(event); + + if (!event.isCancelled()) { + System.arraycopy(org.bukkit.craftbukkit.block.CraftSign.sanitizeLines(event.getLines()), 0, tileentitysign.lines, 0, 4); + tileentitysign.isEditable = false; - } ++ } + // CraftBukkit end tileentitysign.update(); worldserver.notify(blockposition); -@@ -877,11 +1796,27 @@ +@@ -877,11 +1797,27 @@ public void a(PacketPlayInAbilities packetplayinabilities) { PlayerConnectionUtils.ensureMainThread(packetplayinabilities, this, this.player.u()); @@ -1390,7 +1391,7 @@ ArrayList arraylist = Lists.newArrayList(); Iterator iterator = this.minecraftServer.tabCompleteCommand(this.player, packetplayintabcomplete.a(), packetplayintabcomplete.b()).iterator(); -@@ -921,13 +1856,16 @@ +@@ -921,13 +1857,16 @@ itemstack1 = this.player.inventory.getItemInHand(); if (itemstack1 != null) { if (itemstack.getItem() == Items.WRITABLE_BOOK && itemstack.getItem() == itemstack1.getItem()) { @@ -1407,7 +1408,7 @@ return; } finally { packetdataserializer.release(); -@@ -950,16 +1888,21 @@ +@@ -950,16 +1889,21 @@ itemstack1 = this.player.inventory.getItemInHand(); if (itemstack1 != null) { if (itemstack.getItem() == Items.WRITTEN_BOOK && itemstack1.getItem() == Items.WRITABLE_BOOK) { @@ -1429,7 +1430,7 @@ return; } finally { packetdataserializer.release(); -@@ -976,11 +1919,12 @@ +@@ -976,11 +1920,12 @@ } } catch (Exception exception2) { PlayerConnection.c.error("Couldn\'t select trade", exception2); @@ -1443,7 +1444,7 @@ packetdataserializer = packetplayincustompayload.b(); try { -@@ -1016,6 +1960,7 @@ +@@ -1016,6 +1961,7 @@ } } catch (Exception exception3) { PlayerConnection.c.error("Couldn\'t set command block", exception3); @@ -1451,7 +1452,7 @@ } finally { packetdataserializer.release(); } -@@ -1041,6 +1986,7 @@ +@@ -1041,6 +1987,7 @@ } } catch (Exception exception4) { PlayerConnection.c.error("Couldn\'t set beacon", exception4); @@ -1459,7 +1460,7 @@ } } } else if ("MC|ItemName".equals(packetplayincustompayload.a()) && this.player.activeContainer instanceof ContainerAnvil) { -@@ -1056,7 +2002,28 @@ +@@ -1056,7 +2003,28 @@ containeranvil.a(""); } } diff --git a/nms-patches/WorldServer.patch b/nms-patches/WorldServer.patch index 76320014d6..09dd71324a 100644 --- a/nms-patches/WorldServer.patch +++ b/nms-patches/WorldServer.patch @@ -378,7 +378,7 @@ this.V.add(nextticklistentry); } -@@ -492,7 +664,7 @@ +@@ -489,7 +661,7 @@ if (blockposition.getX() >= structureboundingbox.a && blockposition.getX() < structureboundingbox.d && blockposition.getZ() >= structureboundingbox.c && blockposition.getZ() < structureboundingbox.f) { if (flag) { @@ -387,7 +387,7 @@ iterator.remove(); } -@@ -508,6 +680,7 @@ +@@ -505,6 +677,7 @@ return arraylist; } @@ -395,7 +395,7 @@ public void entityJoinedWorld(Entity entity, boolean flag) { if (!this.getSpawnAnimals() && (entity instanceof EntityAnimal || entity instanceof EntityWaterAnimal)) { entity.die(); -@@ -519,6 +692,7 @@ +@@ -516,6 +689,7 @@ super.entityJoinedWorld(entity, flag); } @@ -403,7 +403,7 @@ private boolean getSpawnNPCs() { return this.server.getSpawnNPCs(); -@@ -531,13 +705,43 @@ +@@ -528,13 +702,43 @@ protected IChunkProvider k() { IChunkLoader ichunkloader = this.dataManager.createChunkLoader(this.worldProvider); @@ -448,7 +448,7 @@ for (int k1 = 0; k1 < this.h.size(); ++k1) { TileEntity tileentity = (TileEntity) this.h.get(k1); BlockPosition blockposition = tileentity.getPosition(); -@@ -546,6 +750,8 @@ +@@ -543,6 +747,8 @@ arraylist.add(tileentity); } } @@ -457,7 +457,7 @@ return arraylist; } -@@ -609,6 +815,23 @@ +@@ -606,6 +812,23 @@ int j = this.worldProvider.getSeaLevel(); int k = 0; @@ -481,7 +481,7 @@ if (blockposition != null) { i = blockposition.getX(); k = blockposition.getZ(); -@@ -618,7 +841,7 @@ +@@ -615,7 +838,7 @@ int l = 0; @@ -490,7 +490,7 @@ i += random.nextInt(64) - random.nextInt(64); k += random.nextInt(64) - random.nextInt(64); ++l; -@@ -657,6 +880,7 @@ +@@ -654,6 +877,7 @@ public void save(boolean flag, IProgressUpdate iprogressupdate) throws ExceptionWorldConflict { if (this.chunkProvider.canSave()) { @@ -498,7 +498,7 @@ if (iprogressupdate != null) { iprogressupdate.a("Saving level"); } -@@ -667,7 +891,8 @@ +@@ -664,7 +888,8 @@ } this.chunkProvider.saveChunks(flag, iprogressupdate); @@ -508,7 +508,7 @@ Iterator iterator = arraylist.iterator(); while (iterator.hasNext()) { -@@ -698,8 +923,12 @@ +@@ -695,8 +920,12 @@ this.worldData.k(this.getWorldBorder().getWarningTime()); this.worldData.b(this.getWorldBorder().j()); this.worldData.e(this.getWorldBorder().i()); @@ -522,7 +522,7 @@ } protected void a(Entity entity) { -@@ -731,8 +960,16 @@ +@@ -728,8 +957,16 @@ } public boolean strikeLightning(Entity entity) { @@ -540,7 +540,7 @@ return true; } else { return false; -@@ -744,10 +981,20 @@ +@@ -741,10 +978,20 @@ } public Explosion createExplosion(Entity entity, double d0, double d1, double d2, float f, boolean flag, boolean flag1) { @@ -561,7 +561,7 @@ if (!flag1) { explosion.clearBlocks(); } -@@ -793,7 +1040,8 @@ +@@ -790,7 +1037,8 @@ BlockActionData blockactiondata = (BlockActionData) iterator.next(); if (this.a(blockactiondata)) { @@ -571,7 +571,7 @@ } } -@@ -816,6 +1064,7 @@ +@@ -813,6 +1061,7 @@ boolean flag = this.S(); super.p(); @@ -579,7 +579,7 @@ if (this.o != this.p) { this.server.getPlayerList().a(new PacketPlayOutGameStateChange(7, this.p), this.worldProvider.getDimension()); } -@@ -834,6 +1083,21 @@ +@@ -831,6 +1080,21 @@ this.server.getPlayerList().sendAll(new PacketPlayOutGameStateChange(7, this.p)); this.server.getPlayerList().sendAll(new PacketPlayOutGameStateChange(8, this.r)); } @@ -601,7 +601,7 @@ } -@@ -862,10 +1126,17 @@ +@@ -859,10 +1123,17 @@ } public void a(EnumParticle enumparticle, boolean flag, double d0, double d1, double d2, int i, double d3, double d4, double d5, double d6, int... aint) { diff --git a/pom.xml b/pom.xml index 5eb2da2844..2c045791c2 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.bukkit craftbukkit jar - 1.8.6-R0.1-SNAPSHOT + 1.8.7-R0.1-SNAPSHOT CraftBukkit http://www.bukkit.org @@ -12,7 +12,7 @@ UTF-8 unknown 4.11 - 1.8.6 + 1.8.7 1_8_R3 git-Bukkit-