Frage von Leroy138, 59

Welcher Fehler ist im Programmcode?

Ich möchte ein Plugin programmieren, welches in Minecraft mithilfe von CanaryMod ene Notunterkunft baut. Allerdings wird beim kompilieren ein Fehler angezeigt und zwar hier:

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);

Laut der Eingabeaufforderung ist bei

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

ein Fehler, Zitat: "error cant find symbol: Quader aussen = new Quader(4, 10, 10, BlockType.BrickBlock ^ ssymbol: class Quader location: class NotunterkunftPlugin"

Dieselbe Fehlermeldung wird nochmal in derselben, zweimal in der einen tiefer gelegenen angezeigt. Dringend Hilfe, hatte meinen bonennten versprochen den Server bal online zu stellen. Ganzer Code in einer Antwort ;-)

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von mepeisen, 20

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

Kommentar von Leroy138 ,

Idee dafür?

Edit: Ist in der Anleitung nicht angegeben(http://www.amazon.de/Lets-Play-MINECRAFT-programmieren-Programmieren/dp/39584513...)

Kommentar von mepeisen ,

Schau halt, woher die Klasse Quader stammt und mache dann ein Import. Oder nutze eine vernünftige IDE, die dir das abnimmt.

Antwort
von Leroy138, 27

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
von 420bibiboy, 23

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.

Kommentar von Leroy138 ,

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.

Keine passende Antwort gefunden?

Fragen Sie die Community