1. 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!

ServerPlugin Hilfe

Dieses Thema im Forum "Programmierung" wurde erstellt von miccc345, 6. Oktober 2015.

  1. miccc345
    Online

    miccc345

    Guten Abend ich wollte ein kleines plugin schreiben aber natürlich will es nie so wie man will

    Code (Text):
    1.  
    2. @EventHandler
    3.    public void onPlayerInteract(PlayerInteractEvent ie) {
    4.      if (ie.getAction() == Action.RIGHT_CLICK_BLOCK) {
    5.        if (ie.getClickedBlock().getType() == Material.ANVIL) {
    6. ie.getPlayer().sendMessage("test");
    7.      }}}}}
    8.  
    Also wenn ich einen Anvil anklicke kommt die Nachricht test das funktioniert auch aber
    wenn ich jetzt will das unter dem Anvil ein z.b. Diamantblock sein soll damit nur dann die Nachricht kommt hab ich gedacht ich mach das dazu

    Code (Text):
    1. if (ie.getPlayer().getLocation().subtract(0.0D, 1.0D, 0.0D).getBlock().getType() == Material.DIAMOND_BLOCK){
    Jetz ist es aber so das ich (Spieler) auf einen Diamantblock stehen muss damit diese nachricht kommt und nichtso wie ich das will
    ich muss ja iwie den Anvil als location angeben und nicht den Player aber wie mache ich das am besten?
     
    #1
  2. Werbung
    Online

    Werbung

  3. 可愛い
    Offline

    可愛い

    Registriert seit:
    19. Mai 2014
    Beiträge:
    704
    Ort:
    #2
  4. miccc345
    Online

    miccc345

    Vielen dank hat super geklappt !
    hier der Code vllt hilfts ja auch jemanden

    Code (Text):
    1.  
    2. @EventHandler
    3.    public void onPlayerInteract(PlayerInteractEvent ie) {
    4.      if (ie.getAction() == Action.RIGHT_CLICK_BLOCK) {
    5.        if (ie.getClickedBlock().getType() == Material.ANVIL) {
    6.          if (ie.getClickedBlock().getRelative(BlockFace.DOWN).getType() == Material.DIAMOND_BLOCK) {
    7.      
    8.        ie.getPlayer().sendMessage("test");
    9.      }}}}}
    10.  
     
    #3
  5. miccc345
    Online

    miccc345

    ich hab jetzt das Plugin weiter ausgebaut und wieder einen fehler ....:(

    Code (Text):
    1.  
    2. @EventHandler
    3.     public void onPlayerInteract(PlayerInteractEvent ie) {
    4.      Player p = ie.getPlayer();
    5.     if (ie.getAction() == Action.RIGHT_CLICK_BLOCK) {
    6.     if (ie.getClickedBlock().getType() == Material.ANVIL) {
    7.     if (ie.getClickedBlock().getRelative(BlockFace.DOWN).getType() == Material.STONE)
    8.         if (p.getInventory().getItemInHand().getType() == Material.COBBLESTONE) {
    9.        
    10.           p.getInventory().removeItem(new ItemStack[] { new ItemStack(Material.COBBLESTONE, 1) });
    11.         ItemStack item = new ItemStack(1, 1);
    12.        
    13.         ItemMeta meta = item.getItemMeta();
    14.         meta.setDisplayName("§6 Gebrannter Stein");
    15.        
    16.         item.setItemMeta(meta);
    17.         p.getInventory().addItem(item);
    18.        
    19.        
    20.         ie.setCancelled(true);
    21.        
    22.         }}}}}
    23.  
    erklärung:
    Also Spieler klickt einen Anvil an wenn unter dem Anvil ein Stein ist und ich einen Cobblestone in der Hand habe entfernt er ihn.
    Und ich bekomme einen gebrannten stein mit dem namen "Gebrannter Stein" dann wird die aktion gecancelt das das AnvilMenü nicht aufgeht ...

    So ansich funktioniert auch alles aber wenn nun der Cobblestone einen anderen Namen hat geht es nicht mehr und das ist mein Problem jemand eine Idee?

    Und ich bekomme einen "gebrannten stein" ohne das es mir Cobblestone abzieht
     
    #4
  6. Vanityra
    Offline

    Vanityra

    Registriert seit:
    9. Juni 2015
    Beiträge:
    219
    Ort:
    Heidelberg
    Minecraft:
    Vanityra
    Änder den Namen vom Cobblestone beim Rechtsklicken zum Standard-Namen (bzw. entferne den Namen), lass ihm nen Tick Zeit und dann mach das restliche. :)
     
    #5
    • Gefällt mir Gefällt mir x 1
  7. miccc345
    Online

    miccc345

    Danke
     
    #6