-
Notifications
You must be signed in to change notification settings - Fork 8
feat: abyss trial spawner #74
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Game Test Results✅ Success
Workflow run: #276 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This pull request implements a custom Abyss Trial Spawner system that mimics Minecraft's trial spawner behavior with configurable spawn patterns. The implementation includes a data-driven approach for defining entity spawns and loot rewards.
Key Changes
- Added
AbyssTrialSpawnercore system with state machine for spawn cycles (inactive → waiting → active → rewarding → cooldown) - Implemented data provider and manager for trial spawner patterns using JSON configuration files
- Modified block entity to use custom spawner logic instead of vanilla
TrialSpawner - Fixed blockstate model mappings for
WAITING_FOR_REWARD_EJECTIONstate
Reviewed changes
Copilot reviewed 14 out of 21 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
MiaUtil.java |
Added parseResourcePath() utility to extract path components from resource locations |
MiaTrialSpawnerProvider.java |
Data provider with example trial spawner configurations (zombie, skeleton, spider, boss patterns) |
AbyssTrialSpawnerDataProvider.java |
Abstract data provider base class for generating trial spawner JSON files |
DataGenerators.java |
Registered trial spawner data provider for data generation |
LootTableInstance.java |
Record for weighted loot table entries in spawn patterns |
EntityTableInstance.java |
Record for weighted entity entries in spawn patterns |
AbyssTrialSpawnerPattern.java |
Record defining complete spawn pattern configuration |
AbyssTrialSpawnerManager.java |
Resource reload listener that loads spawn patterns from JSON |
AbyssTrialSpawner.java |
Core spawner logic with state machine, mob tracking, and reward ejection |
AbyssSpawnerBlockEntity.java |
Block entity implementation with pattern ID management and state access |
AbyssSpawnerBlock.java |
Updated tooltip to display pattern ID from block entity data |
CurseManager.java |
Refactored to use new parseResourcePath() utility and added @NotNull annotations |
MIA.java |
Added spawner manager singleton and registered it as reload listener |
MiaStateProvider.java |
Fixed blockstate model for WAITING_FOR_REWARD_EJECTION state |
| Generated JSON files | Trial spawner pattern definitions and corrected advancement unlock conditions |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
src/main/java/com/altnoir/mia/core/spawner/AbyssTrialSpawnerDataProvider.java
Show resolved
Hide resolved
src/main/java/com/altnoir/mia/core/spawner/AbyssTrialSpawnerManager.java
Show resolved
Hide resolved
src/main/java/com/altnoir/mia/core/spawner/AbyssTrialSpawnerManager.java
Outdated
Show resolved
Hide resolved
|
@copilot open a new pull request to apply changes based on the comments in this thread |
|
@lonelyicer I've opened a new pull request, #75, to work on those changes. Once the pull request is ready, I'll request review from you. |
…erRide annotations Co-authored-by: lonelyicer <[email protected]>
fix: some issues
No description provided.