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

BuildFFA

SchnellfeuerXD

Kuhfänger
Registriert
8 Februar 2020
Beiträge
56
Diamanten
300
Hi, ich programmiere grade ein BuildFFA Plugin doch das Blöcke Placen und Entfernen doch mit meinem akutellen code geht es nicht.
Hier mein Code:
Code:
    @EventHandler
    public void onPlace(BlockPlaceEvent e) {
        Player p = e.getPlayer();
        if (e.getBlockPlaced().equals(Material.SANDSTONE)) {
            Utils.BLOCKS.add(e.getBlockPlaced().getLocation());
            new BukkitRunnable(){
                @Override
                public void run() {
                    e.getBlockPlaced().setType(Material.REDSTONE_BLOCK);
                    new BukkitRunnable() {
                        @Override
                        public void run() {
                            e.getBlockPlaced().setType(Material.AIR);
                            Utils.BLOCKS.remove(e.getBlockPlaced().getLocation());
                        }
                    }.runTaskLater(Buildffa.getInstance(), 20*5);
                }
            }.runTaskLater(Buildffa.getInstance(), 20*5);
        } else if (Utils.BUILD.contains(p)) {
            e.setCancelled(false);
        } else {
            e.setCancelled(true);
        }
    }

Die blöcke können garnicht gelaized werden obwohl es sanstone ist.
Würde mich über hilfe sehr freun!
 

BloodSKreaper

Vorarbeiter
Registriert
12 Oktober 2014
Beiträge
249
Diamanten
316
Minecraft
BloodSKreaper
if (e.getBlockPlaced().equals(Material.SANDSTONE)) {
Das funktioniert so nicht. getBlockPlaced() liefert ein Objekt vom Typ Block zurück und nicht Material. Du müsstest also getBlockPlaced().getType() == Material.SANDSTONE nehmen.

Freundliche Grüße
BloodSKreaper

PS: Weiter im Code habe ich nicht geschaut, ob es weitere Probleme gibt.

EDIT: Ich war schneller :p
 

TrinityX

Redstoneengineer
Registriert
17 Mai 2020
Beiträge
47
Alter
23
Diamanten
337
Minecraft
NichtTrinity
Hey @SchnellfeuerXD ,
Du fragst den Block zwar ab, willst diesen aber dann mit dem Blocktyp (Material) vergleichen.
Du müsstest dein If-Statment zu folgendem ändern
Java:
if(e.getBlockPlaced().getType().equals(Material.SANDSTONE))

Edit: So ein Pech aber auch :c
 

SchnellfeuerXD

Kuhfänger
Registriert
8 Februar 2020
Beiträge
56
Diamanten
300
Das funktioniert so nicht. getBlockPlaced() liefert ein Objekt vom Typ Block zurück und nicht Material. Du müsstest also getBlockPlaced().getType() == Material.SANDSTONE nehmen.

Freundliche Grüße
BloodSKreaper

PS: Weiter im Code habe ich nicht geschaut, ob es weitere Probleme gibt.

EDIT: Ich war schneller :p
Vielen Dank :)
 
Oben