I use the getHighestYAt(x, z) for a /top command but the command return an error so you have a solution ?.
[spoiler “”]
[18:35:16] [Server thread/ERROR] [Sponge]: Error occurred while executing command ‘top’ for source EntityPlayerMP[‘OrnomaS’/220, l=‘world’, x=201,62, y=106,26, z=68,95]: org.spongepowered.api.world.World.getHighestYAt(II)I
java.lang.NoSuchMethodError: org.spongepowered.api.world.World.getHighestYAt(II)I
at fr.OrnomaS.Plugin.cmd.TopCommand.execute(TopCommand.java:35) ~[TopCommand.class:?]
at org.spongepowered.api.command.spec.CommandSpec.process(CommandSpec.java:359) ~[CommandSpec.class:1.10.2-2477-5.2.0-BETA-2793]
at org.spongepowered.api.command.dispatcher.SimpleDispatcher.process(SimpleDispatcher.java:336) ~[SimpleDispatcher.class:1.10.2-2477-5.2.0-BETA-2793]
at org.spongepowered.common.command.SpongeCommandManager.process(SpongeCommandManager.java:291) ~[SpongeCommandManager.class:1.10.2-2477-5.2.0-BETA-2793]
at net.minecraft.command.ServerCommandManager.func_71556_a(SourceFile:1083) ~[bd.class:?]
at net.minecraft.network.NetHandlerPlayServer.func_147361_d(NetHandlerPlayServer.java:913) ~[me.class:?]
at net.minecraft.network.NetHandlerPlayServer.func_147354_a(NetHandlerPlayServer.java:892) ~[me.class:?]
at net.minecraft.network.play.client.CPacketChatMessage.func_148833_a(SourceFile:37) ~[im.class:?]
at net.minecraft.network.play.client.CPacketChatMessage.func_148833_a(SourceFile:9) ~[im.class:?]
at org.spongepowered.common.network.PacketUtil.lambda$onProcessPacket$0(PacketUtil.java:157) ~[PacketUtil.class:1.10.2-2477-5.2.0-BETA-2793]
at org.spongepowered.common.event.tracking.CauseTracker.switchToPhase(CauseTracker.java:163) [CauseTracker.class:1.10.2-2477-5.2.0-BETA-2793]
at org.spongepowered.common.network.PacketUtil.onProcessPacket(PacketUtil.java:156) [PacketUtil.class:1.10.2-2477-5.2.0-BETA-2793]
at net.minecraft.network.PacketThreadUtil$1.redirect$onProcessPacket$zjj000(SourceFile:539) [fl$1.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) [fl$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_162]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_162]
at net.minecraft.util.Util.func_181617_a(SourceFile:45) [h.class:?]
at org.spongepowered.common.SpongeImplHooks.onUtilRunTask(SpongeImplHooks.java:239) [SpongeImplHooks.class:1.10.2-2477-5.2.0-BETA-2793]
at net.minecraft.server.MinecraftServer.redirect$onRun$zhp000(MinecraftServer.java:3948) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:668) [MinecraftServer.class:?]
at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:387) [ld.class:?]
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:613) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:471) [MinecraftServer.class:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_162]
[/spoiler]
[b]
Plugin Source:
package fr.OrnomaS.Plugin.cmd;
import org.spongepowered.api.command.CommandException;
import org.spongepowered.api.command.CommandResult;
import org.spongepowered.api.command.CommandSource;
import org.spongepowered.api.command.args.CommandContext;
import org.spongepowered.api.command.spec.CommandExecutor;
import org.spongepowered.api.entity.living.player.Player;
import org.spongepowered.api.world.Location;
import org.spongepowered.api.world.World;
import javax.inject.Inject;
import java.util.logging.Logger;
public class TopCommand implements CommandExecutor
{
@Inject
Logger logger;
@Override
public CommandResult execute(CommandSource src, CommandContext args) throws CommandException
{
if (src instanceof Player)
{
Player p = (Player)src;
World world = p.getWorld();
Location ploc = p.getLocation();
int x = (int)ploc.getX();
int z = (int)ploc.getZ();
p.setLocation(new Location<World>(world, x, world.getHighestYAt(x, z), z));
}
else
{
System.out.print("Just player can run this command");
}
return CommandResult.success();
}
}
[/b]