Mineplex/GOD DAMN COSMETICS/treasure/animation/animations/MinestrikeChestAnimation.java

62 lines
1.7 KiB
Java
Raw Normal View History

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);
}
}
}