Posted December 23, 20177 yr Hello, It's me again, I'm sorry for ask many help, but I start with forge. So I need to get LayerRenderer for check if it's instanceof to my LayerPlayer but I don't have acces to layerRenderers in this line "final List<? extends LayerRenderer> list = render.layerRenderers;". Eclipse sayed me "The field RenderLivingBase<AbstractClientPlayer>.layerRenderers is not visible". MyCode.java Spoiler final Map<String, RenderPlayer> map = (Map<String, RenderPlayer>) ObfuscationReflectionHelper .getPrivateValue(RenderManager.class, Minecraft.getMinecraft().getRenderManager(), 1); for (final String type : map.keySet()) { final RenderPlayer render = map.get(type); boolean hasMPMLayers = false; final List<? extends LayerRenderer> list = render.layerRenderers; for (final LayerRenderer layer : list) { if (layer instanceof LayerPlayer) { ((LayerPlayer) layer).setModel(render.getMainModel()); hasMPMLayers = true; } } }
December 23, 20177 yr The field is protected, so it can only be accessed normally from a subclass of RenderLivingBase or from a class in the same package as it. Since your code is neither of those, you'll need to access it via reflection. Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.