package me.gtacraft.cars; import com.comphenix.protocol.PacketType; import com.comphenix.protocol.ProtocolLibrary; import com.comphenix.protocol.ProtocolManager; import com.comphenix.protocol.events.ListenerPriority; import com.comphenix.protocol.events.PacketAdapter; import com.comphenix.protocol.events.PacketContainer; import com.comphenix.protocol.events.PacketEvent; import me.gtacraft.cars.controllers.MotionController; import me.gtacraft.cars.events.CarEvents; import org.bukkit.Bukkit; import org.bukkit.entity.Minecart; import org.bukkit.entity.Player; import org.bukkit.plugin.java.JavaPlugin; import java.util.HashMap; /** * Created by tacticalsk8er on 4/27/14. */ public class CarsPlugin extends JavaPlugin { private static CarsPlugin instance; private ProtocolManager protocolManager; public static HashMap<Player, Minecart> playersInCars = new HashMap<>(); public static HashMap<Player, Float> playersUsingNos = new HashMap<>(); @Override public void onLoad() { setupProtocolLib(); } @Override public void onEnable() { instance = this; getServer().getPluginManager().registerEvents(new CarEvents(), this); } private void setupProtocolLib() { 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 packetContainer = event.getPacket(); float sideways = packetContainer.getFloat().read(0); float forwards = packetContainer.getFloat().read(1); MotionController.moveCar(event.getPlayer(), forwards, sideways); } } }); } public static CarsPlugin getInstance() { return instance; } }