mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-18 08:57:44 +01:00
Updated Upstream (Paper)
Upstream has released updates that appears to apply and compile correctly Paper Changes: b75eeca0 Boost light task priority to ensure it doesnt hold up chunk loads 3d2bc848 Ensure VillagerTrades doesn't load async - fixes #3495 e470f1ef Add more information to Timing Reports f4a47db6 Improve Thread Pool usage to allow single threads for single cpu servers a4fe910f Fix sounds when using worldedit regen command 70ad51a8 Updated Upstream (Bukkit/CraftBukkit) d7cfa4fa Improve legacy format serialization more
This commit is contained in:
166
patches/server/0071-Add-more-llama-API.patch
Normal file
166
patches/server/0071-Add-more-llama-API.patch
Normal file
@@ -0,0 +1,166 @@
|
||||
From e73d8edd323159d1d7d36b0ea0b512ed93f86d42 Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
||||
Date: Fri, 18 Oct 2019 22:50:12 -0500
|
||||
Subject: [PATCH] Add more llama API
|
||||
|
||||
---
|
||||
.../net/minecraft/server/EntityLlama.java | 18 ++++++--
|
||||
.../server/PathfinderGoalLlamaFollow.java | 4 +-
|
||||
.../bukkit/craftbukkit/entity/CraftLlama.java | 44 +++++++++++++++++++
|
||||
3 files changed, 61 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLlama.java b/src/main/java/net/minecraft/server/EntityLlama.java
|
||||
index c5f87cbdd2..082aac258e 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLlama.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLlama.java
|
||||
@@ -12,7 +12,8 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||
@Nullable
|
||||
private EntityLlama bJ;
|
||||
@Nullable
|
||||
- private EntityLlama bK;
|
||||
+ private EntityLlama bK; public EntityLlama getCaravanTail() { return bK; } // Purpur - OBFHELPER
|
||||
+ public boolean shouldJoinCaravan = true; // Purpur
|
||||
|
||||
public EntityLlama(EntityTypes<? extends EntityLlama> entitytypes, World world) {
|
||||
super(entitytypes, world);
|
||||
@@ -79,7 +80,7 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||
if (!this.inventoryChest.getItem(1).isEmpty()) {
|
||||
nbttagcompound.set("DecorItem", this.inventoryChest.getItem(1).save(new NBTTagCompound()));
|
||||
}
|
||||
-
|
||||
+ nbttagcompound.setBoolean("Purpur.ShouldJoinCaravan", shouldJoinCaravan); // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -90,7 +91,11 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||
if (nbttagcompound.hasKeyOfType("DecorItem", 10)) {
|
||||
this.inventoryChest.setItem(1, ItemStack.a(nbttagcompound.getCompound("DecorItem")));
|
||||
}
|
||||
-
|
||||
+ // Purpur start
|
||||
+ if (nbttagcompound.hasKey("Purpur.ShouldJoinCaravan")) {
|
||||
+ nbttagcompound.setBoolean("Purpur.ShouldJoinCaravan", shouldJoinCaravan);
|
||||
+ }
|
||||
+ // Purpur end
|
||||
this.eI();
|
||||
}
|
||||
|
||||
@@ -413,19 +418,24 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||
}
|
||||
}
|
||||
|
||||
+ public void leaveCaravan() { fb(); } // Purpur - OBFHELPER
|
||||
public void fb() {
|
||||
if (this.bJ != null) {
|
||||
+ new net.pl3x.purpur.event.entity.LlamaLeaveCaravanEvent((org.bukkit.entity.Llama) getBukkitEntity()).callEvent(); // Purpur
|
||||
this.bJ.bK = null;
|
||||
}
|
||||
|
||||
this.bJ = null;
|
||||
}
|
||||
|
||||
+ public void joinCaravan(EntityLlama entitiyllama) { a(entitiyllama); } // Purpur - OBFHELPER
|
||||
public void a(EntityLlama entityllama) {
|
||||
+ if (!shouldJoinCaravan || !new net.pl3x.purpur.event.entity.LlamaJoinCaravanEvent((org.bukkit.entity.Llama) getBukkitEntity(), (org.bukkit.entity.Llama) entityllama.getBukkitEntity()).callEvent()) return; // Purpur
|
||||
this.bJ = entityllama;
|
||||
this.bJ.bK = this;
|
||||
}
|
||||
|
||||
+ public boolean hasCaravanTail() { return fc(); } // Purpur - OBFHELPER
|
||||
public boolean fc() {
|
||||
return this.bK != null;
|
||||
}
|
||||
@@ -436,7 +446,7 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||
}
|
||||
|
||||
@Nullable
|
||||
- public EntityLlama fe() {
|
||||
+ public EntityLlama fe() { return getCaravanHead(); } public EntityLlama getCaravanHead() { // Purpur - OBFHELPER
|
||||
return this.bJ;
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalLlamaFollow.java b/src/main/java/net/minecraft/server/PathfinderGoalLlamaFollow.java
|
||||
index e181d83505..8376f1dc4e 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalLlamaFollow.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalLlamaFollow.java
|
||||
@@ -6,7 +6,7 @@ import java.util.List;
|
||||
|
||||
public class PathfinderGoalLlamaFollow extends PathfinderGoal {
|
||||
|
||||
- public final EntityLlama a;
|
||||
+ public final EntityLlama a; public EntityLlama getLlama() { return a; } // Purpur
|
||||
private double b;
|
||||
private int c;
|
||||
|
||||
@@ -18,6 +18,7 @@ public class PathfinderGoalLlamaFollow extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (!getLlama().shouldJoinCaravan) return false; // Purpur
|
||||
if (!this.a.isLeashed() && !this.a.fd()) {
|
||||
List<Entity> list = this.a.world.getEntities(this.a, this.a.getBoundingBox().grow(9.0D, 4.0D, 9.0D), (entity) -> {
|
||||
EntityTypes<?> entitytypes = entity.getEntityType();
|
||||
@@ -77,6 +78,7 @@ public class PathfinderGoalLlamaFollow extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean b() {
|
||||
+ if (!getLlama().shouldJoinCaravan) return false; // Purpur
|
||||
if (this.a.fd() && this.a.fe().isAlive() && this.a(this.a, 0)) {
|
||||
double d0 = this.a.h((Entity) this.a.fe());
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java
|
||||
index 3f94c5a920..a027634801 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java
|
||||
@@ -65,4 +65,48 @@ public class CraftLlama extends CraftChestedHorse implements Llama, CraftRangedE
|
||||
public EntityType getType() {
|
||||
return EntityType.LLAMA;
|
||||
}
|
||||
+
|
||||
+ // Purpur start
|
||||
+ @Override
|
||||
+ public boolean shouldJoinCaravan() {
|
||||
+ return getHandle().shouldJoinCaravan;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void setShouldJoinCaravan(boolean shouldJoinCaravan) {
|
||||
+ getHandle().shouldJoinCaravan = shouldJoinCaravan;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean inCaravan() {
|
||||
+ return getHandle().inCaravan();
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void joinCaravan(Llama llama) {
|
||||
+ if (llama != null) {
|
||||
+ getHandle().joinCaravan(((CraftLlama) llama).getHandle());
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void leaveCaravan() {
|
||||
+ getHandle().leaveCaravan();
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean hasCaravanTail() {
|
||||
+ return getHandle().hasCaravanTail();
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public Llama getCaravanHead() {
|
||||
+ return getHandle().getCaravanHead() == null ? null : (Llama) getHandle().getCaravanHead().getBukkitEntity();
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public Llama getCaravanTail() {
|
||||
+ return getHandle().getCaravanTail() == null ? null : (Llama) getHandle().getCaravanTail().getBukkitEntity();
|
||||
+ }
|
||||
+ // Purpur end
|
||||
}
|
||||
--
|
||||
2.24.0
|
||||
|
||||
Reference in New Issue
Block a user