Wie setzte ich einen Villager der sich nicht bewegen kann?
Hi wie im titel schon erwähnt suche ich eine methode wie ich einen villager spawne der sich nicht bewegen kann!
Hier mein aktueller code:
Villager villager =(Villager)p.getLocation().getWorld().spawn(p.getLocation(),Villager.class);
villager.setCustomName("§8➥ §bTägliche Belohnung");
villager.setCustomNameVisible(true);
2 Antworten
Vom Beitragsersteller als hilfreich ausgezeichnet
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Computer, Technik, Java
Zwei Möglichkeiten:
- AI entfernen
private void disableAI(Entity entity) {
net.minecraft.server.v1_8_R3.Entity nmsEnt = ((CraftEntity) entity).getHandle();
NBTTagCompound tag = nmsEnt.getNBTTag();
if(tag == null) {
tag = new NBTTagCompound();
}
nmsEnt.c(tag);
tag.setInt("NoAI", 1);
nmsEnt.f(tag);
}
Und dann beim Villager
disableAI(villager);
- Geh-Geschwindigkeit auf Null setzen:
((CraftVillager)villager).getHandle().getAttributeInstance(GenericAttribute.d).setValue(0);
Woher ich das weiß:eigene Erfahrung – Minecraft-Experte. Aktiver Spieler seit 2011.
IbizaGamer2020
02.08.2020, 15:55
Beitragsersteller
9
MrAmazing2
02.08.2020, 15:58
@IbizaGamer2020
Mussts natürlich importieren..
import org.bukkit.craftbukkit.entity.CraftEntity;
Und tausch „v1_8_R1“ mit „v1_8_R3“ aus. R1 wäre 1.8, R3 ist 1.8.8. Hab meine Antwort mittlerweile schon editiert, aber falls du sie vorhin schon kopiert hast musste das noch ändern.
@MrAmazing2
Das mit der geh-geschwindigkeit geht ned
GenericAttribute cannot be resolved to a variable
EinBenutzer672
02.08.2020, 20:40
@IbizaGamer2020
Du benutzt wahrscheinlich Spigot. Ich würde dir empfehlen, auf CraftBukkit zu wechseln.
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Java, Minecraft
Versuche mal, das EntityMoveEvent bei einem Villager zu cancelln.
Woher ich das weiß:Hobby – Habe ich in 2015-2022 gezockt aber ark ist besser
Brockdish
02.08.2020, 16:02
@IbizaGamer2020
Vielleicht geht es, indem du die walkSpeed des Villagers auf 0 setzt.