aa0307bb
①尝试过这样生成掉落物↓ 但是报错(另外,1.12想产生 染料掉落物,但是查遍https://helpch.at/docs/1.12.2/org/bukkit/Material.html没有Material.Dye)
  1. Item i = (Item) loc.getWorld().spawnEntity(loc,EntityType.DROPPED_ITEM);
  2.                 ItemStack is = new ItemStack(Material.ELYTRA);
  3.                 i.setItemStack(is);
复制代码
②烟花是生成了,但是FireworkMeta和FireworkEffect不知道该怎么设置
  1. Firework fw = (Firework) loc.getWorld().spawnEntity(loc,EntityType.FIREWORK);
复制代码



天辉胡萝卜
请仔细阅读文档。。。

1. 1.12时代染料我记得是Material.INK_SACK
生成掉落物直接用World#dropItemNaturally

2. 文档上写明了用builder构建

  1. FireworkEffect.Builder builder = FireworkEffect.builder();
  2. fireworkmeta.addEffect(builder.flicker(true).withColor(Color.BLUE).build());
  3. fireworkmeta.addEffect(builder.trail(true).build());
  4. fireworkmeta.addEffect(builder.withFade(Color.RED).build());
  5. fireworkmeta.addEffect(builder.with(FireworkEffect.Type.CREEPER).build());
  6. fireworkmeta.setPower(0);//maybe here is the thing I need to change?
  7. firework.setFireworkMeta(fireworkmeta);
复制代码

aa0307bb
疾风暗影 发表于 2020-7-4 14:46
请仔细阅读文档。。。

1. 1.12时代染料我记得是Material.INK_SACK

是用.setMetaData设置数据值吗?这个怎么用?
void setMetadata(java.lang.String metadataKey,
                 MetadataValue newMetadataValue)



  1. FireworkEffect.Builder builder = FireworkEffect.builder();
  2. fireworkmeta.addEffect(builder.flicker(true).withColor(Color.BLUE).build());
  3. fireworkmeta.addEffect(builder.trail(true).build());
  4. fireworkmeta.addEffect(builder.withFade(Color.RED).build());
  5. fireworkmeta.addEffect(builder.with(FireworkEffect.Type.CREEPER).build());
  6. fireworkmeta.setPower(0);//maybe here is the thing I need to change?
  7. firework.setFireworkMeta(fireworkmeta);
复制代码

这个哪找到的,我咋就找不到……

天辉胡萝卜
aa0307bb 发表于 2020-7-4 15:01
是用.setMetaData设置数据值吗?这个怎么用?

1. datavalues,请 看 文 档

2. Javadoc中FireworkEffect自带的例子

aa0307bb
疾风暗影 发表于 2020-7-4 15:09
1. datavalues,请 看 文 档

2. Javadoc中FireworkEffect自带的例子

1.没有datavalues这东西呀

  1.                 ItemStack is = new ItemStack(Material.INK_SACK);
  2.                 ItemMeta im = is.getItemMeta();
  3.                 is.setData(new MaterialData(Material.INK_SACK,(byte)5));
  4.                 Item i = loc.getWorld().dropItemNaturally(loc, is);
复制代码

换了方法,但这样子为啥就不能生成紫色染料(数据值是5)呢……

2. https://helpch.at/docs/1.12.2/org/bukkit/FireworkEffect.html 没有呀

下一页 最后一页