Ich habe ein Plugin programmiert, um jemanden nach rechts zu bewegen, wenn er mit einem bestimmten Text darauf klickt, aber um den Text zu finden, muss ich die Block-Klasse in das Zeichen konvertieren Klasse und verwenden Sie die getTextOnLine();
Funktion hier ist mein Java-Code public class CowShooter erweitert EZPlugin PluginListener implementiert {Wie man einen Block in seine Klasse konvertiert - Canarymod
@Override
public boolean enable() {
Canary.hooks().registerListener(this, this);
return super.enable(); // Call parent class's version too.
}
@HookHandler
public void SignChangeHook(BlockRightClickHook event) {
Player player = event.getPlayer();
Block block = event.getBlockClicked();
if (block.getType() == BlockType.SignPost || block.getType() == BlockType.WallSign) {
Bad Code Sign sign = event.getBlockClicked();
if (sign.getTextOnLine(1) == "TP") {
Location loc = player.getLocation();
int playerX = (int) loc.getX();
int playerY = (int) loc.getY();
int playerZ = (int) loc.getZ();
loc.setY(playerY+10);
player.teleportTo(loc);
}
}
}
}
hier ist die fo lder, dass der Quellcode ist in Source code for canarymod
'Zeichen Zeichen = (Zeichen) event.getBlockClicked();'? – Pokechu22
Ja thx Ich werde überprüfen, ob die Funktionen integriert sind lol canary ist besser als bukkit – MinecraftBoxGuy
Nein, es kann nicht konvertiert werden Java denkt, es funktioniert, aber canary wirft diese errow java.lang.ClassCastException: net.canarymod.api.world.blocks .CanaryBlock kann nicht in net.canarymod.api.world.blocks.Sign umgewandelt werden – MinecraftBoxGuy