-
-
Notifications
You must be signed in to change notification settings - Fork 3
feat: Advanced Fluid Interaction #23
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
|
This looks amazing! :D And if we did do this, how would the mod treat a normal basalt gen(lava near soulsoil and ice) apart from lava(near just....a soulsoil and air for instance)? also for a little fun for people air is a outputable block xD |
Correct
Because of how the mod is coded, it'll probably overwrite normal basalt gen unless you surround the generated block with blocks other than air and a blue ice. Here's a working build for testing. |
REI/EMI/JEI is broken in this commit, because config handler is overhauled to be processed on launch (and `/reload`). This will allow other people to add their own generator with relative ease.
* feat: Fluid Interaction Overhaul (#23) * feat: Advanced fluid interaction * feat: Wildcard support * chore: Exit early if advanced generator is not configured * chore: Disable advanced generators by default * feat: Allow users to define advanced custom stone generators * chore: Simplify code * chore: Simplify code * feat: Silent generator * refactor: Merge generators * chore: Optimize code * chore: Improving readability * chore: Simplify code * feat: Fluid Interaction API (Big overhaul) REI/EMI/JEI is broken in this commit, because config handler is overhauled to be processed on launch (and `/reload`). This will allow other people to add their own generator with relative ease. * fix: REI/EMI/JEI integration * fix: Pipe always generate cobblestone instead of stone * feat: Built-in plugin for Create mod * refactor: Reformat code * chore: Bump version to 4.0 (ALPHA) * fix: HotFix after Play-test * Empty fluid for all-fluid generators caused issues * Fix Limestone and Scoria generators * Crash caused by null generators * Add 'WeightedBlock.fromBlock' * chore: Bump version to 4.0.1 Also append version stage to modrinth releases * fix: Registrate pain, fixes #26 * fix: More Registrate pain Of course it doesn't work, why would it be * chore: Bump version to 4.0.2 * feat: Config Sync for Recipe Viewers (#27) * feat: PacketByteBuf stuff * feat: Working recipe viewer sync Recipe viewer should now use server-side generator config instead of client-side * feat: Don't use Fabric API * feat: Don't send data to fake players * feat: Only send config when player has recipe viewer installed * chore: Bump version to 4.0.3 * chore: Bump version to 4.0.3 * fix: Oops, messed up git * chore: Switch to SLF4J * fix: Another overhaul another basalt gen bug * fix: Registrate pain (again) Why is this stupid thing keep breaking * chore: Bump version to 4.0.4 * chore: I give up, remove create mod built-in plugin Fluid always return EmptyFluid for some reason. Could be caused by how fabric load mods... idk, whatever i'm done dealing with this stupid thing * chore: Rework on how plugin being registered * chore: Rearrange some stuff * chore: Add helper class * chore: Clean up * chore: Apply CobbleGen late This also make CobbleGen reload everytime you enter a singleplayer world (Probably better for most players anyway) * chore: Bump version to 4.0.5 * chore: Re-added reload Now that I think about it, keep loading json file seems like a bad idea... let's just load it when needed * feat: Sync when server is reloaded * chore: Move PlayerManagerMixin to network directory * chore: Bump jankson version to 1.2.2 * chore: CobbleGen no longer use MixinExtras * chore: Split built-in plugin and plugin for create mod * chore: Clean up gradle Fluid interaction no longer depends on Porting Lib to provide compatibility, so we no longer need to test the mod with and without Create * chore: Polishing logs * chore: Prepare beta release
This PR not only introduced "advanced custom generator", but also reworked how the mod handles fluid interaction as a whole to make it more compatible with most mods that control fluid interaction since it will only cancel the original function on success and doesn't directly touch how Minecraft handle fluid interactions.
Planned to be released for v4.0.
Features
Advanced Generators
This will allow players (and modpack makers) to create a custom generator with custom fluids or blocks
Fluid Interaction API
This is mainly for mod developers. With this developers can now create a plugin for CobbleGen, and register a fluid interaction more easily.
To make one, you need to create a class that implements
CobbleGenPlugin, for example:Then add your plugin location to a
cobblegen_pluginentrypoint infabric.mod.json, for example:Checklist
This should make CobbleGen more compatible with most mods that control fluid interactions