42 public sealed override void OnNeighborBlockChanged(
int x,
int y,
int z,
int neighborX,
int neighborY,
int neighborZ) {
43 bool destroyCell =
false;
48 if (plantContents == 132) {
74 public override void OnPoll(
int value,
int x,
int y,
int z,
int pollPass) {
76 Grow(value, x, y, z, pollPass);
81 public virtual void Grow(
int value,
int x,
int y,
int z,
int pollPass) {
86 bool skipVanilla =
false;
90 modLoader.GrowPlant(
this, x, y, z, pollPass, out
bool skip);
107 case 174:
GrowRye(value, x, y, z, pollPass);
break;
108 case 204:
GrowCotton(value, x, y, z, pollPass);
break;
109 case 131:
GrowPumpkin(value, x, y, z, pollPass);
break;
115 base.Load(valuesDictionary);
132 public void GrowFlower(
int value,
int x,
int y,
int z,
int pollPass) {
142 public void GrowRye(
int value,
int x,
int y,
int z,
int pollPass) {
200 public void GrowCotton(
int value,
int x,
int y,
int z,
int pollPass) {
256 public void GrowPumpkin(
int value,
int x,
int y,
int z,
int pollPass) {
292 if (
m_random.Float(0f, 1f) < num5) {
306 public virtual void Lifecycle(
int value,
int x,
int y,
int z,
bool applyImmediately) { }
static int Min(int x1, int x2)
static int Max(int x1, int x2)
static int GetSize(int data)
static int SetIsDead(int data, bool isDead)
static bool GetIsDead(int data)
static int SetSize(int data, int size)
virtual bool IsFaceTransparent(SubsystemTerrain subsystemTerrain, int face, int value)
virtual bool IsSuitableForPlants(int value, int plantValue)
static bool GetIsWild(int data)
static int GetSize(int data)
static int SetSize(int data, int size)
static int SetIsWild(int data, bool isWild)
static int SetIsSmall(int data, bool isSmall)
static bool GetIsSmall(int data)
static int SetIsWild(int data, bool isWild)
static int SetSize(int data, int size)
static bool GetIsWild(int data)
static int GetSize(int data)
static int GetNitrogen(int data)
static bool GetHydration(int data)
static int SetNitrogen(int data, int nitrogen)
void GrowPumpkin(int value, int x, int y, int z, int pollPass)
void GrowRye(int value, int x, int y, int z, int pollPass)
override void OnNeighborBlockChanged(int x, int y, int z, int neighborX, int neighborY, int neighborZ)
该方法进行封装,不再允许覆盖 添加新的放置植物的逻辑: 如果是添加新植物,则建议自己添加新的ModPlantBlockBehavior,只负责属于自己模组的植物的生长 如果是添加新的能种植植物的土质(如...
SubsystemGameInfo m_subsystemGameInfo
SubsystemSeasons m_subsystemSeasons
void GrowTallGrass(int value, int x, int y, int z, int pollPass)
void GrowFlower(int value, int x, int y, int z, int pollPass)
SubsystemCellChangeQueue m_subsystemCellChangeQueue
virtual void Lifecycle(int value, int x, int y, int z, bool applyImmediately)
SubsystemTime m_subsystemTime
void GrowCotton(int value, int x, int y, int z, int pollPass)
override void Load(ValuesDictionary valuesDictionary)
override void OnPoll(int value, int x, int y, int z, int pollPass)
override int[] HandledBlocks
override void OnBlockGenerated(int value, int x, int y, int z, bool isLoaded)
virtual void Grow(int value, int x, int y, int z, int pollPass)
virtual void DestroyCell(int toolLevel, int x, int y, int z, int newValue, bool noDrop, bool noParticleSystem, MovingBlock movingBlock=null)
static Func< int, int > GetTemperatureAdjustmentAtHeight
static int SetIsSmall(int data, bool isSmall)
static bool GetIsSmall(int data)
static int ExtractContents(int value)
static int ReplaceData(int value, int data)
virtual int GetCellValueFast(int x, int y, int z)
virtual int GetCellValue(int x, int y, int z)
static int ExtractLight(int value)
virtual int GetSeasonalTemperature(int x, int z)
static int ExtractData(int value)
ValuesDictionary ValuesDictionary
static void HookAction(string HookName, Func< ModLoader, bool > action)
执行Hook