mirror of
https://github.com/AtlasMediaGroup/TotalFreedomMod.git
synced 2025-07-02 04:56:40 +00:00
92
src/main/java/me/totalfreedom/totalfreedommod/Monitors.java
Normal file
92
src/main/java/me/totalfreedom/totalfreedommod/Monitors.java
Normal file
@ -0,0 +1,92 @@
|
||||
package me.totalfreedom.totalfreedommod;
|
||||
|
||||
import java.text.DecimalFormat;
|
||||
import me.totalfreedom.totalfreedommod.util.FUtil;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.entity.LingeringPotionSplashEvent;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.entity.PotionSplashEvent;
|
||||
import org.bukkit.projectiles.ProjectileSource;
|
||||
|
||||
public class Monitors extends FreedomService
|
||||
{
|
||||
|
||||
private final DecimalFormat decimalFormat = new DecimalFormat("#");
|
||||
|
||||
public Monitors(TotalFreedomMod plugin)
|
||||
{
|
||||
super(plugin);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStart()
|
||||
{
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStop()
|
||||
{
|
||||
}
|
||||
|
||||
public String getMaterial(final int id)
|
||||
{
|
||||
return String.valueOf(Material.getMaterial(id));
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.LOW)
|
||||
public void onLingeringPotionSplash(LingeringPotionSplashEvent event)
|
||||
{
|
||||
ProjectileSource source = event.getEntity().getShooter();
|
||||
|
||||
if (!(source instanceof Player))
|
||||
{
|
||||
return;
|
||||
}
|
||||
Player player = (Player) source;
|
||||
|
||||
if (plugin.al.isAdmin((Player) event.getEntity().getShooter()))
|
||||
{
|
||||
return;
|
||||
}
|
||||
final int droppedItem = event.getEntity().getItem().getTypeId();
|
||||
final Location location = player.getLocation();
|
||||
|
||||
for (Player p : server.getOnlinePlayers())
|
||||
{
|
||||
if (plugin.al.isAdmin(p) && plugin.pl.getPlayer(p).isPotionMonitorEnabled())
|
||||
{
|
||||
FUtil.playerMsg(p, player.getName() + " splashed " + event.getEntity().getItem().getAmount() + " " + getMaterial(droppedItem) + " at [" + decimalFormat.format(location.getX()) + ", " + decimalFormat.format(location.getY()) + ", " + decimalFormat.format(location.getZ()) + "] in the world '" + location.getWorld().getName() + "'.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.LOW)
|
||||
public void onPotionSplash(PotionSplashEvent event)
|
||||
{
|
||||
ProjectileSource source = event.getEntity().getShooter();
|
||||
|
||||
if (!(source instanceof Player))
|
||||
{
|
||||
return;
|
||||
}
|
||||
Player player = (Player) source;
|
||||
|
||||
if (plugin.al.isAdmin((Player) event.getEntity().getShooter()))
|
||||
{
|
||||
return;
|
||||
}
|
||||
final int droppedItem = event.getPotion().getItem().getTypeId();
|
||||
final Location location = player.getLocation();
|
||||
|
||||
for (Player p : server.getOnlinePlayers())
|
||||
{
|
||||
if (plugin.al.isAdmin(p) && plugin.pl.getPlayer(p).isPotionMonitorEnabled())
|
||||
{
|
||||
FUtil.playerMsg(p, player.getName() + " splashed " + event.getPotion().getItem().getAmount() + " " + this.getMaterial(droppedItem) + " at [" + decimalFormat.format(location.getX()) + ", " + decimalFormat.format(location.getY()) + ", " + decimalFormat.format(location.getZ()) + "] in the world '" + location.getWorld().getName() + "'.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user