mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-06 02:35:49 +01:00
SPIGOT-6552: Some inventory types reset cursor on switch
By: DerFrZocker <derrieple@gmail.com>
This commit is contained in:
parent
af0d8b70df
commit
87f8ab3fb3
1 changed files with 26 additions and 15 deletions
|
@ -654,7 +654,18 @@
|
|||
}
|
||||
|
||||
@Override
|
||||
@@ -1016,6 +1333,24 @@
|
||||
@@ -1009,13 +1326,35 @@
|
||||
if (itileinventory == null) {
|
||||
return OptionalInt.empty();
|
||||
} else {
|
||||
+ // CraftBukkit start - SPIGOT-6552: Handle inventory closing in CraftEventFactory#callInventoryOpenEvent(...)
|
||||
+ /*
|
||||
if (this.containerMenu != this.inventoryMenu) {
|
||||
this.closeInventory();
|
||||
}
|
||||
+ */
|
||||
+ // CraftBukkit end
|
||||
|
||||
this.nextContainerCounter();
|
||||
Container container = itileinventory.createMenu(this.containerCounter, this.getInventory(), this);
|
||||
|
||||
|
@ -679,7 +690,7 @@
|
|||
if (container == null) {
|
||||
if (this.isSpectator()) {
|
||||
this.a((IChatBaseComponent) (new ChatMessage("container.spectatorCantOpen")).a(EnumChatFormat.RED), true);
|
||||
@@ -1023,9 +1358,11 @@
|
||||
@@ -1023,9 +1362,11 @@
|
||||
|
||||
return OptionalInt.empty();
|
||||
} else {
|
||||
|
@ -693,7 +704,7 @@
|
|||
return OptionalInt.of(this.containerCounter);
|
||||
}
|
||||
}
|
||||
@@ -1038,13 +1375,24 @@
|
||||
@@ -1038,13 +1379,24 @@
|
||||
|
||||
@Override
|
||||
public void openHorseInventory(EntityHorseAbstract entityhorseabstract, IInventory iinventory) {
|
||||
|
@ -720,7 +731,7 @@
|
|||
this.initMenu(this.containerMenu);
|
||||
}
|
||||
|
||||
@@ -1068,6 +1416,7 @@
|
||||
@@ -1068,6 +1420,7 @@
|
||||
|
||||
@Override
|
||||
public void closeInventory() {
|
||||
|
@ -728,7 +739,7 @@
|
|||
this.connection.sendPacket(new PacketPlayOutCloseWindow(this.containerMenu.containerId));
|
||||
this.o();
|
||||
}
|
||||
@@ -1097,7 +1446,7 @@
|
||||
@@ -1097,7 +1450,7 @@
|
||||
@Override
|
||||
public void a(Statistic<?> statistic, int i) {
|
||||
this.stats.b(this, statistic, i);
|
||||
|
@ -737,7 +748,7 @@
|
|||
scoreboardscore.addScore(i);
|
||||
});
|
||||
}
|
||||
@@ -1105,7 +1454,7 @@
|
||||
@@ -1105,7 +1458,7 @@
|
||||
@Override
|
||||
public void a(Statistic<?> statistic) {
|
||||
this.stats.setStatistic(this, statistic, 0);
|
||||
|
@ -746,7 +757,7 @@
|
|||
}
|
||||
|
||||
@Override
|
||||
@@ -1121,7 +1470,7 @@
|
||||
@@ -1121,7 +1474,7 @@
|
||||
|
||||
for (int j = 0; j < i; ++j) {
|
||||
MinecraftKey minecraftkey = aminecraftkey1[j];
|
||||
|
@ -755,7 +766,7 @@
|
|||
|
||||
Objects.requireNonNull(list);
|
||||
optional.ifPresent(list::add);
|
||||
@@ -1156,7 +1505,16 @@
|
||||
@@ -1156,7 +1509,16 @@
|
||||
|
||||
public void triggerHealthUpdate() {
|
||||
this.lastSentHealth = -1.0E8F;
|
||||
|
@ -772,7 +783,7 @@
|
|||
|
||||
@Override
|
||||
public void a(IChatBaseComponent ichatbasecomponent, boolean flag) {
|
||||
@@ -1211,11 +1569,12 @@
|
||||
@@ -1211,11 +1573,12 @@
|
||||
this.lastSentExp = -1;
|
||||
this.lastSentHealth = -1.0F;
|
||||
this.lastSentFood = -1;
|
||||
|
@ -786,7 +797,7 @@
|
|||
}
|
||||
|
||||
@Override
|
||||
@@ -1337,7 +1696,20 @@
|
||||
@@ -1337,7 +1700,20 @@
|
||||
return s;
|
||||
}
|
||||
|
||||
|
@ -807,7 +818,7 @@
|
|||
this.chatVisibility = packetplayinsettings.d();
|
||||
this.canChatColor = packetplayinsettings.e();
|
||||
this.textFilteringEnabled = packetplayinsettings.h();
|
||||
@@ -1407,7 +1779,7 @@
|
||||
@@ -1407,7 +1783,7 @@
|
||||
this.camera = (Entity) (entity == null ? this : entity);
|
||||
if (entity1 != this.camera) {
|
||||
this.connection.sendPacket(new PacketPlayOutCamera(this.camera));
|
||||
|
@ -816,7 +827,7 @@
|
|||
}
|
||||
|
||||
}
|
||||
@@ -1436,7 +1808,7 @@
|
||||
@@ -1436,7 +1812,7 @@
|
||||
|
||||
@Nullable
|
||||
public IChatBaseComponent getPlayerListName() {
|
||||
|
@ -825,7 +836,7 @@
|
|||
}
|
||||
|
||||
@Override
|
||||
@@ -1457,9 +1829,16 @@
|
||||
@@ -1457,9 +1833,16 @@
|
||||
return this.advancements;
|
||||
}
|
||||
|
||||
|
@ -842,7 +853,7 @@
|
|||
if (worldserver == this.level) {
|
||||
this.connection.b(d0, d1, d2, f, f1);
|
||||
} else {
|
||||
@@ -1479,6 +1858,9 @@
|
||||
@@ -1479,6 +1862,9 @@
|
||||
this.server.getPlayerList().a(this, worldserver);
|
||||
this.server.getPlayerList().updateClient(this);
|
||||
}
|
||||
|
@ -852,7 +863,7 @@
|
|||
|
||||
}
|
||||
|
||||
@@ -1634,4 +2016,144 @@
|
||||
@@ -1634,4 +2020,144 @@
|
||||
});
|
||||
return this.a(itemstack, false, true) != null;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue