use of net.minecraft.server.v1_14_R1.Item in project powerbot by powerbot.
the class TicketDestroy method poll.
@Override
public void poll() {
if (ctx.properties.getProperty("key.token.disable", "").equals("true")) {
// TODO: review this random event
return;
}
final Item item = ctx.backpack.select().id(Constants.TICKETDESTROY_ITEMS).poll();
if (!item.valid() || !ctx.hud.opened(Hud.Window.BACKPACK) || !ctx.players.local().idle()) {
priority.set(0);
return;
}
priority.set(3);
if (!ctx.backpack.scroll(item)) {
return;
}
if (((ctx.varpbits.varpbit(1448) & 0xFF00) >>> 8) < (item.id() == Constants.TICKETDESTROY_ITEMS[0] ? 10 : 9)) {
item.interact("Claim");
return;
}
if (!item.interact("Destroy")) {
return;
}
final Widget widget = ctx.widgets.widget(1183);
if (!Condition.wait(new Condition.Check() {
@Override
public boolean poll() {
return widget.valid();
}
})) {
return;
}
Component component = null;
for (final Component c : widget.components()) {
if (c.visible() && c.tooltip().trim().equalsIgnoreCase("destroy")) {
component = c;
break;
}
}
if (component != null && component.interact("Destroy")) {
Condition.wait(new Condition.Check() {
@Override
public boolean poll() {
return item.component().itemId() == -1;
}
}, 175);
}
}
use of net.minecraft.server.v1_14_R1.Item in project Ublisk by Derkades.
the class Item method setNBTValue.
public Item setNBTValue(final String key, final NBTBase value) {
final NBTTagCompound nbt = this.getNBT();
nbt.set(key, value);
return this.setNBT(nbt);
}
use of net.minecraft.server.v1_14_R1.Item in project CokesAddon by Cokes86.
the class v1_14_R1 method injectPlayer.
public void injectPlayer(Player player) {
CraftPlayer player1 = (CraftPlayer) player;
if (!player.isValid())
return;
if (channelHandlers.containsKey(player.getUniqueId())) {
final Pair<CraftPlayer, ChannelOutboundHandlerAdapter> pair = channelHandlers.get(player.getUniqueId());
if (!pair.getLeft().isValid()) {
try {
pair.getLeft().getHandle().playerConnection.networkManager.channel.pipeline().remove(pair.getRight());
} catch (NoSuchElementException ignored) {
}
} else
return;
}
final ChannelOutboundHandlerAdapter handler = new ChannelOutboundHandlerAdapter() {
@Override
public void write(ChannelHandlerContext ctx, Object packet, ChannelPromise promise) throws Exception {
if (packet instanceof PacketPlayOutEntityEquipment) {
if ((int) ReflectionUtil.FieldUtil.getValue(packet, "a") == getPlayer().getEntityId()) {
ReflectionUtil.FieldUtil.setValue(packet, "c", ItemStack.a);
}
} else if (packet instanceof PacketPlayOutEntityMetadata) {
if ((int) ReflectionUtil.FieldUtil.getValue(packet, "a") == getPlayer().getEntityId()) {
List<Item<?>> items = ReflectionUtil.FieldUtil.getValue(packet, "b");
if (items.size() != 0) {
Item<?> item = items.get(0);
if (BYTE_DATA_WATCHER_OBJECT.equals(item.a())) {
Item<Byte> byteItem = (Item<Byte>) item;
byteItem.a((byte) (byteItem.b() | 1 << 5));
((CraftPlayer) getPlayer()).getHandle().setInvisible(true);
}
}
}
}
super.write(ctx, packet, promise);
}
};
channelHandlers.put(player.getUniqueId(), Pair.of(player1, handler));
player1.getHandle().playerConnection.networkManager.channel.pipeline().addBefore("packet_handler", hashCode() + ":" + player.getName(), handler);
}
use of net.minecraft.server.v1_14_R1.Item in project PublicCrafters by BananaPuncher714.
the class CustomInventoryCrafting method remove.
@Override
public void remove() {
display.stop();
for (ItemStack item : items) {
org.bukkit.inventory.ItemStack is = CraftItemStack.asBukkitCopy(item);
if (is.getType() != Material.AIR) {
bloc.getWorld().dropItem(bloc.clone().add(.5, .9, .5), is);
}
}
items.clear();
}
use of net.minecraft.server.v1_14_R1.Item in project MechanicsMain by WeaponMechanics.
the class NonNullList_1_13_R2 method set.
@Override
public ItemStack set(int index, ItemStack newItem) {
ItemStack oldItem = get(index);
Item item = (Item) ReflectionUtil.invokeField(itemField, newItem);
if (newItem.getCount() == 0 && item != null) {
newItem.setCount(1);
consumer.accept(CraftItemStack.asBukkitCopy(oldItem), CraftItemStack.asBukkitCopy(newItem), index);
newItem.setCount(0);
} else if (!ItemStack.matches(oldItem, newItem)) {
consumer.accept(CraftItemStack.asBukkitCopy(oldItem), CraftItemStack.asBukkitCopy(newItem), index);
}
return super.set(index, newItem);
}
Aggregations