Welcher Fehler ist im Programmcode?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Dann fehlt wohl ein Import für die Klasse "Quader".

Ganzer Code:

import net.canarymod.plugin.Plugin;
import net.canarymod.logger.Logman;
import net.canarymod.Canary;
import net.canarymod.commandsys.*;
import net.canarymod.chat.MessageReceiver;
import net.canarymod.api.entity.living.humanoid.Player;
import net.canarymod.api.world.blocks.BlockType;
import net.canarymod.api.world.position.Location;
import net.canarymod.api.world.World;
import net.canarymod.api.world.blocks.Block;
import net.canarymod.api.world.blocks.properties.helpers.DoorProperties;
import net.canarymod.api.world.blocks.properties.helpers.BedProperties;
import net.canarymod.api.world.blocks.properties.helpers.TorchProperties;
import net.canarymod.api.world.blocks.BlockFace;

public class NotunterkunftPlugin extends Plugin implements CommandListener {
@Override
public boolean enable() {
try{
Canary.commands().registerCommands(this,this,false);
}
catch(Exception e){
getLogman().error("Befehl konnte nicht registriert werden");
}
return true;
}

@Override
public void disable() {
}

@Command(aliases = {"notunterkunft","not","n"},
description = "Baut eine Notunterkunft aus Ziegeln, einem Bett, einer Fackel und einer Tür",
permissions = {""},
toolTip = "/notunterkunftoder /not oder /n")
public void bauen(MessageReceiver caller, String[] parameter){
if(caller instanceof Player){
Player spieler = (Player) caller;
World welt = spieler.getWorld();
Location pos = spieler.getLocation();

//Außen
Location aussenQuaderPosition = new Location(pos.getX()+4, pos.getY(), pos.getZ());
Location innenQuaderPosition = new Location(pos.getX()+5, pos.getY(), pos.getZ()+1);

Quader aussen = new Quader(4, 10, 10, BlockType.BrickBlock );
Quader innen = new Quader(3, 8, 8, BlockType.Air);

aussen.bauen(spieler, aussenQuaderPosition);
innen.bauen(spieler, innenQuaderPosition);

//Tür
Location tuerPosition = new Location(pos.getX()+9, pos.getY(), pos.getZ());
welt.setBlockAt(tuerPosition, BlockType.WoodenDoor);

tuerPosition.setY(pos.getY() + 1);
welt.setBlockAt(tuerPosition, BlockType.WoodenDoor);
Block tuerOben = welt.getBlockAt(tuerPosition);
DoorProperties.applyHalf(tuerOben, DoorProperties.Half.UPPER);
tuerOben.update();

//Inneneinrichtung
Location bettPosition = new Location(pos.getX()+9, pos.getY(), pos.getZ()+8);
welt.setBlockAt(bettPosition, BlockType.Bed);
Block bettOben = welt.getBlockAt(bettPosition);
BedProperties.applyFacing(bettOben, BlockFace.SOUTH);
BedProperties.applyPart(bettOben, BedPrperties.Half.HEAD);
bettOben.update();

bettPosition.setZ(bettPosition.getZ()-1);
welt.setBlockAt(bettPosition, BlockType.Bed);
Block bettUnten = welt.getBlockAt(bettPosition);
BedProperties.applyFacing(bettUnten, BlockFace.SOUTH);
bettUnten.update();

Location fackelPosition = new Location(pos.getX()+9, pos.getY()+2, pos.getZ()+8);
Block fackel = welt.getBlockAt(fackelPosition);
fackel.setType(BlockType.Torch);
TorchProperties.applyFacing(fackel, BlockFace.NORTH);
fackel.update();
}
else{
getLogman().info("Dieser Befehl kann nur von Spielern ausgeführt werden.");
}
}
}

Ich würde dir ja gerne helfen, jedoch verabscheue ich alle Minecraft Spieler, deshalb: nelassmal.

Edit: Ich rate dir ausserdem an den Code auf einer anderen Seite hochzuladen da er hier verschoben wird und d.h sehr unübersichtlich ist.

Wer hat behauptet ich würde es spielen? Ich habe nur unmengen an anfragen für nen server bekommen und musste diesen wunsch erfüllen.

0

Hilfe ich komme in Mathe nicht weiter ...?

Ein Quader hat die Kantenlänge a= 9cm; b= 7cm und die Oberfläche O= 286cm2. Berechne die Kantenlänge c.

...zur Frage

sprechanlage sprechfunktion geht nur nach innen aber aussen hört man nichts?

Legrand 600ws haustelefon sprechfunktion nicht möglich von innen nach aussen

aussen nach innen möglich hört man was?? wo ist der fehler???

...zur Frage

Kennt Beziehung/Assoziation/Bezugsobjekte in Java?

Ich möchte in Java drei Klassen haben. Die erste führt mit der main-Methode nur die zweite aus. Die zweite erstellt ein Objekt der dritten Klasse. Diese soll aber auf die Variablen und Methoden der zweiten Klasse zugreifen (OHNE static).

Erste Klasse:

public class Start {
public static void main(String[] args) {
    new Spiel();
}

}

Zweite Klasse:

public class Spiel {
Spielfeld meinSpielfeld = new Spielfeld();

int spieler = 1;

public int getSpieler() {
    return spieler;
}

public void setSpieler(int spieler) {
    this.spieler = spieler;
}

}

Dritte Klasse:

public class Spielfeld {
private Spiel meinSpiel;

public void test() {
        
    if (meinSpiel.getSpieler() == 1) {
            meinSpiel.setSpieler(2);        
    }
}

}

Alle Klassen auf das nötigste reduziert.

Was ist zu tun, dass bei der dritten Klasse nicht immer nullPointerException kommt?

...zur Frage

Mathe: Erklärung dieser beiden Mathefragen?

1.Erläutere wie sich der Flächeninhalt eines rechtwinkligen Dreiecks verändert, wenn man die Seitenlängen verdoppelt.

2.Erläutere wie sich der Rauminhalt eines Quaders verändert, wenn alle Kantenlängen verdoppelt werden.

...zur Frage

Tischtennis: Noppen außen auf beiden Seiten?

was meint ihr? welche spieler gibt es öfter?

  1. spieler die auf Vor- und Rückhand Noppen außen haben oder
  2. spieler die nur auf einer Seite Noppen außen haben und auf der anderen Noppen innen?
...zur Frage

Wie kühlt man einen Stahl-Quader von innen soweit runter, dass außen Frost entsteht - welche Technik empfehlt ihr?

...zur Frage

Was möchtest Du wissen?