Fractal Softworks Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

Starsector 0.97a is out! (02/02/24); New blog post: New music for Galatia Academy (06/12/24)

Pages: [1] 2 3 ... 8

Author Topic: [0.97a] MagicLib v1.4.5  (Read 238322 times)

Wispborne

  • Captain
  • ****
  • Posts: 427
  • Discord: wispborne
    • View Profile
[0.97a] MagicLib v1.4.5
« on: January 08, 2023, 12:19:09 PM »



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.




Download
Requires latest LazyLib

Content Pack Downloads
MagicLib itself does not contain any achievements, paintjobs, or bounties.
Achievements Pack (30+ achievements, 20+ paintjobs)
Bounties Pack (20+ bounties)




View JavaDocs


MagicLib release history




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 changes
The 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.

    MagicIncompatibleHullmod
A uniform solution for the "incompatible hullmod" issue with vanilla hullmods.

    MagicInterference
Adds a cross-mod mechanic to balance very powerful weapons.

    MagicAnim
A collection of functions to make smooth animations.

    MagicFakeBeam
Creates convincing punctual beams from arbitrary coordinates.

    MagicLensFlare
Creates "cinematic" lens flares.

    MagicRender
Draw arbitrary sprites on-screen with constraints to entities/camera when needed. (aka "SpriteRenderManager")

    MagicTargeting
Allows "smart" target selection for systems and missiles within distance and search cone parameters, plus it can use ship-class preferences.

    MagicTrails
Allows 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.

    MagicUI
Draws 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.

    MagicSubsystems
Add up to five extra ship systems to a ship. Includes drone management.

Loose scripts
Scripts that can be used "as it is" or can be copied to individual mods to personalize the result.

    MagicVectorThruster
Manages vectoring or vernier-style attitude thrusters.

    MagicMissileAI
A very customizable and lightweight missile AI script usable without any java knowledge.

    MagicGuidedProjectileScript
A weapon script that allows regular projectiles to track their target.

Planned / considered content:
None at the moment

Changelog
View at https://github.com/MagicLibStarsector/MagicLib/blob/master/CHANGELOGS.md

Contributors
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
« Last Edit: June 16, 2024, 02:15:02 PM by Wispborne »
Logged
Mod: Persean Chronicles | Mod Managers: SMOL & TriOS | Tool: VRAM Estimator | Tool: Forum+Discord Mod Database | If I'm inactive for 3 months, anyone can use any of my work for anything (except selling it or its derivatives).

Wispborne

  • Captain
  • ****
  • Posts: 427
  • Discord: wispborne
    • View Profile
Re: [0.95.1a] MagicLib v0.45.2 (2023/01/07)
« Reply #1 on: January 08, 2023, 12:19:38 PM »

Woah, what's happening here?

Tartiflette, after many, many years of building up the Starsector modding community in every aspect you can think of, is focusing his time elsewhere (for now! never say never).

MagicLib is a staple of modding and so, with Tartiflette's blessing, I will head maintenance of it for the foreseeable future.

Note that as of posting, the newest version of MagicLib is 0.45.2 and was released by Tart on Patreon - I haven't released an update yet. That's also why there are two MagicLib threads and the Index still points of Tartiflette's.

What is changing...
...for players?
- Essentially nothing; updates will work the same. You do not need to do anything.
- The forum thread will change, since I cannot edit the original thread.
- The NexusMods mod will fall out of date or be delisted. I have not decided if I want to keep hosting it there, or if the Forums, USC Discord, and MagicLab Discord are enough.

...for mod authors?
- For general usage, nothing. Backwards compability is still the primary goal.
- The repo location has moved to GitHub: https://github.com/MagicLibStarsector/MagicLib.
  - As such, pull requests should be a bit easier, and you can open Issues there as well.
  - master will have the latest released code. dev will have unreleased code.
« Last Edit: January 08, 2023, 02:23:31 PM by Wispborne »
Logged
Mod: Persean Chronicles | Mod Managers: SMOL & TriOS | Tool: VRAM Estimator | Tool: Forum+Discord Mod Database | If I'm inactive for 3 months, anyone can use any of my work for anything (except selling it or its derivatives).

Dadada

  • Captain
  • ****
  • Posts: 395
    • View Profile
Re: [0.95.1a] MagicLib v0.45.2 (2023/01/07)
« Reply #2 on: January 08, 2023, 12:48:01 PM »

Big huge thank you and to @Tartiflette.

>You must be logged in to download files. Log in here.
Nexus will not be for me, that is for sure.  :-[
E: @ to tag users does not work, feels antiquated man. :D
E2: I'll grab it from Github I guess. :D
« Last Edit: January 08, 2023, 12:53:51 PM by Dadada »
Logged

SpaceDrake

  • Admiral
  • *****
  • Posts: 526
  • Piloting space mecha for fun and profit(?)
    • View Profile
Re: [0.95.1a] MagicLib v0.45.2 (2023/01/07)
« Reply #3 on: January 08, 2023, 01:33:28 PM »

Love to Tart, always.

I've been curious, Wispborne: is there anything you want to focus on in the near future for MagicLib?
Logged

Wispborne

  • Captain
  • ****
  • Posts: 427
  • Discord: wispborne
    • View Profile
Re: [0.95.1a] MagicLib v0.45.2 (2023/01/07)
« Reply #4 on: January 08, 2023, 02:35:04 PM »

Love to Tart, always.

I've been curious, Wispborne: is there anything you want to focus on in the near future for MagicLib?

My own near future is trying to finish the new Persean Chronicles quests. But before that, since it's taking forever, just bugfixes really. There are already a couple of minor ones fixed (but since there was just a ML release, I'll wait on those for later).

In the longer term, there's been plenty of feedback that I agree with that MagicBounties could be improved pretty much across the board. Some requirements are too high in Locked & Loaded, finding bounties is a pain point, and having bounty timers isn't popular.

I have my own personal library of utility methods, all in Kotlin, which thematically would belong more in LazyLib but I don't see a particular reason not to add the best ones to MagicLib. I would draw from the files here, but certainly not everything: https://github.com/wispborne/questgiver/tree/master/src/main/kotlin/wisp/questgiver/wispLib.

I don't intend to write new code in Kotlin, since it'd lock out most people from learning from or contributing to the code, just optional Kotlin-focused utility methods.
Logged
Mod: Persean Chronicles | Mod Managers: SMOL & TriOS | Tool: VRAM Estimator | Tool: Forum+Discord Mod Database | If I'm inactive for 3 months, anyone can use any of my work for anything (except selling it or its derivatives).

Wispborne

  • Captain
  • ****
  • Posts: 427
  • Discord: wispborne
    • View Profile
Logged
Mod: Persean Chronicles | Mod Managers: SMOL & TriOS | Tool: VRAM Estimator | Tool: Forum+Discord Mod Database | If I'm inactive for 3 months, anyone can use any of my work for anything (except selling it or its derivatives).

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 24415
    • View Profile
Re: [0.95.1a] MagicLib v0.46.0 (2023/02/08)
« Reply #6 on: March 08, 2023, 05:53:12 PM »

Thank you for taking this over! I've moved this to the Mods section and updated the mod index to point here; please let me know if the crediting in the index ("Tartiflette and Wispborne") is ok.
Logged

Wispborne

  • Captain
  • ****
  • Posts: 427
  • Discord: wispborne
    • View Profile
Re: [0.95.1a] MagicLib v0.46.0 (2023/02/08)
« Reply #7 on: March 09, 2023, 07:25:37 AM »

Thank you! Yes, that's good.
Logged
Mod: Persean Chronicles | Mod Managers: SMOL & TriOS | Tool: VRAM Estimator | Tool: Forum+Discord Mod Database | If I'm inactive for 3 months, anyone can use any of my work for anything (except selling it or its derivatives).

TimeDiver

  • Captain
  • ****
  • Posts: 364
    • View Profile
Re: [0.95.1a] MagicLib v0.46.0 (2023/02/08)
« Reply #8 on: March 09, 2023, 09:42:45 AM »

@Alex, doesn't this thread actually belong in 'Modding Resources'?
Logged

Kanjejou

  • Commander
  • ***
  • Posts: 204
    • View Profile
Re: [0.95.1a] MagicLib v0.46.0 (2023/02/08)
« Reply #9 on: April 12, 2023, 01:47:39 PM »

when i installed it ask for lazylib 2.6 but we are at lazylib2.7b, is that normal?
Logged

Wispborne

  • Captain
  • ****
  • Posts: 427
  • Discord: wispborne
    • View Profile
Re: [0.95.1a] MagicLib v0.46.0 (2023/02/08)
« Reply #10 on: April 12, 2023, 01:49:46 PM »

when i installed it ask for lazylib 2.6 but we are at lazylib2.7b, is that normal?

Yeah, that's just the minimum required version of LazyLib.
I will update that for a future release, though; 2.6 might be too old but people generally keep LazyLib updated and may not have noticed any issues (people such as me).
Logged
Mod: Persean Chronicles | Mod Managers: SMOL & TriOS | Tool: VRAM Estimator | Tool: Forum+Discord Mod Database | If I'm inactive for 3 months, anyone can use any of my work for anything (except selling it or its derivatives).

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 24415
    • View Profile
Re: [0.95.1a] MagicLib v0.46.0 (2023/02/08)
« Reply #11 on: April 12, 2023, 01:58:16 PM »

@Alex, doesn't this thread actually belong in 'Modding Resources'?

(Oh, I guess it does!)
Logged

Wispborne

  • Captain
  • ****
  • Posts: 427
  • Discord: wispborne
    • View Profile
Logged
Mod: Persean Chronicles | Mod Managers: SMOL & TriOS | Tool: VRAM Estimator | Tool: Forum+Discord Mod Database | If I'm inactive for 3 months, anyone can use any of my work for anything (except selling it or its derivatives).

Munchkin9

  • Ensign
  • *
  • Posts: 37
    • View Profile
Re: [0.95.1a] MagicLib v0.46.1 (2023/04/12)
« Reply #13 on: April 15, 2023, 03:46:56 PM »

Hi, I'm new to the modding scene, currently working on a mod that modifies the bounty rewards. It works for vanilla but before I release I was hoping to make it react dynamically to bounties added by other mods such as MagicLib. Is there a way to modify the bounty credit rewards in a blanket way, i.e. for all bounties added by MagicLib?
Logged

vicegrip

  • Commander
  • ***
  • Posts: 210
    • View Profile
Re: [0.95.1a] MagicLib v0.46.1 (2023/04/12)
« Reply #14 on: April 26, 2023, 03:46:38 AM »

I've noticed that unlike in job_description, the job_comm_reply and job_intel_success fields will not render \n new lines correctly. Rather than insert an extra line for spacing between paragraphs like in job_description, those fields will just have the text go immediately to the next line. \n\n doesn't seem to address this either. The closest thing I found to a fix was \n.\n but then it's displaying an extra character.

Here is an example from the Paradigm Shift mission from Seeker where the text is "since the visit started.\n\"This is an official"
Spoiler
[close]

« Last Edit: April 26, 2023, 03:48:47 AM by vicegrip »
Logged
Pages: [1] 2 3 ... 8