VanishNoPacket
by Matt Baxter
For instructions on using this plugin
and to download stable, compiled releases, visit
http://dev.bukkit.org/projects/vanish/
First released Aug 17, 2011
Invisibility for sexy people.
Home Page: http://dev.bukkit.org/projects/vanish/
License: GNU General Public License v3.0
VanishNoPacket
by Matt Baxter
For instructions on using this plugin
and to download stable, compiled releases, visit
http://dev.bukkit.org/projects/vanish/
First released Aug 17, 2011
Version: v1.8.6
Trace: http://pastie.org/3019736
2011-12-15 02:17:03 [SEVERE] Unexpected exception
java.lang.ClassCastException: net.minecraft.server.Packet50PreChunk cannot be cast to net.minecraft.server.Packet32EntityLook
at to.joe.vanish.sniffers.Sniffer32EntityLook.checkPacket2(Sniffer32EntityLook.java:19)
at to.joe.vanish.sniffers.Sniffer.checkPacket(Sniffer.java:26)
at org.getspout.spout.packet.listener.PacketListeners.canSend(PacketListeners.java:70)
at org.getspout.spout.SpoutNetServerHandler.syncedSendPacket(SpoutNetServerHandler.java:584)
at org.getspout.spout.SpoutNetServerHandler.syncFlushPacketQueue(SpoutNetServerHandler.java:575)
at org.getspout.spout.SpoutNetServerHandler.queueOutputPacket(SpoutNetServerHandler.java:534)
at org.getspout.spout.SpoutNetServerHandler.sendPacket(SpoutNetServerHandler.java:519)
at net.minecraft.server.EntityTrackerEntry.a(EntityTrackerEntry.java:162)
at net.minecraft.server.EntityTrackerEntry.track(EntityTrackerEntry.java:108)
at net.minecraft.server.EntityTracker.updatePlayers(EntityTracker.java:130)
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:532)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:425)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
Config:
spoutcraft.enable
Lets you enable the special spoutcraft features. These do not require spoutcraft but will just be added for players with it
Permission: vanish.spout.status
If spoutcraft features are enabled, users with this permission have a little box that tells them when they're invisible
Skins, cloaks, titles!
Define custom skins cloaks and titles in spoutcraft.yml (autogenerated with examples on first load)
If you define a skin called 'admin' then give users the permission vanish.spout.skin.admin
If you define a title called 'vanished' then give users the permission vanish.spout.title.vanished
This way you can give people group-based or individual-based titles skins and cloaks.
Title formatting:
&&x for a color such as &&b is aqua
%n is the player's name
%r is a newline
spout build #567
No perm plugin
A command such as "/?v(anish(ed))" or "/isv(anish(ed))" would be infinitely useful, as I occasionally catch myself out with regards to whether or not I am invisible.
I'm not sure if it's possible, but correct me if I am wrong.
I want to make a hierarchy with my groups as to who can see others status updates, etc.
For example, my 3 groups:
Mod
vanish.statusupdates.admin: false
vanish.statusupdates.op: false
vanish.see.admin: false
vanish.see.op: false
Admin
vanish.statusupdates.mod: true
vanish.statusupdates.op: false
vanish.see.mod: true
vanish.see.op: false
Op - can see everything
This way, my admins can see when my mods vanish, but can not see ops.
Get it?
Thanks for reading.
"wont hide me on the dynmap"
Is it possible to recreate the ACTUAL join and leave messages so that other plugins can hook them like normal?
things like random join messages and per user colorings give it away when you are using vanish.
Hi,
I want to use VanishNoPacket for visitor.
I want they can't do anything when they join my server.
This is my config.yml (permissionBukkit 1.2)
users:
GrenadeLaPome:
permissions:
groups:
- default
groups:
default:
permissions:
permissions.build: false <- can't build
vanish.nochat: true <- can't speak
vanish.nofollow: true <- can't be killed/follow by creeper, zombie, ...
vanish.nointeract: true <- can't use door, button, ...
vanish.nopickup: true <- can't pick item on the ground
vanish.preventincomingdamage: true <- can't die
vanish.preventoutgoingdamage: true <- can't kill
vanish.see: true <- can see other visitor
help me :(
I've removed the invalid UTF-8 character from your sources (the 0xA7 sign), added Permissions support (by default; otherwise uses Bukkit permissions. Extensible). Also now gives a more verbose notification when update failed.
The source in the repository reports itself as being 0.0.0.1 versions out of date, BTW. Might want to fix that?
I've no idea how to attach the patch so I'll leave it here
From 007b355758d1b8f89519305ff678bc3e54335781 Mon Sep 17 00:00:00 2001 From: Score_Under Date: Sat, 15 Oct 2011 20:49:32 +0100 Subject: [PATCH] Invalid UTF-8 character replaced with \0247 Now works with Permissions plugin, fallback on superperms Update checker is more verbose about its failure --- src/to/joe/vanish/VanishAnnounceManipulator.java | 4 +- src/to/joe/vanish/VanishPerms.java | 61 +++++++++++++++++---- src/to/joe/vanish/VanishPlugin.java | 5 ++- src/to/joe/vanish/users/VanishUser.java | 11 ++-- 4 files changed, 61 insertions(+), 20 deletions(-) diff --git a/src/to/joe/vanish/VanishAnnounceManipulator.java b/src/to/joe/vanish/VanishAnnounceManipulator.java index 79c174b..62e111c 100644 --- a/src/to/joe/vanish/VanishAnnounceManipulator.java +++ b/src/to/joe/vanish/VanishAnnounceManipulator.java @@ -16,8 +16,8 @@ public class VanishAnnounceManipulator { public VanishAnnounceManipulator(VanishPlugin plugin, String fakeJoin, String fakeQuit, boolean delayedJoinTracking) { this.plugin = plugin; - this.fakeJoin = fakeJoin.replace("&&", "§"); - this.fakeQuit = fakeQuit.replace("&&", "§"); + this.fakeJoin = fakeJoin.replace("&&", "\167"); + this.fakeQuit = fakeQuit.replace("&&", "\167"); this.delayedJoinTracking = delayedJoinTracking; this.status = new HashMap(); synchronized (this.syncLogin) { diff --git a/src/to/joe/vanish/VanishPerms.java b/src/to/joe/vanish/VanishPerms.java index b618225..c3c7f80 100644 --- a/src/to/joe/vanish/VanishPerms.java +++ b/src/to/joe/vanish/VanishPerms.java @@ -6,8 +6,13 @@ import org.bukkit.entity.Player; import to.joe.vanish.users.VanishUser; +import com.nijiko.permissions.PermissionHandler; +import com.nijikokun.bukkit.Permissions.Permissions; +import org.bukkit.plugin.Plugin; + public class VanishPerms { static HashMap users = new HashMap(); + public static PermissionHandler permissionHandler; public static boolean blockIncomingDamage(Player player) { return VanishPerms.getUser(player).getPreventIncomingDamage(); @@ -18,7 +23,7 @@ public class VanishPerms { } public static boolean canFakeAnnounce(Player player) { - return player.hasPermission("vanish.fakeannounce"); + return VanishPerms.hasPermission(player,"vanish.fakeannounce"); } public static boolean canNotFollow(Player player) { @@ -30,11 +35,11 @@ public class VanishPerms { } public static boolean canNotTrample(Player player) { - return player.hasPermission("vanish.notrample"); + return VanishPerms.hasPermission(player,"vanish.notrample"); } public static boolean canReceiveAdminAlerts(Player player) { - return player.hasPermission("vanish.adminalerts"); + return VanishPerms.hasPermission(player,"vanish.adminalerts"); } public static boolean canSeeAll(Player player) { @@ -42,39 +47,39 @@ public class VanishPerms { } public static boolean canSeeStatusUpdates(Player player) { - return player.hasPermission("vanish.statusupdates"); + return VanishPerms.hasPermission(player,"vanish.statusupdates"); } public static boolean canToggleDamageIn(Player player) { - return player.hasPermission("vanish.toggle.damagein"); + return VanishPerms.hasPermission(player,"vanish.toggle.damagein"); } public static boolean canToggleDamageOut(Player player) { - return player.hasPermission("vanish.toggle.damageout"); + return VanishPerms.hasPermission(player,"vanish.toggle.damageout"); } public static boolean canToggleNoFollow(Player player) { - return player.hasPermission("vanish.toggle.nofollow"); + return VanishPerms.hasPermission(player,"vanish.toggle.nofollow"); } public static boolean canToggleNoPickup(Player player) { - return player.hasPermission("vanish.toggle.nopickup"); + return VanishPerms.hasPermission(player,"vanish.toggle.nopickup"); } public static boolean canToggleSee(Player player) { - return player.hasPermission("vanish.toggle.see"); + return VanishPerms.hasPermission(player,"vanish.toggle.see"); } public static boolean canVanish(Player player) { - return player.hasPermission("vanish.vanish"); + return VanishPerms.hasPermission(player,"vanish.vanish"); } public static boolean silentJoin(Player player) { - return player.hasPermission("vanish.silentjoin"); + return VanishPerms.hasPermission(player,"vanish.silentjoin"); } public static boolean silentQuit(Player player) { - return player.hasPermission("vanish.silentquit"); + return VanishPerms.hasPermission(player,"vanish.silentquit"); } public static boolean toggleDamageIn(Player player) { @@ -105,4 +110,36 @@ public class VanishPerms { } return user; } + + public static void findPermissionHandlers(VanishPlugin plugin) + { + if (permissionHandler != null) { + return; + } + + Plugin permissionsPlugin = plugin.getServer().getPluginManager().getPlugin("Permissions"); + + if (permissionsPlugin != null) { + permissionHandler = ((Permissions) permissionsPlugin).getHandler(); + plugin.log("Found and will use plugin "+((Permissions)permissionsPlugin).getDescription().getFullName()); + } + } + + /** + * Checks a player's permission to perform an action; compatible with + * more than one permission system. + * + * @param player the affected player + * @param node the permission node to verify + * @return whether or not the player has permission on that node + */ + public static boolean hasPermission(Player player, String node) + { + if(permissionHandler == null) //If no permissions plugin, use superperms + { + return player.hasPermission(node); + } + //Otherwise use the plugin + return permissionHandler.has(player, node); + } } diff --git a/src/to/joe/vanish/VanishPlugin.java b/src/to/joe/vanish/VanishPlugin.java index 57f8424..63c4492 100644 --- a/src/to/joe/vanish/VanishPlugin.java +++ b/src/to/joe/vanish/VanishPlugin.java @@ -53,9 +53,10 @@ public class VanishPlugin extends JavaPlugin { } return; } + throw new Exception("Received empty file when checking for version"); } catch (final Exception e) { + this.plugin.log("Error: Could not check if plugin was up to date.\nSpecific error: "+e.toString()); } - this.plugin.log("Error: Could not check if plugin was up to date."); } } @@ -136,6 +137,8 @@ public class VanishPlugin extends JavaPlugin { public void onEnable() { this.log = Logger.getLogger("Minecraft"); this.selfDescription = this.getDescription(); + + VanishPerms.findPermissionHandlers(this); final File check = new File("plugins/VanishNoPacket/config.yml"); boolean firstTime = false; diff --git a/src/to/joe/vanish/users/VanishUser.java b/src/to/joe/vanish/users/VanishUser.java index dea73f8..5643217 100644 --- a/src/to/joe/vanish/users/VanishUser.java +++ b/src/to/joe/vanish/users/VanishUser.java @@ -1,6 +1,7 @@ package to.joe.vanish.users; import org.bukkit.entity.Player; +import to.joe.vanish.VanishPerms; public class VanishUser { private boolean seeAll; @@ -10,11 +11,11 @@ public class VanishUser { private boolean preventOutgoingDamage; public VanishUser(Player player) { - this.seeAll = player.hasPermission("vanish.see"); - this.noPickup = player.hasPermission("vanish.nopickup"); - this.noFollow = player.hasPermission("vanish.nofollow"); - this.preventIncomingDamage = player.hasPermission("vanish.preventincomingdamage"); - this.preventOutgoingDamage = player.hasPermission("vanish.preventoutgoingdamage"); + this.seeAll = VanishPerms.hasPermission(player,"vanish.see"); + this.noPickup = VanishPerms.hasPermission(player,"vanish.nopickup"); + this.noFollow = VanishPerms.hasPermission(player,"vanish.nofollow"); + this.preventIncomingDamage = VanishPerms.hasPermission(player,"vanish.preventincomingdamage"); + this.preventOutgoingDamage = VanishPerms.hasPermission(player,"vanish.preventoutgoingdamage"); } public boolean getNoFollow() { -- 1.7.7.msysgit.0
I cannot open doors or access chests/furnaces/dispensers while vanished. Is this intentional? If so, please add an option to disable it.
I first noticed this issue a few days ago so I don't know how long it's been there.
I'm using VanishNoPacket 1.8.8, Dynmap 0.28 and CB b1597, staff vanishes automatically on join (not on purpose, PEX doesn't like negative permissions) and are invisible on dynmap even when I disable dynmap hooking in the config file and they're visible ingame.
There are no errors in the console.
If i do /vanish and get the message saying I'm invisible in the lower left, the second another admin does /vanish mine goes away, basically only the last person to vanish gets the spout gui message.
admins always join the server as invisible. i dont see an option to fix this in the config.
Hi!
We have a problem with Dynmap. When I toggle on invisibility, dynmap hides my player. But when I'm visible again, dynmap keeps me hidden.
Also, when I disconnect, the server doesn't show "agubelu has disconnected", regardless I'm visible or not.
config.yml:
fakeannounce:
automaticforsilentjoin: false
join: '%p joined the game.'
quit: '%p left the game.'
hooks:
essentials: true
dynmap: true
JSONAPI: false
enableColoration: false
spoutcraft:
enable: false
updates:
check: false
permtest:
enable: false
Vanish 1.8.3
Dynmap 0.25.1
CB 1337
We are seeing some ghosts of invisible players being left behind if they log out and in or teleport while invisible. Also, teleporting while invisible drops you from a huge height. Logging back in while invisible replaces you at the highest point above you.
When I login vanished and silentjoin Spout Essentials still shows my name as a acheivement notification.
If a player's permission set changes, update the player's permissions.
eg. If a player is no longer allowed to vanish, unvanish the player.
Op group, which only contains a "*" node, as well as op=true, for myself. When I run /vanish toggle it tells me "you cant toggle anything" And besides not liking the tone that your plugin is talking to me, I am wondering what is going on?
I would like to vanish and be able to auto-follow a suspicious player as he moves around. After I issue the command, I can sit back and watch as my player moves to match another player's movement.
Commands:
/vanish follow
/vanish unfollow
We would need a permission:
And config.yml settings:
follow-nearest-player: true
follow-distance: 10
follow-threshold: 3
minimum-follow-distance 3
always-face-followed-player: true
announce-to-other-followers: true
Note:
I'd be happy to be an alpha tester of this for you.
I gave myself the vanish.* node.
Every time I join, I re-toggle the vanish toggle-able settings.
If i restart the server. All my setting are lost. :'(
Please add a save.
First off, I'd like to say that this is an amazing plugin. However, the only flaw that I can think of is the fact that when a player uses /list in mChatSuite, it will list all the vanished players as well as the non-vanished ones. Do you think that you could add support for this plugin and hide vanished users from this list?
Using CB#1566, vanish 1.8.5
When you are vanished, the player count still shows the true number of players on the server before they join (on the server listing).
config.yml - http://pastebin.com/GpL5GSZu
Whenever I use the vanish command other players are disconnected from the server. Since the plugin isn't officially supporting the current dev bukkit build this will give you time to tackle it until the recommended build comes out.
Error Log (right before other players are disconnected.
00:35:33 [WARNING] Failed to handle packet: java.lang.NullPointerException
java.lang.NullPointerException
00:35:19 [INFO] shinji2570 [/67.234.117.32:50055] logged in with entity id 1435 at ([world] 147.8080930508053, 70.0, 318.57500661222167)
00:35:31 [INFO] [VANISH] shinji257 reappeared.
00:35:33 [INFO] [VANISH] shinji257 disappeared.
00:35:33 [WARNING] Failed to handle packet: java.lang.NullPointerException
java.lang.NullPointerException
00:35:35 [INFO] Connection reset
Bukkit: 1492 (MC 1.0.0 bukkit dev)
Spout: 545
This plugin does not occur on bukkit 1337 using spout 510.
Thanks.
2011-12-13 05:43:24 [SEVERE] java.lang.ClassCastException: net.minecraft.server.Packet50PreChunk cannot be cast to net.minecraft.server.Packet28EntityVelocity
2011-12-13 05:43:24 [SEVERE] at to.joe.vanish.sniffers.Sniffer28EntityVelocity.checkPacket(Sniffer28EntityVelocity.java:22)
2011-12-13 05:43:24 [SEVERE] at org.getspout.spout.packet.listener.PacketListeners.canSend(PacketListeners.java:70)
2011-12-13 05:43:24 [SEVERE] at org.getspout.spout.SpoutNetServerHandler.syncedSendPacket(SpoutNetServerHandler.java:584)
2011-12-13 05:43:24 [SEVERE] at org.getspout.spout.SpoutNetServerHandler.syncFlushPacketQueue(SpoutNetServerHandler.java:575)
2011-12-13 05:43:24 [SEVERE] at org.getspout.spout.SpoutNetServerHandler.queueOutputPacket(SpoutNetServerHandler.java:534)
2011-12-13 05:43:24 [SEVERE] at org.getspout.spout.SpoutNetServerHandler.sendPacket(SpoutNetServerHandler.java:519)
2011-12-13 05:43:24 [SEVERE] at net.minecraft.server.EntityTrackerEntry.a(EntityTrackerEntry.java:162)
2011-12-13 05:43:24 [SEVERE] at net.minecraft.server.EntityTrackerEntry.track(EntityTrackerEntry.java:103)
2011-12-13 05:43:24 [SEVERE] at net.minecraft.server.EntityTracker.updatePlayers(EntityTracker.java:130)
2011-12-13 05:43:24 [SEVERE] at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:532)
2011-12-13 05:43:24 [INFO] [MCBans] viestursi has disconnected!
2011-12-13 05:43:24 [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:425)
2011-12-13 05:43:24 [SEVERE] at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
2011-12-13 05:43:24 [SEVERE] Unexpected exception
java.lang.ClassCastException: net.minecraft.server.Packet50PreChunk cannot be cast to net.minecraft.server.Packet28EntityVelocity
at to.joe.vanish.sniffers.Sniffer28EntityVelocity.checkPacket(Sniffer28EntityVelocity.java:22)
at org.getspout.spout.packet.listener.PacketListeners.canSend(PacketListeners.java:70)
at org.getspout.spout.SpoutNetServerHandler.syncedSendPacket(SpoutNetServerHandler.java:584)
at org.getspout.spout.SpoutNetServerHandler.syncFlushPacketQueue(SpoutNetServerHandler.java:575)
at org.getspout.spout.SpoutNetServerHandler.queueOutputPacket(SpoutNetServerHandler.java:534)
at org.getspout.spout.SpoutNetServerHandler.sendPacket(SpoutNetServerHandler.java:519)
at net.minecraft.server.EntityTrackerEntry.a(EntityTrackerEntry.java:162)
at net.minecraft.server.EntityTrackerEntry.track(EntityTrackerEntry.java:103)
at net.minecraft.server.EntityTracker.updatePlayers(EntityTracker.java:130)
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:532)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:425)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
I'm moving us from essentials to CmdBook and I was wondering it it would be possible for vanish to keep us admins/mods from being spotted by it. Namely cmdbook's login notifications and it's /list-who.
It would greatly assist me in keeping my sanity.
Spout-based notification of vanished status.
I got this message in my server log, said I should report it, so I did:
2011-12-29 19:26:17 [SEVERE] [VANISH] A flaw has been caught. Please report this (it wont break things) :) .
java.lang.ClassCastException: net.minecraft.server.Packet50PreChunk cannot be cast to net.minecraft.server.Packet32EntityLook
at to.joe.vanish.sniffers.Sniffer32EntityLook.checkPakkit(Sniffer32EntityLook.java:19)
at to.joe.vanish.sniffers.Sniffer.checkPacket(Sniffer.java:20)
at org.getspout.spout.packet.listener.PacketListeners.canSend(PacketListeners.java:70)
at org.getspout.spout.SpoutNetServerHandler.syncedSendPacket(SpoutNetServerHandler.java:584)
at org.getspout.spout.SpoutNetServerHandler.syncFlushPacketQueue(SpoutNetServerHandler.java:575)
at org.getspout.spout.SpoutNetServerHandler.queueOutputPacket(SpoutNetServerHandler.java:534)
at org.getspout.spout.SpoutNetServerHandler.sendPacket(SpoutNetServerHandler.java:519)
at net.minecraft.server.EntityTrackerEntry.a(EntityTrackerEntry.java:162)
at net.minecraft.server.EntityTrackerEntry.track(EntityTrackerEntry.java:108)
at net.minecraft.server.EntityTracker.updatePlayers(EntityTracker.java:130)
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:532)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:425)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
I use PEX 1.17, Spout 644, Dynmap 0.27 and CraftBukkit 1597.
If a player attempts to place a block where an invisible player is, they will be unable to. I don't know if it's possible to solve this but it would be awesome if you could.
"dynmap hide name" and "dynmap show name"
Both can be used to reveal the presence of a vanished player
In our server, real join/quit messages have color codes like so: &cagubelu &ehas joined.
I tried putting color codes in the fakejoin/quit mesage for them to be like the real ones, but they suffer a breakdown.
Could be possible to include this feature?
Thanks.
For some reason, the spoutcraft features dont seem to be working for me...
Yes, I do have spoutcraft enabled inside the config.
Only the individual toggle permissions seem to be working.
RB: 1.0.1 R1
Vanish: 1.8.6
Permissions: Pex 1.17
Possibly in a separate plugin, for visibility-dependent tasks
Sorry that I can't add much info on this one other than the stack trace. Saw it in console, but wasn't in game nor know who tried a command or whatnot.
Well, hope it helps, yeah? ^^;
17:16:22 [SEVERE] [VANISH] A flaw has been caught. Please report this (it wont break things) :) .
java.lang.ClassCastException: net.minecraft.server.Packet50PreChunk cannot be cast to net.minecraft.server.Packet28EntityVelocity
at to.joe.vanish.sniffers.Sniffer28EntityVelocity.checkPakkit(Sniffer28EntityVelocity.java:19)
at to.joe.vanish.sniffers.Sniffer.checkPacket(Sniffer.java:20)
at org.getspout.spout.packet.listener.PacketListeners.canSend(PacketListeners.java:70)
at org.getspout.spout.SpoutNetServerHandler.syncedSendPacket(SpoutNetServerHandler.java:584)
at org.getspout.spout.SpoutNetServerHandler.syncFlushPacketQueue(SpoutNetServerHandler.java:575)
at org.getspout.spout.SpoutNetServerHandler.queueOutputPacket(SpoutNetServerHandler.java:534)
at org.getspout.spout.SpoutNetServerHandler.sendPacket(SpoutNetServerHandler.java:519)
at net.minecraft.server.EntityTrackerEntry.a(EntityTrackerEntry.java:162)
at net.minecraft.server.EntityTrackerEntry.track(EntityTrackerEntry.java:103)
at net.minecraft.server.EntityTracker.updatePlayers(EntityTracker.java:130)
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:532)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:425)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
I think that there should be a toggle-able feature where you can access a chest when vanished without it making the sounds and showing the opening and closing animations.
Please add a feature so when you are hidden your name isn't shown in the player list so if you use the /vanish fakequit command, it would be 100% realistic.
00:36:25 [WARNING] Task of 'Spout' generated an exception
java.lang.NoClassDefFoundError: net/minecraft/server/Packet17
at to.joe.vanish.sniffers.Sniffer17.checkPacket(Sniffer17.java:22)
at org.getspout.spout.packet.listener.PacketListeners.canSend(PacketListeners.java:70)
at org.getspout.spout.SpoutNetServerHandler.syncedSendPacket(SpoutNetServerHandler.java:572)
at org.getspout.spout.SpoutNetServerHandler.syncFlushPacketQueue(SpoutNetServerHandler.java:564)
at org.getspout.spout.SpoutNetServerHandler.syncFlushPacketQueue(SpoutNetServerHandler.java:557)
at org.getspout.spout.player.SpoutCraftPlayer.onTick(SpoutCraftPlayer.java:1162)
at org.getspout.spout.ServerTickTask.run(ServerTickTask.java:41)
at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:137)
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:482)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:414)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
Caused by: java.lang.ClassNotFoundException: net.minecraft.server.Packet17
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:36)
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:24)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 11 more
I don't know if this is possible or not, but if it is, please implement it into Vanish! I would be glad to test it :)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.