From 0bcd2c1968651098136fd64e88adc1069a6e74a5 Mon Sep 17 00:00:00 2001 From: Matthew Messinger Date: Wed, 26 Jun 2019 20:33:05 -0400 Subject: [PATCH] Move most hdskins related classes to new sourceset --- build.gradle | 14 ++++++++++---- settings.gradle | 4 ++-- .../hdskins/ClientPonyConfigHDSkins.java | 2 +- .../client}/hdskins/MineLPHDSkins.java | 17 +++++++---------- .../client}/hdskins/PonySkinParser.java | 4 ++-- .../client/hdskins/gui}/DummyPony.java | 4 ++-- .../client/hdskins/gui}/GuiSkinsMineLP.java | 4 ++-- .../client/hdskins/gui}/PonyPreview.java | 2 +- .../client/hdskins/gui}/RenderDummyPony.java | 4 ++-- .../client/hdskins/gui}/package-info.java | 2 +- .../minelittlepony/client/pony/PonyManager.java | 6 ++++++ 11 files changed, 36 insertions(+), 27 deletions(-) rename src/{main/java/com/minelittlepony/client/gui => hdskins/java/com/minelittlepony/client}/hdskins/ClientPonyConfigHDSkins.java (91%) rename src/{main/java/com/minelittlepony/client/gui => hdskins/java/com/minelittlepony/client}/hdskins/MineLPHDSkins.java (87%) rename src/{main/java/com/minelittlepony/client/gui => hdskins/java/com/minelittlepony/client}/hdskins/PonySkinParser.java (90%) rename src/{main/java/com/minelittlepony/client/gui/hdskins => hdskins/java/com/minelittlepony/client/hdskins/gui}/DummyPony.java (88%) rename src/{main/java/com/minelittlepony/client/gui/hdskins => hdskins/java/com/minelittlepony/client/hdskins/gui}/GuiSkinsMineLP.java (96%) rename src/{main/java/com/minelittlepony/client/gui/hdskins => hdskins/java/com/minelittlepony/client/hdskins/gui}/PonyPreview.java (97%) rename src/{main/java/com/minelittlepony/client/gui/hdskins => hdskins/java/com/minelittlepony/client/hdskins/gui}/RenderDummyPony.java (94%) rename src/{main/java/com/minelittlepony/client/gui/hdskins => hdskins/java/com/minelittlepony/client/hdskins/gui}/package-info.java (64%) diff --git a/build.gradle b/build.gradle index 08ab39f2..25524ff1 100644 --- a/build.gradle +++ b/build.gradle @@ -39,22 +39,28 @@ if (System.env.CI) { } } +sourceSets { + hdskins +} + dependencies { minecraft "com.mojang:minecraft:${project.minecraft_version}" mappings "net.fabricmc:yarn:${project.yarn_mappings}" modCompile "net.fabricmc:fabric-loader:${project.loader_version}" + compileOnly "com.google.code.findbugs:jsr305:3.0.2" + hdskinsCompileOnly "com.google.code.findbugs:jsr305:3.0.2" modApi "net.fabricmc.fabric-api:fabric-api-base:0.1.0+" modApi "net.fabricmc.fabric-api:fabric-events-lifecycle-v0:0.1.0+" modApi "net.fabricmc.fabric-api:fabric-resource-loader-v0:0.1.0+" - modApi "com.minelittlepony:Kirin:${project.kirin_version}" + compile "com.minelittlepony:Kirin:${project.kirin_version}" include "com.minelittlepony:Kirin:${project.kirin_version}" - // TODO: HD Skins can be made optional later -// modCompile "com.minelittlepony:HDSkins:${project.hd_skins_version}" -// include "com.minelittlepony:HDSkins:${project.hd_skins_version}" + + hdskinsCompile sourceSets.main.output + hdskinsCompile "com.minelittlepony:HDSkins:${project.hd_skins_version}" } // diff --git a/settings.gradle b/settings.gradle index b65613d6..26bb0de8 100644 --- a/settings.gradle +++ b/settings.gradle @@ -9,5 +9,5 @@ pluginManagement { } } rootProject.name = 'MineLittlePony' -//includeBuild '../Kirin' -//includeBuild '../HDSkins' \ No newline at end of file +includeBuild '../Kirin' +includeBuild '../HDSkins' \ No newline at end of file diff --git a/src/main/java/com/minelittlepony/client/gui/hdskins/ClientPonyConfigHDSkins.java b/src/hdskins/java/com/minelittlepony/client/hdskins/ClientPonyConfigHDSkins.java similarity index 91% rename from src/main/java/com/minelittlepony/client/gui/hdskins/ClientPonyConfigHDSkins.java rename to src/hdskins/java/com/minelittlepony/client/hdskins/ClientPonyConfigHDSkins.java index 74ae91a3..e4e75b96 100644 --- a/src/main/java/com/minelittlepony/client/gui/hdskins/ClientPonyConfigHDSkins.java +++ b/src/hdskins/java/com/minelittlepony/client/hdskins/ClientPonyConfigHDSkins.java @@ -1,4 +1,4 @@ -package com.minelittlepony.client.gui.hdskins; +package com.minelittlepony.client.hdskins; import com.minelittlepony.client.settings.ClientPonyConfig; import com.minelittlepony.hdskins.HDSkins; diff --git a/src/main/java/com/minelittlepony/client/gui/hdskins/MineLPHDSkins.java b/src/hdskins/java/com/minelittlepony/client/hdskins/MineLPHDSkins.java similarity index 87% rename from src/main/java/com/minelittlepony/client/gui/hdskins/MineLPHDSkins.java rename to src/hdskins/java/com/minelittlepony/client/hdskins/MineLPHDSkins.java index 2b735f5f..99bbc576 100644 --- a/src/main/java/com/minelittlepony/client/gui/hdskins/MineLPHDSkins.java +++ b/src/hdskins/java/com/minelittlepony/client/hdskins/MineLPHDSkins.java @@ -1,14 +1,17 @@ -package com.minelittlepony.client.gui.hdskins; +package com.minelittlepony.client.hdskins; +import com.minelittlepony.client.hdskins.gui.DummyPony; +import com.minelittlepony.client.hdskins.gui.GuiSkinsMineLP; +import com.minelittlepony.client.hdskins.gui.RenderDummyPony; import net.fabricmc.fabric.api.client.render.EntityRendererRegistry; import net.minecraft.client.MinecraftClient; import net.minecraft.util.Identifier; import com.minelittlepony.client.MineLPClient; + import com.minelittlepony.client.settings.ClientPonyConfig; import com.minelittlepony.client.LegacySkinConverter; import com.minelittlepony.hdskins.HDSkins; -import com.minelittlepony.hdskins.ISkinCacheClearListener; import com.minelittlepony.hdskins.net.LegacySkinServer; import com.minelittlepony.hdskins.net.SkinServer; import com.minelittlepony.hdskins.net.ValhallaSkinServer; @@ -22,7 +25,7 @@ import java.util.Map; /** * All the interactions with HD Skins. */ -class MineLPHDSkins extends MineLPClient implements ISkinCacheClearListener { +public class MineLPHDSkins extends MineLPClient { private static final String MINELP_VALHALLA_SERVER = "http://skins.minelittlepony-mod.com"; private static final String MINELP_LEGACY_SERVER = "http://minelpskins.voxelmodpack.com"; @@ -40,12 +43,6 @@ class MineLPHDSkins extends MineLPClient implements ISkinCacheClearListener { SkinServer.defaultServers.add(0, valhalla); } - @Override - public boolean onSkinCacheCleared() { - getManager().clearCache(); - return true; - } - /** * Called when the game is ready. */ @@ -63,7 +60,7 @@ class MineLPHDSkins extends MineLPClient implements ISkinCacheClearListener { // Parse trigger pixel data manager.addSkinParser(new PonySkinParser()); // Clear ponies when skins are cleared - manager.addClearListener(this); + manager.addClearListener(getManager()::onSkinCacheCleared); // Ponify the skins GUI. manager.setSkinsGui(GuiSkinsMineLP::new); } diff --git a/src/main/java/com/minelittlepony/client/gui/hdskins/PonySkinParser.java b/src/hdskins/java/com/minelittlepony/client/hdskins/PonySkinParser.java similarity index 90% rename from src/main/java/com/minelittlepony/client/gui/hdskins/PonySkinParser.java rename to src/hdskins/java/com/minelittlepony/client/hdskins/PonySkinParser.java index 45ea6351..4fe97313 100644 --- a/src/main/java/com/minelittlepony/client/gui/hdskins/PonySkinParser.java +++ b/src/hdskins/java/com/minelittlepony/client/hdskins/PonySkinParser.java @@ -1,4 +1,4 @@ -package com.minelittlepony.client.gui.hdskins; +package com.minelittlepony.client.hdskins; import com.minelittlepony.MineLittlePony; import com.minelittlepony.client.model.races.PlayerModels; @@ -11,7 +11,7 @@ import net.minecraft.util.Identifier; import java.util.Map; -class PonySkinParser implements ISkinParser { +public class PonySkinParser implements ISkinParser { @Override public void parse(GameProfile profile, MinecraftProfileTexture.Type type, Identifier resource, diff --git a/src/main/java/com/minelittlepony/client/gui/hdskins/DummyPony.java b/src/hdskins/java/com/minelittlepony/client/hdskins/gui/DummyPony.java similarity index 88% rename from src/main/java/com/minelittlepony/client/gui/hdskins/DummyPony.java rename to src/hdskins/java/com/minelittlepony/client/hdskins/gui/DummyPony.java index 0e49b3ad..392c438d 100644 --- a/src/main/java/com/minelittlepony/client/gui/hdskins/DummyPony.java +++ b/src/hdskins/java/com/minelittlepony/client/hdskins/gui/DummyPony.java @@ -1,4 +1,4 @@ -package com.minelittlepony.client.gui.hdskins; +package com.minelittlepony.client.hdskins.gui; import com.minelittlepony.hdskins.dummy.DummyPlayer; import com.minelittlepony.hdskins.dummy.TextureProxy; @@ -8,7 +8,7 @@ import com.mojang.authlib.minecraft.MinecraftProfileTexture.Type; /** * Dummy model used for the skin uploading screen. */ -class DummyPony extends DummyPlayer { +public class DummyPony extends DummyPlayer { public boolean wet = false; diff --git a/src/main/java/com/minelittlepony/client/gui/hdskins/GuiSkinsMineLP.java b/src/hdskins/java/com/minelittlepony/client/hdskins/gui/GuiSkinsMineLP.java similarity index 96% rename from src/main/java/com/minelittlepony/client/gui/hdskins/GuiSkinsMineLP.java rename to src/hdskins/java/com/minelittlepony/client/hdskins/gui/GuiSkinsMineLP.java index 517de1b5..62341de6 100644 --- a/src/main/java/com/minelittlepony/client/gui/hdskins/GuiSkinsMineLP.java +++ b/src/hdskins/java/com/minelittlepony/client/hdskins/gui/GuiSkinsMineLP.java @@ -1,4 +1,4 @@ -package com.minelittlepony.client.gui.hdskins; +package com.minelittlepony.client.hdskins.gui; import com.minelittlepony.MineLittlePony; import com.minelittlepony.common.client.gui.element.IconicToggle; @@ -20,7 +20,7 @@ import java.util.List; /** * Skin uploading GUI. Usually displayed over the main menu. */ -class GuiSkinsMineLP extends GuiSkins { +public class GuiSkinsMineLP extends GuiSkins { private IPonyManager ponyManager = MineLittlePony.getInstance().getManager(); diff --git a/src/main/java/com/minelittlepony/client/gui/hdskins/PonyPreview.java b/src/hdskins/java/com/minelittlepony/client/hdskins/gui/PonyPreview.java similarity index 97% rename from src/main/java/com/minelittlepony/client/gui/hdskins/PonyPreview.java rename to src/hdskins/java/com/minelittlepony/client/hdskins/gui/PonyPreview.java index f4868a15..bbeaea44 100644 --- a/src/main/java/com/minelittlepony/client/gui/hdskins/PonyPreview.java +++ b/src/hdskins/java/com/minelittlepony/client/hdskins/gui/PonyPreview.java @@ -1,4 +1,4 @@ -package com.minelittlepony.client.gui.hdskins; +package com.minelittlepony.client.hdskins.gui; import net.minecraft.util.Identifier; diff --git a/src/main/java/com/minelittlepony/client/gui/hdskins/RenderDummyPony.java b/src/hdskins/java/com/minelittlepony/client/hdskins/gui/RenderDummyPony.java similarity index 94% rename from src/main/java/com/minelittlepony/client/gui/hdskins/RenderDummyPony.java rename to src/hdskins/java/com/minelittlepony/client/hdskins/gui/RenderDummyPony.java index 5ab801eb..f9762e31 100644 --- a/src/main/java/com/minelittlepony/client/gui/hdskins/RenderDummyPony.java +++ b/src/hdskins/java/com/minelittlepony/client/hdskins/gui/RenderDummyPony.java @@ -1,4 +1,4 @@ -package com.minelittlepony.client.gui.hdskins; +package com.minelittlepony.client.hdskins.gui; import com.minelittlepony.MineLittlePony; import com.minelittlepony.client.model.ClientPonyModel; @@ -22,7 +22,7 @@ import net.minecraft.util.Identifier; /** * Renderer used for the dummy pony model when selecting a skin. */ -class RenderDummyPony extends RenderDummyPlayer> implements IPonyRender> { +public class RenderDummyPony extends RenderDummyPlayer> implements IPonyRender> { protected final RenderPony> renderPony = new RenderPony<>(this); diff --git a/src/main/java/com/minelittlepony/client/gui/hdskins/package-info.java b/src/hdskins/java/com/minelittlepony/client/hdskins/gui/package-info.java similarity index 64% rename from src/main/java/com/minelittlepony/client/gui/hdskins/package-info.java rename to src/hdskins/java/com/minelittlepony/client/hdskins/gui/package-info.java index bf94b801..807d0d6b 100644 --- a/src/main/java/com/minelittlepony/client/gui/hdskins/package-info.java +++ b/src/hdskins/java/com/minelittlepony/client/hdskins/gui/package-info.java @@ -1,4 +1,4 @@ @ParametersAreNonnullByDefault -package com.minelittlepony.client.gui.hdskins; +package com.minelittlepony.client.hdskins.gui; import javax.annotation.ParametersAreNonnullByDefault; diff --git a/src/main/java/com/minelittlepony/client/pony/PonyManager.java b/src/main/java/com/minelittlepony/client/pony/PonyManager.java index 529be711..0cae781f 100644 --- a/src/main/java/com/minelittlepony/client/pony/PonyManager.java +++ b/src/main/java/com/minelittlepony/client/pony/PonyManager.java @@ -264,4 +264,10 @@ public class PonyManager implements IPonyManager, IdentifiableResourceReloadList return MoreStreams.map(imports, this::makeImport); } } + + public boolean onSkinCacheCleared() { + MineLittlePony.logger.info("Flushed {} cached ponies.", poniesCache.size()); + poniesCache.invalidateAll(); + return true; + } }