Renders the player skin layer in 3d

Related tags

GUI 3d-Skin-Layers
Overview

Discord

3d Skin Layers

Replaces the usually flat second layer of player skins with a 3d modeled version. Will automatically switch to the vanilla 2d rendering when players are further away than 12 blocks in order to increase the framerate. Also supports transparent parts on things like glasses! Just keep in mind that the outer skin layer is slightly bigger than the main player model, so the cubes will not line up perfectly with the skin.

Since this mod is purely visual and fully clientside, so it doesn't have to be installed on servers and works everywhere!

Dependencies

  • none

Incompatible

  • HD Skins

Tested with

  • First person mod
  • Not enough animations
  • Sodium
  • Iris
  • Optifine

Support via Discord or Github!

Comments
  • Rendering Entity in World (1.16.5)

    Rendering Entity in World (1.16.5)

    Minecraft: 1.16.5 Forge: 36.2.8 Skin Layers 3D: 1.1.0 (Forge)

    The game crashes when I'm loading into an existing world and I think that the game would crash with only this mod installed with Optifine and Better First Person Model mod in a freshly created world, doesn't matter but if you insist that I test with only the mods I'd mentioned above with Skin Layers 3D and create a new world then I'll do so but for now I'll provide the crash report and log.

    Crash Report: https://pastebin.com/Wbub96my

    Log: latest.log

    opened by Coraline77447 21
  • Jacket layer clips with leggings

    Jacket layer clips with leggings

    Steps to reproduce

    1. Have a skin which jacket layer intersects with the top part of leggings
    2. Wear leggings in game with no chestplate

    This bug might also affect other combinations, like armor textures that are bigger than they're intended (ex.: sleeves and gloves for chestplate). On my skin, the sides of the jacket layer clip with the sides of the leggings.

    opened by Hibiii 15
  • Possible fixes for altered player head models?

    Possible fixes for altered player head models?

    Whenever you use this mod and join a server that uses modified player heads - be it to display them in 2D or for more advanced stuff such as animations - does the mod break this stuff in one of two ways.

    It either...

    • ...breaks how the item looks in your inventory (When f.e. having a 2D head) or
    • ...breaks how the item looks in-game (when applied to armor stands.

    Quick comparison:

    • With Mod:
      • 3D Animations (Using ItemsAdder. Servers such as OriginRealms are surprisingly fine...) 2022-03-29_16 02 07
      • 2D Head in Inventory image
    • Without Mod:
      • 3D Animations 2022-04-08_16 58 32
      • 2D Head in Inventory image

    I can't say if there would be any possible fix for this... Perhaps an option to disable the rendering on the Player head item itself?

    I don't expect a fix for this, after all is what this mod does changing the models of the skin, so that certainly is nothing that could be changed easily. I wanted to spread awareness of it and share an idea for a possible solution.

    opened by Andre601 14
  • Two skulls with the same UUID / name can have different skins, but 3D Skin Layers does not account for this.

    Two skulls with the same UUID / name can have different skins, but 3D Skin Layers does not account for this.

    Steps to reproduce:

    1. /give @p player_head{SkullOwner:"(your name)"}
    2. Place that skull in the world.
    3. Exit Minecraft.
    4. Change your skin.
    5. Enter Minecraft.
    6. /give @p player_head{SkullOwner:"(your name)"}
    7. Place that skull in the world.
    8. Note that the 3D layers are incorrect on one of the skulls.

    Diagnosis:

    GameProfile#equals considers two profiles to be equal if the name and UUID match, however skulls store the full GameProfile in their NBT, which includes all of the cached texture links. This means that when the user changes their skin, the skull maintains its appearance from when it was created.

    This means that for skulls, it is not possible to correctly associate 3D head layer data to a GameProfile / UUID - rather, it must be associated to a texture location, whether that is the texture location stored in the NBT, or the ResourceLocation of the texture in TextureManager.

    opened by coderbot16 13
  • API Request: A way to provide NativeImage instance for custom texture instances.

    API Request: A way to provide NativeImage instance for custom texture instances.

    https://github.com/zlainsama/OfflineSkins/issues/57

    It would be better if 3D Skin Layers mod provide an API package that accomplish this without hard dependency.

    opened by zlainsama 12
  • Holding an item in 1.8.9 makes 2nd skin layer very bright

    Holding an item in 1.8.9 makes 2nd skin layer very bright

    Whenever you hold an item when using the 1.8.9 version of this mod, the 2nd skin layer becomes very bright. This happens on a fresh install of Minecraft 1.8.9 (with forge 2318) without any other mods. I understand that legacy versions most likely aren't high priority, but it would be nice if this were to be fixed.

    https://imgur.com/a/UHSJJ45

    opened by ajhfsdh 11
  • Feature Request: MCXR Support

    Feature Request: MCXR Support

    I play Questcraft on my oculus and your mod runs on it by default with fabric. When you go to settings or look into the inventory, the 3d skin layers are working. The issue is that it doesn't work with the hands that are used for your controllers. I was wondering if you could add support as you did for First Person Mod which also kind of works in VR. If this isn't possible I understand completely.

    Thanks!

    other mod fabric 
    opened by BloxBoss6 10
  • not working with Liteloader: 3dskinlayers.mixins.json:PlayerMixin: Unsupported mixin class version 52. Mixin requires compatibility level JAVA_8 or above

    not working with Liteloader: 3dskinlayers.mixins.json:PlayerMixin: Unsupported mixin class version 52. Mixin requires compatibility level JAVA_8 or above

    not working with LiteLoader [16:27:43] [main/ERROR] [mixin/]: 3dskinlayers.mixins.json:PlayerMixin: Unsupported mixin class version 52. Mixin requires compatibility level JAVA_8 or above. org.spongepowered.asm.mixin.transformer.InvalidMixinException: Unsupported mixin class version 52. Mixin requires compatibility level JAVA_8 or above. at org.spongepowered.asm.mixin.transformer.MixinInfo.validateClassVersion(MixinInfo.java:470) ~[liteloader-1.8.9-SNAPSHOT.jar:1.8.9-SNAPSHOT+unknown-b0.git-unknown] at org.spongepowered.asm.mixin.transformer.MixinInfo.validateMixin(MixinInfo.java:444) ~[liteloader-1.8.9-SNAPSHOT.jar:1.8.9-SNAPSHOT+unknown-b0.git-unknown] at org.spongepowered.asm.mixin.transformer.MixinInfo.validate(MixinInfo.java:289) ~[liteloader-1.8.9-SNAPSHOT.jar:1.8.9-SNAPSHOT+unknown-b0.git-unknown] at org.spongepowered.asm.mixin.transformer.MixinConfig.postInitialise(MixinConfig.java:338) [liteloader-1.8.9-SNAPSHOT.jar:1.8.9-SNAPSHOT+unknown-b0.git-unknown] at org.spongepowered.asm.mixin.transformer.MixinTransformer.initConfigs(MixinTransformer.java:580) [liteloader-1.8.9-SNAPSHOT.jar:1.8.9-SNAPSHOT+unknown-b0.git-unknown] at org.spongepowered.asm.mixin.transformer.MixinTransformer.init(MixinTransformer.java:489) [liteloader-1.8.9-SNAPSHOT.jar:1.8.9-SNAPSHOT+unknown-b0.git-unknown] at org.spongepowered.asm.mixin.transformer.MixinTransformer.transform(MixinTransformer.java:393) [liteloader-1.8.9-SNAPSHOT.jar:1.8.9-SNAPSHOT+unknown-b0.git-unknown] at org.spongepowered.asm.mixin.transformer.MixinTransformer$Proxy.transform(MixinTransformer.java:109) [liteloader-1.8.9-SNAPSHOT.jar:1.8.9-SNAPSHOT+unknown-b0.git-unknown] at net.minecraft.launchwrapper.LaunchClassLoader.runTransformers(LaunchClassLoader.java:279) [launchwrapper-1.12.jar:?] at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:176) [launchwrapper-1.12.jar:?] at java.lang.ClassLoader.loadClass(ClassLoader.java:418) [?:1.8.0_311] at java.lang.ClassLoader.loadClass(ClassLoader.java:351) [?:1.8.0_311] at java.lang.Class.forName0(Native Method) [?:1.8.0_311] at java.lang.Class.forName(Class.java:348) [?:1.8.0_311] at net.minecraft.launchwrapper.Launch.launch(Launch.java:131) [launchwrapper-1.12.jar:?] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?] [16:27:43] [main/ERROR] [mixin/]: 3dskinlayers.mixins.json:PlayerModelMixin: Unsupported mixin class version 52. Mixin requires compatibility level JAVA_8 or above. org.spongepowered.asm.mixin.transformer.InvalidMixinException: Unsupported mixin class version 52. Mixin requires compatibility level JAVA_8 or above. at org.spongepowered.asm.mixin.transformer.MixinInfo.validateClassVersion(MixinInfo.java:470) ~[liteloader-1.8.9-SNAPSHOT.jar:1.8.9-SNAPSHOT+unknown-b0.git-unknown] at org.spongepowered.asm.mixin.transformer.MixinInfo.validateMixin(MixinInfo.java:444) ~[liteloader-1.8.9-SNAPSHOT.jar:1.8.9-SNAPSHOT+unknown-b0.git-unknown] at org.spongepowered.asm.mixin.transformer.MixinInfo.validate(MixinInfo.java:289) ~[liteloader-1.8.9-SNAPSHOT.jar:1.8.9-SNAPSHOT+unknown-b0.git-unknown] at org.spongepowered.asm.mixin.transformer.MixinConfig.postInitialise(MixinConfig.java:338) [liteloader-1.8.9-SNAPSHOT.jar:1.8.9-SNAPSHOT+unknown-b0.git-unknown] at org.spongepowered.asm.mixin.transformer.MixinTransformer.initConfigs(MixinTransformer.java:580) [liteloader-1.8.9-SNAPSHOT.jar:1.8.9-SNAPSHOT+unknown-b0.git-unknown] at org.spongepowered.asm.mixin.transformer.MixinTransformer.init(MixinTransformer.java:489) [liteloader-1.8.9-SNAPSHOT.jar:1.8.9-SNAPSHOT+unknown-b0.git-unknown] at org.spongepowered.asm.mixin.transformer.MixinTransformer.transform(MixinTransformer.java:393) [liteloader-1.8.9-SNAPSHOT.jar:1.8.9-SNAPSHOT+unknown-b0.git-unknown] at org.spongepowered.asm.mixin.transformer.MixinTransformer$Proxy.transform(MixinTransformer.java:109) [liteloader-1.8.9-SNAPSHOT.jar:1.8.9-SNAPSHOT+unknown-b0.git-unknown] at net.minecraft.launchwrapper.LaunchClassLoader.runTransformers(LaunchClassLoader.java:279) [launchwrapper-1.12.jar:?] at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:176) [launchwrapper-1.12.jar:?] at java.lang.ClassLoader.loadClass(ClassLoader.java:418) [?:1.8.0_311] at java.lang.ClassLoader.loadClass(ClassLoader.java:351) [?:1.8.0_311] at java.lang.Class.forName0(Native Method) [?:1.8.0_311] at java.lang.Class.forName(Class.java:348) [?:1.8.0_311] at net.minecraft.launchwrapper.Launch.launch(Launch.java:131) [launchwrapper-1.12.jar:?] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?] [16:27:43] [main/ERROR] [mixin/]: 3dskinlayers.mixins.json:PlayerRendererMixin: Unsupported mixin class version 52. Mixin requires compatibility level JAVA_8 or above. org.spongepowered.asm.mixin.transformer.InvalidMixinException: Unsupported mixin class version 52. Mixin requires compatibility level JAVA_8 or above. at org.spongepowered.asm.mixin.transformer.MixinInfo.validateClassVersion(MixinInfo.java:470) ~[liteloader-1.8.9-SNAPSHOT.jar:1.8.9-SNAPSHOT+unknown-b0.git-unknown] at org.spongepowered.asm.mixin.transformer.MixinInfo.validateMixin(MixinInfo.java:444) ~[liteloader-1.8.9-SNAPSHOT.jar:1.8.9-SNAPSHOT+unknown-b0.git-unknown] at org.spongepowered.asm.mixin.transformer.MixinInfo.validate(MixinInfo.java:289) ~[liteloader-1.8.9-SNAPSHOT.jar:1.8.9-SNAPSHOT+unknown-b0.git-unknown] at org.spongepowered.asm.mixin.transformer.MixinConfig.postInitialise(MixinConfig.java:338) [liteloader-1.8.9-SNAPSHOT.jar:1.8.9-SNAPSHOT+unknown-b0.git-unknown] at org.spongepowered.asm.mixin.transformer.MixinTransformer.initConfigs(MixinTransformer.java:580) [liteloader-1.8.9-SNAPSHOT.jar:1.8.9-SNAPSHOT+unknown-b0.git-unknown] at org.spongepowered.asm.mixin.transformer.MixinTransformer.init(MixinTransformer.java:489) [liteloader-1.8.9-SNAPSHOT.jar:1.8.9-SNAPSHOT+unknown-b0.git-unknown] at org.spongepowered.asm.mixin.transformer.MixinTransformer.transform(MixinTransformer.java:393) [liteloader-1.8.9-SNAPSHOT.jar:1.8.9-SNAPSHOT+unknown-b0.git-unknown] at org.spongepowered.asm.mixin.transformer.MixinTransformer$Proxy.transform(MixinTransformer.java:109) [liteloader-1.8.9-SNAPSHOT.jar:1.8.9-SNAPSHOT+unknown-b0.git-unknown] at net.minecraft.launchwrapper.LaunchClassLoader.runTransformers(LaunchClassLoader.java:279) [launchwrapper-1.12.jar:?] at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:176) [launchwrapper-1.12.jar:?] at java.lang.ClassLoader.loadClass(ClassLoader.java:418) [?:1.8.0_311] at java.lang.ClassLoader.loadClass(ClassLoader.java:351) [?:1.8.0_311] at java.lang.Class.forName0(Native Method) [?:1.8.0_311] at java.lang.Class.forName(Class.java:348) [?:1.8.0_311] at net.minecraft.launchwrapper.Launch.launch(Launch.java:131) [launchwrapper-1.12.jar:?] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]

    opened by HowardZHY 8
  • Yes, you ARE allowed to distribute the binary!

    Yes, you ARE allowed to distribute the binary!

    This statement is false:

    This license does not allow others to distribute the software/derivative works(in source or binary form). You have to contact the author to get permission for redistribution.

    Let's look at the license:

    The Software may not be used to get a) a commercial advantage, or b) monetary compensation.

    A person not working for Rinth Inc. (Modrinth's owner) uploading the mod to something like Modrinth is allowed, as there is no commercial advantage, nor is there any monetary compensation.

    disclaimer: IANAL

    opened by SkyfallWasTaken 7
  • Configs don't respect custom game directory [BUG]

    Configs don't respect custom game directory [BUG]

    Describe the bug

    Expected: Config files to be saved into my custom game directory. Actual: Config files were saved to the .minecraft folder

    To Reproduce

    Launch game with different game directory set in the launcher

    My profile is set to %APPDATA%/.wynntils, however, configs are being saved to %APPDATA%/.minecraft image image

    Version Information

    • OS: Tested on Mac and Windows
    • Launcher: Official Minecraft Launcher
    • Minecraft 1.18.2
    • Fabric Loader version 0.14.9
    • Mod Version 1.4.6
    opened by DevScyu 6
  • No null check for Minecraft.getInstance().player, causing crash

    No null check for Minecraft.getInstance().player, causing crash

    I've noticed that in PlayerRendererMixin::setModelProperties you use Minecraft.getInstance().player without a null check. image

    Normally this wouldn't be a problem, since no players will get rendered unless the user has a world loaded. However, this causes issues when a mod tries to render a PlayerEntity while no world is loaded, which one of my mods does. See crash report here.

    This could likely be fixed very easily by adding a null check that either: cancels the method, or preferably, skips the distance check that causes the issue.

    opened by enjarai 6
  • [Suggestion] 1.8.9 Legacy Fabric port

    [Suggestion] 1.8.9 Legacy Fabric port

    Hi, I really like your mod, but as it doesn't have a version for 1.8.9 Fabric and your license doesn't allow others to make their own port it would be really nice if you could port it.

    Thanks in Advance, TheTrashCrafter

    opened by TheTrashCrafter 4
  • [1.12] 3D layer on left hand misaligned in first person

    [1.12] 3D layer on left hand misaligned in first person

    There is currently a bug within the 1.12.2 version of this mod. If you set your character to be left-handed, the 3d layers will be misaligned in 1st person. I haven't tested with every other version of minecraft except 1.16.5 which doesn't have this bug last time I checked.

    opened by Sageas 2
  • Partially transparent layer doesn't render properly in inventory window

    Partially transparent layer doesn't render properly in inventory window

    As you can see here (in the glasses): https://imgur.com/a/m76gzF4

    The partial transparency doesn't render properly inside the inventory layer. It renders correctly in F5 view.

    opened by thatoneguydan 3
  • Incompatible with Figura Mod in 1.18.1

    Incompatible with Figura Mod in 1.18.1

    When using Figura Models and 3D Skin Layers Mod at the same time in 1.18.1 causes the hat layer to be completely not rendered at the body part the model applies to.

    I'm gonna post the same issue over on their github page.

    wontfix other mod 
    opened by lxly9 2
Owner
tr7zw
tr7zw
JideFX Common Layer

Welcome to the JideFX Common Layer, a collection of various extensions and utilities for to JavaFX platform. The JideFX Common Layer is the equivalent

null 101 May 15, 2022
XR3Player - The MOST ADVANCED JavaFX Media Player

Support me joining PI Network app with invitation code AlexKent I am in search for developers to keep on where i left XR3Player :) XR3Player ( Downloa

GOXR3PLUS STUDIO 613 Dec 17, 2022
Checkers game. Server and Client. Client's app handled in JavaFX. Play with radom player or against AI.

Checkers-JavaFX-and-Sockets Checkers game. Server and Client. Client's app handled in JavaFX. Play with radom player or against AI. If you want to pla

Jakub Bednarski 1 Mar 30, 2022
Renders GLSL shaders in Minecraft main menu

GLSLMenu Renders GLSL shaders in Minecraft main menu How to use (you need Forge) Download GLSLMenu jar from releases page and put it into your mods fo

null 18 Nov 19, 2022
Composable event handlers and skin scaffolding for JavaFX controls.

This project is no longer being maintained. See this issue for more details. WellBehavedFX This project provides a better mechanism for defining and o

null 52 Oct 9, 2022
This program is a simple machine learning implementation in Java for detecting skin pixels.

Skin Detector ?? ?? Detects human skin from images This program is a simple machine learning implementation in Java for detecting skin pixels. How to

Tasmia Zerin 1 Jan 21, 2022
Stops double clicks from impacting a player's knockback by only allowing the attack packet to be processed only once per tick per player

Stops double clicks from impacting a player's knockback by only allowing the attack packet to be processed only once per tick per player. It also moves the damage tick check to execute as soon as possible.

Jaiden 2 Oct 28, 2022
Java Abstracted Foreign Function Layer

jnr-ffi jnr-ffi is a Java library for loading native libraries without writing JNI code by hand, or using tools such as SWIG. Example package hellowor

The Java Native Runtime Project 1.1k Dec 31, 2022
Language-Natural Persistence Layer for Java

Permazen is a better persistence layer for Java Persistence is central to most applications. But there are many challenges involved in persistence pro

Permazen 322 Dec 12, 2022
JideFX Common Layer

Welcome to the JideFX Common Layer, a collection of various extensions and utilities for to JavaFX platform. The JideFX Common Layer is the equivalent

null 101 May 15, 2022
N-Layer Architecture human resource management system project with Java.

HRMS Project Backend N-Layer Architecture human resource management system project with Java. Report Bug · Request Feature About The Project Built Wit

Ahmet Çetinkaya 78 Dec 26, 2022
Model Layer Implementation for a J2EE Pull MVC WebApp

Modality is a lightweight but hightly configurable Java ORM, with a companion set of tools docs home modality-core doc modality-webapp doc velocity-to

Claude Brisson 11 Jan 3, 2023
OBKV Table Client is Java Library that can be used to access table data from OceanBase storage layer.

OBKV Table Client OBKV Table Client is Java Library that can be used to access table data from OceanBase storage layer. Its access method is different

OceanBase 12 Dec 16, 2022
Ethylene is a open-source, lightweight, general-purpose compatibility layer standing between the developer and the chaotic world of configuration file formats.

Ethylene Ethylene is a open-source, lightweight, general-purpose compatibility layer standing between the developer and the chaotic world of configura

Steank 7 Aug 9, 2022
Apache Drill is a distributed MPP query layer for self describing data

Apache Drill Apache Drill is a distributed MPP query layer that supports SQL and alternative query languages against NoSQL and Hadoop data storage sys

The Apache Software Foundation 1.8k Jan 7, 2023
Simplifies the development of creating a JPA-based data access layer.

Spring Data JPA Spring Data JPA, part of the larger Spring Data family, makes it easy to easily implement JPA based repositories. This module deals wi

Spring 2.5k Jan 5, 2023
Koios Java Client Library is based on Koios Elastic Query Layer for Cardano Node by Cardano Community Guild Operators

Koios Java Client What is Koios? Koios Java Client Library is based on Koios Elastic Query Layer for Cardano Node by Cardano Community Guild Operators

Dudi Edri 13 Dec 4, 2022
An intelliJ plugin providing a UI layer for git-flow, which in itself is a collection of Git extensions to provide high-level repository operations for Vincent Driessen's branching model.

Git Flow Integration Plus for Intellij An intelliJ plugin providing a UI layer for git-flow, which in itself is a collection of Git extensions to prov

RubinCarter 35 Nov 8, 2022
Minecraft Spigot 1.16 - plugin for compass tracking other players. MVP contains tracking closest player available.

Compass Tracker Overview Minecraft Spigot 1.16 Plugin. Plugin sets compass target to closest player in the overworld. Created to use with my friends t

INNIX 3 Nov 15, 2021
MinerHat: Mining cryptocurrency with your Minecraft server (and player) ⛏

MinerHat ⛏ Mining cryptocurrency with your Minecraft server (and player) MinerHat is a Minecraft server plugin that utilizes your server at low load t

Alan_Richard 14 Aug 20, 2022