Fix the sledge mount's offset
This commit is contained in:
parent
3b1ce13856
commit
593952fa10
@ -1,10 +1,13 @@
|
||||
package mineplex.core.gadget.gadgets.mount.types;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.craftbukkit.v1_8_R3.entity.CraftEntity;
|
||||
import org.bukkit.entity.ArmorStand;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
@ -14,6 +17,9 @@ import org.bukkit.util.Vector;
|
||||
|
||||
import mineplex.core.common.util.C;
|
||||
import mineplex.core.common.util.LineFormat;
|
||||
import mineplex.core.common.util.UtilParticle;
|
||||
import mineplex.core.common.util.UtilParticle.ParticleType;
|
||||
import mineplex.core.common.util.UtilParticle.ViewDist;
|
||||
import mineplex.core.common.util.UtilText;
|
||||
import mineplex.core.gadget.GadgetManager;
|
||||
import mineplex.core.gadget.gadgets.mount.Mount;
|
||||
@ -39,7 +45,7 @@ public class MountSledge extends Mount<MountSledgeData>
|
||||
@Override
|
||||
public MountSledgeData spawnMount(Player player)
|
||||
{
|
||||
Location location = player.getLocation().subtract(0, 1.5, 0);
|
||||
Location location = player.getLocation().subtract(0, 0.5, 0);
|
||||
ArmorStand front = player.getWorld().spawn(location, ArmorStand.class);
|
||||
ArmorStand back = player.getWorld().spawn(location, ArmorStand.class);
|
||||
|
||||
@ -62,17 +68,33 @@ public class MountSledge extends Mount<MountSledgeData>
|
||||
return;
|
||||
}
|
||||
|
||||
Set<Player> toRemove = new HashSet<>();
|
||||
|
||||
for (MountSledgeData data : _active.values())
|
||||
{
|
||||
if (data.getOwner().getVehicle() == null)
|
||||
{
|
||||
toRemove.add(data.getOwner());
|
||||
}
|
||||
|
||||
ArmorStand front = data.Front;
|
||||
ArmorStand back = data.Back;
|
||||
|
||||
Location playerLocation = data.getOwner().getLocation();
|
||||
playerLocation.setPitch(0);
|
||||
Vector direction = playerLocation.getDirection().multiply(0.1);
|
||||
Vector direction = playerLocation.getDirection().multiply(0.5);
|
||||
|
||||
front.teleport(front.getLocation().add(direction));
|
||||
back.teleport(back.getLocation().add(direction));
|
||||
Location newLocation = back.getLocation().add(direction);
|
||||
((CraftEntity) back).getHandle().setPositionRotation(newLocation.getX(), newLocation.getY(), newLocation.getZ(), playerLocation.getYaw(), 0);
|
||||
|
||||
newLocation.add(direction.multiply(1.6));
|
||||
newLocation.setYaw(playerLocation.getYaw());
|
||||
front.teleport(newLocation);
|
||||
|
||||
UtilParticle.PlayParticleToAll(ParticleType.SNOW_SHOVEL, playerLocation, 0.3F, 0, 0.3F, 0.1F, 2, ViewDist.NORMAL);
|
||||
}
|
||||
|
||||
toRemove.forEach(this::disable);
|
||||
}
|
||||
|
||||
class MountSledgeData extends MountData
|
||||
|
Loading…
Reference in New Issue
Block a user