Skip to content

Commit 1c15d03

Browse files
committed
rewrite for 1.18, updated libraries
1 parent 1f940ae commit 1c15d03

File tree

6 files changed

+110
-111
lines changed

6 files changed

+110
-111
lines changed

.gitignore

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
.gradle
2+
.idea
3+
build
4+
gradle

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Minecraft bot stress tester
22
🤖 A simple open source app written in Java used for stress testing Minecraft servers with bots (fake players).
33
💥 It can be also used to test plugins or minigames.
4-
✔️ The MC version of the bots is 1.16.4 (supports 1.16.5).
4+
✔️ The MC version of the bots is 1.18 (supports 1.18.1).
55

66
## 🆒 Features
77
- ✅ Connect as many bots as you want

build.gradle

+9-6
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,22 @@ plugins {
33
}
44

55
group 'me.creepermaxcz.mc-bots'
6-
version '1.0.0'
6+
version '1.1.0'
7+
8+
sourceCompatibility = 1.8
9+
targetCompatibility = 1.8
710

811
repositories {
912
mavenCentral()
1013
maven { url 'https://jitpack.io' }
1114
}
1215

1316
dependencies {
14-
implementation 'com.github.Steveice10:MCProtocolLib:1.16.4-1'
15-
implementation 'commons-cli:commons-cli:1.4'
16-
implementation 'com.diogonunes:JColor:5.0.1'
17-
implementation 'dnsjava:dnsjava:3.3.1'
18-
implementation 'org.slf4j:slf4j-nop:1.7.30'
17+
implementation 'com.github.Steveice10:MCProtocolLib:1.18-2'
18+
implementation 'commons-cli:commons-cli:1.5.0'
19+
implementation 'com.diogonunes:JColor:5.2.0'
20+
implementation 'dnsjava:dnsjava:3.4.3'
21+
implementation 'org.slf4j:slf4j-nop:1.7.32'
1922
}
2023

2124
jar {

src/main/java/me/creepermaxcz/mcbots/Bot.java

+14-14
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
package me.creepermaxcz.mcbots;
22

33
import com.github.steveice10.mc.protocol.MinecraftProtocol;
4-
import com.github.steveice10.mc.protocol.packet.ingame.client.ClientChatPacket;
5-
import com.github.steveice10.mc.protocol.packet.ingame.server.ServerJoinGamePacket;
6-
import com.github.steveice10.packetlib.Client;
4+
import com.github.steveice10.mc.protocol.packet.ingame.clientbound.ClientboundLoginPacket;
5+
import com.github.steveice10.mc.protocol.packet.ingame.serverbound.ServerboundChatPacket;
76
import com.github.steveice10.packetlib.ProxyInfo;
7+
import com.github.steveice10.packetlib.Session;
88
import com.github.steveice10.packetlib.event.session.DisconnectedEvent;
9-
import com.github.steveice10.packetlib.event.session.PacketReceivedEvent;
109
import com.github.steveice10.packetlib.event.session.SessionAdapter;
11-
import com.github.steveice10.packetlib.tcp.TcpSessionFactory;
10+
import com.github.steveice10.packetlib.packet.Packet;
11+
import com.github.steveice10.packetlib.tcp.TcpClientSession;
1212

1313
import java.net.InetSocketAddress;
1414

@@ -19,7 +19,7 @@ public class Bot extends Thread {
1919
private String nickname;
2020
private ProxyInfo proxy;
2121
private InetSocketAddress address;
22-
private Client client;
22+
private Session client;
2323
private boolean hasMainListener;
2424

2525
public Bot(String nickname, InetSocketAddress address, ProxyInfo proxy) {
@@ -29,18 +29,18 @@ public Bot(String nickname, InetSocketAddress address, ProxyInfo proxy) {
2929

3030
Log.info("Creating bot", nickname);
3131
protocol = new MinecraftProtocol(nickname);
32-
client = new Client(address.getHostString(), address.getPort(), protocol, new TcpSessionFactory(proxy));
32+
client = new TcpClientSession(address.getHostString(), address.getPort(), protocol);
3333
}
3434

3535
@Override
3636
public void run() {
3737

3838
if (!Main.isMinimal()) {
39-
client.getSession().addListener(new SessionAdapter() {
39+
client.addListener(new SessionAdapter() {
4040

4141
@Override
42-
public void packetReceived(PacketReceivedEvent event) {
43-
if (event.getPacket() instanceof ServerJoinGamePacket) {
42+
public void packetReceived(Session session, Packet packet) {
43+
if (packet instanceof ClientboundLoginPacket) {
4444
Log.info(nickname + " connected");
4545
if (Main.joinMessage != null) {
4646
sendChat(Main.joinMessage);
@@ -52,7 +52,7 @@ public void packetReceived(PacketReceivedEvent event) {
5252
public void disconnected(DisconnectedEvent event) {
5353
Log.info();
5454
Log.info(nickname + " disconnected");
55-
Log.info(event.getReason());
55+
Log.info(" -> " + event.getReason());
5656
if(event.getCause() != null) {
5757
event.getCause().printStackTrace();
5858
}
@@ -62,11 +62,11 @@ public void disconnected(DisconnectedEvent event) {
6262
}
6363
});
6464
}
65-
client.getSession().connect();
65+
client.connect();
6666
}
6767

6868
public void sendChat(String text) {
69-
client.getSession().send(new ClientChatPacket(text));
69+
client.send(new ServerboundChatPacket(text));
7070
}
7171

7272

@@ -77,7 +77,7 @@ public String getNickname() {
7777
public void registerMainListener() {
7878
hasMainListener = true;
7979
if (Main.isMinimal()) return;
80-
client.getSession().addListener(new MainListener(nickname));
80+
client.addListener(new MainListener(nickname));
8181
}
8282

8383
public boolean hasMainListener() {

src/main/java/me/creepermaxcz/mcbots/MainListener.java

+18-17
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package me.creepermaxcz.mcbots;
22

3-
import com.github.steveice10.mc.protocol.data.message.Message;
4-
import com.github.steveice10.mc.protocol.data.message.TextMessage;
5-
import com.github.steveice10.mc.protocol.data.message.TranslationMessage;
6-
import com.github.steveice10.mc.protocol.packet.ingame.server.ServerChatPacket;
3+
import com.github.steveice10.mc.protocol.packet.ingame.clientbound.ClientboundChatPacket;
4+
import com.github.steveice10.packetlib.Session;
75
import com.github.steveice10.packetlib.event.session.*;
6+
import com.github.steveice10.packetlib.packet.Packet;
7+
import net.kyori.adventure.text.Component;
8+
import net.kyori.adventure.text.TextComponent;
9+
import net.kyori.adventure.text.TranslatableComponent;
810

911
public class MainListener implements SessionListener {
1012

@@ -13,18 +15,17 @@ public MainListener(String nickname) {
1315
}
1416

1517
@Override
16-
public void packetReceived(PacketReceivedEvent event) {
17-
if(event.getPacket() instanceof ServerChatPacket) {
18-
Message message = event.<ServerChatPacket>getPacket().getMessage();
19-
if (message instanceof TextMessage) {
20-
if (Main.coloredChat) {
21-
Log.chat(Utils.getFormattedFullText(message));
22-
} else {
23-
Log.chat(Utils.getFullText((TextMessage) message));
24-
}
25-
26-
} else if (message instanceof TranslationMessage) {
27-
Log.chat("[T]", Utils.translate((TranslationMessage) message));
18+
public void packetReceived(Session session, Packet packet) {
19+
if(packet instanceof ClientboundChatPacket) {
20+
Component message = ((ClientboundChatPacket) packet).getMessage();
21+
//Log.chat(message.toString());
22+
if (message instanceof TextComponent) {
23+
TextComponent msg = (TextComponent) message;
24+
Log.chat(Utils.getFullText(msg, Main.coloredChat));
25+
}
26+
if (message instanceof TranslatableComponent) {
27+
TranslatableComponent msg = (TranslatableComponent) message;
28+
Log.chat("[T]", Utils.translate(msg));
2829
}
2930
}
3031
}
@@ -35,7 +36,7 @@ public void packetSending(PacketSendingEvent event) {
3536
}
3637

3738
@Override
38-
public void packetSent(PacketSentEvent event) {
39+
public void packetSent(Session session, Packet packet) {
3940

4041
}
4142

0 commit comments

Comments
 (0)