Coder Social home page Coder Social logo

quantiom / advancedvanish Goto Github PK

View Code? Open in Web Editor NEW
8.0 8.0 8.0 130 KB

A fully customizable and advanced Spigot plugin for vanishing.

Home Page: https://quantioms.gitbook.io/advancedvanish/

License: MIT License

Kotlin 93.64% Java 6.36%
minecraft plugin spigot spigotmc vanish

advancedvanish's Introduction

Hi there πŸ‘‹

πŸš€ About

  • βš’οΈ 7 years of Programming Experience (primarily Java / Kotlin, NodeJS and C++)
  • πŸ›‘οΈ 3 years of Cybersecurity Experience (Penetration Testing, Reverse Engineering, and Network Security)
  • πŸ’¬ Discord: quantiom

Technologies I am familar with:

  • Java
  • Kotlin
  • Javascript
  • C++
  • SQL
  • Redis
  • Git
  • Maven

advancedvanish's People

Contributors

ajmaacc avatar dependabot[bot] avatar itzsave avatar jaren8r avatar mccasper avatar quantiom avatar rossnoah2 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

advancedvanish's Issues

Essentials Hook Issue?

When I go in vanish, advanced vanish sends a fake leave, but than when I actually leave the server, essentials sends its leave message as well. Is this a known issue, or is this an issue with just me?

[BUG] leave message

If the player leaves the server in a non-vanishing state
not show leave message
DiscordSRV same

Support for gmsp

This is a bit confusing, but it would be cool if support for gmsp was added. So I have staff who has access to gmsp, and vanish, but not /fly as I don't want staff abusing /fly. When in vanish they can fly but can't build, and can use gmsp to see through caves and blocks, etc.

It would be cool if support for gmsp, when a player goes out of vanish while in gmsp, their fly doesn't get disabled, as when they leave vanish, they start plummeting to the void.

I would give staff the "Keep-Fly" permission, but that would mean, when staff goes into vanish, than goes out of vanish, they would be able to fly while not in vanish, and would have to type /fly to exit fly again.

Feature Request: Saving vanish state

It would be helpful to have the plugin save if the player is in vanish or not. Currently, the plugin only allows you to specify on/off on join, instead of what you last were when you logged off.

Please add support for interactive chat discordsrv

I tried asking them to support advanced vanish but they said for advanced vanish to support interactive chat discordsrv using meta (no idea what that means but heres the ss) - The interactive chat discordsrv addon adds the ability for players to do /playerlist in discord to shoow the list of players who are in-game. Due to this, it also shows vanished players, and would be amazing if vanish could be supported.

https://gyazo.com/7cd42c38edda21bf1bc458546662ab36

link to plugin:
https://www.spigotmc.org/resources/interactivechat-discordsrv-addon-show-items-and-invs-on-discord-preview-discord-images-in-game.83917/

Toggleable "When Vanished" feature

The ability to give staff a permission like advancedvanish.toggle.interact
Any staff with that permission would be able to enable or disable their ability to interact with stuff, as in some cases, they do need to be able to, but it should by default be disabled so the staff member doesn't accidently do something like break a block.

[1.8.8] There was an error performing this command.

Spigot version: FlamePaper 1.8.8 (API version 1.8.8-R0.1-SNAPSHOT)

[09:43:12 ERROR]: [ACF] Exception in command: vanish 
[09:43:12 ERROR]: [ACF]         at me.quantiom.advancedvanish.util.AdvancedVanishAPI.vanishPlayer(AdvancedVanishAPI.kt:47)
[09:43:12 ERROR]: [ACF]         at me.quantiom.advancedvanish.util.AdvancedVanishAPI.vanishPlayer$default(AdvancedVanishAPI.kt:32)
[09:43:12 ERROR]: [ACF]         at me.quantiom.advancedvanish.command.VanishCommand.onVanishCommand(VanishCommand.kt:43)
[09:43:12 ERROR]: [ACF]         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[09:43:12 ERROR]: [ACF]         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[09:43:12 ERROR]: [ACF]         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[09:43:12 ERROR]: [ACF]         at java.lang.reflect.Method.invoke(Method.java:498)
[09:43:12 ERROR]: [ACF]         at me.quantiom.advancedvanish.acf.RegisteredCommand.invoke(RegisteredCommand.java:152)
[09:43:12 ERROR]: [ACF]         at me.quantiom.advancedvanish.acf.BaseCommand.executeCommand(BaseCommand.java:577)
[09:43:12 ERROR]: [ACF]         at me.quantiom.advancedvanish.acf.BaseCommand.execute(BaseCommand.java:513)
[09:43:12 ERROR]: [ACF]         at me.quantiom.advancedvanish.acf.RootCommand.execute(RootCommand.java:99)
[09:43:12 ERROR]: [ACF]         at me.quantiom.advancedvanish.acf.BukkitRootCommand.execute(BukkitRootCommand.java:81)
[09:43:12 ERROR]: [ACF]         at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:146)
[09:43:12 ERROR]: [ACF]         at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:666)
[09:43:12 ERROR]: [ACF]         at net.minecraft.server.v1_8_R3.PlayerConnection.handleCommand(PlayerConnection.java:1189)
[09:43:12 ERROR]: [ACF]         at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:1001)
[09:43:12 ERROR]: [ACF]         at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:45)
[09:43:12 ERROR]: [ACF]         at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:1)
[09:43:12 ERROR]: [ACF]         at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13)
[09:43:12 ERROR]: [ACF]         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[09:43:12 ERROR]: [ACF]         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[09:43:12 ERROR]: [ACF]         at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44)
[09:43:12 ERROR]: [ACF]         at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:762)
[09:43:12 ERROR]: [ACF]         at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:366)
[09:43:12 ERROR]: [ACF]         at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:701)
[09:43:12 ERROR]: [ACF]         at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:604)
[09:43:12 ERROR]: [ACF]         at java.lang.Thread.run(Thread.java:748)```

Plugins can't hook into Advanced Vanish

Pinata Party takes the MetaData value of "vanished" to see if a player is vanished or not from vanish plugins.
According to the developer, advanced vanish can't be used due to this.

"The plugin needs to set the players metadata value of "vanished" to true like every other vanish plugin does and its a universal thing that everyone does"

Error reloading plugin and disables in console when enabling SQL

The plugin works perfectly fine when I change stuff in the config but once I change the database for the cross-server compatibility, everything goes horribly wrong. I reload the plugin and nothing happens, and I restart the server and it completely disables the plugin:

Using the /advancedvanish reload command:
https://mcpaste.io/0979a1c6098a25bf

Starting the server:
https://mcpaste.io/e299b3a0ef64d974

I set the mode to 'sql' in the config and all information is entered correctly.

Config Error Loop

I just downloaded the newest version (1.1.4) and put it in my /plugins folder. After loading my server for the first time with it in there, the config continuously makes backups until it causes a StackOverflowError. I am using Paper 118.2 if it matters.

[03:52:53] [Server thread/INFO]: [AdvancedVanish] [ACF] Enabled Asynchronous Tab Completion Support!
[03:52:53] [Server thread/WARN]: [AdvancedVanish] WARNING: Config version mismatch, a backup of the old config has been made and the current config has been replaced.
[03:52:53] [Server thread/WARN]: [AdvancedVanish] WARNING: Config version mismatch, a backup of the old config has been made and the current config has been replaced.
... outputs many times
[03:52:58] [Server thread/ERROR]: Error occurred while enabling AdvancedVanish v1.1.4 (Is it up to date?)
java.lang.StackOverflowError: null
	at org.apache.logging.log4j.message.ParameterizedNoReferenceMessageFactory.newMessage(ParameterizedNoReferenceMessageFactory.java:105) ~[log4j-api-2.17.1.jar:2.17.1]
	at org.apache.logging.log4j.message.AbstractMessageFactory.newMessage(AbstractMessageFactory.java:99) ~[log4j-api-2.17.1.jar:2.17.1]
	at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:2057) ~[log4j-api-2.17.1.jar:2.17.1]
	at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1931) ~[log4j-api-2.17.1.jar:2.17.1]
	at org.apache.logging.log4j.spi.AbstractLogger.warn(AbstractLogger.java:2805) ~[log4j-api-2.17.1.jar:2.17.1]
	at org.apache.logging.log4j.spi.AbstractLogger.handleLogMessageException(AbstractLogger.java:2225) ~[log4j-api-2.17.1.jar:2.17.1]
	at org.apache.logging.log4j.spi.AbstractLogger.tryLogMessage(AbstractLogger.java:2208) ~[log4j-api-2.17.1.jar:2.17.1]
	at org.apache.logging.log4j.spi.AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2159) ~[log4j-api-2.17.1.jar:2.17.1]
	at org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2142) ~[log4j-api-2.17.1.jar:2.17.1]
	at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:2017) ~[log4j-api-2.17.1.jar:2.17.1]
	at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1983) ~[log4j-api-2.17.1.jar:2.17.1]
	at org.apache.logging.log4j.spi.AbstractLogger.warn(AbstractLogger.java:2671) ~[log4j-api-2.17.1.jar:2.17.1]
	at org.bukkit.craftbukkit.v1_18_R2.util.ForwardLogHandler.publish(ForwardLogHandler.java:34) ~[paper-1.18.2.jar:git-Paper-386]
	at java.util.logging.Logger.log(Logger.java:980) ~[?:?]
	at java.util.logging.Logger.doLog(Logger.java:1007) ~[?:?]
	at java.util.logging.Logger.log(Logger.java:1030) ~[?:?]
	at me.quantiom.advancedvanish.AdvancedVanish$Companion.log(AdvancedVanish.kt:20) ~[AdvancedVanish.jar:?]
	at me.quantiom.advancedvanish.config.Config.reload(Config.kt:60) ~[AdvancedVanish.jar:?]
        ... outputs this until the plugin disables

[Bug] Vanished users can be messaged.

When a user is in vanish they can still be private messaged which makes the vanished status pointless.

Version: 1.18.2
Related Plugins: Essentials, VentureChat
AdvancedVanish Version: 1.1.3

Question: Do players actually vanish?

Looks like i only get effects along a few other things, but can players with player-esp cheats enabled still see me? or am i just invisible for vanilla players? this would be a very critical flaw

Vanish Toggle Command

The ability for staff to self toggle everything if we have that feature enabled true/false in the config.
List:
send-messages
break-blocks
place-blocks
interact
attack-entities
open-and-use-chests
pick-up-items
drop-items

/vanish toggle (x)
/v toggle (x)

Staff has the ability to toggle their interact, pick-up-items, drop-items, block placing and breaking, etc.

also remove the /vanish interact and add it to this ^

And using permission we could give staff the ability to toggle certain ones like advancedvanish.toggle.x

[Issue] Deprecated Commands

When the plugin loads on a 1.19.4+ server using PaperMC all commands will throw the errors below:

[06:10:33 WARN]: Plugin 'AdvancedVanish' is creating timing 'Command: vanish' - this is deprecated behavior, please report it to the authors: quantiom

[06:10:33 WARN]: Plugin 'AdvancedVanish' is creating timing 'Command: vanish help' - this is deprecated behavior, please report it to the authors: quantiom

[06:10:33 WARN]: Plugin 'AdvancedVanish' is creating timing 'Command: vanish interact' - this is deprecated behavior, please report it to the authors: quantiom

[06:10:33 WARN]: Plugin 'AdvancedVanish' is creating timing 'Command: vanish list' - this is deprecated behavior, please report it to the authors: quantiom

[06:10:33 WARN]: Plugin 'AdvancedVanish' is creating timing 'Command: vanish priority' - this is deprecated behavior, please report it to the authors: quantiom

[06:10:33 WARN]: Plugin 'AdvancedVanish' is creating timing 'Command: vanish reload' - this is deprecated behavior, please report it to the authors: quantiom

[06:10:33 WARN]: Plugin 'AdvancedVanish' is creating timing 'Command: vanish set' - this is deprecated behavior, please report it to the authors: quantiom

[06:10:33 WARN]: Plugin 'AdvancedVanish' is creating timing 'Command: vanish status' - this is deprecated behavior, please report it to the authors: quantiom

[06:10:33 WARN]: Plugin 'AdvancedVanish' is creating timing 'Command: vanish toggle' - this is deprecated behavior, please report it to the authors: quantiom

[06:10:33 WARN]: Plugin 'AdvancedVanish' is creating timing 'Command: vanish' - this is deprecated behavior, please report it to the authors: quantiom

[06:10:33 WARN]: Plugin 'AdvancedVanish' is creating timing 'Command: vanish version' - this is deprecated behavior, please report it to the authors: quantiom

DiscordSRV issue

When I leave the server Not in vanish, it doesn't send the left the server message.

However everything else works:
When I join the server (Vanish automatically on) it doesn't send the message until I go out of vanish which is good,
When I go back in and out of vanish, it sends the left and join message just fine.

But when I leave the server not even in vanish, it doesn't send the leave message.

Folia Support for AdvancedVanish?

I know that this will take time, just asking by curiosity

Here is the repo link: https://github.com/PaperMC/Folia

Here is a summary of everything made with ChatGPT to save some time:

For plugin developers, there are a few key takeaways from the given text:

  1. Folia introduces regionised multithreading, which means that plugins will require modification to function properly. Plugin developers should expect compatibility with existing plugins to be at zero.

  2. Folia introduces new API additions, such as the RegionisedScheduler and EntityScheduler, which can help plugins run on the correct thread context.

  3. To ensure compatibility with Folia, plugin developers must mark their plugin as compatible by placing "folia-supported: true" in the plugin.yml file. Additionally, plugins must take advantage of the RegionisedScheduler and EntityScheduler API to ensure correct behavior.

  4. Plugins should not assume that they can access or modify data in other regions, as Folia regions tick in parallel and do not share data. Plugin developers should take advantage of the upcoming thread-check API to ensure correct behavior.

  5. There are currently broken API, including the scoreboard API, and planned API changes, such as super aggressive thread checks, which may impact plugin development.

Overall, plugin developers should be prepared for significant changes in their plugins to ensure compatibility with Folia. They should take advantage of the new API additions and mark their plugin as compatible to ensure correct behavior. Additionally, they should be aware of the limitations and rules of Folia's regionised multithreading to avoid bugs and errors in their plugins.

DiscordSRV Issues

Hi I'm using the plugin on a 1.19.1 server(I am aware this is a 1.18.X plugin) and it all works amazingly except the discord SRV which send the wrong message on vanish/unvanish. It says that a player joined when they vanish and that they left when they unvanish. Unsure if this will be fixed but I hope it will as this plugin is great overall.

Vanish Priority Bug

When a player at a lower meta leaves and rejoins, they are able to see vanish players who has a higher priority

DiscordSRV can't process player count placeholder

The %advancedvanish_player_count% place holder seems to require a Player for it to work, due to this, trying to add the placeholder display a number through the discord channel topic, It doesn't work.

Stated by discordsrv support: "I checked their source and it seems that it displays the same thing for everyone, just the number of connected players minus the number of vanished players."

"Cause of the other placeholder, to check if the player is vanished. so naturally they said that player has to be there whether it's checking for either placeholder, might be slightly silly of them πŸ‘€ though idk how this works enough to know if it's justified"

What Its suppose to look like:
image

Instead it errors when trying to use advancedvanish placeholder ^

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.