Giter Club home page Giter Club logo

Comments (27)

sofar avatar sofar commented on June 30, 2024

The guidelines for minetest-mods states: no modpacks.

I would suggest that if you want to distribute this as a modpack, that you create separate mods under minetest-mods and distribute a modpack tarball through the forums (of course, I won't complain if you put the modpack zip manually in a github repo where it is appropriate).

But I really do want to stress that I don't want minetest-mods to become a modpack fest. It is meant to aid code development, not distribution.

from castle.

FaceDeer avatar FaceDeer commented on June 30, 2024

I figured there might be some flexibility on account of stuff like homedecor_modpack and plantlife_modpack, so picked that as the least disruptive approach to this - it'd be something that you could update an old Castles installation to without having anything change unexpectedly in the process.

I'm perfectly fine with splitting this up into a couple of completely separate mods, though, if that's the preferred approach. Should I fork Castle, prune it down into smaller chunks, and then re-submit those pruned-down (and spruced up) chunks as new separate mods to minetest-mods? I'd want to do a lot more work on each piece if it's going to stand alone from the outset like that, but I was probably going to end up doing that eventually anyway.

from castle.

sofar avatar sofar commented on June 30, 2024

so what I would like to see, and is probably the easiest, is that you create new submods first and make them working (we can make them under minetest-mods immediately, to make this easy).

Then once you're ready to "dismantle" castle, you effectively change it in one commit from a mod to a modpack that is "bare" - in other words, it's just a modpack shell around other (not in-tree) mods.

Then you tag a release and upload a full zip with all the submods in it to the releases. And that is the thing you link on the forum as well.

I'm not a fan of git submodules, but that may help doing this.

from castle.

FaceDeer avatar FaceDeer commented on June 30, 2024

Sounds like a good approach, it's incremental and gives plenty of opportunity for everyone to object and correct should I go astray of expectations. I'll start actually pulling it apart and see which bits actually fit where, probably starting with the structural stuff since that looks both big and fairly straightforward.

Might this be something worth doing to the modpacks I linked above, too? I haven't looked into them in any detail, I don't know how well those packs are partitioned already.

from castle.

sofar avatar sofar commented on June 30, 2024

They're all cobbled together. I'd love it if @VanessaE would consider a split like this as well.

from castle.

VanessaE avatar VanessaE commented on June 30, 2024

As far as castles is concerned, I'm not against turning it into a modpack, however many steps are needed. As far as my own mods are concerned, the only one I can think of that one would want to "split up" is Home Decor, and that's already a modpack.

from castle.

FaceDeer avatar FaceDeer commented on June 30, 2024

Indeed, much work to be done to split up castles. I don't mind, though, I get to do a bunch of neat stuff as I go.

I've already begun over in https://github.com/FaceDeer/castle, all the "structural" stuff has been put into the castle_structure.lua. In the process I turned the registration methods public, so other mods can add sets of castle wall parts using other materials. I added half-pillars (so they can be built flush against walls) and crossbraces to put on the ceilings between the pillars (just the regular ones so far, still haven't decided how to handle crossbraces for the half pillars). I added machicolations so the murder holes wouldn't feel so lonely and an embrasure "arrow slit" type that makes for nice crenelations. Flip it on its side and it looks like a nice modern horizontal gunport, too. Added some user settings for enabling/disabling various default material types and groups of structural components, and set up the strings for intllib support.

I think I'll do doors and bars next. In addition to the stuff already existing in this mod, I've had some ideas for how to do big multi-node gates, drawbridges, and portcullis. That should make for a nice bundle that stands on its own too. This is going well.

from castle.

FaceDeer avatar FaceDeer commented on June 30, 2024

I've got drawbridges, portcullises, and large multi-node gates functioning in my fork now. Needs a bit more iteration to smooth things out but it looks like enough to warrant a separate mod to put the doors into.

@sofar, you suggested making these mods under minetest-mods immediately, rather than having me create them and then transfer ownership as usual. I'm still fairly new to the magic of git, is there something I need to do to get that ball rolling? I'm ready for "castle_masonry" and "castle_gates" mods to move this stuff into. Otherwise I could do what I did when I split the vines and ropes mod, make a duplicate fork and then cut it down to just the stuff I'm splitting. That preserved the contribution history of vines and ropes correctly as far as I can tell so I expect it'd work here too.

from castle.

sofar avatar sofar commented on June 30, 2024

I've created:
https://github.com/minetest-mods/castle_gates
https://github.com/minetest-mods/castle_masonry

You can push to them right away.

from castle.

FaceDeer avatar FaceDeer commented on June 30, 2024

I'd like to do some of the smaller subsets now. @sofar, could I get repositories for mods called:

  • "orbs_of_time" (I'm splitting this into something without the "castle" prefix because I don't really see the connection between magical orbs that change the time of day on the server and castles)

  • "crafting_bench" (likewise, the workbench isn't really castle-specific. And there's already a [workbench] mod out there so I think this is a good name for it)

  • "castle_storage" (for the crate and ironbound chest)

  • "castle_lighting" (for the fancy lantern and chandelier)

  • "castle_weapons" (for battleaxe and crossbow)

I've got ideas for enhancing some of these sub-mods further but I'm less familiar with the sorts of things I'll need to do with them (the big gates shared a lot of concepts in common with moving Digtron but siege weapons will require types of entity work I haven't fiddled with before) so I don't want to hold this up any longer.

After that's done there'll just be a bunch of decor items - tapestries, wall shields, hides, straw bale, anvil. Still pondering the best way to divvy those up. @VanessaE, you've been doing a bunch of work on the tapestries of late, would splitting them now be disruptive to you? And I haven't really dug into the new param2 color code yet, would that be something that could potentially be applied to the wall shields? It'd be neat if players could make a wider variety of shields by retinting various coats of arms, if you think that'd be workable then the shields might be best suited by staying bundled with the tapestries.

from castle.

VanessaE avatar VanessaE commented on June 30, 2024

After that's done there'll just be a bunch of decor items - tapestries, wall shields, hides, straw bale, anvil. Still pondering the best way to divvy those up. @VanessaE, you've been doing a bunch of work on the tapestries of late, would splitting them now be disruptive to you?

Nope, I'm idle on this particular mod at the moment. Now's as good a time as any, from my standpoint.

And I haven't really dug into the new param2 color code yet, would that be something that could potentially be applied to the wall shields?

Theoretically, it could, but I don't see a use for that, since it wouldn't allow for different patterns and shapes to the images painted onto the shields, and the colorization can't reliably be applied to just part of a particular texture (without hacky workarounds, see unifiedbricks mod).

from castle.

FaceDeer avatar FaceDeer commented on June 30, 2024

Alright, I'll split tapestries and shields into different mods then. I've got some other ideas I'd like to try out with enhancing the shields if param2 colors are going to be difficult for them. @sofar, if you throw in "castle_tapestries" and "castle_shields" to the next batch of repositories I'll populate them.

That leaves anvils, hides, and straw bales. Maybe some kind of generic "castle_decor" mod to hold those leftovers?

from castle.

sofar avatar sofar commented on June 30, 2024

added. the anvil may be useful by itself, so I wouldn't shy away from making an anvil mod if it can live by itself.

hides and straw bales sound like an animal thing... castle_farming?

from castle.

FaceDeer avatar FaceDeer commented on June 30, 2024

The anvil that's included with the castle mod is much less sophisticated than the anvil that's from the cottages mod, if that's the one you're perhaps thinking of. The cottages anvil can be used in conjunction with a hammer to repair other tools, but the castles anvil is a largely decorative node. Its only special feature is that it's a "falling" node that causes damage if it hits you on the way down. I was thinking of moving that feature into some form of stone "deadfall boulder" when doing work on the castle_weapons mod (I'm thinking it needs some siege equipment and traps to flesh out the castle experience).

Cottages isn't a minetest-mods mod, would it be considered a fork if I imported small pieces of it as stand-alone mods (such as the tool-repairing anvil)? It appears that this has already been done for the crossbow in the castle mod, it originates from the "shooter" mod.

A "castle_farming" mod sounds good. I could take a look at the existing animal mob mods and make hides craftable from animal skins if they're available. The cottages mod includes a straw floor-covering node, that would be another piece that would be worth grafting in to castles as well if that's okay.

Cottages is another mod I would love to bust up into smaller mods like I'm doing with Castle, the two mods share very similar themes and IMO would hybridize extremely well into a larger "medieval stuff" modpack.

Oh, and @sofar, it looks like you overlooked my earlier comment where I requested some other repositories for other chunks of Castle. You just created the tapestries and shields repositories.

from castle.

sofar avatar sofar commented on June 30, 2024

made 5 more you listed earlier.

from castle.

FaceDeer avatar FaceDeer commented on June 30, 2024

Thanks. My evening's going to be full now. :)

from castle.

FaceDeer avatar FaceDeer commented on June 30, 2024

I've just noticed another modpack hidden among the minetest-mods repositories, "mydoors". It's got a "my_castle_doors" mod in it that looks like it contains a door I extracted into the castle_gates mod from castles.

Ideally I'd ditch the door in castle_gates and when castle gets turned into a modpack I'd just bring in the my_castle_doors portion of that modpack instead, since it has a superior selection. But it's embedded inside the "mydoors" mod so I think that'd be tricky without splitting it up like I'm doing to castle. @kakalak-lumberJack and @HybridDog , you're the guys who've been maintaining the mydoors mod, might you be interested in joining my mad quest for greater modularity and interoperability?

@sofar, the manifest mentions a "minetest-modpacks" team that doesn't exist yet. If there's concrete plans for a minetest-modpacks team in the near future perhaps I should get in on that somehow. I feel like I'm poking at larger matters than should be dealt with here in a mod-specific issue comment thread.

from castle.

sofar avatar sofar commented on June 30, 2024

I wouldn't mind hosting modpacks without code on minetest-mods

The aversion I have to the existing modpacks is that they're often way too large to maintain as coherent pack. You see that people randomly come in and pay attention to only one part of a modpack, but everyone is forced to maintain all the parts because the tiny part they care about is encumbered by lots of legacy and unmaintained junk.

So if someone wants to make a modpack that contains not a single lua file and just either git submodules or a Makefile that creates a dist tarball, then I'm perfectly OK with putting that inside minetest-mods.

from castle.

FaceDeer avatar FaceDeer commented on June 30, 2024

Sounds good to me. I'm basically in this boat already - the main reason I'm working on Castle was because I wanted to replace the rope code, and now I'm making customizable wall shields and giant drawbridges and flaming brasiers. I don't want to leave any of this stuff in a shabby state now that my fingerprints are on it. :)

Anyway. While waiting for a response regarding the doors mod, I'm now ready to do the final breakup of Castle. @sofar, can I get:

  • "castle_farming" for the straw bale and the hides.
  • "anvil" for the anvil. I'll copy over the tool-repairing code from the cottages mod to make this more than just a decorative block, that way I won't feel so bad about making it stand all by itself like this.

Once those two are split there will be nothing left in the castle mod itself, at which point I'll convert it into a modpack referencing the various mods I've been splitting out and offer that as a pull request.

from castle.

sofar avatar sofar commented on June 30, 2024

added.

from castle.

sofar avatar sofar commented on June 30, 2024

it will certainly help if @VanessaE would consider this method for e.g. homedecor_modpack as well - split it up in functional mods and have a stub _modpack that just is used to pull it all in for releases. I'd welcome it a lot.

from castle.

VanessaE avatar VanessaE commented on June 30, 2024

I'm not opposed to homedecor somehow being further divided up, but I am definitely opposed to any kind of git submodules being used in it (whoever came up with the way those work was a blithering idiot). I'd rather it be distributed as a regular modpack.

from castle.

sofar avatar sofar commented on June 30, 2024

the git submodule thing would just be for convenience if you'd want to. I would just upload the fat tarball to tagged releases, like I've done for instance here: https://github.com/sofar/buxton/releases (e.g. buxton-8.tar.xz) and link that from the forums.

from castle.

VanessaE avatar VanessaE commented on June 30, 2024

I'm actually comfortable with the "rolling release" model homedecor uses, though tagging a stable release (if it could really be called that) every so often isn't a bad idea I suppose. But submodules are evil. 😝

from castle.

FaceDeer avatar FaceDeer commented on June 30, 2024

I guess we'll see how it goes with Castle. Maybe the workflow won't be so bad when submodules are just being used to aggregate a bunch of independent projects that don't interact much.

I was very nearly ready to try the submodules thing last night in my fork, but I spent a bunch of time thinking "a mod with nothing but hide wall coverings and straw bales, how the heck can I enhance this?" instead and didn't even get to doing the anvils. And my evening is full today, too, so maybe Tuesday. :)

from castle.

FaceDeer avatar FaceDeer commented on June 30, 2024

Alright, my fork at https://github.com/FaceDeer/castle now seems to be working correctly as a modpack built out of submodules. I also did a test upgrade of a map containing examples of all of the pieces of the original castle mod and that worked correctly too. Almost anticlimactic.

I think I'd like to add some more documentation to the castle_gates mod before I call this "done", it may not be immediately obvious how to piece together a working door. But that should just take a few hours tomorrow sometime.

from castle.

HybridDog avatar HybridDog commented on June 30, 2024

You could also use subtrees.

from castle.

Related Issues (16)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.