public static <T> WrappedParticle<T> create(Particle particle, T data) { ensureMethods(); Object bukkitData = data; if (data instanceof WrappedBlockData) { WrappedBlockData blockData = (WrappedBlockData) data; bukkitData = toCraftData.invoke(null, blockData.getHandle()); } Object handle = toNMS.invoke(null, particle, bukkitData); return new WrappedParticle<>(handle, particle, data); } }
return Optional.of(((WrappedBlockData) val).getHandle());