Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import lombok.SneakyThrows;
- import net.kyori.adventure.text.Component;
- import net.minecraft.server.v1_16_R3.*;
- import org.bukkit.Bukkit;
- import org.bukkit.Material;
- import org.bukkit.Server;
- import org.bukkit.craftbukkit.v1_16_R3.entity.CraftPlayer;
- import org.bukkit.entity.Player;
- import java.lang.reflect.Constructor;
- import java.lang.reflect.Field;
- import java.lang.reflect.InvocationTargetException;
- import java.lang.reflect.Method;
- public class UpdateTittleContainers {
- @SneakyThrows
- public static void update(Player p, String title, Material container, int inventorySize) {
- Containers<?> inventoryType = null;
- EntityPlayer ep = ((CraftPlayer) p).getHandle();
- IChatBaseComponent icbc = IChatBaseComponent.ChatSerializer.b("'" + title + "'");
- if (container == Material.HOPPER)
- inventoryType = Containers.HOPPER;
- if (container == Material.CHEST)
- inventoryType = inventorySize == 9 ? Containers.GENERIC_9X1 : inventorySize == 9 * 2 ?
- Containers.GENERIC_9X2 : inventorySize == 9 * 3 ? Containers.GENERIC_9X3 : inventorySize == 9 * 4 ?
- Containers.GENERIC_9X4 : inventorySize == 9 * 5 ? Containers.GENERIC_9X5 : null;
- if (inventoryType != null) {
- PacketPlayOutOpenWindow packet = new PacketPlayOutOpenWindow(ep.activeContainer.windowId, inventoryType, icbc);
- ep.playerConnection.sendPacket((Packet<?>) packet);
- ep.updateInventory(ep.activeContainer);
- }
- versionCheck(Bukkit.getServer(), p);
- }
- public static void versionCheck(Server server, Player p) {
- String version = server.getVersion();
- int start = version.indexOf("MC: ") + 4;
- int end = version.length() - 1;
- System.out.println(version.substring(start, end));
- System.out.println(Bukkit.getServer().getClass().getPackageName().split("\\.")[3]);
- String title = "Testar";
- try {
- EntityPlayer ep = ((CraftPlayer) p).getHandle();
- IChatBaseComponent icbc = IChatBaseComponent.ChatSerializer.b("'" + title + "'");
- Class<?> exemple = Class.forName("net.minecraft.server.v1_16_R3.Containers");
- Class<?> exemplee = Class.forName("net.minecraft.server.v1_16_R3.Container");
- Class<?> tests1 = Class.forName("net.minecraft.server.v1_16_R3.IChatBaseComponent");
- Class<?> tests = Class.forName("net.minecraft.server.v1_16_R3.PacketPlayOutOpenWindow");
- Class<?> tests155 = Class.forName("net.minecraft.server.v1_16_R3.EntityPlayer");
- Class<?> testshuman = Class.forName("net.minecraft.server.v1_16_R3.EntityHuman");
- Method testcat = tests1.getDeclaredMethod("b", IChatBaseComponent.a.class);
- testcat.invoke("'" + title + "'", Component.text("test "));
- Object inventoryTypee;
- inventoryTypee = exemple.getDeclaredField("HOPPER").get("HOPPER");
- Constructor<?> tesst = tests.getDeclaredConstructor(int.class, exemple, tests1);
- //System.out.println(tests155.getModifiers());
- //Object windowId = tests155.getDeclaredField("activeContainer");
- Method testings = tests155.getDeclaredMethod("b", Entity.class);
- Object objekt = testings.invoke(((CraftPlayer) p).getHandle(), ((CraftPlayer) p).getHandle());
- Field windos = exemplee.getDeclaredField("windowId");
- Object methods = tesst.newInstance(25, inventoryTypee, icbc);
- System.out.println("windows " + windos.getInt("windowId") + " " + objekt);
- PacketPlayOutOpenWindow packet = new PacketPlayOutOpenWindow(ep.activeContainer.windowId, (Containers<?>) inventoryTypee, icbc);
- ep.playerConnection.sendPacket((Packet<?>) methods);
- ep.updateInventory(ep.activeContainer);
- System.out.println(inventoryTypee);
- //System.out.println(Arrays.toString(new String[]{exemple.getDeclaredField("GENERIC_9X1").toString()}));
- } catch (ClassNotFoundException | NoSuchFieldException | IllegalAccessException | NoSuchMethodException | InstantiationException | InvocationTargetException e) {
- e.printStackTrace();
- }
- }
- }
Add Comment
Please, Sign In to add comment