@Override public final void setRawData(byte data) { getData().setData(data); }
@Override public void load(GlowEnderman entity, CompoundTag compound) { super.load(entity, compound); // Load carried block. May be saved as a String or short ID. // If the id is 0 or AIR, it is ignored. compound.tryGetMaterial("carried") .map(MaterialData::new) .ifPresent(carried -> { compound.readShort("carriedData", data -> carried.setData((byte) data)); entity.setCarriedMaterial(carried); }); }
@Override public void placeBlock(GlowPlayer player, GlowBlockState state, BlockFace face, ItemStack holding, Vector clickedLoc) { super.placeBlock(player, state, face, holding, clickedLoc); // No Tree2 MaterialData MaterialData data = state.getData(); data.setData(setTree(face, (byte) holding.getDurability())); state.setData(data); }
@Override public void updatePhysicsAfterEvent(GlowBlock me) { super.updatePhysicsAfterEvent(me); GlowBlock up = me.getRelative(BlockFace.UP); boolean powered = me.isBlockPowered() || me.isBlockIndirectlyPowered() || up.isBlockPowered() || up.isBlockIndirectlyPowered(); GlowBlockState state = me.getState(); MaterialData data = state.getData(); if (!(data instanceof Dispenser)) { return; } boolean isTriggered = (data.getData() >> 3 & 1) != 0; if (powered && !isTriggered) { new BukkitRunnable() { @Override public void run() { trigger(me); } }.runTaskLater(null, 4); // TODO replace this with dispenser materialdata class (as soon as it provides access to // this property) data.setData((byte) (data.getData() | 0x8)); state.update(); } else if (!powered && isTriggered) { data.setData((byte) (data.getData() & ~0x8)); state.update(); } }
data.setData(newDirectionData);
public static void setData_MaterialData(MaterialData md, byte data) { md.setData(data); }
@Nullable @Deprecated @Override public org.bukkit.material.MaterialData getMaterialData() { if (item == null) return null; org.bukkit.material.MaterialData materialData = item.getData(); materialData.setData((byte)item.getDurability()); return materialData; }
@SuppressWarnings("deprecation") public static Material fromLegacy(org.bukkit.material.MaterialData materialData) { if (class_UnsafeValues_fromLegacyDataMethod != null) { try { Material converted = (Material)class_UnsafeValues_fromLegacyDataMethod.invoke(DeprecatedUtils.getUnsafe(), materialData); if (converted == Material.AIR) { materialData.setData((byte)0); converted = (Material)class_UnsafeValues_fromLegacyDataMethod.invoke(DeprecatedUtils.getUnsafe(), materialData); } return converted; } catch (Exception ex) { ex.printStackTrace(); } } return materialData.getItemType(); }
public static ItemStack loadItemStack(DataKey root) { Material material = null; if (root.keyExists("type_key")) { NamespacedKey key = new NamespacedKey(root.getString("type_namespace"), root.getString("type_key")); material = Material.getMaterial(key.getKey().toUpperCase(), false); } else { String raw = root.getString("type", root.getString("id")); if (raw == null || raw.length() == 0) { return null; } material = SpigotUtil.isUsing1_13API() ? Material.matchMaterial(raw, true) : Material.matchMaterial(raw); } if (material == null || material == Material.AIR) { return null; } ItemStack res = new ItemStack(material, root.getInt("amount"), (short) (root.getInt("durability", root.getInt("data", 0)))); if (root.keyExists("mdata") && res.getData() != null) { res.getData().setData((byte) root.getInt("mdata")); // TODO: what to migrate to? } if (root.keyExists("enchantments")) { Map<Enchantment, Integer> enchantments = deserialiseEnchantments(root.getRelative("enchantments"), res); res.addEnchantments(enchantments); } deserialiseMeta(root.getRelative("meta"), res); return res; }
if (ingredient != null) { MaterialData data = ingredient.getData(); if (ingredient.getData().getData() < 0) data.setData((byte) 0); ingredient = data.toItemStack(ingredient.getAmount()); if (ingredient != null) { MaterialData data = ingredient.getData(); if (ingredient.getData().getData() < 0) data.setData((byte) 0); ingredient = data.toItemStack(ingredient.getAmount()); if (ingredient != null) { MaterialData data = ingredient.getData(); if (ingredient.getData().getData() < 0) data.setData((byte) 0); ingredient = data.toItemStack(ingredient.getAmount());