BuildCraft Lasers+

Quick rating

Community listing page, reviews here may not be monitored by the author.

BuildCraft Lasers+

No reviews yet

A BuildCraft addon that adds configurable BuildCraft Lasers, for faster processing

Mod Loaders
Minecraft

About

Description

Version mapping

Mod Version BuildCraft Version
1.0.0 8.0.0+

Features

Each laser is configurable via the Laser Factors config. Each entry in this list creates a new Laser with the associated value as speed and battery capacity factor (from the base BuildCraft laser).

Only 4 default lasers are provided, corresponding to the 4 values of the array (default 4x, 16x, 64x, and 256x). If you want more lasers, you will need to add more factors and provide the corresponding configurations :

  • Model (models/block/laser_plus_<index>.json & models/item/laser_plus_<index>.json) for texture mapping + any texture referenced within these models
  • Blockstate (blockstates/laser_plus_<index>.json) for rotation
  • Recipe (recipes/blocks/laser_plus_<index>.json)
  • Localization (lang/en_us.json) for in-game names

A restart is required for any modifications to take effect.

Configuration

The mod comes with a few mixins that modify the behavior of lasers for improved performance and bug fixes, corresponding to PR 4764 to 4770 in the BuildCraft repository. You can configure which mixins are enabled or disabled through the configuration file or the in-game Forge config GUI. They should be disabled once the PRs have been merged and a new release is available. Without MixinBooter, these mixins will not be applied, resulting in the mod not working at all, unless you have a version of BuildCraft with #4765 merged (this is the only one we truly depend on).

⚠️ If ANY of the mixins are enabled, you should have MixinBooter in your mods list! Otherwise, the mixins WILL NOT load. ⚠️

Stop Spurious Searches

The lasers will re-scan for targets when any changes occur in their surroundings, causing false-positive target searches. This mixin stops such spurious searches, only updating the target when blocks truly change.

Get Laser Block

Allows our Lasers to function in the first place, by widening a check on the laser block.

Performance Optimizations

Global performance optimizations for lasers, reducing the load on both the client and server severalfold.

Fix Laser Listener Leaking

Fixes the issue where the Laser listener leaks on chunk unloads, causing performance degradations across the board.

Fix Laser Not Working

Fixes the issue where lasers may stop working at world load, due to the table loading after the lasers.

Fix Laser Power Overflow

Fixes the issue where laser power could overflow, causing the lasers to stop working altogether (requiring breaking and replacing the affected lasers).

Battery Capacity Fix

Allows lasers to scale their battery capacity according to the configured factors, instead of storing the base capacity (which is 1024 MJ = 10240 RF).

Why this exists

Lasers have always had plenty of issues, which should be mostly solved by the above PRs. However, when I looked at the EXLaser mod, I realized none of the fixes would apply to it because it copied the laser code wholesale (including the bugs) instead of inheriting properly. Otherwise, I would have been happy to just contribute the fixes to Universal Tweaks, while waiting for a proper BuildCraft release.

I then started to draft a PR for it to properly follow the BuildCraft patterns, but it eventually grew to not contain a single asset or line of the original codebase, becoming a mod on its own.

It seems more content was planned for EXLaser, but the mod is mostly abandoned.

Credits