Ah okay, that makes sense! Thank you! I've got something that works, but it's a little gross (due to FireworkRocketEntity.FIREWORK_ITEM being private):
double ax, ay, az, bx, by, bz;
double range = 32;
ax = player.getPosX() - range;
ay = player.getPosY() - range;
az = player.getPosZ() - range;
bx = player.getPosX() + range;
by = player.getPosY() + range;
bz = player.getPosZ() + range;
AxisAlignedBB boundingBox = new AxisAlignedBB(ax, ay, az, bx, by, bz);
List<FireworkRocketEntity> rocketsLotsOfRockets = world.getEntitiesWithinAABB(FireworkRocketEntity.class, boundingBox, null);
for(FireworkRocketEntity rocket : rocketsLotsOfRockets) {
List<EntityDataManager.DataEntry<?>> allRocketData = rocket.getDataManager().getAll();
if(allRocketData == null) {
SSoMM.PAUL_BUNYAN.log(Level.DEBUG, "Rocket data had no data");
return false;
}
for(EntityDataManager.DataEntry<?> datum : allRocketData) {
Object value = datum.getValue();
if(value instanceof ItemStack) {
ItemStack stack = (ItemStack) value;
CompoundNBT tag = stack.getTag();
SSoMM.PAUL_BUNYAN.log(Level.DEBUG, tag);
}
}
}
Might be a bit niche, but I figured I'd throw it out there in case anybody else can use it.