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!

Blöcke mit Data setzen?

Dieses Thema im Forum "Programmierung" wurde erstellt von Basti07711, 15. August 2014.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Basti07711
    Offline

    Basti07711 Ehem. Teammitglied

    Registriert seit:
    2. August 2012
    Beiträge:
    714
    Ort:
    Hinter dir
    Minecraft:
    Basti07711
    Hi leute,
    ich hätte eine Frage. Wie setze ich Blöcke, die eine Data haben, wie z.B. bunte Wolle? Ich verzweifel an diesem Problem...
    Das ist bisher mein Code:
    Code (Text):
    1.     File file = new File("plugins/BlockRegen", "Saves.yml");
    2.     FileConfiguration saves = YamlConfiguration.loadConfiguration(file);
    3.    
    4.     @EventHandler
    5.     public void onBlockPlace(BlockPlaceEvent e){
    6.         if(e.getPlayer() instanceof Player){
    7.             String location= e.getBlock().getLocation().getWorld().getName() + "," + e.getBlock().getLocation().getX() + "," + e.getBlock().getLocation().getY() + "," + e.getBlock().getLocation().getZ();
    8.            
    9.             if(saves.getStringList("Saves").contains(location)){
    10.             }else{
    11.                 List<String> list = saves.getStringList("Saves");
    12.                
    13.                 list.add(location);
    14.                
    15.                 saves.set("Saves", list);
    16.                
    17.                 try {
    18.                     saves.save(file);
    19.                 } catch (IOException e1) {
    20.                     e1.printStackTrace();
    21.                 }
    22.             }
    23.         }
    24.     }
    25.    
    26.     @EventHandler
    27.     public void onBlockBreak(final BlockBreakEvent e){
    28.         if(e.getPlayer() instanceof Player){
    29.             String location= e.getBlock().getLocation().getWorld().getName() + "," + e.getBlock().getLocation().getX() + "," + e.getBlock().getLocation().getY() + "," + e.getBlock().getLocation().getZ();
    30.             if(saves.getStringList("Saves").contains(location)){
    31.                 List<String> list = saves.getStringList("Saves");
    32.                
    33.                 list.remove(location);
    34.                
    35.                 saves.set("Saves", list);
    36.                
    37.                 try {
    38.                     saves.save(file);
    39.                 } catch (IOException e1) {
    40.                     e1.printStackTrace();
    41.                 }
    42.                
    43.             }else{
    44.                 final Location loc = e.getBlock().getLocation();
    45.                 final Material m = e.getBlock().getType();
    46.                
    47.                
    48.                 Bukkit.getServer().getScheduler().runTaskLater(Bukkit.getServer().getPluginManager().getPlugin("BlockRegen"), new Runnable() {
    49.                     public void run(){
    50.                         e.getPlayer().getLocation().getWorld().getBlockAt(loc).setType(m);
    51.                     }
    52.                 }, 600);
    53.             }
    54.         }
    55.     }
    56.  
    57. }
    Kann mir jemand sagen wie ich das mache? Ich bedanke mich schonmal im voraus ;)
     
    #1
  2. Werbung
    Online

    Werbung

  3. HeadiPlays
    Offline

    HeadiPlays

    Registriert seit:
    8. Februar 2014
    Beiträge:
    45
    Ort:
    Bayern
    Minecraft:
    HeadShotNoob
    Bei sowas musst du mit bytes arbeiten, Beispiel:
    Code (Text):
    1. Block b = p.getLocation().getBlock();
    2.         b.setType(Material.WOOL);
    3.         b.setData((byte)12);
    4.        
    Hier sollte zum Beispiel eine Farbige wolle rauskommen, habe es nicht versucht, aber nach diesem Schema funktioniert es ^^
     
    #2
Status des Themas:
Es sind keine weiteren Antworten möglich.