Gt-new-horizons-modpack: [RFC] chiselling wood type of wooden blocks

Created on 7 Feb 2020  路  25Comments  路  Source: GTNewHorizons/GT-New-Horizons-Modpack

As first discussed in Discord/MODPACK#mod-dev, I propose to migrate blocks with wood type variants to Chisel groups instead of a recipe per wood type.

Preformance

The incentive for this change is: to significantly reduce the amount of recipes to increase performance of server startup and client join but also recipes lookup induced lag.

It essentially change wood types from recipe specialities to purely cosmetic.

For example:

Current scripts registers a total of 334 distinct wooden fences recipes with 87 recipes dedicated to fireproof wooden fences from Forestry For Minecraft.

The change would create instead:

  • 6 recipes for normal wooden fences (non-fireproof), with different yield depending on ingredients.
  • 6 recipes for fireproof wooden fences
  • 1 chisel group for normal wooden fences
  • 1 chisel group for fireproof wooden fences

With a total of 14 script statements versus 334. It is 320 script statements less just for fences.

Gameplay impact

By excluding or segregating in their own chisel group, wood types with special properties (like rubber, fireproof, magical wood blocks): The proposed change does not affect game balance or provide shortcut beside unlocking the cosmetic aspect of wood blocks.

Chiselling wood type would not remove incentive of Forestry Tree Breeding, since each tree specie has own value in its genetic traits, fruit types, trunk girth, height, canopy shape...

If one wants a girly pink ivory decoration, one does not need to specifically breed or find this tree.

But if one wants fireproof fences, stairs, doors, cross breeding and extracting the fireproof trait from trees or using refractory wax in a carpenter over wooden planks is still required.

If one wants to craft IC2 booze barrels, it still has to use IC2 Rubber tree logs.

Wooden blocks candidates to the change

  • [x] Wooden Fences:
  • [x] Wooden FenceGates

  • [ ] Wooden Door

  • [ ] Wooden TrapDoor
  • [ ] Wooden PressurePlate
  • [ ] Wooden Slab
  • [ ] Wooden Stair
  • [ ] Wooden Plank
  • [ ] Wooden Log
  • [ ] Biblio(craft|wood)

    • [ ] Furniture Paneler

    • [ ] Clock

    • [ ] Painting Frame

    • [ ] Single Tier

    • [ ] Double Tier

    • [ ] Triple Tier

    • [ ] Quadruple Tier

    • [ ] Borderless

    • [ ] Fancy Sign

    • [ ] Fancy Workbench

    • [ ] Bookcase

    • [ ] Potion Shelf

    • [ ] Shelf

    • [ ] Took Rack

    • [ ] Case

    • [ ] Label

    • [ ] Desk

    • [ ] Table

    • [ ] Map Frame

    • [ ] Seat

    • [ ] Seat-back

    • [ ] Short High

    • [ ] Full Upholstered Top-rail

    • [ ] Full Jumper Top-rail

    • [ ] Short Low

    • [ ] Throne

RFC (request for comment) Need Code changes

Most helpful comment

How about chisel groups for tiered machines. Like all lv machines in one group, all mv ones and so on....

All 25 comments

I support anything that can be put in chisel in favor of faster loading times on connection and client loading.

Well, if it improve times i am all inm at least it sounds good

PFFT, who cares about performance, it just means more access to more wood for me

Lets get this done I want to see it in 2.0.8.4 :)

Totally support performance improvements and makes total sense with chisel.

Sounds great. Are there any potential downsides?

other than me making a variety wooden phallus statues i doubt there will be any other.

I fully support this, however I would like to suggest a slightly different implementation.
I want to suggest all wood crafts into oak variants, and the variants can be combined with a target plank (not consumed) in something like a painting machine. This way you can only use wood variants you already have access to.

On a typical PC (lets say something an i7 of 6th generation) , how much would this impact performance? If it indeed does make a significant difference I would say yes, who cares about all these different types of wood anyway :p

How about chisel groups for tiered machines. Like all lv machines in one group, all mv ones and so on....

How about chisel groups for tiered machines. Like all lv machines in one group, all mv ones and so on....

/gamemode 1

@DietmarKracht Stay on topic. Wood is for aesthetics, machines are for progression.

We can miss something. I believe testing can be very important for these changes. For example, animals do not fall out only through vanilla fences. Similar nuances can elude us.

We can miss something. I believe testing can be very important for these changes. For example, animals do not fall out only through vanilla fences. Similar nuances can elude us.

This is changing nothing more then recipes being removed and obtain the items via chisel. So vanilla fence, modded, etc depends on what you chisel out of the right materials.

I fully support this, however I would like to suggest a slightly different implementation.
I want to suggest all wood crafts into oak variants, and the variants can be combined with a target plank (not consumed) in something like a painting machine. This way you can only use wood variants you already have access to.

It is a good idea, although locking variants in Chisel requires further development to modify the Chisel mod that is not designed this way.

Wood variants are purely aesthetic except for special woods log and planks that don't provide fences or doors or other aesthetically flavoured blocks, and these are easy to exclude from chiselling. Progression locking aesthetics does not seems worth in regard to the significant performance gain from replacing wooden variant recipes with Chisel.

Dont forget to separate BoP, silver- and greatwood magic wood in its own section (aka leave it be as is) since that would create potential exploits (BoP: 2 praecantatio per log, great- silverwood have 1, plus greatwood and BoP is much easier to farm than silverwood

Perhaps version of scripts without wood recipes (just remove those without making it into full release/pre-release and share scripts folder as archive) should be made and java-profiler tested to make sure its worth the effort and it doesnt give only couple seconds load time improvement

There are also Drawers they have a LOT of diffrent types cause of the wood.

Being able to remove all these variant recipes and kicking them to Chisel also means we could remove them from any relevant Ore Dictionary entries. So not only are we removing the recipe to make it, but any recipe that uses it. This will speed up recipe searches overall in game. Since we are having some crashing issues with Barts ASM for Forge crafting, we might have to disable that, so shrinking the recipe map is critical to improve performance.

As already mentioned in this thread, as long as wood types with specific uses (BoP magic wood, greatwood, silvertree, fireproof, etc) are not allowed to be chiseled, I'm 100% in favor if letting people switch between equivalent woods. Almost all of them are interchangable in recipes, and this would reduce recipe bloat and only has an impact on aesthetics, it has no impact on progression.

About topic +1. Less recipes, less wood clutter in recipes is good.

Slightly offtopic. Who care about smelt tiny and small dusts in blast furnace? Maybe remove this useless recipes too?

If we are sure there is no difference between the blocks of the same chisel group except of course for aesthetics, I see no reason not to implement this.

Except now that it's implemented, there's too many flavours now than what would fit on a chisel page, making half of them uncraftable :(

Except now that it's implemented, there's too many flavours now than what would fit on a chisel page, making half of them uncraftable :(

@combusterf will be dealt with implementing the scroller, sorry for being late on this. I am stuck on it since months making the feature late. Any help coding the GUI scrolling would be appreciated.

It would be great if someone could help you with this.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

KiloJoel picture KiloJoel  路  3Comments

Dr4cos picture Dr4cos  路  3Comments

Lainiel picture Lainiel  路  3Comments

meneken17 picture meneken17  路  3Comments

SKYCATV587 picture SKYCATV587  路  3Comments