Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void sendSignEdit(Player player, String... lines) {
- BlockPosition position = new BlockPosition(100, 100, 100);
- PacketContainer blockPacket = manager.createPacket(PacketType.Play.Server.BLOCK_CHANGE);
- blockPacket.getBlockPositionModifier().write(0, position);
- blockPacket.getBlockData().write(0, WrappedBlockData.createData(Material.SIGN_POST));
- PacketContainer dataPacket = manager.createPacket(PacketType.Play.Server.TILE_ENTITY_DATA);
- dataPacket.getBlockPositionModifier().write(0, position);
- dataPacket.getIntegers().write(0, 9);
- try {
- WrappedChatComponent[] components = new WrappedChatComponent[4];
- for (int i = 0; i < 4; i++) {
- components[i] = WrappedChatComponent.fromText(lines[i]);
- }
- blockPacket.getChatComponentArrays().write(0, components);
- } catch (FieldAccessException e) {
- //Sign already has text?
- }
- PacketContainer editorPacket = manager.createPacket(PacketType.Play.Server.OPEN_SIGN_EDITOR);
- editorPacket.getBlockPositionModifier().write(0, position);
- try {
- manager.sendServerPacket(player, blockPacket);
- manager.sendServerPacket(player, dataPacket);
- manager.sendServerPacket(player, editorPacket);
- } catch (InvocationTargetException e) {
- e.printStackTrace();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment