Bin gerade nur am iPad online, deswegen kann ich nicht mit sauberem Code Antworten.
Wenn ich das jetzt richtig verstanden habe, willst du, dass - immer wenn der Spieler sich bewegt ein Partikel bei der Position des Spielers gezeigt wird.
Bitte beachte - Falls es Fehler gibt, ich habe das gerade ohne Autocomplete oder Fehleranzeige im Foreneditor mit der Ipad Autokorrektur geschrieben
Außerdem kann man das, was ich gemacht habe nicht objektorientiert nennen, aber da ich nicht weiß, wie gut du dich mit Java auskennst und es so schneller und platzsparender zu Lösen ist, habe ich es so gemacht.
Ich hätte dir auch noch ein User-Objekt machen können aber für ein Attribut lohnt sich das nicht wirklich
Hier der Code:
PHP:
//Packagenamen schreibt man normalerweise klein und im Format endung.deineinternetadresse.projekt falls du keine Internetseite hast : me.deinname.projekt
package Particle;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
public class Admins implements Listener{
//Wer hat einen effekt? wird nach einem Reload wieder gelöscht
public static HashMap<UUID,PotionEffect> effekte = new HashMap<UUID,PotionEffect>();
@EventHandler
//Methoden müssen einen Namen haben :)
public void onInventoryClick(InventoryClickEvent event) {
Player p = (Player) event.getWhoClicked();
if(event.getInventory().getName().equalsIgnoreCase("Effects")) {
event.setCancelled(true);
if(event.getCurrentItem().getType() == Material.DIAMOND_HELMET) {
//Hier wird der Spieler zur HashMap hinzugefügt
effekte.put(event.getWhoClicked().getUniqueId(),deingewünschterPotionEffect);
//Inventar schließen
e.getWhoClicked().closeInventory();
}
}
}
}
Den Particle Code:
@EventHandler
public void onMove(PlayerMoveEvent e) {
//Überprüfen: Hat Spieler Effekt?
Player p = e.getPlayer();
ParticleEffect pe = effekte.get(p.getUniqueId());
if(pe==null){
return;
}
//Effekt wird angezeigt
pe.display(p.getLocation(), 1, 1, 1, 1, 15);
}