Skip to content

Conversation

@walker84837
Copy link
Owner

@walker84837 walker84837 commented Oct 16, 2025

No description provided.

- Replace static `Items` utility with `ItemBuilder` and `WeaponBuilder`
  for more modular item creation.
- Introduce `ConfigHelper` for centralized configuration access.
- Implement `ItemModelData` for consistent handling of custom model
  data.
- Create `RecipeRegistrar` to manage conditional recipe registration.
- Refactor `Listeners` to leverage new utility classes and improve
  event handling logic.
- Consolidate multiple smithing table event handlers into a single,
  more generic method.
- Update various parts of the codebase to use the new, more modular
  components.
…I and add null checks

Refactored internal builder API for recipes and listeners to improve stability
and robustness.

Key changes include:
- Introduced `SmithingRecipeBuilder` to encapsulate smithing recipe creation
  logic, replacing the monolithic `handleSmithingEvent` method in `Listeners.java`.
- Ensured `ItemBuilder` and `WeaponBuilder` constructors perform explicit
  runtime null checks for `Material` parameters using `Objects.requireNonNull`.
- Corrected enchantment application logic in `RecipeProvider` methods to ensure
  enchantments are applied to the final `ItemStack` instance.
- Added `Objects.requireNonNull` checks to constructors and critical method
  parameters in `RecipeProvider` and `RecipeRegistrar` for fail-fast behavior.
- Improved dynamic attribute modifier handling in `SmithingRecipeBuilder`.
@walker84837 walker84837 merged commit 23ffd03 into main Oct 19, 2025
1 check passed
@walker84837 walker84837 deleted the builders branch October 26, 2025 13:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants