forked from GeyserMC/Geyser
Check if firework item explosions tag is null (corresponding entity fix) (#633)
* Check if firework item explosions tag is null (corresponding entity fix) * Add null check on flight * Add null check around Flight * Fix newline on if statement * Fix newline on if statement, add null check on flight, remove debug code. * fix missing space..
This commit is contained in:
parent
286970676b
commit
d918139c44
1 changed files with 36 additions and 36 deletions
|
@ -60,17 +60,16 @@ public class FireworkEntity extends Entity {
|
|||
CompoundTag fireworks = tag.get("Fireworks");
|
||||
|
||||
CompoundTagBuilder fireworksBuilder = CompoundTagBuilder.builder();
|
||||
if (fireworks.get("Flight") != null) {
|
||||
fireworksBuilder.byteTag("Flight", (Byte) fireworks.get("Flight").getValue());
|
||||
}
|
||||
|
||||
List<com.nukkitx.nbt.tag.CompoundTag> explosions = new ArrayList<>();
|
||||
if (fireworks.get("Explosions") != null) {
|
||||
for (Tag effect : ((ListTag) fireworks.get("Explosions")).getValue()) {
|
||||
CompoundTag effectData = (CompoundTag) effect;
|
||||
|
||||
try {
|
||||
GeyserConnector.getInstance().getLogger().debug("Effect: " + new ObjectMapper().writeValueAsString(effect));
|
||||
} catch (JsonProcessingException e) { }
|
||||
|
||||
CompoundTagBuilder effectBuilder = CompoundTagBuilder.builder();
|
||||
|
||||
if (effectData.get("Type") != null) {
|
||||
effectBuilder.byteTag("FireworkType", (Byte) effectData.get("Type").getValue());
|
||||
}
|
||||
|
@ -109,6 +108,7 @@ public class FireworkEntity extends Entity {
|
|||
|
||||
explosions.add(effectBuilder.buildRootTag());
|
||||
}
|
||||
}
|
||||
|
||||
fireworksBuilder.tag(new com.nukkitx.nbt.tag.ListTag<>("Explosions", com.nukkitx.nbt.tag.CompoundTag.class, explosions));
|
||||
|
||||
|
|
Loading…
Reference in a new issue