promotional bannermobile promotional banner

SheepScriptLib

Based on CustomNpcs, it provides some useful tools.

The detail of API will provided later.

Functions

BetterCloneHandler:

    Provides clones' caches, instead of CNPC's real-time IO, it will be fast.

SheepAI:

    Implement class: saltsheep.ssl.api.SheepAI, saltsheep.ssl.api.SheepAIHandler

    new AI and inputs: owner IEntity, whetherShouldRun(IEntity)=>boolean, run(IEntity)=>void,endedRun(IEntity)=>void, canStopDefault boolean

    use SheepAIHandler to add ai to a ai group.

    SheepAI is working based on async thread, and use waitTick(int) to wait in the thread then use work(()=>void) to run in the server thread, it is well designed to have a great efficiency.

Task:

    A light function that provides task chain and delay work.

    Use like: Task.run(function(){}).append(Task.delay(10)).append(Task.run(function(){})).start();

    Also can be hignly customed, use Task.custom(runnable init, Callable<boolean> invoke, Callable<Task> clone), and it will ended when invoke return true or server stopped.

NeoPuppet:

    This function based on the edit of JobPuppet, the mod use ASM to append extra logic on JobPuppet getRotation method.

    It is too complex to explain, it is better to see in saltsheep.ssl.api.neo.AnimationHandler, saltsheep.ssl.api.neo.AnimationNode.

    It will be easy.

BothSideScript:

    It provides a chance to use script in both server and client, and you can switch it.

    It may be a bit dangerous for the server owner because I set no limit for the script. My meaning is, player can cheat by using it, because it works like a mod.

    The only way to avoid it completely is to delete the function.

    Using it:

        the files with suffix ".ssl.js" under directory .minecraft\SheepBothScripts, which contains its sub directory, will be loaded by eval.

        the scripts will defaultly have two extra global variable: station and script

        script: saltsheep.ssl.script.ScriptContainer, set the container name, hook events(FMLEvents will have special implement)

        station: saltsheep.ssl.api.Common.station, a javascript object stored at Java layer, you can use it to achieve the connection of scripts.

    But it didnt provide any client's wrapper API, which like CNPC's API,  for you.

The more:

    There's many scattered functions under saltsheep.ssl.api, you can discover it by yourself.

Dependencies

SheepKeyLib, CustomNpcs

The SheepScriptLib Team

profile avatar
  • 4
    Projects
  • 27.3K
    Downloads

More from saltfishsheep

  • RayCorrector project image

    RayCorrector

    • 67
    • Mods

    Make archery for shouldersurfing feasible.

    • 67
    • June 19, 2025
    • Mods
    • +1
  • GeoLoader project image

    GeoLoader

    • 75
    • Mods

    Load the models and animations of geckolib from resourcepack.

    • 75
    • April 27, 2025
    • Mods
    • +1
  • SheepKeyLib project image

    SheepKeyLib

    • 7.6K
    • Mods

    Provided key API on both server and client.

    • 7.6K
    • October 21, 2024
    • Mods
  • RayCorrector project image

    RayCorrector

    • 67
    • Mods

    Make archery for shouldersurfing feasible.

    • 67
    • June 19, 2025
    • Mods
    • +1
  • GeoLoader project image

    GeoLoader

    • 75
    • Mods

    Load the models and animations of geckolib from resourcepack.

    • 75
    • April 27, 2025
    • Mods
    • +1
  • SheepKeyLib project image

    SheepKeyLib

    • 7.6K
    • Mods

    Provided key API on both server and client.

    • 7.6K
    • October 21, 2024
    • Mods