Skip to content

Commit 4fa4574

Browse files
committed
Version 1.0.0
1 parent ee4b60e commit 4fa4574

File tree

19 files changed

+415
-122
lines changed

19 files changed

+415
-122
lines changed

.github/workflows/build.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: Java CI
2+
3+
on:
4+
push:
5+
pull_request:
6+
7+
jobs:
8+
build:
9+
name: Build
10+
11+
runs-on: ubuntu-latest
12+
13+
strategy:
14+
matrix:
15+
java-version: [1.8, 11]
16+
17+
steps:
18+
- name: Checkout repository
19+
uses: actions/checkout@v2
20+
21+
- name: Setup JDK ${{ matrix.java-version }}
22+
uses: actions/setup-java@v1
23+
with:
24+
java-version: ${{ matrix.java-version }}
25+
26+
- name: Build
27+
run: mvn -B package

.travis.yml

Lines changed: 0 additions & 13 deletions
This file was deleted.

README.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
1-
# ViaChatFixer
2-
[![Build Status](https://travis-ci.org/MrMicky-FR/ViaChatFixer.svg?branch=master)](https://travis-ci.org/MrMicky-FR/ViaChatFixer)
1+
# ViaChatFixer
32

4-
ViaChatFixer is a Spigot plugin that allow 1.11+ players to have longer chat messages on 1.8-1.10 servers with ViaVersion
3+
[![Java CI](https://github.com/MrMicky-FR/ViaChatFixer/actions/workflows/build.yml/badge.svg)](https://github.com/MrMicky-FR/ViaChatFixer/actions/workflows/build.yml)
54

6-
In Minecraft 1.11, the maximum messages length has gone from 100 characters to 256 characters.
7-
So if your server is under 1.11, 1.11 and higher players will have their chat messages cut at 100 characters.
5+
ViaChatFixer is a Spigot plugin that allow 1.11+ players to have longer chat messages on 1.8-1.10 servers with ViaVersion
86

9-
This plugin fix this problem, so 1.11 and higher players will able to send longer chat messages up to 256 characters :)
7+
In Minecraft 1.11, the maximum messages length has gone from 100 characters to 256 characters. So if your server is under 1.11, 1.11 and higher
8+
players will have their chat messages cut at 100 characters.
109

11-
**The plugin is currently in beta, so if you find bugs please open an issue**
10+
This plugin fix this problem, so 1.11 and higher players will be able to send longer chat messages up to 256 characters.
1211

1312
## Downloads
1413

@@ -17,12 +16,13 @@ You can download releases and find more information on [SpigotMC](https://www.sp
1716
## Installation
1817

1918
Just put the ViaChatFixer jar in your plugins folder.
20-
Currently this plugin only works on Spigot, but Sponge support should be added soon.
21-
This plugin can work with BungeeCord as long as ViaVersion and this plugin are on the Spigot servers.
2219

23-
**All players online during a reload will not be able to have longer chat messages until they reconnect**
20+
ViaChatFixer currently supports ViaVersion v3.0 or higher.
21+
22+
All players online during a reload will not be able to have longer chat messages until they reconnect.
23+
24+
## Supported Platforms
2425

25-
## Planned features
26+
ViaChatFixer can be installed on Bukkit/Spigot/Paper servers or on Sponge servers.
2627

27-
* Sponge support
28-
* BungeeCord support _(not sure)_
28+
If you are using a proxy, ViaVersion and ViaChatFixer must be installed on the backend servers.

bukkit/pom.xml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>fr.mrmicky</groupId>
99
<artifactId>viachatfixer</artifactId>
10-
<version>0.3.0</version>
10+
<version>1.0.0</version>
1111
</parent>
1212

1313
<artifactId>viachatfixer-bukkit</artifactId>
@@ -22,16 +22,16 @@
2222
</repositories>
2323

2424
<dependencies>
25-
<dependency>
26-
<groupId>org.spigotmc</groupId>
27-
<artifactId>spigot-api</artifactId>
28-
<version>1.8.8-R0.1-SNAPSHOT</version>
29-
<scope>provided</scope>
30-
</dependency>
3125
<dependency>
3226
<groupId>fr.mrmicky</groupId>
3327
<artifactId>viachatfixer-common</artifactId>
3428
<version>${project.version}</version>
29+
<scope>compile</scope>
30+
</dependency>
31+
<dependency>
32+
<groupId>org.spigotmc</groupId>
33+
<artifactId>spigot-api</artifactId>
34+
<version>1.10.2-R0.1-SNAPSHOT</version>
3535
<scope>provided</scope>
3636
</dependency>
3737
</dependencies>

bukkit/src/main/java/fr/mrmicky/viachatfixer/bukkit/ViaChatFixerBukkit.java

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,56 @@
11
package fr.mrmicky.viachatfixer.bukkit;
22

3-
import fr.mrmicky.viachatfixer.ViaChatFixerPlatform;
4-
import fr.mrmicky.viachatfixer.handlers.ChatHandler;
5-
import fr.mrmicky.viachatfixer.handlers.via.ViaChatHandler;
3+
import fr.mrmicky.viachatfixer.common.ChatHandler;
4+
import fr.mrmicky.viachatfixer.common.ViaChatFixerPlatform;
5+
import fr.mrmicky.viachatfixer.common.logger.JavaLoggerAdapter;
6+
import fr.mrmicky.viachatfixer.common.logger.LoggerAdapter;
67
import org.bukkit.event.EventHandler;
78
import org.bukkit.event.EventPriority;
89
import org.bukkit.event.Listener;
910
import org.bukkit.event.player.AsyncPlayerChatEvent;
1011
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
1112
import org.bukkit.plugin.java.JavaPlugin;
1213

13-
import java.util.logging.Level;
14+
public final class ViaChatFixerBukkit extends JavaPlugin implements Listener, ViaChatFixerPlatform {
1415

15-
public final class ViaChatFixerBukkit extends JavaPlugin implements ViaChatFixerPlatform, Listener {
16+
private final ChatHandler chatHandler = new ChatHandler(this);
1617

17-
private ChatHandler chatHandler;
18+
private LoggerAdapter logger;
19+
20+
@Override
21+
public void onLoad() {
22+
this.logger = new JavaLoggerAdapter(getLogger());
23+
}
1824

1925
@Override
2026
public void onEnable() {
2127
if (getServer().getPluginManager().getPlugin("ViaVersion") == null) {
22-
getLogger().severe("ViaVersion is not installed");
28+
this.logger.error("You need to install ViaVersion to use ViaChatFixer");
2329
getServer().getPluginManager().disablePlugin(this);
2430
return;
2531
}
2632

27-
chatHandler = new ViaChatHandler(this);
28-
2933
// Only load when ViaVersion is loaded
3034
getServer().getScheduler().runTask(this, () -> {
3135
try {
32-
chatHandler.init();
36+
this.chatHandler.init();
37+
38+
getServer().getPluginManager().registerEvents(this, this);
3339
} catch (Exception e) {
34-
getLogger().log(Level.SEVERE, "An error occurred while enabling", e);
40+
this.logger.error("An error occurred during initialization", e);
3541
getServer().getPluginManager().disablePlugin(this);
36-
return;
3742
}
38-
39-
getServer().getPluginManager().registerEvents(this, this);
4043
});
4144
}
4245

46+
@Override
47+
public LoggerAdapter getLoggerAdapter() {
48+
return this.logger;
49+
}
50+
4351
@EventHandler(priority = EventPriority.LOWEST)
4452
public void onAsyncPlayerChat(AsyncPlayerChatEvent e) {
45-
String message = chatHandler.handle(e.getPlayer().getUniqueId());
53+
String message = this.chatHandler.handle(e.getPlayer().getUniqueId());
4654

4755
if (message != null) {
4856
e.setMessage(message);
@@ -51,7 +59,7 @@ public void onAsyncPlayerChat(AsyncPlayerChatEvent e) {
5159

5260
@EventHandler(priority = EventPriority.LOWEST)
5361
public void onPlayerCommand(PlayerCommandPreprocessEvent e) {
54-
String message = chatHandler.handle(e.getPlayer().getUniqueId());
62+
String message = this.chatHandler.handle(e.getPlayer().getUniqueId());
5563

5664
if (message != null) {
5765
e.setMessage(message);

common/pom.xml

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,27 @@
77
<parent>
88
<groupId>fr.mrmicky</groupId>
99
<artifactId>viachatfixer</artifactId>
10-
<version>0.3.0</version>
10+
<version>1.0.0</version>
1111
</parent>
1212

1313
<artifactId>viachatfixer-common</artifactId>
1414

1515
<name>ViaChatFixerCommon</name>
1616

17+
<repositories>
18+
<repository>
19+
<id>viaversion-repo</id>
20+
<url>https://repo.viaversion.com/</url>
21+
</repository>
22+
</repositories>
23+
24+
<dependencies>
25+
<dependency>
26+
<groupId>us.myles</groupId>
27+
<artifactId>viaversion</artifactId>
28+
<version>3.0.0</version>
29+
<scope>provided</scope>
30+
</dependency>
31+
</dependencies>
32+
1733
</project>

common/src/main/java/fr/mrmicky/viachatfixer/ViaChatFixerPlatform.java

Lines changed: 0 additions & 8 deletions
This file was deleted.

common/src/main/java/fr/mrmicky/viachatfixer/handlers/via/ViaChatHandler.java renamed to common/src/main/java/fr/mrmicky/viachatfixer/common/ChatHandler.java

Lines changed: 31 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
package fr.mrmicky.viachatfixer.handlers.via;
1+
package fr.mrmicky.viachatfixer.common;
22

3-
import fr.mrmicky.viachatfixer.ViaChatFixerPlatform;
4-
import fr.mrmicky.viachatfixer.handlers.ChatHandler;
53
import us.myles.ViaVersion.api.Via;
64
import us.myles.ViaVersion.api.data.UserConnection;
75
import us.myles.ViaVersion.api.protocol.Protocol;
@@ -17,20 +15,21 @@
1715
import java.util.Set;
1816
import java.util.UUID;
1917

20-
public class ViaChatHandler implements ChatHandler {
18+
public class ChatHandler {
2119

2220
private final Set<UUID> unknownPlayers = new HashSet<>();
2321

2422
private final ViaChatFixerPlatform platform;
2523

26-
public ViaChatHandler(ViaChatFixerPlatform platform) {
24+
private boolean enabled = false;
25+
26+
public ChatHandler(ViaChatFixerPlatform platform) {
2727
this.platform = platform;
2828
}
2929

30-
@Override
3130
public void init() {
3231
if (ProtocolRegistry.SERVER_PROTOCOL >= ProtocolVersion.v1_11.getId()) {
33-
platform.getLogger().warning("This plugin is not required on 1.11+ servers, you can just remove it :)");
32+
this.platform.getLoggerAdapter().warn("This plugin is not required on 1.11+ servers, you can just remove it.");
3433
return;
3534
}
3635

@@ -72,34 +71,46 @@ public void registerMap() {
7271
});
7372
}
7473
}, true);
74+
75+
this.enabled = true;
7576
}
7677

77-
@Override
7878
public String handle(UUID uuid) {
79+
if (!this.enabled) {
80+
return null;
81+
}
82+
83+
ChatTracker chatTracker = getChatTracker(uuid);
84+
85+
if (chatTracker == null) {
86+
return null;
87+
}
88+
89+
String message = chatTracker.getLastMessage();
90+
91+
chatTracker.reset();
92+
93+
return message;
94+
}
95+
96+
private ChatTracker getChatTracker(UUID uuid) {
7997
UserConnection connection = Via.getManager().getConnection(uuid);
8098

8199
if (connection == null) {
82-
if (unknownPlayers.add(uuid)) {
83-
platform.getLogger().warning("Unknown connection for player with UUID " + uuid);
100+
if (this.unknownPlayers.add(uuid)) {
101+
this.platform.getLoggerAdapter().warn("Unknown connection for player with UUID " + uuid);
84102
}
103+
85104
return null;
86105
}
87106

88107
ChatTracker chatTracker = connection.get(ChatTracker.class);
89108

90-
if (chatTracker == null || chatTracker.getLastMessage() == null) {
91-
return null;
92-
}
93-
94-
if (!chatTracker.isValid(100)) {
109+
if (chatTracker != null && !chatTracker.isValid(100)) {
95110
chatTracker.reset();
96111
return null;
97112
}
98113

99-
String message = chatTracker.getLastMessage();
100-
101-
chatTracker.reset();
102-
103-
return message;
114+
return chatTracker;
104115
}
105116
}

common/src/main/java/fr/mrmicky/viachatfixer/handlers/via/ChatTracker.java renamed to common/src/main/java/fr/mrmicky/viachatfixer/common/ChatTracker.java

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package fr.mrmicky.viachatfixer.handlers.via;
1+
package fr.mrmicky.viachatfixer.common;
22

33
import us.myles.ViaVersion.api.data.StoredObject;
44
import us.myles.ViaVersion.api.data.UserConnection;
@@ -13,20 +13,24 @@ public ChatTracker(UserConnection user) {
1313
}
1414

1515
public String getLastMessage() {
16-
return lastMessage;
16+
return this.lastMessage;
1717
}
1818

1919
public boolean isValid(int time) {
20-
return (System.currentTimeMillis() - lastMessageTime) < time;
20+
if (this.lastMessage == null) {
21+
return false;
22+
}
23+
24+
return (System.currentTimeMillis() - this.lastMessageTime) < time;
2125
}
2226

2327
public void updateLastMessage(String message) {
24-
lastMessage = message;
25-
lastMessageTime = System.currentTimeMillis();
28+
this.lastMessage = message;
29+
this.lastMessageTime = System.currentTimeMillis();
2630
}
2731

2832
public void reset() {
29-
lastMessage = null;
30-
lastMessageTime = 0;
33+
this.lastMessage = null;
34+
this.lastMessageTime = 0;
3135
}
3236
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package fr.mrmicky.viachatfixer.common;
2+
3+
import fr.mrmicky.viachatfixer.common.logger.LoggerAdapter;
4+
5+
public interface ViaChatFixerPlatform {
6+
7+
LoggerAdapter getLoggerAdapter();
8+
9+
}

0 commit comments

Comments
 (0)