From 717fbbeffa8fe8eae00026ca06f95ebc5c3c00cf Mon Sep 17 00:00:00 2001 From: Travis Watkins Date: Sat, 22 Dec 2012 13:05:55 -0600 Subject: [PATCH] Update firework power when modifying meta. Fixes BUKKIT-3272 --- src/main/java/net/minecraft/server/EntityFireworks.java | 2 +- .../java/org/bukkit/craftbukkit/entity/CraftFirework.java | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/minecraft/server/EntityFireworks.java b/src/main/java/net/minecraft/server/EntityFireworks.java index 0553ec8dbf..65b8714cac 100644 --- a/src/main/java/net/minecraft/server/EntityFireworks.java +++ b/src/main/java/net/minecraft/server/EntityFireworks.java @@ -3,7 +3,7 @@ package net.minecraft.server; public class EntityFireworks extends Entity { private int a; - private int b; + public int b; // CraftBukkit - private -> public public EntityFireworks(World world) { super(world); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftFirework.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftFirework.java index 6bc22e4c3a..5c89ce7d71 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftFirework.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftFirework.java @@ -11,6 +11,8 @@ import org.bukkit.entity.EntityType; import org.bukkit.entity.Firework; import org.bukkit.inventory.meta.FireworkMeta; +import java.util.Random; + public class CraftFirework extends CraftEntity implements Firework { private static final int FIREWORK_ITEM_INDEX = 8; @@ -54,5 +56,9 @@ public class CraftFirework extends CraftEntity implements Firework { public void setFireworkMeta(FireworkMeta meta) { item.setItemMeta(meta); + + // Copied from EntityFireworks constructor, update firework lifetime/power + Random random = new Random(); + getHandle().b = 10 * meta.getPower() + random.nextInt(6) + random.nextInt(7); } }