Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-17 20:10:10 +01:00
SPIGOT-4987: Shulkerbox does not save empty slots
Dieser Commit ist enthalten in:
Ursprung
17da34209f
Commit
a4a2f67946
35
nms-patches/BehaviorUtil.patch
Normale Datei
35
nms-patches/BehaviorUtil.patch
Normale Datei
@ -0,0 +1,35 @@
|
|||||||
|
--- a/net/minecraft/server/BehaviorUtil.java
|
||||||
|
+++ b/net/minecraft/server/BehaviorUtil.java
|
||||||
|
@@ -31,7 +31,7 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void c(EntityLiving entityliving, EntityLiving entityliving1) {
|
||||||
|
- entityliving.getBehaviorController().setMemory(MemoryModuleType.LOOK_TARGET, (Object) (new BehaviorPositionEntity(entityliving1)));
|
||||||
|
+ entityliving.getBehaviorController().setMemory(MemoryModuleType.LOOK_TARGET, (new BehaviorPositionEntity(entityliving1))); // CraftBukkit - decompile error
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void d(EntityLiving entityliving, EntityLiving entityliving1) {
|
||||||
|
@@ -46,11 +46,12 @@
|
||||||
|
BehaviorPositionEntity behaviorpositionentity = new BehaviorPositionEntity(entityliving1);
|
||||||
|
MemoryTarget memorytarget = new MemoryTarget(behaviorpositionentity, f, i);
|
||||||
|
|
||||||
|
- entityliving.getBehaviorController().setMemory(MemoryModuleType.LOOK_TARGET, (Object) behaviorpositionentity);
|
||||||
|
- entityliving.getBehaviorController().setMemory(MemoryModuleType.WALK_TARGET, (Object) memorytarget);
|
||||||
|
+ entityliving.getBehaviorController().setMemory(MemoryModuleType.LOOK_TARGET, behaviorpositionentity); // CraftBukkit - decompile error
|
||||||
|
+ entityliving.getBehaviorController().setMemory(MemoryModuleType.WALK_TARGET, memorytarget); // CraftBukkit - decompile error
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void a(EntityLiving entityliving, ItemStack itemstack, EntityLiving entityliving1) {
|
||||||
|
+ if (itemstack.isEmpty()) return; // CraftBukkit - SPIGOT-4940: no empty loot
|
||||||
|
double d0 = entityliving.locY - 0.30000001192092896D + (double) entityliving.getHeadHeight();
|
||||||
|
EntityItem entityitem = new EntityItem(entityliving.world, entityliving.locX, d0, entityliving.locZ, itemstack);
|
||||||
|
BlockPosition blockposition = new BlockPosition(entityliving1);
|
||||||
|
@@ -66,7 +67,7 @@
|
||||||
|
|
||||||
|
public static SectionPosition a(WorldServer worldserver, SectionPosition sectionposition, int i) {
|
||||||
|
int j = worldserver.b(sectionposition);
|
||||||
|
- Stream stream = SectionPosition.a(sectionposition, i).filter((sectionposition1) -> {
|
||||||
|
+ Stream<SectionPosition> stream = SectionPosition.a(sectionposition, i).filter((sectionposition1) -> { // CraftBukkit - decompile error
|
||||||
|
return worldserver.b(sectionposition1) < j;
|
||||||
|
});
|
||||||
|
|
@ -1,14 +0,0 @@
|
|||||||
--- a/net/minecraft/server/LootTable.java
|
|
||||||
+++ b/net/minecraft/server/LootTable.java
|
|
||||||
@@ -40,6 +40,11 @@
|
|
||||||
|
|
||||||
public static Consumer<ItemStack> a(Consumer<ItemStack> consumer) {
|
|
||||||
return (itemstack) -> {
|
|
||||||
+ // CraftBukkit start - SPIGOT-4940: no empty loot
|
|
||||||
+ if (itemstack.isEmpty()) {
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+ // CraftBukkit end
|
|
||||||
if (itemstack.getCount() < itemstack.getMaxStackSize()) {
|
|
||||||
consumer.accept(itemstack);
|
|
||||||
} else {
|
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren