Skip to content

Commit 358e36c

Browse files
authored
More support commands (#1)
1 parent dde6f96 commit 358e36c

2 files changed

Lines changed: 67 additions & 2 deletions

File tree

src/main/java/com/fancyinnovations/fancyfriend/FancyFriend.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,11 @@ public void initJDA() {
9595
Commands.slash("per-line", "Per-line settings not supported message"),
9696
Commands.slash("versions", "Get a plugin's supported MC versions")
9797
.addOptions(new Modrinth().getProjects()),
98-
Commands.slash("via", "ViaVersion not supported message")).queue();
98+
Commands.slash("via", "ViaVersion not supported message"),
99+
Commands.slash("plugin_compatibility", "Plugin compatibility information"),
100+
Commands.slash("software_compatibility", "Server compatibility information"),
101+
Commands.slash("proxy_compatibility", "Proxy compatibility information"),
102+
Commands.slash("need_more_info", "Guide user to provide more information")).queue();
99103
}
100104

101105
public void shutdown() {

src/main/java/com/fancyinnovations/fancyfriend/events/Events.java

Lines changed: 62 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.fancyinnovations.fancyfriend.utils.Modrinth;
55
import com.fancyinnovations.fancyfriend.utils.PingWarnings;
66
import com.fancyinnovations.fancyfriend.utils.Staff;
7+
import net.dv8tion.jda.api.EmbedBuilder;
78
import net.dv8tion.jda.api.entities.Member;
89
import net.dv8tion.jda.api.entities.Message;
910
import net.dv8tion.jda.api.entities.channel.ChannelType;
@@ -33,7 +34,7 @@ public void onSlashCommandInteraction(SlashCommandInteractionEvent event) {
3334
event.deferReply(event.getName().equalsIgnoreCase("noping")).queue();
3435

3536
switch (event.getName()) {
36-
case "logs" -> event.getHook().editOriginal("Next time, please use [pastes.dev](<https://pastes.dev/>) or a similar service to upload your log file")
37+
case "logs" -> event.getHook().editOriginal("Please use **[pastes.dev](<https://pastes.dev/>)**, **[mclo.gs](<https://mclo.gs/>)** or a similar service to upload your server logs.")
3738
.queue();
3839

3940
case "blankline" -> event.getHook().editOriginal(
@@ -114,6 +115,66 @@ public void onSlashCommandInteraction(SlashCommandInteractionEvent event) {
114115
}
115116

116117
case "via" -> event.getHook().editOriginal(viaMsg).queue();
118+
case "plugin_compatibility" -> event.getHook().editOriginalEmbeds(new EmbedBuilder()
119+
.setTitle("Plugin Compatibility")
120+
.setDescription("""
121+
There is no compatibility guarantee for these plugins:
122+
- **[ViaVersion](https://github.com/ViaVersion/ViaVersion)**, **[ViaBackwards](https://github.com/ViaVersion/ViaBackwards)** and **[ViaRewind](https://github.com/ViaVersion/ViaRewind)**
123+
Clients on versions above 1.19.4 should not experience too much issues but some may still occur. Any problems specific to a certain client version are not going to be addressed here, but should instead be reported to Via.
124+
- **[Geyser](https://github.com/GeyserMC/Geyser)**
125+
Java and Bedrock are two completely different platforms. Holograms and NPCs are more than likely to be displayed incorrectly for Bedrock users. No effort will be put into fixing these issues, as they usually originate from Geyser.
126+
""")
127+
.setColor(0xFC5F5F)
128+
.build()).queue();
129+
case "software_compatibility" -> event.getHook().editOriginalEmbeds(new EmbedBuilder()
130+
.setTitle("Software Compatibility")
131+
.setDescription("""
132+
Our plugins are tested only on **[Paper](https://github.com/PaperMC/Paper)** and **[Folia](https://github.com/PaperMC/Folia)**. Before reporting any issue, please make sure you are able to **reproduce it** on a **supported** server software.
133+
### Additional Notes
134+
- **[Folia](<https://github.com/PaperMC/Folia>)**
135+
Folia must be compiled against Mojang mappings. Otherwise plugin won't load.
136+
- **[Purpur](<https://github.com/PurpurMC/Purpur>)**
137+
Tested by the community and confirmed to be fully compatible.
138+
- **[Pufferfish](<https://github.com/pufferfish-gg/Pufferfish>)**
139+
Older versions of Pufferfish (<= 1.19.4) may not fully support Paper plugins. Recent builds should work without any issues.
140+
- **[Leaf](<https://github.com/Winds-Studio/Leaf>)**
141+
Contains a lot of random patches that may negatively impact plugin compatibility, as well as bring number of other unrelated problems.
142+
- **[Mohist](<https://github.com/MohistMC/Mohist>)**, **[ArcLight](https://github.com/IzzelAliz/Arclight)** and other hybrid server software...
143+
Hybrid servers are not, and will never be supported. They're known for causing a lot of problems.
144+
- Anything else remains a mystery. If you have some insights, let us know.
145+
""")
146+
.setColor(0xFC5F5F)
147+
.build()).queue();
148+
case "proxy_compatibility" -> event.getHook().editOriginalEmbeds(new EmbedBuilder()
149+
.setTitle("Proxy Compatibility")
150+
.setDescription("""
151+
Our plugins should be fully compatible with all proxies, however - there is a known issue with **[BungeeCord](https://github.com/SpigotMC/BungeeCord)** occasionally kicking players with "team xyz already exists" message.
152+
153+
It was identified as a BungeeCord issue that was left without a clear resolution. We are still looking for a workaround, so if you have any suggestions - please let us know.
154+
155+
This problem does not occur on **[Velocity](https://github.com/PaperMC/Velocity)**, which we recommend using instead.
156+
""")
157+
.setColor(0xFC5F5F)
158+
.build()).queue();
159+
case "need_more_info" -> event.getHook().editOriginalEmbeds(new EmbedBuilder()
160+
.setTitle("More Information Needed")
161+
.setDescription("""
162+
We need more information to help with your issue. Please provide:
163+
164+
1. **Server Software and Version**
165+
Send a screenshot or copy-paste the output of `/ver` command.
166+
2. **Plugin Version**
167+
Send a screenshot or copy-paste the output of `/ver PluginName` command.
168+
3. **Plugins List** (Upon Request)
169+
Send a screenshot or copy-paste the output of `/plugins` command.
170+
4. **Server Logs** (Upon Request)
171+
Logs can be uploaded to **[pastes.dev](<https://pastes.dev/>)**, **[mclo.gs](<https://mclo.gs/>)** or a similar service.
172+
173+
If you haven't already, make sure to describe the issue in as much detail as possible.
174+
""")
175+
.setColor(0xFC5F5F)
176+
.build()).queue();
177+
117178
}
118179

119180
// BotAnalytics.get().getClient().getEventService().createEvent(

0 commit comments

Comments
 (0)