Skip to content

Nomi-CEu/RealBench-Nomi-CEu

Repository files navigation

Logo

RealBench: Nomi-CEu-Edition

Rewrite of RealBench, fixing many bugs and glitches!

Issues License Discord
CurseForge MC Versions GitHub

Dependencies:

Features:

  • All features of RealBench, including:
    • Items stay in the Crafting Table
    • Items in the Crafting Table are rendered on top
    • Other players can collaborate on crafts and see the progress
    • Items dropped when Crafting Table is broken
  • RealBench re-built from the ground up, with:
    • Mixins instead of ASM, allowing for better compatability and easier readability
    • Focus on performance and mod compatability
    • RFG Buildscripts
    • A GitHub Repo that isn't dead!
  • Calculates the light on the render based on the block above, instead of having to make the Crafting Table a transparent block
  • Fixes a server dupe glitch, as well as more edge case server bugs and glitches
  • Fixed the issue where the recipe result would not show up when entering crafting table
  • Compatability with FastWorkbench, works well with Universal Tweaks
  • Items in the Crafting Table in worlds with RealBench will transfer correctly
  • Tested heavily in standalone environments, environments with FastBench or Universal Tweaks, and in modpack environments (Nomi-CEu and Nomifactory)

Internal Workings:

Light Calculation

The light calculation in order to render items based on the correct lighting environment is from GregTech CEu.

Syncing Result

This mod very carefully synchronizes the result between different clients with the same Crafting Table open.

The Tile Entity stores a list of the items in the crafting matrix. Each player container of the workbench stores the current matrix for them, which is what the result is based on. Each tick, if the tile has been marked dirty, each container is checked to see if the matrix has changed for them, and if it has, the recipe result is updated. Whenever a player exits the crafting bench, that container is removed from the list. (For some reason, MC creates a new container each time the player enters the inventory) This has very high performance, especially with Fast Workbench or Universal Tweaks' Crafting Cache Feature.

The result is also calculated each time the player enters the Crafting Table.

When a craft occurs, the Tile Entity tells each container to clear the result slot.

Credits: