The goal of MagicLib is to create a community-built library of useful (and well documented) scripts and plugins that can be leveraged and contributed to by every modder.
If anyone wants to contribute you are more than welcome to do so as it is intended to be a community tool. Do check the Wiki to get a lot of details on the current content.
The
magicSettings functions allow modders to easily access a shared
data/config/modSettings.json file that can be used as a unified solution to integrate mods with each-others. I will try to provide a thorough blank modSettings.json sample file with each MagicLib update, so modders that will use the shared
modSettings.json file and want their mod's settings to be added to MagicLib's sample file can post them in this thread. Modders can also document their inter-mod compatibility requirements, regardless of their usage of modSettings or not, on
this wiki page.
If you want to integrate your mod to all the ones using the shared modSettings.json solution, you can
download a blank sample file here.
Mod Authors: v1.0.0 breaking changesThe package changed from `data.scripts` to `org.magiclib`.
For most authors, all you need to do is a find & replace in your imports.
Also, a number of deprecated methods have been removed. They all have replacements.
MagicCampaign.createFleet -> createFleetBuilder
MagicCampaign.createCaptain -> createCaptainBuilder
and more.
See all breaking changes in v1.0.0 here:
https://github.com/MagicLibStarsector/MagicLib/releases/tag/1.0.0
Current content:Functions MagicSettings Offers classes to load merged settings and lists from a shared
modSettings.json file. Intended to make cross-mod integration and compatibility much easier to manage.
MagicBounty framework
Offers a highly customizable yet easy to implement system to add unique bounties to a board present in bars.
MagicCampaign Offers classes to help enrich systems with recoverable hulks holding special cargo, or with stations with custom comm officers, etc.
MagicIndustryItemWrangler Allows AI colonies to upgrade their installed industry items if a better one is sold to them.
MagicIncompatibleHullmodA uniform solution for the "incompatible hullmod" issue with vanilla hullmods.
MagicInterferenceAdds a cross-mod mechanic to balance very powerful weapons.
MagicAnimA collection of functions to make smooth animations.
MagicFakeBeamCreates convincing punctual beams from arbitrary coordinates.
MagicLensFlareCreates "cinematic" lens flares.
MagicRenderDraw arbitrary sprites on-screen with constraints to entities/camera when needed. (aka "SpriteRenderManager")
MagicTargetingAllows "smart" target selection for systems and missiles within distance and search cone parameters, plus it can use ship-class preferences.
MagicTrailsAllows to create missile-style trails anywhere, from ships to bullets, with a lot of customization options. Also includes a CSV based manager that should be able to handle most projectile use cases with negligible overhead.
MagicUIDraws UI elements such as a system-like charge-bar/tick box next to the normal ship-system for special systems, or an extra status bar above the flux/hull bars.
MagicAchievements framework
Offers a relatively easy to implement way add achievements for your mod.
MagicPaintjobs framework
Offers a dead-simple way to add ship paintjobs.
MagicSubsystemsAdd up to five extra ship systems to a ship. Includes drone management.
Loose scriptsScripts that can be used "as it is" or can be copied to individual mods to personalize the result. MagicVectorThrusterManages vectoring or vernier-style attitude thrusters.
MagicMissileAIA very customizable and lightweight missile AI script usable without any java knowledge.
MagicGuidedProjectileScriptA weapon script that allows regular projectiles to track their target.
Planned / considered content:None at the moment
ChangelogView at
https://github.com/MagicLibStarsector/MagicLib/blob/master/CHANGELOGS.mdContributors
Tartiflette (creator)
Wisp (maintainer)
Amazigh (paintjobs and paintjob icon)
BirdWanderer (paintjobs)
Dark.Revenant (MagicUI)
Deathfly (MagicFakeBeam)
DesperatePeter/Jannes (MagicCombatGui)
jtyotJOTJIPAEFVJ (MagicAnim.cycle)
Kitta Khan (bugfixes)
Nicke (MagicTrails, MagicGuidedProjectileScript)
Originem (bugfixes and a lot of optimization work)
President Matt Damon (MagicBounty, MagicSubsystems, bugfixes)
CeruleanPancake (MagicBounty)
Schaf-Unschaf (MagicBounty)
SafariJohn (MagicAsteroids)
Selkie (paintjobs)
Snrasha (MagicUI)
Starficz (MagicUI bugfix)
Tomatopaste (MagicSubsystems)
Wyvern (MagicIndustryItemWrangler)
Generative "AI" was used in creating the achievement icons. Lora: sxz-2dicon, model: Deliberate v2.
Any derivative work must also comply with Starsector's EULA