Archiviert
13
0

Update to Minecraft 1.12.1

Dieser Commit ist enthalten in:
md_5 2017-08-03 23:00:00 +10:00
Ursprung 9a1fc1e2ee
Commit 2a927e8638
19 geänderte Dateien mit 179 neuen und 254 gelöschten Zeilen

Datei anzeigen

@ -1,6 +1,6 @@
--- a/net/minecraft/server/AdvancementDataPlayer.java --- a/net/minecraft/server/AdvancementDataPlayer.java
+++ b/net/minecraft/server/AdvancementDataPlayer.java +++ b/net/minecraft/server/AdvancementDataPlayer.java
@@ -30,7 +30,7 @@ @@ -31,7 +31,7 @@
private static final Logger a = LogManager.getLogger(); private static final Logger a = LogManager.getLogger();
private static final Gson b = (new GsonBuilder()).registerTypeAdapter(AdvancementProgress.class, new AdvancementProgress.a()).registerTypeAdapter(MinecraftKey.class, new MinecraftKey.a()).setPrettyPrinting().create(); private static final Gson b = (new GsonBuilder()).registerTypeAdapter(AdvancementProgress.class, new AdvancementProgress.a()).registerTypeAdapter(MinecraftKey.class, new MinecraftKey.a()).setPrettyPrinting().create();
@ -9,7 +9,7 @@
}; };
private final MinecraftServer d; private final MinecraftServer d;
private final File e; private final File e;
@@ -92,7 +92,7 @@ @@ -93,7 +93,7 @@
Iterator iterator = this.data.entrySet().iterator(); Iterator iterator = this.data.entrySet().iterator();
while (iterator.hasNext()) { while (iterator.hasNext()) {
@ -18,25 +18,16 @@
if (((AdvancementProgress) entry.getValue()).isDone()) { if (((AdvancementProgress) entry.getValue()).isDone()) {
arraylist.add(entry.getKey()); arraylist.add(entry.getKey());
@@ -128,13 +128,15 @@ @@ -129,7 +129,7 @@
if (this.e.isFile()) { if (this.e.isFile()) {
try { try {
String s = Files.toString(this.e, StandardCharsets.UTF_8); String s = Files.toString(this.e, StandardCharsets.UTF_8);
- Map map = (Map) ChatDeserializer.a(AdvancementDataPlayer.b, s, AdvancementDataPlayer.c.getType()); - Map map = (Map) ChatDeserializer.a(AdvancementDataPlayer.b, s, AdvancementDataPlayer.c.getType());
+ // CraftBukkit start + Map<MinecraftKey, AdvancementProgress> map = (Map) ChatDeserializer.a(AdvancementDataPlayer.b, s, AdvancementDataPlayer.c.getType()); // CraftBukkit
+ Map<MinecraftKey, AdvancementProgress> map = (Map) ChatDeserializer.a(AdvancementDataPlayer.b, s, AdvancementDataPlayer.c.getType());
if (map == null) { if (map == null) {
throw new JsonParseException("Found null for advancements"); throw new JsonParseException("Found null for advancements");
} @@ -143,7 +143,11 @@
- Stream stream = map.entrySet().stream().sorted(Comparator.comparing(apply<invokedynamic>()));
+ Stream stream = map.entrySet().stream().sorted(Comparator.comparing(Entry::getValue));
+ // CraftBukkit end
Iterator iterator = ((List) stream.collect(Collectors.toList())).iterator();
while (iterator.hasNext()) {
@@ -142,7 +144,11 @@
Advancement advancement = this.d.getAdvancementData().a((MinecraftKey) entry.getKey()); Advancement advancement = this.d.getAdvancementData().a((MinecraftKey) entry.getKey());
if (advancement == null) { if (advancement == null) {
@ -49,7 +40,7 @@
} else { } else {
this.a(advancement, (AdvancementProgress) entry.getValue()); this.a(advancement, (AdvancementProgress) entry.getValue());
} }
@@ -194,6 +200,7 @@ @@ -195,6 +199,7 @@
this.i.add(advancement); this.i.add(advancement);
flag = true; flag = true;
if (!flag1 && advancementprogress.isDone()) { if (!flag1 && advancementprogress.isDone()) {

Datei anzeigen

@ -34,7 +34,7 @@
} }
} }
@@ -923,7 +930,7 @@ @@ -931,7 +938,7 @@
if (hashset.contains(block16)) { if (hashset.contains(block16)) {
for (int i = 0; i < 15; ++i) { for (int i = 0; i < 15; ++i) {
@ -43,7 +43,7 @@
Block.REGISTRY_ID.a(block16.fromLegacyData(i), j); Block.REGISTRY_ID.a(block16.fromLegacyData(i), j);
} }
@@ -932,7 +939,7 @@ @@ -940,7 +947,7 @@
while (unmodifiableiterator.hasNext()) { while (unmodifiableiterator.hasNext()) {
IBlockData iblockdata = (IBlockData) unmodifiableiterator.next(); IBlockData iblockdata = (IBlockData) unmodifiableiterator.next();
@ -52,7 +52,7 @@
Block.REGISTRY_ID.a(iblockdata, k); Block.REGISTRY_ID.a(iblockdata, k);
} }
@@ -941,6 +948,12 @@ @@ -949,6 +956,12 @@
} }

Datei anzeigen

@ -126,7 +126,7 @@
} }
} }
} else if (inventoryclicktype == InventoryClickType.SWAP && j >= 0 && j < 9) { } else if (inventoryclicktype == InventoryClickType.SWAP && j >= 0 && j < 9) {
@@ -575,6 +647,7 @@ @@ -564,6 +636,7 @@
inventorycraftresult.a(irecipe); inventorycraftresult.a(irecipe);
itemstack = irecipe.craftItem(inventorycrafting); itemstack = irecipe.craftItem(inventorycrafting);
} }

Datei anzeigen

@ -98,7 +98,7 @@
+ +
thread.setDaemon(true); thread.setDaemon(true);
thread.start(); thread.start();
DedicatedServer.LOGGER.info("Starting minecraft server version 1.12"); DedicatedServer.LOGGER.info("Starting minecraft server version 1.12.1");
@@ -79,7 +126,7 @@ @@ -79,7 +126,7 @@
} }
@ -158,7 +158,7 @@
if (this.aT() > 0L) { if (this.aT() > 0L) {
Thread thread1 = new Thread(new ThreadWatchdog(this)); Thread thread1 = new Thread(new ThreadWatchdog(this));
@@ -298,11 +362,11 @@ @@ -299,11 +363,11 @@
return crashreport; return crashreport;
} }
@ -172,7 +172,7 @@
super.D(); super.D();
this.aP(); this.aP();
} }
@@ -333,7 +397,15 @@ @@ -334,7 +398,15 @@
while (!this.serverCommandQueue.isEmpty()) { while (!this.serverCommandQueue.isEmpty()) {
ServerCommand servercommand = (ServerCommand) this.serverCommandQueue.remove(0); ServerCommand servercommand = (ServerCommand) this.serverCommandQueue.remove(0);
@ -189,7 +189,7 @@
} }
} }
@@ -536,16 +608,70 @@ @@ -537,16 +609,70 @@
} }
public String getPlugins() { public String getPlugins() {

Datei anzeigen

@ -49,15 +49,6 @@
public EntityPlayer(MinecraftServer minecraftserver, WorldServer worldserver, GameProfile gameprofile, PlayerInteractManager playerinteractmanager) { public EntityPlayer(MinecraftServer minecraftserver, WorldServer worldserver, GameProfile gameprofile, PlayerInteractManager playerinteractmanager) {
super(worldserver, gameprofile); super(worldserver, gameprofile);
playerinteractmanager.player = this; playerinteractmanager.player = this;
@@ -72,7 +102,7 @@
}
this.server = minecraftserver;
- this.bZ = minecraftserver.getPlayerList().a((EntityHuman) this);
+ this.bZ = minecraftserver.getPlayerList().getStatisticManager(this); // CraftBukkit
this.bY = minecraftserver.getPlayerList().h(this);
this.P = 1.0F;
this.setPositionRotation(blockposition, 0.0F, 0.0F);
@@ -81,6 +111,11 @@ @@ -81,6 +111,11 @@
this.setPosition(this.locX, this.locY + 1.0D, this.locZ); this.setPosition(this.locX, this.locY + 1.0D, this.locZ);
} }

Datei anzeigen

@ -57,8 +57,8 @@
+ } + }
+ // CraftBukkit end + // CraftBukkit end
+ +
if (packethandshakinginsetprotocol.b() > 335) { if (packethandshakinginsetprotocol.b() > 338) {
chatmessage = new ChatMessage("multiplayer.disconnect.outdated_server", new Object[] { "1.12"}); chatmessage = new ChatMessage("multiplayer.disconnect.outdated_server", new Object[] { "1.12.1"});
this.b.sendPacket(new PacketLoginOutDisconnect(chatmessage)); this.b.sendPacket(new PacketLoginOutDisconnect(chatmessage));
@@ -26,6 +71,7 @@ @@ -26,6 +71,7 @@
this.b.close(chatmessage); this.b.close(chatmessage);

Datei anzeigen

@ -1,11 +1,11 @@
--- a/net/minecraft/server/IRecipe.java --- a/net/minecraft/server/IRecipe.java
+++ b/net/minecraft/server/IRecipe.java +++ b/net/minecraft/server/IRecipe.java
@@ -13,4 +13,8 @@ @@ -17,4 +17,8 @@
default boolean c() { default boolean c() {
return false; return false;
} }
+ +
+ org.bukkit.inventory.Recipe toBukkitRecipe(); // CraftBukkit + org.bukkit.inventory.Recipe toBukkitRecipe(); // CraftBukkit
+ +
+ void setKey(MinecraftKey key); // CraftBukkit + void setKey(MinecraftKey key); // CraftBukkit
} }

Datei anzeigen

@ -1,6 +1,6 @@
--- a/net/minecraft/server/ItemSkull.java --- a/net/minecraft/server/ItemSkull.java
+++ b/net/minecraft/server/ItemSkull.java +++ b/net/minecraft/server/ItemSkull.java
@@ -124,6 +124,15 @@ @@ -133,6 +133,15 @@
nbttagcompound.set("SkullOwner", GameProfileSerializer.serialize(new NBTTagCompound(), gameprofile)); nbttagcompound.set("SkullOwner", GameProfileSerializer.serialize(new NBTTagCompound(), gameprofile));
return true; return true;
} else { } else {

Datei anzeigen

@ -1,6 +1,6 @@
--- a/net/minecraft/server/MethodProfiler.java --- a/net/minecraft/server/MethodProfiler.java
+++ b/net/minecraft/server/MethodProfiler.java +++ b/net/minecraft/server/MethodProfiler.java
@@ -12,6 +12,7 @@ @@ -13,6 +13,7 @@
public class MethodProfiler { public class MethodProfiler {
@ -8,7 +8,7 @@
private static final Logger b = LogManager.getLogger(); private static final Logger b = LogManager.getLogger();
private final List<String> c = Lists.newArrayList(); private final List<String> c = Lists.newArrayList();
private final List<Long> d = Lists.newArrayList(); private final List<Long> d = Lists.newArrayList();
@@ -22,12 +23,14 @@ @@ -23,12 +24,14 @@
public MethodProfiler() {} public MethodProfiler() {}
public void a() { public void a() {
@ -23,7 +23,14 @@
if (this.a) { if (this.a) {
if (!this.e.isEmpty()) { if (!this.e.isEmpty()) {
this.e = this.e + "."; this.e = this.e + ".";
@@ -40,6 +43,7 @@ @@ -41,12 +44,14 @@
}
public void a(Supplier<String> supplier) {
+ if (!ENABLED) return; // CraftBukkit
if (this.a) {
this.a((String) supplier.get());
}
} }
public void b() { public void b() {
@ -31,7 +38,7 @@
if (this.a) { if (this.a) {
long i = System.nanoTime(); long i = System.nanoTime();
long j = ((Long) this.d.remove(this.d.size() - 1)).longValue(); long j = ((Long) this.d.remove(this.d.size() - 1)).longValue();
@@ -62,7 +66,7 @@ @@ -69,7 +74,7 @@
} }
public List<MethodProfiler.ProfilerInfo> b(String s) { public List<MethodProfiler.ProfilerInfo> b(String s) {
@ -40,7 +47,7 @@
return Collections.emptyList(); return Collections.emptyList();
} else { } else {
long i = this.f.containsKey("root") ? ((Long) this.f.get("root")).longValue() : 0L; long i = this.f.containsKey("root") ? ((Long) this.f.get("root")).longValue() : 0L;
@@ -128,11 +132,13 @@ @@ -135,11 +140,13 @@
} }
public void c(String s) { public void c(String s) {
@ -54,7 +61,7 @@
return this.c.isEmpty() ? "[UNKNOWN]" : (String) this.c.get(this.c.size() - 1); return this.c.isEmpty() ? "[UNKNOWN]" : (String) this.c.get(this.c.size() - 1);
} }
@@ -152,7 +158,7 @@ @@ -159,7 +166,7 @@
return methodprofiler_profilerinfo.a < this.a ? -1 : (methodprofiler_profilerinfo.a > this.a ? 1 : methodprofiler_profilerinfo.c.compareTo(this.c)); return methodprofiler_profilerinfo.a < this.a ? -1 : (methodprofiler_profilerinfo.a > this.a ? 1 : methodprofiler_profilerinfo.c.compareTo(this.c));
} }

Datei anzeigen

@ -1,6 +1,6 @@
--- a/net/minecraft/server/MinecraftServer.java --- a/net/minecraft/server/MinecraftServer.java
+++ b/net/minecraft/server/MinecraftServer.java +++ b/net/minecraft/server/MinecraftServer.java
@@ -40,6 +40,13 @@ @@ -41,6 +41,13 @@
import org.apache.commons.lang3.Validate; import org.apache.commons.lang3.Validate;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
@ -14,7 +14,7 @@
public abstract class MinecraftServer implements ICommandListener, Runnable, IAsyncTaskHandler, IMojangStatistics { public abstract class MinecraftServer implements ICommandListener, Runnable, IAsyncTaskHandler, IMojangStatistics {
@@ -97,19 +104,61 @@ @@ -98,19 +105,61 @@
private Thread serverThread; private Thread serverThread;
private long ab = aw(); private long ab = aw();
@ -79,7 +79,7 @@
protected CommandDispatcher i() { protected CommandDispatcher i() {
return new CommandDispatcher(this); return new CommandDispatcher(this);
} }
@@ -147,6 +196,7 @@ @@ -148,6 +197,7 @@
this.a(s); this.a(s);
this.b("menu.loadingLevel"); this.b("menu.loadingLevel");
this.worldServer = new WorldServer[3]; this.worldServer = new WorldServer[3];
@ -87,7 +87,7 @@
this.i = new long[this.worldServer.length][100]; this.i = new long[this.worldServer.length][100];
IDataManager idatamanager = this.convertable.a(s, true); IDataManager idatamanager = this.convertable.a(s, true);
@@ -170,36 +220,108 @@ @@ -171,36 +221,108 @@
worlddata.a(s1); worlddata.a(s1);
worldsettings = new WorldSettings(worlddata); worldsettings = new WorldSettings(worlddata);
} }
@ -207,7 +207,7 @@
this.v.setPlayerFileData(this.worldServer); this.v.setPlayerFileData(this.worldServer);
this.a(this.getDifficulty()); this.a(this.getDifficulty());
this.l(); this.l();
@@ -215,25 +337,38 @@ @@ -216,25 +338,38 @@
this.b("menu.generatingTerrain"); this.b("menu.generatingTerrain");
boolean flag4 = false; boolean flag4 = false;
@ -261,7 +261,7 @@
this.t(); this.t();
} }
@@ -273,14 +408,17 @@ @@ -274,14 +409,17 @@
protected void t() { protected void t() {
this.f = null; this.f = null;
this.g = 0; this.g = 0;
@ -281,7 +281,7 @@
if (worldserver != null) { if (worldserver != null) {
if (!flag) { if (!flag) {
@@ -289,6 +427,7 @@ @@ -290,6 +428,7 @@
try { try {
worldserver.save(true, (IProgressUpdate) null); worldserver.save(true, (IProgressUpdate) null);
@ -289,7 +289,7 @@
} catch (ExceptionWorldConflict exceptionworldconflict) { } catch (ExceptionWorldConflict exceptionworldconflict) {
MinecraftServer.LOGGER.warn(exceptionworldconflict.getMessage()); MinecraftServer.LOGGER.warn(exceptionworldconflict.getMessage());
} }
@@ -297,8 +436,24 @@ @@ -298,8 +437,24 @@
} }
@ -315,7 +315,7 @@
if (this.an() != null) { if (this.an() != null) {
this.an().b(); this.an().b();
} }
@@ -307,6 +462,7 @@ @@ -308,6 +463,7 @@
MinecraftServer.LOGGER.info("Saving players"); MinecraftServer.LOGGER.info("Saving players");
this.v.savePlayers(); this.v.savePlayers();
this.v.u(); this.v.u();
@ -323,7 +323,7 @@
} }
if (this.worldServer != null) { if (this.worldServer != null) {
@@ -328,12 +484,14 @@ @@ -329,12 +485,14 @@
aworldserver = this.worldServer; aworldserver = this.worldServer;
i = aworldserver.length; i = aworldserver.length;
@ -338,7 +338,7 @@
} }
if (this.m.d()) { if (this.m.d()) {
@@ -373,6 +531,7 @@ @@ -374,6 +532,7 @@
long k = j - this.ab; long k = j - this.ab;
if (k > 2000L && this.ab - this.R >= 15000L) { if (k > 2000L && this.ab - this.R >= 15000L) {
@ -346,7 +346,7 @@
MinecraftServer.LOGGER.warn("Can\'t keep up! Did the system time change, or is the server overloaded? Running {}ms behind, skipping {} tick(s)", Long.valueOf(k), Long.valueOf(k / 50L)); MinecraftServer.LOGGER.warn("Can\'t keep up! Did the system time change, or is the server overloaded? Running {}ms behind, skipping {} tick(s)", Long.valueOf(k), Long.valueOf(k / 50L));
k = 2000L; k = 2000L;
this.R = this.ab; this.R = this.ab;
@@ -385,11 +544,12 @@ @@ -386,11 +545,12 @@
i += k; i += k;
this.ab = j; this.ab = j;
@ -360,7 +360,7 @@
i -= 50L; i -= 50L;
this.C(); this.C();
} }
@@ -427,6 +587,12 @@ @@ -428,6 +588,12 @@
} catch (Throwable throwable1) { } catch (Throwable throwable1) {
MinecraftServer.LOGGER.error("Exception stopping the server", throwable1); MinecraftServer.LOGGER.error("Exception stopping the server", throwable1);
} finally { } finally {
@ -373,7 +373,7 @@
this.B(); this.B();
} }
@@ -470,7 +636,7 @@ @@ -471,7 +637,7 @@
public void B() {} public void B() {}
@ -382,7 +382,7 @@
long i = System.nanoTime(); long i = System.nanoTime();
++this.ticks; ++this.ticks;
@@ -496,7 +662,7 @@ @@ -497,7 +663,7 @@
this.q.b().a(agameprofile); this.q.b().a(agameprofile);
} }
@ -391,7 +391,7 @@
this.methodProfiler.a("save"); this.methodProfiler.a("save");
this.v.savePlayers(); this.v.savePlayers();
this.saveChunks(true); this.saveChunks(true);
@@ -520,6 +686,7 @@ @@ -521,6 +687,7 @@
} }
public void D() { public void D() {
@ -399,7 +399,7 @@
this.methodProfiler.a("jobs"); this.methodProfiler.a("jobs");
Queue queue = this.j; Queue queue = this.j;
@@ -531,20 +698,38 @@ @@ -532,22 +699,40 @@
this.methodProfiler.c("levels"); this.methodProfiler.c("levels");
@ -430,7 +430,9 @@
+ // if (i == 0 || this.getAllowNether()) { + // if (i == 0 || this.getAllowNether()) {
+ WorldServer worldserver = this.worlds.get(i); + WorldServer worldserver = this.worlds.get(i);
this.methodProfiler.a(worldserver.getWorldData().getName()); this.methodProfiler.a(() -> {
return worldserver.getWorldData().getName();
});
+ /* Drop global time updates + /* Drop global time updates
if (this.ticks % 20 == 0) { if (this.ticks % 20 == 0) {
this.methodProfiler.a("timeSync"); this.methodProfiler.a("timeSync");
@ -441,7 +443,7 @@
this.methodProfiler.a("tick"); this.methodProfiler.a("tick");
@@ -571,9 +756,9 @@ @@ -574,9 +759,9 @@
worldserver.getTracker().updatePlayers(); worldserver.getTracker().updatePlayers();
this.methodProfiler.b(); this.methodProfiler.b();
this.methodProfiler.b(); this.methodProfiler.b();
@ -453,7 +455,7 @@
} }
this.methodProfiler.c("connection"); this.methodProfiler.c("connection");
@@ -599,10 +784,11 @@ @@ -602,10 +787,11 @@
this.o.add(itickable); this.o.add(itickable);
} }
@ -466,7 +468,7 @@
boolean flag = true; boolean flag = true;
String s = null; String s = null;
String s1 = "."; String s1 = ".";
@@ -647,13 +833,16 @@ @@ -650,13 +836,16 @@
++j; ++j;
} }
} }
@ -484,7 +486,7 @@
if (s != null) { if (s != null) {
dedicatedserver.i(s); dedicatedserver.i(s);
} }
@@ -684,6 +873,25 @@ @@ -687,6 +876,25 @@
dedicatedserver.stop(); dedicatedserver.stop();
} }
}); });
@ -510,7 +512,7 @@
} catch (Exception exception) { } catch (Exception exception) {
MinecraftServer.LOGGER.fatal("Failed to start the minecraft server", exception); MinecraftServer.LOGGER.fatal("Failed to start the minecraft server", exception);
} }
@@ -691,8 +899,10 @@ @@ -694,8 +902,10 @@
} }
public void F() { public void F() {
@ -521,7 +523,7 @@
} }
public File d(String s) { public File d(String s) {
@@ -708,7 +918,14 @@ @@ -711,7 +921,14 @@
} }
public WorldServer getWorldServer(int i) { public WorldServer getWorldServer(int i) {
@ -537,7 +539,7 @@
} }
public String getVersion() { public String getVersion() {
@@ -732,7 +949,7 @@ @@ -735,7 +952,7 @@
} }
public boolean isDebugging() { public boolean isDebugging() {
@ -546,7 +548,7 @@
} }
public void g(String s) { public void g(String s) {
@@ -747,7 +964,7 @@ @@ -750,7 +967,7 @@
} }
public String getServerModName() { public String getServerModName() {
@ -555,7 +557,7 @@
} }
public CrashReport b(CrashReport crashreport) { public CrashReport b(CrashReport crashreport) {
@@ -776,6 +993,7 @@ @@ -779,6 +996,7 @@
} }
public List<String> tabCompleteCommand(ICommandListener icommandlistener, String s, @Nullable BlockPosition blockposition, boolean flag) { public List<String> tabCompleteCommand(ICommandListener icommandlistener, String s, @Nullable BlockPosition blockposition, boolean flag) {
@ -563,7 +565,7 @@
ArrayList arraylist = Lists.newArrayList(); ArrayList arraylist = Lists.newArrayList();
boolean flag1 = s.startsWith("/"); boolean flag1 = s.startsWith("/");
@@ -818,10 +1036,13 @@ @@ -821,10 +1039,13 @@
return arraylist; return arraylist;
} }
@ -578,7 +580,7 @@
} }
public String getName() { public String getName() {
@@ -877,11 +1098,13 @@ @@ -880,11 +1101,13 @@
} }
public void a(EnumDifficulty enumdifficulty) { public void a(EnumDifficulty enumdifficulty) {
@ -595,7 +597,7 @@
if (worldserver != null) { if (worldserver != null) {
if (worldserver.getWorldData().isHardcore()) { if (worldserver.getWorldData().isHardcore()) {
@@ -948,13 +1171,11 @@ @@ -951,13 +1174,11 @@
int i = 0; int i = 0;
if (this.worldServer != null) { if (this.worldServer != null) {
@ -613,7 +615,7 @@
WorldData worlddata = worldserver.getWorldData(); WorldData worlddata = worldserver.getWorldData();
mojangstatisticsgenerator.a("world[" + i + "][dimension]", Integer.valueOf(worldserver.worldProvider.getDimensionManager().getDimensionID())); mojangstatisticsgenerator.a("world[" + i + "][dimension]", Integer.valueOf(worldserver.worldProvider.getDimensionManager().getDimensionID()));
@@ -987,7 +1208,7 @@ @@ -990,7 +1211,7 @@
public abstract boolean aa(); public abstract boolean aa();
public boolean getOnlineMode() { public boolean getOnlineMode() {
@ -622,7 +624,7 @@
} }
public void setOnlineMode(boolean flag) { public void setOnlineMode(boolean flag) {
@@ -1067,13 +1288,9 @@ @@ -1070,13 +1291,9 @@
} }
public void setGamemode(EnumGamemode enumgamemode) { public void setGamemode(EnumGamemode enumgamemode) {
@ -639,7 +641,7 @@
} }
} }
@@ -1097,7 +1314,7 @@ @@ -1100,7 +1317,7 @@
} }
public World getWorld() { public World getWorld() {
@ -648,7 +650,7 @@
} }
public int getSpawnProtection() { public int getSpawnProtection() {
@@ -1157,8 +1374,10 @@ @@ -1160,8 +1377,10 @@
WorldServer[] aworldserver = this.worldServer; WorldServer[] aworldserver = this.worldServer;
int i = aworldserver.length; int i = aworldserver.length;
@ -661,7 +663,7 @@
if (worldserver != null) { if (worldserver != null) {
Entity entity = worldserver.getEntity(uuid); Entity entity = worldserver.getEntity(uuid);
@@ -1173,7 +1392,7 @@ @@ -1176,7 +1395,7 @@
} }
public boolean getSendCommandFeedback() { public boolean getSendCommandFeedback() {
@ -670,7 +672,7 @@
} }
public MinecraftServer C_() { public MinecraftServer C_() {
@@ -1186,7 +1405,7 @@ @@ -1189,7 +1408,7 @@
public <V> ListenableFuture<V> a(Callable<V> callable) { public <V> ListenableFuture<V> a(Callable<V> callable) {
Validate.notNull(callable); Validate.notNull(callable);
@ -679,7 +681,7 @@
ListenableFutureTask listenablefuturetask = ListenableFutureTask.create(callable); ListenableFutureTask listenablefuturetask = ListenableFutureTask.create(callable);
Queue queue = this.j; Queue queue = this.j;
@@ -1229,23 +1448,30 @@ @@ -1232,17 +1451,17 @@
} }
public AdvancementDataWorld getAdvancementData() { public AdvancementDataWorld getAdvancementData() {
@ -700,9 +702,7 @@
this.getAdvancementData().reload(); this.getAdvancementData().reload();
this.aL().f(); this.aL().f();
this.getPlayerList().reload(); this.getPlayerList().reload();
} else { @@ -1251,4 +1470,11 @@
- this.postToMainThread(run<invokedynamic>(this));
+ this.postToMainThread(() -> reload()); // CraftBukkit - decompile error
} }
} }

Datei anzeigen

@ -62,15 +62,7 @@
private int j; private int j;
private final IntHashMap<Short> k = new IntHashMap(); private final IntHashMap<Short> k = new IntHashMap();
private double l; private double l;
@@ -50,6 +96,7 @@ @@ -58,7 +104,34 @@
private int E;
private int receivedMovePackets;
private int processedMovePackets;
+ private boolean processedDisconnect; // CraftBukkit - Added
public PlayerConnection(MinecraftServer minecraftserver, NetworkManager networkmanager, EntityPlayer entityplayer) {
this.minecraftServer = minecraftserver;
@@ -57,7 +104,33 @@
networkmanager.setPacketListener(this); networkmanager.setPacketListener(this);
this.player = entityplayer; this.player = entityplayer;
entityplayer.playerConnection = this; entityplayer.playerConnection = this;
@ -80,6 +72,7 @@
+ } + }
+ +
+ private final org.bukkit.craftbukkit.CraftServer server; + private final org.bukkit.craftbukkit.CraftServer server;
+ private boolean processedDisconnect;
+ private int lastTick = MinecraftServer.currentTick; + private int lastTick = MinecraftServer.currentTick;
+ private int allowedPlayerTicks = 1; + private int allowedPlayerTicks = 1;
+ private int lastDropTick = MinecraftServer.currentTick; + private int lastDropTick = MinecraftServer.currentTick;
@ -104,7 +97,7 @@
public void e() { public void e() {
this.syncPosition(); this.syncPosition();
@@ -109,15 +182,21 @@ @@ -110,15 +183,21 @@
} }
this.minecraftServer.methodProfiler.b(); this.minecraftServer.methodProfiler.b();
@ -126,7 +119,7 @@
this.disconnect(new ChatMessage("multiplayer.disconnect.idling", new Object[0])); this.disconnect(new ChatMessage("multiplayer.disconnect.idling", new Object[0]));
} }
@@ -136,18 +215,48 @@ @@ -137,18 +216,48 @@
return this.networkManager; return this.networkManager;
} }
@ -181,7 +174,7 @@
} }
public void a(PacketPlayInSteerVehicle packetplayinsteervehicle) { public void a(PacketPlayInSteerVehicle packetplayinsteervehicle) {
@@ -186,7 +295,34 @@ @@ -187,7 +296,34 @@
double d9 = entity.motX * entity.motX + entity.motY * entity.motY + entity.motZ * entity.motZ; double d9 = entity.motX * entity.motX + entity.motY * entity.motY + entity.motZ * entity.motZ;
double d10 = d6 * d6 + d7 * d7 + d8 * d8; double d10 = d6 * d6 + d7 * d7 + d8 * d8;
@ -217,7 +210,7 @@
PlayerConnection.LOGGER.warn("{} (vehicle of {}) moved too quickly! {},{},{}", entity.getName(), this.player.getName(), Double.valueOf(d6), Double.valueOf(d7), Double.valueOf(d8)); PlayerConnection.LOGGER.warn("{} (vehicle of {}) moved too quickly! {},{},{}", entity.getName(), this.player.getName(), Double.valueOf(d6), Double.valueOf(d7), Double.valueOf(d8));
this.networkManager.sendPacket(new PacketPlayOutVehicleMove(entity)); this.networkManager.sendPacket(new PacketPlayOutVehicleMove(entity));
return; return;
@@ -224,6 +360,62 @@ @@ -225,6 +361,62 @@
return; return;
} }
@ -280,7 +273,7 @@
this.minecraftServer.getPlayerList().d(this.player); this.minecraftServer.getPlayerList().d(this.player);
this.player.checkMovement(this.player.locX - d0, this.player.locY - d1, this.player.locZ - d2); this.player.checkMovement(this.player.locX - d0, this.player.locY - d1, this.player.locZ - d2);
this.D = d11 >= -0.03125D && !this.minecraftServer.getAllowFlight() && !worldserver.c(entity.getBoundingBox().g(0.0625D).b(0.0D, -0.55D, 0.0D)); this.D = d11 >= -0.03125D && !this.minecraftServer.getAllowFlight() && !worldserver.c(entity.getBoundingBox().g(0.0625D).b(0.0D, -0.55D, 0.0D));
@@ -282,7 +474,7 @@ @@ -283,7 +475,7 @@
} else { } else {
WorldServer worldserver = this.minecraftServer.getWorldServer(this.player.dimension); WorldServer worldserver = this.minecraftServer.getWorldServer(this.player.dimension);
@ -289,7 +282,7 @@
if (this.e == 0) { if (this.e == 0) {
this.syncPosition(); this.syncPosition();
} }
@@ -292,13 +484,21 @@ @@ -293,13 +485,21 @@
this.A = this.e; this.A = this.e;
this.a(this.teleportPos.x, this.teleportPos.y, this.teleportPos.z, this.player.yaw, this.player.pitch); this.a(this.teleportPos.x, this.teleportPos.y, this.teleportPos.z, this.player.yaw, this.player.pitch);
} }
@ -312,7 +305,7 @@
double d0 = this.player.locX; double d0 = this.player.locX;
double d1 = this.player.locY; double d1 = this.player.locY;
double d2 = this.player.locZ; double d2 = this.player.locZ;
@@ -323,15 +523,33 @@ @@ -324,15 +524,33 @@
++this.receivedMovePackets; ++this.receivedMovePackets;
int i = this.receivedMovePackets - this.processedMovePackets; int i = this.receivedMovePackets - this.processedMovePackets;
@ -348,7 +341,7 @@
PlayerConnection.LOGGER.warn("{} moved too quickly! {},{},{}", this.player.getName(), Double.valueOf(d7), Double.valueOf(d8), Double.valueOf(d9)); PlayerConnection.LOGGER.warn("{} moved too quickly! {},{},{}", this.player.getName(), Double.valueOf(d7), Double.valueOf(d8), Double.valueOf(d9));
this.a(this.player.locX, this.player.locY, this.player.locZ, this.player.yaw, this.player.pitch); this.a(this.player.locX, this.player.locY, this.player.locZ, this.player.yaw, this.player.pitch);
return; return;
@@ -377,6 +595,69 @@ @@ -378,6 +596,69 @@
} }
} }
@ -418,7 +411,7 @@
this.B = d12 >= -0.03125D; this.B = d12 >= -0.03125D;
this.B &= !this.minecraftServer.getAllowFlight() && !this.player.abilities.canFly; this.B &= !this.minecraftServer.getAllowFlight() && !this.player.abilities.canFly;
this.B &= !this.player.hasEffect(MobEffects.LEVITATION) && !this.player.cP() && !worldserver.c(this.player.getBoundingBox().g(0.0625D).b(0.0D, -0.55D, 0.0D)); this.B &= !this.player.hasEffect(MobEffects.LEVITATION) && !this.player.cP() && !worldserver.c(this.player.getBoundingBox().g(0.0625D).b(0.0D, -0.55D, 0.0D));
@@ -394,10 +675,76 @@ @@ -395,10 +676,76 @@
} }
public void a(double d0, double d1, double d2, float f, float f1) { public void a(double d0, double d1, double d2, float f, float f1) {
@ -496,7 +489,7 @@
double d3 = set.contains(PacketPlayOutPosition.EnumPlayerTeleportFlags.X) ? this.player.locX : 0.0D; double d3 = set.contains(PacketPlayOutPosition.EnumPlayerTeleportFlags.X) ? this.player.locX : 0.0D;
double d4 = set.contains(PacketPlayOutPosition.EnumPlayerTeleportFlags.Y) ? this.player.locY : 0.0D; double d4 = set.contains(PacketPlayOutPosition.EnumPlayerTeleportFlags.Y) ? this.player.locY : 0.0D;
double d5 = set.contains(PacketPlayOutPosition.EnumPlayerTeleportFlags.Z) ? this.player.locZ : 0.0D; double d5 = set.contains(PacketPlayOutPosition.EnumPlayerTeleportFlags.Z) ? this.player.locZ : 0.0D;
@@ -414,6 +761,14 @@ @@ -415,6 +762,14 @@
f3 = f1 + this.player.pitch; f3 = f1 + this.player.pitch;
} }
@ -511,7 +504,7 @@
if (++this.teleportAwait == Integer.MAX_VALUE) { if (++this.teleportAwait == Integer.MAX_VALUE) {
this.teleportAwait = 0; this.teleportAwait = 0;
} }
@@ -425,6 +780,7 @@ @@ -426,6 +781,7 @@
public void a(PacketPlayInBlockDig packetplayinblockdig) { public void a(PacketPlayInBlockDig packetplayinblockdig) {
PlayerConnectionUtils.ensureMainThread(packetplayinblockdig, this, this.player.x()); PlayerConnectionUtils.ensureMainThread(packetplayinblockdig, this, this.player.x());
@ -519,7 +512,7 @@
WorldServer worldserver = this.minecraftServer.getWorldServer(this.player.dimension); WorldServer worldserver = this.minecraftServer.getWorldServer(this.player.dimension);
BlockPosition blockposition = packetplayinblockdig.a(); BlockPosition blockposition = packetplayinblockdig.a();
@@ -434,7 +790,15 @@ @@ -435,7 +791,15 @@
if (!this.player.isSpectator()) { if (!this.player.isSpectator()) {
ItemStack itemstack = this.player.b(EnumHand.OFF_HAND); ItemStack itemstack = this.player.b(EnumHand.OFF_HAND);
@ -536,7 +529,7 @@
this.player.a(EnumHand.MAIN_HAND, itemstack); this.player.a(EnumHand.MAIN_HAND, itemstack);
} }
@@ -442,6 +806,21 @@ @@ -443,6 +807,21 @@
case DROP_ITEM: case DROP_ITEM:
if (!this.player.isSpectator()) { if (!this.player.isSpectator()) {
@ -558,7 +551,7 @@
this.player.a(false); this.player.a(false);
} }
@@ -475,7 +854,15 @@ @@ -476,7 +855,15 @@
if (!this.minecraftServer.a(worldserver, blockposition, this.player) && worldserver.getWorldBorder().a(blockposition)) { if (!this.minecraftServer.a(worldserver, blockposition, this.player) && worldserver.getWorldBorder().a(blockposition)) {
this.player.playerInteractManager.a(blockposition, packetplayinblockdig.b()); this.player.playerInteractManager.a(blockposition, packetplayinblockdig.b());
} else { } else {
@ -574,7 +567,7 @@
} }
} else { } else {
if (packetplayinblockdig.c() == PacketPlayInBlockDig.EnumPlayerDigType.STOP_DESTROY_BLOCK) { if (packetplayinblockdig.c() == PacketPlayInBlockDig.EnumPlayerDigType.STOP_DESTROY_BLOCK) {
@@ -495,10 +882,12 @@ @@ -496,10 +883,12 @@
default: default:
throw new IllegalArgumentException("Invalid player action"); throw new IllegalArgumentException("Invalid player action");
} }
@ -587,7 +580,7 @@
WorldServer worldserver = this.minecraftServer.getWorldServer(this.player.dimension); WorldServer worldserver = this.minecraftServer.getWorldServer(this.player.dimension);
EnumHand enumhand = packetplayinuseitem.c(); EnumHand enumhand = packetplayinuseitem.c();
ItemStack itemstack = this.player.b(enumhand); ItemStack itemstack = this.player.b(enumhand);
@@ -512,6 +901,13 @@ @@ -513,6 +902,13 @@
chatmessage.getChatModifier().setColor(EnumChatFormat.RED); chatmessage.getChatModifier().setColor(EnumChatFormat.RED);
this.player.playerConnection.sendPacket(new PacketPlayOutChat(chatmessage, ChatMessageType.GAME_INFO)); this.player.playerConnection.sendPacket(new PacketPlayOutChat(chatmessage, ChatMessageType.GAME_INFO));
} else if (this.teleportPos == null && this.player.d((double) blockposition.getX() + 0.5D, (double) blockposition.getY() + 0.5D, (double) blockposition.getZ() + 0.5D) < 64.0D && !this.minecraftServer.a(worldserver, blockposition, this.player) && worldserver.getWorldBorder().a(blockposition)) { } else if (this.teleportPos == null && this.player.d((double) blockposition.getX() + 0.5D, (double) blockposition.getY() + 0.5D, (double) blockposition.getZ() + 0.5D) < 64.0D && !this.minecraftServer.a(worldserver, blockposition, this.player) && worldserver.getWorldBorder().a(blockposition)) {
@ -601,7 +594,7 @@
this.player.playerInteractManager.a(this.player, worldserver, itemstack, enumhand, blockposition, enumdirection, packetplayinuseitem.d(), packetplayinuseitem.e(), packetplayinuseitem.f()); this.player.playerInteractManager.a(this.player, worldserver, itemstack, enumhand, blockposition, enumdirection, packetplayinuseitem.d(), packetplayinuseitem.e(), packetplayinuseitem.f());
} }
@@ -521,13 +917,52 @@ @@ -522,13 +918,52 @@
public void a(PacketPlayInBlockPlace packetplayinblockplace) { public void a(PacketPlayInBlockPlace packetplayinblockplace) {
PlayerConnectionUtils.ensureMainThread(packetplayinblockplace, this, this.player.x()); PlayerConnectionUtils.ensureMainThread(packetplayinblockplace, this, this.player.x());
@ -655,7 +648,7 @@
} }
} }
@@ -538,8 +973,8 @@ @@ -539,8 +974,8 @@
WorldServer[] aworldserver = this.minecraftServer.worldServer; WorldServer[] aworldserver = this.minecraftServer.worldServer;
int i = aworldserver.length; int i = aworldserver.length;
@ -666,7 +659,7 @@
if (worldserver != null) { if (worldserver != null) {
entity = packetplayinspectate.a(worldserver); entity = packetplayinspectate.a(worldserver);
@@ -552,6 +987,8 @@ @@ -553,6 +988,8 @@
if (entity != null) { if (entity != null) {
this.player.setSpectatorTarget(this.player); this.player.setSpectatorTarget(this.player);
this.player.stopRiding(); this.player.stopRiding();
@ -675,7 +668,7 @@
if (entity.world == this.player.world) { if (entity.world == this.player.world) {
this.player.enderTeleportTo(entity.locX, entity.locY, entity.locZ); this.player.enderTeleportTo(entity.locX, entity.locY, entity.locZ);
} else { } else {
@@ -577,12 +1014,20 @@ @@ -578,12 +1015,20 @@
this.minecraftServer.getPlayerList().b(this.player, worldserver2); this.minecraftServer.getPlayerList().b(this.player, worldserver2);
this.minecraftServer.getPlayerList().updateClient(this.player); this.minecraftServer.getPlayerList().updateClient(this.player);
} }
@ -697,7 +690,7 @@
public void a(PacketPlayInBoatMove packetplayinboatmove) { public void a(PacketPlayInBoatMove packetplayinboatmove) {
PlayerConnectionUtils.ensureMainThread(packetplayinboatmove, this, this.player.x()); PlayerConnectionUtils.ensureMainThread(packetplayinboatmove, this, this.player.x());
@@ -595,14 +1040,29 @@ @@ -596,14 +1041,29 @@
} }
public void a(IChatBaseComponent ichatbasecomponent) { public void a(IChatBaseComponent ichatbasecomponent) {
@ -728,7 +721,7 @@
if (this.minecraftServer.R() && this.player.getName().equals(this.minecraftServer.Q())) { if (this.minecraftServer.R() && this.player.getName().equals(this.minecraftServer.Q())) {
PlayerConnection.LOGGER.info("Stopping singleplayer server as player logged out"); PlayerConnection.LOGGER.info("Stopping singleplayer server as player logged out");
this.minecraftServer.safeShutdown(); this.minecraftServer.safeShutdown();
@@ -624,6 +1084,15 @@ @@ -625,6 +1085,15 @@
} }
} }
@ -744,7 +737,7 @@
try { try {
this.networkManager.sendPacket(packet); this.networkManager.sendPacket(packet);
} catch (Throwable throwable) { } catch (Throwable throwable) {
@@ -645,17 +1114,32 @@ @@ -646,17 +1115,32 @@
public void a(PacketPlayInHeldItemSlot packetplayinhelditemslot) { public void a(PacketPlayInHeldItemSlot packetplayinhelditemslot) {
PlayerConnectionUtils.ensureMainThread(packetplayinhelditemslot, this, this.player.x()); PlayerConnectionUtils.ensureMainThread(packetplayinhelditemslot, this, this.player.x());
@ -779,7 +772,7 @@
ChatMessage chatmessage = new ChatMessage("chat.cannotSend", new Object[0]); ChatMessage chatmessage = new ChatMessage("chat.cannotSend", new Object[0]);
chatmessage.getChatModifier().setColor(EnumChatFormat.RED); chatmessage.getChatModifier().setColor(EnumChatFormat.RED);
@@ -668,39 +1152,249 @@ @@ -669,39 +1153,249 @@
for (int i = 0; i < s.length(); ++i) { for (int i = 0; i < s.length(); ++i) {
if (!SharedConstants.isAllowedChatCharacter(s.charAt(i))) { if (!SharedConstants.isAllowedChatCharacter(s.charAt(i))) {
@ -1036,7 +1029,7 @@
this.player.resetIdleTimer(); this.player.resetIdleTimer();
IJumpable ijumpable; IJumpable ijumpable;
@@ -772,6 +1466,7 @@ @@ -773,6 +1467,7 @@
public void a(PacketPlayInUseEntity packetplayinuseentity) { public void a(PacketPlayInUseEntity packetplayinuseentity) {
PlayerConnectionUtils.ensureMainThread(packetplayinuseentity, this, this.player.x()); PlayerConnectionUtils.ensureMainThread(packetplayinuseentity, this, this.player.x());
@ -1044,7 +1037,7 @@
WorldServer worldserver = this.minecraftServer.getWorldServer(this.player.dimension); WorldServer worldserver = this.minecraftServer.getWorldServer(this.player.dimension);
Entity entity = packetplayinuseentity.a((World) worldserver); Entity entity = packetplayinuseentity.a((World) worldserver);
@@ -787,20 +1482,68 @@ @@ -788,20 +1483,68 @@
if (this.player.h(entity) < d0) { if (this.player.h(entity) < d0) {
EnumHand enumhand; EnumHand enumhand;
@ -1114,7 +1107,7 @@
} }
} }
} }
@@ -816,7 +1559,8 @@ @@ -817,7 +1560,8 @@
case PERFORM_RESPAWN: case PERFORM_RESPAWN:
if (this.player.viewingCredits) { if (this.player.viewingCredits) {
this.player.viewingCredits = false; this.player.viewingCredits = false;
@ -1124,7 +1117,7 @@
CriterionTriggers.u.a(this.player, DimensionManager.THE_END, DimensionManager.OVERWORLD); CriterionTriggers.u.a(this.player, DimensionManager.THE_END, DimensionManager.OVERWORLD);
} else { } else {
if (this.player.getHealth() > 0.0F) { if (this.player.getHealth() > 0.0F) {
@@ -839,14 +1583,20 @@ @@ -840,14 +1584,20 @@
public void a(PacketPlayInCloseWindow packetplayinclosewindow) { public void a(PacketPlayInCloseWindow packetplayinclosewindow) {
PlayerConnectionUtils.ensureMainThread(packetplayinclosewindow, this, this.player.x()); PlayerConnectionUtils.ensureMainThread(packetplayinclosewindow, this, this.player.x());
@ -1147,7 +1140,7 @@
NonNullList nonnulllist = NonNullList.a(); NonNullList nonnulllist = NonNullList.a();
for (int i = 0; i < this.player.activeContainer.c.size(); ++i) { for (int i = 0; i < this.player.activeContainer.c.size(); ++i) {
@@ -855,8 +1605,274 @@ @@ -856,8 +1606,274 @@
this.player.a(this.player.activeContainer, nonnulllist); this.player.a(this.player.activeContainer, nonnulllist);
} else { } else {
@ -1159,7 +1152,7 @@
+ +
+ InventoryView inventory = this.player.activeContainer.getBukkitView(); + InventoryView inventory = this.player.activeContainer.getBukkitView();
+ SlotType type = CraftInventoryView.getSlotType(inventory, packetplayinwindowclick.b()); + SlotType type = CraftInventoryView.getSlotType(inventory, packetplayinwindowclick.b());
+
+ InventoryClickEvent event; + InventoryClickEvent event;
+ ClickType click = ClickType.UNKNOWN; + ClickType click = ClickType.UNKNOWN;
+ InventoryAction action = InventoryAction.UNKNOWN; + InventoryAction action = InventoryAction.UNKNOWN;
@ -1412,7 +1405,7 @@
+ } + }
+ return; + return;
+ } + }
+
+ if (event instanceof CraftItemEvent) { + if (event instanceof CraftItemEvent) {
+ // Need to update the inventory on crafting to + // Need to update the inventory on crafting to
+ // correctly support custom recipes + // correctly support custom recipes
@ -1423,20 +1416,7 @@
if (ItemStack.matches(packetplayinwindowclick.e(), itemstack)) { if (ItemStack.matches(packetplayinwindowclick.e(), itemstack)) {
this.player.playerConnection.sendPacket(new PacketPlayOutTransaction(packetplayinwindowclick.a(), packetplayinwindowclick.d(), true)); this.player.playerConnection.sendPacket(new PacketPlayOutTransaction(packetplayinwindowclick.a(), packetplayinwindowclick.d(), true));
this.player.f = true; this.player.f = true;
@@ -886,6 +1902,12 @@ @@ -894,6 +1910,7 @@
public void a(PacketPlayInAutoRecipe packetplayinautorecipe) {
PlayerConnectionUtils.ensureMainThread(packetplayinautorecipe, this, this.player.x());
this.player.resetIdleTimer();
+ // CraftBukkit start
+ if (!player.getBukkitEntity().hasPermission("minecraft.autocraft")) {
+ player.getBukkitEntity().updateInventory();
+ return;
+ }
+ // CraftBukkit end
if (this.player.activeContainer.windowId == packetplayinautorecipe.a() && this.player.activeContainer.c(this.player)) {
this.player.playerConnection.sendPacket(new PacketPlayOutTransaction(packetplayinautorecipe.a(), packetplayinautorecipe.b(), true));
Iterator iterator;
@@ -958,6 +1980,7 @@
public void a(PacketPlayInEnchantItem packetplayinenchantitem) { public void a(PacketPlayInEnchantItem packetplayinenchantitem) {
PlayerConnectionUtils.ensureMainThread(packetplayinenchantitem, this, this.player.x()); PlayerConnectionUtils.ensureMainThread(packetplayinenchantitem, this, this.player.x());
@ -1444,7 +1424,7 @@
this.player.resetIdleTimer(); this.player.resetIdleTimer();
if (this.player.activeContainer.windowId == packetplayinenchantitem.a() && this.player.activeContainer.c(this.player) && !this.player.isSpectator()) { if (this.player.activeContainer.windowId == packetplayinenchantitem.a() && this.player.activeContainer.c(this.player) && !this.player.isSpectator()) {
this.player.activeContainer.a(this.player, packetplayinenchantitem.b()); this.player.activeContainer.a(this.player, packetplayinenchantitem.b());
@@ -991,7 +2014,45 @@ @@ -927,7 +1944,45 @@
} }
boolean flag1 = packetplayinsetcreativeslot.a() >= 1 && packetplayinsetcreativeslot.a() <= 45; boolean flag1 = packetplayinsetcreativeslot.a() >= 1 && packetplayinsetcreativeslot.a() <= 45;
@ -1491,7 +1471,7 @@
if (flag1 && flag2) { if (flag1 && flag2) {
if (itemstack.isEmpty()) { if (itemstack.isEmpty()) {
@@ -1015,6 +2076,7 @@ @@ -951,6 +2006,7 @@
public void a(PacketPlayInTransaction packetplayintransaction) { public void a(PacketPlayInTransaction packetplayintransaction) {
PlayerConnectionUtils.ensureMainThread(packetplayintransaction, this, this.player.x()); PlayerConnectionUtils.ensureMainThread(packetplayintransaction, this, this.player.x());
@ -1499,7 +1479,7 @@
Short oshort = (Short) this.k.get(this.player.activeContainer.windowId); Short oshort = (Short) this.k.get(this.player.activeContainer.windowId);
if (oshort != null && packetplayintransaction.b() == oshort.shortValue() && this.player.activeContainer.windowId == packetplayintransaction.a() && !this.player.activeContainer.c(this.player) && !this.player.isSpectator()) { if (oshort != null && packetplayintransaction.b() == oshort.shortValue() && this.player.activeContainer.windowId == packetplayintransaction.a() && !this.player.activeContainer.c(this.player) && !this.player.isSpectator()) {
@@ -1025,6 +2087,7 @@ @@ -961,6 +2017,7 @@
public void a(PacketPlayInUpdateSign packetplayinupdatesign) { public void a(PacketPlayInUpdateSign packetplayinupdatesign) {
PlayerConnectionUtils.ensureMainThread(packetplayinupdatesign, this, this.player.x()); PlayerConnectionUtils.ensureMainThread(packetplayinupdatesign, this, this.player.x());
@ -1507,7 +1487,7 @@
this.player.resetIdleTimer(); this.player.resetIdleTimer();
WorldServer worldserver = this.minecraftServer.getWorldServer(this.player.dimension); WorldServer worldserver = this.minecraftServer.getWorldServer(this.player.dimension);
BlockPosition blockposition = packetplayinupdatesign.a(); BlockPosition blockposition = packetplayinupdatesign.a();
@@ -1041,14 +2104,30 @@ @@ -977,14 +2034,30 @@
if (!tileentitysign.a() || tileentitysign.e() != this.player) { if (!tileentitysign.a() || tileentitysign.e() != this.player) {
this.minecraftServer.warning("Player " + this.player.getName() + " just tried to change non-editable sign"); this.minecraftServer.warning("Player " + this.player.getName() + " just tried to change non-editable sign");
@ -1539,7 +1519,7 @@
tileentitysign.update(); tileentitysign.update();
worldserver.notify(blockposition, iblockdata, iblockdata, 3); worldserver.notify(blockposition, iblockdata, iblockdata, 3);
@@ -1071,11 +2150,27 @@ @@ -1007,11 +2080,27 @@
public void a(PacketPlayInAbilities packetplayinabilities) { public void a(PacketPlayInAbilities packetplayinabilities) {
PlayerConnectionUtils.ensureMainThread(packetplayinabilities, this, this.player.x()); PlayerConnectionUtils.ensureMainThread(packetplayinabilities, this, this.player.x());
@ -1568,7 +1548,7 @@
ArrayList arraylist = Lists.newArrayList(); ArrayList arraylist = Lists.newArrayList();
Iterator iterator = this.minecraftServer.tabCompleteCommand(this.player, packetplayintabcomplete.a(), packetplayintabcomplete.b(), packetplayintabcomplete.c()).iterator(); Iterator iterator = this.minecraftServer.tabCompleteCommand(this.player, packetplayintabcomplete.a(), packetplayintabcomplete.b(), packetplayintabcomplete.c()).iterator();
@@ -1101,6 +2196,13 @@ @@ -1037,6 +2126,13 @@
ItemStack itemstack1; ItemStack itemstack1;
if ("MC|BEdit".equals(s)) { if ("MC|BEdit".equals(s)) {
@ -1582,7 +1562,7 @@
packetdataserializer = packetplayincustompayload.b(); packetdataserializer = packetplayincustompayload.b();
try { try {
@@ -1119,15 +2221,25 @@ @@ -1055,15 +2151,25 @@
} }
if (itemstack.getItem() == Items.WRITABLE_BOOK && itemstack.getItem() == itemstack1.getItem()) { if (itemstack.getItem() == Items.WRITABLE_BOOK && itemstack.getItem() == itemstack1.getItem()) {
@ -1608,7 +1588,7 @@
packetdataserializer = packetplayincustompayload.b(); packetdataserializer = packetplayincustompayload.b();
try { try {
@@ -1161,10 +2273,11 @@ @@ -1097,10 +2203,11 @@
} }
itemstack2.a("pages", (NBTBase) nbttaglist); itemstack2.a("pages", (NBTBase) nbttaglist);
@ -1621,7 +1601,7 @@
} }
} else if ("MC|TrSel".equals(s)) { } else if ("MC|TrSel".equals(s)) {
try { try {
@@ -1176,6 +2289,7 @@ @@ -1112,6 +2219,7 @@
} }
} catch (Exception exception2) { } catch (Exception exception2) {
PlayerConnection.LOGGER.error("Couldn\'t select trade", exception2); PlayerConnection.LOGGER.error("Couldn\'t select trade", exception2);
@ -1629,7 +1609,7 @@
} }
} else { } else {
TileEntity tileentity; TileEntity tileentity;
@@ -1225,6 +2339,7 @@ @@ -1161,6 +2269,7 @@
} }
} catch (Exception exception3) { } catch (Exception exception3) {
PlayerConnection.LOGGER.error("Couldn\'t set command block", exception3); PlayerConnection.LOGGER.error("Couldn\'t set command block", exception3);
@ -1637,7 +1617,7 @@
} }
} else if ("MC|AutoCmd".equals(s)) { } else if ("MC|AutoCmd".equals(s)) {
if (!this.minecraftServer.getEnableCommandBlock()) { if (!this.minecraftServer.getEnableCommandBlock()) {
@@ -1292,6 +2407,7 @@ @@ -1228,6 +2337,7 @@
} }
} catch (Exception exception4) { } catch (Exception exception4) {
PlayerConnection.LOGGER.error("Couldn\'t set command block", exception4); PlayerConnection.LOGGER.error("Couldn\'t set command block", exception4);
@ -1645,7 +1625,7 @@
} }
} else { } else {
int k; int k;
@@ -1315,6 +2431,7 @@ @@ -1251,6 +2361,7 @@
} }
} catch (Exception exception5) { } catch (Exception exception5) {
PlayerConnection.LOGGER.error("Couldn\'t set beacon", exception5); PlayerConnection.LOGGER.error("Couldn\'t set beacon", exception5);
@ -1653,7 +1633,7 @@
} }
} }
} else if ("MC|ItemName".equals(s)) { } else if ("MC|ItemName".equals(s)) {
@@ -1401,6 +2518,7 @@ @@ -1337,6 +2448,7 @@
} }
} catch (Exception exception6) { } catch (Exception exception6) {
PlayerConnection.LOGGER.error("Couldn\'t set structure block", exception6); PlayerConnection.LOGGER.error("Couldn\'t set structure block", exception6);
@ -1661,7 +1641,7 @@
} }
} else if ("MC|PickItem".equals(s)) { } else if ("MC|PickItem".equals(s)) {
packetdataserializer = packetplayincustompayload.b(); packetdataserializer = packetplayincustompayload.b();
@@ -1413,11 +2531,49 @@ @@ -1349,11 +2461,49 @@
this.player.playerConnection.sendPacket(new PacketPlayOutHeldItemSlot(this.player.inventory.itemInHandIndex)); this.player.playerConnection.sendPacket(new PacketPlayOutHeldItemSlot(this.player.inventory.itemInHandIndex));
} catch (Exception exception7) { } catch (Exception exception7) {
PlayerConnection.LOGGER.error("Couldn\'t pick item", exception7); PlayerConnection.LOGGER.error("Couldn\'t pick item", exception7);

Datei anzeigen

@ -90,7 +90,7 @@
public int getFirstEmptySlotIndex() { public int getFirstEmptySlotIndex() {
for (int i = 0; i < this.items.size(); ++i) { for (int i = 0; i < this.items.size(); ++i) {
if (((ItemStack) this.items.get(i)).isEmpty()) { if (((ItemStack) this.items.get(i)).isEmpty()) {
@@ -512,7 +581,7 @@ @@ -524,7 +593,7 @@
} }
public int getMaxStackSize() { public int getMaxStackSize() {
@ -99,7 +99,7 @@
} }
public boolean b(IBlockData iblockdata) { public boolean b(IBlockData iblockdata) {
@@ -568,6 +637,11 @@ @@ -580,6 +649,11 @@
} }
public ItemStack getCarried() { public ItemStack getCarried() {

Datei anzeigen

@ -917,7 +917,7 @@
} }
public boolean getHasWhitelist() { public boolean getHasWhitelist() {
@@ -846,26 +1308,41 @@ @@ -846,26 +1308,39 @@
} }
public void u() { public void u() {
@ -953,9 +953,7 @@
this.sendMessage(ichatbasecomponent, true); this.sendMessage(ichatbasecomponent, true);
} }
- public ServerStatisticManager a(EntityHuman entityhuman) { - public ServerStatisticManager getStatisticManager(EntityHuman entityhuman) {
+ // CraftBukkit start
+ // PAIL: rename
+ public ServerStatisticManager getStatisticManager(EntityPlayer entityhuman) { + public ServerStatisticManager getStatisticManager(EntityPlayer entityhuman) {
UUID uuid = entityhuman.getUniqueID(); UUID uuid = entityhuman.getUniqueID();
- ServerStatisticManager serverstatisticmanager = uuid == null ? null : (ServerStatisticManager) this.o.get(uuid); - ServerStatisticManager serverstatisticmanager = uuid == null ? null : (ServerStatisticManager) this.o.get(uuid);
@ -964,7 +962,7 @@
if (serverstatisticmanager == null) { if (serverstatisticmanager == null) {
File file = new File(this.server.getWorldServer(0).getDataManager().getDirectory(), "stats"); File file = new File(this.server.getWorldServer(0).getDataManager().getDirectory(), "stats");
@@ -881,7 +1358,7 @@ @@ -881,7 +1356,7 @@
serverstatisticmanager = new ServerStatisticManager(this.server, file1); serverstatisticmanager = new ServerStatisticManager(this.server, file1);
serverstatisticmanager.a(); serverstatisticmanager.a();
@ -973,7 +971,7 @@
} }
return serverstatisticmanager; return serverstatisticmanager;
@@ -889,14 +1366,14 @@ @@ -889,14 +1364,14 @@
public AdvancementDataPlayer h(EntityPlayer entityplayer) { public AdvancementDataPlayer h(EntityPlayer entityplayer) {
UUID uuid = entityplayer.getUniqueID(); UUID uuid = entityplayer.getUniqueID();
@ -990,7 +988,7 @@
} }
advancementdataplayer.a(entityplayer); advancementdataplayer.a(entityplayer);
@@ -909,8 +1386,10 @@ @@ -909,8 +1384,10 @@
WorldServer[] aworldserver = this.server.worldServer; WorldServer[] aworldserver = this.server.worldServer;
int j = aworldserver.length; int j = aworldserver.length;
@ -1003,7 +1001,7 @@
if (worldserver != null) { if (worldserver != null) {
worldserver.getPlayerChunkMap().a(i); worldserver.getPlayerChunkMap().a(i);
@@ -934,13 +1413,20 @@ @@ -934,13 +1411,20 @@
} }
public void reload() { public void reload() {

Datei anzeigen

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

12
pom.xml
Datei anzeigen

@ -4,14 +4,14 @@
<groupId>org.bukkit</groupId> <groupId>org.bukkit</groupId>
<artifactId>craftbukkit</artifactId> <artifactId>craftbukkit</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>
<version>1.12-R0.1-SNAPSHOT</version> <version>1.12.1-R0.1-SNAPSHOT</version>
<name>CraftBukkit</name> <name>CraftBukkit</name>
<url>http://www.bukkit.org</url> <url>http://www.bukkit.org</url>
<properties> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<api.version>unknown</api.version> <api.version>unknown</api.version>
<minecraft.version>1.12</minecraft.version> <minecraft.version>1.12.1</minecraft.version>
<minecraft_version>1_12_R1</minecraft_version> <minecraft_version>1_12_R1</minecraft_version>
<buildtag.prefix>git-Bukkit-</buildtag.prefix> <buildtag.prefix>git-Bukkit-</buildtag.prefix>
<buildtag.suffix></buildtag.suffix> <buildtag.suffix></buildtag.suffix>
@ -79,7 +79,13 @@
</dependency> </dependency>
</dependencies> </dependencies>
<!-- required until fixed plexus-compiler-eclipse is deployed --> <repositories>
<repository>
<id>spigotmc-public</id>
<url>https://hub.spigotmc.org/nexus/content/groups/public/</url>
</repository>
</repositories>
<pluginRepositories> <pluginRepositories>
<pluginRepository> <pluginRepository>
<id>spigotmc-public</id> <id>spigotmc-public</id>

Datei anzeigen

@ -207,7 +207,7 @@ public class CraftAreaEffectCloud extends CraftEntity implements AreaEffectCloud
} }
public ProjectileSource getSource() { public ProjectileSource getSource() {
EntityLiving source = getHandle().y(); // PAIL: rename EntityLiving source = getHandle().getSource();
return (source == null) ? null : (LivingEntity) source.getBukkitEntity(); return (source == null) ? null : (LivingEntity) source.getBukkitEntity();
} }

Datei anzeigen

@ -686,7 +686,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@Override @Override
public PistonMoveReaction getPistonMoveReaction() { public PistonMoveReaction getPistonMoveReaction() {
return PistonMoveReaction.getById(getHandle().o_().ordinal()); // PAIL: rename return PistonMoveReaction.getById(getHandle().getPushReaction().ordinal());
} }
protected NBTTagCompound save() { protected NBTTagCompound save() {

Datei anzeigen

@ -134,32 +134,6 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
return getEyeHeight(); return getEyeHeight();
} }
private List<Block> getLineOfSight(HashSet<Byte> transparent, int maxDistance, int maxLength) {
if (maxDistance > 120) {
maxDistance = 120;
}
ArrayList<Block> blocks = new ArrayList<Block>();
Iterator<Block> itr = new BlockIterator(this, maxDistance);
while (itr.hasNext()) {
Block block = itr.next();
blocks.add(block);
if (maxLength != 0 && blocks.size() > maxLength) {
blocks.remove(0);
}
int id = block.getTypeId();
if (transparent == null) {
if (id != 0) {
break;
}
} else {
if (!transparent.contains((byte) id)) {
break;
}
}
}
return blocks;
}
private List<Block> getLineOfSight(Set<Material> transparent, int maxDistance, int maxLength) { private List<Block> getLineOfSight(Set<Material> transparent, int maxDistance, int maxLength) {
if (maxDistance > 120) { if (maxDistance > 120) {
maxDistance = 120; maxDistance = 120;
@ -186,28 +160,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
return blocks; return blocks;
} }
public List<Block> getLineOfSight(HashSet<Byte> transparent, int maxDistance) {
return getLineOfSight(transparent, maxDistance, 0);
}
public List<Block> getLineOfSight(Set<Material> transparent, int maxDistance) { public List<Block> getLineOfSight(Set<Material> transparent, int maxDistance) {
return getLineOfSight(transparent, maxDistance, 0); return getLineOfSight(transparent, maxDistance, 0);
} }
public Block getTargetBlock(HashSet<Byte> transparent, int maxDistance) {
List<Block> blocks = getLineOfSight(transparent, maxDistance, 1);
return blocks.get(0);
}
public Block getTargetBlock(Set<Material> transparent, int maxDistance) { public Block getTargetBlock(Set<Material> transparent, int maxDistance) {
List<Block> blocks = getLineOfSight(transparent, maxDistance, 1); List<Block> blocks = getLineOfSight(transparent, maxDistance, 1);
return blocks.get(0); return blocks.get(0);
} }
public List<Block> getLastTwoTargetBlocks(HashSet<Byte> transparent, int maxDistance) {
return getLineOfSight(transparent, maxDistance, 2);
}
public List<Block> getLastTwoTargetBlocks(Set<Material> transparent, int maxDistance) { public List<Block> getLastTwoTargetBlocks(Set<Material> transparent, int maxDistance) {
return getLineOfSight(transparent, maxDistance, 2); return getLineOfSight(transparent, maxDistance, 2);
} }

Datei anzeigen

@ -245,7 +245,7 @@ public class CraftMetaBlockState extends CraftMetaItem implements BlockStateMeta
break; break;
} }
} }
TileEntity te = (blockEntityTag == null) ? null : TileEntity.a(null, blockEntityTag); TileEntity te = (blockEntityTag == null) ? null : TileEntity.create(null, blockEntityTag);
switch (material) { switch (material) {
case SIGN: case SIGN: