1.21 + a LOT of fixies and a bit of optimization. WorldPlugin is still broken with some debug lines
This commit is contained in:
parent
837fe388bb
commit
f1c98135a2
41 changed files with 256 additions and 224 deletions
|
@ -51,5 +51,10 @@
|
||||||
<option name="name" value="opencollab" />
|
<option name="name" value="opencollab" />
|
||||||
<option name="url" value="https://repo.opencollab.dev/maven-releases/" />
|
<option name="url" value="https://repo.opencollab.dev/maven-releases/" />
|
||||||
</remote-repository>
|
</remote-repository>
|
||||||
|
<remote-repository>
|
||||||
|
<option name="id" value="maven" />
|
||||||
|
<option name="name" value="maven" />
|
||||||
|
<option name="url" value="https://repo.opencollab.dev/main/" />
|
||||||
|
</remote-repository>
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
|
@ -7,7 +7,7 @@ You will see that the exploits plugin is missing because I gitignored it to prev
|
||||||
To make this successfully compile just make `ExploitsPlugin.java` in the plugins folder and add this code:
|
To make this successfully compile just make `ExploitsPlugin.java` in the plugins folder and add this code:
|
||||||
|
|
||||||
```java
|
```java
|
||||||
package land.chipmunk.chayapak.chomens_bot.plugins;
|
package me.chayapak1.chomens_bot.plugins;
|
||||||
|
|
||||||
import me.chayapak1.chomens_bot.Bot;
|
import me.chayapak1.chomens_bot.Bot;
|
||||||
|
|
||||||
|
|
12
build.gradle
12
build.gradle
|
@ -19,6 +19,10 @@ repositories {
|
||||||
|
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
|
|
||||||
|
maven {
|
||||||
|
url = uri('https://repo.opencollab.dev/main/')
|
||||||
|
}
|
||||||
|
|
||||||
maven {
|
maven {
|
||||||
url = uri('https://repo.opencollab.dev/maven-snapshots/')
|
url = uri('https://repo.opencollab.dev/maven-snapshots/')
|
||||||
}
|
}
|
||||||
|
@ -37,8 +41,8 @@ repositories {
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation 'com.github.steveice10:mcprotocollib:1.20.2-1-SNAPSHOT'
|
implementation 'org.geysermc.mcprotocollib:protocol:1.21-SNAPSHOT'
|
||||||
implementation 'net.kyori:adventure-text-serializer-ansi:4.14.0'
|
implementation 'net.kyori:adventure-text-serializer-ansi:4.15.0'
|
||||||
implementation 'com.google.code.gson:gson:2.10.1'
|
implementation 'com.google.code.gson:gson:2.10.1'
|
||||||
implementation 'com.google.guava:guava:31.1-jre'
|
implementation 'com.google.guava:guava:31.1-jre'
|
||||||
implementation 'org.jline:jline:3.23.0'
|
implementation 'org.jline:jline:3.23.0'
|
||||||
|
@ -47,7 +51,7 @@ dependencies {
|
||||||
implementation 'org.luaj:luaj-jse:3.0.1'
|
implementation 'org.luaj:luaj-jse:3.0.1'
|
||||||
implementation 'net.dv8tion:JDA:5.0.0-beta.12'
|
implementation 'net.dv8tion:JDA:5.0.0-beta.12'
|
||||||
implementation 'joda-time:joda-time:2.12.4'
|
implementation 'joda-time:joda-time:2.12.4'
|
||||||
implementation 'net.kyori:adventure-text-serializer-legacy:4.13.1'
|
implementation 'net.kyori:adventure-text-serializer-legacy:4.15.0'
|
||||||
implementation 'org.apache.logging.log4j:log4j-slf4j-impl:2.20.0'
|
implementation 'org.apache.logging.log4j:log4j-slf4j-impl:2.20.0'
|
||||||
implementation 'io.socket:socket.io-client:2.1.0'
|
implementation 'io.socket:socket.io-client:2.1.0'
|
||||||
implementation 'de.maxhenkel.opus4j:opus4j:2.0.2'
|
implementation 'de.maxhenkel.opus4j:opus4j:2.0.2'
|
||||||
|
@ -56,7 +60,7 @@ dependencies {
|
||||||
|
|
||||||
jar {
|
jar {
|
||||||
manifest {
|
manifest {
|
||||||
attributes 'Main-Class': 'land.chipmunk.chayapak.chomens_bot.Main'
|
attributes 'Main-Class': 'me.chayapak1.chomens_bot.Main'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,21 +1,20 @@
|
||||||
package me.chayapak1.chomens_bot;
|
package me.chayapak1.chomens_bot;
|
||||||
|
|
||||||
import com.github.steveice10.mc.auth.data.GameProfile;
|
|
||||||
import com.github.steveice10.mc.protocol.MinecraftProtocol;
|
|
||||||
import com.github.steveice10.mc.protocol.data.game.entity.player.HandPreference;
|
|
||||||
import com.github.steveice10.mc.protocol.data.game.setting.ChatVisibility;
|
|
||||||
import com.github.steveice10.mc.protocol.data.game.setting.SkinPart;
|
|
||||||
import com.github.steveice10.mc.protocol.packet.common.serverbound.ServerboundClientInformationPacket;
|
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.clientbound.ClientboundLoginPacket;
|
|
||||||
import com.github.steveice10.mc.protocol.packet.login.clientbound.ClientboundGameProfilePacket;
|
|
||||||
import com.github.steveice10.packetlib.Session;
|
|
||||||
import com.github.steveice10.packetlib.event.session.*;
|
|
||||||
import com.github.steveice10.packetlib.packet.Packet;
|
|
||||||
import com.github.steveice10.packetlib.tcp.TcpClientSession;
|
|
||||||
import land.chipmunk.chayapak.chomens_bot.plugins.*;
|
|
||||||
import me.chayapak1.chomens_bot.plugins.*;
|
import me.chayapak1.chomens_bot.plugins.*;
|
||||||
import me.chayapak1.chomens_bot.util.ComponentUtilities;
|
import me.chayapak1.chomens_bot.util.ComponentUtilities;
|
||||||
import me.chayapak1.chomens_bot.util.RandomStringUtilities;
|
import me.chayapak1.chomens_bot.util.RandomStringUtilities;
|
||||||
|
import org.geysermc.mcprotocollib.auth.GameProfile;
|
||||||
|
import org.geysermc.mcprotocollib.network.Session;
|
||||||
|
import org.geysermc.mcprotocollib.network.event.session.*;
|
||||||
|
import org.geysermc.mcprotocollib.network.packet.Packet;
|
||||||
|
import org.geysermc.mcprotocollib.network.tcp.TcpClientSession;
|
||||||
|
import org.geysermc.mcprotocollib.protocol.MinecraftProtocol;
|
||||||
|
import org.geysermc.mcprotocollib.protocol.data.game.entity.player.HandPreference;
|
||||||
|
import org.geysermc.mcprotocollib.protocol.data.game.setting.ChatVisibility;
|
||||||
|
import org.geysermc.mcprotocollib.protocol.data.game.setting.SkinPart;
|
||||||
|
import org.geysermc.mcprotocollib.protocol.packet.common.serverbound.ServerboundClientInformationPacket;
|
||||||
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.clientbound.ClientboundLoginPacket;
|
||||||
|
import org.geysermc.mcprotocollib.protocol.packet.login.clientbound.ClientboundGameProfilePacket;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package me.chayapak1.chomens_bot.chatParsers;
|
package me.chayapak1.chomens_bot.chatParsers;
|
||||||
|
|
||||||
import com.github.steveice10.mc.auth.data.GameProfile;
|
import org.geysermc.mcprotocollib.auth.GameProfile;
|
||||||
import com.github.steveice10.mc.protocol.data.game.entity.player.GameMode;
|
import org.geysermc.mcprotocollib.protocol.data.game.entity.player.GameMode;
|
||||||
import me.chayapak1.chomens_bot.Bot;
|
import me.chayapak1.chomens_bot.Bot;
|
||||||
import me.chayapak1.chomens_bot.data.chat.ChatParser;
|
import me.chayapak1.chomens_bot.data.chat.ChatParser;
|
||||||
import me.chayapak1.chomens_bot.data.PlayerEntry;
|
import me.chayapak1.chomens_bot.data.PlayerEntry;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package me.chayapak1.chomens_bot.chatParsers;
|
package me.chayapak1.chomens_bot.chatParsers;
|
||||||
|
|
||||||
import com.github.steveice10.mc.auth.data.GameProfile;
|
import org.geysermc.mcprotocollib.auth.GameProfile;
|
||||||
import com.github.steveice10.mc.protocol.data.game.entity.player.GameMode;
|
import org.geysermc.mcprotocollib.protocol.data.game.entity.player.GameMode;
|
||||||
import me.chayapak1.chomens_bot.Bot;
|
import me.chayapak1.chomens_bot.Bot;
|
||||||
import me.chayapak1.chomens_bot.data.chat.ChatParser;
|
import me.chayapak1.chomens_bot.data.chat.ChatParser;
|
||||||
import me.chayapak1.chomens_bot.data.PlayerEntry;
|
import me.chayapak1.chomens_bot.data.PlayerEntry;
|
||||||
|
|
|
@ -7,6 +7,7 @@ import me.chayapak1.chomens_bot.data.chat.PlayerMessage;
|
||||||
import me.chayapak1.chomens_bot.util.ComponentUtilities;
|
import me.chayapak1.chomens_bot.util.ComponentUtilities;
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
import net.kyori.adventure.text.TranslatableComponent;
|
import net.kyori.adventure.text.TranslatableComponent;
|
||||||
|
import net.kyori.adventure.text.TranslationArgument;
|
||||||
import net.kyori.adventure.text.event.HoverEvent;
|
import net.kyori.adventure.text.event.HoverEvent;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
@ -34,12 +35,12 @@ public class MinecraftChatParser implements ChatParser {
|
||||||
}
|
}
|
||||||
|
|
||||||
public PlayerMessage parse (TranslatableComponent message) {
|
public PlayerMessage parse (TranslatableComponent message) {
|
||||||
final List<Component> args = message.args();
|
final List<TranslationArgument> args = message.arguments();
|
||||||
final String key = message.key();
|
final String key = message.key();
|
||||||
if (args.size() < 2 || !keys.contains(key)) return null;
|
if (args.size() < 2 || !keys.contains(key)) return null;
|
||||||
|
|
||||||
final Component senderComponent = args.get(0);
|
final Component senderComponent = args.get(0).asComponent();
|
||||||
final Component contents = args.get(1);
|
final Component contents = args.get(1).asComponent();
|
||||||
|
|
||||||
PlayerEntry sender;
|
PlayerEntry sender;
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@ import me.chayapak1.chomens_bot.data.chat.PlayerMessage;
|
||||||
import me.chayapak1.chomens_bot.util.ComponentUtilities;
|
import me.chayapak1.chomens_bot.util.ComponentUtilities;
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
import net.kyori.adventure.text.TranslatableComponent;
|
import net.kyori.adventure.text.TranslatableComponent;
|
||||||
|
import net.kyori.adventure.text.TranslationArgument;
|
||||||
import net.kyori.adventure.text.event.HoverEvent;
|
import net.kyori.adventure.text.event.HoverEvent;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -28,11 +29,11 @@ public class U203aChatParser implements ChatParser {
|
||||||
|
|
||||||
// very similar to MinecraftChatParser
|
// very similar to MinecraftChatParser
|
||||||
public PlayerMessage parse (TranslatableComponent message) {
|
public PlayerMessage parse (TranslatableComponent message) {
|
||||||
final List<Component> args = message.args();
|
final List<TranslationArgument> args = message.arguments();
|
||||||
if (args.size() < 3 || (!message.key().equals("[%s] %s › %s") && !message.key().equals("%s %s › %s"))) return null;
|
if (args.size() < 3 || (!message.key().equals("[%s] %s › %s") && !message.key().equals("%s %s › %s"))) return null;
|
||||||
|
|
||||||
final Component senderComponent = args.get(1);
|
final Component senderComponent = args.get(1).asComponent();
|
||||||
final Component contents = args.get(2);
|
final Component contents = args.get(2).asComponent();
|
||||||
|
|
||||||
PlayerEntry sender;
|
PlayerEntry sender;
|
||||||
final HoverEvent<?> hoverEvent = senderComponent.hoverEvent();
|
final HoverEvent<?> hoverEvent = senderComponent.hoverEvent();
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package me.chayapak1.chomens_bot.command;
|
package me.chayapak1.chomens_bot.command;
|
||||||
|
|
||||||
import com.github.steveice10.mc.auth.data.GameProfile;
|
import org.geysermc.mcprotocollib.auth.GameProfile;
|
||||||
import com.github.steveice10.mc.protocol.data.game.entity.player.GameMode;
|
import org.geysermc.mcprotocollib.protocol.data.game.entity.player.GameMode;
|
||||||
import me.chayapak1.chomens_bot.data.PlayerEntry;
|
import me.chayapak1.chomens_bot.data.PlayerEntry;
|
||||||
import me.chayapak1.chomens_bot.util.CodeBlockUtilities;
|
import me.chayapak1.chomens_bot.util.CodeBlockUtilities;
|
||||||
import me.chayapak1.chomens_bot.Bot;
|
import me.chayapak1.chomens_bot.Bot;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package me.chayapak1.chomens_bot.command;
|
package me.chayapak1.chomens_bot.command;
|
||||||
|
|
||||||
import com.github.steveice10.mc.auth.data.GameProfile;
|
import org.geysermc.mcprotocollib.auth.GameProfile;
|
||||||
import com.github.steveice10.mc.protocol.data.game.entity.player.GameMode;
|
import org.geysermc.mcprotocollib.protocol.data.game.entity.player.GameMode;
|
||||||
import me.chayapak1.chomens_bot.Bot;
|
import me.chayapak1.chomens_bot.Bot;
|
||||||
import me.chayapak1.chomens_bot.data.PlayerEntry;
|
import me.chayapak1.chomens_bot.data.PlayerEntry;
|
||||||
import me.chayapak1.chomens_bot.util.ComponentUtilities;
|
import me.chayapak1.chomens_bot.util.ComponentUtilities;
|
||||||
|
|
|
@ -118,7 +118,7 @@ public class MailCommand extends Command {
|
||||||
return output;
|
return output;
|
||||||
}
|
}
|
||||||
|
|
||||||
final String value = ComponentUtilities.stringify(((TranslatableComponent) children.get(0)).args().get(1));
|
final String value = ComponentUtilities.stringify(((TranslatableComponent) children.get(0)).arguments().get(1).asComponent());
|
||||||
|
|
||||||
if (!value.startsWith("\"") && !value.endsWith("\"") && !value.startsWith("'") && !value.endsWith("'")) {
|
if (!value.startsWith("\"") && !value.endsWith("\"") && !value.startsWith("'") && !value.endsWith("'")) {
|
||||||
context.sendOutput(Component.text("`message` NBT is not a string").color(NamedTextColor.RED));
|
context.sendOutput(Component.text("`message` NBT is not a string").color(NamedTextColor.RED));
|
||||||
|
|
|
@ -11,7 +11,7 @@ import me.chayapak1.chomens_bot.song.Instrument;
|
||||||
import me.chayapak1.chomens_bot.song.Loop;
|
import me.chayapak1.chomens_bot.song.Loop;
|
||||||
import me.chayapak1.chomens_bot.song.Note;
|
import me.chayapak1.chomens_bot.song.Note;
|
||||||
import me.chayapak1.chomens_bot.song.Song;
|
import me.chayapak1.chomens_bot.song.Song;
|
||||||
import land.chipmunk.chayapak.chomens_bot.util.*;
|
import me.chayapak1.chomens_bot.util.*;
|
||||||
import me.chayapak1.chomens_bot.util.*;
|
import me.chayapak1.chomens_bot.util.*;
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
import net.kyori.adventure.text.JoinConfiguration;
|
import net.kyori.adventure.text.JoinConfiguration;
|
||||||
|
@ -225,7 +225,7 @@ public class MusicCommand extends Command {
|
||||||
return output;
|
return output;
|
||||||
}
|
}
|
||||||
|
|
||||||
final String value = ComponentUtilities.stringify(((TranslatableComponent) children.get(0)).args().get(1));
|
final String value = ComponentUtilities.stringify(((TranslatableComponent) children.get(0)).arguments().get(1).asComponent());
|
||||||
|
|
||||||
if (!value.startsWith("\"") && !value.endsWith("\"") && !value.startsWith("'") && !value.endsWith("'")) {
|
if (!value.startsWith("\"") && !value.endsWith("\"") && !value.startsWith("'") && !value.endsWith("'")) {
|
||||||
context.sendOutput(Component.text("`data` NBT is not a string").color(NamedTextColor.RED));
|
context.sendOutput(Component.text("`data` NBT is not a string").color(NamedTextColor.RED));
|
||||||
|
@ -282,7 +282,7 @@ public class MusicCommand extends Command {
|
||||||
return output;
|
return output;
|
||||||
}
|
}
|
||||||
|
|
||||||
final String value = ComponentUtilities.stringify(((TranslatableComponent) children.get(0)).args().get(1));
|
final String value = ComponentUtilities.stringify(((TranslatableComponent) children.get(0)).arguments().get(1).asComponent());
|
||||||
|
|
||||||
if (!value.startsWith("\"") && !value.endsWith("\"") && !value.startsWith("'") && !value.endsWith("'")) {
|
if (!value.startsWith("\"") && !value.endsWith("\"") && !value.startsWith("'") && !value.endsWith("'")) {
|
||||||
context.sendOutput(Component.text("NBT is not a string").color(NamedTextColor.RED));
|
context.sendOutput(Component.text("NBT is not a string").color(NamedTextColor.RED));
|
||||||
|
|
|
@ -6,7 +6,7 @@ import com.google.gson.JsonElement;
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
import me.chayapak1.chomens_bot.Bot;
|
import me.chayapak1.chomens_bot.Bot;
|
||||||
import me.chayapak1.chomens_bot.Main;
|
import me.chayapak1.chomens_bot.Main;
|
||||||
import land.chipmunk.chayapak.chomens_bot.command.*;
|
import me.chayapak1.chomens_bot.command.*;
|
||||||
import me.chayapak1.chomens_bot.command.*;
|
import me.chayapak1.chomens_bot.command.*;
|
||||||
import me.chayapak1.chomens_bot.util.ColorUtilities;
|
import me.chayapak1.chomens_bot.util.ColorUtilities;
|
||||||
import me.chayapak1.chomens_bot.util.HttpUtilities;
|
import me.chayapak1.chomens_bot.util.HttpUtilities;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package me.chayapak1.chomens_bot.data;
|
package me.chayapak1.chomens_bot.data;
|
||||||
|
|
||||||
import com.github.steveice10.mc.protocol.data.game.BossBarColor;
|
import org.geysermc.mcprotocollib.protocol.data.game.BossBarColor;
|
||||||
import com.github.steveice10.mc.protocol.data.game.BossBarDivision;
|
import org.geysermc.mcprotocollib.protocol.data.game.BossBarDivision;
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package me.chayapak1.chomens_bot.data;
|
package me.chayapak1.chomens_bot.data;
|
||||||
|
|
||||||
import com.github.steveice10.mc.protocol.data.game.BossBarColor;
|
import org.geysermc.mcprotocollib.protocol.data.game.BossBarColor;
|
||||||
import com.github.steveice10.mc.protocol.data.game.BossBarDivision;
|
import org.geysermc.mcprotocollib.protocol.data.game.BossBarDivision;
|
||||||
import me.chayapak1.chomens_bot.Bot;
|
import me.chayapak1.chomens_bot.Bot;
|
||||||
import me.chayapak1.chomens_bot.util.ComponentUtilities;
|
import me.chayapak1.chomens_bot.util.ComponentUtilities;
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package me.chayapak1.chomens_bot.data;
|
package me.chayapak1.chomens_bot.data;
|
||||||
|
|
||||||
import com.github.steveice10.mc.auth.data.GameProfile;
|
import org.geysermc.mcprotocollib.auth.GameProfile;
|
||||||
import com.github.steveice10.mc.protocol.data.game.PlayerListEntry;
|
import org.geysermc.mcprotocollib.protocol.data.game.PlayerListEntry;
|
||||||
import com.github.steveice10.mc.protocol.data.game.entity.player.GameMode;
|
import org.geysermc.mcprotocollib.protocol.data.game.entity.player.GameMode;
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
|
|
||||||
import java.security.PublicKey;
|
import java.security.PublicKey;
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package me.chayapak1.chomens_bot.data;
|
package me.chayapak1.chomens_bot.data;
|
||||||
|
|
||||||
import com.github.steveice10.mc.protocol.data.game.scoreboard.CollisionRule;
|
import org.geysermc.mcprotocollib.protocol.data.game.scoreboard.CollisionRule;
|
||||||
import com.github.steveice10.mc.protocol.data.game.scoreboard.NameTagVisibility;
|
import org.geysermc.mcprotocollib.protocol.data.game.scoreboard.NameTagVisibility;
|
||||||
import com.github.steveice10.mc.protocol.data.game.scoreboard.TeamColor;
|
import org.geysermc.mcprotocollib.protocol.data.game.scoreboard.TeamColor;
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
|
|
||||||
public class Team {
|
public class Team {
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
package me.chayapak1.chomens_bot.plugins;
|
package me.chayapak1.chomens_bot.plugins;
|
||||||
|
|
||||||
import com.github.steveice10.mc.protocol.data.game.BossBarColor;
|
import org.geysermc.mcprotocollib.network.Session;
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.clientbound.ClientboundBossEventPacket;
|
import org.geysermc.mcprotocollib.network.event.session.ConnectedEvent;
|
||||||
import com.github.steveice10.packetlib.Session;
|
import org.geysermc.mcprotocollib.network.event.session.DisconnectedEvent;
|
||||||
import com.github.steveice10.packetlib.event.session.ConnectedEvent;
|
import org.geysermc.mcprotocollib.network.packet.Packet;
|
||||||
import com.github.steveice10.packetlib.event.session.DisconnectedEvent;
|
import org.geysermc.mcprotocollib.protocol.data.game.BossBarColor;
|
||||||
import com.github.steveice10.packetlib.packet.Packet;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.clientbound.ClientboundBossEventPacket;
|
||||||
import me.chayapak1.chomens_bot.Bot;
|
import me.chayapak1.chomens_bot.Bot;
|
||||||
import me.chayapak1.chomens_bot.data.BossBar;
|
import me.chayapak1.chomens_bot.data.BossBar;
|
||||||
import me.chayapak1.chomens_bot.data.BotBossBar;
|
import me.chayapak1.chomens_bot.data.BotBossBar;
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
package me.chayapak1.chomens_bot.plugins;
|
package me.chayapak1.chomens_bot.plugins;
|
||||||
|
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.clientbound.ClientboundDisguisedChatPacket;
|
import org.geysermc.mcprotocollib.network.Session;
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.clientbound.ClientboundPlayerChatPacket;
|
import org.geysermc.mcprotocollib.network.packet.Packet;
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.clientbound.ClientboundSystemChatPacket;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.clientbound.ClientboundDisguisedChatPacket;
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.serverbound.ServerboundChatCommandPacket;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.clientbound.ClientboundPlayerChatPacket;
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.serverbound.ServerboundChatPacket;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.clientbound.ClientboundSystemChatPacket;
|
||||||
import com.github.steveice10.packetlib.Session;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.serverbound.ServerboundChatCommandPacket;
|
||||||
import com.github.steveice10.packetlib.packet.Packet;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.serverbound.ServerboundChatPacket;
|
||||||
import me.chayapak1.chomens_bot.Bot;
|
import me.chayapak1.chomens_bot.Bot;
|
||||||
import me.chayapak1.chomens_bot.chatParsers.CreayunChatParser;
|
import me.chayapak1.chomens_bot.chatParsers.CreayunChatParser;
|
||||||
import me.chayapak1.chomens_bot.chatParsers.KaboomChatParser;
|
import me.chayapak1.chomens_bot.chatParsers.KaboomChatParser;
|
||||||
|
@ -141,7 +141,7 @@ public class ChatPlugin extends Bot.Listener {
|
||||||
|
|
||||||
final Component unsignedContent = packet.getUnsignedContent();
|
final Component unsignedContent = packet.getUnsignedContent();
|
||||||
|
|
||||||
final String translation = getTranslationByChatType(packet.getChatType());
|
final String translation = getTranslationByChatType(packet.getChatType().id());
|
||||||
|
|
||||||
for (Listener listener : listeners) {
|
for (Listener listener : listeners) {
|
||||||
final boolean bool = listener.playerMessageReceived(playerMessage);
|
final boolean bool = listener.playerMessageReceived(playerMessage);
|
||||||
|
@ -152,13 +152,13 @@ public class ChatPlugin extends Bot.Listener {
|
||||||
TranslatableComponent component = Component.translatable(translation);
|
TranslatableComponent component = Component.translatable(translation);
|
||||||
|
|
||||||
if (translation.equals("chat.type.team.text") || translation.equals("chat.type.team.sent")) { // ohio
|
if (translation.equals("chat.type.team.text") || translation.equals("chat.type.team.sent")) { // ohio
|
||||||
component = component.args(
|
component = component.arguments(
|
||||||
Component.translatable("chat.square_brackets").args(bot.team.teamsByPlayer.get(bot.profile.getName()).displayName),
|
Component.translatable("chat.square_brackets").arguments(bot.team.teamsByPlayer.get(bot.profile.getName()).displayName),
|
||||||
playerMessage.displayName,
|
playerMessage.displayName,
|
||||||
playerMessage.contents
|
playerMessage.contents
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
component = component.args(playerMessage.displayName, playerMessage.contents);
|
component = component.arguments(playerMessage.displayName, playerMessage.contents);
|
||||||
}
|
}
|
||||||
|
|
||||||
final String string = ComponentUtilities.stringify(component);
|
final String string = ComponentUtilities.stringify(component);
|
||||||
|
@ -180,7 +180,7 @@ public class ChatPlugin extends Bot.Listener {
|
||||||
|
|
||||||
public void packetReceived (ClientboundDisguisedChatPacket packet) {
|
public void packetReceived (ClientboundDisguisedChatPacket packet) {
|
||||||
try {
|
try {
|
||||||
final String translation = getTranslationByChatType(packet.getChatType());
|
final String translation = getTranslationByChatType(packet.getChatType().id());
|
||||||
|
|
||||||
final Component component = packet.getMessage();
|
final Component component = packet.getMessage();
|
||||||
|
|
||||||
|
@ -198,13 +198,13 @@ public class ChatPlugin extends Bot.Listener {
|
||||||
TranslatableComponent translatableComponent = Component.translatable(translation);
|
TranslatableComponent translatableComponent = Component.translatable(translation);
|
||||||
|
|
||||||
if (translation.equals("chat.type.team.text") || translation.equals("chat.type.team.sent")) { // ohio
|
if (translation.equals("chat.type.team.text") || translation.equals("chat.type.team.sent")) { // ohio
|
||||||
translatableComponent = translatableComponent.args(
|
translatableComponent = translatableComponent.arguments(
|
||||||
Component.translatable("chat.square_brackets").args(bot.team.teamsByPlayer.get(bot.profile.getName()).displayName),
|
Component.translatable("chat.square_brackets").arguments(bot.team.teamsByPlayer.get(bot.profile.getName()).displayName),
|
||||||
name,
|
name,
|
||||||
content
|
content
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
translatableComponent = translatableComponent.args(name, content);
|
translatableComponent = translatableComponent.arguments(name, content);
|
||||||
}
|
}
|
||||||
|
|
||||||
final String string = ComponentUtilities.stringify(translatableComponent);
|
final String string = ComponentUtilities.stringify(translatableComponent);
|
||||||
|
@ -282,14 +282,7 @@ public class ChatPlugin extends Bot.Listener {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sendCommandInstantly (String command) {
|
public void sendCommandInstantly (String command) {
|
||||||
bot.session.send(new ServerboundChatCommandPacket(
|
bot.session.send(new ServerboundChatCommandPacket(command));
|
||||||
command,
|
|
||||||
Instant.now().toEpochMilli(),
|
|
||||||
0L,
|
|
||||||
Collections.emptyList(),
|
|
||||||
0,
|
|
||||||
new BitSet()
|
|
||||||
));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sendChatInstantly (String message) {
|
public void sendChatInstantly (String message) {
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
package me.chayapak1.chomens_bot.plugins;
|
package me.chayapak1.chomens_bot.plugins;
|
||||||
|
|
||||||
import me.chayapak1.chomens_bot.Bot;
|
import me.chayapak1.chomens_bot.Bot;
|
||||||
import land.chipmunk.chayapak.chomens_bot.command.*;
|
|
||||||
import land.chipmunk.chayapak.chomens_bot.commands.*;
|
|
||||||
import me.chayapak1.chomens_bot.command.*;
|
import me.chayapak1.chomens_bot.command.*;
|
||||||
import me.chayapak1.chomens_bot.commands.*;
|
import me.chayapak1.chomens_bot.commands.*;
|
||||||
import me.chayapak1.chomens_bot.util.ExceptionUtilities;
|
import me.chayapak1.chomens_bot.util.ExceptionUtilities;
|
||||||
|
|
|
@ -1,24 +1,26 @@
|
||||||
package me.chayapak1.chomens_bot.plugins;
|
package me.chayapak1.chomens_bot.plugins;
|
||||||
|
|
||||||
import com.github.steveice10.mc.protocol.data.game.entity.metadata.ItemStack;
|
import org.cloudburstmc.nbt.NbtMap;
|
||||||
import com.github.steveice10.mc.protocol.data.game.entity.object.Direction;
|
import org.cloudburstmc.nbt.NbtMapBuilder;
|
||||||
import com.github.steveice10.mc.protocol.data.game.entity.player.Hand;
|
import org.geysermc.mcprotocollib.network.Session;
|
||||||
import com.github.steveice10.mc.protocol.data.game.entity.player.PlayerAction;
|
import org.geysermc.mcprotocollib.network.event.session.DisconnectedEvent;
|
||||||
import com.github.steveice10.mc.protocol.data.game.level.block.BlockChangeEntry;
|
import org.geysermc.mcprotocollib.network.packet.Packet;
|
||||||
import com.github.steveice10.mc.protocol.data.game.level.block.CommandBlockMode;
|
import org.geysermc.mcprotocollib.protocol.data.game.entity.object.Direction;
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.clientbound.level.ClientboundBlockUpdatePacket;
|
import org.geysermc.mcprotocollib.protocol.data.game.entity.player.Hand;
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.clientbound.level.ClientboundLevelChunkWithLightPacket;
|
import org.geysermc.mcprotocollib.protocol.data.game.entity.player.PlayerAction;
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.clientbound.level.ClientboundSectionBlocksUpdatePacket;
|
import org.geysermc.mcprotocollib.protocol.data.game.item.ItemStack;
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.serverbound.inventory.ServerboundSetCommandBlockPacket;
|
import org.geysermc.mcprotocollib.protocol.data.game.item.component.DataComponent;
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.serverbound.inventory.ServerboundSetCreativeModeSlotPacket;
|
import org.geysermc.mcprotocollib.protocol.data.game.item.component.DataComponentType;
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.serverbound.player.ServerboundPlayerActionPacket;
|
import org.geysermc.mcprotocollib.protocol.data.game.item.component.DataComponents;
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.serverbound.player.ServerboundUseItemOnPacket;
|
import org.geysermc.mcprotocollib.protocol.data.game.level.block.BlockChangeEntry;
|
||||||
import com.github.steveice10.opennbt.tag.builtin.ByteTag;
|
import org.geysermc.mcprotocollib.protocol.data.game.level.block.CommandBlockMode;
|
||||||
import com.github.steveice10.opennbt.tag.builtin.CompoundTag;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.clientbound.level.ClientboundBlockUpdatePacket;
|
||||||
import com.github.steveice10.opennbt.tag.builtin.StringTag;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.clientbound.level.ClientboundLevelChunkWithLightPacket;
|
||||||
import com.github.steveice10.packetlib.Session;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.clientbound.level.ClientboundSectionBlocksUpdatePacket;
|
||||||
import com.github.steveice10.packetlib.event.session.DisconnectedEvent;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.serverbound.inventory.ServerboundSetCommandBlockPacket;
|
||||||
import com.github.steveice10.packetlib.packet.Packet;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.serverbound.inventory.ServerboundSetCreativeModeSlotPacket;
|
||||||
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.serverbound.player.ServerboundPlayerActionPacket;
|
||||||
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.serverbound.player.ServerboundUseItemOnPacket;
|
||||||
import me.chayapak1.chomens_bot.Bot;
|
import me.chayapak1.chomens_bot.Bot;
|
||||||
import me.chayapak1.chomens_bot.util.MathUtilities;
|
import me.chayapak1.chomens_bot.util.MathUtilities;
|
||||||
import net.kyori.adventure.text.BlockNBTComponent;
|
import net.kyori.adventure.text.BlockNBTComponent;
|
||||||
|
@ -179,7 +181,7 @@ public class CorePlugin extends PositionPlugin.Listener {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// thanks chipmunk for this new tellraw method :3
|
// thanks chipmunk for this new tellraw method
|
||||||
public CompletableFuture<Component> runTracked (String command) {
|
public CompletableFuture<Component> runTracked (String command) {
|
||||||
if (!bot.options.useCore) return null;
|
if (!bot.options.useCore) return null;
|
||||||
|
|
||||||
|
@ -248,13 +250,29 @@ public class CorePlugin extends PositionPlugin.Listener {
|
||||||
public void runPlaceBlock (String command) {
|
public void runPlaceBlock (String command) {
|
||||||
if (!ready || !bot.options.useCore) return;
|
if (!ready || !bot.options.useCore) return;
|
||||||
|
|
||||||
final CompoundTag tag = new CompoundTag("");
|
// final NbtMapBuilder tagBuilder = NbtMap.builder();
|
||||||
final CompoundTag blockEntityTag = new CompoundTag("BlockEntityTag");
|
|
||||||
blockEntityTag.put(new StringTag("Command", command));
|
final NbtMapBuilder blockEntityTagBuilder = NbtMap.builder();
|
||||||
blockEntityTag.put(new ByteTag("auto", (byte) 1));
|
|
||||||
blockEntityTag.put(new ByteTag("TrackOutput", (byte) 1));
|
blockEntityTagBuilder.putString("id", "minecraft:command_block");
|
||||||
blockEntityTag.put(new StringTag("CustomName", bot.config.core.customName));
|
blockEntityTagBuilder.putString("Command", command);
|
||||||
tag.put(blockEntityTag);
|
blockEntityTagBuilder.putByte("auto", (byte) 1);
|
||||||
|
blockEntityTagBuilder.putByte("TrackOutput", (byte) 1);
|
||||||
|
blockEntityTagBuilder.putString("CustomName", bot.config.core.customName);
|
||||||
|
|
||||||
|
final NbtMap blockEntityTag = blockEntityTagBuilder.build();
|
||||||
|
|
||||||
|
// tagBuilder.putCompound("BlockEntityTag", blockEntityTag);
|
||||||
|
|
||||||
|
// final NbtMap tag = tagBuilder.build();
|
||||||
|
|
||||||
|
final Map<DataComponentType<?>, DataComponent<?, ?>> map = new HashMap<>();
|
||||||
|
|
||||||
|
map.put(DataComponentType.BLOCK_ENTITY_DATA, DataComponentType.BLOCK_ENTITY_DATA.getDataComponentFactory().create(DataComponentType.BLOCK_ENTITY_DATA, blockEntityTag));
|
||||||
|
|
||||||
|
// map.put(DataComponentType.BLOCK_ENTITY_DATA, DataComponentType.BLOCK_ENTITY_DATA.getDataComponentFactory().create(DataComponentType.BLOCK_ENTITY_DATA, tag));
|
||||||
|
|
||||||
|
final DataComponents dataComponents = new DataComponents(map);
|
||||||
|
|
||||||
final Vector3i temporaryBlockPosition = Vector3i.from(
|
final Vector3i temporaryBlockPosition = Vector3i.from(
|
||||||
bot.position.position.getX(),
|
bot.position.position.getX(),
|
||||||
|
@ -265,13 +283,13 @@ public class CorePlugin extends PositionPlugin.Listener {
|
||||||
final Session session = bot.session;
|
final Session session = bot.session;
|
||||||
session.send(
|
session.send(
|
||||||
new ServerboundSetCreativeModeSlotPacket(
|
new ServerboundSetCreativeModeSlotPacket(
|
||||||
36,
|
(short) 36,
|
||||||
new ItemStack(
|
new ItemStack(
|
||||||
bot.serverPluginsManager.hasPlugin(ServerPluginsManagerPlugin.EXTRAS) ?
|
bot.serverPluginsManager.hasPlugin(ServerPluginsManagerPlugin.EXTRAS) ?
|
||||||
492 /* repeating command block id */ :
|
514 /* repeating command block id */ :
|
||||||
373 /* command block id */,
|
395 /* command block id */,
|
||||||
64,
|
64,
|
||||||
tag
|
dataComponents
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
package me.chayapak1.chomens_bot.plugins;
|
package me.chayapak1.chomens_bot.plugins;
|
||||||
|
|
||||||
import com.github.steveice10.packetlib.event.session.ConnectedEvent;
|
|
||||||
import com.github.steveice10.packetlib.event.session.DisconnectedEvent;
|
|
||||||
import me.chayapak1.chomens_bot.Bot;
|
import me.chayapak1.chomens_bot.Bot;
|
||||||
import me.chayapak1.chomens_bot.Configuration;
|
import me.chayapak1.chomens_bot.Configuration;
|
||||||
import me.chayapak1.chomens_bot.Main;
|
import me.chayapak1.chomens_bot.Main;
|
||||||
|
@ -26,6 +24,8 @@ import net.kyori.adventure.text.event.HoverEvent;
|
||||||
import net.kyori.adventure.text.format.NamedTextColor;
|
import net.kyori.adventure.text.format.NamedTextColor;
|
||||||
import net.kyori.adventure.text.format.TextColor;
|
import net.kyori.adventure.text.format.TextColor;
|
||||||
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
|
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
|
||||||
|
import org.geysermc.mcprotocollib.network.event.session.ConnectedEvent;
|
||||||
|
import org.geysermc.mcprotocollib.network.event.session.DisconnectedEvent;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
|
@ -167,7 +167,7 @@ public class DiscordPlugin {
|
||||||
// ignore my very very ohio code,..,,.
|
// ignore my very very ohio code,..,,.
|
||||||
|
|
||||||
Component attachmentsComponent = Component.empty();
|
Component attachmentsComponent = Component.empty();
|
||||||
if (messageEvent.getAttachments().size() > 0) {
|
if (!messageEvent.getAttachments().isEmpty()) {
|
||||||
attachmentsComponent = attachmentsComponent.append(Component.space());
|
attachmentsComponent = attachmentsComponent.append(Component.space());
|
||||||
for (Message.Attachment attachment : messageEvent.getAttachments()) {
|
for (Message.Attachment attachment : messageEvent.getAttachments()) {
|
||||||
attachmentsComponent = attachmentsComponent
|
attachmentsComponent = attachmentsComponent
|
||||||
|
@ -182,7 +182,7 @@ public class DiscordPlugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
Component embedsComponent = Component.empty();
|
Component embedsComponent = Component.empty();
|
||||||
if (messageEvent.getEmbeds().size() > 0) {
|
if (!messageEvent.getEmbeds().isEmpty()) {
|
||||||
if (messageEvent.getAttachments().isEmpty()) embedsComponent = embedsComponent.append(Component.space());
|
if (messageEvent.getAttachments().isEmpty()) embedsComponent = embedsComponent.append(Component.space());
|
||||||
for (MessageEmbed embed : messageEvent.getEmbeds()) {
|
for (MessageEmbed embed : messageEvent.getEmbeds()) {
|
||||||
final Component hoverEvent = Component.translatable(
|
final Component hoverEvent = Component.translatable(
|
||||||
|
@ -216,7 +216,7 @@ public class DiscordPlugin {
|
||||||
final List<Role> roles = member == null ? Collections.emptyList() : member.getRoles();
|
final List<Role> roles = member == null ? Collections.emptyList() : member.getRoles();
|
||||||
|
|
||||||
Component rolesComponent = Component.empty();
|
Component rolesComponent = Component.empty();
|
||||||
if (roles.size() > 0) {
|
if (!roles.isEmpty()) {
|
||||||
rolesComponent = rolesComponent
|
rolesComponent = rolesComponent
|
||||||
.append(Component.text("Roles:").color(NamedTextColor.GRAY))
|
.append(Component.text("Roles:").color(NamedTextColor.GRAY))
|
||||||
.append(Component.newline());
|
.append(Component.newline());
|
||||||
|
@ -356,7 +356,7 @@ public class DiscordPlugin {
|
||||||
|
|
||||||
public void onDiscordTick(String channelId) {
|
public void onDiscordTick(String channelId) {
|
||||||
synchronized (logMessages) {
|
synchronized (logMessages) {
|
||||||
if (!logMessages.containsKey(channelId) || logMessages.get(channelId).length() == 0) {
|
if (!logMessages.containsKey(channelId) || logMessages.get(channelId).isEmpty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,9 +6,11 @@ import me.chayapak1.chomens_bot.data.PlayerEntry;
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
import net.kyori.adventure.text.TextComponent;
|
import net.kyori.adventure.text.TextComponent;
|
||||||
import net.kyori.adventure.text.TranslatableComponent;
|
import net.kyori.adventure.text.TranslatableComponent;
|
||||||
|
import net.kyori.adventure.text.TranslationArgument;
|
||||||
import net.kyori.adventure.text.format.NamedTextColor;
|
import net.kyori.adventure.text.format.NamedTextColor;
|
||||||
import net.kyori.adventure.text.format.Style;
|
import net.kyori.adventure.text.format.Style;
|
||||||
import net.kyori.adventure.text.format.TextDecoration;
|
import net.kyori.adventure.text.format.TextDecoration;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -56,10 +58,10 @@ public class FormatCheckerPlugin extends ChatPlugin.Listener {
|
||||||
|
|
||||||
if (!(component instanceof TranslatableComponent format)) return false;
|
if (!(component instanceof TranslatableComponent format)) return false;
|
||||||
|
|
||||||
final List<Component> args = format.args();
|
final List<TranslationArgument> args = format.arguments();
|
||||||
if (args.size() < 3 || !format.key().equals("[%s] %s › %s")) return false;
|
if (args.size() < 3 || !format.key().equals("[%s] %s › %s")) return false;
|
||||||
|
|
||||||
final Component nameComponent = format.args().get(1);
|
final TranslationArgument nameComponent = format.arguments().get(1);
|
||||||
|
|
||||||
if (!(nameComponent instanceof TextComponent)) return false;
|
if (!(nameComponent instanceof TextComponent)) return false;
|
||||||
|
|
||||||
|
@ -67,7 +69,7 @@ public class FormatCheckerPlugin extends ChatPlugin.Listener {
|
||||||
|
|
||||||
if (!name.equals(bot.config.ownerName)) return false;
|
if (!name.equals(bot.config.ownerName)) return false;
|
||||||
|
|
||||||
final Component prefix = format.args().get(0);
|
final Component prefix = (Component) format.arguments().get(0);
|
||||||
|
|
||||||
if (
|
if (
|
||||||
((prefix instanceof TextComponent text) && text.content().equals(bot.username + " Console")) || // ohio
|
((prefix instanceof TextComponent text) && text.content().equals(bot.username + " Console")) || // ohio
|
||||||
|
@ -76,7 +78,7 @@ public class FormatCheckerPlugin extends ChatPlugin.Listener {
|
||||||
|
|
||||||
if (!(prefix instanceof TranslatableComponent translatablePrefix)) return true;
|
if (!(prefix instanceof TranslatableComponent translatablePrefix)) return true;
|
||||||
|
|
||||||
final Component userHash = translatablePrefix.args().get(0);
|
final TranslationArgument userHash = translatablePrefix.arguments().get(0);
|
||||||
|
|
||||||
if (userHash == null) return true;
|
if (userHash == null) return true;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package me.chayapak1.chomens_bot.plugins;
|
package me.chayapak1.chomens_bot.plugins;
|
||||||
|
|
||||||
import com.github.steveice10.packetlib.event.session.ConnectedEvent;
|
|
||||||
import me.chayapak1.chomens_bot.Bot;
|
import me.chayapak1.chomens_bot.Bot;
|
||||||
import me.chayapak1.chomens_bot.Configuration;
|
import me.chayapak1.chomens_bot.Configuration;
|
||||||
import me.chayapak1.chomens_bot.Main;
|
import me.chayapak1.chomens_bot.Main;
|
||||||
|
@ -11,6 +10,7 @@ import me.chayapak1.chomens_bot.irc.IRCMessageLoop;
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
import net.kyori.adventure.text.event.HoverEvent;
|
import net.kyori.adventure.text.event.HoverEvent;
|
||||||
import net.kyori.adventure.text.format.NamedTextColor;
|
import net.kyori.adventure.text.format.NamedTextColor;
|
||||||
|
import org.geysermc.mcprotocollib.network.event.session.ConnectedEvent;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
@ -31,6 +31,8 @@ public class IRCPlugin extends IRCMessageLoop {
|
||||||
|
|
||||||
this.servers = ircConfig.servers;
|
this.servers = ircConfig.servers;
|
||||||
|
|
||||||
|
if (!ircConfig.enabled) return;
|
||||||
|
|
||||||
nick(ircConfig.nickname);
|
nick(ircConfig.nickname);
|
||||||
user(ircConfig.username, ircConfig.hostName, ircConfig.serverName, ircConfig.realName);
|
user(ircConfig.username, ircConfig.hostName, ircConfig.serverName, ircConfig.realName);
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
package me.chayapak1.chomens_bot.plugins;
|
package me.chayapak1.chomens_bot.plugins;
|
||||||
|
|
||||||
import com.github.steveice10.packetlib.event.session.ConnectedEvent;
|
|
||||||
import com.github.steveice10.packetlib.event.session.DisconnectedEvent;
|
|
||||||
import me.chayapak1.chomens_bot.Bot;
|
import me.chayapak1.chomens_bot.Bot;
|
||||||
import me.chayapak1.chomens_bot.util.ComponentUtilities;
|
import me.chayapak1.chomens_bot.util.ComponentUtilities;
|
||||||
import me.chayapak1.chomens_bot.util.LoggerUtilities;
|
import me.chayapak1.chomens_bot.util.LoggerUtilities;
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
|
import org.geysermc.mcprotocollib.network.event.session.ConnectedEvent;
|
||||||
|
import org.geysermc.mcprotocollib.network.event.session.DisconnectedEvent;
|
||||||
|
|
||||||
public class LoggerPlugin extends ChatPlugin.Listener {
|
public class LoggerPlugin extends ChatPlugin.Listener {
|
||||||
private final Bot bot;
|
private final Bot bot;
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
package me.chayapak1.chomens_bot.plugins;
|
package me.chayapak1.chomens_bot.plugins;
|
||||||
|
|
||||||
import com.github.steveice10.mc.protocol.data.game.BossBarColor;
|
import org.geysermc.mcprotocollib.network.event.session.DisconnectedEvent;
|
||||||
import com.github.steveice10.mc.protocol.data.game.BossBarDivision;
|
import org.geysermc.mcprotocollib.protocol.data.game.BossBarColor;
|
||||||
import com.github.steveice10.packetlib.event.session.DisconnectedEvent;
|
import org.geysermc.mcprotocollib.protocol.data.game.BossBarDivision;
|
||||||
import me.chayapak1.chomens_bot.Bot;
|
import me.chayapak1.chomens_bot.Bot;
|
||||||
import me.chayapak1.chomens_bot.data.BotBossBar;
|
import me.chayapak1.chomens_bot.data.BotBossBar;
|
||||||
import me.chayapak1.chomens_bot.data.PlayerEntry;
|
import me.chayapak1.chomens_bot.data.PlayerEntry;
|
||||||
import land.chipmunk.chayapak.chomens_bot.song.*;
|
import me.chayapak1.chomens_bot.song.*;
|
||||||
import me.chayapak1.chomens_bot.song.*;
|
import me.chayapak1.chomens_bot.song.*;
|
||||||
import me.chayapak1.chomens_bot.util.ColorUtilities;
|
import me.chayapak1.chomens_bot.util.ColorUtilities;
|
||||||
import me.chayapak1.chomens_bot.util.MathUtilities;
|
import me.chayapak1.chomens_bot.util.MathUtilities;
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package me.chayapak1.chomens_bot.plugins;
|
package me.chayapak1.chomens_bot.plugins;
|
||||||
|
|
||||||
import com.github.steveice10.packetlib.Session;
|
|
||||||
import com.github.steveice10.packetlib.packet.Packet;
|
|
||||||
import me.chayapak1.chomens_bot.Bot;
|
import me.chayapak1.chomens_bot.Bot;
|
||||||
|
import org.geysermc.mcprotocollib.network.Session;
|
||||||
|
import org.geysermc.mcprotocollib.network.packet.Packet;
|
||||||
|
|
||||||
import java.io.BufferedWriter;
|
import java.io.BufferedWriter;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
package me.chayapak1.chomens_bot.plugins;
|
package me.chayapak1.chomens_bot.plugins;
|
||||||
|
|
||||||
import com.github.steveice10.mc.protocol.data.game.PlayerListEntry;
|
import org.geysermc.mcprotocollib.network.Session;
|
||||||
import com.github.steveice10.mc.protocol.data.game.PlayerListEntryAction;
|
import org.geysermc.mcprotocollib.network.event.session.DisconnectedEvent;
|
||||||
import com.github.steveice10.mc.protocol.data.game.entity.player.GameMode;
|
import org.geysermc.mcprotocollib.network.packet.Packet;
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.clientbound.ClientboundPlayerInfoRemovePacket;
|
import org.geysermc.mcprotocollib.protocol.data.game.PlayerListEntry;
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.clientbound.ClientboundPlayerInfoUpdatePacket;
|
import org.geysermc.mcprotocollib.protocol.data.game.PlayerListEntryAction;
|
||||||
import com.github.steveice10.packetlib.Session;
|
import org.geysermc.mcprotocollib.protocol.data.game.entity.player.GameMode;
|
||||||
import com.github.steveice10.packetlib.event.session.DisconnectedEvent;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.clientbound.ClientboundPlayerInfoRemovePacket;
|
||||||
import com.github.steveice10.packetlib.packet.Packet;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.clientbound.ClientboundPlayerInfoUpdatePacket;
|
||||||
import me.chayapak1.chomens_bot.Bot;
|
import me.chayapak1.chomens_bot.Bot;
|
||||||
import me.chayapak1.chomens_bot.data.PlayerEntry;
|
import me.chayapak1.chomens_bot.data.PlayerEntry;
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
package me.chayapak1.chomens_bot.plugins;
|
package me.chayapak1.chomens_bot.plugins;
|
||||||
|
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.clientbound.entity.ClientboundMoveEntityPosPacket;
|
import org.geysermc.mcprotocollib.network.Session;
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.clientbound.entity.ClientboundMoveEntityPosRotPacket;
|
import org.geysermc.mcprotocollib.network.packet.Packet;
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.clientbound.entity.ClientboundMoveEntityRotPacket;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.clientbound.entity.ClientboundMoveEntityPosPacket;
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.clientbound.entity.ClientboundRemoveEntitiesPacket;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.clientbound.entity.ClientboundMoveEntityPosRotPacket;
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.clientbound.entity.player.ClientboundPlayerPositionPacket;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.clientbound.entity.ClientboundMoveEntityRotPacket;
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.clientbound.entity.spawn.ClientboundAddEntityPacket;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.clientbound.entity.ClientboundRemoveEntitiesPacket;
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.serverbound.level.ServerboundAcceptTeleportationPacket;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.clientbound.entity.player.ClientboundPlayerPositionPacket;
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.serverbound.player.ServerboundMovePlayerPosPacket;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.clientbound.entity.spawn.ClientboundAddEntityPacket;
|
||||||
import com.github.steveice10.packetlib.Session;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.serverbound.level.ServerboundAcceptTeleportationPacket;
|
||||||
import com.github.steveice10.packetlib.packet.Packet;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.serverbound.player.ServerboundMovePlayerPosPacket;
|
||||||
import me.chayapak1.chomens_bot.Bot;
|
import me.chayapak1.chomens_bot.Bot;
|
||||||
import me.chayapak1.chomens_bot.data.Rotation;
|
import me.chayapak1.chomens_bot.data.Rotation;
|
||||||
import me.chayapak1.chomens_bot.data.PlayerEntry;
|
import me.chayapak1.chomens_bot.data.PlayerEntry;
|
||||||
|
|
|
@ -1,19 +1,19 @@
|
||||||
package me.chayapak1.chomens_bot.plugins;
|
package me.chayapak1.chomens_bot.plugins;
|
||||||
|
|
||||||
import com.github.steveice10.mc.protocol.data.game.ClientCommand;
|
import org.geysermc.mcprotocollib.network.Session;
|
||||||
import com.github.steveice10.mc.protocol.data.game.entity.EntityEvent;
|
import org.geysermc.mcprotocollib.network.event.session.DisconnectedEvent;
|
||||||
import com.github.steveice10.mc.protocol.data.game.entity.player.GameMode;
|
import org.geysermc.mcprotocollib.network.packet.Packet;
|
||||||
import com.github.steveice10.mc.protocol.data.game.level.notify.GameEvent;
|
import org.geysermc.mcprotocollib.protocol.data.game.ClientCommand;
|
||||||
import com.github.steveice10.mc.protocol.data.game.level.notify.GameEventValue;
|
import org.geysermc.mcprotocollib.protocol.data.game.entity.EntityEvent;
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.clientbound.ClientboundLoginPacket;
|
import org.geysermc.mcprotocollib.protocol.data.game.entity.player.GameMode;
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.clientbound.entity.ClientboundEntityEventPacket;
|
import org.geysermc.mcprotocollib.protocol.data.game.level.notify.GameEvent;
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.clientbound.inventory.ClientboundOpenScreenPacket;
|
import org.geysermc.mcprotocollib.protocol.data.game.level.notify.GameEventValue;
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.clientbound.level.ClientboundGameEventPacket;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.clientbound.ClientboundLoginPacket;
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.serverbound.ServerboundClientCommandPacket;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.clientbound.entity.ClientboundEntityEventPacket;
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.serverbound.inventory.ServerboundContainerClosePacket;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.clientbound.inventory.ClientboundOpenScreenPacket;
|
||||||
import com.github.steveice10.packetlib.Session;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.clientbound.level.ClientboundGameEventPacket;
|
||||||
import com.github.steveice10.packetlib.event.session.DisconnectedEvent;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.serverbound.ServerboundClientCommandPacket;
|
||||||
import com.github.steveice10.packetlib.packet.Packet;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.serverbound.inventory.ServerboundContainerClosePacket;
|
||||||
import me.chayapak1.chomens_bot.Bot;
|
import me.chayapak1.chomens_bot.Bot;
|
||||||
import me.chayapak1.chomens_bot.Configuration;
|
import me.chayapak1.chomens_bot.Configuration;
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package me.chayapak1.chomens_bot.plugins;
|
package me.chayapak1.chomens_bot.plugins;
|
||||||
|
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.clientbound.ClientboundCommandSuggestionsPacket;
|
import org.geysermc.mcprotocollib.network.event.session.ConnectedEvent;
|
||||||
import com.github.steveice10.packetlib.event.session.ConnectedEvent;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.clientbound.ClientboundCommandSuggestionsPacket;
|
||||||
import me.chayapak1.chomens_bot.Bot;
|
import me.chayapak1.chomens_bot.Bot;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
package me.chayapak1.chomens_bot.plugins;
|
package me.chayapak1.chomens_bot.plugins;
|
||||||
|
|
||||||
import com.github.steveice10.mc.protocol.data.game.BossBarColor;
|
import org.geysermc.mcprotocollib.network.Session;
|
||||||
import com.github.steveice10.mc.protocol.data.game.BossBarDivision;
|
import org.geysermc.mcprotocollib.network.packet.Packet;
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.clientbound.ClientboundLoginPacket;
|
import org.geysermc.mcprotocollib.protocol.data.game.BossBarColor;
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.clientbound.level.ClientboundSetTimePacket;
|
import org.geysermc.mcprotocollib.protocol.data.game.BossBarDivision;
|
||||||
import com.github.steveice10.packetlib.Session;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.clientbound.ClientboundLoginPacket;
|
||||||
import com.github.steveice10.packetlib.packet.Packet;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.clientbound.level.ClientboundSetTimePacket;
|
||||||
import me.chayapak1.chomens_bot.Bot;
|
import me.chayapak1.chomens_bot.Bot;
|
||||||
import me.chayapak1.chomens_bot.data.BotBossBar;
|
import me.chayapak1.chomens_bot.data.BotBossBar;
|
||||||
import me.chayapak1.chomens_bot.util.MathUtilities;
|
import me.chayapak1.chomens_bot.util.MathUtilities;
|
||||||
|
@ -141,7 +141,7 @@ public class TPSPlugin extends Bot.Listener {
|
||||||
float sumTickRates = 0.0f;
|
float sumTickRates = 0.0f;
|
||||||
for (double tickRate : tickRates) {
|
for (double tickRate : tickRates) {
|
||||||
if (tickRate > 0) {
|
if (tickRate > 0) {
|
||||||
sumTickRates += tickRate;
|
sumTickRates += (float) tickRate;
|
||||||
numTicks++;
|
numTicks++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
package me.chayapak1.chomens_bot.plugins;
|
package me.chayapak1.chomens_bot.plugins;
|
||||||
|
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.clientbound.ClientboundCommandSuggestionsPacket;
|
import org.geysermc.mcprotocollib.network.Session;
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.serverbound.ServerboundCommandSuggestionPacket;
|
import org.geysermc.mcprotocollib.network.packet.Packet;
|
||||||
import com.github.steveice10.packetlib.Session;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.clientbound.ClientboundCommandSuggestionsPacket;
|
||||||
import com.github.steveice10.packetlib.packet.Packet;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.serverbound.ServerboundCommandSuggestionPacket;
|
||||||
import me.chayapak1.chomens_bot.Bot;
|
import me.chayapak1.chomens_bot.Bot;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package me.chayapak1.chomens_bot.plugins;
|
package me.chayapak1.chomens_bot.plugins;
|
||||||
|
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.clientbound.scoreboard.ClientboundSetPlayerTeamPacket;
|
import org.geysermc.mcprotocollib.network.Session;
|
||||||
import com.github.steveice10.packetlib.Session;
|
import org.geysermc.mcprotocollib.network.packet.Packet;
|
||||||
import com.github.steveice10.packetlib.packet.Packet;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.clientbound.scoreboard.ClientboundSetPlayerTeamPacket;
|
||||||
import me.chayapak1.chomens_bot.Bot;
|
import me.chayapak1.chomens_bot.Bot;
|
||||||
import me.chayapak1.chomens_bot.data.Team;
|
import me.chayapak1.chomens_bot.data.Team;
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
package me.chayapak1.chomens_bot.plugins;
|
package me.chayapak1.chomens_bot.plugins;
|
||||||
|
|
||||||
import com.github.steveice10.mc.protocol.packet.common.clientbound.ClientboundCustomPayloadPacket;
|
import net.kyori.adventure.key.Key;
|
||||||
import com.github.steveice10.mc.protocol.packet.common.serverbound.ServerboundCustomPayloadPacket;
|
import org.geysermc.mcprotocollib.network.Session;
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.clientbound.ClientboundLoginPacket;
|
import org.geysermc.mcprotocollib.network.event.session.DisconnectedEvent;
|
||||||
import com.github.steveice10.packetlib.Session;
|
import org.geysermc.mcprotocollib.network.packet.Packet;
|
||||||
import com.github.steveice10.packetlib.event.session.DisconnectedEvent;
|
import org.geysermc.mcprotocollib.protocol.packet.common.clientbound.ClientboundCustomPayloadPacket;
|
||||||
import com.github.steveice10.packetlib.packet.Packet;
|
import org.geysermc.mcprotocollib.protocol.packet.common.serverbound.ServerboundCustomPayloadPacket;
|
||||||
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.clientbound.ClientboundLoginPacket;
|
||||||
import io.netty.buffer.Unpooled;
|
import io.netty.buffer.Unpooled;
|
||||||
import me.chayapak1.chomens_bot.Bot;
|
import me.chayapak1.chomens_bot.Bot;
|
||||||
import me.chayapak1.chomens_bot.data.voiceChat.ClientGroup;
|
import me.chayapak1.chomens_bot.data.voiceChat.ClientGroup;
|
||||||
|
@ -15,7 +16,7 @@ import me.chayapak1.chomens_bot.voiceChat.InitializationData;
|
||||||
import me.chayapak1.chomens_bot.voiceChat.NetworkMessage;
|
import me.chayapak1.chomens_bot.voiceChat.NetworkMessage;
|
||||||
import me.chayapak1.chomens_bot.voiceChat.customPayload.JoinGroupPacket;
|
import me.chayapak1.chomens_bot.voiceChat.customPayload.JoinGroupPacket;
|
||||||
import me.chayapak1.chomens_bot.voiceChat.customPayload.SecretPacket;
|
import me.chayapak1.chomens_bot.voiceChat.customPayload.SecretPacket;
|
||||||
import land.chipmunk.chayapak.chomens_bot.voiceChat.packets.*;
|
import me.chayapak1.chomens_bot.voiceChat.packets.*;
|
||||||
import me.chayapak1.chomens_bot.voiceChat.packets.*;
|
import me.chayapak1.chomens_bot.voiceChat.packets.*;
|
||||||
|
|
||||||
import java.net.*;
|
import java.net.*;
|
||||||
|
@ -51,17 +52,17 @@ public class VoiceChatPlugin extends Bot.Listener {
|
||||||
public void packetReceived(ClientboundLoginPacket ignored) {
|
public void packetReceived(ClientboundLoginPacket ignored) {
|
||||||
// totally didn't use a real minecraft client with voicechat mod to get this
|
// totally didn't use a real minecraft client with voicechat mod to get this
|
||||||
bot.session.send(new ServerboundCustomPayloadPacket(
|
bot.session.send(new ServerboundCustomPayloadPacket(
|
||||||
"minecraft:brand",
|
Key.key("minecraft:brand"),
|
||||||
"\u0006fabric".getBytes() // should i use fabric here?
|
"\u0006fabric".getBytes() // should i use fabric here?
|
||||||
));
|
));
|
||||||
|
|
||||||
bot.session.send(new ServerboundCustomPayloadPacket(
|
bot.session.send(new ServerboundCustomPayloadPacket(
|
||||||
"voicechat:request_secret",
|
Key.key("voicechat:request_secret"),
|
||||||
new FriendlyByteBuf(Unpooled.buffer()).writeInt(17).array()
|
new FriendlyByteBuf(Unpooled.buffer()).writeInt(17).array()
|
||||||
));
|
));
|
||||||
|
|
||||||
bot.session.send(new ServerboundCustomPayloadPacket(
|
bot.session.send(new ServerboundCustomPayloadPacket(
|
||||||
"voicechat:update_state",
|
Key.key("voicechat:update_state"),
|
||||||
new FriendlyByteBuf(Unpooled.buffer()).writeBoolean(false).array()
|
new FriendlyByteBuf(Unpooled.buffer()).writeBoolean(false).array()
|
||||||
));
|
));
|
||||||
|
|
||||||
|
@ -69,7 +70,7 @@ public class VoiceChatPlugin extends Bot.Listener {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void packetReceived(ClientboundCustomPayloadPacket _packet) {
|
public void packetReceived(ClientboundCustomPayloadPacket _packet) {
|
||||||
if (_packet.getChannel().equals("voicechat:secret")) { // fard
|
if (_packet.getChannel().equals(Key.key("voicechat:secret"))) { // fard
|
||||||
final byte[] bytes = _packet.getData();
|
final byte[] bytes = _packet.getData();
|
||||||
final FriendlyByteBuf buf = new FriendlyByteBuf(Unpooled.wrappedBuffer(bytes));
|
final FriendlyByteBuf buf = new FriendlyByteBuf(Unpooled.wrappedBuffer(bytes));
|
||||||
|
|
||||||
|
@ -112,14 +113,14 @@ public class VoiceChatPlugin extends Bot.Listener {
|
||||||
|
|
||||||
thread.setName("Simple Voice Chat Thread");
|
thread.setName("Simple Voice Chat Thread");
|
||||||
thread.start();
|
thread.start();
|
||||||
} else if (_packet.getChannel().equals("voicechat:add_group")) {
|
} else if (_packet.getChannel().equals(Key.key("voicechat:add_group"))) {
|
||||||
final byte[] bytes = _packet.getData();
|
final byte[] bytes = _packet.getData();
|
||||||
final FriendlyByteBuf buf = new FriendlyByteBuf(Unpooled.wrappedBuffer(bytes));
|
final FriendlyByteBuf buf = new FriendlyByteBuf(Unpooled.wrappedBuffer(bytes));
|
||||||
|
|
||||||
final ClientGroup group = ClientGroup.fromBytes(buf);
|
final ClientGroup group = ClientGroup.fromBytes(buf);
|
||||||
|
|
||||||
groups.add(group);
|
groups.add(group);
|
||||||
} else if (_packet.getChannel().equals("voicechat:remove_group")) {
|
} else if (_packet.getChannel().equals(Key.key("voicechat:remove_group"))) {
|
||||||
final byte[] bytes = _packet.getData();
|
final byte[] bytes = _packet.getData();
|
||||||
final FriendlyByteBuf buf = new FriendlyByteBuf(Unpooled.wrappedBuffer(bytes));
|
final FriendlyByteBuf buf = new FriendlyByteBuf(Unpooled.wrappedBuffer(bytes));
|
||||||
|
|
||||||
|
@ -144,7 +145,7 @@ public class VoiceChatPlugin extends Bot.Listener {
|
||||||
new JoinGroupPacket(clientGroup.id(), password).toBytes(buf);
|
new JoinGroupPacket(clientGroup.id(), password).toBytes(buf);
|
||||||
|
|
||||||
bot.session.send(new ServerboundCustomPayloadPacket(
|
bot.session.send(new ServerboundCustomPayloadPacket(
|
||||||
"voicechat:set_group",
|
Key.key("voicechat:set_group"),
|
||||||
buf.array()
|
buf.array()
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,11 @@
|
||||||
package me.chayapak1.chomens_bot.plugins;
|
package me.chayapak1.chomens_bot.plugins;
|
||||||
|
|
||||||
import com.github.steveice10.mc.protocol.packet.configuration.clientbound.ClientboundRegistryDataPacket;
|
import net.kyori.adventure.key.Key;
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.clientbound.ClientboundLoginPacket;
|
import org.geysermc.mcprotocollib.network.Session;
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.clientbound.ClientboundRespawnPacket;
|
import org.geysermc.mcprotocollib.network.packet.Packet;
|
||||||
import com.github.steveice10.opennbt.tag.builtin.CompoundTag;
|
import org.geysermc.mcprotocollib.protocol.packet.configuration.clientbound.ClientboundRegistryDataPacket;
|
||||||
import com.github.steveice10.opennbt.tag.builtin.Tag;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.clientbound.ClientboundLoginPacket;
|
||||||
import com.github.steveice10.packetlib.Session;
|
import org.geysermc.mcprotocollib.protocol.packet.ingame.clientbound.ClientboundRespawnPacket;
|
||||||
import com.github.steveice10.packetlib.packet.Packet;
|
|
||||||
import me.chayapak1.chomens_bot.Bot;
|
import me.chayapak1.chomens_bot.Bot;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -19,7 +18,7 @@ public class WorldPlugin extends Bot.Listener {
|
||||||
public int minY = 0;
|
public int minY = 0;
|
||||||
public int maxY = 256;
|
public int maxY = 256;
|
||||||
|
|
||||||
public CompoundTag registry = null;
|
public Key registry = null;
|
||||||
|
|
||||||
private final List<Listener> listeners = new ArrayList<>();
|
private final List<Listener> listeners = new ArrayList<>();
|
||||||
|
|
||||||
|
@ -36,22 +35,25 @@ public class WorldPlugin extends Bot.Listener {
|
||||||
else if (packet instanceof ClientboundRegistryDataPacket) packetReceived((ClientboundRegistryDataPacket) packet);
|
else if (packet instanceof ClientboundRegistryDataPacket) packetReceived((ClientboundRegistryDataPacket) packet);
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
// @SuppressWarnings("unchecked")
|
||||||
private void worldChanged (String dimension) {
|
private void worldChanged (int dimension) {
|
||||||
final Tag dimensionType = ((LinkedHashMap<String, Tag>) registry.get("minecraft:dimension_type").getValue()).get("value");
|
// FIXME
|
||||||
|
bot.logger.info(registry.value());
|
||||||
final ArrayList<CompoundTag> dimensions = (ArrayList<CompoundTag>) dimensionType.getValue();
|
bot.logger.info(registry.toString());
|
||||||
|
// final Key dimensionType = ((LinkedHashMap<String, Key>) registry.get("minecraft:dimension_type").asString()).get("value");
|
||||||
final CompoundTag currentDimension = dimensions.stream()
|
//
|
||||||
.filter((eachDimension) -> eachDimension.get("name").getValue().equals(dimension))
|
// final ArrayList<Key> dimensions = (ArrayList<Key>) dimensionType.asString();
|
||||||
.toArray(CompoundTag[]::new)[0];
|
//
|
||||||
|
// final Key currentDimension = dimensions.stream()
|
||||||
final CompoundTag element = currentDimension.get("element");
|
// .filter((eachDimension) -> eachDimension.get("name").getValue().equals(dimension))
|
||||||
|
// .toArray(Key[]::new)[0];
|
||||||
minY = (int) element.get("min_y").getValue();
|
//
|
||||||
maxY = (int) element.get("height").getValue();
|
// final Key element = currentDimension.get("element");
|
||||||
|
//
|
||||||
for (Listener listener : listeners) listener.worldChanged(dimension);
|
// minY = (int) element.get("min_y").getValue();
|
||||||
|
// maxY = (int) element.get("height").getValue();
|
||||||
|
//
|
||||||
|
// for (Listener listener : listeners) listener.worldChanged(dimension);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void packetReceived (ClientboundRegistryDataPacket packet) {
|
public void packetReceived (ClientboundRegistryDataPacket packet) {
|
||||||
|
|
|
@ -11,7 +11,7 @@ import java.util.*;
|
||||||
import static javax.sound.midi.ShortMessage.SYSTEM_RESET;
|
import static javax.sound.midi.ShortMessage.SYSTEM_RESET;
|
||||||
|
|
||||||
// Author: hhhzzzsss
|
// Author: hhhzzzsss
|
||||||
// i modified this and some codes are stolen from https://github.com/RaphiMC/NoteBlockLib so thanks to them uwu
|
// i modified this and some codes are stolen from https://github.com/RaphiMC/NoteBlockLib so thanks to them
|
||||||
public class MidiConverter implements Converter {
|
public class MidiConverter implements Converter {
|
||||||
public static final int TEXT = 0x01;
|
public static final int TEXT = 0x01;
|
||||||
public static final int TRACK_NAME = 0x03;
|
public static final int TRACK_NAME = 0x03;
|
||||||
|
|
|
@ -283,16 +283,16 @@ public class ComponentUtilities {
|
||||||
} else {
|
} else {
|
||||||
String idxStr = matcher.group(1);
|
String idxStr = matcher.group(1);
|
||||||
int idx = idxStr == null ? i++ : (Integer.parseInt(idxStr) - 1);
|
int idx = idxStr == null ? i++ : (Integer.parseInt(idxStr) - 1);
|
||||||
if (idx >= 0 && idx < message.args().size()) {
|
if (idx >= 0 && idx < message.arguments().size()) {
|
||||||
matcher.appendReplacement(
|
matcher.appendReplacement(
|
||||||
sb,
|
sb,
|
||||||
Matcher.quoteReplacement(
|
Matcher.quoteReplacement(
|
||||||
motd ?
|
motd ?
|
||||||
stringifyMotd(message.args().get(idx)) + color :
|
stringifyMotd(message.arguments().get(idx).asComponent()) + color :
|
||||||
(
|
(
|
||||||
ansi ?
|
ansi ?
|
||||||
stringifyAnsi(message.args().get(idx)) + color :
|
stringifyAnsi(message.arguments().get(idx).asComponent()) + color :
|
||||||
stringify(message.args().get(idx))
|
stringify(message.arguments().get(idx).asComponent())
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
package me.chayapak1.chomens_bot.util;
|
package me.chayapak1.chomens_bot.util;
|
||||||
|
|
||||||
import com.github.steveice10.opennbt.tag.builtin.IntArrayTag;
|
import org.cloudburstmc.nbt.NbtMap;
|
||||||
|
import org.cloudburstmc.nbt.NbtMapBuilder;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
|
|
||||||
|
@ -19,8 +21,12 @@ public class UUIDUtilities {
|
||||||
return intArray;
|
return intArray;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static IntArrayTag tag (UUID uuid) {
|
public static NbtMap tag (UUID uuid) {
|
||||||
return new IntArrayTag("", intArray(uuid));
|
final NbtMapBuilder builder = NbtMap.builder();
|
||||||
|
|
||||||
|
builder.putIntArray("", intArray(uuid));
|
||||||
|
|
||||||
|
return builder.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String snbt (UUID uuid) {
|
public static String snbt (UUID uuid) {
|
||||||
|
|
|
@ -4,7 +4,7 @@ import io.netty.buffer.Unpooled;
|
||||||
import me.chayapak1.chomens_bot.data.voiceChat.RawUdpPacket;
|
import me.chayapak1.chomens_bot.data.voiceChat.RawUdpPacket;
|
||||||
import me.chayapak1.chomens_bot.util.AESUtilities;
|
import me.chayapak1.chomens_bot.util.AESUtilities;
|
||||||
import me.chayapak1.chomens_bot.util.FriendlyByteBuf;
|
import me.chayapak1.chomens_bot.util.FriendlyByteBuf;
|
||||||
import land.chipmunk.chayapak.chomens_bot.voiceChat.packets.*;
|
import me.chayapak1.chomens_bot.voiceChat.packets.*;
|
||||||
import me.chayapak1.chomens_bot.voiceChat.packets.*;
|
import me.chayapak1.chomens_bot.voiceChat.packets.*;
|
||||||
|
|
||||||
import javax.crypto.BadPaddingException;
|
import javax.crypto.BadPaddingException;
|
||||||
|
|
|
@ -48,7 +48,7 @@ irc:
|
||||||
localhost:25565: '#chomens-localhost' # channel name
|
localhost:25565: '#chomens-localhost' # channel name
|
||||||
|
|
||||||
music:
|
music:
|
||||||
URLRatelimit:
|
urlRatelimit:
|
||||||
seconds: 15
|
seconds: 15
|
||||||
limit: 7
|
limit: 7
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue