• 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?

Status
Für weitere Antworten geschlossen.

HardSoul

Ehemaliges Teammitglied
Ehem. Teammitglied
Registriert
2 August 2012
Beiträge
759
Diamanten
251
Minecraft
HardS0ul
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:
    File file = new File("plugins/BlockRegen", "Saves.yml");
    FileConfiguration saves = YamlConfiguration.loadConfiguration(file);
   
    @EventHandler
    public void onBlockPlace(BlockPlaceEvent e){
        if(e.getPlayer() instanceof Player){
            String location= e.getBlock().getLocation().getWorld().getName() + "," + e.getBlock().getLocation().getX() + "," + e.getBlock().getLocation().getY() + "," + e.getBlock().getLocation().getZ();
           
            if(saves.getStringList("Saves").contains(location)){
            }else{
                List<String> list = saves.getStringList("Saves");
               
                list.add(location);
               
                saves.set("Saves", list);
               
                try {
                    saves.save(file);
                } catch (IOException e1) {
                    e1.printStackTrace();
                }
            }
        }
    }
   
    @EventHandler
    public void onBlockBreak(final BlockBreakEvent e){
        if(e.getPlayer() instanceof Player){
            String location= e.getBlock().getLocation().getWorld().getName() + "," + e.getBlock().getLocation().getX() + "," + e.getBlock().getLocation().getY() + "," + e.getBlock().getLocation().getZ();
            if(saves.getStringList("Saves").contains(location)){
                List<String> list = saves.getStringList("Saves");
               
                list.remove(location);
               
                saves.set("Saves", list);
               
                try {
                    saves.save(file);
                } catch (IOException e1) {
                    e1.printStackTrace();
                }
               
            }else{
                final Location loc = e.getBlock().getLocation();
                final Material m = e.getBlock().getType();
               
               
                Bukkit.getServer().getScheduler().runTaskLater(Bukkit.getServer().getPluginManager().getPlugin("BlockRegen"), new Runnable() {
                    public void run(){
                        e.getPlayer().getLocation().getWorld().getBlockAt(loc).setType(m);
                    }
                }, 600);
            }
        }
    }

}

Kann mir jemand sagen wie ich das mache? Ich bedanke mich schonmal im voraus ;)
 

HeadiPlays

Redstoneengineer
Registriert
8 Februar 2014
Beiträge
45
Diamanten
0
Minecraft
HeadShotNoob
Bei sowas musst du mit bytes arbeiten, Beispiel:
Code:
Block b = p.getLocation().getBlock();
        b.setType(Material.WOOL);
        b.setData((byte)12);
Hier sollte zum Beispiel eine Farbige wolle rauskommen, habe es nicht versucht, aber nach diesem Schema funktioniert es ^^
 
Status
Für weitere Antworten geschlossen.
Oben