62 lines
1.7 KiB
Java
62 lines
1.7 KiB
Java
|
package mineplex.core.treasure.animation.animations;
|
||
|
|
||
|
import org.bukkit.Effect;
|
||
|
import org.bukkit.Location;
|
||
|
import org.bukkit.Material;
|
||
|
|
||
|
import mineplex.core.common.util.UtilAlg;
|
||
|
import mineplex.core.common.util.UtilParticle;
|
||
|
import mineplex.core.common.util.UtilParticle.ParticleType;
|
||
|
import mineplex.core.common.util.UtilParticle.ViewDist;
|
||
|
import mineplex.core.treasure.TreasureLocation;
|
||
|
import mineplex.core.treasure.animation.TreasureOpenAnimation;
|
||
|
import mineplex.core.treasure.types.Treasure;
|
||
|
|
||
|
public class MinestrikeChestAnimation extends TreasureOpenAnimation
|
||
|
{
|
||
|
|
||
|
public MinestrikeChestAnimation(Treasure treasure, TreasureLocation treasureLocation)
|
||
|
{
|
||
|
super(treasure, treasureLocation);
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
protected void onStart()
|
||
|
{
|
||
|
changeFloor(Material.SAND, 0, Material.SANDSTONE, 0);
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public void onTick()
|
||
|
{
|
||
|
if (getTicks() % 3 == 0)
|
||
|
{
|
||
|
for (Location location : getTreasureLocation().getChestLocations())
|
||
|
{
|
||
|
UtilParticle.PlayParticleToAll(ParticleType.BLOCK_DUST.getParticle(Material.OBSIDIAN, 0), location.clone().add(0, 0.4, 0), 0.25F, 0.25F, 0.25F, 0, 3, ViewDist.NORMAL);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (getTicks() > 50)
|
||
|
{
|
||
|
setRunning(false);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
protected void onFinish()
|
||
|
{
|
||
|
for (Location location : getTreasureLocation().getChestLocations())
|
||
|
{
|
||
|
location = location.clone();
|
||
|
location.setYaw(UtilAlg.GetYaw(UtilAlg.getTrajectory(location, getTreasureLocation().getChest())));
|
||
|
location.getWorld().playEffect(location, Effect.STEP_SOUND, Material.CHEST);
|
||
|
createChestAt(location, Material.CHEST);
|
||
|
|
||
|
location.add(0, 1, 0);
|
||
|
|
||
|
UtilParticle.PlayParticleToAll(ParticleType.LARGE_EXPLODE, location, 0, 0, 0, 0.1F, 1, ViewDist.NORMAL);
|
||
|
}
|
||
|
}
|
||
|
}
|