Fix NPE with area effect cloud particles

This commit is contained in:
Camotoy 2021-08-13 13:42:35 -04:00
parent 25ff3661e3
commit 1afa22d5cf
No known key found for this signature in database
GPG Key ID: 7EEFB66FE798081F
1 changed files with 10 additions and 3 deletions

View File

@ -27,9 +27,11 @@ package org.geysermc.connector.utils;
import com.github.steveice10.mc.protocol.data.game.world.particle.ParticleType;
import com.nukkitx.protocol.bedrock.data.LevelEventType;
import lombok.NonNull;
import org.geysermc.connector.network.session.GeyserSession;
import org.geysermc.connector.registry.Registries;
import org.geysermc.connector.registry.type.ParticleMapping;
import javax.annotation.Nonnull;
/**
* Util for particles and effects.
@ -42,8 +44,13 @@ public class EffectUtils {
* @param type the Java particle to search for
* @return the Bedrock integer ID of the particle, or -1 if it does not exist
*/
public static int getParticleId(GeyserSession session, @NonNull ParticleType type) {
LevelEventType levelEventType = Registries.PARTICLES.get(type).getLevelEventType();
public static int getParticleId(GeyserSession session, @Nonnull ParticleType type) {
ParticleMapping mapping = Registries.PARTICLES.get(type);
if (mapping == null) {
return -1;
}
LevelEventType levelEventType = mapping.getLevelEventType();
if (levelEventType == null) {
return -1;
}