Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

[1.10.2] Options for massive models (.obj)?


Matryoshika
 Share

Recommended Posts

So, I got a Menger Sponge iteration going for compressing blocks, in a project.
With compression iteration; [n < 3], there's no issues at all. [n = 1] .obj file is 9.5KiB. [n = 2] .obj file is 60.5KiB large... So we're starting to see the obvious  exponential growth in sizes here.
However, with [n = 3], the size suddenly skyrockets to 1.3MiB big.
That is, a tad too big for a model.
To answer first "why not just make the model smaller": The model has to be split in 27 parts on all axii, as a "face" cannot have a texture, and a smaller hole inside of it. That hole has to be surrounded by equally large solid faces.
Overall, the [n = 3] model has 19,584 faces, even with optimizations done. That is as small as I can get the model.

 

Now, with that out of the way.

As stated, I have this compression system. You put x blocks -> 1 new block.
It's configurable, to allow for compression for blocks in other mods.
Now, I've been copying a "main" model, and replacing names (of the file, and inside of it) to match the new block.
I don't want to clog all resources, if if there's let's say 20+ [n = 3] blocks.

 

Is there any way to go around the 1.3MiB models?
Can I use the same model, but keep the correct texture for each block (which are specified in the accompanying .mtl)
Would a custom OBJLoader work here? EG load the same model, but apply different texture to each?
Or something akin to "camouflaged" blocks, like TGG's MBE example MBE04?

Are there any other options? Or should I just stick with what I have??

Edited by Matryoshika
Fixed small misnomer

Also previously known as eAndPi.

"Pi, is there a station coming up where we can board your train of thought?" -Kronnn

Published Mods: Underworld

Handy links: Vic_'s Forge events Own WIP Tutorials.

Link to comment
Share on other sites

Use custom IBakedModel for your block.

In the getQuads method, find model of the "original" block and retrieve its' quads. Now, just re-add these qauds applying necessary transforms as many times as you want. You can find the basics of applying transformation matrices to quads here: https://github.com/Elix-x/EXCore/blob/rendering--vertex-pipeline/src/main/java/code/elix_x/excore/utils/client/render/pipeline_old/MatVecApplicator.java#L52.

 

And you probably also want to cache models to not recalculate quads each time (RIP FPS). I have a model cache here, it is free to use. Just register it as a reload listener and you're good to go.

Link to comment
Share on other sites

Thanks.
As far as I can see, you mean that I should merely use the base quads, and merely "clamp" them together into one model, translating them by a*n*0.33 where a equals axii, and n equals iterations per side, and jump over iterations [5, 11, 13,14,15, 17 & 22]
This brings up the issue with "find the model of the "original" block".

I never mentioned this in the OP, but I wanted to add the functionality of allowing full configurability for this compression, allowing any block to be compressed.
I keep to the preferred RegistryEvent, though most mods still use preInit for content-registration, so of course, there'll be nullpointers even if I used "after:*" in dependencies.
As such, I believe this can be surpassed by defining a block in-game (when the server is up), get the blockstate, get textures from it, serialize it (to a file), then after the next restart, actually add the new compressed blocks to the game, and have the new block invoke the original blocks methods (for consistency).

 

Anyone seeing any issues in doing it this way?

Also previously known as eAndPi.

"Pi, is there a station coming up where we can board your train of thought?" -Kronnn

Published Mods: Underworld

Handy links: Vic_'s Forge events Own WIP Tutorials.

Link to comment
Share on other sites

5 hours ago, Matryoshika said:

Thanks.
As far as I can see, you mean that I should merely use the base quads, and merely "clamp" them together into one model, translating them by a*n*0.33 where a equals axii, and n equals iterations per side, and jump over iterations [5, 11, 13,14,15, 17 & 22]
This brings up the issue with "find the model of the "original" block".

I never mentioned this in the OP, but I wanted to add the functionality of allowing full configurability for this compression, allowing any block to be compressed.
I keep to the preferred RegistryEvent, though most mods still use preInit for content-registration, so of course, there'll be nullpointers even if I used "after:*" in dependencies.
As such, I believe this can be surpassed by defining a block in-game (when the server is up), get the blockstate, get textures from it, serialize it (to a file), then after the next restart, actually add the new compressed blocks to the game, and have the new block invoke the original blocks methods (for consistency).

 

Anyone seeing any issues in doing it this way?

I did understand that you wanted to make support for all blocks, but i though that you have already set up the tile entity. Apparently you did not.

 

Tile Entities can be used to store additional data with blocks that is not serializeable in 4 bytes of metadata. And it is what you want to use to store the original block (or even IBlockState;) ). Just implement load/save to NBT methods to make sure that it is saved (Block can be saved by saving its' registry name, simple/meta-serializeable IBlockStateby saving block and serializing it into metadata and complex/not-serializeable IBlockState can be saved by saving block and than a map of properties to serialized values).

 

How to pass original block/state from tile to model? Implement Block#getUnlistedProperties (or similarly named method) - it allows to pass unlisted properties (properties that can store absolutely any values) to the IBaked. Now just create a (static) unlisted property holding original block/state and then in the method (you have both world and pos) retrieve tile, get original and store it in unlisted prop.

Now in the IBaked, you can back the original by retrieving value of unlisted property from state you have as param.

 

Getting model of the original: (i don't remember exact methods, so) Look through model classes - ModelLoader, ModelBakery. All models (items and blocks) should be cached there somewhere. Just find how to get to them.

 

PS: Try using this method of quads "clamping". If there will be important FPS drops, i have an idea on how to make it a lot better. But it involves interaction with Open GL directly (without MC engine & wrappers) and a lot of infrastructure. So if it is not required, there's no need in implementing it.

Link to comment
Share on other sites

Thanks, but you are jumping the gun a bit there at least.
I am talking about a mere block, that is based on another, and is nothing more than storage (Think ExtraUtilities compressed blocks, for example).

I never stated, nor implied that I was using a TileEntity in conjunction with these blocks, and I do not feel inclined to do so, unless I am forced to do so, due to rendering issues etc.

Storing data (original block|blockstate etc) can be done in the block, here, as the data is not meant to ever be changed.

 

Thanks for the rendering pointers though.

Edited by Matryoshika

Also previously known as eAndPi.

"Pi, is there a station coming up where we can board your train of thought?" -Kronnn

Published Mods: Underworld

Handy links: Vic_'s Forge events Own WIP Tutorials.

Link to comment
Share on other sites

Use the 60 KiB version and render it 22 times in slightly different places.

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

9 minutes ago, Matryoshika said:

Thanks, but you are jumping the gun a bit there at least.
I am talking about a mere block, that is based on another, and is nothing more than storage (Think ExtraUtilities compressed blocks, for example).

I never stated, nor implied that I was using a TileEntity in conjunction with these blocks, and I do not feel inclined to do so, unless I am forced to do so, due to rendering issues etc.

Storing data (original block|blockstate etc) can be done in the block, here, as the data is not meant to ever be changed.

 

Thanks for the rendering pointers though.

1. I forgot to mention -  since 1.8, Tile Entity =/= Lag. Because since 1.8, tile entities can be not tickable (aka not require update). Just look at Chisel & Bits - the great example.

2. This way, you will never support all the blocks. Minecraft Forge is limited to 4096 block ids and 16 states/block... In 70% of modpacks, amount of used up block ids can be easily beyond 60%. You just can't create duplicate for every variation in the space that is left.

3. Just don't tell me you store your data in a block like this:
 

public class CompressedBlock extends Block {
  
  public Block unCompressedVariant;
  
}

 

Link to comment
Share on other sites

 

43 minutes ago, Elix_x said:

You just can't create duplicate for every variation in the space that is left

8 hours ago, Matryoshika said:

I never mentioned this in the OP, but I wanted to add the functionality of allowing full configurability for this compression, allowing any block to be compressed.

I never stated I wanted to add compressed blocks for each and every block there is, merely support the option of adding new compressed blocks, based on other. I know some pack-maker's are painfully diligent, but I do not see anyone adding 100+ of these blocks.

 

I am aware of TileEntity no longer ticking off of the bat in 1.8+, but my... disdain for them, stems more from the rendering perspectives of TESR's, than the actual usage of TileEntities. I believed you were advising me to use TE's merely for rendering, which I now stand corrected in.

 

No, I do not store anything more than the tier, as I place each new block, in a custom registry.

Spoiler

	public CompressedBlock(IBlockState blockstate, byte tier){
		super(blockstate.getMaterial());
		this.tier = tier;
		this.setRegistryName(Echo.MODID, blockstate.getBlock().getRegistryName().getResourcePath()+tier);
		MengerRegistry.nonNullAdd(blockstate.getBlock().getRegistryName(), tier);
		this.setUnlocalizedName(getRegistryName().toString());
		this.setCreativeTab(Echo.TAB);
	}

The custom registry is a map with RegistryName & ArrayList containing the tiers. 1,2,3 etc. (Amount of tiers is also customizable)
Yes, I am well aware I am using a byte instead of integer. Why? Essentially, why not. Don't see anyone managing to get 20¹²⁷+ blocks of anything, not that I'm implementing such high compression.

I merely stated that storing data can be done in the block, not that I am doing so for every little tidbit, though I cannot fault you on that. I do believe I need to work on making myself more clear in these matters.

Also previously known as eAndPi.

"Pi, is there a station coming up where we can board your train of thought?" -Kronnn

Published Mods: Underworld

Handy links: Vic_'s Forge events Own WIP Tutorials.

Link to comment
Share on other sites

16 minutes ago, Matryoshika said:

I am aware of TileEntity no longer ticking off of the bat in 1.8+, but my... disdain for them, stems more from the rendering perspectives of TESR's, than the actual usage of TileEntities. I believed you were advising me to use TE's merely for rendering, which I now stand corrected in.

Well, tile entities can even be as simple data storage things now. Not be used for ticking nor for rendering.

16 minutes ago, Matryoshika said:

 

I never stated I wanted to add compressed blocks for each and every block there is, merely support the option of adding new compressed blocks, based on other. I know some pack-maker's are painfully diligent, but I do not see anyone adding 100+ of these blocks.

 

I merely stated that storing data can be done in the block, not that I am doing so for every little tidbit, though I cannot fault you on that. I do believe I need to work on making myself more clear in these matters.

Ok. I see now.

I'd still personally prefer tiles for this, but at this point it does not matter much.

 

16 minutes ago, Matryoshika said:

Yes, I am well aware I am using a byte instead of integer. Why? Essentially, why not. Don't see anyone managing to get 20¹²⁷+ blocks of anything, not that I'm implementing such high compression.

Because java's native/default type is integer?

Edited by Elix_x
Corrections
Link to comment
Share on other sites

1 hour ago, Elix_x said:

Because java's native/default type is integer?

"I need something to hold 5-7 books"
"The smallest room we have is a 2.56m² room, but I'm going to provide you a 42949672m² room"1

*places books* echo...cho...ho...o...

 

¹Yes, I am aware that the difference is not that severe, memory wise. More like 8 vs 32, but it all boils down to me not wanting to soak up space, no matter how insignificant it is in the large span.

Edited by Matryoshika

Also previously known as eAndPi.

"Pi, is there a station coming up where we can board your train of thought?" -Kronnn

Published Mods: Underworld

Handy links: Vic_'s Forge events Own WIP Tutorials.

Link to comment
Share on other sites

8 hours ago, Matryoshika said:

I am aware of TileEntity no longer ticking off of the bat in 1.8+, but my... disdain for them, stems more from the rendering perspectives of TESR's, than the actual usage of TileEntities. I believed you were advising me to use TE's merely for rendering, which I now stand corrected in.

TESR are also no longer needed. You can use json models with tile entities just fine. 

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

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
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.

 Share



  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • WHat do i need to do to be able to run forge???
    • I clicked in the first link and it show me this  <Code>AccessDenied</Code> <Message>Access Denied</Message> <RequestId>2Y5VFDEFZPD02SZA</RequestId> <HostId>ku7X5Puz8XIKWk5+WOGQKSPqw9KtkL7/87dS8e9Wiz0AOmQ3YnEAtt7clGf11DG1juqaolAf9YE=</HostId> </Error>  what i do???
    • Its working now. Once again, thank you for everything
    • ---- Minecraft Crash Report ---- // Shall we play a game? Time: 1/18/22 5:00 PM Description: Exception in server tick loop net.minecraftforge.fml.config.ConfigFileTypeHandler$ConfigLoadingException: Failed loading config file carryon-server.toml of type SERVER for modid carryon     at net.minecraftforge.fml.config.ConfigFileTypeHandler.lambda$reader$1(ConfigFileTypeHandler.java:61) ~[forge:?] {re:classloading}     at net.minecraftforge.fml.config.ConfigTracker.openConfig(ConfigTracker.java:104) ~[forge:?] {re:classloading}     at net.minecraftforge.fml.config.ConfigTracker.lambda$loadConfigs$1(ConfigTracker.java:83) ~[forge:?] {re:classloading}     at java.lang.Iterable.forEach(Unknown Source) ~[?:1.8.0_301] {re:computing_frames}     at java.util.Collections$SynchronizedCollection.forEach(Unknown Source) ~[?:1.8.0_301] {}     at net.minecraftforge.fml.config.ConfigTracker.loadConfigs(ConfigTracker.java:83) ~[forge:?] {re:classloading}     at net.minecraftforge.fml.server.ServerLifecycleHooks.handleServerAboutToStart(ServerLifecycleHooks.java:94) ~[forge:?] {re:classloading}     at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:166) ~[?:?] {re:classloading,pl:accesstransformer:B}     at net.minecraft.server.MinecraftServer.func_240802_v_(MinecraftServer.java:621) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:structure_gel.mixins.json:MinecraftServerMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.server.MinecraftServer.func_240783_a_(MinecraftServer.java:232) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:structure_gel.mixins.json:MinecraftServerMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at java.lang.Thread.run(Unknown Source) [?:1.8.0_301] {} Caused by: com.electronwill.nightconfig.core.io.ParsingException: Not enough data available     at com.electronwill.nightconfig.core.io.ParsingException.notEnoughData(ParsingException.java:22) ~[core-3.6.3.jar:?] {}     at com.electronwill.nightconfig.core.io.ReaderInput.directReadChar(ReaderInput.java:36) ~[core-3.6.3.jar:?] {}     at com.electronwill.nightconfig.core.io.AbstractInput.readChar(AbstractInput.java:49) ~[core-3.6.3.jar:?] {}     at com.electronwill.nightconfig.core.io.AbstractInput.readCharsUntil(AbstractInput.java:123) ~[core-3.6.3.jar:?] {}     at com.electronwill.nightconfig.toml.TableParser.parseKey(TableParser.java:166) ~[toml-3.6.3.jar:?] {}     at com.electronwill.nightconfig.toml.TableParser.parseDottedKey(TableParser.java:145) ~[toml-3.6.3.jar:?] {}     at com.electronwill.nightconfig.toml.TableParser.parseNormal(TableParser.java:55) ~[toml-3.6.3.jar:?] {}     at com.electronwill.nightconfig.toml.TomlParser.parse(TomlParser.java:44) ~[toml-3.6.3.jar:?] {}     at com.electronwill.nightconfig.toml.TomlParser.parse(TomlParser.java:37) ~[toml-3.6.3.jar:?] {}     at com.electronwill.nightconfig.core.io.ConfigParser.parse(ConfigParser.java:113) ~[core-3.6.3.jar:?] {}     at com.electronwill.nightconfig.core.io.ConfigParser.parse(ConfigParser.java:219) ~[core-3.6.3.jar:?] {}     at com.electronwill.nightconfig.core.io.ConfigParser.parse(ConfigParser.java:202) ~[core-3.6.3.jar:?] {}     at com.electronwill.nightconfig.core.file.WriteSyncFileConfig.load(WriteSyncFileConfig.java:73) ~[core-3.6.3.jar:?] {}     at com.electronwill.nightconfig.core.file.AutosaveCommentedFileConfig.load(AutosaveCommentedFileConfig.java:85) ~[core-3.6.3.jar:?] {}     at net.minecraftforge.fml.config.ConfigFileTypeHandler.lambda$reader$1(ConfigFileTypeHandler.java:57) ~[forge:?] {re:classloading}     ... 10 more A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- 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_301, Oracle Corporation     Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation     Memory: 1874928408 bytes (1788 MB) / 2735734784 bytes (2609 MB) up to 6547308544 bytes (6244 MB)     CPUs: 12     JVM Flags: 2 total; -Xmx7024M -Xms256M     ModLauncher: 8.0.9+86+master.3cf110c     ModLauncher launch target: fmlserver     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.20.jar object_holder_definalize PLUGINSERVICE          /forge-1.16.5-36.2.20.jar runtime_enum_extender PLUGINSERVICE          /accesstransformers-3.0.1.jar accesstransformer PLUGINSERVICE          /forge-1.16.5-36.2.20.jar capability_inject_definalize PLUGINSERVICE          /forge-1.16.5-36.2.20.jar runtimedistcleaner PLUGINSERVICE          /mixin-0.8.4.jar mixin TRANSFORMATIONSERVICE          /forge-1.16.5-36.2.20.jar fml TRANSFORMATIONSERVICE      FML: 36.2     Forge: net.minecraftforge:36.2.20     FML Language Providers:          javafml@36.2         minecraft@1     Mod List:          BorderlessWindow-1.16.5-1.2.1.jar                 |Borderless Window             |borderlesswindow              |1.16.5-1.2.1        |DONE      |Manifest: NOSIGNATURE         SkyVillage_1.0.0_1.16.5.jar                       |Sky Villages                  |skyvillages                   |1.0.0               |DONE      |Manifest: NOSIGNATURE         BetterDungeons-1.16.4-1.2.1.jar                   |YUNG's Better Dungeons        |betterdungeons                |1.16.4-1.2.1        |DONE      |Manifest: NOSIGNATURE         jei-1.16.5-7.7.1.145.jar                          |Just Enough Items             |jei                           |7.7.1.145           |DONE      |Manifest: NOSIGNATURE         dungeons_mobs-1.16.5-1.0.10.jar                   |Dungeons Mobs                 |dungeons_mobs                 |1.0.10              |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.0.2-mc1.16.5.jar                    |Macaw's Windows               |mcwwindows                    |2.0.2               |DONE      |Manifest: NOSIGNATURE         InsaneLib-1.4.2-mc1.16.5.jar                      |InsaneLib                     |insanelib                     |1.4.2               |DONE      |Manifest: NOSIGNATURE         Space-BossTools-1.16.5-5.5b.jar                   |Space-BossTools               |boss_tools                    |5.5                 |DONE      |Manifest: NOSIGNATURE         BetterCaves-Forge-1.16.4-1.1.2.jar                |YUNG's Better Caves           |bettercaves                   |1.16.4-1.1.2        |DONE      |Manifest: NOSIGNATURE         jev-1.16.3-2.0.1.jar                              |Just Enough Vehicles          |jev                           |2.0.1               |DONE      |Manifest: NOSIGNATURE         citadel-1.8.1-1.16.5.jar                          |Citadel                       |citadel                       |1.8.1               |DONE      |Manifest: NOSIGNATURE         YungsApi-1.16.4-Forge-13.jar                      |YUNG's API                    |yungsapi                      |1.16.4-Forge-13     |DONE      |Manifest: NOSIGNATURE         Shark_Mod-0.2.jar                                 |Shark Mod                     |shark_mod                     |1.0.0               |DONE      |Manifest: NOSIGNATURE         macawsbridgesbop-1.16.5-1.2.jar                   |Macaw's Bridges - Biome O' Ple|macawsbridgesbop              |1.16.5-1.2          |DONE      |Manifest: NOSIGNATURE         ProgressiveBosses-3.4.2-mc1.16.5.jar              |Progressive Bosses            |progressivebosses             |3.4.2               |DONE      |Manifest: NOSIGNATURE         iChunUtil-1.16.5-10.5.1.jar                       |iChunUtil                     |ichunutil                     |10.5.1              |DONE      |Manifest: NOSIGNATURE         carryon-1.16.5-1.15.5.22.jar                      |Carry On                      |carryon                       |1.15.5.22           |DONE      |Manifest: NOSIGNATURE         chat_heads-0.6.0-forge-1.16.5.jar                 |Chat Heads                    |chat_heads                    |0.6.0               |DONE      |Manifest: NOSIGNATURE         recast_1.16.5-1.5.jar                             |Recast                        |recast                        |1.5                 |DONE      |Manifest: NOSIGNATURE         forge-1.16.5-36.2.20-universal.jar                |Forge                         |forge                         |36.2.20             |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         Morph-1.16.5-10.1.0.jar                           |Morph                         |morph                         |10.1.0              |DONE      |Manifest: NOSIGNATURE         structure_gel-1.16.5-1.7.8.jar                    |Structure Gel API             |structure_gel                 |1.7.8               |DONE      |Manifest: NOSIGNATURE         forge-1.16.5-36.2.20-server.jar                   |Minecraft                     |minecraft                     |1.16.5              |DONE      |Manifest: NOSIGNATURE         upgrade_aquatic-1.16.5-3.1.2.jar                  |Upgrade Aquatic               |upgrade_aquatic               |3.1.2               |DONE      |Manifest: NOSIGNATURE         mcw-bridges-2.0.1-mc1.16.5.jar                    |Macaw's Bridges               |mcwbridges                    |2.0.1               |DONE      |Manifest: NOSIGNATURE         FarmersDelight-1.16.5-0.5.4.jar                   |Farmer's Delight              |farmersdelight                |1.16.5-0.5.4        |DONE      |Manifest: NOSIGNATURE         customizableelytra-1.16.4-1.5.7.jar               |Customizable Elytra           |customizableelytra            |1.16.4-1.5.7        |DONE      |Manifest: NOSIGNATURE         repurposed_structures_forge-3.4.5+1.16.5.jar      |Repurposed Structures         |repurposed_structures         |3.4.5+1.16.5        |DONE      |Manifest: NOSIGNATURE         silent-lib-1.16.5-4.10.0.jar                      |Silent Lib                    |silentlib                     |4.10.0              |DONE      |Manifest: NOSIGNATURE         BiomesOPlenty-1.16.5-13.1.0.485-universal.jar     |Biomes O' Plenty              |biomesoplenty                 |1.16.5-13.1.0.485   |DONE      |Manifest: NOSIGNATURE         ironfurnaces-1.16.5-2.7.6.jar                     |Iron Furnaces                 |ironfurnaces                  |2.7.6               |DONE      |Manifest: NOSIGNATURE         dungeons_plus-1.16.5-1.1.5.jar                    |Dungeons Plus                 |dungeons_plus                 |1.1.5               |DONE      |Manifest: NOSIGNATURE         mcw-trapdoors-1.0.4-mc1.16.5.jar                  |Macaw's Trapdoors             |mcwtrpdoors                   |1.0.4               |DONE      |Manifest: NOSIGNATURE         mcw-fences-1.0.2-mc1.16.5.jar                     |Macaw's Fences and Walls      |mcwfences                     |1.0.2               |DONE      |Manifest: NOSIGNATURE         Botania-1.16.5-420.2.jar                          |Botania                       |botania                       |1.16.5-420.2        |DONE      |Manifest: NOSIGNATURE         pamhc2foodextended-1.16.3-1.0.4.jar               |Pam's HarvestCraft 2 Food Exte|pamhc2foodextended            |version             |DONE      |Manifest: NOSIGNATURE         paintings-1.16.4-7.0.0.1.jar                      |Paintings ++                  |paintings                     |1.16.4-6.0.1.5      |DONE      |Manifest: NOSIGNATURE         mostructures-forge-1.2.0-1.16.5.jar               |Mo' Structures                |mostructures                  |1.2.0-1.16.5        |DONE      |Manifest: NOSIGNATURE         curios-forge-1.16.5-4.0.5.3.jar                   |Curios API                    |curios                        |1.16.5-4.0.5.3      |DONE      |Manifest: NOSIGNATURE         Patchouli-1.16.4-53.2.jar                         |Patchouli                     |patchouli                     |1.16.4-53.2         |DONE      |Manifest: NOSIGNATURE         collective-1.16.5-3.7.jar                         |Collective                    |collective                    |3.7                 |DONE      |Manifest: NOSIGNATURE         betterweather-2.0.1.jar                           |Better Weather                |betterweather                 |2.0.1               |DONE      |Manifest: NOSIGNATURE         xercapaint-1.16.5-1.0.jar                         |Joy of Painting               |xercapaint                    |1.16.5-1.0          |DONE      |Manifest: NOSIGNATURE         obfuscate-0.6.2-1.16.3.jar                        |Obfuscate                     |obfuscate                     |0.6.2               |DONE      |Manifest: e1:59:1a:56:ec:97:b3:d0:b3:4b:25:06:1f:83:b0:f4:fd:0c:24:e3:6d:ea:94:b1:9f:22:b0:38:13:60:88:ea         vehicle-mod-0.45.2-1.16.3 (1).jar                 |MrCrayfish's Vehicle Mod      |vehicle                       |0.45.2              |DONE      |Manifest: NOSIGNATURE         nethers_delight-2.1.jar                           |Nethers Delight               |nethers_delight               |2.1                 |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         mcw-furniture-2.0.1-mc1.16.5.jar                  |Macaw's Furniture             |mcwfurnitures                 |2.0.1               |DONE      |Manifest: NOSIGNATURE         Aquaculture-1.16.5-2.1.21.jar                     |Aquaculture 2                 |aquaculture                   |1.16.5-2.1.21       |DONE      |Manifest: NOSIGNATURE         BetterShieldsMC1.16.3-1.2.jar                     |Better Shields                |bettershields                 |1.2                 |DONE      |Manifest: NOSIGNATURE         valhelsia_core-16.0.15.jar                        |Valhelsia Core                |valhelsia_core                |16.0.15             |DONE      |Manifest: NOSIGNATURE         valhelsia_structures-1.16.5-0.1.6.jar             |Valhelsia Structures          |valhelsia_structures          |1.16.5-0.1.6        |DONE      |Manifest: NOSIGNATURE         DynamicTrees-1.16.5-0.10.0-Beta29.jar             |Dynamic Trees                 |dynamictrees                  |1.16.5-0.10.0-Beta29|DONE      |Manifest: NOSIGNATURE         DynamicTreesBOP-1.16.5-2.0.8.jar                  |Dynamic Trees for Biomes o' Pl|dtbop                         |1.16.5-2.0.8        |DONE      |Manifest: NOSIGNATURE         geckolib-forge-1.16.5-3.0.59.jar                  |GeckoLib                      |geckolib3                     |3.0.59              |DONE      |Manifest: NOSIGNATURE         healingcf_1.16.5-3.1.jar                          |Healing Campfire              |healingcf                     |3.1                 |DONE      |Manifest: NOSIGNATURE     Crash Report UUID: 7f9b4ad2-792a-4703-b560-6e26cfe858a3     Player Count: 0 / 20; []     Data Packs: vanilla, mod:skyvillages, mod:betterdungeons, mod:mcwwindows, mod:insanelib, mod:bettercaves (incompatible), mod:citadel (incompatible), mod:yungsapi, mod:macawsbridgesbop, mod:progressivebosses, mod:carryon, mod:chat_heads, mod:morph, mod:structure_gel, mod:mcwbridges, mod:farmersdelight, mod:customizableelytra, mod:repurposed_structures, mod:biomesoplenty, mod:ironfurnaces, mod:dungeons_plus, mod:mcwtrpdoors, mod:mcwfences, mod:botania, mod:pamhc2foodextended (incompatible), mod:mostructures, mod:curios, mod:patchouli (incompatible), mod:collective, mod:betterweather, mod:xercapaint (incompatible), mod:obfuscate (incompatible), mod:vehicle (incompatible), mod:cfm (incompatible), mod:morecfm, mod:mcwfurnitures, mod:bettershields, mod:dynamictrees, mod:geckolib3 (incompatible), mod:borderlesswindow (incompatible), mod:dtbop, mod:jei, mod:dungeons_mobs (incompatible), mod:abnormals_core, mod:boss_tools, mod:jev, mod:shark_mod, mod:ichunutil, mod:recast, mod:forge, mod:upgrade_aquatic, mod:silentlib (incompatible), mod:paintings (incompatible), mod:nethers_delight, mod:aquaculture (incompatible), mod:valhelsia_core, mod:valhelsia_structures, mod:healingcf     Is Modded: Definitely; Server brand changed to 'forge'     Type: Dedicated Server (map_server.txt)    
    • Unfortunate, thanks for looking anyway. I'll have to fiddle around with it.
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.