mirror of
https://github.com/AtlasMediaGroup/TotalFreedomMod.git
synced 2025-06-12 22:03:53 +00:00
fuck you super there is development
This commit is contained in:
@ -0,0 +1,61 @@
|
||||
package me.totalfreedom.totalfreedommod.fun;
|
||||
|
||||
import java.util.HashMap;
|
||||
import me.totalfreedom.totalfreedommod.FreedomService;
|
||||
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.player.PlayerResourcePackStatusEvent;
|
||||
|
||||
import static org.bukkit.event.player.PlayerResourcePackStatusEvent.Status;
|
||||
|
||||
public class CurseListener extends FreedomService
|
||||
{
|
||||
|
||||
public HashMap<Player, Player> cursedPlayers = new HashMap<Player, Player>();
|
||||
|
||||
public CurseListener(TotalFreedomMod plugin)
|
||||
{
|
||||
super(plugin);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStart()
|
||||
{
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStop()
|
||||
{
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.MONITOR)
|
||||
public void onResourcePackStatus(PlayerResourcePackStatusEvent event)
|
||||
{
|
||||
Player player = event.getPlayer();
|
||||
PlayerResourcePackStatusEvent.Status cursed = event.getStatus();
|
||||
Player cursedBy = cursedPlayers.get(player);
|
||||
if (cursed.equals(Status.ACCEPTED))
|
||||
{
|
||||
cursedBy.sendMessage(ChatColor.GREEN + "Casting curse on " + player.getName() + "...");
|
||||
}
|
||||
else if (cursed.equals(Status.DECLINED))
|
||||
{
|
||||
cursedBy.sendMessage(ChatColor.RED + "Failed to start cast on " + player.getName() + "!");
|
||||
cursedPlayers.remove(player);
|
||||
}
|
||||
else if (cursed.equals(Status.SUCCESSFULLY_LOADED))
|
||||
{
|
||||
cursedBy.sendMessage(ChatColor.GREEN + "Successfully cursed + " + player.getName() + "!");
|
||||
cursedPlayers.remove(player);
|
||||
}
|
||||
else if (cursed.equals(Status.FAILED_DOWNLOAD))
|
||||
{
|
||||
cursedBy.sendMessage(ChatColor.RED + "Failed to cast curse on " + player.getName() + "!");
|
||||
cursedPlayers.remove(player);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -9,6 +9,9 @@ import me.totalfreedom.totalfreedommod.config.ConfigEntry;
|
||||
import me.totalfreedom.totalfreedommod.player.FPlayer;
|
||||
import me.totalfreedom.totalfreedommod.util.DepreciationAggregator;
|
||||
import me.totalfreedom.totalfreedommod.util.FUtil;
|
||||
import org.bukkit.entity.Arrow;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.event.entity.ProjectileHitEvent;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Sound;
|
||||
@ -25,6 +28,8 @@ import org.bukkit.util.Vector;
|
||||
public class ItemFun extends FreedomService
|
||||
{
|
||||
|
||||
public List<Player> explosivePlayers = new ArrayList<Player>();
|
||||
|
||||
private final Random random = new Random();
|
||||
|
||||
public ItemFun(TotalFreedomMod plugin)
|
||||
@ -271,6 +276,25 @@ public class ItemFun extends FreedomService
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onProjectileHit(ProjectileHitEvent event)
|
||||
{
|
||||
Entity entity = event.getEntity();
|
||||
Arrow arrow = null;
|
||||
if (entity instanceof Arrow)
|
||||
{
|
||||
arrow = (Arrow)entity;
|
||||
}
|
||||
if (arrow != null && (arrow.getShooter() instanceof Player))
|
||||
{
|
||||
if (explosivePlayers.contains((Player)arrow.getShooter()))
|
||||
{
|
||||
arrow.getLocation().getWorld().createExplosion(arrow.getLocation().getX(), arrow.getLocation().getY(), arrow.getLocation().getZ(), ConfigEntry.EXPLOSIVE_RADIUS.getDouble().floatValue(), false, ConfigEntry.ALLOW_EXPLOSIONS.getBoolean());
|
||||
arrow.remove();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private Location randomOffset(Location a, double magnitude)
|
||||
{
|
||||
return a.clone().add(randomDoubleRange(-1.0, 1.0) * magnitude, randomDoubleRange(-1.0, 1.0) * magnitude, randomDoubleRange(-1.0, 1.0) * magnitude);
|
||||
|
Reference in New Issue
Block a user