Programm Item Switch Disablen!

Dieses Thema im Forum "Programmierung" wurde erstellt von CrackRudi, 21. April 2016.

  1. CrackRudi
    Offline

    CrackRudi

    Registriert seit:
    18. April 2016
    Beiträge:
    33
    Hallo liebes Forum,
    Ich habe ein Plugin programmiert und will jetzt den 8 Inventar Slot disablen . Also dass dar keine Items mehr rausgenommen werden können und dass mann das item auch nicht droppen kann wenn man Q Drückt aber das die Slots von 0-7 noch ganz normal funktionieren !

    Code (Text):
    1. package de.crackrudi.events;
    2.  
    3. import org.bukkit.Material;
    4. import org.bukkit.entity.Player;
    5. import org.bukkit.event.EventHandler;
    6. import org.bukkit.event.Listener;
    7. import org.bukkit.event.inventory.InventoryClickEvent;
    8.  
    9. public class Event_InventoryClick implements Listener {
    10.    
    11.    
    12. @EventHandler
    13. public void Inventory(InventoryClickEvent e) {
    14.    
    15.     String pr = "§7[§eCrackBurn§7] ";
    16.    
    17.     Player p = (Player) e.getWhoClicked();
    18.    
    19.    
    20.     if(e.getInventory().getName().equalsIgnoreCase("Vip Menu")) {
    21.         e.setCancelled(true);
    22.        
    23.        
    24.         if(e.getCurrentItem().getType() == Material.COMPASS) {
    25.             p.performCommand("randomtp");
    26.             e.getView().close();
    27.         }
    28.        
    29.         else if(e.getCurrentItem().getType() == Material.RED_ROSE) {
    30.             p.performCommand("heal");
    31.             p.sendMessage(pr + "Du wurdest Geheilt!");
    32.             e.getView().close();
    33.            
    34.         }
    35.     }
    36.    
    37. }
    38.  
    39. }
    40.  
    Code (Text):
    1. package de.crackrudi.events;
    2.  
    3. import org.bukkit.Material;
    4. import org.bukkit.entity.Player;
    5. import org.bukkit.event.EventHandler;
    6. import org.bukkit.event.Listener;
    7. import org.bukkit.event.block.Action;
    8. import org.bukkit.event.player.PlayerInteractEvent;
    9.  
    10. public class Event_PlayerInteract implements Listener {
    11.    
    12.     @EventHandler
    13.     public void onPlayerInteract(PlayerInteractEvent e) {
    14.        
    15.        
    16.         Player p = (Player) e.getPlayer();
    17.     if(p.hasPermission("crackburn.vipitem")) {
    18.         if(e.getAction() == Action.RIGHT_CLICK_AIR | e.getAction() == Action.RIGHT_CLICK_BLOCK) {
    19.             if(e.getMaterial().equals(Material.TNT)) {
    20.             p.performCommand("vipmenu");
    21.            
    22.             }
    23.            
    24.            
    25.             }
    26.            
    27.         }
    28.     }
    29.    
    30.  
    31. }
    32.  
    Code (Text):
    1. package de.crackrudi.crackburnsurvival.cmd;
    2.  
    3. import java.util.ArrayList;
    4.  
    5. import org.bukkit.Material;
    6. import org.bukkit.command.Command;
    7. import org.bukkit.command.CommandExecutor;
    8. import org.bukkit.command.CommandSender;
    9. import org.bukkit.entity.Player;
    10. import org.bukkit.inventory.Inventory;
    11. import org.bukkit.inventory.ItemStack;
    12. import org.bukkit.inventory.meta.ItemMeta;
    13.  
    14. public class CMD_Vip implements CommandExecutor {
    15.    
    16.     private Inventory inv = null;
    17.  
    18.     @Override
    19.     public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    20.        
    21.         Player p = (Player) sender;
    22.        
    23.         if(cmd.getName().equalsIgnoreCase("vipmenu")) {
    24.              inv = p.getPlayer().getServer().createInventory(null, 27, "Vip Menu");
    25.            
    26.              ItemStack compass = new ItemStack(Material.COMPASS);
    27.              ItemMeta compassmeta = compass.getItemMeta();
    28.              compassmeta.setDisplayName("§a§1RandomTeleport!");
    29.            
    30.              ItemStack heal = new ItemStack(Material.RED_ROSE);
    31.              ItemMeta healmeta = heal.getItemMeta();
    32.              healmeta.setDisplayName("§a§1Heilt Dich!");
    33.              ArrayList<String> heallore = new ArrayList<>();
    34.              heallore.add("Heilt deine Herzen um 100%!");
    35.              healmeta.setLore(heallore);
    36.              heal.setItemMeta(healmeta);
    37.            
    38.              ItemStack Glas = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 7 );
    39.            
    40.            
    41.            
    42.              inv.setItem(0, Glas);
    43.              inv.setItem(1, compass);
    44.              inv.setItem(2, Glas);
    45.              inv.setItem(3, heal);
    46.              inv.setItem(4, Glas);
    47.              inv.setItem(5, Glas);
    48.              inv.setItem(6, Glas);
    49.              inv.setItem(7, Glas);
    50.              inv.setItem(8, Glas);
    51.              inv.setItem(9, Glas);
    52.              inv.setItem(10, Glas);
    53.              inv.setItem(11, Glas);
    54.              inv.setItem(12, Glas);
    55.              inv.setItem(13, Glas);
    56.              inv.setItem(14, Glas);
    57.              inv.setItem(15, Glas);
    58.              inv.setItem(16, Glas);
    59.              inv.setItem(17, Glas);
    60.              inv.setItem(18, Glas);
    61.              inv.setItem(19, Glas);
    62.              inv.setItem(20, Glas);
    63.              inv.setItem(21, Glas);
    64.              inv.setItem(22, Glas);
    65.              inv.setItem(23, Glas);
    66.              inv.setItem(24, Glas);
    67.              inv.setItem(25, Glas);
    68.              inv.setItem(26, Glas);
    69.            
    70.              p.getPlayer().openInventory(inv);
    71.         }
    72.        
    73.        
    74.        
    75.         return false;
    76.     }
    77.    
    78.    
    79.  
    80. }
    81.  
    Danke für eure Hilfe!

    PS : Benutze Spigot Version 1.9.2
     
    #1
  2. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    295
    Ort:
    Bürostuhl
    Minecraft:
    GPSforLEGENDS
    Du erwartest doch nicht wirklich das dir jemand mit den paar Infos helfen wird oder???
     
    #2
  3. CrackRudi
    Offline

    CrackRudi

    Registriert seit:
    18. April 2016
    Beiträge:
    33
    Wie meinst du dass willst du die classe haben oder was?
     
    #3
  4. Vazug
    Online

    Vazug

    Er hat zu wenig Informationen, um dir zu helfen.
    Ich bin zwar kein Java-Profi, aber ich gehe davon aus, dass du die Events vom InventoryClick ("InventoryClickEvent") und vom Drop ("PlayerDropItemEvent") canceln musst, möglicherweise auch weitere Events, sowie den Inventory Slot vor dem Canceln zu prüfen.

    Dieser Beitrag war höchstwahrscheinlich genauso wenig hilfreich, da du dies als hochprofessioneller Java-Entwickler mit teurem 3-jährigem Studium sicherlich wusstest.
    Der 9. Inventar-Slot ist nicht in der Hotbar, das weißt du sicherlich ebenfalls, da du ja 0-8 noch benutzen willst und genau dies die Hotbar-Slots sind.
     
    #4
    adagi, jensIO und GPSforLEGENDS gefällt das.
  5. CrackRudi
    Offline

    CrackRudi

    Registriert seit:
    18. April 2016
    Beiträge:
    33
    so habe jetzt alles hinzugefügt
     
    #5