Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import net.menoni.rd.Debugger;
- import net.menoni.rd.RuntimeDebugger;
- import org.bukkit.Bukkit;
- import org.bukkit.Location;
- import org.bukkit.Material;
- import org.bukkit.TreeSpecies;
- import org.bukkit.block.Block;
- import org.bukkit.block.BlockFace;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Boat;
- import org.bukkit.entity.Entity;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.HandlerList;
- import org.bukkit.event.Listener;
- import org.bukkit.event.block.Action;
- import org.bukkit.event.player.PlayerInteractEvent;
- import org.bukkit.event.vehicle.VehicleMoveEvent;
- import org.bukkit.util.Vector;
- import java.util.List;
- public class MarioKartWii implements Debugger, Debugger.Stoppable, Listener {
- @Override
- public void debug(RuntimeDebugger plugin, CommandSender cs) {
- Bukkit.getPluginManager().registerEvents(this, plugin);
- }
- @Override
- public void stop() {
- HandlerList.unregisterAll(this);
- }
- @EventHandler
- public void doEntityMove(VehicleMoveEvent vehicleMoveEvent) {
- if (!(vehicleMoveEvent.getVehicle() instanceof Boat)) {
- return;
- }
- List<Entity> passengers = vehicleMoveEvent.getVehicle().getPassengers();
- Player player = null;
- for (Entity passenger : passengers) {
- if (passenger instanceof Player) {
- player = (Player) passenger;
- }
- }
- if (player == null) {
- return;
- }
- Location loc = player.getLocation();
- Boat boat = (Boat) vehicleMoveEvent.getVehicle();
- TreeSpecies[] species = TreeSpecies.values();
- TreeSpecies specy = boat.getWoodType();
- int index = 0;
- for (int i = 0; i < species.length; i++) {
- if (species[i] == specy) {
- index = i;
- }
- }
- if (index >= species.length) {
- index = 0;
- }
- boat.setWoodType(species[index]);
- boolean boost = false;
- boolean jump = false;
- for (int i = 0; i < 3; i++) {
- Block block = loc.getBlock().getRelative(BlockFace.DOWN, i + 1);
- if (block.getType() == Material.GOLD_BLOCK) {
- boost = true;
- }
- if (block.getType() == Material.DIAMOND_BLOCK) {
- jump = true;
- }
- }
- if (boost) {
- player.getVelocity().multiply(2.0d);
- boat.getVelocity().multiply(2.0d);
- }
- if (jump) {
- player.getVelocity().add(new Vector(0.0d, 5.0d, 0.0d));
- boat.getVelocity().add(new Vector(0.0d, 5.0d, 0.0d));
- }
- }
- @EventHandler
- public void doItemTurbos(PlayerInteractEvent interactEvent) {
- if (interactEvent.getAction() != Action.RIGHT_CLICK_BLOCK && interactEvent.getAction() != Action.RIGHT_CLICK_AIR) {
- return;
- }
- if (interactEvent.getPlayer() == null) {
- return;
- }
- if (!(interactEvent.getPlayer().getVehicle() instanceof Boat)) {
- return;
- }
- if (interactEvent.getItem().getType() != Material.GOLD_INGOT) {
- return;
- }
- Boat boat = (Boat) interactEvent.getPlayer().getVehicle();
- interactEvent.getItem().setAmount(interactEvent.getItem().getAmount() - 1);
- interactEvent.getPlayer().getVelocity().multiply(1.5d);
- boat.getVelocity().multiply(1.5d);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement