Difference between revisions of "ModdingHooks"

From wiki
Jump to: navigation, search
 
(3 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
  <code>namespace Staxel.Modding {
 
  <code>namespace Staxel.Modding {
 
     public interface IModHook : IDisposable {
 
     public interface IModHook : IDisposable {
        void GameContextInitializeInit();
+
      ...
        void GameContextInitializeBefore();
+
        void GameContextInitializeAfter();
+
        void GameContextDeinitialize();
+
        void GameContextReloadBefore();
+
        void GameContextReloadAfter();
+
        void UniverseUpdateBefore(Universe universe, Timestep step, StepMode mode);
+
        void UniverseUpdateAfter(Universe universe, Timestep step, StepMode mode);
+
 
     }
 
     }
 
  }</code>
 
  }</code>
  
 
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.
 
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:
 +
<code>
 +
ICommandBuilder
 +
IItemBuilder
 +
IEntityAction
 +
IEffectBuilder
 +
IPlayerExtendedCommand
 +
IVillagerEntityCommand
 +
IVallagerEntityInstinct
 +
IEntityLogicBuilder
 +
IEntityPainterBuilder
 +
ITileComponentBuilder
 +
ITileConfigurationBuilder
 +
ITileStateBuilder
 +
</code>

Latest revision as of 20:06, 6 January 2016

In the Staxel.dll

there is defined

namespace Staxel.Modding {
   public interface IModHook : IDisposable {
      ...
   }
}

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