ServerPlugin Attribute zuteilen (Chest)

Dieses Thema im Forum "Programmierung" wurde erstellt von Payno4, 6. Juli 2015.

  1. Payno4
    Offline

    Payno4

    Registriert seit:
    12. Februar 2015
    Beiträge:
    117
    Hei Community ,
    Ich versuche gerade eine Ender-Chest mit einem Command zu "Spawnen" und diese dann mit Attributen , wie z.B 9 Slots zu versehen .
    Doch irgendwie schaff ich das nicht ganz , hoffentlich könnt ihr mir helfen . :)

    Ansatz :
    Code (Text):
    1.  
    2. package basics.commands;
    3.  
    4.  
    5.  
    6. import org.bukkit.Location;
    7.  
    8. import org.bukkit.Material;
    9.  
    10. import org.bukkit.World;
    11.  
    12. import org.bukkit.command.Command;
    13.  
    14. import org.bukkit.command.CommandExecutor;
    15.  
    16. import org.bukkit.command.CommandSender;
    17.  
    18. import org.bukkit.entity.Player;
    19.  
    20.  
    21.  
    22. publicclasschestComimplementsCommandExecutor{
    23.  
    24.    
    25.  
    26.     publicbooleanonCommand(CommandSendersender,Commandcmd,Stringlabel,String[]args){
    27.  
    28.         Player p =(Player)sender;
    29.  
    30.         Location l = p.getLocation();
    31.  
    32.         World w = p.getWorld();
    33.  
    34.      
    35.  
    36.         if(p instanceofPlayer){
    37. //Hier wird die Chest gespawnt
    38.             w.getBlockAt(l).setType(Material.ENDER_CHEST);
    39.  
    40. //Ab hier weis ich nicht genau , wie ich weiter machen soll
    41.          
    42.  
    43.          
    44.  
    45.         }
    46.  
    47.         returnfalse;
    48.  
    49.     }
    50.  
    51.  
    52.  
    53. }
    54.  

    Inventory Attribute :
    Code (Text):
    1.  
    2. package invs;
    3.  
    4.  
    5.  
    6. import org.bukkit.Bukkit;
    7.  
    8. import org.bukkit.Material;
    9.  
    10. import org.bukkit.inventory.Inventory;
    11.  
    12. import org.bukkit.inventory.ItemStack;
    13.  
    14.  
    15.  
    16. publicclassinvs{
    17.  
    18.     publicstaticInventory Inv =Bukkit.createInventory(null,9,"MyInv");
    19.  
    20.     static{
    21.  
    22.         Inv.setItem(1, new ItemStack(Material.ANVIL));
    23.  
    24.         }
    25.  
    26.  
    27.  
    28. }
    29.  

    Lasst euch nicht von manchen Schreibfehlern beirren , die sind nicht extra ;)
     
    #1
  2. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    295
    Ort:
    Bürostuhl
    Minecraft:
    GPSforLEGENDS
    Du spawnst die enderchest.
    du erstellt ein neues Inventar.
    packst beides in eine Hashmap, der key ist die enderchest.
    wenn jemand eine enderchest anklickt,dann guckst du ob die in der Hashmap ist und lädst das Inventar.
     
    #2
    Payno4 gefällt das.
  3. JTK222
    Offline

    JTK222

    Registriert seit:
    5. September 2013
    Beiträge:
    665
    Ort:
    Planet Erde
    Minecraft:
    JTK222
    Ganz einfach: geht nicht
    Eine Enderkiste speichert ihren Inhalt in der Spielerdatei des jeweiligen spielers und hat auch eine festgesetzte Slot anzahl.

    D.h. willst du den Inhalt ändern überschreibst du am einfachsten den Rechtsklick und öffnest eine Normale Kiste oder änderst den Inhalt in der Spielerdatei (weiß nicht mehr ob dies möglich ist)
     
    #3
    Payno4 gefällt das.
  4. pasce1998
    Offline

    pasce1998

    Registriert seit:
    20. April 2014
    Beiträge:
    21
    Ort:
    Hessen
    Minecraft:
    pasce1998
    Du castest den Sender erstmal zu einem Spieler holst dir deine Location und fragst dann ab, ob der gecastete Spieler ein Spieler ist? o_O

    Du kannst die Konsole nicht casten... erst die Abfrage, ob der Sender ein Spieler ist und dann casten ;)
     
    #4