18 base.Load(valuesDictionary);
25 public override void OnBlockAdded(
int value,
int oldValue,
int x,
int y,
int z) {
27 Log.
Error(
"A blockEntity already exists. The new entity does not add.");
37 public override void OnBlockRemoved(
int value,
int newValue,
int x,
int y,
int z) {
39 if (blockEntity !=
null) {
54 bool isInitialNull = blockEntity ==
null;
56 "OnEntityBehaviorBlockInteracted",
58 loader.OnEntityBehaviorBlockInteracted(raycastResult, isInitialNull, ref blockEntity);
67 bool isInitialNull = componentBlockEntity ==
null;
69 "OnEntityBehaviorBlockInteracted",
71 loader.OnEntityBehaviorBlockInteracted(movingBlocksRaycastResult, isInitialNull, ref componentBlockEntity);
82 if (blockEntity !=
null) {
85 blockEntity.MovingBlock = movingBlock;
91 if (blockEntity !=
null) {
94 blockEntity.MovingBlock =
null;
95 blockEntity.Coordinates =
new Point3(x, y, z);
static void Error(object message)
virtual void GatherPickable(WorldItem worldItem)
SubsystemTerrain SubsystemTerrain
DatabaseObject m_databaseObject
SubsystemTerrain m_subsystemTerrain
override void OnBlockStartMoving(int value, int newValue, int x, int y, int z, MovingBlock movingBlock)
override void Load(ValuesDictionary valuesDictionary)
override void OnHitByProjectile(CellFace cellFace, WorldItem worldItem)
override bool OnInteract(TerrainRaycastResult raycastResult, ComponentMiner componentMiner)
SubsystemGameInfo m_subsystemGameInfo
SubsystemAudio m_subsystemAudio
override void OnBlockAdded(int value, int oldValue, int x, int y, int z)
override void OnBlockRemoved(int value, int newValue, int x, int y, int z)
virtual bool InteractBlockEntity(ComponentBlockEntity blockEntity, ComponentMiner componentMiner)
SubsystemBlockEntities m_subsystemBlockEntities
override void OnHitByProjectile(MovingBlock movingBlock, WorldItem worldItem)
override void OnBlockStopMoving(int value, int oldValue, int x, int y, int z, MovingBlock movingBlock)
override bool OnInteract(MovingBlocksRaycastResult movingBlocksRaycastResult, ComponentMiner componentMiner)
ValuesDictionary ValuesDictionary
static void HookAction(string HookName, Func< ModLoader, bool > action)
执行Hook
void PopulateFromDatabaseObject(DatabaseObject databaseObject)
void DropAllItems(Vector3 position)