Quests/v1_8_R2/src/main/java/me/blackvein/quests/particle/ParticleProvider_v1_8_R2.java

51 lines
3.0 KiB
Java

/*******************************************************************************************************
* Continued by FlyingPikachu/HappyPikachu with permission from _Blackvein_. All rights reserved.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
* NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
****************************************************************************************************** */
package me.blackvein.quests.particle;
import java.util.HashMap;
import java.util.Map;
import net.minecraft.server.v1_8_R2.EnumParticle;
import net.minecraft.server.v1_8_R2.PacketPlayOutWorldParticles;
import org.bukkit.Location;
import org.bukkit.craftbukkit.v1_8_R2.entity.CraftPlayer;
import org.bukkit.entity.Player;
public class ParticleProvider_v1_8_R2 extends ParticleProvider {
private static Map<PreBuiltParticle, Object> PARTICLES = new HashMap<>();
static {
PARTICLES.put(PreBuiltParticle.ENCHANT, EnumParticle.ENCHANTMENT_TABLE);
PARTICLES.put(PreBuiltParticle.CRIT, EnumParticle.CRIT);
PARTICLES.put(PreBuiltParticle.SPELL, EnumParticle.SPELL_INSTANT);
PARTICLES.put(PreBuiltParticle.MAGIC_CRIT, EnumParticle.CRIT_MAGIC);
PARTICLES.put(PreBuiltParticle.MOB_SPELL, EnumParticle.SPELL_MOB);
PARTICLES.put(PreBuiltParticle.NOTE, EnumParticle.NOTE);
PARTICLES.put(PreBuiltParticle.PORTAL, EnumParticle.PORTAL);
PARTICLES.put(PreBuiltParticle.DUST, EnumParticle.REDSTONE);
PARTICLES.put(PreBuiltParticle.WITCH, EnumParticle.SPELL_WITCH);
PARTICLES.put(PreBuiltParticle.SNOWBALL, EnumParticle.SNOWBALL);
PARTICLES.put(PreBuiltParticle.SPLASH, EnumParticle.WATER_SPLASH);
PARTICLES.put(PreBuiltParticle.SMOKE, EnumParticle.TOWN_AURA);
}
@Override
Map<PreBuiltParticle, Object> getParticleMap() {
return PARTICLES;
}
@Override
void spawnParticle(Player player, Location location, Object particle, float offsetX, float offsetY, float offsetZ, float speed, int count, int[] data) {
PacketPlayOutWorldParticles packet = new PacketPlayOutWorldParticles((EnumParticle) particle, false, (float) location.getX(), (float) location.getY(), (float) location.getZ(), offsetX, offsetY, offsetZ, speed, count, data);
((CraftPlayer) player).getHandle().playerConnection.sendPacket(packet);
}
}