Skip to content

Commit

Permalink
reflection magic untested fix for creative items
Browse files Browse the repository at this point in the history
  • Loading branch information
mcmonkey4eva committed Jul 26, 2015
1 parent 00fbe2d commit c6f6562
Showing 1 changed file with 15 additions and 5 deletions.
Expand Up @@ -15,6 +15,7 @@
import org.bukkit.event.player.PlayerJoinEvent;

import java.lang.reflect.Field;
import java.util.List;
import java.util.Map;

public class DenizenPacketListener extends AbstractListenerPlayIn {
Expand All @@ -36,13 +37,19 @@ public void a(PacketPlayInSetCreativeSlot packet) {
if (tag.hasKey("Denizen Item Script")) {
NBTTagCompound display = tag.getCompound("display");
NBTTagList nbtLore = display.hasKey("Lore") ? (NBTTagList) display.get("Lore") : new NBTTagList();
if (nbtLore.size() > 0) {
nbtLore.a(0, new NBTTagString(tag.getString("Denizen Item Script")));
try {
if (nbtLore.size() == 0) {
nbtLore.add(new NBTTagString(tag.getString("Denizen Item Script")));
}
else {
List<NBTBase> list = (List<NBTBase>) nbttaglist_list.get(nbtLore);
list.add(0, new NBTTagString(tag.getString("Denizen Item Script")));
}
display.set("Lore", nbtLore);
}
else {
nbtLore.add(new NBTTagString(tag.getString("Denizen Item Script")));
catch (IllegalAccessException e) {
dB.echoError(e);
}
display.set("Lore", nbtLore);
tag.set("display", display);
itemStack.setTag(tag);
}
Expand Down Expand Up @@ -87,10 +94,13 @@ public void onPlayerJoin(PlayerJoinEvent event) {
///////////

private static final Field resource_pack_hash, resource_pack_status;
private static final Field nbttaglist_list;

static {
Map<String, Field> fields = PacketHelper.registerFields(PacketPlayInResourcePackStatus.class);
resource_pack_hash = fields.get("a");
resource_pack_status = fields.get("b");
fields = PacketHelper.registerFields(NBTTagList.class);
nbttaglist_list = fields.get("list");
}
}

0 comments on commit c6f6562

Please sign in to comment.