Plex/src/main/java/dev/plex/listener/impl/WorldListener.java

59 lines
1.8 KiB
Java
Raw Normal View History

2021-01-03 07:21:15 +00:00
package dev.plex.listener.impl;
2021-01-03 07:21:15 +00:00
import dev.plex.cache.PlayerCache;
import dev.plex.listener.PlexListener;
import dev.plex.player.PlexPlayer;
import dev.plex.rank.enums.Rank;
import org.bukkit.World;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.event.entity.EntitySpawnEvent;
2021-01-03 07:21:15 +00:00
import static dev.plex.util.PlexUtils.tl;
public class WorldListener extends PlexListener
{
2022-02-22 02:43:53 +00:00
// TODO: Actually implement permissions for every world properly
private final String permission = plugin.config.getString("plex.adminworld.permission");
@EventHandler
public void onBlockPlace(BlockPlaceEvent e)
{
Player player = e.getPlayer();
PlexPlayer plexPlayer = PlayerCache.getPlexPlayerMap().get(player.getUniqueId());
World world = player.getWorld();
2020-11-05 21:17:14 +00:00
switch (world.getName().toLowerCase())
{
case "adminworld" -> {
if (plugin.getSystem().equalsIgnoreCase("ranks"))
{
if (plexPlayer.getRankFromString().isAtLeast(Rank.ADMIN))
{
return;
}
2022-02-22 02:43:53 +00:00
}
else if (plugin.getSystem().equalsIgnoreCase("permissions"))
2020-11-06 01:29:38 +00:00
{
2022-02-22 02:43:53 +00:00
if (player.hasPermission(permission));
{
return;
}
2020-11-06 01:29:38 +00:00
}
e.setCancelled(true);
player.sendMessage(tl("noAdminWorldBlockPlace"));
break;
}
}
}
@EventHandler
public void onEntitySpawn(EntitySpawnEvent e)
{
if (e.getEntityType() != EntityType.SLIME)
2020-11-06 01:29:38 +00:00
{
return;
2020-11-06 01:29:38 +00:00
}
e.setCancelled(true);
}
}