Implement NMS arrow for 1.11
This commit is contained in:
parent
c870ed5ae9
commit
43807c42a1
@ -0,0 +1,28 @@
|
||||
package com.cnaude.chairs.vehiclearrow.v1_11_R1;
|
||||
|
||||
import com.cnaude.chairs.api.ChairsAPI;
|
||||
import net.minecraft.server.v1_11_R1.EntityArrow;
|
||||
import org.bukkit.craftbukkit.v1_11_R1.CraftServer;
|
||||
import org.bukkit.craftbukkit.v1_11_R1.entity.CraftArrow;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Vehicle;
|
||||
|
||||
public class CraftChairsArrow extends CraftArrow implements Vehicle {
|
||||
|
||||
public CraftChairsArrow(CraftServer server, EntityArrow entity) {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remove() {
|
||||
Entity passenger = getPassenger();
|
||||
if (passenger != null && passenger instanceof Player) {
|
||||
if (ChairsAPI.isSitting((Player) passenger)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
super.remove();
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
package com.cnaude.chairs.vehiclearrow.v1_11_R1;
|
||||
|
||||
import com.cnaude.chairs.vehiclearrow.NMSArrowFactoryInterface;
|
||||
import net.minecraft.server.v1_11_R1.EntityArrow;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.craftbukkit.v1_11_R1.CraftWorld;
|
||||
import org.bukkit.entity.Arrow;
|
||||
|
||||
public class NMSArrowFactory implements NMSArrowFactoryInterface {
|
||||
|
||||
@Override
|
||||
public Arrow spawnArrow(Location location) {
|
||||
CraftWorld world = (CraftWorld) location.getWorld();
|
||||
EntityArrow arrow = new NMSChairsArrow(world, location);
|
||||
return (Arrow) arrow.getBukkitEntity();
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
package com.cnaude.chairs.vehiclearrow.v1_11_R1;
|
||||
|
||||
import net.minecraft.server.v1_11_R1.EntityTippedArrow;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.craftbukkit.v1_11_R1.CraftServer;
|
||||
import org.bukkit.craftbukkit.v1_11_R1.CraftWorld;
|
||||
|
||||
public class NMSChairsArrow extends EntityTippedArrow {
|
||||
|
||||
public NMSChairsArrow(CraftWorld cworld, Location location) {
|
||||
super(cworld.getHandle());
|
||||
setPositionRotation(location.getX(), location.getY(), location.getZ(), location.getYaw(), location.getPitch());
|
||||
world.addEntity(this);
|
||||
bukkitEntity = new CraftChairsArrow((CraftServer) Bukkit.getServer(), this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void A_() {
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user