Welcher Fehler ist im Programmcode?

...komplette Frage anzeigen

2 Antworten

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.");
}
}
}

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?