• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Spigot Entity nicht bewegen

SirYwell

PlotSquared Entwickler
Registriert
30 Juni 2017
Beiträge
540
Diamanten
488
Minecraft
SirYwell
Damit man es nicht schlagen kann: entity.setInvulnerable(false).
Damit es sich nicht verschieben lässt: entity.setCollidable(false).
Damit es sich nicht bewegt: entity.setAI(false).
Damit es nicht von der Schwerkraft beeinflusst wird: entity.setGravity(false).

Beachte: setAI und setCollidable geht nur mit LivingEntities.
 

SirYwell

PlotSquared Entwickler
Registriert
30 Juni 2017
Beiträge
540
Diamanten
488
Minecraft
SirYwell
LivingEntity ist eine Subklasse von Entity. Unter "All Known Subinterfaces" findest du alle Entities, auf welche du die oben genannten Methoden auf jeden Fall anwenden kannst. Wenn du nur ein Objekt des Typs Entity hast, kannst du mit entity instanceof LivingEntity (hier findest du weitere Informationen zum instanceof-Operator) herausfinden, ob du dein Entity-Objekt erfolgreich zu einem LivingEntity casten kannst. Mit deinem LivingEntity-Objekt sind diese Methodenaufrufe dann definitiv möglich.
 

SirYwell

PlotSquared Entwickler
Registriert
30 Juni 2017
Beiträge
540
Diamanten
488
Minecraft
SirYwell
Du musst nicht von Rabbit zu LivingEntity casten, weil jeder Rabbit ein LivingEntity ist. Wenn du einen Rabbit so spawnst, kannst du direkt zu Rabbit casten und damit die Methoden aufrufen. setCollidable gab es in der 1.8 noch nicht weil man damals Entities nicht durch Berührung/Kollision verschieben konnte.
 

mor15€

Kuhfänger
Registriert
13 September 2018
Beiträge
64
Diamanten
300
Hier:
Code:
import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;
import org.bukkit.entity.Rabbit;
public class test {


    @EventHandler
    public void onUse(PlayerInteractEvent e) {
        Player p = e.getPlayer();
        if(e.getItem() == null || e.getItem().getType() == Material.AIR)
            return;
        
        if(e.getAction() != Action.RIGHT_CLICK_BLOCK)
            return;
        if(e.getItem().isSimilar(getItem())) {
            e.setCancelled(true);
            Location clickedLoc = e.getClickedBlock().getLocation();
            LivingEntity entity = (LivingEntity) clickedLoc.getWorld().spawnEntity(clickedLoc, EntityType.RABBIT);
            
            
        }
    }
    }
 
Oben