Jump to content

[1.10.2] I have a class that is an inventory, how do I implement its capability?


Starless

Recommended Posts

I have an Item that implements

IItemHandler, IItemHandlerModifiable, INBTSerializable<NBTTagList>

 

It's not a TileEntity or an actual object in the game. It's an inventory that a TileEntity could use as its internal inventory. Should I implement a capability for it? how?

 

I'm still completely lost in this capability thing (even after reading the documentation), so, please, if possible, explain it to me like I'm retarded.

Link to comment
Share on other sites

There is capability for Item which is saved on its ItemStack. See Item#initCapabilities.

I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP)

II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.

Link to comment
Share on other sites

You dont implement any of those on the Item itself.

 

My object is like an abstraction of an inventory, much similar to ItemStackHandler, but it adds fuctionality like it always knows where to find an Item stack of a certain type, and etc. It implements an interface I created called IAccountableInventory. This object will play the role of the internal invetory for every Tile Entity that requires the extra functionalities it adds, The tile entity will expose this inventory by implementing the Interface and delegating all the method invocations to the underlying object. So should I create a capability to mirror IAcountableInventory? Who should expose the capability: the object that implements it? the Entity/TileEntity/ItemStack wrapping the object? And how would that be done?

Link to comment
Share on other sites

Just make normal capability where IAcountableInventory will be your cap's interface.

Assign it to TileEntity via @SubscribeEvent to AttachCapabilitiesEvent.TileEntity.

 

Accessing of inventory will happen via capabilities system and be possible for anyone asking.

 

EDIT

 

I kinda don't see your design because 1st you say:

I have an Item that implements

IItemHandler, IItemHandlerModifiable, INBTSerializable<NBTTagList>

Then you mention TileEntities - how does that have anything to do with 1st mentioned Item?

Then you go ahead saying it is not a TE, but then you say it is an inventory that belongs to TE.

In next post you again say it IS an inventory of TE, so what is it?

 

My answer before edit is regarding assigning capability to TE. In your case - inventory is the capability.

Might be of help:

https://github.com/MinecraftForge/MinecraftForge/blob/1.9/src/test/java/net/minecraftforge/test/NoBedSleepingTest.java

1.7.10 is no longer supported by forge, you are on your own.

Link to comment
Share on other sites

I'm sorry, I thought I edited the word "Item" out of the original post. It's just a class. It's an abstraction of an inventory, and plays a similar role to ItemStackHandler, I think.

 

If you want to have an inventory with the extra functions of an IAccountableInventory you can simply put an object of my class that implements it and expose the methods by delegating them. Like This:

 

public class AGameObject extends [TileEntity or Entity, or whatever] implements IAccountableInventory
{
    IAccountableInventory interntalInvetory = new InventoryMapped()

    @Override
    public ItemStack implementationOfInterfaceMethod()
    {
        return interntalInvetory.implementationOfInterfaceMethod()
    }
}

Link to comment
Share on other sites

Unless you totally misunderstood the point of caps - my argument stands.

 

You can use Attach event to attach capability to some object (TE, Entity, ItemStack) and then get instance of your interface using capability system (or return null if such wasn't attached). Lookup link I gave you. And maybe look into other open sources.

 

EDIT:

 

Note: What will be actually done by methods inside your interface will be decided by implementor!

1.7.10 is no longer supported by forge, you are on your own.

Link to comment
Share on other sites

Ok...

 

Is this necessary for TileEntities or can I just

 

worldIn.getTileEntityAt(pos) instanceof IAccountableInventory

 

What I mean is, is this the de facto pattern for everything? Will other mods look for Capabilities instead of interfaces? or is the capability system more like a replacement for IEEP? I really mean it when I say I'm completely lost. I couldn't totally misunderstand the point of Capabilities, because I have not formed an understanding of them yet.

Link to comment
Share on other sites

1st lets say there is a difference between exposing things via capability and implementing interface directly onto object.

 

Sure you can implement interface directly onto TE and sure - it is 100% valid thing to do. Modding is still Java and interfaces are like core of well designed stuff. So yeah - if you don't care about OTHERS - go ahead and apply your inventory directly on TE.

 

Now - let's look at above approach from other perspectives:

 

* Can someone else go ahead and make this?

worldIn.getTileEntityAt(pos) instanceof IAccountableInventory

SURE - they can, why not (considering they are dependent to your mod and have it as lib obviously).

Well then - can they do something else than blindlessly calling interface's methods? Woops! They can't!

 

* Can you implement interface on ALREADY defined class (vanilla or other mod's)? Hell naw! Unless you would do some ASM magic you are lost like baby in the woods.

 

And finally - then how one can achieve above without ASM or tons on API hooks from milion of sources and shit?

BOOM! Capabilities!

 

So now the essence:

 

1st of all - Capability can be attached to any objects - your own, vanilla, other mod's or even goddamn who-knows what (we are talking shit out of this world)! Well, that is a big plus - ain't it?

 

 

whats-the-best-thing-about-living-in-switzerland-well-the-flag-is-a-big-plus.jpg

 

 

Feeling pluses yet?

 

Ok, well, now to more important thing:

 

Capability is NOT something predefined. You only make some interface and let OTHERS implement it. Wait what?

Well yeah - what you actually do with capability is declare that someone can attach instance of your interface to some object. Feeling it yet? So basically you provide skeleton for some "thing" (in your case inventory) assigned to object and someone else (or you for that matter) implements that shit and actually assigns instance of that interface to object.

Now where is the magic? Well - anyone can do anything - and even better - while they do what they want to do - you can still KNOW when they do it.

 

AND THY LIGHT SHONE FROMTH THY SKIES ONTO MINDTHS OF PEASANTS ON WAST FIELDS OF BANETH! (what the fuck am I writing?!)

P.S: I know this is totally not old english!

1.7.10 is no longer supported by forge, you are on your own.

Link to comment
Share on other sites

I believe now I have a much better understanding of it. So I can basically attach capabilities to whatever I want, this is what they are good for. Under normal circumstances we stick to Java, unless it is something that feels like it is "attachable" to anything.

 

So if I had an interface like this:

 

public interface IFireExtinguisher
{
    //looks around in a 5x5x5 cube around it for fire and extiguishes all it finds.
    public void extinguish();
}

 

That could be attached to an Item or a TileEntity or an EntityLiving, for example, in an ItemStack it could be the onRightClick effect. On a Block it could be invoked during a the random tick, and so on. Is this correct?

 

Edit:

 

How would I create the Capability for that?

Link to comment
Share on other sites

That could be attached to an Item or a TileEntity or an EntityLiving, for example, in an ItemStack it could be the onRightClick effect. On a Block it could be invoked during a the random tick, and so on. Is this correct?

Yes.

 

 

How would I create the Capability for that?

 

Look at the capability examples in Forge itself (

CapabilityItemHandler

,

CapabilityFluidHandler

,

CapabilityAnimation

), the Forge test mod that Ernio linked earlier or my own mod (API, implementation).

 

You can also read the official documentation here.

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.

Link to comment
Share on other sites

Official documentation seems to be outdated. The mod that Ernio linked is poorly documented (as in not a single comment in the entire file, let alone a javadoc comment). I will check what you linked.

 

EDIT: I still cannot make sense of this. Capabilities are the most unintuitive and esoteric programming constructs I've ever came across in my life. I know "what" they are, but the code just looks like random memory dump turned to Java. Nevermind this. I can live without it. Until someone writes a tutorial about it, I'm staying as far away from this thing as possible.

Link to comment
Share on other sites

Wow this is fucking retarded, We have several example mods in Forge.

We have capabilities implemented in all the vanilla objects.

The code is straight forward.

The ENTIRE FREAKING POINT of this is that TEs/Items/Entites DO NOT HAVE TO IMPLEMENT THE INTERFACE ON ITSELF.

Which is the entire point because it prevents having hard references to the classes.

 

Now lets make this clear for you.

Your example:

public class AGameObject extends [TileEntity or Entity, or whatever] implements IAccountableInventory
{
    IAccountableInventory interntalInvetory = new InventoryMapped()

    @Override
    public ItemStack implementationOfInterfaceMethod()
    {
        return interntalInvetory.implementationOfInterfaceMethod()
    }
}

Want to know how to do this?

public class AGameObject implements ICapabilityProvider
{
    IAccountableInventory interntalInvetory; //Doing this in the static constructor is BAD because it makes a HARD reference to the class which will crash if you dont have the dependancy = new InventoryMapped()

  getCapability(cap){
    if (cap == YOUR_SUPER_AWESOME_CAP_OBJECT)
       return internalInventory;
  }
}

 

Its fairly straight forward, the 'documented' example of it is here: https://github.com/MinecraftForge/MinecraftForge/blob/1.10.x/src/test/java/net/minecraftforge/test/TestCapabilityMod.java

Here is how chests work:

https://github.com/MinecraftForge/MinecraftForge/blob/1.10.x/patches/minecraft/net/minecraft/tileentity/TileEntityChest.java.patch

 

Furnaces, with multiple sides: https://github.com/MinecraftForge/MinecraftForge/blob/1.10.x/patches/minecraft/net/minecraft/tileentity/TileEntityFurnace.java.patch#L83

 

See how its a simple implementation of getCapability and returns an instance of the interface that capability specifies.

How are you confused about this?

 

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Link to comment
Share on other sites

Wow this is fucking retarded, We have several example mods in Forge.

We have capabilities implemented in all the vanilla objects.

The code is straight forward.

The ENTIRE FREAKING POINT of this is that TEs/Items/Entites DO NOT HAVE TO IMPLEMENT THE INTERFACE ON ITSELF.

Which is the entire point because it prevents having hard references to the classes.

 

Now lets make this clear for you.

Your example:

public class AGameObject extends [TileEntity or Entity, or whatever] implements IAccountableInventory
{
    IAccountableInventory interntalInvetory = new InventoryMapped()

    @Override
    public ItemStack implementationOfInterfaceMethod()
    {
        return interntalInvetory.implementationOfInterfaceMethod()
    }
}

Want to know how to do this?

public class AGameObject implements ICapabilityProvider
{
    IAccountableInventory interntalInvetory; //Doing this in the static constructor is BAD because it makes a HARD reference to the class which will crash if you dont have the dependancy = new InventoryMapped()

  getCapability(cap){
    if (cap == YOUR_SUPER_AWESOME_CAP_OBJECT)
       return internalInventory;
  }
}

 

Its fairly straight forward, the 'documented' example of it is here: https://github.com/MinecraftForge/MinecraftForge/blob/1.10.x/src/test/java/net/minecraftforge/test/TestCapabilityMod.java

Here is how chests work:

https://github.com/MinecraftForge/MinecraftForge/blob/1.10.x/patches/minecraft/net/minecraft/tileentity/TileEntityChest.java.patch

 

Furnaces, with multiple sides: https://github.com/MinecraftForge/MinecraftForge/blob/1.10.x/patches/minecraft/net/minecraft/tileentity/TileEntityFurnace.java.patch#L83

 

See how its a simple implementation of getCapability and returns an instance of the interface that capability specifies.

How are you confused about this?

 

because I think it has such an awful design it hurts to look at it. Compared to everything else, capabilities are an aberration that fit nowhere in the framework in terms of design

Link to comment
Share on other sites

I tried to keep it fun and shit, but hell...

because I think it has such an awful design it hurts to look at it. Compared to everything else, capabilities are an aberration that fit nowhere in the framework in terms of design

...we are not friends anymore :(  (Haha! Jokes on you, we were never friends! I don't have friends...)

 

But seriously - Forge API is pretty advanced tool and if you expect to gain more compatibility/power with less not-your-everyday-simple-java-hello-word-programs then you are in wrong place. Besides - this shit it pretty simple compared to what forge does behind the scenes.

 

You got more explanations than I could wish for and you know how I (mostly) learned how to use caps properly? By looking at damn source!

 

I need to get some sleep.

1.7.10 is no longer supported by forge, you are on your own.

Link to comment
Share on other sites

because I think it has such an awful design it hurts to look at it. Compared to everything else, capabilities are an aberration that fit nowhere in the framework in terms of design
So you are to lazy/stupid to put in the effort to understand a simple thing and so are going to argue about it. Ya no...

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Hello. I am trying to load a couple mods, as it seems forge is currently having issues with optifine. I heard oculus and rubidium could be used instead of optifine. However, I am now getting these error messages when I try to load these mods with forge. Is there something I am missing? Thank you. Mods List Biomes O Plenty-1.20.1-18.0.0.592.jar oculus-mc1.20.1-1.7.0.jar rubidium-mc1.20.1-0.7.1a.jar TerraBlender-forge-1.20-1-3.0.1.7.jar Forge Version: 1.20.1-forge-47.3.0 Crash Report: https://pastebin.com/ShaaHEh3 Thank you.
    • I was also facing the same. Thank you for helping.
    • I have been putting together mods and stuff for me and my cousin to play with and I keep getting this error when I join a game. Please help and thank you. ---- Minecraft Crash Report ---- // Don't be sad, have a hug! <3 Time: 6/13/24 12:56 AM Description: Unexpected error java.lang.IllegalArgumentException: Multiple entries with same key: glint:RenderType[CompositeState[[texture[Optional[minecraft:textures/misc/enchanted_item_glint.png](blur=true, mipmap=false)], glint_transparency, diffuse_lighting[false], shade_model[flat], alpha[0.0], depth_test[==], cull[false], lightmap[false], overlay[false], fog, no_layering, main_target, glint_texturing, write_mask_state[writeColor=true, writeDepth=false], line_width[1.0]], outlineProperty=none], ]=net.minecraft.client.renderer.BufferBuilder@2bfbbc17 and glint:RenderType[CompositeState[[texture[Optional[minecraft:textures/misc/enchanted_item_glint.png](blur=true, mipmap=false)], glint_transparency, diffuse_lighting[false], shade_model[flat], alpha[0.0], depth_test[==], cull[false], lightmap[false], overlay[false], fog, no_layering, main_target, glint_texturing, write_mask_state[writeColor=true, writeDepth=false], line_width[1.0]], outlineProperty=none], ]=net.minecraft.client.renderer.BufferBuilder@aeeb66e     at com.google.common.collect.ImmutableMap.checkNoConflict(ImmutableMap.java:186) ~[guava-21.0.jar:?] {}     at com.google.common.collect.RegularImmutableMap.checkNoConflictInKeyBucket(RegularImmutableMap.java:102) ~[guava-21.0.jar:?] {}     at com.google.common.collect.RegularImmutableMap.fromEntryArray(RegularImmutableMap.java:88) ~[guava-21.0.jar:?] {}     at com.google.common.collect.ImmutableMap$Builder.build(ImmutableMap.java:359) ~[guava-21.0.jar:?] {}     at tschipp.carryon.client.event.RenderEvents.onRenderWorld(RenderEvents.java:334) ~[?:1.15.6.24] {re:classloading}     at net.minecraftforge.eventbus.ASMEventHandler_882_RenderEvents_onRenderWorld_RenderWorldLastEvent.invoke(.dynamic) ~[?:?] {}     at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85) ~[eventbus-4.0.0.jar:?] {}     at net.minecraftforge.eventbus.EventBus$$Lambda$3607/1632506112.invoke(Unknown Source) ~[?:?] {}     at net.minecraftforge.eventbus.EventBus.post(EventBus.java:302) ~[eventbus-4.0.0.jar:?] {}     at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283) ~[eventbus-4.0.0.jar:?] {}     at net.minecraftforge.client.ForgeHooksClient.dispatchRenderLast(ForgeHooksClient.java:201) ~[?:?] {re:classloading}     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_51] {}     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_51] {}     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_51] {}     at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_51] {}     at net.optifine.reflect.Reflector.callVoid(Reflector.java:789) ~[?:?] {re:classloading}     at net.minecraft.client.renderer.GameRenderer.func_228378_a_(GameRenderer.java:1027) ~[?:?] {re:mixin,pl:accesstransformer:B,xf:OptiFine:default,xf:fml:fairylights:GameRendererTransformer,re:classloading,pl:accesstransformer:B,xf:OptiFine:default,xf:fml:fairylights:GameRendererTransformer,pl:mixin:APP:immersive_aircraft.mixins.json:GameRendererMixin,pl:mixin:APP:flywheel.mixins.json:StoreProjectionMatrixMixin,pl:mixin:APP:forge-mca.mixin.json:client.MixinGameRenderer,pl:mixin:APP:mixins.essential.json:events.Mixin_GuiDrawScreenEvent_Priority,pl:mixin:A}     at net.minecraft.client.renderer.GameRenderer.func_195458_a(GameRenderer.java:693) ~[?:?] {re:mixin,pl:accesstransformer:B,xf:OptiFine:default,xf:fml:fairylights:GameRendererTransformer,re:classloading,pl:accesstransformer:B,xf:OptiFine:default,xf:fml:fairylights:GameRendererTransformer,pl:mixin:APP:immersive_aircraft.mixins.json:GameRendererMixin,pl:mixin:APP:flywheel.mixins.json:StoreProjectionMatrixMixin,pl:mixin:APP:forge-mca.mixin.json:client.MixinGameRenderer,pl:mixin:APP:mixins.essential.json:events.Mixin_GuiDrawScreenEvent_Priority,pl:mixin:A}     at net.minecraft.client.Minecraft.func_195542_b(Minecraft.java:977) [?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:abnormals_core.mixins.json:client.MinecraftMixin,pl:mixin:APP:mts.mixins.json:common.MinecraftMixin,pl:mixin:APP:flywheel.mixins.json:ShaderCloseMixin,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:mixins.essential.json:client.Mixin_RunEssentialTasks,pl:mixin:APP:mixins.essential.json:client.MixinMinecraft,pl:mixin:APP:mixins.essential.json:client.gui.Mixin_FixKeybindUnpressedInEmoteWheel,pl:mixin:APP:mixins.essential.json:client.gui.Mixin_RecalculateMenuScale,pl:mixin:APP:mixins.essential.json:compatibility.forge.Mixin_FixInternalByteBufAccess,pl:mixin:APP:mixins.essential.json:compatibility.forge.Mixin_FixPrematureByteBufFree,pl:mixin:APP:mixins.essential.json:events.Mixin_RenderTickEvent,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:607) [?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:abnormals_core.mixins.json:client.MinecraftMixin,pl:mixin:APP:mts.mixins.json:common.MinecraftMixin,pl:mixin:APP:flywheel.mixins.json:ShaderCloseMixin,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:mixins.essential.json:client.Mixin_RunEssentialTasks,pl:mixin:APP:mixins.essential.json:client.MixinMinecraft,pl:mixin:APP:mixins.essential.json:client.gui.Mixin_FixKeybindUnpressedInEmoteWheel,pl:mixin:APP:mixins.essential.json:client.gui.Mixin_RecalculateMenuScale,pl:mixin:APP:mixins.essential.json:compatibility.forge.Mixin_FixInternalByteBufAccess,pl:mixin:APP:mixins.essential.json:compatibility.forge.Mixin_FixPrematureByteBufFree,pl:mixin:APP:mixins.essential.json:events.Mixin_RenderTickEvent,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.main.Main.main(Main.java:184) [?:?] {re:classloading,pl:runtimedistcleaner:A}     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_51] {}     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_51] {}     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_51] {}     at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_51] {}     at net.minecraftforge.fml.loading.FMLClientLaunchProvider.lambda$launchService$0(FMLClientLaunchProvider.java:37) [forge-1.16.5-36.2.42.jar:36.2] {}     at net.minecraftforge.fml.loading.FMLClientLaunchProvider$$Lambda$534/786047074.call(Unknown Source) [forge-1.16.5-36.2.42.jar:36.2] {}     at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.1.3.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.1.3.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.1.3.jar:?] {}     at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.1.3.jar:?] {re:classloading}     at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.1.3.jar:?] {re:classloading} A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Render thread Stacktrace:     at com.google.common.collect.ImmutableMap.checkNoConflict(ImmutableMap.java:186) ~[guava-21.0.jar:?] {}     at com.google.common.collect.RegularImmutableMap.checkNoConflictInKeyBucket(RegularImmutableMap.java:102) ~[guava-21.0.jar:?] {}     at com.google.common.collect.RegularImmutableMap.fromEntryArray(RegularImmutableMap.java:88) ~[guava-21.0.jar:?] {}     at com.google.common.collect.ImmutableMap$Builder.build(ImmutableMap.java:359) ~[guava-21.0.jar:?] {}     at tschipp.carryon.client.event.RenderEvents.onRenderWorld(RenderEvents.java:334) ~[?:1.15.6.24] {re:classloading}     at net.minecraftforge.eventbus.ASMEventHandler_882_RenderEvents_onRenderWorld_RenderWorldLastEvent.invoke(.dynamic) ~[?:?] {}     at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85) ~[eventbus-4.0.0.jar:?] {}     at net.minecraftforge.eventbus.EventBus$$Lambda$3607/1632506112.invoke(Unknown Source) ~[?:?] {}     at net.minecraftforge.eventbus.EventBus.post(EventBus.java:302) ~[eventbus-4.0.0.jar:?] {}     at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283) ~[eventbus-4.0.0.jar:?] {}     at net.minecraftforge.client.ForgeHooksClient.dispatchRenderLast(ForgeHooksClient.java:201) ~[?:?] {re:classloading}     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_51] {}     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_51] {}     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_51] {}     at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_51] {}     at net.optifine.reflect.Reflector.callVoid(Reflector.java:789) ~[?:?] {re:classloading}     at net.minecraft.client.renderer.GameRenderer.func_228378_a_(GameRenderer.java:1027) ~[?:?] {re:mixin,pl:accesstransformer:B,xf:OptiFine:default,xf:fml:fairylights:GameRendererTransformer,re:classloading,pl:accesstransformer:B,xf:OptiFine:default,xf:fml:fairylights:GameRendererTransformer,pl:mixin:APP:immersive_aircraft.mixins.json:GameRendererMixin,pl:mixin:APP:flywheel.mixins.json:StoreProjectionMatrixMixin,pl:mixin:APP:forge-mca.mixin.json:client.MixinGameRenderer,pl:mixin:APP:mixins.essential.json:events.Mixin_GuiDrawScreenEvent_Priority,pl:mixin:A} -- Affected level -- Details:     All players: 1 total; [ClientPlayerEntity['Gilman100'/265, l='ClientLevel', x=141.50, y=70.00, z=-166.50]]     Chunk stats: Client Chunk Cache: 841, 27     Level dimension: minecraft:overworld     Level spawn location: World: (8,64,8), Chunk: (at 8,4,8 in 0,0; 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: 0 game time, 0 day time     Server brand: forge     Server type: Integrated singleplayer server Stacktrace:     at net.minecraft.client.world.ClientWorld.func_72914_a(ClientWorld.java:617) ~[?:?] {re:mixin,xf:OptiFine:default,re:classloading,xf:OptiFine:default,pl:mixin:APP:abnormals_core.mixins.json:client.ClientWorldMixin,pl:mixin:APP:architectury.mixins.json:MixinClientLevel,pl:mixin:APP:mixins.essential.json:feature.particles.Mixin_AddParticleSystemToClientWorld,pl:mixin:A}     at net.minecraft.client.Minecraft.func_71396_d(Minecraft.java:2031) [?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:abnormals_core.mixins.json:client.MinecraftMixin,pl:mixin:APP:mts.mixins.json:common.MinecraftMixin,pl:mixin:APP:flywheel.mixins.json:ShaderCloseMixin,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:mixins.essential.json:client.Mixin_RunEssentialTasks,pl:mixin:APP:mixins.essential.json:client.MixinMinecraft,pl:mixin:APP:mixins.essential.json:client.gui.Mixin_FixKeybindUnpressedInEmoteWheel,pl:mixin:APP:mixins.essential.json:client.gui.Mixin_RecalculateMenuScale,pl:mixin:APP:mixins.essential.json:compatibility.forge.Mixin_FixInternalByteBufAccess,pl:mixin:APP:mixins.essential.json:compatibility.forge.Mixin_FixPrematureByteBufFree,pl:mixin:APP:mixins.essential.json:events.Mixin_RenderTickEvent,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:628) [?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:abnormals_core.mixins.json:client.MinecraftMixin,pl:mixin:APP:mts.mixins.json:common.MinecraftMixin,pl:mixin:APP:flywheel.mixins.json:ShaderCloseMixin,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:mixins.essential.json:client.Mixin_RunEssentialTasks,pl:mixin:APP:mixins.essential.json:client.MixinMinecraft,pl:mixin:APP:mixins.essential.json:client.gui.Mixin_FixKeybindUnpressedInEmoteWheel,pl:mixin:APP:mixins.essential.json:client.gui.Mixin_RecalculateMenuScale,pl:mixin:APP:mixins.essential.json:compatibility.forge.Mixin_FixInternalByteBufAccess,pl:mixin:APP:mixins.essential.json:compatibility.forge.Mixin_FixPrematureByteBufFree,pl:mixin:APP:mixins.essential.json:events.Mixin_RenderTickEvent,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.main.Main.main(Main.java:184) [?:?] {re:classloading,pl:runtimedistcleaner:A}     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_51] {}     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_51] {}     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_51] {}     at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_51] {}     at net.minecraftforge.fml.loading.FMLClientLaunchProvider.lambda$launchService$0(FMLClientLaunchProvider.java:37) [forge-1.16.5-36.2.42.jar:36.2] {}     at net.minecraftforge.fml.loading.FMLClientLaunchProvider$$Lambda$534/786047074.call(Unknown Source) [forge-1.16.5-36.2.42.jar:36.2] {}     at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.1.3.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.1.3.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.1.3.jar:?] {}     at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.1.3.jar:?] {re:classloading}     at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.1.3.jar:?] {re:classloading} -- System Details -- Details:     Minecraft Version: 1.16.5     Minecraft Version ID: 1.16.5     Operating System: Windows 10 (amd64) version 10.0     Java Version: 1.8.0_51, Oracle Corporation     Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation     Memory: 1589460336 bytes (1515 MB) / 4623171584 bytes (4409 MB) up to 6561988608 bytes (6258 MB)     CPUs: 12     JVM Flags: 4 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx7040m -Xms256m     ModLauncher: 8.1.3+8.1.3+main-8.1.x.c94d18ec     ModLauncher launch target: fmlclient     ModLauncher naming: srg     ModLauncher services:          /mixin-0.8.4.jar mixin PLUGINSERVICE          /eventbus-4.0.0.jar eventbus PLUGINSERVICE          /forge-1.16.5-36.2.42.jar object_holder_definalize PLUGINSERVICE          /forge-1.16.5-36.2.42.jar runtime_enum_extender PLUGINSERVICE          /accesstransformers-3.0.1.jar accesstransformer PLUGINSERVICE          /forge-1.16.5-36.2.42.jar capability_inject_definalize PLUGINSERVICE          /forge-1.16.5-36.2.42.jar runtimedistcleaner PLUGINSERVICE          /mixin-0.8.4.jar mixin TRANSFORMATIONSERVICE          /OptiFine_1.16.5_HD_U_G8%20(1).jar OptiFine TRANSFORMATIONSERVICE          /essential_1-3-2-5_forge_1-16-5.jar essential-loader TRANSFORMATIONSERVICE          /forge-1.16.5-36.2.42.jar fml TRANSFORMATIONSERVICE      FML: 36.2     Forge: net.minecraftforge:36.2.42     FML Language Providers:          [email protected]         minecraft@1         [email protected]     Mod List:          TFTH 1.2.jar                                      |The_Flesh_That_Hates          |plaque                        |1.0.0               |DONE      |Manifest: NOSIGNATURE         BetterAnimationsCollection-v1.2.4-1.16.5-Forge.jar|Better Animations Collection  |betteranimationscollection    |1.2.4               |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         glasscutter-1.1.1-1.16.5.jar                      |Glasscutter                   |glasscutter                   |1.1.1               |DONE      |Manifest: NOSIGNATURE         supermartijn642configlib-1.1.8-forge-mc1.16.jar   |SuperMartijn642's Config Libra|supermartijn642configlib      |1.1.8               |DONE      |Manifest: NOSIGNATURE         Trin Civil Pack-1.16.5-3.22.0.jar                 |Immersive Vehicles (MTS/IV) - |iv_tcp_v3                     |3.20.0              |DONE      |Manifest: NOSIGNATURE         HMM19.3.1MC1.16.5.jar                             |Horror Movie Monsters         |hmm                           |19.3.1              |DONE      |Manifest: NOSIGNATURE         weeping_angels-36.0.1.jar                         |Weeping Angels                |weeping_angels                |36.0.1              |DONE      |Manifest: NOSIGNATURE         jei-1.16.5-7.8.0.1009.jar                         |Just Enough Items             |jei                           |7.8.0.1009          |DONE      |Manifest: NOSIGNATURE         VisualWorkbench-v1.1.0-1.16.5.jar                 |Visual Workbench              |visualworkbench               |1.1.0               |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         DoggyTalents-1.16.5-2.1.15.jar                    |Doggy Talents 2               |doggytalents                  |2.1.15              |DONE      |Manifest: NOSIGNATURE         abnormals_core-1.16.5-3.3.1.jar                   |Abnormals Core                |abnormals_core                |3.3.1               |DONE      |Manifest: NOSIGNATURE         mcw-windows-2.2.1-mc1.16.5forge.jar               |Macaw's Windows               |mcwwindows                    |2.2.1               |DONE      |Manifest: NOSIGNATURE         caelus-forge-1.16.5-2.1.3.2.jar                   |Caelus API                    |caelus                        |1.16.5-2.1.3.2      |DONE      |Manifest: NOSIGNATURE         immersive_aircraft-0.5.2+1.16.5-forge.jar         |Immersive Aircraft            |immersive_aircraft            |0.5.2+1.16.5        |DONE      |Manifest: NOSIGNATURE         KleeSlabs_1.16.5-9.2.1.jar                        |KleeSlabs                     |kleeslabs                     |9.2.1               |DONE      |Manifest: NOSIGNATURE         Waystones_1.16.5-7.6.4.jar                        |Waystones                     |waystones                     |7.6.4               |DONE      |Manifest: NOSIGNATURE         jev-1.16.3-2.0.1.jar                              |Just Enough Vehicles          |jev                           |2.0.1               |DONE      |Manifest: NOSIGNATURE         mcwfurnituresbop-1.16.5-1.3.jar                   |Macaw's Furnitures - BOP      |mcwfurnituresbop              |1.16.5-1.3          |DONE      |Manifest: NOSIGNATURE         Clumps-6.0.0.28.jar                               |Clumps                        |clumps                        |6.0.0.28            |DONE      |Manifest: NOSIGNATURE         journeymap-1.16.5-5.8.5p7.jar                     |Journeymap                    |journeymap                    |5.8.5p7             |DONE      |Manifest: NOSIGNATURE         CTM-MC1.16.1-1.1.2.6.jar                          |ConnectedTexturesMod          |ctm                           |MC1.16.1-1.1.2.6    |DONE      |Manifest: NOSIGNATURE         TravelersBackpack-1.16.5-5.4.51.jar               |Traveler's Backpack           |travelersbackpack             |5.4.51              |DONE      |Manifest: NOSIGNATURE         Artifacts-1.16.5-2.10.5.jar                       |Artifacts                     |artifacts                     |1.16.5-2.10.5       |DONE      |Manifest: NOSIGNATURE         FarmingForBlockheads_1.16.5-7.3.1.jar             |Farming for Blockheads        |farmingforblockheads          |7.3.1               |DONE      |Manifest: NOSIGNATURE         Bookshelf-Forge-1.16.5-10.4.33.jar                |Bookshelf                     |bookshelf                     |10.4.33             |DONE      |Manifest: eb:c4:b1:67:8b:f9:0c:db:dc:4f:01:b1:8e:61:64:39:4c:10:85:0b:a6:c4:c7:48:f0:fa:95:f2:cb:08:3a:e5         NCOBC-1.2.2.jar                                   |Non Craftable Items Become Cra|dolberhats                    |1.2.2               |DONE      |Manifest: NOSIGNATURE         table_top_craft-1.16-1.2.1.jar                    |Table Top Craft               |table_top_craft               |1.16-1.2.1          |DONE      |Manifest: NOSIGNATURE         mcw-doors-1.1.0forge-mc1.16.5.jar                 |Macaw's Doors                 |mcwdoors                      |1.1.0               |DONE      |Manifest: NOSIGNATURE         Immersive Vehicles-1.16.5-22.15.0.jar             |Immersive Vehicles (formerly M|mts                           |NONE                |DONE      |Manifest: NOSIGNATURE         JEITweaker-1.16.5-1.1.0.49.jar                    |JEI Tweaker                   |jeitweaker                    |1.1.0.49            |DONE      |Manifest: NOSIGNATURE         fusion-1.1.1-forge-mc1.16.jar                     |Fusion                        |fusion                        |1.1.1               |DONE      |Manifest: NOSIGNATURE         carryon-1.16.5-1.15.6.24.jar                      |Carry On                      |carryon                       |1.15.6.24           |DONE      |Manifest: NOSIGNATURE         CraftTweaker-1.16.5-7.1.2.527.jar                 |CraftTweaker                  |crafttweaker                  |7.1.2.527           |DONE      |Manifest: NOSIGNATURE         BotanyPots-1.16.5-7.1.41.jar                      |BotanyPots                    |botanypots                    |7.1.41              |DONE      |Manifest: eb:c4:b1:67:8b:f9:0c:db:dc:4f:01:b1:8e:61:64:39:4c:10:85:0b:a6:c4:c7:48:f0:fa:95:f2:cb:08:3a:e5         forge-1.16.5-36.2.42-universal.jar                |Forge                         |forge                         |36.2.42             |DONE      |Manifest: 22:af:21:d8:19:82:7f:93:94:fe:2b:ac:b7:e4:41:57:68:39:87:b1:a7:5c:c6:44:f9:25:74:21:14:f5:0d:90         Trin Parts Pack-1.16.5-2.23.1.jar                 |Immersive Vehicles (MTS/IV) - |iv_tpp                        |2.22.0              |DONE      |Manifest: NOSIGNATURE         refinedstorage-1.9.18.jar                         |Refined Storage               |refinedstorage                |1.9.18              |DONE      |Manifest: NOSIGNATURE         mcw-paths-1.0.5-1.16.5forge.jar                   |Macaw's Paths and Pavings     |mcwpaths                      |1.0.5               |DONE      |Manifest: NOSIGNATURE         corpse-1.16.5-1.0.6.jar                           |Corpse                        |corpse                        |1.16.5-1.0.6        |DONE      |Manifest: NOSIGNATURE         Scary_Mobs_And_Bosses-mod-1.16.5_1.2.0.jar        |Scary Mobs Mobs and Bosses    |scary_mobs_and_bosses         |1.2.0               |DONE      |Manifest: NOSIGNATURE         chipped-1.16.5-1.2.1-forge.jar                    |Chipped                       |chipped                       |1.16.5-1.2.1-forge  |DONE      |Manifest: NOSIGNATURE         forge-1.16.5-36.2.42-client.jar                   |Minecraft                     |minecraft                     |1.16.5              |DONE      |Manifest: NOSIGNATURE         UndeadExpansion_2.0.4_1.16.5_b.jar                |Undead Expansion              |undead_expansion              |2.0.4               |DONE      |Manifest: NOSIGNATURE         mcw-bridges-3.0.0-mc1.16.5forge.jar               |Macaw's Bridges               |mcwbridges                    |3.0.0               |DONE      |Manifest: NOSIGNATURE         FarmersDelight-1.16.5-0.6.0.jar                   |Farmer's Delight              |farmersdelight                |1.16.5-0.6.0        |DONE      |Manifest: NOSIGNATURE         ToolBelt-1.16.5-1.16.3.jar                        |Tool Belt                     |toolbelt                      |1.16.3              |DONE      |Manifest: NOSIGNATURE         BotanyTrees-1.16.5-3.0.12.jar                     |BotanyTrees                   |botanytrees                   |3.0.12              |DONE      |Manifest: eb:c4:b1:67:8b:f9:0c:db:dc:4f:01:b1:8e:61:64:39:4c:10:85:0b:a6:c4:c7:48:f0:fa:95:f2:cb:08:3a:e5         BiomesOPlenty-1.16.5-13.1.0.477-universal.jar     |Biomes O' Plenty              |biomesoplenty                 |1.16.5-13.1.0.477   |DONE      |Manifest: NOSIGNATURE         mcw-trapdoors-1.1.3-mc1.16.5forge.jar             |Macaw's Trapdoors             |mcwtrpdoors                   |1.1.3               |DONE      |Manifest: NOSIGNATURE         mcw-fences-1.1.1-mc1.16.5forge.jar                |Macaw's Fences and Walls      |mcwfences                     |1.1.1               |DONE      |Manifest: NOSIGNATURE         supermartijn642corelib-1.1.17a-forge-mc1.16.jar   |SuperMartijn642's Core Lib    |supermartijn642corelib        |1.1.17a             |DONE      |Manifest: NOSIGNATURE         fairylights-4.0.6-1.16.5.jar                      |Fairy Lights                  |fairylights                   |4.0.6               |DONE      |Manifest: NOSIGNATURE         RecipesLibrary-1.16.5-2.0.0.jar                   |Recipes Library               |recipes_lib                   |2.0.0               |DONE      |Manifest: NOSIGNATURE         jeiintegration_1.16.5-7.1.0.22.jar                |JEI Integration               |jeiintegration                |7.1.0.22            |DONE      |Manifest: NOSIGNATURE         SelectablePainting-1.16.5-2.0.1.jar               |Selectable Painting           |selectable_painting           |2.0.1               |DONE      |Manifest: NOSIGNATURE         plushies-1.2-1.16.5-forge.jar                     |Plushie Mod                   |plushies                      |1.2                 |DONE      |Manifest: NOSIGNATURE         flywheel-1.16-0.2.5.jar                           |Flywheel                      |flywheel                      |1.16-0.2.5          |DONE      |Manifest: NOSIGNATURE         curios-forge-1.16.5-4.1.0.0.jar                   |Curios API                    |curios                        |1.16.5-4.1.0.0      |DONE      |Manifest: NOSIGNATURE         sisser-1.7.jar                                    |Sisser                        |sisser                        |1.7                 |DONE      |Manifest: NOSIGNATURE         Croptopia-1.16.5-FORGE-2.0.5.jar                  |Croptopia                     |croptopia                     |2.0.5               |DONE      |Manifest: NOSIGNATURE         polymorph-forge-1.16.5-0.41.jar                   |Polymorph                     |polymorph                     |1.16.5-0.41         |DONE      |Manifest: NOSIGNATURE         abnormals_delight-1.16.5-1.2.1.jar                |Abnormals Delight             |abnormals_delight             |1.2.1               |DONE      |Manifest: NOSIGNATURE         StorageDrawers-1.16.3-8.5.2.jar                   |Storage Drawers               |storagedrawers                |8.5.2               |DONE      |Manifest: NOSIGNATURE         DiagonalFences-v1.1.1-1.16.5.jar                  |Diagonal Fences               |diagonalfences                |1.1.1               |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         DoubleSlabs-1.16-3.7.3.jar                        |Double Slabs                  |doubleslabs                   |3.7.3               |DONE      |Manifest: NOSIGNATURE         obfuscate-0.6.3-1.16.5.jar                        |Obfuscate                     |obfuscate                     |0.6.3               |DONE      |Manifest: NOSIGNATURE         vehicle-mod-0.45.2-1.16.3.jar                     |MrCrayfish's Vehicle Mod      |vehicle                       |0.45.2              |DONE      |Manifest: NOSIGNATURE         cfm-7.0.0pre22-1.16.3.jar                         |MrCrayfish's Furniture Mod    |cfm                           |7.0.0-pre22         |DONE      |Manifest: NOSIGNATURE         morecfm-1.3.1-1.16.3.jar                          |MrCrayfish's More Furniture Mo|morecfm                       |1.3.1               |DONE      |Manifest: NOSIGNATURE         architectury-1.32.68.jar                          |Architectury                  |architectury                  |1.32.68             |DONE      |Manifest: NOSIGNATURE         minecraft-comes-alive-7.3.23+1.16.5-universal.jar |Minecraft Comes Alive         |mca                           |7.3.23+1.16.5       |DONE      |Manifest: NOSIGNATURE         connectedglass-1.1.11-forge-mc1.16.jar            |Connected Glass               |connectedglass                |1.1.11              |DONE      |Manifest: NOSIGNATURE         Chisel-MC1.16.5-2.0.1-alpha.4.jar                 |Chisel                        |chisel                        |MC1.16.5-2.0.1-alpha|DONE      |Manifest: NOSIGNATURE         mcw-furniture-3.2.2-mc1.16.5forge.jar             |Macaw's Furniture             |mcwfurnitures                 |3.2.2               |DONE      |Manifest: NOSIGNATURE         apexcore-1.16.5-1.10.0.jar                        |ApexCore                      |apexcore                      |1.10.0              |DONE      |Manifest: NOSIGNATURE         fantasyfurniture-1.16.5-2.0.2.jar                 |Fantasy's Furniture           |fantasyfurniture              |2.0.2               |DONE      |Manifest: NOSIGNATURE         cloth-config-4.17.101-forge.jar                   |Cloth Config v4 API           |cloth-config                  |4.17.101            |DONE      |Manifest: NOSIGNATURE         PuzzlesLib-v1.0.15-1.16.5-Forge.jar               |Puzzles Lib                   |puzzleslib                    |1.0.15              |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         Aquaculture-1.16.5-2.1.23.jar                     |Aquaculture 2                 |aquaculture                   |1.16.5-2.1.23       |DONE      |Manifest: NOSIGNATURE         FallingTree-1.16.5-2.11.7.jar                     |FallingTree                   |fallingtree                   |2.11.7              |DONE      |Manifest: NOSIGNATURE         expandability-2.0.1-forge.jar                     |ExpandAbility                 |expandability                 |2.0.1               |DONE      |Manifest: NOSIGNATURE         geckolib-forge-1.16.5-3.0.106.jar                 |GeckoLib                      |geckolib3                     |3.0.106             |DONE      |Manifest: NOSIGNATURE         mcw-lights-1.0.6b-mc1.16.5forge.jar               |Macaw's Lights and Lamps      |mcwlights                     |1.0.6               |DONE      |Manifest: NOSIGNATURE         Essential (forge_1.16.5).jar                      |Essential                     |essential                     |1.3.2.5+ge4fdbcd438 |DONE      |Manifest: NOSIGNATURE         BetterAdvancements-1.16.5-0.1.1.115.jar           |Better Advancements           |betteradvancements            |0.1.1.115           |DONE      |Manifest: NOSIGNATURE     Crash Report UUID: 5a2a5800-3bd7-4640-9bbc-ef9573fc1d4b     Launched Version: forge-36.2.42     Backend library: LWJGL version 3.2.2 build 10     Backend API: NVIDIA GeForce RTX 2050/PCIe/SSE2 GL version 4.6.0 NVIDIA 546.80, NVIDIA Corporation     GL Caps: Using framebuffer using OpenGL 3.0     Using VBOs: Yes     Is Modded: Definitely; Client brand changed to 'forge'     Type: Client (map_client.txt)     Graphics mode: fancy     Resource Packs: vanilla, mod_resources, file/Invisible Item Frame Pack_1.16.4-1.0.zip, file/Mizunos 16 Craft JE CIT_1.16.4_beta-1.0.zip, file/Mizunos 16 Craft JE_1.16.4-1.0.zip     Current Language: English (US)     CPU: 12x AMD Ryzen 5 7535HS with Radeon Graphics      OptiFine Version: OptiFine_1.16.5_HD_U_G8     OptiFine Build: 20210515-161946     Render Distance Chunks: 12     Mipmaps: 4     Anisotropic Filtering: 1     Antialiasing: 0     Multitexture: false     Shaders: BSL_v8.2.09.zip     OpenGlVersion: 4.6.0 NVIDIA 546.80     OpenGlRenderer: NVIDIA GeForce RTX 2050/PCIe/SSE2     OpenGlVendor: NVIDIA Corporation     CpuCount: 12
    • I've been trying to give a little transparency to a block and a custom model, but I'm running into the same issue with the transparency of the block Some guides say I use ItemBlockRenderTypes.setRenderLayer in a ClientEvent class but its deprecated, I already tried to set a Properties in Properties.copy(Blocks.FLOWERPOT) But the render in game still doesn't has transparency, only as an Item  
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.