From 865535d49e425f9749a9c47a02850e2ac3e6c7b8 Mon Sep 17 00:00:00 2001 From: Sollace Date: Sun, 15 Jul 2018 12:21:47 +0200 Subject: [PATCH] Format code --- .../hdskins/DynamicTextureImage.java | 4 +- .../voxelmodpack/hdskins/HDSkinManager.java | 18 +- .../voxelmodpack/hdskins/PreviewTexture.java | 17 +- .../hdskins/PreviewTextureManager.java | 51 +-- .../voxelmodpack/hdskins/TextureLoader.java | 8 +- .../hdskins/ThreadDownloadImageETag.java | 69 ++-- .../hdskins/gui/EntityPlayerModel.java | 128 +++---- .../hdskins/gui/GuiItemStackButton.java | 2 +- .../voxelmodpack/hdskins/gui/GuiSkins.java | 324 +++++++++--------- .../hdskins/gui/RenderPlayerModel.java | 36 +- .../mixin/MixinImageBufferDownload.java | 8 +- .../hdskins/mixin/MixinPlayerInfo.java | 12 +- .../hdskins/skins/LegacySkinServer.java | 14 +- .../hdskins/skins/ValhallaSkinServer.java | 22 +- .../hdskins/upload/awt/ThreadOpenFile.java | 13 +- 15 files changed, 369 insertions(+), 357 deletions(-) diff --git a/src/hdskins/java/com/voxelmodpack/hdskins/DynamicTextureImage.java b/src/hdskins/java/com/voxelmodpack/hdskins/DynamicTextureImage.java index d7598b08..87d7c945 100644 --- a/src/hdskins/java/com/voxelmodpack/hdskins/DynamicTextureImage.java +++ b/src/hdskins/java/com/voxelmodpack/hdskins/DynamicTextureImage.java @@ -10,7 +10,7 @@ public class DynamicTextureImage extends DynamicTexture { public DynamicTextureImage(BufferedImage bufferedImage) { super(bufferedImage); - this.image = bufferedImage; + image = bufferedImage; } public BufferedImage getImage() { @@ -20,7 +20,7 @@ public class DynamicTextureImage extends DynamicTexture { @Override public void deleteGlTexture() { super.deleteGlTexture(); - this.image = null; + image = null; } } diff --git a/src/hdskins/java/com/voxelmodpack/hdskins/HDSkinManager.java b/src/hdskins/java/com/voxelmodpack/hdskins/HDSkinManager.java index bf36474a..b2a4e17a 100644 --- a/src/hdskins/java/com/voxelmodpack/hdskins/HDSkinManager.java +++ b/src/hdskins/java/com/voxelmodpack/hdskins/HDSkinManager.java @@ -81,6 +81,7 @@ public final class HDSkinManager implements IResourceManagerReloadListener { private Map> skinCache = Maps.newHashMap(); + // TODO: Garggling marbles private LoadingCache> skins = CacheBuilder.newBuilder() .initialCapacity(20) .maximumSize(100) @@ -247,16 +248,16 @@ public final class HDSkinManager implements IResourceManagerReloadListener { } public Class getSkinServerClass(String type) { - return this.skinServerTypes.get(type); + return skinServerTypes.get(type); } public void addSkinServer(SkinServer skinServer) { - this.skinServers.add(skinServer); + skinServers.add(skinServer); } @Deprecated public SkinServer getGatewayServer() { - return this.skinServers.get(0); + return skinServers.get(0); } public void setEnabled(boolean enabled) { @@ -277,9 +278,10 @@ public final class HDSkinManager implements IResourceManagerReloadListener { try { FileUtils.deleteDirectory(new File(LiteLoader.getAssetsDirectory(), "skins")); FileUtils.deleteDirectory(new File(LiteLoader.getAssetsDirectory(), "hd")); + TextureManager textures = Minecraft.getMinecraft().getTextureManager(); - INSTANCE.skinCache.values().stream() - .flatMap(m -> m.values().stream()) + + INSTANCE.skinCache.values().stream().flatMap(m -> m.values().stream()) .forEach(textures::deleteTexture); INSTANCE.skinCache.clear(); INSTANCE.skins.invalidateAll(); @@ -312,13 +314,11 @@ public final class HDSkinManager implements IResourceManagerReloadListener { } public void convertSkin(BufferedImage image, Graphics dest) { - for (ISkinModifier skin : skinModifiers) { - skin.convertSkin(image, dest); - } + skinModifiers.forEach(a -> a.convertSkin(image, dest)); } @Override public void onResourceManagerReload(IResourceManager resourceManager) { - this.resources.onResourceManagerReload(resourceManager); + resources.onResourceManagerReload(resourceManager); } } diff --git a/src/hdskins/java/com/voxelmodpack/hdskins/PreviewTexture.java b/src/hdskins/java/com/voxelmodpack/hdskins/PreviewTexture.java index e5430ee2..336657ec 100644 --- a/src/hdskins/java/com/voxelmodpack/hdskins/PreviewTexture.java +++ b/src/hdskins/java/com/voxelmodpack/hdskins/PreviewTexture.java @@ -6,16 +6,21 @@ import net.minecraft.util.ResourceLocation; import javax.annotation.Nullable; +import com.mojang.authlib.minecraft.MinecraftProfileTexture; + public class PreviewTexture extends ThreadDownloadImageData { private boolean uploaded; private String model; - public PreviewTexture(@Nullable String model, String url, ResourceLocation fallbackTexture, @Nullable IImageBuffer imageBuffer) { - super(null, url, fallbackTexture, imageBuffer); + public PreviewTexture(MinecraftProfileTexture texture, ResourceLocation fallbackTexture, @Nullable IImageBuffer imageBuffer) { + super(null, texture.getUrl(), fallbackTexture, imageBuffer); - this.model = model == null ? "default" : model; + model = texture.getMetadata("model"); + if (model == null) { + model = "default"; + } } public boolean isTextureUploaded() { @@ -25,7 +30,7 @@ public class PreviewTexture extends ThreadDownloadImageData { @Override public void deleteGlTexture() { super.deleteGlTexture(); - this.uploaded = true; + uploaded = true; } public boolean hasModel() { @@ -35,4 +40,8 @@ public class PreviewTexture extends ThreadDownloadImageData { public boolean usesThinArms() { return "thin".equals(model); } + + public String getModel() { + return model; + } } diff --git a/src/hdskins/java/com/voxelmodpack/hdskins/PreviewTextureManager.java b/src/hdskins/java/com/voxelmodpack/hdskins/PreviewTextureManager.java index 057fd56f..23159208 100644 --- a/src/hdskins/java/com/voxelmodpack/hdskins/PreviewTextureManager.java +++ b/src/hdskins/java/com/voxelmodpack/hdskins/PreviewTextureManager.java @@ -2,6 +2,8 @@ package com.voxelmodpack.hdskins; import com.google.common.collect.Maps; import com.mojang.authlib.minecraft.MinecraftProfileTexture; +import com.mojang.authlib.minecraft.MinecraftProfileTexture.Type; + import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.IImageBuffer; import net.minecraft.client.resources.SkinManager; @@ -18,35 +20,44 @@ import javax.annotation.Nullable; */ public class PreviewTextureManager { - private final Map textures; + private final Map textures; - PreviewTextureManager(Map textures) { + PreviewTextureManager(Map textures) { this.textures = textures; } + private IImageBuffer getPreviewImageBuffer(MinecraftProfileTexture texture, ResourceLocation location, Type type, SkinManager.SkinAvailableCallback callback) { + if (type != Type.SKIN) { + return null; + } + + IImageBuffer buffer = new ImageBufferDownloadHD(); + + return new IImageBuffer() { + @Override + @Nullable + public BufferedImage parseUserSkin(BufferedImage image) { + return buffer.parseUserSkin(image); + } + + @Override + public void skinAvailable() { + if (callback != null) { + callback.skinAvailable(type, location, new MinecraftProfileTexture(texture.getUrl(), Maps.newHashMap())); + } + } + }; + } + @Nullable - public PreviewTexture getPreviewTexture(ResourceLocation location, MinecraftProfileTexture.Type type, ResourceLocation def, - @Nullable SkinManager.SkinAvailableCallback callback) { + public PreviewTexture getPreviewTexture(ResourceLocation location, Type type, ResourceLocation def, @Nullable SkinManager.SkinAvailableCallback callback) { if (!textures.containsKey(type)) { return null; } - MinecraftProfileTexture texture = textures.get(type); - IImageBuffer buffer = new ImageBufferDownloadHD(); - PreviewTexture skinTexture = new PreviewTexture(texture.getMetadata("model"), texture.getUrl(), def, - type == MinecraftProfileTexture.Type.SKIN ? new IImageBuffer() { - @Override - @Nullable - public BufferedImage parseUserSkin(BufferedImage image) { - return buffer.parseUserSkin(image); - } - @Override - public void skinAvailable() { - if (callback != null) { - callback.skinAvailable(type, location, new MinecraftProfileTexture(texture.getUrl(), Maps.newHashMap())); - } - } - } : null); + MinecraftProfileTexture texture = textures.get(type); + PreviewTexture skinTexture = new PreviewTexture(texture, def, getPreviewImageBuffer(texture, location, type, callback)); + Minecraft.getMinecraft().getTextureManager().loadTexture(location, skinTexture); return skinTexture; diff --git a/src/hdskins/java/com/voxelmodpack/hdskins/TextureLoader.java b/src/hdskins/java/com/voxelmodpack/hdskins/TextureLoader.java index 959e0131..92dbd8db 100644 --- a/src/hdskins/java/com/voxelmodpack/hdskins/TextureLoader.java +++ b/src/hdskins/java/com/voxelmodpack/hdskins/TextureLoader.java @@ -6,9 +6,11 @@ import net.minecraft.util.ResourceLocation; public class TextureLoader { - private static Minecraft mc = Minecraft.getMinecraft(); + private static final Minecraft mc = Minecraft.getMinecraft(); - public static void loadTexture(final ResourceLocation textureLocation, final ITextureObject textureObj) { - mc.addScheduledTask((Runnable) () -> mc.getTextureManager().loadTexture(textureLocation, textureObj)); + public static void loadTexture(ResourceLocation textureLocation, ITextureObject textureObj) { + mc.addScheduledTask(() -> { + mc.getTextureManager().loadTexture(textureLocation, textureObj); + }); } } diff --git a/src/hdskins/java/com/voxelmodpack/hdskins/ThreadDownloadImageETag.java b/src/hdskins/java/com/voxelmodpack/hdskins/ThreadDownloadImageETag.java index 514aac1a..96c9fb69 100644 --- a/src/hdskins/java/com/voxelmodpack/hdskins/ThreadDownloadImageETag.java +++ b/src/hdskins/java/com/voxelmodpack/hdskins/ThreadDownloadImageETag.java @@ -12,7 +12,6 @@ import org.apache.http.Header; import org.apache.http.HttpHeaders; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; -import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.HttpClientBuilder; import org.apache.http.util.EntityUtils; @@ -36,6 +35,7 @@ public class ThreadDownloadImageETag extends SimpleTexture { private final File cacheFile; private final File eTagFile; private final String imageUrl; + @Nullable private final IImageBuffer imageBuffer; @@ -47,35 +47,32 @@ public class ThreadDownloadImageETag extends SimpleTexture { public ThreadDownloadImageETag(@Nonnull File cacheFileIn, String imageUrlIn, ResourceLocation defLocation, @Nullable IImageBuffer imageBufferIn) { super(defLocation); - this.cacheFile = cacheFileIn; - this.eTagFile = new File(cacheFile.getParentFile(), cacheFile.getName() + ".etag"); - this.imageUrl = imageUrlIn; - this.imageBuffer = imageBufferIn; - } - - private void checkTextureUploaded() { - if (!this.textureUploaded) { - if (this.bufferedImage != null) { - if (this.textureLocation != null) { - this.deleteGlTexture(); - } - - TextureUtil.uploadTextureImage(super.getGlTextureId(), this.bufferedImage); - this.textureUploaded = true; - } - } + cacheFile = cacheFileIn; + eTagFile = new File(cacheFile.getParentFile(), cacheFile.getName() + ".etag"); + imageUrl = imageUrlIn; + imageBuffer = imageBufferIn; } public int getGlTextureId() { - this.checkTextureUploaded(); + if (!textureUploaded) { + if (bufferedImage != null) { + if (textureLocation != null) { + deleteGlTexture(); + } + + TextureUtil.uploadTextureImage(super.getGlTextureId(), bufferedImage); + textureUploaded = true; + } + } + return super.getGlTextureId(); } private void setBufferedImage(@Nonnull BufferedImage bufferedImageIn) { - this.bufferedImage = bufferedImageIn; + bufferedImage = bufferedImageIn; - if (this.imageBuffer != null) { - this.imageBuffer.skinAvailable(); + if (imageBuffer != null) { + imageBuffer.skinAvailable(); } } @@ -85,22 +82,22 @@ public class ThreadDownloadImageETag extends SimpleTexture { } public void loadTexture(IResourceManager resourceManager) throws IOException { - if (this.bufferedImage == null && this.textureLocation != null) { + if (bufferedImage == null && textureLocation != null) { super.loadTexture(resourceManager); } - if (this.imageThread == null) { - this.imageThread = new Thread(this::loadTexture, "Texture Downloader #" + THREAD_ID.incrementAndGet()); - this.imageThread.setDaemon(true); - this.imageThread.start(); + if (imageThread == null) { + imageThread = new Thread(this::loadTexture, "Texture Downloader #" + THREAD_ID.incrementAndGet()); + imageThread.setDaemon(true); + imageThread.start(); } } private void loadTexture() { HttpResponse response = null; try { - HttpClient client = HttpClientBuilder.create().build(); - response = client.execute(new HttpGet(imageUrl)); + response = HttpClientBuilder.create().build().execute(new HttpGet(imageUrl)); + int status = response.getStatusLine().getStatusCode(); if (status == HttpStatus.SC_NOT_FOUND) { // delete the cache files in case we can't connect in the future @@ -133,8 +130,9 @@ public class ThreadDownloadImageETag extends SimpleTexture { } LOGGER.error("Couldn't load skin {} ", imageUrl, e); } finally { - if (response != null) + if (response != null) { EntityUtils.consumeQuietly(response.getEntity()); + } } } @@ -149,8 +147,8 @@ public class ThreadDownloadImageETag extends SimpleTexture { } private void clearCache() { - FileUtils.deleteQuietly(this.cacheFile); - FileUtils.deleteQuietly(this.eTagFile); + FileUtils.deleteQuietly(cacheFile); + FileUtils.deleteQuietly(eTagFile); } private boolean checkETag(HttpResponse response) { @@ -158,14 +156,15 @@ public class ThreadDownloadImageETag extends SimpleTexture { if (cacheFile.isFile()) { String localETag = Files.readFirstLine(eTagFile, Charsets.UTF_8); Header remoteETag = response.getFirstHeader(HttpHeaders.ETAG); + // true if no remote etag or does match return remoteETag == null || localETag.equals(remoteETag.getValue()); } - return false; } catch (IOException e) { - // it failed, so re-fetch. - return false; + } + + return false; // it failed, so re-fetch. } private void loadTextureFromServer(HttpResponse response) { diff --git a/src/hdskins/java/com/voxelmodpack/hdskins/gui/EntityPlayerModel.java b/src/hdskins/java/com/voxelmodpack/hdskins/gui/EntityPlayerModel.java index c9a05669..c7ac3abd 100644 --- a/src/hdskins/java/com/voxelmodpack/hdskins/gui/EntityPlayerModel.java +++ b/src/hdskins/java/com/voxelmodpack/hdskins/gui/EntityPlayerModel.java @@ -33,7 +33,7 @@ public class EntityPlayerModel extends EntityLivingBase { public static final ResourceLocation NO_SKIN = new ResourceLocation("hdskins", "textures/mob/noskin.png"); public static final ResourceLocation NO_ELYTRA = new ResourceLocation("textures/entity/elytra.png"); - private Map armors = Maps.newEnumMap(ImmutableMap.of( + private Map armour = Maps.newEnumMap(ImmutableMap.of( EntityEquipmentSlot.HEAD, ItemStack.EMPTY, EntityEquipmentSlot.CHEST, ItemStack.EMPTY, EntityEquipmentSlot.LEGS, ItemStack.EMPTY, @@ -56,41 +56,41 @@ public class EntityPlayerModel extends EntityLivingBase { protected boolean hasLocalTexture = false; protected boolean previewThinArms = false; - public EntityPlayerModel(GameProfile profile) { + public EntityPlayerModel(GameProfile gameprofile) { super(new DummyWorld()); - this.profile = profile; - this.textureManager = Minecraft.getMinecraft().getTextureManager(); - this.remoteSkinResource = new ResourceLocation("skins/preview_" + this.profile.getName() + ".png"); - this.remoteElytraResource = new ResourceLocation("elytras/preview_" + this.profile.getName() + ".png"); - this.localSkinResource = getBlankSkin(); - this.localElytraResource = getBlankElytra(); - this.textureManager.deleteTexture(this.remoteSkinResource); - this.textureManager.deleteTexture(this.remoteElytraResource); + profile = gameprofile; + textureManager = Minecraft.getMinecraft().getTextureManager(); + remoteSkinResource = new ResourceLocation("skins/preview_" + profile.getName() + ".png"); + remoteElytraResource = new ResourceLocation("elytras/preview_" + profile.getName() + ".png"); + localSkinResource = getBlankSkin(); + localElytraResource = getBlankElytra(); + textureManager.deleteTexture(remoteSkinResource); + textureManager.deleteTexture(remoteElytraResource); } public void reloadRemoteSkin(SkinManager.SkinAvailableCallback listener) { - this.remoteSkin = true; - if (this.remoteSkinTexture != null) { - this.textureManager.deleteTexture(this.remoteSkinResource); + remoteSkin = true; + if (remoteSkinTexture != null) { + textureManager.deleteTexture(remoteSkinResource); } - if (this.remoteElytraTexture != null) { - this.textureManager.deleteTexture(this.remoteElytraResource); + if (remoteElytraTexture != null) { + textureManager.deleteTexture(remoteElytraResource); } - PreviewTextureManager ptm = HDSkinManager.getPreviewTextureManager(this.profile); + PreviewTextureManager ptm = HDSkinManager.getPreviewTextureManager(profile); - this.remoteSkinTexture = ptm.getPreviewTexture(this.remoteSkinResource, Type.SKIN, getBlankSkin(), listener); - this.remoteElytraTexture = ptm.getPreviewTexture(this.remoteElytraResource, Type.ELYTRA, getBlankElytra(), null); + remoteSkinTexture = ptm.getPreviewTexture(remoteSkinResource, Type.SKIN, getBlankSkin(), listener); + remoteElytraTexture = ptm.getPreviewTexture(remoteElytraResource, Type.ELYTRA, getBlankElytra(), null); } public void setLocalTexture(File skinTextureFile, Type type) { if (skinTextureFile.exists()) { if (type == Type.SKIN) { - this.remoteSkin = false; - if (this.localSkinTexture != null) { - this.textureManager.deleteTexture(this.localSkinResource); - this.localSkinTexture = null; + remoteSkin = false; + if (localSkinTexture != null) { + textureManager.deleteTexture(localSkinResource); + localSkinTexture = null; } BufferedImage bufferedImage; @@ -99,33 +99,33 @@ public class EntityPlayerModel extends EntityLivingBase { bufferedImage = new ImageBufferDownloadHD().parseUserSkin(image); assert bufferedImage != null; } catch (IOException var4) { - this.localSkinResource = getBlankSkin(); + localSkinResource = getBlankSkin(); var4.printStackTrace(); return; } - this.localSkinTexture = new DynamicTextureImage(bufferedImage); - this.localSkinResource = this.textureManager.getDynamicTextureLocation("localSkinPreview", this.localSkinTexture); - this.hasLocalTexture = true; + localSkinTexture = new DynamicTextureImage(bufferedImage); + localSkinResource = textureManager.getDynamicTextureLocation("localSkinPreview", localSkinTexture); + hasLocalTexture = true; } else if (type == Type.ELYTRA) { - this.remoteSkin = false; - if (this.localElytraTexture != null) { - this.textureManager.deleteTexture(this.localElytraResource); - this.localElytraTexture = null; + remoteSkin = false; + if (localElytraTexture != null) { + textureManager.deleteTexture(localElytraResource); + localElytraTexture = null; } BufferedImage bufferedImage; try { bufferedImage = ImageIO.read(skinTextureFile); } catch (IOException var4) { - this.localElytraResource = getBlankElytra(); + localElytraResource = getBlankElytra(); var4.printStackTrace(); return; } - this.localElytraTexture = new DynamicTextureImage(bufferedImage); - this.localElytraResource = this.textureManager.getDynamicTextureLocation("localElytraPreview", this.localElytraTexture); - this.hasLocalTexture = true; + localElytraTexture = new DynamicTextureImage(bufferedImage); + localElytraResource = textureManager.getDynamicTextureLocation("localElytraPreview", localElytraTexture); + hasLocalTexture = true; } } } @@ -139,35 +139,35 @@ public class EntityPlayerModel extends EntityLivingBase { } public boolean isUsingLocalTexture() { - return !this.remoteSkin && this.hasLocalTexture; + return !remoteSkin && hasLocalTexture; } public boolean isTextureSetupComplete() { - return (this.remoteSkin && this.remoteSkinTexture != null) && this.remoteSkinTexture.isTextureUploaded(); + return (remoteSkin && remoteSkinTexture != null) && remoteSkinTexture.isTextureUploaded(); } public void releaseTextures() { - if (this.localSkinTexture != null) { - this.textureManager.deleteTexture(this.localSkinResource); - this.localSkinTexture = null; - this.localSkinResource = getBlankSkin(); - this.hasLocalTexture = false; + if (localSkinTexture != null) { + textureManager.deleteTexture(localSkinResource); + localSkinTexture = null; + localSkinResource = getBlankSkin(); + hasLocalTexture = false; } - if (this.localElytraTexture != null) { - this.textureManager.deleteTexture(this.localElytraResource); - this.localElytraTexture = null; - this.localElytraResource = getBlankElytra(); - this.hasLocalTexture = false; + if (localElytraTexture != null) { + textureManager.deleteTexture(localElytraResource); + localElytraTexture = null; + localElytraResource = getBlankElytra(); + hasLocalTexture = false; } } public ResourceLocation getSkinTexture() { - return this.remoteSkin ? (this.remoteSkinTexture != null ? this.remoteSkinResource - : DefaultPlayerSkin.getDefaultSkin(entityUniqueID)) : this.localSkinResource; + return remoteSkin ? (remoteSkinTexture != null ? remoteSkinResource + : DefaultPlayerSkin.getDefaultSkin(entityUniqueID)) : localSkinResource; } public ResourceLocation getElytraTexture() { - return this.remoteSkin && this.remoteElytraTexture != null ? this.remoteElytraResource : localElytraResource; + return remoteSkin && remoteElytraTexture != null ? remoteElytraResource : localElytraResource; } public void setPreviewThinArms(boolean thinArms) { @@ -185,27 +185,27 @@ public class EntityPlayerModel extends EntityLivingBase { @Override public void swingArm(EnumHand hand) { super.swingArm(hand); - if (!this.isSwingInProgress || this.swingProgressInt >= 4 || this.swingProgressInt < 0) { - this.swingProgressInt = -1; - this.isSwingInProgress = true; - this.swingingHand = hand; + if (!isSwingInProgress || swingProgressInt >= 4 || swingProgressInt < 0) { + swingProgressInt = -1; + isSwingInProgress = true; + swingingHand = hand; } } public void updateModel() { - this.prevSwingProgress = this.swingProgress; - if (this.isSwingInProgress) { - ++this.swingProgressInt; - if (this.swingProgressInt >= 8) { - this.swingProgressInt = 0; - this.isSwingInProgress = false; + prevSwingProgress = swingProgress; + if (isSwingInProgress) { + ++swingProgressInt; + if (swingProgressInt >= 8) { + swingProgressInt = 0; + isSwingInProgress = false; } } else { - this.swingProgressInt = 0; + swingProgressInt = 0; } - this.swingProgress = this.swingProgressInt / 8.0F; + swingProgress = swingProgressInt / 8; } @Override @@ -215,17 +215,17 @@ public class EntityPlayerModel extends EntityLivingBase { @Override public Iterable getArmorInventoryList() { - return armors.values(); + return armour.values(); } @Override public ItemStack getItemStackFromSlot(EntityEquipmentSlot slotIn) { - return armors.get(slotIn); + return armour.get(slotIn); } @Override public void setItemStackToSlot(EntityEquipmentSlot slotIn, ItemStack stack) { - armors.put(slotIn, stack); + armour.put(slotIn, stack); } } diff --git a/src/hdskins/java/com/voxelmodpack/hdskins/gui/GuiItemStackButton.java b/src/hdskins/java/com/voxelmodpack/hdskins/gui/GuiItemStackButton.java index d4d7eede..79c88a13 100644 --- a/src/hdskins/java/com/voxelmodpack/hdskins/gui/GuiItemStackButton.java +++ b/src/hdskins/java/com/voxelmodpack/hdskins/gui/GuiItemStackButton.java @@ -17,6 +17,6 @@ public class GuiItemStackButton extends GuiButton { public void drawButton(Minecraft mc, int mouseX, int mouseY, float partialTicks) { super.drawButton(mc, mouseX, mouseY, partialTicks); - mc.getRenderItem().renderItemIntoGUI(itemStack, this.x + 2, this.y + 2); + mc.getRenderItem().renderItemIntoGUI(itemStack, x + 2, y + 2); } } diff --git a/src/hdskins/java/com/voxelmodpack/hdskins/gui/GuiSkins.java b/src/hdskins/java/com/voxelmodpack/hdskins/gui/GuiSkins.java index d344f0ba..55d02f8f 100644 --- a/src/hdskins/java/com/voxelmodpack/hdskins/gui/GuiSkins.java +++ b/src/hdskins/java/com/voxelmodpack/hdskins/gui/GuiSkins.java @@ -27,8 +27,6 @@ import net.minecraft.inventory.EntityEquipmentSlot; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumHand; import net.minecraft.util.ResourceLocation; -import net.minecraft.util.Session; -import net.minecraft.util.text.TextFormatting; import org.apache.commons.io.FilenameUtils; import org.apache.logging.log4j.LogManager; import org.lwjgl.BufferUtils; @@ -80,7 +78,7 @@ public class GuiSkins extends GuiScreen { private final Object skinLock = new Object(); private File pendingSkinFile; private File selectedSkin; - private float uploadOpacity = 0.0F; + private float uploadOpacity = 0; private int lastMouseX = 0; @@ -93,17 +91,17 @@ public class GuiSkins extends GuiScreen { public GuiSkins() { Minecraft minecraft = Minecraft.getMinecraft(); - // this.screenTitle = manager; + GameProfile profile = minecraft.getSession().getProfile(); - this.localPlayer = getModel(profile); - this.remotePlayer = getModel(profile); + localPlayer = getModel(profile); + remotePlayer = getModel(profile); RenderManager rm = Minecraft.getMinecraft().getRenderManager(); rm.renderEngine = minecraft.getTextureManager(); rm.options = minecraft.gameSettings; - rm.renderViewEntity = this.localPlayer; - this.reloadRemoteSkin(); - this.fetchingSkin = true; + rm.renderViewEntity = localPlayer; + reloadRemoteSkin(); + fetchingSkin = true; instance = this; @@ -127,40 +125,40 @@ public class GuiSkins extends GuiScreen { } panorama.update(); - this.localPlayer.updateModel(); - this.remotePlayer.updateModel(); - if (this.fetchingSkin && this.remotePlayer.isTextureSetupComplete()) { - this.fetchingSkin = false; - this.btnClear.enabled = true; + localPlayer.updateModel(); + remotePlayer.updateModel(); + if (fetchingSkin && remotePlayer.isTextureSetupComplete()) { + fetchingSkin = false; + btnClear.enabled = true; } - synchronized (this.skinLock) { - if (this.pendingSkinFile != null) { - System.out.println("Set " + textureType + " " + this.pendingSkinFile); - this.localPlayer.setLocalTexture(this.pendingSkinFile, textureType); - this.selectedSkin = this.pendingSkinFile; - this.pendingSkinFile = null; - this.onSetLocalSkin(textureType); - this.btnUpload.enabled = true; + synchronized (skinLock) { + if (pendingSkinFile != null) { + System.out.println("Set " + textureType + " " + pendingSkinFile); + localPlayer.setLocalTexture(pendingSkinFile, textureType); + selectedSkin = pendingSkinFile; + pendingSkinFile = null; + onSetLocalSkin(textureType); + btnUpload.enabled = true; } } - if (this.pendingRemoteSkinRefresh) { - this.pendingRemoteSkinRefresh = false; - this.fetchingSkin = true; - this.btnClear.enabled = false; - this.reloadRemoteSkin(); + if (pendingRemoteSkinRefresh) { + pendingRemoteSkinRefresh = false; + fetchingSkin = true; + btnClear.enabled = false; + reloadRemoteSkin(); } - if (this.throttledByMojang) { - if (this.refreshCounter == -1) { - this.refreshCounter = 200; - } else if (this.refreshCounter > 0) { - --this.refreshCounter; + if (throttledByMojang) { + if (refreshCounter == -1) { + refreshCounter = 200; + } else if (refreshCounter > 0) { + --refreshCounter; } else { - this.refreshCounter = -1; - this.throttledByMojang = false; - this.reloadRemoteSkin(); + refreshCounter = -1; + throttledByMojang = false; + reloadRemoteSkin(); } } @@ -174,10 +172,10 @@ public class GuiSkins extends GuiScreen { private void reloadRemoteSkin() { try { - this.remotePlayer.reloadRemoteSkin(this::onSetRemoteSkin); + remotePlayer.reloadRemoteSkin(this::onSetRemoteSkin); } catch (Exception var2) { var2.printStackTrace(); - this.throttledByMojang = true; + throttledByMojang = true; } } @@ -188,28 +186,28 @@ public class GuiSkins extends GuiScreen { panorama.init(); - this.buttonList.clear(); - this.buttonList.add(this.btnBrowse = new GuiButton(0, 30, this.height - 36, 60, 20, "Browse...")); - this.buttonList.add(this.btnUpload = new GuiButton(1, this.width / 2 - 24, this.height / 2 - 10, 48, 20, ">>")); - this.buttonList.add(this.btnClear = new GuiButton(2, this.width - 90, this.height - 36, 60, 20, "Clear")); - this.buttonList.add(this.btnBack = new GuiButton(3, this.width / 2 - 50, this.height - 36, 100, 20, "Close")); + buttonList.clear(); + buttonList.add(btnBrowse = new GuiButton(0, 30, height - 36, 60, 20, "Browse...")); + buttonList.add(btnUpload = new GuiButton(1, width / 2 - 24, height / 2 - 10, 48, 20, ">>")); + buttonList.add(btnClear = new GuiButton(2, width - 90, height - 36, 60, 20, "Clear")); + buttonList.add(btnBack = new GuiButton(3, width / 2 - 50, height - 36, 100, 20, "Close")); ItemStack skin = new ItemStack(Items.LEATHER_LEGGINGS); Items.LEATHER_LEGGINGS.setColor(skin, 0x3c5dcb); - this.buttonList.add(this.btnModeSkin = new GuiItemStackButton(4, 2, 2, skin)); + buttonList.add(btnModeSkin = new GuiItemStackButton(4, 2, 2, skin)); skin = new ItemStack(Items.LEATHER_LEGGINGS); Items.LEATHER_LEGGINGS.setColor(skin, 0xfff500); - this.buttonList.add(this.btnModeElytra = new GuiItemStackButton(5, 2, 52, new ItemStack(Items.ELYTRA))); - this.buttonList.add(this.btnModeSkinnySkin = new GuiItemStackButton(6, 2, 21, skin)); + buttonList.add(btnModeElytra = new GuiItemStackButton(5, 2, 52, new ItemStack(Items.ELYTRA))); + buttonList.add(btnModeSkinnySkin = new GuiItemStackButton(6, 2, 21, skin)); - this.buttonList.add(this.btnAbout = new GuiButton(-1, this.width - 25, this.height - 25, 20, 20, "?")); + buttonList.add(btnAbout = new GuiButton(-1, width - 25, height - 25, 20, 20, "?")); - this.btnUpload.enabled = false; - this.btnBrowse.enabled = !this.mc.isFullScreen(); + btnUpload.enabled = false; + btnBrowse.enabled = !mc.isFullScreen(); - this.btnModeSkin.enabled = this.thinArmType; - this.btnModeSkinnySkin.enabled = !this.thinArmType; - this.btnModeElytra.enabled = this.textureType == SKIN; + btnModeSkin.enabled = thinArmType; + btnModeSkinnySkin.enabled = !thinArmType; + btnModeElytra.enabled = textureType == SKIN; } @@ -230,107 +228,107 @@ public class GuiSkins extends GuiScreen { } private void onFileOpenDialogClosed(JFileChooser fileDialog, int dialogResult) { - this.openFileThread = null; - this.btnBrowse.enabled = true; + openFileThread = null; + btnBrowse.enabled = true; if (dialogResult == 0) { - this.loadLocalFile(fileDialog.getSelectedFile()); + loadLocalFile(fileDialog.getSelectedFile()); } } private void loadLocalFile(File skinFile) { Minecraft.getMinecraft().addScheduledTask(localPlayer::releaseTextures); if (!skinFile.exists()) { - this.skinMessage = I18n.format("hdskins.error.unreadable"); + skinMessage = I18n.format("hdskins.error.unreadable"); } else if (!FilenameUtils.isExtension(skinFile.getName(), new String[]{"png", "PNG"})) { - this.skinMessage = I18n.format("hdskins.error.ext"); + skinMessage = I18n.format("hdskins.error.ext"); } else { BufferedImage chosenImage; try { chosenImage = ImageIO.read(skinFile); } catch (IOException var6) { - this.skinMessage = I18n.format("hdskins.error.open"); + skinMessage = I18n.format("hdskins.error.open"); var6.printStackTrace(); return; } if (chosenImage == null) { - this.skinMessage = I18n.format("hdskins.error.open"); + skinMessage = I18n.format("hdskins.error.open"); } else if (isPowerOfTwo(chosenImage.getWidth()) && (chosenImage.getWidth() == chosenImage.getHeight() * 2 || chosenImage.getWidth() == chosenImage.getHeight()) && chosenImage.getWidth() <= MAX_SKIN_DIMENSION && chosenImage.getHeight() <= MAX_SKIN_DIMENSION) { - synchronized (this.skinLock) { - this.pendingSkinFile = skinFile; + synchronized (skinLock) { + pendingSkinFile = skinFile; } } else { - this.skinMessage = I18n.format("hdskins.error.invalid"); + skinMessage = I18n.format("hdskins.error.invalid"); } } } @Override protected void actionPerformed(GuiButton guiButton) { - if (this.openFileThread == null && !this.uploadingSkin) { - if (this.uploadError != null) { - this.uploadError = null; + if (openFileThread == null && !uploadingSkin) { + if (uploadError != null) { + uploadError = null; } else { - if (guiButton.id == this.btnBrowse.id) { - this.selectedSkin = null; - this.localPlayer.releaseTextures(); - this.openFileThread = new ThreadOpenFilePNG(this.mc, I18n.format("hdskins.open.title"), this::onFileOpenDialogClosed); - this.openFileThread.start(); + if (guiButton.id == btnBrowse.id) { + selectedSkin = null; + localPlayer.releaseTextures(); + openFileThread = new ThreadOpenFilePNG(mc, I18n.format("hdskins.open.title"), this::onFileOpenDialogClosed); + openFileThread.start(); guiButton.enabled = false; } - if (guiButton.id == this.btnUpload.id) { - if (this.selectedSkin != null) { + if (guiButton.id == btnUpload.id) { + if (selectedSkin != null) { punchServer("hdskins.upload", selectedSkin.toURI()); - this.btnUpload.enabled = false; + btnUpload.enabled = false; } else { - this.setUploadError(I18n.format("hdskins.error.select")); + setUploadError(I18n.format("hdskins.error.select")); } } - if (guiButton.id == this.btnClear.id && this.remotePlayer.isTextureSetupComplete()) { + if (guiButton.id == btnClear.id && remotePlayer.isTextureSetupComplete()) { punchServer("hdskins.request", null); - this.btnUpload.enabled = this.selectedSkin != null; + btnUpload.enabled = selectedSkin != null; } - if (guiButton.id == this.btnBack.id) { - this.mc.displayGuiScreen(new GuiMainMenu()); + if (guiButton.id == btnBack.id) { + mc.displayGuiScreen(new GuiMainMenu()); } - if (guiButton.id == this.btnModeSkin.id || guiButton.id == this.btnModeElytra.id || guiButton.id == this.btnModeSkinnySkin.id) { + if (guiButton.id == btnModeSkin.id || guiButton.id == btnModeElytra.id || guiButton.id == btnModeSkinnySkin.id) { ItemStack stack; - if (guiButton.id == this.btnModeSkin.id) { - this.thinArmType = false; - this.textureType = SKIN; + if (guiButton.id == btnModeSkin.id) { + thinArmType = false; + textureType = SKIN; stack = ItemStack.EMPTY; - } else if (guiButton.id == this.btnModeSkinnySkin.id) { - this.thinArmType = true; - this.textureType = SKIN; + } else if (guiButton.id == btnModeSkinnySkin.id) { + thinArmType = true; + textureType = SKIN; stack = ItemStack.EMPTY; } else { - this.textureType = ELYTRA; + textureType = ELYTRA; stack = new ItemStack(Items.ELYTRA); } - this.btnModeSkin.enabled = thinArmType; - this.btnModeSkinnySkin.enabled = !thinArmType; - this.btnModeElytra.enabled = this.textureType == SKIN; + btnModeSkin.enabled = thinArmType; + btnModeSkinnySkin.enabled = !thinArmType; + btnModeElytra.enabled = textureType == SKIN; guiButton.enabled = false; // clear currently selected skin - this.selectedSkin = null; - this.localPlayer.releaseTextures(); + selectedSkin = null; + localPlayer.releaseTextures(); // put on or take off the elytra - this.localPlayer.setItemStackToSlot(EntityEquipmentSlot.CHEST, stack); - this.remotePlayer.setItemStackToSlot(EntityEquipmentSlot.CHEST, stack); + localPlayer.setItemStackToSlot(EntityEquipmentSlot.CHEST, stack); + remotePlayer.setItemStackToSlot(EntityEquipmentSlot.CHEST, stack); - this.localPlayer.setPreviewThinArms(thinArmType); - this.remotePlayer.setPreviewThinArms(thinArmType); + localPlayer.setPreviewThinArms(thinArmType); + remotePlayer.setPreviewThinArms(thinArmType); } } @@ -339,17 +337,17 @@ public class GuiSkins extends GuiScreen { @Override protected void mouseClicked(int mouseX, int mouseY, int button) throws IOException { - if (this.uploadError != null) { - this.uploadError = null; + if (uploadError != null) { + uploadError = null; } else { super.mouseClicked(mouseX, mouseY, button); - int bottom = this.height - 40; - int mid = this.width / 2; + int bottom = height - 40; + int mid = width / 2; - if ((mouseX > 30 && mouseX < mid - 30 || mouseX > mid + 30 && mouseX < this.width - 30) && mouseY > 30 && mouseY < bottom) { - this.localPlayer.swingArm(EnumHand.MAIN_HAND); - this.remotePlayer.swingArm(EnumHand.MAIN_HAND); + if ((mouseX > 30 && mouseX < mid - 30 || mouseX > mid + 30 && mouseX < width - 30) && mouseY > 30 && mouseY < bottom) { + localPlayer.swingArm(EnumHand.MAIN_HAND); + remotePlayer.swingArm(EnumHand.MAIN_HAND); } } @@ -364,7 +362,7 @@ public class GuiSkins extends GuiScreen { @Override protected void keyTyped(char keyChar, int keyCode) throws IOException { - if (this.openFileThread == null && !this.uploadingSkin) { + if (openFileThread == null && !uploadingSkin) { if (keyCode == Keyboard.KEY_LEFT) { updateCounter -= 5; @@ -391,7 +389,7 @@ public class GuiSkins extends GuiScreen { Gui.drawRect(mid + 30, 30, width - 30, bottom, Integer.MIN_VALUE); drawGradientRect(30, horizon, mid - 30, bottom, 0x80FFFFFF, 0xffffff); - drawGradientRect(mid + 30, horizon, this.width - 30, bottom, 0x80FFFFFF, 0xffffff); + drawGradientRect(mid + 30, horizon, width - 30, bottom, 0x80FFFFFF, 0xffffff); super.drawScreen(mouseX, mouseY, partialTick); @@ -399,9 +397,9 @@ public class GuiSkins extends GuiScreen { enableClipping(bottom); float yPos = height * 0.75F; - float xPos1 = width * 0.25F; + float xPos1 = width / 4; float xPos2 = width * 0.75F; - float scale = height * 0.25F; + float scale = height / 4; float lookX = mid - mouseX; mc.getTextureManager().bindTexture(localPlayer.getSkinTexture()); @@ -414,7 +412,7 @@ public class GuiSkins extends GuiScreen { disableClipping(); - drawCenteredString(this.fontRenderer, I18n.format("hdskins.manager"), width / 2, 10, 0xffffff); + drawCenteredString(fontRenderer, I18n.format("hdskins.manager"), width / 2, 10, 0xffffff); fontRenderer.drawStringWithShadow(I18n.format("hdskins.local"), 34, 34, 0xffffff); fontRenderer.drawStringWithShadow(I18n.format("hdskins.server"), width / 2 + 34, 34, 0xffffff); @@ -423,67 +421,67 @@ public class GuiSkins extends GuiScreen { enableBlend(); depthMask(false); - int labelwidth = (this.width / 2 - 80) / 2; - if (!this.localPlayer.isUsingLocalTexture()) { - int opacity = this.fontRenderer.getStringWidth(this.skinMessage) / 2; - Gui.drawRect(40, this.height / 2 - 12, this.width / 2 - 40, this.height / 2 + 12, 0xB0000000); - this.fontRenderer.drawStringWithShadow(this.skinMessage, (int) (xPos1 - opacity), this.height / 2 - 4, 0xffffff); + int labelwidth = (width / 2 - 80) / 2; + if (!localPlayer.isUsingLocalTexture()) { + int opacity = fontRenderer.getStringWidth(skinMessage) / 2; + Gui.drawRect(40, height / 2 - 12, width / 2 - 40, height / 2 + 12, 0xB0000000); + fontRenderer.drawStringWithShadow(skinMessage, (int) (xPos1 - opacity), height / 2 - 4, 0xffffff); } - if (this.btnModeSkin.isMouseOver() || this.btnModeElytra.isMouseOver() || this.btnModeSkinnySkin.isMouseOver()) { + if (btnModeSkin.isMouseOver() || btnModeElytra.isMouseOver() || btnModeSkinnySkin.isMouseOver()) { int y = Math.max(mouseY, 16); String text; - if (this.btnModeSkin.isMouseOver()) { + if (btnModeSkin.isMouseOver()) { text = "hdskins.mode.skin"; - } else if (this.btnModeSkinnySkin.isMouseOver()) { + } else if (btnModeSkinnySkin.isMouseOver()) { text = "hdskins.mode.skinny"; } else { text = "hdskins.mode.elytra"; } - this.drawHoveringText(I18n.format(text), mouseX, y); + drawHoveringText(I18n.format(text), mouseX, y); } - if (this.btnAbout.isMouseOver()) { + if (btnAbout.isMouseOver()) { SkinServer gateway = HDSkinManager.INSTANCE.getGatewayServer(); - this.drawHoveringText(Splitter.on("\r\n").splitToList(gateway.toString()), mouseX, mouseY); + drawHoveringText(Splitter.on("\r\n").splitToList(gateway.toString()), mouseX, mouseY); } - if (this.fetchingSkin) { + if (fetchingSkin) { int lineHeight = throttledByMojang ? 16 : 12; - Gui.drawRect((int) (xPos2 - labelwidth), this.height / 2 - lineHeight, this.width - 40, this.height / 2 + lineHeight, 0xB0000000); + Gui.drawRect((int) (xPos2 - labelwidth), height / 2 - lineHeight, width - 40, height / 2 + lineHeight, 0xB0000000); - if (this.throttledByMojang) { - this.drawCenteredString(fontRenderer, I18n.format("hdskins.error.mojang"), (int)xPos2, height / 2 - 10, 0xffffff); - this.drawCenteredString(fontRenderer, I18n.format("hdskins.error.mojang.wait"), (int)xPos2, height / 2 + 2, 0xffffff); + if (throttledByMojang) { + drawCenteredString(fontRenderer, I18n.format("hdskins.error.mojang"), (int)xPos2, height / 2 - 10, 0xffffff); + drawCenteredString(fontRenderer, I18n.format("hdskins.error.mojang.wait"), (int)xPos2, height / 2 + 2, 0xffffff); } else { - this.drawCenteredString(fontRenderer, I18n.format("hdskins.fetch"), (int)xPos2, height / 2 - 4, 0xffffff); + drawCenteredString(fontRenderer, I18n.format("hdskins.fetch"), (int)xPos2, height / 2 - 4, 0xffffff); } } - if (this.uploadingSkin || this.uploadOpacity > 0.0F) { - if (!this.uploadingSkin) { - this.uploadOpacity -= deltaTime * 0.05F; - } else if (this.uploadOpacity < 1.0F) { - this.uploadOpacity += deltaTime * 0.1F; + if (uploadingSkin || uploadOpacity > 0) { + if (!uploadingSkin) { + uploadOpacity -= deltaTime * 0.05F; + } else if (uploadOpacity < 1) { + uploadOpacity += deltaTime * 0.1F; } - if (this.uploadOpacity > 1.0F) { - this.uploadOpacity = 1.0F; + if (uploadOpacity > 1) { + uploadOpacity = 1; } - int opacity = Math.min(180, (int) (this.uploadOpacity * 180.0F)) & 255; - if (this.uploadOpacity > 0.0F) { - Gui.drawRect(0, 0, this.width, this.height, opacity << 24); - if (this.uploadingSkin) { - this.drawCenteredString(this.fontRenderer, this.skinUploadMessage, this.width / 2, this.height / 2, opacity << 24 | 0xffffff); + int opacity = Math.min(180, (int) (uploadOpacity * 180)) & 255; + if (uploadOpacity > 0) { + Gui.drawRect(0, 0, width, height, opacity << 24); + if (uploadingSkin) { + drawCenteredString(fontRenderer, skinUploadMessage, width / 2, height / 2, opacity << 24 | 0xffffff); } } } - if (this.uploadError != null) { - Gui.drawRect(0, 0, this.width, this.height, 0xB0000000); - this.drawCenteredString(this.fontRenderer, I18n.format("hdskins.failed"), this.width / 2, this.height / 2 - 10, 0xFFFFFF55); - this.drawCenteredString(this.fontRenderer, this.uploadError, this.width / 2, this.height / 2 + 2, 0xFFFF5555); + if (uploadError != null) { + Gui.drawRect(0, 0, width, height, 0xB0000000); + drawCenteredString(fontRenderer, I18n.format("hdskins.failed"), width / 2, height / 2 - 10, 0xFFFFFF55); + drawCenteredString(fontRenderer, uploadError, width / 2, height / 2 + 2, 0xFFFF5555); } depthMask(true); @@ -494,28 +492,26 @@ public class GuiSkins extends GuiScreen { float partialTick) { enableColorMaterial(); pushMatrix(); - translate(xPosition, yPosition, 300.0F); + translate(xPosition, yPosition, 300); scale(-scale, scale, scale); - rotate(180.0F, 0.0F, 0.0F, 1.0F); - rotate(135.0F, 0.0F, 1.0F, 0.0F); + rotate(180, 0, 0, 1); + rotate(135, 0, 1, 0); RenderHelper.enableStandardItemLighting(); - rotate(-135.0F, 0.0F, 1.0F, 0.0F); - rotate(15.0F, 1.0F, 0.0F, 0.0F); + rotate(-135, 0, 1, 0); + rotate(15, 1, 0, 0); - float rot = ((updateCounter + partialTick) * 2.5F) % 360; - - rotate(rot, 0, 1, 0); + rotate(((updateCounter + partialTick) * 2.5F) % 360, 0, 1, 0); thePlayer.rotationYawHead = ((float) Math.atan(mouseX / 20)) * 30; thePlayer.rotationPitch = -((float) Math.atan(mouseY / 40)) * 20; - translate(0.0D, thePlayer.getYOffset(), 0.0D); + translate(0, thePlayer.getYOffset(), 0); RenderManager rm = Minecraft.getMinecraft().getRenderManager(); - rm.playerViewY = 180.0F; + rm.playerViewY = 180; rm.renderEntity(thePlayer, 0, 0, 0, 0, 1, false); popMatrix(); @@ -524,18 +520,18 @@ public class GuiSkins extends GuiScreen { } private void enableClipping(int yBottom) { - if (this.doubleBuffer == null) { - this.doubleBuffer = BufferUtils.createByteBuffer(32).asDoubleBuffer(); + if (doubleBuffer == null) { + doubleBuffer = BufferUtils.createByteBuffer(32).asDoubleBuffer(); } - this.doubleBuffer.clear(); - this.doubleBuffer.put(0.0D).put(1.0D).put(0.0D).put((-30)).flip(); + doubleBuffer.clear(); + doubleBuffer.put(0).put(1).put(0).put(-30).flip(); - GL11.glClipPlane(GL11.GL_CLIP_PLANE0, this.doubleBuffer); - this.doubleBuffer.clear(); - this.doubleBuffer.put(0.0D).put(-1.0D).put(0.0D).put(yBottom).flip(); + GL11.glClipPlane(GL11.GL_CLIP_PLANE0, doubleBuffer); + doubleBuffer.clear(); + doubleBuffer.put(0).put(-1).put(0).put(yBottom).flip(); - GL11.glClipPlane(GL11.GL_CLIP_PLANE1, this.doubleBuffer); + GL11.glClipPlane(GL11.GL_CLIP_PLANE1, doubleBuffer); GL11.glEnable(GL11.GL_CLIP_PLANE0); GL11.glEnable(GL11.GL_CLIP_PLANE1); } @@ -560,28 +556,28 @@ public class GuiSkins extends GuiScreen { } private Map getMetadata() { - return ImmutableMap.of("model", this.thinArmType ? "slim" : "default"); + return ImmutableMap.of("model", thinArmType ? "slim" : "default"); } private void setUploadError(@Nullable String error) { - this.uploadError = error; - this.btnUpload.enabled = true; + uploadError = error; + btnUpload.enabled = true; } private Void onFailure(Throwable t) { t = Throwables.getRootCause(t); LogManager.getLogger().warn("Upload failed", t); - this.setUploadError(t.toString()); - this.uploadingSkin = false; + setUploadError(t.toString()); + uploadingSkin = false; return null; } private void onUploadComplete(SkinUploadResponse response) { LiteLoaderLogger.info("Upload completed with: %s", response); - this.uploadingSkin = false; - this.pendingRemoteSkinRefresh = true; + uploadingSkin = false; + pendingRemoteSkinRefresh = true; } static { diff --git a/src/hdskins/java/com/voxelmodpack/hdskins/gui/RenderPlayerModel.java b/src/hdskins/java/com/voxelmodpack/hdskins/gui/RenderPlayerModel.java index 544eab00..c13121a7 100644 --- a/src/hdskins/java/com/voxelmodpack/hdskins/gui/RenderPlayerModel.java +++ b/src/hdskins/java/com/voxelmodpack/hdskins/gui/RenderPlayerModel.java @@ -31,7 +31,7 @@ public class RenderPlayerModel extends RenderLiving private static final ModelPlayer THIN = new ModelPlayer(0, true); public RenderPlayerModel(RenderManager renderer) { - super(renderer, FAT, 0.0F); + super(renderer, FAT, 0); this.addLayer(this.getElytraLayer()); } @@ -44,14 +44,14 @@ public class RenderPlayerModel extends RenderLiving ItemStack itemstack = entity.getItemStackFromSlot(EntityEquipmentSlot.CHEST); if (itemstack.getItem() == Items.ELYTRA) { - GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); + GlStateManager.color(1, 1, 1, 1); GlStateManager.enableBlend(); GlStateManager.blendFunc(GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO); bindTexture(entity.getElytraTexture()); GlStateManager.pushMatrix(); - GlStateManager.translate(0.0F, 0.0F, 0.125F); + GlStateManager.translate(0, 0, 0.125F); modelElytra.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scale, entity); modelElytra.render(entity, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scale); @@ -69,18 +69,18 @@ public class RenderPlayerModel extends RenderLiving } @Override - protected ResourceLocation getEntityTexture(M var1) { - return var1.getSkinTexture(); + protected ResourceLocation getEntityTexture(M entity) { + return entity.getSkinTexture(); } @Override - protected boolean canRenderName(M targetEntity) { - return Minecraft.getMinecraft().player != null && super.canRenderName(targetEntity); + protected boolean canRenderName(M entity) { + return Minecraft.getMinecraft().player != null && super.canRenderName(entity); } @Override - protected boolean setBrightness(M entitylivingbaseIn, float partialTicks, boolean p_177092_3_) { - return Minecraft.getMinecraft().world != null && super.setBrightness(entitylivingbaseIn, partialTicks, p_177092_3_); + protected boolean setBrightness(M entity, float partialTicks, boolean combineTextures) { + return Minecraft.getMinecraft().world != null && super.setBrightness(entity, partialTicks, combineTextures); } public ModelPlayer getEntityModel(M entity) { @@ -88,8 +88,8 @@ public class RenderPlayerModel extends RenderLiving } @Override - public void doRender(M par1Entity, double par2, double par4, double par6, float par8, float par9) { - ModelPlayer player = this.getEntityModel(par1Entity); + public void doRender(M entity, double x, double y, double z, float entityYaw, float partialTicks) { + ModelPlayer player = this.getEntityModel(entity); this.mainModel = player; Set parts = Minecraft.getMinecraft().gameSettings.getModelParts(); @@ -104,22 +104,22 @@ public class RenderPlayerModel extends RenderLiving player.rightArmPose = ArmPose.EMPTY; GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS); - super.doRender(par1Entity, par2, par4, par6, par8, par9); + super.doRender(entity, x, y, z, entityYaw, partialTicks); popAttrib(); pushMatrix(); - scale(1.0F, -1.0F, 1.0F); + scale(1, -1, 1); GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS); - super.doRender(par1Entity, par2, par4, par6, par8, par9); + super.doRender(entity, x, y, z, entityYaw, partialTicks); popAttrib(); popMatrix(); } @Override - protected void preRenderCallback(M par1EntityLiving, float par2) { - this.renderCloak(par1EntityLiving, par2); + protected void preRenderCallback(M entity, float partialTicks) { + renderCloak(entity, partialTicks); } - protected void renderCloak(M entity, float par2) { - super.preRenderCallback(entity, par2); + protected void renderCloak(M entity, float partialTicks) { + super.preRenderCallback(entity, partialTicks); } } diff --git a/src/hdskins/java/com/voxelmodpack/hdskins/mixin/MixinImageBufferDownload.java b/src/hdskins/java/com/voxelmodpack/hdskins/mixin/MixinImageBufferDownload.java index 58be43b9..28afaf0a 100644 --- a/src/hdskins/java/com/voxelmodpack/hdskins/mixin/MixinImageBufferDownload.java +++ b/src/hdskins/java/com/voxelmodpack/hdskins/mixin/MixinImageBufferDownload.java @@ -14,15 +14,13 @@ import java.awt.image.BufferedImage; @Mixin(ImageBufferDownload.class) public abstract class MixinImageBufferDownload implements IImageBuffer { - @Inject( - method = "parseUserSkin(Ljava/awt/image/BufferedImage;)Ljava/awt/image/BufferedImage;", + @Inject(method = "parseUserSkin(Ljava/awt/image/BufferedImage;)Ljava/awt/image/BufferedImage;", at = @At("RETURN"), cancellable = true) private void update(BufferedImage image, CallbackInfoReturnable ci) { // convert skins from mojang server - BufferedImage image2 = ci.getReturnValue(); - boolean isLegacy = image.getHeight() == 32; - if (isLegacy) { + if (image.getHeight() == 32) { + BufferedImage image2 = ci.getReturnValue(); Graphics graphics = image2.getGraphics(); HDSkinManager.INSTANCE.convertSkin(image2, graphics); graphics.dispose(); diff --git a/src/hdskins/java/com/voxelmodpack/hdskins/mixin/MixinPlayerInfo.java b/src/hdskins/java/com/voxelmodpack/hdskins/mixin/MixinPlayerInfo.java index 432c383d..84ab9b04 100644 --- a/src/hdskins/java/com/voxelmodpack/hdskins/mixin/MixinPlayerInfo.java +++ b/src/hdskins/java/com/voxelmodpack/hdskins/mixin/MixinPlayerInfo.java @@ -20,24 +20,21 @@ public abstract class MixinPlayerInfo { @Shadow public abstract GameProfile getGameProfile(); - @Inject( - method = "getLocationSkin", + @Inject(method = "getLocationSkin", cancellable = true, at = @At("RETURN")) private void getLocationSkin(CallbackInfoReturnable ci) { getTextureLocation(ci, Type.SKIN); } - @Inject( - method = "getLocationCape", + @Inject(method = "getLocationCape", cancellable = true, at = @At("RETURN")) private void getLocationCape(CallbackInfoReturnable ci) { getTextureLocation(ci, Type.CAPE); } - @Inject( - method = "getLocationElytra", + @Inject(method = "getLocationElytra", cancellable = true, at = @At("RETURN")) private void getLocationElytra(CallbackInfoReturnable ci) { @@ -49,8 +46,7 @@ public abstract class MixinPlayerInfo { texture.ifPresent(ci::setReturnValue); } - @Inject( - method = "getSkinType", + @Inject(method = "getSkinType", cancellable = true, at = @At("RETURN")) private void getSkinType(CallbackInfoReturnable ci) { diff --git a/src/hdskins/java/com/voxelmodpack/hdskins/skins/LegacySkinServer.java b/src/hdskins/java/com/voxelmodpack/hdskins/skins/LegacySkinServer.java index 418d0fd3..44c0ff69 100644 --- a/src/hdskins/java/com/voxelmodpack/hdskins/skins/LegacySkinServer.java +++ b/src/hdskins/java/com/voxelmodpack/hdskins/skins/LegacySkinServer.java @@ -46,7 +46,7 @@ public class LegacySkinServer implements SkinServer { @Override public Map getPreviewTextures(GameProfile profile) { - if (Strings.isNullOrEmpty(this.gateway)) { + if (Strings.isNullOrEmpty(gateway)) { return Collections.emptyMap(); } Map map = new EnumMap<>(MinecraftProfileTexture.Type.class); @@ -61,7 +61,7 @@ public class LegacySkinServer implements SkinServer { ImmutableMap.Builder builder = ImmutableMap.builder(); for (MinecraftProfileTexture.Type type : MinecraftProfileTexture.Type.values()) { - String url = getPath(this.address, type, profile); + String url = getPath(address, type, profile); try { HttpURLConnection urlConnection = (HttpURLConnection) new URL(url).openConnection(); if (urlConnection.getResponseCode() / 100 != 2) { @@ -76,7 +76,7 @@ public class LegacySkinServer implements SkinServer { Map map = builder.build(); if (map.isEmpty()) { - logger.debug("No textures found for {} at {}", profile, this.address); + logger.debug("No textures found for {} at {}", profile, address); return Optional.empty(); } @@ -86,7 +86,7 @@ public class LegacySkinServer implements SkinServer { @SuppressWarnings("deprecation") @Override public CompletableFuture uploadSkin(Session session, @Nullable URI image, MinecraftProfileTexture.Type type, Map metadata) { - if (Strings.isNullOrEmpty(this.gateway)) { + if (Strings.isNullOrEmpty(gateway)) { return CallableFutures.failedFuture(new NullPointerException("gateway url is blank")); } @@ -94,7 +94,7 @@ public class LegacySkinServer implements SkinServer { SkinServer.verifyServerConnection(session, SERVER_ID); String model = metadata.getOrDefault("model", "default"); Map data = image == null ? getClearData(session, type) : getUploadData(session, type, model, image); - ThreadMultipartPostUpload upload = new ThreadMultipartPostUpload(this.gateway, data); + ThreadMultipartPostUpload upload = new ThreadMultipartPostUpload(gateway, data); String response = upload.uploadMultipart(); if (response.startsWith("ERROR: ")) { response = response.substring(7); @@ -132,8 +132,8 @@ public class LegacySkinServer implements SkinServer { @Override public String toString() { return new ToStringBuilder(this, IndentedToStringStyle.INSTANCE) - .append("address", this.address) - .append("gateway", this.gateway) + .append("address", address) + .append("gateway", gateway) .build(); } } diff --git a/src/hdskins/java/com/voxelmodpack/hdskins/skins/ValhallaSkinServer.java b/src/hdskins/java/com/voxelmodpack/hdskins/skins/ValhallaSkinServer.java index dd8f309d..5ea734e4 100644 --- a/src/hdskins/java/com/voxelmodpack/hdskins/skins/ValhallaSkinServer.java +++ b/src/hdskins/java/com/voxelmodpack/hdskins/skins/ValhallaSkinServer.java @@ -54,7 +54,6 @@ public class ValhallaSkinServer implements SkinServer { @Override public Optional loadProfileData(GameProfile profile) { - try (CloseableHttpClient client = HttpClients.createSystem(); CloseableHttpResponse response = client.execute(new HttpGet(getTexturesURI(profile)))) { @@ -65,6 +64,7 @@ public class ValhallaSkinServer implements SkinServer { } catch (IOException e) { e.printStackTrace(); } + return Optional.empty(); } @@ -128,7 +128,6 @@ public class ValhallaSkinServer implements SkinServer { } private SkinUploadResponse uploadUrl(CloseableHttpClient client, URI uri, GameProfile profile, MinecraftProfileTexture.Type type, Map metadata) throws IOException { - return upload(client, RequestBuilder.post() .setUri(buildUserTextureUri(profile, type)) .addHeader(HttpHeaders.AUTHORIZATION, this.accessToken) @@ -147,9 +146,10 @@ public class ValhallaSkinServer implements SkinServer { private void authorize(CloseableHttpClient client, Session session) throws IOException, AuthenticationException { - if (this.accessToken != null) { + if (accessToken != null) { return; } + GameProfile profile = session.getProfile(); String token = session.getToken(); AuthHandshake handshake = authHandshake(client, profile.getName()); @@ -165,11 +165,13 @@ public class ValhallaSkinServer implements SkinServer { if (!response.userId.equals(profile.getId())) { throw new IOException("UUID mismatch!"); // probably won't ever throw } - this.accessToken = response.accessToken; + + accessToken = response.accessToken; } private T readJson(HttpResponse resp, Class cl) throws IOException { String type = resp.getEntity().getContentType().getValue(); + if (!"application/json".equals(type)) { try { throw new IOException("Server returned a non-json response!"); @@ -177,11 +179,13 @@ public class ValhallaSkinServer implements SkinServer { EntityUtils.consumeQuietly(resp.getEntity()); } } + try (Reader r = new InputStreamReader(resp.getEntity().getContent())) { if (resp.getStatusLine().getStatusCode() != HttpStatus.SC_OK) { // TODO specific error handling throw new IOException(gson.fromJson(r, JsonObject.class).get("message").getAsString()); } + return gson.fromJson(r, cl); } } @@ -208,26 +212,26 @@ public class ValhallaSkinServer implements SkinServer { private URI buildUserTextureUri(GameProfile profile, MinecraftProfileTexture.Type textureType) { String user = UUIDTypeAdapter.fromUUID(profile.getId()); String skinType = textureType.name().toLowerCase(Locale.US); - return URI.create(String.format("%s/user/%s/%s", this.address, user, skinType)); + return URI.create(String.format("%s/user/%s/%s", address, user, skinType)); } private URI getTexturesURI(GameProfile profile) { Preconditions.checkNotNull(profile.getId(), "profile id required for skins"); - return URI.create(String.format("%s/user/%s", this.address, UUIDTypeAdapter.fromUUID(profile.getId()))); + return URI.create(String.format("%s/user/%s", address, UUIDTypeAdapter.fromUUID(profile.getId()))); } private URI getHandshakeURI() { - return URI.create(String.format("%s/auth/handshake", this.address)); + return URI.create(String.format("%s/auth/handshake", address)); } private URI getResponseURI() { - return URI.create(String.format("%s/auth/response", this.address)); + return URI.create(String.format("%s/auth/response", address)); } @Override public String toString() { return new ToStringBuilder(this, IndentedToStringStyle.INSTANCE) - .append("address", this.address) + .append("address", address) .toString(); } diff --git a/src/hdskins/java/com/voxelmodpack/hdskins/upload/awt/ThreadOpenFile.java b/src/hdskins/java/com/voxelmodpack/hdskins/upload/awt/ThreadOpenFile.java index 51502a90..86b27cef 100644 --- a/src/hdskins/java/com/voxelmodpack/hdskins/upload/awt/ThreadOpenFile.java +++ b/src/hdskins/java/com/voxelmodpack/hdskins/upload/awt/ThreadOpenFile.java @@ -21,12 +21,9 @@ public abstract class ThreadOpenFile extends Thread { */ protected final IOpenFileCallback parentScreen; - private JFileChooser fileDialog; - private static String lastChosenFile = null; - protected ThreadOpenFile(Minecraft minecraft, String dialogTitle, IOpenFileCallback callback) - throws IllegalStateException { + protected ThreadOpenFile(Minecraft minecraft, String dialogTitle, IOpenFileCallback callback) throws IllegalStateException { if (minecraft.isFullScreen()) { throw new IllegalStateException("Cannot open an awt window whilst minecraft is in full screen mode!"); } @@ -37,13 +34,13 @@ public abstract class ThreadOpenFile extends Thread { @Override public void run() { - fileDialog = new JFileChooser(); - fileDialog.setDialogTitle(this.dialogTitle); + JFileChooser fileDialog = new JFileChooser(); + fileDialog.setDialogTitle(dialogTitle); if (lastChosenFile != null) { fileDialog.setSelectedFile(new File(lastChosenFile)); } - fileDialog.setFileFilter(this.getFileFilter()); + fileDialog.setFileFilter(getFileFilter()); int dialogResult = fileDialog.showOpenDialog(InternalDialog.getAWTContext()); @@ -53,7 +50,7 @@ public abstract class ThreadOpenFile extends Thread { lastChosenFile = f.getAbsolutePath(); } - this.parentScreen.onFileOpenDialogClosed(fileDialog, dialogResult); + parentScreen.onFileOpenDialogClosed(fileDialog, dialogResult); } /**