Skip to content

Comments

Dev#5

Open
Jamesp1989SL wants to merge 7 commits intomasterfrom
dev
Open

Dev#5
Jamesp1989SL wants to merge 7 commits intomasterfrom
dev

Conversation

@Jamesp1989SL
Copy link
Owner

No description provided.

DrFair and others added 7 commits February 2, 2026 12:51
Break out ExampleMod initialization into focused loader classes and add configurable settings/resources. Introduces ExampleModSettings for mod config and logging, and ExampleModResources for textures and sound setup (GameSound + SoundSettings). Move inline registrations and recipe/command/packet logic into new loaders under examplemod.Loaders (Biomes, Buffs, Categories, Commands, Events, Incursions, Items, Jobs, Journal, Mobs, Objects, Packets, Projectiles, Recipes, Resources, Settlers, Tiles) and call them from ExampleMod.init/postInit/initResources. Remove many inline registrations and recipe code from ExampleMod, register recipes via ExampleModRecipes.registerRecipes(), and register commands/packets via their loader classes. Adds numerous example classes and resource assets, reorganizes example packages, and cleans up initialization order to ensure safe cross-references between tiles/objects/items/mobs/etc.
Introduce a custom crafting station and corresponding tech to support mod recipes. Adds ExampleModTech (registers EXAMPLE_TECH), new ExampleCraftingStationObject (crafting station implementation, texture loading and draw/preview stubs, returns EXAMPLE_TECH from getCraftingTechs), and registers the object in ExampleModObjects. Wire tech loading into ExampleMod.load() and update ExampleModRecipes to use ExampleModTech.EXAMPLE_TECH instead of the default WORKSTATION. This enables recipes to require the new crafting station.
Introduce a 1x2 duo workstation as two objects: ExampleWorkstationDuoObject (master) and ExampleWorkstationDuo2Object (partner). Both classes implement drawing, preview, placement options, multitile linking via counterID, and texture loading; register() registers and links the pair. Register the duo in ExampleModObjects, add localization entry (exampleworkstationduo) and provide the texture asset objects/exampleworkstationduo.png. Also minor tweaks to ExampleCraftingStationObject (comments/TODO) and added crafting station localization.
Add per-rotation collision hitboxes for ExampleCraftingStationObject, ExampleWorkstationDuoObject, and ExampleWorkstationDuo2Object so objects block movement with pixel-accurate rectangles. Update ExampleCraftingStationObject rendering to use the new examplecraftingstation texture, support 4 rotations, draw tall sprites using texture height, include damage overlay, and sort drawables properly; also adjust preview positioning. Re-enable flame sprite drawing in ExampleWorkstationDuo2Object and tidy draw code. Swap crafting tech from RecipeTechRegistry.WORKSTATION to ExampleModTech.EXAMPLE_TECH and add the necessary import. Add new item and object PNG assets (examplecraftingstation, exampleworkstationduo) and update the existing exampleworkstationduo object texture.
Add explanatory comments and small refactor in ExampleCraftingStationObject: remove leftover commented category hints, extract local light variable, and document tile->pixel conversions, rotation cases, hitbox dimensions, sprite anchoring and preview transparency. These changes improve readability and maintenance; no functional behavior changes.
Remove the unused Biome import and the example mob registration from ExampleMod. Extend ExampleModRecipes with multiple new recipes (examplerangedbow, examplearrow, examplepressureplate, examplecraftingstation, exampleworkstationduo, and several EXAMPLE_TECH items like exampleconfigobject, examplejobobject, exampleleveleventobject, and exampleobject). Adjust tech requirements for several recipes (e.g. exampleorerock now uses ADVANCED_WORKSTATION, many recipes explicitly use WORKSTATION) and tweak ingredient counts. Also minor comment/formatting cleanups throughout the recipe loader.
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