From d8913ed245441db1a6589b59d50a528c0d7f2ca2 Mon Sep 17 00:00:00 2001 From: Matthew Messinger Date: Tue, 4 Sep 2018 19:21:58 -0400 Subject: [PATCH] Extract nullable stream to new util class. --- .../voxelmodpack/hdskins/HDSkinManager.java | 21 ++++++++----------- .../hdskins/util/MoreStreams.java | 11 ++++++++++ 2 files changed, 20 insertions(+), 12 deletions(-) create mode 100644 src/hdskins/java/com/voxelmodpack/hdskins/util/MoreStreams.java diff --git a/src/hdskins/java/com/voxelmodpack/hdskins/HDSkinManager.java b/src/hdskins/java/com/voxelmodpack/hdskins/HDSkinManager.java index 2940c05c..3aa17a32 100644 --- a/src/hdskins/java/com/voxelmodpack/hdskins/HDSkinManager.java +++ b/src/hdskins/java/com/voxelmodpack/hdskins/HDSkinManager.java @@ -26,6 +26,7 @@ import com.voxelmodpack.hdskins.skins.ServerType; import com.voxelmodpack.hdskins.skins.SkinServer; import com.voxelmodpack.hdskins.skins.ValhallaSkinServer; import com.voxelmodpack.hdskins.util.CallableFutures; +import com.voxelmodpack.hdskins.util.MoreStreams; import com.voxelmodpack.hdskins.util.PlayerUtil; import com.voxelmodpack.hdskins.util.ProfileTextureUtil; import net.minecraft.client.Minecraft; @@ -277,18 +278,18 @@ public final class HDSkinManager implements IResourceManagerReloadListener { Streams.concat(getNPCs(mc), getPlayers(mc)) - // filter nulls - .filter(Objects::nonNull) - .map(INetworkPlayerInfo.class::cast) - .distinct() + // filter nulls + .filter(Objects::nonNull) + .map(INetworkPlayerInfo.class::cast) + .distinct() - // and clear skins - .forEach(INetworkPlayerInfo::reloadTextures); + // and clear skins + .forEach(INetworkPlayerInfo::reloadTextures); } private Stream getNPCs(Minecraft mc) { - return nullableStream(mc.world) + return MoreStreams.ofNullable(mc.world) .flatMap(w -> w.playerEntities.stream()) .filter(AbstractClientPlayer.class::isInstance) .map(AbstractClientPlayer.class::cast) @@ -296,14 +297,10 @@ public final class HDSkinManager implements IResourceManagerReloadListener { } private Stream getPlayers(Minecraft mc) { - return nullableStream(mc.getConnection()) + return MoreStreams.ofNullable(mc.getConnection()) .flatMap(a -> a.getPlayerInfoMap().stream()); } - private static Stream nullableStream(@Nullable T t) { - return t == null ? Stream.empty() : Stream.of(t); - } - public void parseSkin(GameProfile profile, Type type, ResourceLocation resource, MinecraftProfileTexture texture) { CallableFutures.scheduleTask(() -> { diff --git a/src/hdskins/java/com/voxelmodpack/hdskins/util/MoreStreams.java b/src/hdskins/java/com/voxelmodpack/hdskins/util/MoreStreams.java new file mode 100644 index 00000000..3d5cdc64 --- /dev/null +++ b/src/hdskins/java/com/voxelmodpack/hdskins/util/MoreStreams.java @@ -0,0 +1,11 @@ +package com.voxelmodpack.hdskins.util; + +import java.util.stream.Stream; +import javax.annotation.Nullable; + +public class MoreStreams { + + public static Stream ofNullable(@Nullable T t) { + return t == null ? Stream.empty() : Stream.of(t); + } +}