This commit is contained in:
Super_ 2020-06-27 17:49:58 -04:00
parent 535f3a131b
commit 32d847c94a
8 changed files with 146 additions and 14 deletions

Binary file not shown.

View file

@ -127,5 +127,12 @@
<artifactId>jsonmessage</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.github.TFPatches</groupId>
<artifactId>TotalFreedomMod</artifactId>
<version>5.5</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/TotalFreedomMod.jar</systemPath>
</dependency>
</dependencies>
</project>

View file

@ -1020,6 +1020,11 @@ public class OfflinePlayer implements Player {
return 0;
}
@Override
public float getAttackCooldown() {
return 0;
}
@Override
public boolean discoverRecipe(NamespacedKey recipe) {
return false;
@ -1339,6 +1344,21 @@ public class OfflinePlayer implements Player {
return false;
}
@Override
public void attack(Entity entity) {
}
@Override
public void swingMainHand() {
}
@Override
public void swingOffHand() {
}
@Override
public void setCollidable(boolean b) {
}

View file

@ -1,15 +1,91 @@
package com.earth2me.essentials;
import com.earth2me.essentials.User;
import com.google.common.base.Function;
import java.util.logging.Logger;
import org.bukkit.Bukkit;
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
import me.totalfreedom.totalfreedommod.admin.AdminList;
import me.totalfreedom.totalfreedommod.command.Command_vanish;
import me.totalfreedom.totalfreedommod.util.FLog;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.RegisteredServiceProvider;
public class TFMHandler
{
private Essentials plugin;
private TotalFreedomMod tfmPlugin;
public TFMHandler()
{
this.plugin = Essentials.getPlugin(Essentials.class);
this.tfmPlugin = null;
}
public TotalFreedomMod getTFM()
{
if (tfmPlugin == null)
{
try
{
final Plugin tfm = plugin.getServer().getPluginManager().getPlugin("TotalFreedomMod");
if (tfm != null && tfm instanceof TotalFreedomMod)
{
tfmPlugin = (TotalFreedomMod) tfm;
}
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
return tfmPlugin;
}
public boolean isAdmin(User user)
{
return isAdmin(user.getBase());
}
public boolean isAdmin(CommandSender sender)
{
return getTFM().al.isAdmin(sender);
}
public boolean isAdmin(Player player)
{
return getTFM().al.isAdmin(player);
}
public boolean isVanished(User user)
{
return isVanished(user.getBase());
}
public boolean isVanished(Player player)
{
if (tfmPlugin != null)
{
getTFM();
}
return Command_vanish.VANISHED.contains(player);
}
public void warning(String warning)
{
if (tfmPlugin != null)
{
getTFM();
}
FLog.warning(warning);
}
public void info(String info)
{
if (tfmPlugin != null)
{
getTFM();
}
FLog.info(info);
}
/*
private static Logger logger;
private static Function<Player, Boolean> adminProvider;
private static Function<Player, Boolean> vanishProvider;
@ -115,4 +191,5 @@ public class TFMHandler
{
logger.info(info);
}
*/
}

View file

@ -8,6 +8,8 @@ import com.earth2me.essentials.User;
import com.earth2me.essentials.messaging.IMessageRecipient;
import com.earth2me.essentials.utils.FormatUtil;
import net.milkbowl.vault.chat.Chat;
import org.bukkit.ChatColor;
import org.bukkit.Server;
import java.util.List;
@ -51,6 +53,11 @@ public class Commandmsg extends EssentialsLoopCommand {
@Override
protected void updatePlayer(final Server server, final CommandSource sender, final User messageReceiver, final String[] args) {
IMessageRecipient messageSender = sender.isPlayer() ? ess.getUser(sender.getPlayer()) : Console.getInstance();
if (getTFMHandler().isVanished(messageReceiver) && !getTFMHandler().isAdmin(sender.getSender()))
{
messageSender.sendMessage(ChatColor.RED + "Error: " + ChatColor.RED + "Player not found.");
return;
}
messageSender.sendMessage(messageReceiver, args[0]); // args[0] is the message.
}

View file

@ -28,10 +28,6 @@ public class Commandnear extends EssentialsCommand {
maxRadius = 200;
}
if (maxRadius < 200) {
maxRadius = 200;
}
long radius = maxRadius;
User otherUser = null;
@ -93,6 +89,9 @@ public class Commandnear extends EssentialsCommand {
for (User player : ess.getOnlineUsers()) {
if (!player.equals(user) && (!player.isHidden(user.getBase()) || showHidden || user.getBase().canSee(player.getBase()))) {
if (getTFMHandler().isVanished(player) && !getTFMHandler().isAdmin(user)) {
continue;
}
final Location playerLoc = player.getLocation();
if (playerLoc.getWorld() != world) {
continue;
@ -110,10 +109,6 @@ public class Commandnear extends EssentialsCommand {
output.append(", ");
}
User nearbyPlayer = nearbyPlayers.poll();
if (getTFMHandler().isVanished(user))
{
continue;
}
output.append(nearbyPlayer.getDisplayName()).append("§f(§4").append((long) nearbyPlayer.getLocation().distance(loc)).append("m§f)");
}

View file

@ -50,7 +50,7 @@ public class Commandwhois extends EssentialsCommand {
if (!ess.getSettings().isEcoDisabled()) {
sender.sendMessage(tl("whoisMoney", NumberUtil.displayCurrency(user.getMoney(), ess)));
}
if (!sender.isPlayer() || getTFMHandler().isAdmin(sender.getPlayer())) {
if (!sender.isPlayer() || getTFMHandler().isAdmin(user)) {
sender.sendMessage(tl("whoisIPAddress", user.getBase().getAddress().getAddress().toString()));
}
final String location = user.getGeoLocation();

View file

@ -4,6 +4,7 @@ import org.bukkit.*;
import org.bukkit.block.Biome;
import org.bukkit.block.Block;
import org.bukkit.block.data.BlockData;
import org.bukkit.boss.DragonBattle;
import org.bukkit.entity.*;
import org.bukkit.generator.BlockPopulator;
import org.bukkit.generator.ChunkGenerator;
@ -603,6 +604,26 @@ public class FakeWorld implements World {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public long getTicksPerWaterSpawns() {
return 0;
}
@Override
public void setTicksPerWaterSpawns(int i) {
}
@Override
public long getTicksPerAmbientSpawns() {
return 0;
}
@Override
public void setTicksPerAmbientSpawns(int i) {
}
@Override
public <T extends Entity> Collection<T> getEntitiesByClass(Class<T> type) {
throw new UnsupportedOperationException("Not supported yet.");
@ -843,6 +864,11 @@ public class FakeWorld implements World {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public DragonBattle getEnderDragonBattle() {
return null;
}
@Override
public List<Entity> getNearbyEntities(Location loc, double x, double y, double z) {
throw new UnsupportedOperationException("Not supported yet.");