/** * Creates an instance by copying from the given {@link ItemMeta}. If that item is another * {@link FireworkMeta}, its effects and power are copied; otherwise, the new firework has no * effects and zero power. * @param meta the {@link ItemMeta} to copy */ public GlowMetaFirework(ItemMeta meta) { super(meta); if (!(meta instanceof FireworkMeta)) { return; } FireworkMeta firework = (FireworkMeta) meta; effects.addAll(firework instanceof GlowMetaFirework ? ((GlowMetaFirework) firework).effects : firework.getEffects()); power = firework.getPower(); }
@Override public void setFireworkMeta(FireworkMeta fireworkMeta) { if (fireworkMeta == null) { return; } ItemStack item = getFireworkItem(); item.setItemMeta(fireworkMeta.clone()); setFireworkItem(item); this.lifeTime = calculateLifeTime(fireworkMeta.getPower()); }
/** * Creates an instance. * * @param location the location * @param spawningEntity TODO: document this parameter * @param boostedEntity TODO: document this parameter * @param item the firework rocket as an item */ public GlowFirework(Location location, UUID spawningEntity, LivingEntity boostedEntity, ItemStack item) { super(location); this.spawningEntity = spawningEntity; setBoostedEntity(boostedEntity); setSize(0.25f, 0.25f); ThreadLocalRandom random = ThreadLocalRandom.current(); setVelocity(new Vector(random.nextGaussian() * 0.001, 0.05, random.nextGaussian() * 0.001)); setFireworkItem(item); int power = getFireworkMeta().getPower(); lifeTime = calculateLifeTime(power); }
@Override public int getStrength() { return fm.getPower(); }
/** * Get the power for a firework(s) item (stack). * * @param item * @return The power. Should be between 0 and 127 including edges, in case * of valid items, according to javadocs (Spigot MC 1.11.2). In case * the item is null or can't be judged, -1 is returned. */ public static int getFireworksPower(final ItemStack item) { if (item == null || item.getType() != BridgeMaterial.FIREWORK_ROCKET) { return 0; } final ItemMeta meta = item.getItemMeta(); if (!(meta instanceof FireworkMeta)) { // INDIRECT: With elytra, this already exists. return 0; } final FireworkMeta fwMeta = (FireworkMeta) meta; return fwMeta.getPower(); }
builder.append(" power:" + fireworkMeta.getPower()); firework = builder.toString();
i++; key.setInt("firework.power", firework.getPower()); } else { key.removeKey("firework");
return false; if (!firework.checkPower(fireworkMeta.getPower())) { return false;