Giter Club home page Giter Club logo

3d-skin-layers's Introduction

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, 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!

License

This project is licensed under tr7zw Protective License. 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. (For example: Modpacks(that are not hosted on CurseForge), "Clients", mod hosting sites). Keep in mind that Githubs TOS and Overwolfs TOS apply at their respective places. This (among other things) means you don't need to ask to include the mod in a CurseForge Modpack and that by contributing code it explicitly gets the same license as the repository.

3d-skin-layers's People

Contributors

alpeerkaraca avatar altegar avatar andre601 avatar burrconnie avatar dontknow09 avatar felix14-v2 avatar fitfc avatar gaider10 avatar gyular avatar hxxthswggr avatar kosmx avatar mash1133 avatar matrix-feather avatar mcxiangdon avatar spaghettube avatar spnda avatar thasave14 avatar thelegendofsaram avatar tr7zw avatar waffleibot avatar xmikux avatar yusi0 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

3d-skin-layers's Issues

3D skin layer isn't rendered

3D skin layer isn't rendered at all until you see yourself or another player.
It becomes visible when: you go into 3rd person, open your inventory, or your eyes meet with another player.

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.

crash

if use 128*128 skin will be crash

Crash between latest Sodium and 3d skin layers with Block Entity (Skeleton Skull)

Version information:

3dSkinLayers-Fabric-mc1.18-1.4.0
sodium-fabric-mc1.18.2-0.4.1+build.15

Reproduction Steps
1: Make nether portal
2: fly around the nether (or overworld), go to a chunk which has data to generate a structure that has any block entity with a skeleton skull (requires a structure datapack or structure mod since they do not generate naturally, this case being Repurposed Structures and its included required dependency)
3: crash

Here's the crash report and log:
crash-2022-03-03_09.44.22-client.txt
latest.log

Make it for 1.12.2

I just saw that you made a 1.8.9 version of your awesome mod, could you make it for 1.12.2 too? It would be cool, since a lot of people use this version to play with mods, and stuff. Thx

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.

3D layers not showing up

This can happen when loading into a singleplayer world or changing dimensions

simplescreenrecorder-2022-04-03_23.32.20.mp4

[Suggestion] Add option to disable 3d for yourself

I am suggesting adding this feature back because it was very useful. If I have a mod that changes the player, it leaves the 3d layers there, but it doesn't matter if I can just disable 3d layers for myself.

Graphic issues with Origins

The Origins mod changes the player model under some circunstances, making it translucent and/or tinted. 3D Layers are unaffected by that.

1.18.2 3D Skull Items Be Set to "Off" by Defualt

May you make the defualt option to "3D skull items" be set to "Off," in some servers the 3D skull items do not render in correctly and cause either the game to crash or cause your FPS to drop. The only known way to fix this is by setting "3D skull items" to "Off" before entering a server.

[Fabric v1.2.0] 3D Skulls crashes Single Player World.

Issue Report

Conditions

Disclaimer: This was tested in a single-player world.
Satisfying any condition below WILL result in a crash.

  • 3D Skulls: ON and your skull on the ground as a block.
  • 3D Skull Items: ON and your skull on the ground as an item.

Crash Report

With Other Mods

crash-2021-10-28_14.29.17-client.txt
---- Minecraft Crash Report ----
// I bet Cylons wouldn't have this problem.

Time: 10/28/21, 2:29 PM
Description: Unexpected error

java.lang.NullPointerException: Cannot invoke "com.mojang.authlib.minecraft.MinecraftProfileTexture.getHash()" because "☃" is null
	at Not Enough Crashes deobfuscated stack trace.(1.17.1+build.61)
	at net.minecraft.client.texture.PlayerSkinProvider.loadSkin(PlayerSkinProvider:65)
	at net.minecraft.client.texture.PlayerSkinProvider.loadSkin(PlayerSkinProvider:61)
	at dev.tr7zw.skinlayers.SkinUtil.setup3dLayers(SkinUtil.java:70)
	at net.minecraft.client.render.item.BuiltinModelItemRenderer.handler$bod000$renderByItem(BuiltinModelItemRenderer:1067)
	at net.minecraft.client.render.item.BuiltinModelItemRenderer.render(BuiltinModelItemRenderer)
	at net.minecraft.client.render.item.ItemRenderer.renderItem(ItemRenderer:132)
	at net.minecraft.client.render.item.ItemRenderer.renderItem(ItemRenderer:273)
	at net.minecraft.client.render.item.HeldItemRenderer.renderItem(HeldItemRenderer:163)
	at net.minecraft.client.render.item.HeldItemRenderer.renderFirstPersonItem(HeldItemRenderer:584)
	at net.minecraft.client.render.item.HeldItemRenderer.renderItem(HeldItemRenderer:364)
	at net.minecraft.client.render.GameRenderer.renderHand(GameRenderer:746)
	at net.minecraft.client.render.GameRenderer.renderWorld(GameRenderer:1052)
	at net.minecraft.client.render.GameRenderer.render(GameRenderer:810)
	at net.minecraft.client.MinecraftClient.render(MinecraftClient:1112)
	at net.minecraft.client.MinecraftClient.run(MinecraftClient:728)
	at net.minecraft.client.main.Main.main(Main:217)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:567)
	at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:234)
	at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:153)
	at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Render thread
Stacktrace:
	at net.minecraft.class_1071.method_4651(class_1071.java:65)
	at net.minecraft.class_1071.method_4656(class_1071.java:61)
	at dev.tr7zw.skinlayers.SkinUtil.setup3dLayers(SkinUtil.java:70)
	at net.minecraft.class_756.handler$bod000$renderByItem(class_756.java:1067)
	at net.minecraft.class_756.method_3166(class_756.java)
	at net.minecraft.class_918.method_23179(class_918.java:132)
	at net.minecraft.class_918.method_23177(class_918.java:273)
	at net.minecraft.class_759.method_3233(class_759.java:163)
	at net.minecraft.class_759.method_3228(class_759.java:584)
	at net.minecraft.class_759.method_22976(class_759.java:364)
	at net.minecraft.class_757.method_3172(class_757.java:746)
	at net.minecraft.class_757.method_3188(class_757.java:1052)

-- Affected level --
Details:
	All players: 1 total; [class_746['StartsMercury'/1, l='ClientLevel', x=-43.78, y=56.00, z=10.23]]
	Chunk stats: 1024, 272
	Level dimension: minecraft:overworld
	Level spawn location: World: (0,56,0), Section: (at 0,8,0 in 0,3,0; chunk contains blocks 0,0,0 to 15,255,15), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
	Level time: 513871 game time, 81413 day time
	Server brand: fabric
	Server type: Integrated singleplayer server
Stacktrace:
	at net.minecraft.class_638.method_8538(class_638.java:370)
	at net.minecraft.class_310.method_1587(class_310.java:2399)
	at net.minecraft.class_310.method_1514(class_310.java:752)
	at net.minecraft.client.main.Main.main(Main.java:217)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:567)
	at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:234)
	at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:153)
	at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28)

-- Last reload --
Details:
	Reload number: 1
	Reload reason: initial
	Finished: Yes
	Packs: Default, Fabric Mods, Visual+Fish+Buckets+v1.3, VanillaPatch, replaymod_lang

-- System Details --
Details:
	Minecraft Version: 1.17.1
	Minecraft Version ID: 1.17.1
	Operating System: Windows 10 (amd64) version 10.0
	Java Version: 16.0.2, Oracle Corporation
	Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode, sharing), Oracle Corporation
	Memory: 1051028936 bytes (1002 MiB) / 2060451840 bytes (1965 MiB) up to 2060451840 bytes (1965 MiB)
	CPUs: 4
	Processor Vendor: GenuineIntel
	Processor Name: Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz
	Identifier: Intel64 Family 6 Model 69 Stepping 1
	Microarchitecture: Haswell (Client)
	Frequency (GHz): 2.39
	Number of physical packages: 1
	Number of physical CPUs: 2
	Number of logical CPUs: 4
	Graphics card #0 name: Intel(R) HD Graphics Family
	Graphics card #0 vendor: Intel Corporation (0x8086)
	Graphics card #0 VRAM (MB): 1024.00
	Graphics card #0 deviceId: 0x0a16
	Graphics card #0 versionInfo: DriverVersion=20.19.15.4642
	Graphics card #1 name: AMD Radeon HD 8500M
	Graphics card #1 vendor: Advanced Micro Devices, Inc. (0x1002)
	Graphics card #1 VRAM (MB): 2048.00
	Graphics card #1 deviceId: 0x666f
	Graphics card #1 versionInfo: DriverVersion=27.20.21026.2006
	Memory slot #0 capacity (MB): 4096.00
	Memory slot #0 clockSpeed (GHz): 1.60
	Memory slot #0 type: DDR3
	Memory slot #1 capacity (MB): 2048.00
	Memory slot #1 clockSpeed (GHz): 1.60
	Memory slot #1 type: DDR3
	Virtual memory max (MB): 10881.41
	Virtual memory used (MB): 8956.33
	Swap memory total (MB): 4841.05
	Swap memory used (MB): 1254.13
	JVM Flags: 34 total; -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCIProduct -XX:-UnlockExperimentalVMOptions -XX:ThreadPriorityPolicy=1 -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmixed -Xmx2G -Xms2G -XX:+UnlockExperimentalVMOptions -XX:+CompactStrings -XX:ObjectAlignmentInBytes=8 -XX:+UseCompressedOops -XX:+BackgroundCompilation -XX:+UseDynamicNumberOfCompilerThreads -XX:+DoEscapeAnalysis -XX:+Inline -XX:+OptimizeStringConcat -XX:+TieredCompilation -XX:+SegmentedCodeCache -XX:+UseCodeCacheFlushing -XX:-UsePerfData -XX:+AggressiveHeap -XX:+AlwaysPreTouch -XX:+DisableExplicitGC -XX:-ExplicitGCInvokesConcurrent -XX:+G1UseAdaptiveIHOP -XX:MaxGCPauseMillis=50 -XX:-ParallelRefProcEnabled -XX:+ScavengeBeforeFullGC -XX:+UseGCOverheadLimit -XX:+UseNUMA -XX:+UseStringDeduplication -XX:+UseTLAB
	Fabric Mods: 
		accurateblockplacement: Accurate Block Placement 1.0.10
		advanced_runtime_resource_pack: Runtime Resource Pack 0.4.3
		advancementinfo: AdvancementInfo 1.17.1-fabric0.36.1-1.2.1
		antighost: AntiGhost 1.17.1-fabric0.36.1-1.1.4
		appleskin: AppleSkin mc1.17-2.1.3
		architectury: Architectury 2.5.32
		autoconfig1u: Auto Config v1 Updated 3.3.1
		bedrockify: BedrockIfy 1.2.0+mc1.17.1
		betterbeds: Better Beds 1.2.0
		bettermounthud: Better Mount HUD 1.1.2
		chat_heads: Chat Heads 0.3.1+1.17.1
		citresewn: CITResewn 0.7.1
		clear-skies: Clear Skies 1.5.70
		cloth-api: Cloth API 2.0.54
		cloth-basic-math: Cloth Basic Math 0.5.1
		cloth-client-events-v0: Cloth Client Events v0 2.0.54
		cloth-common-events-v1: Cloth Common Events v1 2.0.54
		cloth-config-lite: cloth-config-lite 2.0.6
		cloth-config2: Cloth Config v5 5.0.38
		cloth-datagen-api-v1: Cloth Datagen v1 2.0.54
		cloth-scissors-api-v1: Cloth Scissors API v1 2.0.54
		cloth-utils-v1: Cloth Utils v1 2.0.54
		clumps: Clumps 7.0.10
		colormatic: Colormatic 2.3.0+mc.1.17.1
		com_moandjiezana_toml_toml4j: toml4j 0.7.2
		com_velocitypowered_velocity-native: velocity-native 1.1.0-SNAPSHOT
		crowdin-translate: CrowdinTranslate 1.3+1.17
		customsplashscreen: Custom Splash Screen 1.1.0
		dcch: DCCH 1.0
		dynamicfps: Dynamic FPS 2.0.5
		dynmus: Dynamic Music 1.3.1
		dynsfx: DynSFX 1.5.0+1.17+
		enhancedblockentities: Enhanced Block Entities 0.5+1.17
		entityculling: EntityCulling-Fabric 1.3.3
		fabric: Fabric API 0.41.0+1.17
		fabric-api-base: Fabric API Base 0.3.0+a02b446313
		fabric-api-lookup-api-v1: Fabric API Lookup API (v1) 1.3.0+cbda931818
		fabric-biome-api-v1: Fabric Biome API (v1) 3.2.0+cbda931818
		fabric-blockrenderlayer-v1: Fabric BlockRenderLayer Registration (v1) 1.1.5+a02b446318
		fabric-command-api-v1: Fabric Command API (v1) 1.1.3+5ab9934c18
		fabric-commands-v0: Fabric Commands (v0) 0.2.2+92519afa18
		fabric-containers-v0: Fabric Containers (v0) 0.1.12+cbda931818
		fabric-content-registries-v0: Fabric Content Registries (v0) 0.3.0+cbda931818
		fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.1.5+be9da31018
		fabric-dimensions-v1: Fabric Dimensions API (v1) 2.0.11+6cefd57718
		fabric-entity-events-v1: Fabric Entity Events (v1) 1.3.0+57bef5a318
		fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.4.10+fc40aa9d18
		fabric-events-lifecycle-v0: Fabric Events Lifecycle (v0) 0.2.1+92519afa18
		fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.7+cbda931818
		fabric-item-api-v1: Fabric Item API (v1) 1.2.4+cbda931818
		fabric-item-groups-v0: Fabric Item Groups (v0) 0.2.10+b7ab612118
		fabric-key-binding-api-v1: Fabric Key Binding API (v1) 1.0.4+a02b446318
		fabric-keybindings-v0: Fabric Key Bindings (v0) 0.2.2+36b77c3e18
		fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 1.4.4+a02b4463a0
		fabric-loot-tables-v1: Fabric Loot Tables (v1) 1.0.4+a02b446318
		fabric-mining-levels-v0: Fabric Mining Levels (v0) 0.1.3+92519afa18
		fabric-models-v0: Fabric Models (v0) 0.3.0+a02b446318
		fabric-networking-api-v1: Fabric Networking API (v1) 1.0.13+cbda931818
		fabric-networking-blockentity-v0: Fabric Networking Block Entity (v0) 0.2.11+a02b446318
		fabric-networking-v0: Fabric Networking (v0) 0.3.2+92519afa18
		fabric-object-builder-api-v1: Fabric Object Builder API (v1) 1.10.9+cbda931818
		fabric-object-builders-v0: Fabric Object Builders (v0) 0.7.3+a02b446318
		fabric-particles-v1: Fabric Particles (v1) 0.2.4+a02b446318
		fabric-registry-sync-v0: Fabric Registry Sync (v0) 0.7.11+7931163218
		fabric-renderer-api-v1: Fabric Renderer API (v1) 0.4.4+cbda931818
		fabric-renderer-indigo: Fabric Renderer - Indigo 0.4.8+cbda931818
		fabric-renderer-registries-v1: Fabric Renderer Registries (v1) 3.2.4+7931163218
		fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.1.5+a02b446313
		fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 0.1.14+4658223018
		fabric-rendering-v0: Fabric Rendering (v0) 1.1.5+7931163218
		fabric-rendering-v1: Fabric Rendering (v1) 1.9.0+7931163218
		fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.4.8+a00e834b18
		fabric-screen-api-v1: Fabric Screen API (v1) 1.0.4+198a96213d
		fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.1.8+cbda931818
		fabric-structure-api-v1: Fabric Structure API (v1) 1.1.13+5ab9934c18
		fabric-tag-extensions-v0: Fabric Tag Extensions (v0) 1.2.1+b06cb95b18
		fabric-textures-v0: Fabric Textures (v0) 1.0.6+a02b446318
		fabric-tool-attribute-api-v1: Fabric Tool Attribute API (v1) 1.2.12+b7ab612118
		fabric-transfer-api-v1: Fabric Transfer API (v1) 1.4.0+7931163218
		fabricloader: Fabric Loader 0.11.6
		fabrishot: Fabrishot 1.5.1
		ferritecore: FerriteCore 3.1.0
		fiber: fiber 0.23.0-2
		g4mespeed: G4mespeed 1.2.3
		hydrogen: Hydrogen 0.3
		indium: Indium 1.0.0+mc1.17.1
		iris: Iris 1.1.3-starline+build.587
		itemmodelfix: Item Model Fix 1.0.2+1.17
		java: Java HotSpot(TM) 64-Bit Server VM 16
		krypton: Krypton 0.1.4
		lambdynlights: LambDynamicLights 2.0.2+1.17
		languagereload: Language Reload 1.1
		lazydfu: LazyDFU 0.1.2
		libzoomer: LibZoomer 0.2.1+1.17
		lithium: Lithium 0.7.4
		minecraft: Minecraft 1.17.1
		modmenu: Mod Menu 2.0.7
		morechathistory: MoreChatHistory 1.1.0
		musicdr: Music Duration Reducer 1.2.1
		noshades: NoShades Mod 4.2.0
		notenoughcrashes: Not Enough Crashes 3.4.4+1.17
		offlineskins: OfflineSkins 1.17.1-v2-fabric
		okzoomer: Ok Zoomer 5.0.0-beta.2+1.17
		org_aperlambda_lambdajcommon: lambdajcommon 1.8.1
		particlerain: Particle Rain 1.5.0
		petowner: Pet Owner 1.8.1-1.17-rc1+
		reeses-sodium-options: Reese's Sodium Options 1.2.0
		replaymod: Replay Mod 1.17.1-2.6.1
		sheepconsistency: Sheep Consistency 1.0.3
		skinlayers: 3d Skin Layers 1.2.0
		smoke_suppression: Smoke Suppression 1.0.4+MC1.17-1.17.1
		smoothboot: Smooth Boot 1.16.5-1.6.0
		smoothscrollingeverywhere: Smooth Scrolling Everywhere 3.0.3-unstable
		smoothswapping: Smooth Swapping 0.4.2
		sodium: Sodium 0.3.2+IRIS2-build.159
		sodium-extra: Sodium Extra 0.3.4
		spruceui: SpruceUI 3.2.0+1.17
		starlight: Starlight 1.0.0+fabric.73f6d37
		transliterationlib: TRansliterationLib 1.1.0
		worldedit: WorldEdit 7.2.7+9f3e795
		wthit: wthit 3.9.3
	Launched Version: Fabric 1.17.1
	Backend library: LWJGL version 3.2.2 build 10
	Backend API: AMD Radeon HD 8500M GL version 3.2.14831 Core Profile Forward-Compatible Context 16.6 27.20.21026.2006, ATI Technologies Inc.
	Window size: 925x530
	GL Caps: Using framebuffer using OpenGL 3.2
	GL debug messages: 
	Using VBOs: Yes
	Is Modded: Definitely; Client brand changed to 'fabric'
	Type: Integrated Server (map_client.txt)
	Graphics mode: fancy
	Resource Packs: vanilla, Fabric Mods, file/Visual+Fish+Buckets+v1.3, file/VanillaPatch
	Current Language: English (United Kingdom)
	CPU: 4x Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz
	Player Count: 1 / 8; [class_3222['StartsMercury'/1, l='ServerLevel[Redstone]', x=-43.78, y=56.00, z=10.23]]
	Data Packs: vanilla, Fabric Mods
	Client Crashes Since Restart: 1
	Integrated Server Crashes Since Restart: 0
	Suspected Mods: Fabric Loader (fabricloader), 3d Skin Layers (skinlayers)

Without Other Mods

crash-2021-10-28_15.05.18-client.txt
---- Minecraft Crash Report ----
// Hey, that tickles! Hehehe!

Time: 10/28/21, 3:05 PM
Description: Rendering entity in world

java.lang.NullPointerException: Cannot invoke "com.mojang.authlib.minecraft.MinecraftProfileTexture.getHash()" because "☃" is null
	at net.minecraft.class_1071.method_4651(class_1071.java:65)
	at net.minecraft.class_1071.method_4656(class_1071.java:61)
	at dev.tr7zw.skinlayers.SkinUtil.setup3dLayers(SkinUtil.java:70)
	at net.minecraft.class_756.handler$zzp000$renderByItem(class_756.java:567)
	at net.minecraft.class_756.method_3166(class_756.java)
	at net.minecraft.class_918.method_23179(class_918.java:132)
	at net.minecraft.class_916.method_3996(class_916.java:102)
	at net.minecraft.class_916.method_3936(class_916.java:18)
	at net.minecraft.class_898.method_3954(class_898.java:135)
	at net.minecraft.class_761.method_22977(class_761.java:1482)
	at net.minecraft.class_761.method_22710(class_761.java:1230)
	at net.minecraft.class_757.method_3188(class_757.java:1026)
	at net.minecraft.class_757.method_3192(class_757.java:810)
	at net.minecraft.class_310.method_1523(class_310.java:1112)
	at net.minecraft.class_310.method_1514(class_310.java:728)
	at net.minecraft.client.main.Main.main(Main.java:217)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:567)
	at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:234)
	at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:153)
	at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Render thread
Stacktrace:
	at net.minecraft.class_1071.method_4651(class_1071.java:65)
	at net.minecraft.class_1071.method_4656(class_1071.java:61)
	at dev.tr7zw.skinlayers.SkinUtil.setup3dLayers(SkinUtil.java:70)
	at net.minecraft.class_756.handler$zzp000$renderByItem(class_756.java:567)
	at net.minecraft.class_756.method_3166(class_756.java)
	at net.minecraft.class_918.method_23179(class_918.java:132)
	at net.minecraft.class_916.method_3996(class_916.java:102)
	at net.minecraft.class_916.method_3936(class_916.java:18)

-- Entity being rendered --
Details:
	Entity Type: minecraft:item (net.minecraft.class_1542)
	Entity ID: 1
	Entity Name: Player Head
	Entity's Exact location: -45.13, 56.00, 10.59
	Entity's Block location: World: (-46,56,10), Section: (at 2,8,10 in -3,3,0; chunk contains blocks -48,0,0 to -33,255,15), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511)
	Entity's Momentum: 0.00, -0.08, 0.00
	Entity's Passengers: []
	Entity's Vehicle: null

-- Renderer details --
Details:
	Assigned renderer: net.minecraft.class_916@2da36c68
	Location: -2.02,0.00,-0.76 - World: (-3,0,-1), Section: (at 13,0,15 in -1,0,-1; chunk contains blocks -16,0,-16 to -1,255,-1), Region: (-1,-1; contains chunks -32,-32 to -1,-1, blocks -512,0,-512 to -1,255,-1)
	Rotation: 217.40819
	Delta: 0.0
Stacktrace:
	at net.minecraft.class_898.method_3954(class_898.java:135)
	at net.minecraft.class_761.method_22977(class_761.java:1482)
	at net.minecraft.class_761.method_22710(class_761.java:1230)
	at net.minecraft.class_757.method_3188(class_757.java:1026)

-- Affected level --
Details:
	All players: 1 total; [class_746['StartsMercury'/2, l='ClientLevel', x=-43.11, y=56.00, z=11.35]]
	Chunk stats: 441, 272
	Level dimension: minecraft:overworld
	Level spawn location: World: (0,56,0), Section: (at 0,8,0 in 0,3,0; chunk contains blocks 0,0,0 to 15,255,15), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
	Level time: 514698 game time, 82240 day time
	Server brand: fabric
	Server type: Integrated singleplayer server
Stacktrace:
	at net.minecraft.class_638.method_8538(class_638.java:370)
	at net.minecraft.class_310.method_1587(class_310.java:2399)
	at net.minecraft.class_310.method_1514(class_310.java:747)
	at net.minecraft.client.main.Main.main(Main.java:217)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:567)
	at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:234)
	at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:153)
	at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28)

-- Last reload --
Details:
	Reload number: 1
	Reload reason: initial
	Finished: Yes
	Packs: Default, Visual+Fish+Buckets+v1.3, VanillaPatch, Fabric Mods

-- System Details --
Details:
	Minecraft Version: 1.17.1
	Minecraft Version ID: 1.17.1
	Operating System: Windows 10 (amd64) version 10.0
	Java Version: 16.0.2, Oracle Corporation
	Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode, sharing), Oracle Corporation
	Memory: 828338072 bytes (789 MiB) / 1983905792 bytes (1892 MiB) up to 1983905792 bytes (1892 MiB)
	CPUs: 4
	Processor Vendor: GenuineIntel
	Processor Name: Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz
	Identifier: Intel64 Family 6 Model 69 Stepping 1
	Microarchitecture: Haswell (Client)
	Frequency (GHz): 2.39
	Number of physical packages: 1
	Number of physical CPUs: 2
	Number of logical CPUs: 4
	Graphics card #0 name: Intel(R) HD Graphics Family
	Graphics card #0 vendor: Intel Corporation (0x8086)
	Graphics card #0 VRAM (MB): 1024.00
	Graphics card #0 deviceId: 0x0a16
	Graphics card #0 versionInfo: DriverVersion=20.19.15.4642
	Graphics card #1 name: AMD Radeon HD 8500M
	Graphics card #1 vendor: Advanced Micro Devices, Inc. (0x1002)
	Graphics card #1 VRAM (MB): 2048.00
	Graphics card #1 deviceId: 0x666f
	Graphics card #1 versionInfo: DriverVersion=27.20.21026.2006
	Memory slot #0 capacity (MB): 4096.00
	Memory slot #0 clockSpeed (GHz): 1.60
	Memory slot #0 type: DDR3
	Memory slot #1 capacity (MB): 2048.00
	Memory slot #1 clockSpeed (GHz): 1.60
	Memory slot #1 type: DDR3
	Virtual memory max (MB): 10002.36
	Virtual memory used (MB): 7892.35
	Swap memory total (MB): 3962.00
	Swap memory used (MB): 1269.83
	JVM Flags: 34 total; -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCIProduct -XX:-UnlockExperimentalVMOptions -XX:ThreadPriorityPolicy=1 -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmixed -Xmx2G -Xms2G -XX:+UnlockExperimentalVMOptions -XX:+CompactStrings -XX:ObjectAlignmentInBytes=8 -XX:+UseCompressedOops -XX:+BackgroundCompilation -XX:+UseDynamicNumberOfCompilerThreads -XX:+DoEscapeAnalysis -XX:+Inline -XX:+OptimizeStringConcat -XX:+TieredCompilation -XX:+SegmentedCodeCache -XX:+UseCodeCacheFlushing -XX:-UsePerfData -XX:+AggressiveHeap -XX:+AlwaysPreTouch -XX:+DisableExplicitGC -XX:-ExplicitGCInvokesConcurrent -XX:+G1UseAdaptiveIHOP -XX:MaxGCPauseMillis=50 -XX:-ParallelRefProcEnabled -XX:+ScavengeBeforeFullGC -XX:+UseGCOverheadLimit -XX:+UseNUMA -XX:+UseStringDeduplication -XX:+UseTLAB
	Launched Version: Fabric 1.17.1
	Backend library: LWJGL version 3.2.2 build 10
	Backend API: AMD Radeon HD 8500M GL version 3.2.14831 Core Profile Forward-Compatible Context 16.6 27.20.21026.2006, ATI Technologies Inc.
	Window size: 925x530
	GL Caps: Using framebuffer using OpenGL 3.2
	GL debug messages: 
	Using VBOs: Yes
	Is Modded: Definitely; Client brand changed to 'fabric'
	Type: Integrated Server (map_client.txt)
	Graphics mode: fancy
	Resource Packs: vanilla, file/Visual+Fish+Buckets+v1.3, file/VanillaPatch
	Current Language: English (United Kingdom)
	CPU: 4x Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz
	Player Count: 1 / 8; [class_3222['StartsMercury'/2, l='ServerLevel[Redstone]', x=-43.11, y=56.00, z=11.35]]
	Data Packs: vanilla

Modloader and Mods

Fabric 0.11.6 for Minecraft 1.17.1

Expand to show all installed mods.
3dSkinLayers-Fabric-1.2.0.jar
accurate-block-placement-1.0.10.jar
advancementinfo-1.17.1-fabric0.36.1-1.2.1.jar
antighost-1.17.1-fabric0.36.1-1.1.4.jar
appleskin-fabric-mc1.17-2.1.3.jar
architectury-2.5.32.jar
autoconfig1u-3.3.1.jar
bedrockify-1.2.0+mc1.17.1.jar
betterbeds-1.2.0.jar
bettermounthud-1.1.2.jar
chat_heads-0.3.1+1.17.1.jar
CITResewn-0.7.1.jar
clear-skies-mc117-1.5.70.jar
cloth-api-2.0.54.jar
cloth-config-5.0.38-fabric.jar
Clumps-fabric-1.17.1-7.0.10.jar
colormatic-2.3.0+mc.1.17.1.jar
customsplashscreen-1.1.0.jar
DCCH-1.17.x.jar
dynamic-fps-2.0.5.jar
dynamic-music-1.3.1.jar
DynSFX-1.5.0+1.17+.jar
enhancedblockentities-0.5+1.17.jar
EntityCulling-Fabric-1.3.3.jar
Fabric-1.17.1-SmoothSwapping-0.4.2.jar
fabric-api-0.41.0+1.17.jar
fabrishot-1.5.1.jar
ferritecore-3.1.0-fabric.jar
g4mespeed-1.2.3-mc1.17.1-release.jar
hydrogen-fabric-mc1.17.1-0.3.1.jar
indium-1.0.0+mc1.17.1.jar
iris-mc1.17-1.1.3-starline+build.587.jar
item-model-fix-1.0.2+1.17.jar
krypton-0.1.4.jar
lambdynamiclights-2.0.2+1.17.jar
language-reload-1.1.jar
lazydfu-0.1.2.jar
lithium-fabric-mc1.17.1-0.7.4.jar
modmenu-2.0.7.jar
morechathistory-1.17.1-1.1.0.jar
music-duration-reducer-1.2.1.jar
noshades-mc1.17.1-4.2.0.jar
notenoughcrashes-3.4.4+1.17-fabric.jar
OfflineSkins-1.17.1-v2-fabric.jar
okzoomer-5.0.0-beta.2+1.17.jar
particle-rain-1.5.0.jar
PetOwner-1.8.1-1.17-rc1+.jar
reeses_sodium_options-mc1.17.1-1.2.0.jar
replaymod-1.17.1-2.6.1.jar
sheepconsistency-1.0.3.jar
smoke-suppression-1.0.4+MC1.17-1.17.1.jar
smoothboot-fabric-1.16.5-1.6.0.jar
SmoothScrollingEverywhere-3.0.3-unstable.jar
sodium-extra-mc1.17.1-0.3.4.jar
sodium-fabric-mc1.17.1-0.3.2+IRIS2-build.159.jar
starlight-1.0.0+fabric.73f6d37.jar
TRansliterationLib-1.1.0.jar
worldedit-mod-7.2.7.jar
wthit-fabric-3.9.3.jar

Incompatible with Optifabric

After installing Optifabric extension, all second layers in the character vanished.
Hope you work out, Thanks!

Latest forge version has possibly wrong version tags

The latest forge version on curseforge has version tags for both 1.18.1 and 1.18.2, however the file name only includes 1.18.2, I'm unsure if this is an error, or if the file supports both versions of the game, but I figured it wouldn't hurt to mention in case its the former.

Second layer of arm still visible in first person

I'm using the latest version available for 1.18.1: 3dskinlayers-forge-1.4.3-mc1.18.2.jar, I have the second layer of my skin disabled but when in first person the second layer of the arm is still visible, in third person it isn't there, without the mod it works as it should
Base Profile Screenshot 2022 04 16 - 13 14 24 66
Base Profile Screenshot 2022 04 16 - 13 14 31 10

Using left hand as main hand in first person looks strange (+1 other *slight* discomfort)

I have recently switched to using my left hand as the main hand in Minecraft. This is all handy-dandy until I realised that disabling the first-person skin model reveals an offset outer layer, as shown here:
image
It is not a skin issue (for reference, pictures of my skin are posted at the bottom)
Sure, it's only annoying to left-preferring players and wouldn't ever be that high-priority but it's something that's very easily overlooked.
Also, while writing this, I discovered that the first-person hands also don't reflect the skin customisation options; I had all my outer layers except for hat turned off. Still not any major bug that needs to be fixed or anything.
Left hand (with markings):
image
Even Right hand (with markings):
image
I am using other mods but they wouldn't affect the player model in any way.
Fix in your own time, no rush.

My skin (visualised on minecraftskinstealer.com):
image
image
image
In MC using this mod:
image
image

Mod does not support MC 1.18.1

When trying to start Fabric with MC 1.18.1 while using 3DSkinLayers 1.3.1 do I receive the following error:

net.fabricmc.loader.impl.FormattedException: net.fabricmc.loader.impl.discovery.ModResolutionException: Mod resolution encountered an incompatible mod set!
A potential solution has been determined:
	 - Replace mod '3d Skin Layers' (skinlayers) 1.3.1 (C:\Users\Andreas\AppData\Roaming\gdlauncher_next\instances\Fabric 1.18.1\mods\3dSkinLayers-Fabric-1.3.1.jar) with any version that is compatible with:
		 - minecraft 1.18.1
Unmet dependency listing:
	 - Mod '3d Skin Layers' (skinlayers) 1.3.1 requires any 1.17.x version of 'Minecraft' (minecraft), but only the wrong version is present: 1.18.1!
		 - 'Minecraft' (minecraft) 1.18.1 is an environment reference and usually requires installation or launcher changes to adjust
Inactive mods:
	 - mod '3d Skin Layers' (skinlayers) 1.3.1, reason: to replace
	 - mod 'Cloth Basic Math' (cloth-basic-math) 0.5.1, reason: newer version active
	 - mod 'Cloth Config v4' (cloth-config2) 5.0.34, reason: unknown
	 - mod 'Fabric API Base' (fabric-api-base) 0.3.0+a02b446388, reason: newer version active
	 - mod 'Fabric API Base' (fabric-api-base) 0.4.1+b4f4f6cd14, reason: newer version active
	 - mod 'Fabric Rendering Data Attachment (v1)' (fabric-rendering-data-attachment-v1) 0.3.3+d154e2c614, reason: newer version active
	 - mod 'Fabric Rendering Fluids (v1)' (fabric-rendering-fluids-v1) 0.1.18+3ac43d9514, reason: newer version active
	 - mod 'Fabric Resource Loader (v0)' (fabric-resource-loader-v0) 0.4.8+a00e834b88, reason: newer version active
	 - mod 'Fabric Resource Loader (v0)' (fabric-resource-loader-v0) 0.4.11+3ac43d9514, reason: newer version active
	 - mod 'Fabric Screen API (v1)' (fabric-screen-api-v1) 1.0.4+cbda931888, reason: newer version active
	at net.fabricmc.loader.impl.FabricLoaderImpl.load(FabricLoaderImpl.java:189)
	at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:142)
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:71)
	at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
Caused by: net.fabricmc.loader.impl.discovery.ModResolutionException: Mod resolution encountered an incompatible mod set!
A potential solution has been determined:
	 - Replace mod '3d Skin Layers' (skinlayers) 1.3.1 (C:\Users\Andreas\AppData\Roaming\gdlauncher_next\instances\Fabric 1.18.1\mods\3dSkinLayers-Fabric-1.3.1.jar) with any version that is compatible with:
		 - minecraft 1.18.1
Unmet dependency listing:
	 - Mod '3d Skin Layers' (skinlayers) 1.3.1 requires any 1.17.x version of 'Minecraft' (minecraft), but only the wrong version is present: 1.18.1!
		 - 'Minecraft' (minecraft) 1.18.1 is an environment reference and usually requires installation or launcher changes to adjust
Inactive mods:
	 - mod '3d Skin Layers' (skinlayers) 1.3.1, reason: to replace
	 - mod 'Cloth Basic Math' (cloth-basic-math) 0.5.1, reason: newer version active
	 - mod 'Cloth Config v4' (cloth-config2) 5.0.34, reason: unknown
	 - mod 'Fabric API Base' (fabric-api-base) 0.3.0+a02b446388, reason: newer version active
	 - mod 'Fabric API Base' (fabric-api-base) 0.4.1+b4f4f6cd14, reason: newer version active
	 - mod 'Fabric Rendering Data Attachment (v1)' (fabric-rendering-data-attachment-v1) 0.3.3+d154e2c614, reason: newer version active
	 - mod 'Fabric Rendering Fluids (v1)' (fabric-rendering-fluids-v1) 0.1.18+3ac43d9514, reason: newer version active
	 - mod 'Fabric Resource Loader (v0)' (fabric-resource-loader-v0) 0.4.8+a00e834b88, reason: newer version active
	 - mod 'Fabric Resource Loader (v0)' (fabric-resource-loader-v0) 0.4.11+3ac43d9514, reason: newer version active
	 - mod 'Fabric Screen API (v1)' (fabric-screen-api-v1) 1.0.4+cbda931888, reason: newer version active
	at net.fabricmc.loader.impl.discovery.ModResolver.findCompatibleSet(ModResolver.java:159)
	at net.fabricmc.loader.impl.discovery.ModResolver.resolve(ModResolver.java:45)
	at net.fabricmc.loader.impl.FabricLoaderImpl.setup(FabricLoaderImpl.java:224)
	at net.fabricmc.loader.impl.FabricLoaderImpl.load(FabricLoaderImpl.java:187)
	... 3 more

Emissive on Elytras Overwritten by 3D skin layers

image

Any Pixels on a skin's 2nd layer when using the Entity Texture Features mod ( https://github.com/Traben-0/Entity_Texture_Features )
will show over the emissive particles on an elytra, even when the elytra is infront of the secondary skin layer. Predicted this is to do with beacons not showing over the second layer of skins when in F5 or for other players.

Am Using latest version of fabric and both ETF and Skin Layers 3D on 1.18.1. Also using CITResewn to allow CIT on clients without optifine's functionality.

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

Jacket layers clips with torso upon sneak

whenever you sneak, the jacket layer seems to become displaced, and moves forward in relation to the torso, thus creating an issue where the torso clips through the jacket layer on the back.
2021-09-24_12 04 56
2021-09-24_12 04 58

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.

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.

Refactor SolidPixelWrapper.wrapBoxOptimized(NativeImage,PlayerModel,int,int,int,int,int,boolean,float)

I've selected SolidPixelWrapper.wrapBoxOptimized(NativeImage,PlayerModel,int,int,int,int,int,boolean,float) for refactoring, which is a unit of 38 lines of code and 25 branch points. Addressing this will make our codebase more maintainable and improve Better Code Hub's Write Simple Units of Code guideline rating! 👍

Here's the gist of this guideline:

  • Definition 📖
    Limit the number of branch points (if, for, while, etc.) per unit to 4.
  • Why
    Keeping the number of branch points low makes units easier to modify and test.
  • How 🔧
    Split complex units with a high number of branch points into smaller and simpler ones.

You can find more info about this guideline in Building Maintainable Software. 📖


ℹ️ To know how many other refactoring candidates need addressing to get a guideline compliant, select some by clicking on the 🔲 next to them. The risk profile below the candidates signals (✅) when it's enough! 🏁


Good luck and happy coding! :shipit: ✨ 💯

Support for Wildfire's Female Gender Mod?

Will there be support for this mod Fabric Forge in the future?

As it is currently, they work together with minimal issues:

3D Layer is not applied to the new model parts (understandably)
3D Layers shift backward with the "size" option, returning to no offset only at 100% size

Those are the only issues I've been able to find

Error occurred with Emotecraft mod

I installed the Skin Layers 3D and Emotecraft mod on Fabric 1.17.1, apparently because of the 3D layer the hands cannot adjust to the animation, I do not know in which exactly the problem arises.
Video: https://youtu.be/sd2ydCt9ugo
Without Skin Layers, 3D animations works fine.

Potential memory leak

SkinUtil calls NativeImage#untrack(), seemingly in an attempt to deallocate the NativeImage object:

However, NativeImage#untrack() does not deallocate the texture - rather, it removes it from LWJGL's leak tracking, meaning that not only does this code potentially leak memory, it does so in a way that is invisible to LWJGL's debugging tools.

It seems like you intended to call NativeImage#close().

3D Layer parts isn't aligned perfectly with some animations

I'll let the images explain you :)

Vanilla Crouching [It is supposed to be black (outer layer) but it's white (the inner layer)] ( Duplicate of #11 )
2021-09-30_10 47 21

Also the climbing animation (with Not Enough Animation)
2021-09-30_10 47 48
and my arm-part is supposed to be a bit higher

[1.2.1][Fabric] BackTools issues

See screenshot:

image

latest.log

I don't have the nerves to isolate which mod is causing this, so this is just a heads up for now that there might be some compatiblity issue with one of the mods. I saw the errors in the log file, but this is just a thing of "install mod, look if works, finally check if throws error, if yes remove" - now being in the stage of "look if works". 🐢

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:?]

Compatibility notes

Tested with FabricTailor (Mod that allows changing skins). Seems to work.

Surprisingly, works mostly with Figura. Only issue being that Figura models which use the default player model won't load the 3D skin layer at all. Don't know if that is fixable at all...

Refactor BodyLayerFeatureRenderer.renderLayers(AbstractClientPlayer,CustomizableModelPart[],PoseStack,VertexConsumer,int,int)

I've selected BodyLayerFeatureRenderer.renderLayers(AbstractClientPlayer,CustomizableModelPart[],PoseStack,VertexConsumer,int,int) for refactoring, which is a unit of 49 lines of code and 20 branch points. Addressing this will make our codebase more maintainable and improve Better Code Hub's Write Simple Units of Code guideline rating! 👍

Here's the gist of this guideline:

  • Definition 📖
    Limit the number of branch points (if, for, while, etc.) per unit to 4.
  • Why
    Keeping the number of branch points low makes units easier to modify and test.
  • How 🔧
    Split complex units with a high number of branch points into smaller and simpler ones.

You can find more info about this guideline in Building Maintainable Software. 📖


ℹ️ To know how many other refactoring candidates need addressing to get a guideline compliant, select some by clicking on the 🔲 next to them. The risk profile below the candidates signals (✅) when it's enough! 🏁


Good luck and happy coding! :shipit: ✨ 💯

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!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.