geforkt von Mirrors/Paper
#1047: Support setting individual Wither head targets
By: Yannick Lamprecht <yannicklamprecht@live.de>
Dieser Commit ist enthalten in:
Ursprung
5e503c9e28
Commit
3bd1e295ea
@ -1,10 +1,13 @@
|
|||||||
package org.bukkit.craftbukkit.entity;
|
package org.bukkit.craftbukkit.entity;
|
||||||
|
|
||||||
|
import com.google.common.base.Preconditions;
|
||||||
|
import net.minecraft.world.entity.Entity;
|
||||||
import net.minecraft.world.entity.boss.wither.EntityWither;
|
import net.minecraft.world.entity.boss.wither.EntityWither;
|
||||||
import org.bukkit.boss.BossBar;
|
import org.bukkit.boss.BossBar;
|
||||||
import org.bukkit.craftbukkit.CraftServer;
|
import org.bukkit.craftbukkit.CraftServer;
|
||||||
import org.bukkit.craftbukkit.boss.CraftBossBar;
|
import org.bukkit.craftbukkit.boss.CraftBossBar;
|
||||||
import org.bukkit.entity.EntityType;
|
import org.bukkit.entity.EntityType;
|
||||||
|
import org.bukkit.entity.LivingEntity;
|
||||||
import org.bukkit.entity.Wither;
|
import org.bukkit.entity.Wither;
|
||||||
|
|
||||||
public class CraftWither extends CraftMonster implements Wither {
|
public class CraftWither extends CraftMonster implements Wither {
|
||||||
@ -38,4 +41,24 @@ public class CraftWither extends CraftMonster implements Wither {
|
|||||||
public BossBar getBossBar() {
|
public BossBar getBossBar() {
|
||||||
return bossBar;
|
return bossBar;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setTarget(Head head, LivingEntity livingEntity) {
|
||||||
|
Preconditions.checkArgument(head != null, "head cannot be null");
|
||||||
|
|
||||||
|
int entityId = (livingEntity != null) ? livingEntity.getEntityId() : 0;
|
||||||
|
getHandle().setAlternativeTarget(head.ordinal(), entityId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public LivingEntity getTarget(Head head) {
|
||||||
|
Preconditions.checkArgument(head != null, "head cannot be null");
|
||||||
|
|
||||||
|
int entityId = getHandle().getAlternativeTarget(head.ordinal());
|
||||||
|
if (entityId == 0) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
Entity target = getHandle().getLevel().getEntity(entityId);
|
||||||
|
return (target != null) ? (LivingEntity) target.getBukkitEntity() : null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren