- Баллы
- 66
qq форум!
Возникла острая проблема - получаю пакеты от игрока когда тот управляет вагонеткой.
Нужно просто перемещать вагонетку по кнопкам WASD. Как это делать я понял, вопрос теперь в другом.
Код:
Суть в том, что вагонетка спустя какое-то количество блоков просто останавливается.
Видео (есть момент где я написал в чат "после" - это после того, когда multiply стал принимать значение 1. до этого принимал 10):
Знаю например, что есть плагин uCars. Но там СТОЛЬКО КОДА, что разбираться в том как перемещается вагонетка можно убить дни, а сделать перемещение нужно срочно.
Если потребуется написание кастомного класса вагонетки - не проблема, просто скажите что нужно конкретно прописывать своей вагонетке.
Спасибо!
P.S. Подозреваю что баг кроется в Yaw - нужно, чтобы yaw вагонетки и yaw игрока были равны. Но как такое сделать?
P.S.S. Entity#setRotation() работает очень криво - иногда facing и yaw совпадает, иногда нет. Тем не менее - вагонетка останавливается(
Возникла острая проблема - получаю пакеты от игрока когда тот управляет вагонеткой.
Нужно просто перемещать вагонетку по кнопкам WASD. Как это делать я понял, вопрос теперь в другом.
Код:
Код:
protocolManager = ProtocolLibrary.getProtocolManager();
protocolManager.addPacketListener(
new PacketAdapter(this, ListenerPriority.NORMAL,
PacketType.Play.Client.STEER_VEHICLE) {
@Override
public void onPacketReceiving(PacketEvent event) {
if(event.getPacketType() == PacketType.Play.Client.STEER_VEHICLE)
{
PacketContainer container = event.getPacket();
Player player = event.getPlayer();
//Float sideways = container.getFloat().read(0);
//Float forward = container.getFloat().read(1);
Minecart cart = (Minecart)player.getVehicle();
cart.setMaxSpeed(20);
cart.setRotation(player.getEyeLocation().getYaw() + 90, 0);
cart.setVelocity(player.getVelocity().normalize().multiply(1));
for(Player p : Bukkit.getOnlinePlayers())
{
p.sendMessage("FACING:" + p.getVehicle().getFacing() + "|YOUR YAW" + player.getEyeLocation().getYaw() + "|CART YAW" + cart.getLocation().getYaw());
}
}
}
});
Видео (есть момент где я написал в чат "после" - это после того, когда multiply стал принимать значение 1. до этого принимал 10):
Знаю например, что есть плагин uCars. Но там СТОЛЬКО КОДА, что разбираться в том как перемещается вагонетка можно убить дни, а сделать перемещение нужно срочно.
Если потребуется написание кастомного класса вагонетки - не проблема, просто скажите что нужно конкретно прописывать своей вагонетке.
Спасибо!
P.S. Подозреваю что баг кроется в Yaw - нужно, чтобы yaw вагонетки и yaw игрока были равны. Но как такое сделать?
P.S.S. Entity#setRotation() работает очень криво - иногда facing и yaw совпадает, иногда нет. Тем не менее - вагонетка останавливается(