Jump to content

Discussion - Community Category Kit


RoverDude
 Share

Recommended Posts

Is there a way to prevent parts from being moved from Utility and Electrical to their own categories? I'd rather have duplicates in Utility and Electrical as well as their own category than the parts being removed from Utility and Electrical and put in their own category, if that makes sense.

Link to comment
Share on other sites

  • 2 months later...
2 hours ago, AlphaMensae said:

@RoverDude

CCK 4.1 doesn't seem to be working in KSP 1.7.x, 1.7.2 in my case. My custom filter isn't showing up.

It works just fine for me with about 10 new categories and hundreds of parts moved around. Did your custom filter work in earlier versions and stop working following an update, or did you just try to use it in 1.7.x? If its the latter, I'd guess your customized filter is buggy.

Link to comment
Share on other sites

13 minutes ago, Tonka Crash said:

It works just fine for me with about 10 new categories and hundreds of parts moved around. Did your custom filter work in earlier versions and stop working following an update, or did you just try to use it in 1.7.x? If its the latter, I'd guess your customized filter is buggy.

Yeah, there was no problem, turns out I simply forgot to copy over Module Manager in the rush of setting up my 1.7.2 install....:lol: 

All good now :D

Link to comment
Share on other sites

Universal Storage looks like it's missing stuff at complete random. For example, the 'small' decoupler is just straight missing from the US tab, but the large one is there.

 

Also, why can't use the search function to find US parts? 

Link to comment
Share on other sites

  • 3 months later...

Please assist: I am trying to make a custom subcategory.  The instructions aren't clear, but I have read the comments in extra-filters.cfg.

 

Here are my goals:

1) Create a custom subcategory

2) Move all of the parts from USI Explorations into that subcategory, and also remove them from the Utility subcategory (and other standard subcategories). 

 

I would like to hear your thoughts on this process generally.  I will explain what I have tried once I understand the system better.

Link to comment
Share on other sites

34 minutes ago, dunebugmi said:

Please assist: I am trying to make a custom subcategory.  The instructions aren't clear, but I have read the comments in extra-filters.cfg.

 

Here are my goals:

1) Create a custom subcategory

2) Move all of the parts from USI Explorations into that subcategory, and also remove them from the Utility subcategory (and other standard subcategories). 

 

I would like to hear your thoughts on this process generally.  I will explain what I have tried once I understand the system better.

CCK doesn't have subcategories, just the one you set up. This is how you set it up, from my Modular Launch Pads:

@CCKExtraFilterConfig
{
    Item
    {
        name = Modular Launch Pads
        tag = cck-modularlaunchpads
        normalIcon = ModularLaunchPads/Category/MLPnorm
        selectedIcon = ModularLaunchPads/Category/MLPselB
        usedByMod = Modular Launch Pads
    }
}

You add that tag into all the part .cfg files, and they will go into your CCK category tab.

CCK cannot move parts out of a stock category. You can however hide them from the stock ones by setting the part's category to "none" in the .cfg file. A Module Manager patch can do this all at once:

@PART[AM_MLP_*]
{
    @category = none
}

Note, this will also hide the parts from searches.

Stock KSP also has a custom category function which does have sub-categories; it is accessed from the "Advanced Mode" (also where Subassemblies are found) in the editor by clicking the arrow at the top of the part window. You can set up the custom category either manually in game, or via a .cfg file. Here's a sample from my mod again:

CUSTOM_PARTLIST_CATEGORY
{
    categoryName = Modular Launch Pads
    icon = ModularLaunchPads/Category/MLPselB
    SUBCATEGORY
    {
        categoryName = Launch Stands
        icon = R&D_node_icon_generalconstruction
        PARTS
        {
            part = AM.MLP.SmallLaunchStand
            part = AM.MLP.SmallLaunchStandRect
        }
    }

You can have as many SUBCATEGORY groups as you want, each can have their own icon.

Link to comment
Share on other sites

Bingo!  This is the piece of information I was missing.  Thanks so much.  Your whole post was very helpful. 

 

 

24 minutes ago, AlphaMensae said:

CCK cannot move parts out of a stock category. You can however hide them from the stock ones by setting the part's category to "none" in the .cfg file. A Module Manager patch can do this all at once:

@PART[AM_MLP_*]
{
    @category = none
}

 

 

Link to comment
Share on other sites

  • 6 months later...

A big thanks to the creators and maintainers of this mod, but...
As convenient as it may seem at first, could you please not mark mods containing plugins as compatible with all versions of KSP for the foreseeable future? Even parts-only mods or simple MM patches regularly get thrown off by later KSP releases.

I mean if you must, mark it as compatible with 1.9.99999bar, but who is going to guarantee that KSP won't change its API some time between 1.10.0…1.99.99? And what is going to happen in 1.99.100 that will make it incompatible with 1.99.99?


It's not even trivial for humans to check what version of a mod is compatible with their KSP install...
The point in having metadata is to allow automated tools to make decisions, and they don't have the mental flexibility.

I understand it's a hassle to keep it updated, but if you don't provide correct and meaningful metadata, it's probably better not to provide any at all and require manual installation only.


My apologies if this is a bit of a rant, but bad versioning gets me worked up almost as bad as ?dl=0 "downloads" from dropbox ;)

Link to comment
Share on other sites

10 minutes ago, Corax said:

A big thanks to the creators and maintainers of this mod, but...
As convenient as it may seem at first, could you please not mark mods containing plugins as compatible with all versions of KSP for the foreseeable future? Even parts-only mods or simple MM patches regularly get thrown off by later KSP releases.

Doing things this way was to avoid updating just for a version change that has zero impact on the compatibility of the mod. This mod had not updated to 1.9+ because it still worked fine and there were no new features to be added.

But it created problems for CKAN users.  CKAN would consider any mod that had CCK as a dependency incompatible with anything higher than 1.8.9 just because CCK's metadata didn't have 1.9+ listed as compatible.  I know how to work around that and it was never an issue to me, but a lot of less experienced CKAN users were having issues finding mods on CKAN that the forum threads said were current for 1.9.1.

For those of us that actually try to help newbies with their installation problems, it gets old telling users "yes a mod for 1.8 still works in 1.9.1 and here's how you change your CKAN settings to allow it".  It's simpler to just leave the max version open ended and fix real problems when they need fixing rather force mod makers to push an update just because KSP updated. 

Link to comment
Share on other sites

it gets old telling users "yes a mod for 1.8 still works in 1.9.1"


I get that. I have thrown in the towel long ago, and I truly appreciate those who manage to keep up despite all that, all the time.


I'm not saying it's wrong to assume a mod is going to stay compatible for a reasonable amount of time, although KSP has had breaking changes with only patch level updates too.
However, the interval between KSP minor version updates is usually long enough that

I mean if you must, mark it as compatible with 1.9.99999bar


once every half year or so would be enough, even if nothing needs to be done besides bumping the .version file.

On the other hand, once an incompatible old version continues to say "yahoo, but I *am* compatible with every KSP version under the sun, believe me" even though it clearly isn't, I imagine it'll be much harder to get that back under control.

Just my humble opinion.

Link to comment
Share on other sites

Also, saying it creates problems for CKAN users is neither fair nor correct. It creates problems for people who don't bother to learn and understand the tools they are using, whatever the tool. Computing or otherwise.
But those are the same people that will come complaining when whatever tool they are using is telling them an old version is more compatible and breaks their game, because while the latest version would technically be compatible but isn't marked as such yet, a much older version had been marked as compatible with any version, and now insists on taking precedence.

Link to comment
Share on other sites

Quote

once every half year or so would be enough, even if nothing needs to be done besides bumping the .version file.

You're expecting the maintainers to always keep things current in a timely manner.  It's been 3 months since 1.9.1 release and 45 of the 118 mods I use haven't been updated from 1.8.  None of them need an update to work but they report as out of date. At least leaving it open ended requires no interaction at a later date if its still working.

Quote

On the other hand, once an incompatible old version continues to say "yahoo, but I *am* compatible with every KSP version under the sun, believe me" even though it clearly isn't,

There are no guarantees a mod works even in the version it was compiled for.  I've had a PR in for a mod on github for over a year for a pretty subtle bug I found and fixed.  The maintainer has yet to patch it, so I've been compiling it locally since 1.6.1.  For most mods it's pretty apparent when they really break and maintainers seem more interested in fixing actual problems if they haven't burnt out on idiot questions. In either case users are left with trying the latest release compatible or not.

Quote

I imagine it'll be much harder to get that back under control.

Not really, when a mod update is released CKAN that over laps an existing range the newest is typical found as compatible with your version.  KAS dealt with this in the 1.7.x releases.  1.7 and 1.7.1 were both mod breaking. Each fixed KAS version released was compatible up to 1.7.99. But install 1.7, 1.7.1 or 1.7.2 and it will find the appropriate version.

Quote

Also, saying it creates problems for CKAN users is neither fair nor correct. It creates problems for people who don't bother to learn and understand the tools they are using, whatever the tool. Computing or otherwise.

I recommend people use CKAN, because it really is trivially easy to keep patches current and takes very little time. At the same time you are asking the impossible, expecting everyone to understand how their tools work. My feeling is too many people using mods have no business operating a computer, I'm surprised they even find KSP fun with it's complexity. Many seem mentally incapable of handling a manual install and or even using the forum search function, but they are fellow players and some of us try to help them out.

Quote

But those are the same people that will come complaining when whatever tool they are using is telling them an old version is more compatible and breaks their game, because while the latest version would technically be compatible but isn't marked as such yet, a much older version had been marked as compatible with any version, and now insists on taking precedence.

I've seen one case like you describe and it was due to bad CKAN metadata.  I don't remember the specifics, but it was along the lines of release 1 for 1.6.1 with no upper limit and then release 2 for 1.7.1-1.7.999.  Trying to install for 1.8 grabbed the 1.6 version. Once the problem was identified a message to the CKAN guys got it cleared up. No changes to the mod itself had to happen.

Edited by Tonka Crash
Link to comment
Share on other sites

  • 2 weeks later...

@RoverDude I saw in another thread you are doing an update pass through  your USI Constellation, I have a somewhat big request if you could fit it in.  Could you enable CCK support for all your mods and remove the hardwired categories in USITools/PartCatalog.cs?  

I use CCK extensively to reorganize the VAB parts list. As part of this I often end up making different choices than the mod authors or even Squad for part categories and sometimes have hardwired folders from mods that don't fit with how I want to organize my parts list.

Since I found CCK I've been recompiling local versions of any mod that forced categories I didn't need and replacing them with CCK, but over time it seems most mods have transitioned to CCK.  I think USI-Tools is the last mod I use that has hardwired categories.

Link to comment
Share on other sites

1 hour ago, Tonka Crash said:

@RoverDude I saw in another thread you are doing an update pass through  your USI Constellation, I have a somewhat big request if you could fit it in.  Could you enable CCK support for all your mods and remove the hardwired categories in USITools/PartCatalog.cs?  

I use CCK extensively to reorganize the VAB parts list. As part of this I often end up making different choices than the mod authors or even Squad for part categories and sometimes have hardwired folders from mods that don't fit with how I want to organize my parts list.

Since I found CCK I've been recompiling local versions of any mod that forced categories I didn't need and replacing them with CCK, but over time it seems most mods have transitioned to CCK.  I think USI-Tools is the last mod I use that has hardwired categories.

tbh, I would kill for a pull request for that :D  No guarantee otherwise.

Link to comment
Share on other sites

  • 3 months later...
  • 6 months later...

So I'm poking around considering CCK support, and adding several categories of my own... I see 4 added categories in CCK itself...
Is there a compiled list of categories added by other mods, anywhere, so i dont end up duplicating?

Edited by Stone Blue
Link to comment
Share on other sites

  • 1 year later...

Is there a release of CCK for the last KSP?  Pardon, haven't been around in a while and not sure where things are these days and trying to get my plugins up and running.  A couple used CCK?  I downloaded what I think is the latest code from Git, recompiled and ran into a few problems.   Everything seems to work, just get these crashes in the log.  I THINK they're from CCK but they could be my code.
 

[ERR 19:04:18.663] Exception handling event onGUIEditorToolbarReady in class KerbalElectricFilter:System.NullReferenceException: Object reference not set to an instance of an object
  at KSP.UI.Screens.PartCategorizerButton.SetIcon (System.Boolean selected) [0x00000] in <39c0323fb6b449a4aaf3465c00ed3c8d>:0 
  at KSP.UI.Screens.PartCategorizerButton.InitializeToggleBtn (System.String categoryName, System.String categorydisplayName, RUI.Icons.Selectable.Icon icon, UnityEngine.Color color, UnityEngine.Color iconColor, System.Boolean last) [0x00062] in <39c0323fb6b449a4aaf3465c00ed3c8d>:0 
  at KSP.UI.Screens.PartCategorizer.InstantiatePartCategorizerButton (System.String categoryName, System.String categorydisplayName, RUI.Icons.Selectable.Icon icon, UnityEngine.Color colorButton, UnityEngine.Color colorIcon, System.Boolean last) [0x0000f] in <39c0323fb6b449a4aaf3465c00ed3c8d>:0 
  at KSP.UI.Screens.PartCategorizer+Category..ctor (KSP.UI.Screens.PartCategorizer+ButtonType buttonType, KSP.UI.Screens.EditorPartList+State displayType, System.String categoryName, System.String categorydisplayName, RUI.Icons.Selectable.Icon icon, UnityEngine.Color color, UnityEngine.Color colorIcon, EditorPartListFilter`1[T] exclusionFilter, System.Boolean last) [0x00006] in <39c0323fb6b449a4aaf3465c00ed3c8d>:0 
  at KSP.UI.Screens.PartCategorizer.AddCustomSubcategoryFilter (KSP.UI.Screens.PartCategorizer+Category mainFilter, System.String subFilterName, System.String subFilterdisplayName, RUI.Icons.Selectable.Icon icon, System.Func`2[T,TResult] exclusionFilter) [0x00040] in <39c0323fb6b449a4aaf3465c00ed3c8d>:0 
  at MPUtils.BaseFilter.SubCategories () [0x0004a] in <163c83f13d8d42c888e473078d014924>:0 
  at EventVoid.Fire () [0x00127] in <39c0323fb6b449a4aaf3465c00ed3c8d>:0 

[EXC 19:04:18.668] NullReferenceException: Object reference not set to an instance of an object
    KSP.UI.Screens.PartCategorizerButton.SetIcon (System.Boolean selected) (at <39c0323fb6b449a4aaf3465c00ed3c8d>:0)
    KSP.UI.Screens.PartCategorizerButton.InitializeToggleBtn (System.String categoryName, System.String categorydisplayName, RUI.Icons.Selectable.Icon icon, UnityEngine.Color color, UnityEngine.Color iconColor, System.Boolean last) (at <39c0323fb6b449a4aaf3465c00ed3c8d>:0)
    KSP.UI.Screens.PartCategorizer.InstantiatePartCategorizerButton (System.String categoryName, System.String categorydisplayName, RUI.Icons.Selectable.Icon icon, UnityEngine.Color colorButton, UnityEngine.Color colorIcon, System.Boolean last) (at <39c0323fb6b449a4aaf3465c00ed3c8d>:0)
    KSP.UI.Screens.PartCategorizer+Category..ctor (KSP.UI.Screens.PartCategorizer+ButtonType buttonType, KSP.UI.Screens.EditorPartList+State displayType, System.String categoryName, System.String categorydisplayName, RUI.Icons.Selectable.Icon icon, UnityEngine.Color color, UnityEngine.Color colorIcon, EditorPartListFilter`1[T] exclusionFilter, System.Boolean last) (at <39c0323fb6b449a4aaf3465c00ed3c8d>:0)
    KSP.UI.Screens.PartCategorizer.AddCustomSubcategoryFilter (KSP.UI.Screens.PartCategorizer+Category mainFilter, System.String subFilterName, System.String subFilterdisplayName, RUI.Icons.Selectable.Icon icon, System.Func`2[T,TResult] exclusionFilter) (at <39c0323fb6b449a4aaf3465c00ed3c8d>:0)
    MPUtils.BaseFilter.SubCategories () (at <163c83f13d8d42c888e473078d014924>:0)
    EventVoid.Fire () (at <39c0323fb6b449a4aaf3465c00ed3c8d>:0)
    UnityEngine.Debug:LogException(Exception)
    EventVoid:Fire()
    KSP.UI.Screens.<SetInitialState>d__95:MoveNext()
    UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
    KSP.UI.Screens.PartCategorizer:Setup()
    EventVoid:Fire()
    KSP.UI.Screens.EditorPanels:ShowPartsList(Action)
    EditorLogic:SelectPanelParts(Boolean)
    EditorLogic:StartEditor(Boolean)
    <Start>d__132:MoveNext()
    UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
[ERR 19:04:18.669] Exception handling event onGUIEditorToolbarReady in class SteampunkFilter:System.NullReferenceException: Object reference not set to an instance of an object
  at KSP.UI.Screens.PartCategorizerButton.SetIcon (System.Boolean selected) [0x00000] in <39c0323fb6b449a4aaf3465c00ed3c8d>:0 
  at KSP.UI.Screens.PartCategorizerButton.InitializeToggleBtn (System.String categoryName, System.String categorydisplayName, RUI.Icons.Selectable.Icon icon, UnityEngine.Color color, UnityEngine.Color iconColor, System.Boolean last) [0x00062] in <39c0323fb6b449a4aaf3465c00ed3c8d>:0 
  at KSP.UI.Screens.PartCategorizer.InstantiatePartCategorizerButton (System.String categoryName, System.String categorydisplayName, RUI.Icons.Selectable.Icon icon, UnityEngine.Color colorButton, UnityEngine.Color colorIcon, System.Boolean last) [0x0000f] in <39c0323fb6b449a4aaf3465c00ed3c8d>:0 
  at KSP.UI.Screens.PartCategorizer+Category..ctor (KSP.UI.Screens.PartCategorizer+ButtonType buttonType, KSP.UI.Screens.EditorPartList+State displayType, System.String categoryName, System.String categorydisplayName, RUI.Icons.Selectable.Icon icon, UnityEngine.Color color, UnityEngine.Color colorIcon, EditorPartListFilter`1[T] exclusionFilter, System.Boolean last) [0x00006] in <39c0323fb6b449a4aaf3465c00ed3c8d>:0 
  at KSP.UI.Screens.PartCategorizer.AddCustomSubcategoryFilter (KSP.UI.Screens.PartCategorizer+Category mainFilter, System.String subFilterName, System.String subFilterdisplayName, RUI.Icons.Selectable.Icon icon, System.Func`2[T,TResult] exclusionFilter) [0x00040] in <39c0323fb6b449a4aaf3465c00ed3c8d>:0 
  at MPUtils.BaseFilter.SubCategories () [0x0004a] in <163c83f13d8d42c888e473078d014924>:0 
  at EventVoid.Fire () [0x00127] in <39c0323fb6b449a4aaf3465c00ed3c8d>:0 

 

On 3/23/2021 at 8:45 AM, Stone Blue said:

So I'm poking around considering CCK support, and adding several categories of my own... I see 4 added categories in CCK itself...
Is there a compiled list of categories added by other mods, anywhere, so i dont end up duplicating?

Lemme know if you do.  Kerbal Electric is one of mine and it's still in the lights section of the cfg.  I think my steampunk mod uses it as well but it's having a few more in-depth issues.

Link to comment
Share on other sites

  • 3 weeks later...

It would be nice to get this fully integrated with one of the fuel switch mods for proper handling.  (Possibly fork to do this, since this is so stable, and you don't want to fix what ain't broke.)

The features I would like are outlined as follows:
1. Default addition to stock and major stockalike mods.
2. Panel to whitelist toggles of resource classes in each part or part group.  (This panel should also be able to add fuelswitch to other part mods.)
3. Optional module manager integration to convert API from other major fuel switch mod info into it.
4. Tech level resource restrictions.  (Best provided by hidden upgradable module that gets attached into all fuel parts with fuelswitch).  This would limit part capacity of various items early on. For instance, not let you convert a fuel tank into a mega battery.

Wishlist:
1. Panel to create custom tank combinations.
2. Said panel includes "LFO" which is a shortcut tank with default ratio liquid fuel and oxidizer.
3. Skin switching, and model switching with mod-optional decal switching tied to tank part, and efficiency/power switching for engines when you change their fuels.

Link to comment
Share on other sites

  • 1 month later...
Posted (edited)
On 10/13/2016 at 4:40 AM, RoverDude said:

[Heads up - will move this to a proper release thread, but here's the current Github link for interested parties :)]

https://github.com/BobPalmer/CommunityCategoryKit/releases

Hey @RoverDude ,

Thanks for your great work!

 

Sorry for the maybe stupid question, but where can I find a full changelog for the newest version?

I have an ongoing JNSQ (+Kerbalism) game and want to check, if it is save to update.

Edited by N3N
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...