Skip to content

Commit

Permalink
Added semi-support for 1.15
Browse files Browse the repository at this point in the history
  • Loading branch information
Jacxk committed Mar 25, 2020
1 parent f2b40e4 commit 89b85d6
Showing 1 changed file with 72 additions and 0 deletions.
72 changes: 72 additions & 0 deletions src/main/java/me/jackint0sh/timedfly/versions/v1_15/v1_15_R1.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
package me.jackint0sh.timedfly.versions.v1_15;

import me.jackint0sh.timedfly.utilities.MessageUtil;
import me.jackint0sh.timedfly.versions.ServerVersion;
import net.minecraft.server.v1_15_R1.*;
import net.minecraft.server.v1_15_R1.IChatBaseComponent.ChatSerializer;
import net.minecraft.server.v1_15_R1.PacketPlayOutTitle.EnumTitleAction;
import org.bukkit.craftbukkit.v1_15_R1.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_15_R1.inventory.CraftItemStack;
import org.bukkit.entity.Player;

public class v1_15_R1 extends ServerVersion {

public v1_15_R1() {
serverVersion = this;
}

@Override
public void sendActionBar(Player player, String text) {
IChatBaseComponent chatBaseComponent = ChatSerializer.a("{\"text\": \"" + MessageUtil.color(text) + "\"}");
PacketPlayOutChat bar = new PacketPlayOutChat(chatBaseComponent, ChatMessageType.GAME_INFO);

((CraftPlayer) player).getHandle().playerConnection.sendPacket(bar);
}

@Override
public void sendTitle(Player player, String title, String subtitle) {
this.sendTitle(player, title, subtitle, 0, 5 * 20, 0);
}

@Override
public void sendTitle(Player player, String title, String subtile, int fadeIn, int stay, int fadeOut) {
IChatBaseComponent chatTitle = ChatSerializer.a("{\"text\": \"" + MessageUtil.color(title) + "\",\"color\":\"white\"}");
IChatBaseComponent chatSubTitle = ChatSerializer.a("{\"text\": \"" + MessageUtil.color(subtile) + "\",\"color\":\"white\"}");

PacketPlayOutTitle packetTitle = new PacketPlayOutTitle(EnumTitleAction.TITLE, chatTitle);
PacketPlayOutTitle packetSubtitle = new PacketPlayOutTitle(EnumTitleAction.SUBTITLE, chatSubTitle);
PacketPlayOutTitle length = new PacketPlayOutTitle(fadeIn, stay, fadeOut);

((CraftPlayer) player).getHandle().playerConnection.sendPacket(packetTitle);
((CraftPlayer) player).getHandle().playerConnection.sendPacket(packetSubtitle);
((CraftPlayer) player).getHandle().playerConnection.sendPacket(length);
}

@Override
public org.bukkit.inventory.ItemStack setNBT(org.bukkit.inventory.ItemStack itemStack, String key, String value) {
ItemStack stack = CraftItemStack.asNMSCopy(itemStack);
NBTTagCompound tag = stack.getTag() != null ? stack.getTag() : new NBTTagCompound();

tag.setString(key, value);
stack.setTag(tag);

return CraftItemStack.asCraftMirror(stack);
}

@Override
public boolean hasTag(org.bukkit.inventory.ItemStack itemStack, String key) {
ItemStack stack = CraftItemStack.asNMSCopy(itemStack);
NBTTagCompound tag = stack.getTag();

if (tag == null) return false;
return !tag.getString(key).isEmpty();
}

@Override
public String getTag(org.bukkit.inventory.ItemStack itemStack, String key) {
ItemStack stack = CraftItemStack.asNMSCopy(itemStack);
NBTTagCompound tag = stack.getTag();
if (tag == null) return null;
return tag.getString(key);
}
}

0 comments on commit 89b85d6

Please sign in to comment.