Elixr Mods Framework 3.1.4

Due to human (non-bot) spam the first contribution of a user has to be reviewed and activated manually, all further contributions do not require this.
As long as a user does not have at least one reviewed and activated contribution, the user is unable to edit his profile, set a avatar, title picture or a signature.

Elixr Mods Framework is an extensible system for eco designed for modders and server owners alike! it provides great additions to your server as well as housing great extras for modders! Let us help you give your admins more power and less temptation!

Join the Eco Modding Community on discord! : https://discord.gg/5BdXErQ


!!Version 3.1.0 WILL NOT work with any mod that uses 3.0.0!!


The Elixr Mods Framework is designed to make modding easier for eco, mods more compatible, and extend what you can do in your server,

It is also houses some nice abilities for server owners to be able to give their admins the ability to admin but not "cheat", the term cheat is very subjective,

Examples: Instead of your admins being able to spawn items when they feel like, or do things they shouldn't you can give them access to only a few specific commands with the EM Groups system in the EM Framework,

Modders!

EM Framework offers a lot for eco modders! there is a whole bunch of pre-set functions and methods for you to be able too easily use in your mods!

EM Framework would like to be able to improve mod compatibilities while extending on what you can do in eco, Simplifying processes and more!

We have everything fully documented for modders to be able to use all parts of the EM Framework, We are Activly Working on the EM Framework to improve its Stability, Quality and Reliability as well as always adding in new features!

We Also do what we can to make sure it is as backwards compatible as possible! so if we update the framework and add new features in we do our best to make sure we can keep the older stuff in while you update to the newer stuff, or should you prefer the legacy stuff allow you to be able to use that as well!


For all documentation on the Elixr Mods Framework please visit this link: https://elixrmods.com/docs/elixr-mods/intro It should have all the information you need for using the EM Framework in your mods

As an Added Plus! EM Framework is on Nuget! Have a look here: https://www.nuget.org/packages/ElixrMods.Framework/

Permissions System

While our Permissions system is still under development this is some basic documentation on what we have so far and will be updated as we add more features to it:


Using the EM Permissions system is easy,

What the EM permissions system brings to you is the ability to be able to create new user groups and give them access to commands so long as they are in that group,

Example,

Joe donated to your server, You can create the group called "VIP" and add joe to that group,

You can then assign commands to that group for joe to use:

Say you have teleport commands on the server, you can add the teleport command to the group VIP then Joe can use the teleport command,

Usage for server admins:

By default there are 2 user groups, Admin and Default, These 2 groups can not be deleted

If the user is already an admin they don't need to be added to the admin group, but if the user isn't an admin you can ad them to the admin group and assign your admins certain commands, IE: kick, mod based commands or what ever you feel like

Here is a list of all the commands that a admin/ owner in the server can use:

Commands for giving groups permissions to commands

Shortcuts:

Code
"/grant-command command, groupname"
"/revoke-command command, groupname"
"/behaviour-command admin/user, true/false"

The "command" In the commands is any command in the eco game, regardless if its registered by a mod or a core command!

Creating Groups and adding users to groups commands

Code
"/groups addgroup groupname" // Used to create a new group
"/groups deletegroup groupname" // used to delete a created group
"/groups listgroups" // will list all groups you have on the server
"/groups grouppermissions groupname" // Will list all the permissions the named group has "/groups addusertogroup username, groupname" // will add a user to a selected group or will creat the group then add the user too it
"/groups removeuserfromgroup username, groupname" // will remove a user from that group, if the group doesn't exist it will tell you
"/groups forcesave" //forces the groups system to save everything just incase a save fails

All commands that use a username are case sensitive so make sure your naming is correct otherwise it will say that user doesn't exist

Shortcuts:

Code
"/grp-add groupname"
"/grp-del groupname"
"/grp-list"
"/grp-perms groupname"
"/grp-adduser username, groupname"
"/grp-remuser username, groupname"
"/grp-fs"

Config File Structure - If you are not comfortable editing this file then please just use the in game commands - Located in Configs/Mods

ElixrMods-GroupsDate.json

  • Version 3.1.4

    Fixed Resolvers Not working properly on server reboot

  • Version 3.1.3

    Fixed a critical bug that prevented servers from booting with new Housing Resolver

  • Version 3.1.2

    EM Framework:


    Added:

    Food Item Resolver - Food Items can now be configurable when using the IConfigurableFoodItem interface

    Housing Point Resolver - Housing Items can now be configurable when using the IConfigurableHousing interface


    Fixed:

    Fixed a bug with the Passive Crafters preventing the server from booting

  • Version 3.1.1

    Important Hotfix For EM Framework - Fixed an issue where the Weight Resolver and Stack Size Changer would force its values all the time instead of being optional to have on or off

  • Version 3.1.0

    Added:

    Storage Slot Changer for Compiled Mods

    Link Distance Changer for Compiled Mods

    The Ability To Override Other Compiled Mod Recipes that use the EM Recipe Resolver

    Item Weight Changer for all Items with [Weight()] Attribute (Seemingly All of them)

    [IgnoreStackSize] Attribute To instruct the EM Stack Size Changer to ignore this stack size

    CustomStackLimit Restriction, Lets you change the max stack size of all items in this storage except for tools, will also not let you store garbage (garbage, tailings, wet tailings) using this restriction

    StackAllLimitRestriction, Allows you to multiply the stack size amount, IE: 1.5x or 2x for all items stored in this storage


    Changed:

    Recipe Resolver to be way more functional with many more options for changing Recipes in Compiled Mods

    Moved Stack Size Changer to a single Tab in the Server GUI from all mods that use the Stack Size Changer

    Changed ChatBase.InfoPane to use an Enum for PanelType for clarity

    Changed ChatBaseExtended.CBInfoPane to use an Enum for PanelType for clarity


    Notes:

    - The Recipe Changer For compiled mods will work with Recipe Variants! All information will be available in the documentation.

    - Namespaces have not changed just the Assembly Name, this will break backwards compatibility
    - Using The IRecipeOverride will not crash the server if the mod it is using to override doesn't exist or the mod it is overriding doesn't exist it will just put an error in the console then finish the server boot

  • Version 3.0.1

    Fixed An Issue where admins couldn't use admin commands even if Admin Default Behavior was set to True

  • Version 3.0.0.1

    Proper EM Framework Release!


    Moved Project To .NET 5.0 From .NET STANDARD 2.1 Be sure to make the change!


    Added 2 New Sensors:

    Power Sensor - Used to toggle On/Off For anything that uses Power In the same room ( In unity Use the Bool Param IsOn )

    Lights Sensor - Used to toggle On/Off All Lights in the same room ( In unity use the Bool Param IsOn )


    Added EM Recipe Resolver

    The Recipe Resolver allows you to override the Recipes used in our mods, As well as adding it to your own mods to allow your recipes to be overridden ( More Info on this soon, Docs to be released)

  • Version 2.3.2

    THIS IS A TEMPORARY EM FRAMEWORK FILE!


    This is not a full featured Version of the EM Framework, this is a temp patch for 9.4 for some mods that use it to be able to work, Some features do not work however such as:


    Permissions Systems

    Custom Chat Manager


    9.4.1 Will introduce a patch that will allow for our proper 3.0.0 Release so keep your eyes out!

  • Version 3.0.0

    Updated For 9.4!! Letsgooo!


    Moved Project To .NET 5.0 From .NET STANDARD 2.1 Be sure to make the change!


    Added 2 New Sensors:

    Power Sensor - Used to toggle On/Off For anything that uses Power In the same room ( In unity Use the Bool Param IsOn )

    Lights Sensor - Used to toggle On/Off All Lights in the same room ( In unity use the Bool Param IsOn )


    Added EM Recipe Resolver

    The Recipe Resolver allows you to override the Recipes used in our mods, As well as adding it to your own mods to allow your recipes to be overridden ( More Info on this soon, Docs to be released)

  • Version 2.3.1

    Added the Ability for the File Manager to Accept custom Extensions:


    ie:

    Myfile.modfile

    MyFile.modlog

    Myfile.config


    Usage:


    FileManager<DataStructure>.WriteToFile(input, string savelocation, string filename, string extension)

    FileManager<DataStructure>.ReadFromFile(string savelocation, string filename, string extension)



    Example:


    Save will output: SpiceyConfig.Config

    Load will Read from: SpiceyConfig.Config


    Eco.EM.Framework.Base.SaveLocation = Configs/Mods


    Downloads:

    https://eco.mod.io/elixr-mods-em-framework

    Kye

    https://www.nuget.org/packages/ElixrMods.Framework/2.3.1

  • Important Note for server owners with the new 2.1.0 Version!
    if you get this error:

    Code
    [Error] [Eco] Failed to load server, Exception was Exception: JsonSerializationException
    Message:Could not find type 'Eco.EM.Permissions.ChatCommandAdapter' in assembly 'em-framework, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
    Source:Newtonsoft.Json

    goto your Configs/Mods/EM/Groups folder and delete the ElixrMods-GroupsData.json file and restart the server This will remove all groups you have made and users you have added to them as well as all your group configs

    Alternatively you can remove any line that contains 'Eco.EM.Permissions.ChatCommandAdapter'

  • Superb in every aspect, shape and form :supports:

    I use this component in my plugin.


    Features:


    - groups system,

    - ensures compatibly between different mods by following same design standard,

    - universal, easy to use permissions system,

    - super easy config file making and usage.