createmeow 科技系列 · 基地核心
BaseCore 是一款面向 Minecraft 1.21.1(NeoForge)的基地建设与防御模组。玩家可以放置基地核心划定势力范围,通过安装各种模块获得增益、防御入侵者,并配合防御炮、加密容器等方块打造属于自己的安全基地。
| 项目 | 版本 |
|---|---|
| Minecraft | 1.21.1 |
| NeoForge | 21.1.228 或更高 |
| Java | 21 |
- 方块名:
基地核心(basecore:basecore) - 基地的核心建筑,放置后自动以自身为中心生成一个立方体范围(AABB),范围内的所有基地设施共享所有权与模块效果。
- 第一次放置的玩家自动成为领主,基地名称默认为
玩家名的基地。 - 基地核心拥有生命值,生命值归零后会变为损坏器械(保留内部库存)。
- 右键打开界面:可管理成员、安装模块或进行升级(取决于游戏模式)。
- 两个基地核心的范围不能相交,否则无法放置。
- 方块名:
防御炮(basecore:defend) - 自动攻击进入射程的敌人,攻击目标可在三种模式间切换:
- 敌对生物
- 玩家
- 所有目标
- 切换方式:领主潜行 + 右键。
- 支持安装专属模块,提升射程、伤害、防御、自动修复等属性。
- 方块名:
加密容器(basecore:hash_chest) - 受基地权限保护的存储容器。
- 权限可在三种模式间切换:仅自己、基地成员、所有人。
- 切换方式:领主潜行 + 右键。
- 非授权玩家无法打开,且破坏时会提示“你不是此加密容器所在基地的领主”。
模块是提升基地与防御炮性能的核心物品,分为增益模块与入侵干扰模块两类。
| 模块 | 效果 |
|---|---|
| 范围提升模块 | 扩大基地作用范围,每级 +6 格 |
| 防御增强模块 | 提升基地生命值,每个 +250 |
| 安全模块 | 防止其他玩家破坏基地内建筑(最多 1 个) |
| 自动修复模块 | 每 15 秒自动修复基地生命值 |
| 荆棘模块 | 对攻击基地的敌人造成反伤 |
| 爆炸保护模块 | 保护基地核心免受爆炸伤害(最多 1 个) |
| 反侦察模块 | 识破基地范围内玩家的伪装效果 |
| 伤害提升模块 | 范围内获得力量效果,并提升防御炮伤害 |
| 跳跃提升模块 | 范围内获得跳跃提升效果 |
| 生命回复模块 | 范围内获得生命回复效果 |
| 抗性提升模块 | 范围内获得抗性提升效果 |
| 挖掘速度提升模块 | 范围内获得急迫效果 |
| 移动速度提升模块 | 范围内获得速度效果 |
| 挖掘疲劳模块 | 对入侵玩家施加挖掘疲劳效果 |
| 虚弱模块 | 对入侵玩家施加虚弱效果 |
| 缓慢模块 | 对入侵玩家施加缓慢效果 |
- 范围提升、防御增强、荆棘、自动修复、伤害提升、生命回复等模块同样可安装在防御炮上,强化其战斗能力。
模组提供两种资源经济模式:
- 零件(
basecore:part):基础货币单位,右键可将背包中的零件存入“零件钱包”。 - 零件包(
basecore:part_bundle):内含多个零件,可一次性获取。
在 component 模式下,基地核心与防御炮的升级改为消耗零件,无需手动合成模块。
| 物品 | 作用 |
|---|---|
| 伪装装置 / 强力伪装装置 / 极端伪装装置 | 使用后获得“伪装”状态效果,等级越高、持续时间越长 |
| 保护信号干扰装置 | 对非己方基地核心进行干扰,使其进入入侵状态,同时随机获得零件材料 |
| 修复装置 | 右键基地核心或防御炮可恢复 50 点生命值 |
| 电磁脉冲炸弹 | 投掷型炸弹,命中后对周围基地核心与防御炮造成 50 点伤害并附加干扰;若目标被摧毁则变为损坏器械 |
- 电子元件、简单芯片、精制芯片、铜丝、电缆、天线、模块基底等,用于合成核心、模块与高级物品。
游戏模式由配置文件 config/basecore.json 中的 gameplay 字段控制:
modular(默认):玩家通过合成获得模块,将其放入基地核心/防御炮的库存中生效。component:通过消耗“零件”直接购买升级,省去合成步骤,更适合服务器经济玩法。
配置文件位于 config/basecore.json,启动游戏后自动生成。可调整项包括:
| 配置项 | 说明 |
|---|---|
gameplay |
游戏模式:modular 或 component |
part_death_drop_percent |
死亡时掉落零件的百分比 |
upgrades.*_cost |
各模块/升级的零件消耗数量 |
示例:
{
"gameplay": "modular",
"part_death_drop_percent": 10,
"upgrades": {
"range_cost": 64,
"defense_cost": 128,
"secure_cost": 96
}
}- 确保已安装 Minecraft 1.21.1 与对应版本的 NeoForge 启动器。
- 下载
basecore-1.0.6.jar。 - 将 JAR 文件放入游戏目录下的
mods文件夹。 - 启动游戏,在创造模式物品栏的"基地核心"标签页或 JEI/EMI 中查看所有物品。
本项目使用 Gradle 与 NeoForge ModDevGradle 插件。
# 构建模组 JAR
./gradlew build
# 运行数据生成
./gradlew runData构建产物位于 build/libs/basecore-1.0.6.jar。
BaseCore 预留了公共扩展 API,社区模组可以轻松地向"零件升级"界面注册自定义升级项,无需修改 basecore 本体。
在 build.gradle 的 dependencies 中添加 basecore 依赖,即可访问 dev.anye.mc.basecore.api 包。
import dev.anye.mc.basecore.api.BasecoreUpgradeApi;
import dev.anye.mc.basecore.api.UpgradeDefinition;
public class YourMod {
public YourMod(IEventBus modEventBus) {
// 注册一个仅在基地核心升级界面出现的模块,售价 200 零件
BasecoreUpgradeApi.registerUpgrade(new UpgradeDefinition(
ItemRegister.MyModule::get,
() -> 200
));
// 同时出现在基地核心与防御炮界面
BasecoreUpgradeApi.registerUpgrade(new UpgradeDefinition(
ItemRegister.MyModule::get,
() -> 300,
true, true
));
}
}模块物品必须继承 BasecoreModuleItem 才能被基地核心识别并生效:
- 重写
range(int count)/health(int count)提供范围、生命加成; - 重写
tick(...)实现每 tick 生效的效果(如状态效果、自动修复); - 构造时指定
maxLevel,即基地核心中的最大等级。
默认防御炮中模块上限为 4,可通过 API 覆盖(含内置模块),需在物品注册完成后调用:
BasecoreUpgradeApi.setDefendModuleMax(ItemRegister.MyModule.get(), 2);- 升级项通过
Supplier延迟解析模块物品,可在模组构造阶段注册; - 防御炮的效果逻辑在
DefendBlockEntity中实现,若自定义模块需要防御炮专属效果,请参考内置模块自行处理; - 零件售价支持
IntSupplier动态计算(例如读取配置文件)。
- 作者:createmeow
- 许可证:MIT