ModdingHooks

From wiki
Revision as of 20:10, 6 January 2016 by Bartwe (Talk | contribs)

Jump to: navigation, search

In the Staxel.dll

there is defined

namespace Staxel.Modding {
   public interface IModHook : IDisposable {
       void GameContextInitializeInit();
       void GameContextInitializeBefore();
       void GameContextInitializeAfter();
       void GameContextDeinitialize();
       void GameContextReloadBefore();
       void GameContextReloadAfter();
       void UniverseUpdateBefore(Staxel.Logic.Universe universe, Plukit.Base.Timestep step, Staxel.Logic.StepMode mode);
       void UniverseUpdateAfter(Staxel.Logic.Universe universe, Plukit.Base.Timestep step, Staxel.Logic.StepMode mode);
   }
}

To make a hooking make an assembly with a class that implements this interface publicly, and place this assembly next to the game .exe and it'll get loaded.

Other hook-able types include:

ICommandBuilder IItemBuilder IEntityAction IEffectBuilder IPlayerExtendedCommand IVillagerEntityCommand IVallagerEntityInstinct IEntityLogicBuilder IEntityPainterBuilder ITileComponentBuilder ITileConfigurationBuilder ITileStateBuilder