Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Save New Duplicate & Edit Just Text
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- package me.tvhee.simplepackets;
- import com.mojang.authlib.GameProfile;
- import java.util.UUID;
- import me.tvhee.simplepackets.handler.PacketHandler;
- import me.tvhee.simplepackets.handler.SimplePacket;
- import me.tvhee.simplereflection.MCReflectionUtil;
- import me.tvhee.simplereflection.Reflection;
- import me.tvhee.simplereflection.ReflectionUtil;
- import net.minecraft.network.chat.IChatBaseComponent;
- import net.minecraft.network.protocol.status.PacketStatusOutServerInfo;
- import org.bukkit.Bukkit;
- import org.bukkit.craftbukkit.v1_19_R1.util.CraftChatMessage;
- public class MyPluginsMain //Extends....
- {
- private final SimplePackets simplePackets = new SimplePackets();
- public void onLoad()
- {
- simplePackets.onPluginLoad();
- }
- public void onEnable()
- {
- simplePackets.onPluginEnable(this);
- simplePackets.addHandler(new PacketHandler(this)
- {
- @Override
- public void onSend(SimplePacket packet)
- {
- if(!packet.getPacketName().equals("PacketStatusOutServerInfo"))
- return;
- Class<?> serverPing = MCReflectionUtil.getClass("{nms}.ServerPing", "{nms}.network.protocol.status.ServerPing");
- Class<?> serverPingPlayerSample = MCReflectionUtil.getClass("{nms}.ServerPing$ServerPingPlayerSample", "{nms}.network.protocol.status.ServerPing$ServerPingPlayerSample");
- Class<?> serverPingServerData = MCReflectionUtil.getClass("{nms}.ServerPing$ServerData", "{nms}.network.protocol.status.ServerPing$ServerData");
- Class<?> iChatBaseComponent = MCReflectionUtil.getClass("{nms}.IChatBaseComponent", "{nms}.network.chat.IChatBaseComponent");
- Class<?> craftChatMessage = MCReflectionUtil.getBukkitClass("{obc}.util.CraftChatMessage");
- Reflection craftChatMessageReflected = new Reflection(craftChatMessage);
- Reflection serverPingReflected = new Reflection(packet.getPacketReflected().field(serverPing));
- //Motd
- String motd = craftChatMessageReflected.method("fromComponent", serverPingReflected.field(iChatBaseComponent)).object();
- serverPingReflected.field(iChatBaseComponent, craftChatMessageReflected.method("toJson", "My Awesome MOTD here").object());
- //Player sample
- Reflection playerSampleReflected = serverPingReflected.field(serverPingPlayerSample);
- int maxPlayers = playerSampleReflected.field(1, int.class).object();
- int onlinePlayers = playerSampleReflected.field(2, int.class).object();
- GameProfile[] hover = playerSampleReflected.field(GameProfile[].class).object(); //Most likely empty
- playerSampleReflected.field(1, int.class, 5); //5 Max players
- playerSampleReflected.field(2, int.class, 6); //6 Online players
- GameProfile[] newHover = new GameProfile[2];
- newHover[0] = new GameProfile(UUID.randomUUID(), "My hover line 1");
- newHover[1] = new GameProfile(UUID.randomUUID(), "My hover line 2");
- playerSampleReflected.field(GameProfile[].class, newHover);
- //Server data
- Reflection serverDataReflected = serverPingReflected.field(serverPingServerData);
- String protocolNotSupportedLine = serverDataReflected.field(String.class).object();
- int protocolVersion = serverDataReflected.field(int.class).object();
- serverDataReflected.field(String.class, "My protocol not supported");
- serverDataReflected.field(int.class, 1); //To make above message visible
- //Favicon
- String faviconEncoded = serverPingReflected.field(String.class).object();
- serverPingReflected.field(String.class, new Reflection(Bukkit.loadServerIcon(serverIconFile)).field(String.class));
- }
- @Override
- public void onReceive(SimplePacket packet)
- {
- }
- });
- }
- public void onDisable()
- {
- simplePackets.onPluginDisable();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement