Comments (27)
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.
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.
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.
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.
They're all cobbled together. I'd love it if @VanessaE would consider a split like this as well.
from castle.
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.
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.
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.
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.
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.
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.
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.
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.
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.
made 5 more you listed earlier.
from castle.
Thanks. My evening's going to be full now. :)
from castle.
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.
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.
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.
added.
from castle.
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.
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.
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.
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.
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.
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.
You could also use subtrees.
from castle.
Related Issues (16)
- Tapestry textures need work HOT 1
- Odd looking corner blocks (need input) HOT 10
- Arrowslits are broken HOT 7
- Default already has iron bars HOT 1
- Changing Licenses HOT 6
- Ironbound chest no longer work.
- Experimental nodes
- Ironbound chest and TNT
- craft reciep conflict with xdecor HOT 1
- [Plan] Convert mod to use param2-based coloring HOT 2
- Walking along the new tapestry makes you stuck in a invisible collision box
- A tagged release with downloadable bundle is needed HOT 2
- Please remove the mod.conf since it is a modpack HOT 1
- anvil:hammer craft conflicts with default:sign_wall_steel
- Use the Submodules Alternative tool HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from castle.