mirror of https://github.com/LOOHP/Limbo.git
Merge pull request #37 from GamerDuck123/master
Added Title and Sub Title support
This commit is contained in:
commit
fa11c0d3b6
|
|
@ -6,4 +6,9 @@
|
|||
target/
|
||||
|
||||
# Mac OS
|
||||
.DS_Store
|
||||
.DS_Store
|
||||
|
||||
# Eclipse
|
||||
.classpath
|
||||
.project
|
||||
.settings/
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
# IntelliJ IDEA
|
||||
*.iml
|
||||
.idea/
|
||||
|
||||
# Maven
|
||||
target/
|
||||
|
||||
# Mac OS
|
||||
.DS_Store
|
||||
|
|
@ -21,6 +21,9 @@ import com.loohp.limbo.server.packets.PacketPlayOutPlayerListHeaderFooter;
|
|||
import com.loohp.limbo.server.packets.PacketPlayOutPositionAndLook;
|
||||
import com.loohp.limbo.server.packets.PacketPlayOutResourcePackSend;
|
||||
import com.loohp.limbo.server.packets.PacketPlayOutRespawn;
|
||||
import com.loohp.limbo.server.packets.PacketPlayOutSetTitleSubTitleText;
|
||||
import com.loohp.limbo.server.packets.PacketPlayOutSetTitleText;
|
||||
import com.loohp.limbo.server.packets.PacketPlayOutSetTitleTimes;
|
||||
import com.loohp.limbo.utils.GameMode;
|
||||
|
||||
import net.md_5.bungee.api.ChatColor;
|
||||
|
|
@ -308,4 +311,61 @@ public class Player extends LivingEntity implements CommandSender {
|
|||
setPlayerListHeaderFooter(header == null ? EMPTY_CHAT_COMPONENT : new BaseComponent[] {new TextComponent(header)}, footer == null ? EMPTY_CHAT_COMPONENT : new BaseComponent[] {new TextComponent(footer)});
|
||||
}
|
||||
|
||||
public void setTitle(BaseComponent[] title) {
|
||||
try {
|
||||
PacketPlayOutSetTitleText setTitle = new PacketPlayOutSetTitleText(title == null ? EMPTY_CHAT_COMPONENT : title);
|
||||
clientConnection.sendPacket(setTitle);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void setTitle(BaseComponent title) {
|
||||
setTitle(title == null ? EMPTY_CHAT_COMPONENT : new BaseComponent[] {title});
|
||||
}
|
||||
|
||||
public void setTitle(String title) {
|
||||
setTitle(title == null ? EMPTY_CHAT_COMPONENT : new BaseComponent[] {new TextComponent(title)});
|
||||
}
|
||||
|
||||
public void setSubTitle(BaseComponent[] subTitle) {
|
||||
try {
|
||||
PacketPlayOutSetTitleSubTitleText setSubTitle = new PacketPlayOutSetTitleSubTitleText(subTitle == null ? EMPTY_CHAT_COMPONENT : subTitle);
|
||||
clientConnection.sendPacket(setSubTitle);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void setSubTitle(BaseComponent subTitle) {
|
||||
setSubTitle(subTitle == null ? EMPTY_CHAT_COMPONENT : new BaseComponent[] {subTitle});
|
||||
}
|
||||
|
||||
public void setSubTitle(String subTitle) {
|
||||
setSubTitle(subTitle == null ? EMPTY_CHAT_COMPONENT : new BaseComponent[] {new TextComponent(subTitle)});
|
||||
}
|
||||
|
||||
public void setTitleTimer(Integer fadeIn, Integer stay, Integer fadeOut) {
|
||||
try {
|
||||
PacketPlayOutSetTitleTimes setTitleTimes = new PacketPlayOutSetTitleTimes(fadeIn, stay, fadeOut);
|
||||
clientConnection.sendPacket(setTitleTimes);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void setTitleSubTitle(BaseComponent[] title, BaseComponent[] subTitle, Integer fadeIn, Integer stay, Integer fadeOut) {
|
||||
setTitleTimer(fadeIn, stay, fadeOut);
|
||||
setTitle(title);
|
||||
setSubTitle(subTitle);
|
||||
}
|
||||
|
||||
public void setTitleSubTitle(BaseComponent title, BaseComponent subTitle, Integer fadeIn, Integer stay, Integer fadeOut) {
|
||||
setTitleSubTitle(new BaseComponent[] {title}, new BaseComponent[] {subTitle}, fadeIn, stay, fadeOut);
|
||||
}
|
||||
|
||||
public void setTitleSubTitle(String title, String subTitle, Integer fadeIn, Integer stay, Integer fadeOut) {
|
||||
setTitleSubTitle(new BaseComponent[] {new TextComponent(title)}, new BaseComponent[] {new TextComponent(subTitle)}, fadeIn, stay, fadeOut);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,35 @@
|
|||
package com.loohp.limbo.server.packets;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.DataOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
||||
import com.loohp.limbo.utils.DataTypeIO;
|
||||
|
||||
import net.md_5.bungee.api.chat.BaseComponent;
|
||||
import net.md_5.bungee.chat.ComponentSerializer;
|
||||
|
||||
public class PacketPlayOutSetTitleSubTitleText extends PacketOut {
|
||||
private BaseComponent[] subTitle;
|
||||
|
||||
public PacketPlayOutSetTitleSubTitleText(BaseComponent[] subTitle) {
|
||||
this.subTitle = subTitle;
|
||||
}
|
||||
|
||||
public BaseComponent[] getSubTitle() {
|
||||
return subTitle;
|
||||
}
|
||||
|
||||
@Override
|
||||
public byte[] serializePacket() throws IOException {
|
||||
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
|
||||
|
||||
DataOutputStream output = new DataOutputStream(buffer);
|
||||
output.writeByte(Packet.getPlayOut().get(getClass()));
|
||||
DataTypeIO.writeString(output, ComponentSerializer.toString(subTitle), StandardCharsets.UTF_8);
|
||||
|
||||
return buffer.toByteArray();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
package com.loohp.limbo.server.packets;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.DataOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
||||
import com.loohp.limbo.utils.DataTypeIO;
|
||||
|
||||
import net.md_5.bungee.api.chat.BaseComponent;
|
||||
import net.md_5.bungee.chat.ComponentSerializer;
|
||||
|
||||
public class PacketPlayOutSetTitleText extends PacketOut {
|
||||
|
||||
private BaseComponent[] titleText;
|
||||
|
||||
public PacketPlayOutSetTitleText(BaseComponent[] titleText) {
|
||||
this.titleText = titleText;
|
||||
}
|
||||
|
||||
public BaseComponent[] getTitle() {
|
||||
return titleText;
|
||||
}
|
||||
|
||||
@Override
|
||||
public byte[] serializePacket() throws IOException {
|
||||
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
|
||||
|
||||
DataOutputStream output = new DataOutputStream(buffer);
|
||||
output.writeByte(Packet.getPlayOut().get(getClass()));
|
||||
DataTypeIO.writeString(output, ComponentSerializer.toString(titleText), StandardCharsets.UTF_8);
|
||||
|
||||
return buffer.toByteArray();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
package com.loohp.limbo.server.packets;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.DataOutputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
public class PacketPlayOutSetTitleTimes extends PacketOut {
|
||||
|
||||
private Integer fadeIn;
|
||||
private Integer stay;
|
||||
private Integer fadeOut;
|
||||
|
||||
public PacketPlayOutSetTitleTimes(Integer fadeIn, Integer stay, Integer fadeOut) {
|
||||
this.fadeIn = fadeIn;
|
||||
this.stay = stay;
|
||||
this.fadeOut = fadeOut;
|
||||
}
|
||||
|
||||
public Integer getFadeIn() {
|
||||
return fadeIn;
|
||||
}
|
||||
|
||||
public Integer getStay() {
|
||||
return stay;
|
||||
}
|
||||
|
||||
public Integer getFadeOut() {
|
||||
return fadeOut;
|
||||
}
|
||||
|
||||
@Override
|
||||
public byte[] serializePacket() throws IOException {
|
||||
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
|
||||
|
||||
DataOutputStream output = new DataOutputStream(buffer);
|
||||
output.writeByte(Packet.getPlayOut().get(getClass()));
|
||||
|
||||
output.writeInt(fadeIn);
|
||||
output.writeInt(stay);
|
||||
output.writeInt(fadeOut);
|
||||
|
||||
return buffer.toByteArray();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -45,7 +45,10 @@
|
|||
"PacketPlayOutSpawnEntityLiving": "0x02",
|
||||
"PacketPlayOutHeldItemChange": "0x48",
|
||||
"PacketPlayOutPlayerListHeaderFooter": "0x5F",
|
||||
"PacketPlayOutResourcePackSend": "0x3C"
|
||||
"PacketPlayOutResourcePackSend": "0x3C",
|
||||
"PacketPlayOutSetTitleTimes": "0x5B",
|
||||
"PacketPlayOutSetTitleText": "0x5A",
|
||||
"PacketPlayOutSetTitleSubTitleText": "0x58"
|
||||
},
|
||||
"StatusIn": {
|
||||
"0x01": "PacketStatusInPing",
|
||||
|
|
|
|||
Loading…
Reference in New Issue