CropsNH

[!INFO] Git Commit: 6a45263b | Updated: 2026-09-25

CropsNH 是 GTNH (Get a Terraria, Now — Hey!) 模组包中的一个作物农业模组,是 Agricraft 的硬分叉版本。核心功能是支持作物基因改造、多重变异育种、自动化收割,以及与 GregTech 的深度集成。

方块列表

物品列表

多方块结构

  • industrial-farm - Industrial Farm,大规模自动化农场,支持多种升级单元

Bonsai Crops

盆栽类作物,种植在花盆形状的 Stick 中,掉落对应树苗和原木:

Vanilla Food Crops

原版 Minecraft 食物作物:

Vanilla Flowers & Plants

原版 Minecraft 花朵、蘑菇及其他植物:

Custom Food Crops

GTNH/IC2/Natura 模组的特色食物作物:

BiomesOPlenty Crops

需要 BiomesOPlenty 模组支持的作物:

Natura Crops

需要 Natura 模组支持的作物:

Material Crops

矿物/工业材料作物,种植在石头土壤,需要对应亚层矿石,可产出 GregTech 材料:

Ore Berry Crops

矿石浆果作物,种植在石头土壤,掉落 Tinker Construct 矿石浆果:

Stone Lily Crops

石头百合作物,种植在石头土壤,掉落各种石头/矿物碎片:

TwilightForest Crop

需要 TwilightForest 模组支持的作物:

Witchery Crops

需要 Witchery 模组支持的魔法作物:

Mob Crops

从生物掉落物中提取基因培育的作物,需要特定土壤或亚层环境:

  • blazereed - 烈焰reed,掉落 Blaze Powder/Rod
  • corium - 皮革作物,掉落 Leather
  • corpseplant - 尸体植物,掉落 Dye/Rotten Flesh/Bone
  • creeperweed - 苦力怕草,掉落 Gunpowder
  • egg-plant - 鸡蛋植物,掉落 Egg/Feather/Chicken
  • enderbloom - 末影花,掉落 Ender Pearl
  • goldfish - 金鱼,掉落 Goldfish
  • inkbloom - 墨水花,掉落 Dye
  • slimeplant - 史莱姆植物,掉落 Slime Ball
  • spidernip - 蜘蛛nip,掉落 String/Spider Eye/Web
  • tearstalks - 泪茎,掉落 Ghast Tear
  • zomplant - 僵尸植物,掉落 Rotten Flesh/Skull

Thaumcraft Crops

需要 Thaumcraft 模组支持的魔法作物:


GregTech 机器

GregTech MetaTileEntity 单方块机器(详见各条目):

机器 类 功能
Crop Manager MTECropManager 半径内作物浇水/施肥/除草/收割
Seed Generator MTESeedGenerator 消耗液态化肥复制种子
Crop Breeder MTECropBreeder 两亲本种子 + 液态化肥诱发变异
Crop Synthesizer MTECropSynthesizer 消耗 UUMatter 从数据 Orb 创建种子
Gene Extractor MTECropGeneExtractor 将作物基因提取到数据 Orb

架构

Block 类继承体系

net.minecraft.block.Block
└── BlockCropsNH (abstract)
    ├── BlockContainerCropsNH → BlockCropSticks (TileEntityCropSticks)
    └── CropsNHBlockIndustrialFarmTiredComponent (extends gregtech BlockCasingsAbstract)
          ├── BlockSeedBed (meta MV=0 ~ UXV=11)
          ├── BlockFertilizerUnit (meta MV=0 ~ UXV=11)
          ├── BlockAdvancedHarvestingUnit (meta MV=0 ~ UXV=11)
          ├── BlockEnvironmentalEnhancementUnit (meta MV=0 ~ UXV=11)
          ├── BlockGrowthAccelerationUnit (meta MV=0 ~ UXV=11)
          └── BlockOverclockedGrowthAccelerationUnit (meta ZPM=5 ~ UXV=11)

GregTech MetaTileEntity 层次

MTEExtendedPowerMultiBlockBase<MTEIndustrialFarm>
└── MTEIndustrialFarm
    ├── ISurvivalConstructable
    └── ICasingTextureProvider

核心 API

接口

  • ICropStickTile:作物 Stick Tile 的核心接口,定义 onRightClick、plantSeed、harvest、cross/breed 等操作
  • ICropCard:作物卡片接口,代表一个可种植的作物类型
  • ISeedData:种子数据接口,包含作物的生长/Gain/Resistance 属性
  • ISeedShape:种子形状接口
  • IGrowthRequirement:生长需求接口
  • ICropMutation:变异接口

注册表

  • CropRegistry:全局作物注册表,管理所有作物定义
  • MutationRegistry:变异注册表,管理作物间的变异规则
  • FertilizerRegistry:IHarvestDropModifier 实现,化肥影响收割产量

ItemList

  • CropsNHItemList:所有物品的全局注册表
  • CropsNHBlocks:所有方块的全局注册表
  • IndustrialFarmController:多方块控制器 ItemStack

基因系统

基因属性

属性 范围 描述
Growth 0-10 生长速度基因
Gain 0-10 收获产量基因
Resistance 0-10 病虫害抗性基因
Speed 0-7 生长周期基因

变异机制

两株作物在相邻种植时有概率发生变异:

  • 概率 = 基础变异率 × 化肥加成
  • 变异结果继承双方部分基因
  • 特定基因组合触发特殊产物

Industrial Farm 详情

结构层次

Industrial Farm 由多层切片组成,每增加一层电压等级增加一片:

  • MV: 1 切片
  • HV: 2 切片
  • EV: 3 切片
  • IV: 4 切片
  • LuV: 5 切片
  • ZPM: 6 切片
  • UV: 7 切片
  • UXV: 12 切片

升级单元

每个种子床 (Seed Bed) 元数据的槽位可安装对应等级的升级单元:

  • Fertilizer Unit:提升化肥效率
  • Advanced Harvesting Unit:扩大收割范围
  • Environmental Enhancement Unit:每个模块扩展耕地半径,上限 16 个
  • Growth Acceleration Unit:提升生长速度
  • Overclocked Growth Acceleration Unit:最高等级加速(需 ZPM+),与普通 GAU 互斥

循环机制

  • 基础循环周期:5 秒
  • 模拟水位:200
  • 模拟化肥存储:200(供化肥时)/ 0(不供时)
  • 模拟天空可见:true