Add API to manipulate boss bar of entities and those created by commands
By: Yannick Lamprecht <yannicklamprecht@live.de>
This commit is contained in:
30
paper-server/nms-patches/BossBattleCustom.patch
Normal file
30
paper-server/nms-patches/BossBattleCustom.patch
Normal file
@@ -0,0 +1,30 @@
|
||||
--- a/net/minecraft/server/BossBattleCustom.java
|
||||
+++ b/net/minecraft/server/BossBattleCustom.java
|
||||
@@ -8,12 +8,27 @@
|
||||
import java.util.UUID;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
+// CraftBukkit start
|
||||
+import org.bukkit.boss.KeyedBossBar;
|
||||
+import org.bukkit.craftbukkit.boss.CraftKeyedBossbar;
|
||||
+// CraftBukkit end
|
||||
+
|
||||
public class BossBattleCustom extends BossBattleServer {
|
||||
|
||||
private final MinecraftKey h;
|
||||
private final Set<UUID> i = Sets.newHashSet();
|
||||
private int j;
|
||||
private int k = 100;
|
||||
+ // CraftBukkit start
|
||||
+ private KeyedBossBar bossBar;
|
||||
+
|
||||
+ public KeyedBossBar getBukkitEntity() {
|
||||
+ if (bossBar == null) {
|
||||
+ bossBar = new CraftKeyedBossbar(this);
|
||||
+ }
|
||||
+ return bossBar;
|
||||
+ }
|
||||
+ // CraftBukkit end
|
||||
|
||||
public BossBattleCustom(MinecraftKey minecraftkey, IChatBaseComponent ichatbasecomponent) {
|
||||
super(ichatbasecomponent, BossBattle.BarColor.WHITE, BossBattle.BarStyle.PROGRESS);
|
||||
11
paper-server/nms-patches/EnderDragonBattle.patch
Normal file
11
paper-server/nms-patches/EnderDragonBattle.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- a/net/minecraft/server/EnderDragonBattle.java
|
||||
+++ b/net/minecraft/server/EnderDragonBattle.java
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
private static final Logger a = LogManager.getLogger();
|
||||
private static final Predicate<Entity> b = IEntitySelector.a.and(IEntitySelector.a(0.0D, 128.0D, 0.0D, 192.0D));
|
||||
- private final BossBattleServer c;
|
||||
+ public final BossBattleServer c; // PAIL private -> public, rename bossBattleServer
|
||||
private final WorldServer d;
|
||||
private final List<Integer> e;
|
||||
private final ShapeDetector f;
|
||||
@@ -13,6 +13,15 @@
|
||||
public class EntityWither extends EntityMonster implements IRangedEntity {
|
||||
|
||||
private static final DataWatcherObject<Integer> a = DataWatcher.a(EntityWither.class, DataWatcherRegistry.b);
|
||||
@@ -19,7 +25,7 @@
|
||||
private final int[] bI = new int[2];
|
||||
private final int[] bJ = new int[2];
|
||||
private int bK;
|
||||
- private final BossBattleServer bL;
|
||||
+ public final BossBattleServer bL; // PAIL private -> public, rename bossBattleServer
|
||||
private static final Predicate<Entity> bM = (entity) -> {
|
||||
return entity instanceof EntityLiving && ((EntityLiving) entity).getMonsterType() != EnumMonsterType.UNDEAD && ((EntityLiving) entity).df();
|
||||
};
|
||||
@@ -181,13 +187,38 @@
|
||||
if (this.dz() > 0) {
|
||||
i = this.dz() - 1;
|
||||
|
||||
Reference in New Issue
Block a user