Implement NMS arrow for 1.12pre2
This commit is contained in:
parent
df84bdef5a
commit
04728b1fd9
@ -0,0 +1,28 @@
|
|||||||
|
package com.cnaude.chairs.vehiclearrow.v1_12_R1;
|
||||||
|
|
||||||
|
import com.cnaude.chairs.api.ChairsAPI;
|
||||||
|
import net.minecraft.server.v1_12_R1.EntityArrow;
|
||||||
|
import org.bukkit.craftbukkit.v1_12_R1.CraftServer;
|
||||||
|
import org.bukkit.craftbukkit.v1_12_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_12_R1;
|
||||||
|
|
||||||
|
import com.cnaude.chairs.vehiclearrow.NMSArrowFactoryInterface;
|
||||||
|
import net.minecraft.server.v1_12_R1.EntityArrow;
|
||||||
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.craftbukkit.v1_12_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_12_R1;
|
||||||
|
|
||||||
|
import net.minecraft.server.v1_12_R1.EntityTippedArrow;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.craftbukkit.v1_12_R1.CraftServer;
|
||||||
|
import org.bukkit.craftbukkit.v1_12_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 B_() {
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user