Plugin Programmieren für Minecraft Backpack 1.8.9

03/09/2019 08:47 ProDielerNR(1)#1
Hallo
ich möchte ein Plugin Programmieren was bewirkt
wen ich mit meinem Item Chest ein inventar sich öffnet
und wenn es sich schließt die darin befindlichen items
abspeichert so das beim nächsten öffnen die items wieder darin ist.
dazu gesagt das Plugin ist für ein server gedacht sprich jeder soll
sein eigenes Inventar haben wo er unterwegs items abspeichern kann
falls das Main Inventar zu voll ist eben wie ein Rucksack.
angefangen habe ich es so zu programmieren jedoch
habe ich leider keine ahnung wie ich es so programmieren kann
das die items abgespeichert werden und das es geteilte inventare sind
Code:
@EventHandler
 public void Rucksack(PlayerInteractEvent event) {
	 if (event.getItem().getType() != Material.CHEST) return;
	 if(event.getAction() == Action.RIGHT_CLICK_AIR || event.getAction() == Action.RIGHT_CLICK_BLOCK)
		 Tasche1(event.getPlayer());
 }
 //Rucksacklvl1
 public void Tasche1(Player player) {
	 if(player.hasPermission("Ess.Backpack")) {
		 //player.sendMessage("§e[§3System§e]§4§l In Arbeit !");
        Main.lvl1 = player.getServer().createInventory(null, 9,"§eRucksack-lvl (1)");
        player.openInventory(Main.lvl1);
	 }else {
		 player.sendMessage("§e[§3System§e]§4§l In Arbeit !");
	 }
 }
Könnte man mir hierbei helfen?
Auch bei einem server neustart oder einem reload sollen die items erhalten bleiben
das ist sehr wichtig :)
03/09/2019 12:16 ComputerBaer#2
Damit die Inventare einen Server Neustart überleben, musst du dir eine Form suchen sie zu speichern. Das könnte für jeden Spieler eine yml-Datei im Plugin oder Welt-Ordner sein, das könnte aber auch jede Art von Datenbank sein (SQLite, MySQL, MongoDB, ...). Dann musst du dir natürlich überlegen was du alles speichern willst und das dementsprechend implementieren (InvSlot, ItemTyp, Anzahl, ...).

Damit du Performance Probleme vermeidest, solltest du das Inventar eines Spielers immer erst laden sobald er den Server betritt oder sogar erst wenn er es zum ersten Mal öffnet. Sämtliche Änderungen solltest du nur beim Schließen des Inventars speichern, solange es offen ist kann da zu schnell zu viel passieren. Wenn der Spieler den Server verlässt, solltest du das Inventar auch aus deinem Plugin löschen, es wird nicht mehr gebraucht und du kannst es erneut laden wenn er wieder online kommt.

Zu deinem Code:
Aktuell erstellst jedes Mal ein neues Inventar und zeigst es dem Spieler. Besser wäre es, wenn du das Inventar nur einmal pro Spieler erstellst und dann zwischenspeicherst. Wenn der Spieler dann die Kiste benutzt, kannst du einfach das vorhandene Inventar öffnen und alles sollte noch an seinem Platz sein.
03/09/2019 14:57 ProDielerNR(1)#3
ah okay danke das habe ich garnicht bedacht :)
03/09/2019 15:41 LenoxArt's#4
Quote:
Originally Posted by ProDielerNR(1) View Post
ah okay danke das habe ich garnicht bedacht :)
Denk auch an bugs, mit so einem Plugin können sich schnell fehler zum dupen einschleichen
06/08/2019 08:22 ProDielerNR(1)#5
Quote:
Originally Posted by LenoxArt's View Post
Denk auch an bugs, mit so einem Plugin können sich schnell fehler zum dupen einschleichen
Ich werde mein bestes geben :D
in Moment funktioniert bei mir alles :)
falls es Dupe Möglichkeiten sich eingeschlichen haben sollten
wären der Beta Phase kann ich sie nachträglich überarbeiten :)
ich werde erstmal für mehre Monate eine test Phase laufen lassen bevor
ich den Server komplett für alle realesen werde :)