Jump to content

[Solved]ICapabilityProvider Help


jredfox

Recommended Posts

Edit: use this:
https://www.planetminecraft.com/blog/forge-tutorial-capability-system/

 

How to use the interface? Do I need to register it constantly in a certain event for tile entities or just use the AttachCapabilitiesEvent<TileEntity> event?

What is Capability do I need to make yet another class? How am I suppose to return get capability the list shouldn't have it already yet it's there? What is capability<?> it extends what and is it an array? So confused on what to do here

 

I am trying to store a boolean or (byte if no boolean option) into nbt of all tile entities to retrieve it later
 

public class TileCapabilities implements ICapabilityProvider{

	@Override
	public boolean hasCapability(Capability<?> capability, EnumFacing facing) {
		return capability.;
	}

	@Override
	public <T> T getCapability(Capability<T> capability, EnumFacing facing) {
		return capability.getName().;
	}

}

 

Edited by jredfox
Link to comment
Share on other sites

TileEntity already Implements ICapabilityProvider. You don't need to do anything but override those methods.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

3 minutes ago, Draco18s said:

TileEntity already Implements ICapabilityProvider. You don't need to do anything but override those methods.

right and I was asking how those methods work. I plan on this for all tile entities

 

like an example very basic example of storing a single variable object would help

Edited by jredfox
Link to comment
Share on other sites

27 minutes ago, jredfox said:

What is Capability do I need to make yet another class?

If you want to create a new capability, then yes, you do. You need an interface that describes your capability, then you need to implement it:

https://github.com/Draco18s/ReasonableRealism/blob/1.12.1/src/main/java/com/draco18s/hardlib/api/interfaces/IMechanicalPower.java

https://github.com/Draco18s/ReasonableRealism/tree/1.12.1/src/main/java/com/draco18s/hardlib/api/capability

Quote

How am I suppose to return get capability the list shouldn't have it already yet it's there? What is capability<?> it extends what and is it an array?

What you are looking at is a Generic.

https://en.wikipedia.org/wiki/Generics_in_Java

Capability<T> means "This is an object of type Capability of some subtype." It is not an array, an array is just another type of Generic.

In order to provide a return from getCapability you need to cast to Type T:

return (T)someObject;

Quote

So confused on what to do here

 

All of this is described in the docs:

https://mcforge.readthedocs.io/en/latest/datastorage/capabilities/

Edited by Draco18s

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

30 minutes ago, Draco18s said:

 

return super.hasCapability(capability, facing); doesn't exist in class object error message but, forge said to do it this is confusing me. I need to know steps since every time I read this then look at an actual class there is 10 more then I find out no such thing can't use it? like say you have to: 1: create interface, 2: how to use interface methods 3: capability<?> how that works can be retrieved and set the object inside

 

@Override
	public boolean hasCapability(Capability<?> capability, EnumFacing facing) {
		if(capability == hasScaned)
			return true;
		else
			return super.getCapability(capability, facing);
	}

 

Yeah forge docs says 3 different things are capabilities they need to simplfy it doesn't tell me what is what and how to do anything for me I am guessing everything read it like 5 times. I need steps and explain what to actually do in order.

Edited by jredfox
Link to comment
Share on other sites

21 minutes ago, diesieben07 said:

There is a difference between adding a capability to your own tile entity and adding one to someone else's tile entity. You want the latter, so some of what Draco said is not correct.

 

You implement ICapabilityProvider, to provide whatever capabilities you want. This provider also ensures that and defines how these capabilities get to save data. You can then attach this provider to an existing tile entity using AttachCapabilitiesEvent<TileEntity> and that tile entity will also provide the capabilities provided by your provider and the data will be saved with the tile entity.

 

For how to make your own capability (not the provider!), see the link to the documentation posted by Draco.

So I need a provider and the other object please explain the steps simplified on what to do. Forge docs is confusing and doesn't explain everything. Then after explaining that explain how to retrieve and store the object in Capability<Object>

Edited by jredfox
Link to comment
Share on other sites

36 minutes ago, diesieben07 said:

There is a difference between adding a capability to your own tile entity and adding one to someone else's tile entity. You want the latter, so some of what Draco said is not correct.

This is true, I did skip over that possibility.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

1 hour ago, diesieben07 said:

 

I think I figured it out but, this is really a piece of utter crap of confusion
https://www.planetminecraft.com/blog/forge-tutorial-capability-system/

How I think it should be
Register class object that implements an interface that extends the base provider{readNBT(),writeToNBT()}

the 2d parameter being the base resource location for your mods tags to go into {  }

 

CapabilityManager.INSTANCE.register(new CapObject(),new ResourceLocation("modlib:tileSyncing"));

IBaseCapability cap = CapabilityManager.INSTANCE.get(new ResourceLocation("modlib:tileSyncing"));// from here you could either cast it to the right object to get said stuff


Nothing more if you have the variables/objects you need written and reading that's all you need maybe do something else for Object support but, I don't even think it supports writing full blown objects to nbt anyways. They populate vars from readFromNBT() and save by writing to disk. Modify vars from other forge events and have the static instanceof the capabilities container for further use since it's their own interface they create they can get the objects as well but, no need can use regular methods at this point

 

Edited by jredfox
Link to comment
Share on other sites

The definition of the capability and its implementation need to be separate objects.

 

Your proposed idea misses the fact that there may be multiple instances of the implementation, e.g. a chest inventory is a Capability<IItemHandler> and there may be hundreds of chests each with their own copy of an IItemHandler implementation. You can't just say CapabilityManager.INSTANCE.get(new ResourceLocation("forge:inventory")); and get anything sensible back. What would it give you? the Capability<T> or the T?

 

It can't give you the T because of the aforementioned issue. Which means it must return the Capability<T> (which is a wholly separate object!), which, surprise, is already available, CapabilityItemHandler.ITEM_HANDLER_CAPABILITY. For other mods' capabilities, there's already the @ObjectHolder annotation.

Edited by Draco18s

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

1 minute ago, Draco18s said:

The definition of the capability and its implementation need to be separate objects.

 

Your proposed idea misses the fact that there may be multiple instances of the implementation, e.g. a chest inventory is a Capability<IItemHandler> and there may be hundreds of chests each with their own copy of an IItemHandler implementation. You can't just say CapabilityManager.INSTANCE.get(new ResourceLocation("forge:inventory")); and get anything sensible back. What would it give you? the Capability<T> or the T?

 

It can't give you the T because of the aforementioned issue. Which means it must return the Capability<T> (which is a wholly separate object!), which, surprise, is already available, CapabilityItemHandler.ITEM_HANDLER_CAPABILITY. For other mods' capabilities, there's already the @ObjectHolder annotation.

well maybe they could do new ResourceLoaction("minecraft:chest:enderchest"); ? The point is they are making it waaaaaaaaaaaaaay more complictated then it needs to be take IRecipe for example 3 simple methods one register parameter and it's more complex then this needs to be 

Link to comment
Share on other sites

I also made an nbt path api they could implement into forge so the path could be chest/enderchest from default nbt rather then resource location. It decompiles nbt without recursion since I didn't know how to use recusrion and I hear it literally takes seconds compared to something non recursive that takes miliseconds yes I tried 400 branches randomly it decompiled the nbt properly

Link to comment
Share on other sites

2 minutes ago, jredfox said:

well maybe they could do new ResourceLoaction("minecraft:chest:enderchest"); ? The point is they are making it waaaaaaaaaaaaaay more complictated then it needs to be take IRecipe for example 3 simple methods one register parameter and it's more complex then this needs to be 

Who's ender chest inventory would that give you?

 

Again, your proposal makes no sense.

 

Recipes are simpler because there's exactly 1 copy of the recipe shared across all players.

The same is true for blocks and items.

Capabilities can have an infinite number of instances.

Just now, jredfox said:

I also made an nbt path api they could implement into forge so the path could be chest/enderchest from default nbt rather then resource location. It decompiles nbt without recursion since I didn't know how to use recusrion and I hear it literally takes seconds compared to something non recursive that takes miliseconds yes I tried 400 branches randomly it decompiled the nbt properly

NBT is for saving to disk only, it should never be used in any other circumstance.

And "literally takes seconds" is fucking slow. No one would want to wait "seconds" for a hopper to extract an item from a chest or to push power down a wire.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

1 minute ago, Draco18s said:

Who's ender chest inventory would that give you?

 

Again, your proposal makes no sense.

 

Recipes are simpler because there's exactly 1 copy of the recipe shared across all players.

The same is true for blocks and items.

Capabilities can have an infinite number of instances.

NBT is for saving to disk only, it should never be used in any other circumstance.

And "literally takes seconds" is fucking slow. No one would want to wait "seconds" for a hopper to extract an item from a chest or to push power down a wire.

What are you talking about capabilites should be globally given ok so maybe the interface should have a 3d method hasCapability(ResourceLocation loc,EnumFacing facing, Object obj)// where obj can be tile entity, player etc.... 

 

yes nbt is for saving to disks all properties should be saved otherwise there is no point in having them you loose all data once you re-launch the game

 

I said recursion takes seconds my recursionless nbtpathapi takes 0 delay

Link to comment
Share on other sites

6 minutes ago, jredfox said:

What are you talking about capabilites should be globally given ok

No. They shouldn't.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

NBTTagCompounds do exists in memory and can be edited in memory they could simply keep capabilities always in nbt or decompile it using by api again there is no delay I was explaining how and why it had no recursion.

default vanilla

Link to comment
Share on other sites

4 minutes ago, Draco18s said:

No. They shouldn't.

@SubscribeEvent
	public void patchVanilla(AttachCapabilitiesEvent<TileEntity> e)
	{
		e.addCapability(new ResourceLocation(MainJava.MODID + ":" + "hasScanned"), new CapProvider());
	}

I am afraid by global I meant to all of that type that you wanted to have capabilities forge already does this my idea would be different code above applied to all tile entities including mob spawners I just tested it

 

think you misunderstood my by think capabilities global to all object types no only what you wanted to attach. So yeah it would perform the same function under the same events just less confusing getters and setters for the base interface. If you don't like it it's your opinion I am open to suggestions on hypothetical forge pull

Edited by jredfox
Link to comment
Share on other sites

10 minutes ago, jredfox said:

NBTTagCompounds do exists in memory and can be edited in memory they could simply keep capabilities always in nbt

This is horrible practice. Absolutely horrendous.

 

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

5 hours ago, diesieben07 said:

@jredfox You are completely missing the point and the advantages of the capability system.

what is so different from my idea that they couldn't compress the methods to only make users have one object and interface? I see read/write to nbt then have a specific object that is null by default and other people cannot find your attachments because, that would force a dependency rather then just returning nbt values that store the current of what it supports anyways? If user wants with my idea they can add any methods to the interface they wanted I also suggest a method to return NBTTagCompound() so other mods can interact and then after you got it written to compound not the disk make the capabilities read it to update values. That way no dependency required for a fail safe method returning the interface for one and the nbt for the other I don't see the issue here.

 

TileEntities already provide such example

TileEntity tile = w.getTileEntity(pos);
NBTTagCompound nbt = new NBTTagCompound();
tile.writToNBT(nbt);
if(nbt.hasKey("SpawnRange")
   nbt.setInteger("SpawnRange",10000);
tile.readFromNBT(nbt);//notice didn't hard code cast this to tile entity mob spawner as vanilla is hard to extend any classes and this also supports classes that don't extend it but, if have a spawnrange updates it the values into memory and nothing was writen to disk until the tile entity decides to save stuff

 

Edited by jredfox
Link to comment
Share on other sites

4 minutes ago, diesieben07 said:

What you are suggesting violates pretty much every design philosophy in object oriented programming.

no in matter of fact it implements it just right take a look. Then I did a second example with magic but, was too lazy to make another object for display so image it's implemented properly with read/write nbt and set/get works

https://gist.github.com/jredfox/0b6f34c74783b8759b353eebb27733b3

Edited by jredfox
Link to comment
Share on other sites

3 minutes ago, diesieben07 said:

Your example shows capabilities being global singletons. That does not work. You need separate inventories per tile entity, not one global "the inventory" instance.

Draco already told you this.

so in forge you can only apply to to only specified object bases anyways. I think A: it looks cleaner, B: provides mod compatibility support, C: 100% easier to use

 

I am sure there is a way around that as well just a very basic example I wiped up in two minuets that was user freindly and compatibility friendly which is the most important 

Edited by jredfox
Link to comment
Share on other sites

5 minutes ago, diesieben07 said:

Your example shows capabilities being global singletons. That does not work. You need separate inventories per tile entity, not one global "the inventory" instance.

Draco already told you this.

O I see what your saying you want edits to has object specific external attachments on by ok let me wip up a patch wait a minuet such as entity player only

Edited by jredfox
Link to comment
Share on other sites

8 minutes ago, diesieben07 said:

Your code makes absolutely no sense. Why do you insist on stuffing things into NBT at runtime? This just makes the code awful to read and work with.

 

No, this is not a good system.

NBT is so modders don't have to be dependent upon a mod to edit capabilities this is also why tile entities do this as well as itemstacks

 

If you take a look you could use the registry to get the interface for direct dependency modding but, I don't recommend it unless your the owner of the capability 


I also updated the code to make more sense for implementation of tile entity and fixed up the one class of registry. I am going to put a pull for this soon as new capability system along with a new built in forge api that I wrote

 

If you like it you like it if you don't that's fine issues solved and I am going to post this to forge. Or at least convince them to not have to be dependent to get capabilities and modify them. you also saw it when it was flawed I fixed it it's now officially better then forge as you don't have to be dependent upon the mod to determine whether or not it has capability and to modify them

Edited by jredfox
Link to comment
Share on other sites

"i need help"
"you need to do this"

"i dont like that system"

"its an easy system for mod compatibility"

"no its not, forge sucks, i can do it better"

 

Why do you ask for help if you think you can do it better than everybody else? If your "solution" was actually better, it would've been implemented that way in Forge.

  • Thanks 2

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

Link to comment
Share on other sites

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • nvm I found the Issue, i update the cpu drivers  
    • my game crashes exit code 1. I have tried with and without mods and is still crashing, i have tried everything but no success.
    • Hi, i'm getting this error when trying to start a modded minecraft server with a personal modpack. Also getting a simmilar error when trying to create a singleplayer world. Can someone help me find which mod is causing this error? Forge: 47.2.0 Minecraft: 1.20.1   This is the crash report: Also have this link to the log, if you prefer it: https://mclo.gs/3fRVwOj
    • I was trying to play minecraft modded with my friend it worked yesterday until today we added new mods and now i cant load the world here is the crash log: ---- Minecraft Crash Report ---- // This doesn't make any sense! Time: 2024-04-28 15:34:36 Description: Exception in server tick loop java.lang.VerifyError: Bad local variable type Exception Details:   Location:     net/minecraft/server/level/ChunkMap.wrapOperation$zfm000$pehkui$convertToFullChunk$lambda$loadEntities$mixinextras$bridge$136(Lnet/minecraft/world/level/chunk/LevelChunk;Lcom/llamalad7/mixinextras/injector/wrapoperation/Operation;)V @3: aload_3   Reason:     Type top (current frame, locals[3]) is not assignable to reference type   Current Frame:     bci: @3     flags: { }     locals: { 'net/minecraft/server/level/ChunkMap', 'net/minecraft/world/level/chunk/LevelChunk', 'com/llamalad7/mixinextras/injector/wrapoperation/Operation' }     stack: { 'net/minecraft/server/level/ChunkMap', 'net/minecraft/world/level/chunk/LevelChunk', 'com/llamalad7/mixinextras/injector/wrapoperation/Operation' }   Bytecode:     0000000: 2a2b 2c2d b90b eb01 00c0 001f b70b edb1     0000010:                                             at net.minecraft.server.level.ServerChunkCache.<init>(ServerChunkCache.java:77) ~[client-1.20.1-20230612.114412-srg.jar%23313!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:pehkui.mixins.json:compat117plus.compat1201minus.ServerChunkManagerMixin,pl:mixin:A}     at net.minecraft.server.level.ServerLevel.<init>(ServerLevel.java:209) ~[client-1.20.1-20230612.114412-srg.jar%23313!/:?] {re:computing_frames,pl:accesstransformer:B,re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:betterendisland.mixins.json:ServerLevelMixin,pl:mixin:APP:citadel.mixins.json:ServerLevelMixin,pl:mixin:APP:zombieawareness.mixins.json:MixinPlaySound,pl:mixin:APP:zombieawareness.mixins.json:MixinLevelEvent,pl:mixin:APP:betterdeserttemples.mixins.json:ServerLevelMixin,pl:mixin:APP:ars_elemental.mixins.json:ServerLevelMixin,pl:mixin:APP:betterendisland.mixins.json:EndergeticExpansionMixins,pl:mixin:A}     at net.minecraft.server.MinecraftServer.m_129815_(MinecraftServer.java:337) ~[client-1.20.1-20230612.114412-srg.jar%23313!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:xaerominimap:xaero_minecraftserver,re:classloading,pl:accesstransformer:B,xf:fml:xaerominimap:xaero_minecraftserver,pl:mixin:APP:citadel.mixins.json:MinecraftServerMixin,pl:mixin:APP:mixins.essential.json:feature.sps.Mixin_IntegratedServerResourcePack,pl:mixin:APP:mixins.essential.json:server.MinecraftServerMixin_PvPGameRule,pl:mixin:APP:mixins.essential.json:server.Mixin_PublishServerStatusResponse,pl:mixin:A}     at net.minecraft.server.MinecraftServer.m_130006_(MinecraftServer.java:308) ~[client-1.20.1-20230612.114412-srg.jar%23313!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:xaerominimap:xaero_minecraftserver,re:classloading,pl:accesstransformer:B,xf:fml:xaerominimap:xaero_minecraftserver,pl:mixin:APP:citadel.mixins.json:MinecraftServerMixin,pl:mixin:APP:mixins.essential.json:feature.sps.Mixin_IntegratedServerResourcePack,pl:mixin:APP:mixins.essential.json:server.MinecraftServerMixin_PvPGameRule,pl:mixin:APP:mixins.essential.json:server.Mixin_PublishServerStatusResponse,pl:mixin:A}     at net.minecraft.client.server.IntegratedServer.m_7038_(IntegratedServer.java:83) ~[client-1.20.1-20230612.114412-srg.jar%23313!/:?] {re:mixin,xf:OptiFine:default,re:classloading,xf:OptiFine:default,pl:mixin:APP:mixins.essential.json:server.integrated.Mixin_FixDefaultOpPermissionLevel,pl:mixin:APP:mixins.essential.json:server.integrated.MixinIntegratedServer,pl:mixin:A}     at net.minecraft.server.MinecraftServer.m_130011_(MinecraftServer.java:634) ~[client-1.20.1-20230612.114412-srg.jar%23313!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:xaerominimap:xaero_minecraftserver,re:classloading,pl:accesstransformer:B,xf:fml:xaerominimap:xaero_minecraftserver,pl:mixin:APP:citadel.mixins.json:MinecraftServerMixin,pl:mixin:APP:mixins.essential.json:feature.sps.Mixin_IntegratedServerResourcePack,pl:mixin:APP:mixins.essential.json:server.MinecraftServerMixin_PvPGameRule,pl:mixin:APP:mixins.essential.json:server.Mixin_PublishServerStatusResponse,pl:mixin:A}     at net.minecraft.server.MinecraftServer.m_206580_(MinecraftServer.java:251) ~[client-1.20.1-20230612.114412-srg.jar%23313!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:xaerominimap:xaero_minecraftserver,re:classloading,pl:accesstransformer:B,xf:fml:xaerominimap:xaero_minecraftserver,pl:mixin:APP:citadel.mixins.json:MinecraftServerMixin,pl:mixin:APP:mixins.essential.json:feature.sps.Mixin_IntegratedServerResourcePack,pl:mixin:APP:mixins.essential.json:server.MinecraftServerMixin_PvPGameRule,pl:mixin:APP:mixins.essential.json:server.Mixin_PublishServerStatusResponse,pl:mixin:A}     at java.lang.Thread.run(Thread.java:833) ~[?:?] {re:mixin} A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- System Details -- Details:     Minecraft Version: 1.20.1     Minecraft Version ID: 1.20.1     Operating System: Windows 10 (amd64) version 10.0     Java Version: 17.0.8, Microsoft     Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Microsoft     Memory: 1154564648 bytes (1101 MiB) / 3254779904 bytes (3104 MiB) up to 17850957824 bytes (17024 MiB)     CPUs: 16     Processor Vendor: AuthenticAMD     Processor Name: AMD Ryzen 7 5700G with Radeon Graphics              Identifier: AuthenticAMD Family 25 Model 80 Stepping 0     Microarchitecture: Zen 3     Frequency (GHz): 3.79     Number of physical packages: 1     Number of physical CPUs: 8     Number of logical CPUs: 16     Graphics card #0 name: NVIDIA GeForce RTX 3060     Graphics card #0 vendor: NVIDIA (0x10de)     Graphics card #0 VRAM (MB): 4095.00     Graphics card #0 deviceId: 0x2504     Graphics card #0 versionInfo: DriverVersion=31.0.15.5222     Memory slot #0 capacity (MB): 16384.00     Memory slot #0 clockSpeed (GHz): 2.13     Memory slot #0 type: DDR4     Memory slot #1 capacity (MB): 16384.00     Memory slot #1 clockSpeed (GHz): 2.13     Memory slot #1 type: DDR4     Virtual memory max (MB): 46381.31     Virtual memory used (MB): 24323.54     Swap memory total (MB): 13824.00     Swap memory used (MB): 522.00     JVM Flags: 3 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx17024m -Xms256m     Server Running: true     Player Count: 0 / 8; []     Data Packs: vanilla, mod:dynamiclightsreforged (incompatible), mod:additionalentityattributes (incompatible), mod:geckolib, mod:jei, mod:graveyard (incompatible), mod:pehkui (incompatible), mod:soulbound (incompatible), mod:caelus (incompatible), mod:obscure_api (incompatible), mod:apoli (incompatible), mod:neat, mod:enlightened_end, mod:citadel (incompatible), mod:travelersbackpack, mod:zombieawareness (incompatible), mod:mixinextras (incompatible), mod:cave_dweller (incompatible), mod:depthcrawler, mod:iceandfire, mod:inventorypets (incompatible), mod:jeresources, mod:spelunkers_charm, mod:twilightforest, mod:ironchest, mod:sons_of_sins, mod:lucky (incompatible), mod:terrablender, mod:ambientsounds, mod:biomesoplenty (incompatible), mod:creativecore, mod:watching, mod:calio, mod:cataclysm (incompatible), mod:curios (incompatible), mod:ars_nouveau (incompatible), mod:origins (incompatible), mod:xaerominimap (incompatible), mod:man, mod:rats, mod:forge, mod:ars_elemental (incompatible), mod:gh, mod:ftbultimine (incompatible), mod:tombstone, mod:coroutil (incompatible), mod:architectury (incompatible), mod:ftblibrary (incompatible), mod:ftbteams (incompatible), mod:ftbchunks (incompatible), mod:ftbquests (incompatible), mod:voidscape (incompatible), mod:infiniverse (incompatible), mod:phantasm (incompatible), mod:aquamirae (incompatible), mod:essential (incompatible), mod:betterdungeons, mod:betterwitchhuts, mod:betteroceanmonuments, mod:epicfight (incompatible), mod:wom (incompatible), mod:yungsapi, mod:betterdeserttemples, mod:dixtas_armory (incompatible), mod:betterfortresses, mod:nyfsspiders (incompatible), mod:yungsbridges, mod:born_in_chaos_v1, mod:arphex, mod:yungsextras, mod:betterstrongholds, mod:yungsmenutweaks, mod:deeperdarker, mod:betterendisland, mod:deep_dark_regrowth, mod:fight_or_die, mod:bettermineshafts, mod:betterjungletemples     Enabled Feature Flags: minecraft:vanilla     World Generation: Stable     Type: Integrated Server (map_client.txt)     Is Modded: Definitely; Client brand changed to 'forge'; Server brand changed to 'forge'     Launched Version: forge-47.2.20     OptiFine Version: OptiFine_1.20.1_HD_U_I6     OptiFine Build: 20231221-120401     Render Distance Chunks: 6     Mipmaps: 4     Anisotropic Filtering: 1     Antialiasing: 0     Multitexture: false     Shaders: null     OpenGlVersion: 4.6.0 NVIDIA 552.22     OpenGlRenderer: NVIDIA GeForce RTX 3060/PCIe/SSE2     OpenGlVendor: NVIDIA Corporation     CpuCount: 16     ModLauncher: 10.0.9+10.0.9+main.dcd20f30     ModLauncher launch target: forgeclient     ModLauncher naming: srg     ModLauncher services:          mixin-0.8.5.jar mixin PLUGINSERVICE          eventbus-6.0.5.jar eventbus PLUGINSERVICE          fmlloader-1.20.1-47.2.20.jar slf4jfixer PLUGINSERVICE          fmlloader-1.20.1-47.2.20.jar object_holder_definalize PLUGINSERVICE          fmlloader-1.20.1-47.2.20.jar runtime_enum_extender PLUGINSERVICE          fmlloader-1.20.1-47.2.20.jar capability_token_subclass PLUGINSERVICE          accesstransformers-8.0.4.jar accesstransformer PLUGINSERVICE          fmlloader-1.20.1-47.2.20.jar runtimedistcleaner PLUGINSERVICE          modlauncher-10.0.9.jar mixin TRANSFORMATIONSERVICE          modlauncher-10.0.9.jar OptiFine TRANSFORMATIONSERVICE          modlauncher-10.0.9.jar essential-loader TRANSFORMATIONSERVICE          modlauncher-10.0.9.jar fml TRANSFORMATIONSERVICE      FML Language Providers:          [email protected]         lowcodefml@null         javafml@null     Mod List:          dynamiclightsreforged-1.20.1_v1.6.0.jar           |Rubidium Dynamic Lights       |dynamiclightsreforged         |1.20.1_v1.6.0       |DONE      |Manifest: NOSIGNATURE         YungsBetterDungeons-1.20-Forge-4.0.4.jar          |YUNG's Better Dungeons        |betterdungeons                |1.20-Forge-4.0.4    |DONE      |Manifest: NOSIGNATURE         YungsBetterWitchHuts-1.20-Forge-3.0.3.jar         |YUNG's Better Witch Huts      |betterwitchhuts               |1.20-Forge-3.0.3    |DONE      |Manifest: NOSIGNATURE         additionalentityattributes-forge-1.4.0.5+1.20.1.ja|Additional Entity Attributes  |additionalentityattributes    |1.4.0.5+1.20.1      |DONE      |Manifest: NOSIGNATURE         geckolib-forge-1.20.1-4.4.4.jar                   |GeckoLib 4                    |geckolib                      |4.4.4               |DONE      |Manifest: NOSIGNATURE         jei-1.20.1-forge-15.3.0.4.jar                     |Just Enough Items             |jei                           |15.3.0.4            |DONE      |Manifest: NOSIGNATURE         The_Graveyard_3.1_(FORGE)_for_1.20.1.jar          |The Graveyard                 |graveyard                     |3.1                 |DONE      |Manifest: NOSIGNATURE         Pehkui-3.8.0+1.20.1-forge.jar                     |Pehkui                        |pehkui                        |3.8.0+1.20.1-forge  |DONE      |Manifest: NOSIGNATURE         YungsBetterOceanMonuments-1.20-Forge-3.0.4.jar    |YUNG's Better Ocean Monuments |betteroceanmonuments          |1.20-Forge-3.0.4    |DONE      |Manifest: NOSIGNATURE         Soulbound-Forge-0.8+1.20.1.jar                    |Soulbound                     |soulbound                     |0.8                 |DONE      |Manifest: NOSIGNATURE         caelus-forge-3.2.0+1.20.1.jar                     |Caelus API                    |caelus                        |3.2.0+1.20.1        |DONE      |Manifest: NOSIGNATURE         obscure_api-15.jar                                |Obscure API                   |obscure_api                   |15                  |DONE      |Manifest: NOSIGNATURE         apoli-forge-1.20.1-2.9.0.6.jar                    |Apoli                         |apoli                         |1.20.1-2.9.0.6      |DONE      |Manifest: NOSIGNATURE         Neat-1.20-35-FORGE.jar                            |Neat                          |neat                          |1.20-35-FORGE       |DONE      |Manifest: NOSIGNATURE         enlightend-5.0.14-1.20.1.jar                      |Enlightend                    |enlightened_end               |5.0.14              |DONE      |Manifest: NOSIGNATURE         EpicFight-20.7.4.jar                              |Epic Fight                    |epicfight                     |20.7.4              |DONE      |Manifest: NOSIGNATURE         WeaponsOfMiracles-20.1.7.40.jar                   |Weapons of Minecraft          |wom                           |20.1.7.40           |DONE      |Manifest: NOSIGNATURE         citadel-2.5.4-1.20.1.jar                          |Citadel                       |citadel                       |2.5.4               |DONE      |Manifest: NOSIGNATURE         TravelersBackpack-1.20.1-9.1.12.jar               |Traveler's Backpack           |travelersbackpack             |9.1.12              |DONE      |Manifest: NOSIGNATURE         zombieawareness-1.20.1-1.13.1.jar                 |Zombie Awareness              |zombieawareness               |1.20.1-1.13.1       |DONE      |Manifest: NOSIGNATURE         YungsApi-1.20-Forge-4.0.4.jar                     |YUNG's API                    |yungsapi                      |1.20-Forge-4.0.4    |DONE      |Manifest: NOSIGNATURE         mixinextras-forge-0.2.0-beta.8.jar                |MixinExtras                   |mixinextras                   |0.2.0-beta.8        |DONE      |Manifest: NOSIGNATURE         YungsBetterDesertTemples-1.20-Forge-3.0.3.jar     |YUNG's Better Desert Temples  |betterdeserttemples           |1.20-Forge-3.0.3    |DONE      |Manifest: NOSIGNATURE         cave_dweller-1.20.1-1.6.4.jar                     |cave_dweller                  |cave_dweller                  |1.6.4               |DONE      |Manifest: NOSIGNATURE         deep-1.05b.jar                                    |depthcrawler                  |depthcrawler                  |1.0.0               |DONE      |Manifest: NOSIGNATURE         iceandfire-2.1.13-1.20.1-beta-4.jar               |Ice and Fire                  |iceandfire                    |2.1.13-1.20.1-beta-4|DONE      |Manifest: NOSIGNATURE         dixtas_armory-1.1.7-1.20.1-beta.jar               |dixta's Armory                |dixtas_armory                 |1.1.4-1.20.1-beta   |DONE      |Manifest: NOSIGNATURE         inventorypets-1.20.1-2.1.1.jar                    |Inventory Pets                |inventorypets                 |2.1.1               |DONE      |Manifest: NOSIGNATURE         JustEnoughResources-1.20.1-1.4.0.247.jar          |Just Enough Resources         |jeresources                   |1.4.0.247           |DONE      |Manifest: NOSIGNATURE         YungsBetterNetherFortresses-1.20-Forge-2.0.6.jar  |YUNG's Better Nether Fortresse|betterfortresses              |1.20-Forge-2.0.6    |DONE      |Manifest: NOSIGNATURE         SpelunkersCharm-3.5.9-1.20.1.jar                  |Spelunker's Charm             |spelunkers_charm              |3.5.9               |DONE      |Manifest: NOSIGNATURE         twilightforest-1.20.1-4.3.2145-universal.jar      |The Twilight Forest           |twilightforest                |4.3.2145            |DONE      |Manifest: NOSIGNATURE         ironchest-1.20.1-14.4.4.jar                       |Iron Chests                   |ironchest                     |1.20.1-14.4.4       |DONE      |Manifest: NOSIGNATURE         nyfsspiders-forge-1.20.1-2.1.1.jar                |Nyf's Spiders                 |nyfsspiders                   |2.1.1               |DONE      |Manifest: NOSIGNATURE         client-1.20.1-20230612.114412-srg.jar             |Minecraft                     |minecraft                     |1.20.1              |DONE      |Manifest: a1:d4:5e:04:4f:d3:d6:e0:7b:37:97:cf:77:b0:de:ad:4a:47:ce:8c:96:49:5f:0a:cf:8c:ae:b2:6d:4b:8a:3f         sons-of-sins-1.20.1-2.1.6.jar                     |Sons of Sins                  |sons_of_sins                  |2.1.6               |DONE      |Manifest: NOSIGNATURE         lucky-block-forge-1.20.1-13.0.jar                 |Lucky Block                   |lucky                         |1.20.1-13.0         |DONE      |Manifest: NOSIGNATURE         TerraBlender-forge-1.20.1-3.0.1.4.jar             |TerraBlender                  |terrablender                  |3.0.1.4             |DONE      |Manifest: NOSIGNATURE         AmbientSounds_FORGE_v5.3.9_mc1.20.1.jar           |AmbientSounds                 |ambientsounds                 |5.3.9               |DONE      |Manifest: NOSIGNATURE         BiomesOPlenty-1.20.1-18.0.0.592.jar               |Biomes O' Plenty              |biomesoplenty                 |18.0.0.592          |DONE      |Manifest: NOSIGNATURE         CreativeCore_FORGE_v2.11.27_mc1.20.1.jar          |CreativeCore                  |creativecore                  |2.11.27             |DONE      |Manifest: NOSIGNATURE         From-The-Fog-1.20-v1.9.2-Forge-Fabric.jar         |From The Fog                  |watching                      |1.9.2               |DONE      |Manifest: NOSIGNATURE         YungsBridges-1.20-Forge-4.0.3.jar                 |YUNG's Bridges                |yungsbridges                  |1.20-Forge-4.0.3    |DONE      |Manifest: NOSIGNATURE         born_in_chaos_[Forge]1.20.1_1.2.jar               |Born in Chaos                 |born_in_chaos_v1              |1.0.0               |DONE      |Manifest: NOSIGNATURE         calio-forge-1.20.1-1.11.0.3.jar                   |Calio                         |calio                         |1.20.1-1.11.0.3     |DONE      |Manifest: NOSIGNATURE         L_Enders_Cataclysm-1.90 -1.20.1.jar               |Cataclysm Mod                 |cataclysm                     |1.0                 |DONE      |Manifest: NOSIGNATURE         curios-forge-5.9.0+1.20.1.jar                     |Curios API                    |curios                        |5.9.0+1.20.1        |DONE      |Manifest: NOSIGNATURE         ars_nouveau-1.20.1-4.10.0-all.jar                 |Ars Nouveau                   |ars_nouveau                   |4.10.0              |DONE      |Manifest: NOSIGNATURE         origins-forge-1.20.1-1.10.0.7-all.jar             |Origins                       |origins                       |1.20.1-1.10.0.7     |DONE      |Manifest: NOSIGNATURE         Xaeros_Minimap_24.1.1_Forge_1.20.jar              |Xaero's Minimap               |xaerominimap                  |24.1.1              |DONE      |Manifest: NOSIGNATURE         The-Man-From-The-Fog-1.2.4a-1.20.1.jar            |The Man From The Fog          |man                           |1.2.4               |DONE      |Manifest: NOSIGNATURE         Rats-1.20.1-8.1.2.jar                             |Rats                          |rats                          |1.20.1-8.1.2        |DONE      |Manifest: NOSIGNATURE         forge-1.20.1-47.2.20-universal.jar                |Forge                         |forge                         |47.2.20             |DONE      |Manifest: 84:ce:76:e8:45:35:e4:0e:63:86:df:47:59:80:0f:67:6c:c1:5f:6e:5f:4d:b3:54:47:1a:9f:7f:ed:5e:f2:90         ArPhEx_1.8.12_1.20.1.jar                          |Arthropod Phobia Expansions   |arphex                        |1.8.12              |DONE      |Manifest: NOSIGNATURE         ars_elemental-1.20.1-0.6.5.jar                    |Ars Elemental                 |ars_elemental                 |1.20.1-0.6.5        |DONE      |Manifest: NOSIGNATURE         YungsExtras-1.20-Forge-4.0.3.jar                  |YUNG's Extras                 |yungsextras                   |1.20-Forge-4.0.3    |DONE      |Manifest: NOSIGNATURE         Gods-and-Heroes-1.6.1.jar                         |Gods and Heroes               |gh                            |1.6.1_Forge&Fabric  |DONE      |Manifest: NOSIGNATURE         ftb-ultimine-forge-2001.1.4.jar                   |FTB Ultimine                  |ftbultimine                   |2001.1.4            |DONE      |Manifest: NOSIGNATURE         YungsBetterStrongholds-1.20-Forge-4.0.3.jar       |YUNG's Better Strongholds     |betterstrongholds             |1.20-Forge-4.0.3    |DONE      |Manifest: NOSIGNATURE         tombstone-1.20.1-8.6.5.jar                        |Corail Tombstone              |tombstone                     |8.6.5               |DONE      |Manifest: NOSIGNATURE         YungsMenuTweaks-1.20.1-Forge-1.0.2.jar            |YUNG's Menu Tweaks            |yungsmenutweaks               |1.20.1-Forge-1.0.2  |DONE      |Manifest: NOSIGNATURE         coroutil-forge-1.20.1-1.3.7.jar                   |CoroUtil                      |coroutil                      |1.20.1-1.3.7        |DONE      |Manifest: NOSIGNATURE         deeperdarker-forge-1.20.1-1.2.1.jar               |Deeper and Darker             |deeperdarker                  |1.2.1               |DONE      |Manifest: NOSIGNATURE         architectury-9.2.14-forge.jar                     |Architectury                  |architectury                  |9.2.14              |DONE      |Manifest: NOSIGNATURE         ftb-library-forge-2001.1.5.jar                    |FTB Library                   |ftblibrary                    |2001.1.5            |DONE      |Manifest: NOSIGNATURE         ftb-teams-forge-2001.1.4.jar                      |FTB Teams                     |ftbteams                      |2001.1.4            |DONE      |Manifest: NOSIGNATURE         ftb-chunks-forge-2001.2.7.jar                     |FTB Chunks                    |ftbchunks                     |2001.2.7            |DONE      |Manifest: NOSIGNATURE         ftb-quests-forge-2001.3.5.jar                     |FTB Quests                    |ftbquests                     |2001.3.5            |DONE      |Manifest: NOSIGNATURE         YungsBetterEndIsland-1.20-Forge-2.0.6.jar         |YUNG's Better End Island      |betterendisland               |1.20-Forge-2.0.6    |DONE      |Manifest: NOSIGNATURE         Deep Dark Regrowth 1.2.5.1 - 1.20.1.jar           |Deep Dark: Regrowth           |deep_dark_regrowth            |1.2.5.1             |DONE      |Manifest: NOSIGNATURE         Voidscape-1.20.1-1.5.389.jar                      |Voidscape                     |voidscape                     |1.20.1-1.5.389      |DONE      |Manifest: NOSIGNATURE         infiniverse-1.20.1-1.0.0.5.jar                    |Infiniverse                   |infiniverse                   |1.0.0.5             |DONE      |Manifest: NOSIGNATURE         fight_or_die-1.20.1-1.1.4.jar                     |Fight or Die Mutations        |fight_or_die                  |1.20.1-1.1.4        |DONE      |Manifest: NOSIGNATURE         YungsBetterMineshafts-1.20-Forge-4.0.4.jar        |YUNG's Better Mineshafts      |bettermineshafts              |1.20-Forge-4.0.4    |DONE      |Manifest: NOSIGNATURE         phantasm-forge-0.1.jar                            |End's Phantasm                |phantasm                      |0.1                 |DONE      |Manifest: NOSIGNATURE         aquamirae-6.API15.jar                             |Aquamirae                     |aquamirae                     |6.API15             |DONE      |Manifest: NOSIGNATURE         Essential (forge_1.20.1).jar                      |Essential                     |essential                     |1.3.1.3+g88238d7752 |DONE      |Manifest: NOSIGNATURE         YungsBetterJungleTemples-1.20-Forge-2.0.4.jar     |YUNG's Better Jungle Temples  |betterjungletemples           |1.20-Forge-2.0.4    |DONE      |Manifest: NOSIGNATURE     Crash Report UUID: 093f2885-caf5-4a87-965d-511fd2c9d9ae     FML: 47.2     Forge: net.minecraftforge:47.2.20
    • I get a death message in chat every time I take damage example: [16:29:13] [Render thread/INFO]: [System] [CHAT] fall,Syndrick hit the ground too hard. I didn't die from that fall. I remember the exact moment it started happening, and what mods I had added. I have since removed said mods trying to fix it, and nothing has worked. I have also disabled a bunch of other mods that could be the cause, but that hasn't worked either. I've gone through the logs with chatgpt, and that hasn't helped either. This is my last resort, so if anyone can help me, that'd be insanely appreciated. Thank You.
  • Topics

×
×
  • Create New...

Important Information

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