Fixes, two new features.

Fixed the new Follow pathfinder goals.
Added new optional syntax to NBTListIndex.
Removed unused code in NBTOf.
Added new NMS Method: makeClientSay.
Added ClientChat effect.
Added ResourcePackSound effect (1.9).
This commit is contained in:
TheBukor
2016-03-22 21:17:36 -03:00
parent b9ccb09eed
commit 7d938de291
11 changed files with 72 additions and 44 deletions

View File

@@ -4,6 +4,7 @@ import java.io.File;
import org.bukkit.block.Block;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
public interface NMSInterface {
@@ -57,4 +58,6 @@ public interface NMSInterface {
public String getMCId(ItemStack itemStack);
public ItemStack getItemFromMcId(String mcId);
void makeClientSay(String msg, Player p);
}

View File

@@ -22,7 +22,9 @@ import org.bukkit.block.Block;
import org.bukkit.craftbukkit.v1_7_R4.CraftWorld;
import org.bukkit.craftbukkit.v1_7_R4.entity.CraftEntity;
import org.bukkit.craftbukkit.v1_7_R4.inventory.CraftItemStack;
import org.bukkit.craftbukkit.v1_7_R4.entity.CraftPlayer;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import ch.njol.skript.Skript;
@@ -49,7 +51,7 @@ import net.minecraft.server.v1_7_R4.NBTTagShort;
import net.minecraft.server.v1_7_R4.NBTTagString;
import net.minecraft.server.v1_7_R4.TileEntity;
import net.minecraft.server.v1_7_R4.World;
import net.minecraft.server.v1_9_R1.MinecraftKey;
import net.minecraft.server.v1_7_R4.PacketPlayInChat;
public class NMS_v1_7_R4 implements NMSInterface {
@@ -358,8 +360,10 @@ public class NMS_v1_7_R4 implements NMSInterface {
public NBTTagCompound getItemNBT(ItemStack itemStack) {
if (itemStack == null || itemStack.getType() == Material.AIR)
return null;
NBTTagCompound NBT = CraftItemStack.asNMSCopy(itemStack).getTag();
return NBT;
NBTTagCompound itemNBT = CraftItemStack.asNMSCopy(itemStack).getTag();
if (itemNBT == null || itemNBT.isEmpty())
itemNBT = null;
return itemNBT;
}
@Override
@@ -488,8 +492,12 @@ public class NMS_v1_7_R4 implements NMSInterface {
@Override
public ItemStack getItemFromMcId(String mcId) {
MinecraftKey mcKey = new MinecraftKey(mcId);
Item nmsItem = (Item) Item.REGISTRY.get(mcKey);
return CraftItemStack.asNewCraftStack(nmsItem);
return null; //Not supported in 1.7
}
@Override
public void makeClientSay(String msg, Player p) {
PacketPlayInChat chatPacket = new PacketPlayInChat(msg);
((CraftPlayer) p).getHandle().playerConnection.a(chatPacket);
}
}

View File

@@ -19,7 +19,9 @@ import org.bukkit.block.Block;
import org.bukkit.craftbukkit.v1_8_R3.CraftWorld;
import org.bukkit.craftbukkit.v1_8_R3.entity.CraftEntity;
import org.bukkit.craftbukkit.v1_8_R3.inventory.CraftItemStack;
import org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import ch.njol.skript.Skript;
@@ -52,6 +54,7 @@ import net.minecraft.server.v1_8_R3.PathfinderGoal;
import net.minecraft.server.v1_8_R3.PathfinderGoalSelector;
import net.minecraft.server.v1_8_R3.TileEntity;
import net.minecraft.server.v1_8_R3.World;
import net.minecraft.server.v1_8_R3.PacketPlayInChat;
public class NMS_v1_8_R3 implements NMSInterface {
@@ -409,6 +412,8 @@ public class NMS_v1_8_R3 implements NMSInterface {
if (itemStack == null || itemStack.getType() == Material.AIR)
return null;
NBTTagCompound itemNBT = CraftItemStack.asNMSCopy(itemStack).getTag();
if (itemNBT == null || itemNBT.isEmpty())
itemNBT = null;
return itemNBT;
}
@@ -531,4 +536,10 @@ public class NMS_v1_8_R3 implements NMSInterface {
Item nmsItem = (Item) Item.REGISTRY.get(mcKey);
return CraftItemStack.asNewCraftStack(nmsItem);
}
@Override
public void makeClientSay(String msg, Player p) {
PacketPlayInChat chatPacket = new PacketPlayInChat(msg);
((CraftPlayer) p).getHandle().playerConnection.a(chatPacket);
}
}

View File

@@ -18,8 +18,10 @@ import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.craftbukkit.v1_9_R1.CraftWorld;
import org.bukkit.craftbukkit.v1_9_R1.entity.CraftEntity;
import org.bukkit.craftbukkit.v1_9_R1.entity.CraftPlayer;
import org.bukkit.craftbukkit.v1_9_R1.inventory.CraftItemStack;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import ch.njol.skript.Skript;
@@ -49,6 +51,7 @@ import net.minecraft.server.v1_9_R1.NBTTagList;
import net.minecraft.server.v1_9_R1.NBTTagLong;
import net.minecraft.server.v1_9_R1.NBTTagShort;
import net.minecraft.server.v1_9_R1.NBTTagString;
import net.minecraft.server.v1_9_R1.PacketPlayInChat;
import net.minecraft.server.v1_9_R1.PathfinderGoal;
import net.minecraft.server.v1_9_R1.PathfinderGoalSelector;
import net.minecraft.server.v1_9_R1.TileEntity;
@@ -410,7 +413,7 @@ public class NMS_v1_9_R1 implements NMSInterface {
if (itemStack == null || itemStack.getType() == Material.AIR)
return null;
NBTTagCompound itemNBT = CraftItemStack.asNMSCopy(itemStack).getTag();
if (itemNBT.isEmpty())
if (itemNBT == null || itemNBT.isEmpty())
itemNBT = null;
return itemNBT;
}
@@ -536,4 +539,10 @@ public class NMS_v1_9_R1 implements NMSInterface {
Item nmsItem = (Item) Item.REGISTRY.get(mcKey);
return CraftItemStack.asNewCraftStack(nmsItem);
}
@Override
public void makeClientSay(String msg, Player p) {
PacketPlayInChat chatPacket = new PacketPlayInChat(msg);
((CraftPlayer) p).getHandle().playerConnection.a(chatPacket);
}
}