• 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 Inventar nachfüllen

Kaeptn Fritz

Minecrafter
Registriert
17 Juni 2017
Beiträge
8
Diamanten
0
Hallo, ich stehe ganz am Anfang vom Programmieren, bzw. MC Plugins programmieren. Nun habe ich mir für meinen Server ein kleines Hub Plugin für den Anfang gebaut. Ein Feature davon ist dass man ein Boot ins Inventar gesetzt bekommt was man benutzen kann. Nun habe ich es hinbekommen dass wenn man das Boot ins Wasser setzt aber nicht einsteigt, es nach 5 Sekunden entfernt wird. Meine Frage ist jetzt wie ich dem Benutzer, nachdem er das Boot ins Wasser gesetzt habe ein neues ins Inv. legen kann.
Hier der Ausschnitt vom Code:

@EventHandler
public void onJoin(PlayerJoinEvent e) {
Player p = e.getPlayer();

p.getInventory().clear();


ItemStack boat = new ItemStack(Material.BOAT);
ItemMeta meta2 = boat.getItemMeta();
meta2.setDisplayName("Bot");
boat.setItemMeta(meta2);


p.getInventory().setItem(2, boat);
}


@SuppressWarnings("deprecation")
@EventHandler



public void onVehicleCreate(final VehicleCreateEvent e) {

Bukkit.getScheduler().scheduleAsyncDelayedTask(this, new Runnable() {
public void run() {

Vehicle vehicle = e.getVehicle();
if (vehicle.isEmpty()){

vehicle.remove();




}
}
}, 20*5);
}
 

Creepaz

Minecrafter
Registriert
1 Juni 2016
Beiträge
15
Diamanten
0
Moin,

Es gibt verschiedene Varianten ihm ein neues Boot ins Schiff zu setzen. Die wohl einfachste, allerdings auch auf Dauer unübersichtlichste Variante ist, nachdem er das Boot gesetzt hat und du es zerstört hast, ihm wie du es oben gemacht hast einfach ein neues Boot ins Inventar mittels ItemStack setzen.

Die strukturiertere Version ist es, eine Funktion zu erstellen, welches einem Spieler ein Boot ins Inventar legt, und diese dann an passender Stelle mit bspw. addBoat(Player xyz) einzufügen. So erstellst du dir einmal die Funktion und kannst diese an beliebigen Stellen immer wieder verwenden.
 
Oben