Commit graph

13 commits

Author SHA1 Message Date
PepperCode1
b9490fe11a Best-effort untested Fabric model builders
- Also fix crash buffering fluids in BakedModelBufferer#bufferMultiBlock (Forge)
- The mesh order in models created by model builders is currently incorrect and will be fixed later
2024-05-17 08:43:56 -07:00
Jozufozu
9ae4065c1c Pretty groovy man
- Upgrade platform script plugin to pre-compiled groovy plugin
- It was getting really difficult to manage all the logic/plugins/types
  from the basic script, and implementing a real plugin gives us much
  better type safety and IDE access to upstream plugins
- Separate api/lib/backend/impl in platform projects
- Add platform module output to main runtime classpath so the fabric
  loader recognizes our additional modules
2024-05-17 08:43:56 -07:00
PepperCode1
989728ca58 Most of Fabric
- Organize almost all remaining code into one of four modules
- Fix some incorrect inter-module dependencies
- Get Fabric into a working state
  - The config, client commands, and model builders are still missing and registry freezing happens too late
2024-05-17 08:43:56 -07:00
PepperCode1
3ccb4eb9a1 Minor clean up and fixes 2024-05-17 08:43:56 -07:00
Jozufozu
8d4fe7722c Gradle grumbles
- Apply java, maven-publish to all projects
- Prefer the tasks.named() syntax for configuring tasks
- Separate shared configuration for platform projects into a separate
  configure block
- Add more fields to processResources
- Make helper methods static
- Exclude duplicated package infos
2024-05-17 08:43:56 -07:00
Jozufozu
57ac1b08f4 Compiling models
- Make model builders abstract
- Move BakedModelBufferer as is into forge project
- Create Forge*ModelBuilders with modeldata parameters
- Wrap ModelBuilder ctors in factory methods
- Add FlywheelLibPlatform api, similar to api.internal package but for
  lib-only/platform specific stuff
- Move TransformStack wrapping into FlywheelLibPlatform
- Create vanilla renderer through FlywheelLibPlatform
- Handle partial model initialization in separate event handler class
- Fix test configuration in common project
2024-05-17 08:43:56 -07:00
Jozufozu
ff0a928479 Everything but models
- Trying to get xplat forge working, fabric can wait until the common
  project compiles
- Move backend manager event handling to separate class
- Move commands into forge for now
- Make FlwConfig an interface and move concrete impl into forge
- Remove event parameters from handlers than don't actually use them
- Add platform specific blockstate light emission for uniforms
- Remove example effect
- Add accessor for LevelRenderer#ticks
2024-05-17 08:43:56 -07:00
Jozufozu
e152df6769 Platform dependent wheeling
- Use ClientPlatform to:
  - Dispatch events
  - Create iris/oculus handler
- Move VisualizationEventHandler into forge project
2024-05-17 08:43:56 -07:00
Jozufozu
7e5b2098b1 Deduplication and stubs
- Move common gradle business from each subproject into the
  rootProject.subprojects closure
- Add fabric.mod.json
- Register forge mixin configs
- Make blaze3d mixins remap = false
- Separate common, forge, and fabric mod entrypoints
2024-05-17 08:43:56 -07:00
Kneelawk
58278dd8b4 Move events to platforms 2024-05-17 08:43:56 -07:00
Kneelawk
6e0702aa0b Move MinecraftMixin to platforms 2024-05-17 08:43:56 -07:00
Kneelawk
70a72209d2 Move Sodium mixin to platform code 2024-05-17 08:43:56 -07:00
Kneelawk
f227c44ec8 Begin on platform abstraction interface 2024-05-17 08:43:56 -07:00