免费版不包含任何API!!!!且不会进行后续内容更新!!!!!
完整版购买请加群:519653012
购买前须知:
30元档位仅为单版本(插件的大版本)永久有效,可凭购买依据进行补发版本
90元档位为支持后续更新(注:不包含除本体DLC内容)
此外免费版本将只会含有少部分功能且不支持API引用
例:0.0.1和0.0.2为一个大版本中的子版本(测试版子版本)
正式版会变为1.0.1开始,此为大版本
插件概述
插件名称 :temperature
作者 :伊希娅
核心功能:
- 实时环境温度计算(群系/天气/时段)
- 装备/食物温度修正系统
- 温度相关状态效果管理
- 温度边界死亡机制
- 多插件API交互接口
系统特性
环境计算 :
- 群系基础温度修正(沙漠+12°C,雪原-15°C等)
- 动态天气影响(雨天-5°C,晴天+3°C)
- 昼夜温差变化(夜晚-8°C)
玩家交互 :
- 装备温度修正(皮革装备+6°C,钻石装备-3°C)
- 食物温度效果(熟食升温,冰块降温)
- 温度曲线平滑算法(可配置变化速率)
生存机制 :
- 极端温度死亡(-15°C/45°C)
- 低温/高温状态效果(减速、反胃等)
- 死亡/重生温度重置
开发者须知:
本插件允许您使用API进行子插件开发,子插件允许带有盈利性质但与作者无关
配置文件
[MD]
# 配置文件说明 (config.json)
## 主要配置项:
```json
{
// 温度变化平滑系数 (0.1为较平缓变化,值越大变化越快)
"temperatureCurveFactor": 0.1,
// 温度极限设置
"TemperatureLimits": {
"min": -15,
"max": 45,
"warningThreshold": 5 // 警告阈值(默认5度)
},
"DamageSettings": {
"damageInterval": 2000, // 伤害间隔(毫秒)
"freezeDamage": 4,
"burnDamage": 4
},
"ProtectionSettings": {
"deathProtectionDuration": 60000, // 死亡保护持续时间(毫秒)
"initialProtectionDuration": 30000, // 初始进入保护持续时间(毫秒)
"biomeTemperatureDelay": 5000, // 群系温度延迟生效时间(毫秒)
},
// 温度效果配置
"TemperatureEffects": {
"coldEffects": [ // 低温效果
{
"threshold": 10, // 触发阈值(温度≤10°C时生效)
"effectId": 2, // 效果ID(2=移动加速)
"amplifier": 1, // 效果等级
"duration": 60 // 持续时间(秒)
},
//...其他低温效果
],
"hotEffects": [ // 高温效果
{
"threshold": 30, // 触发阈值(温度≥30°C时生效)
"effectId": 17, // 效果ID(17=瞬间治疗)
"amplifier": 0,
"duration": 60
}
//...其他高温效果
]
},
// 群系温度修正值
"BiomeTemperatureModifiers": {
"desert": 12, // 沙漠+12°C
"savanna": 8, // 热带草原+8°C
"snowy_tundra": -15, // 雪原-15°C
//...其他群系修正
},
// 盔甲温度修正
"ArmorTemperatureModifiers": {
"minecraft:leather_chestplate": 6, // 皮革胸甲+6°C
"minecraft:diamond_helmet": -3, // 钻石头盔-3°C
//...其他盔甲修正
},
// 食物温度效果
"FoodTemperatureEffects": {
"minecraft:cooked_beef": {
"tempChange": 8, // 温度变化值
"duration": 5000 // 持续时间(毫秒)
},
"minecraft:melon_slice": {
"tempChange": -5, // 食用西瓜降低10°C
"duration": 4000
}
//...其他食物效果
},
// 方块检测与处理配置
"blockCheckRange": 5, // 方块检测范围(默认5格)
"blockEffectCurve": "sqrt", // 方块效果曲线类型(sqrt/log)
"blockProcessingBatchSize": 50,// 每批处理方块数量(默认50个)
// 玩家状态温度修正
"environmentTemperatureModifiers": {
"inWater": -8, // 水中温度修正
"inLava": 255, // 岩浆中温度修正
"inWaterOrRain": -5, // 水中或雨中温度修正
"inSnow": -10, // 雪中温度修正
"isOnHotBlock": 15, // 热方块上温度修正
"daylightDay": 3, // 白天光照温度修正
"daylightNight": -2 // 夜晚光照温度修正
},
// 方块温度修正值
"BlockTemperatureModifiers": {
// 冷水/冷源方块
"minecraft:water": -3,
"minecraft:ice": -7,
// 热水/热源方块
"minecraft:lava": 20,
"minecraft:fire": 15,
// 特殊方块
"minecraft:water_cauldron": -4,
"minecraft:lava_cauldron": 10,
"minecraft:respawn_anchor[charges=4]": 15,
//...其他方块修正
}
}
```
## 温度系统插件 API 文档
### 1. 插件概述
温度系统插件提供了玩家温度管理功能,其他插件可以通过API接口获取和修改玩家温度。
插件名称 : temperature 版本 : 1.0.0 作者 : 伊希娅 简介 : 管理玩家温度及相关效果的系统插件
### 2. API 接口说明
#### a.获取玩家当前温度
`getPlayerTemperature(player)`
**参数**:
- player: 玩家对象
**返回值**:当前温度值(Number)
#### b.增加玩家温度
`addPlayerTemperature(player, amount)`
**参数**:
- player: 玩家对象
- amount: 增加的温度值(Number)
#### c.减少玩家温度
`reducePlayerTemperature(player, amount)`
**参数**:
- player: 玩家对象
- amount: 减少的温度值(Number)
#### d.设置玩家温度
`setPlayerTemperature(player, temperature)`
**参数**:
- player: 玩家对象
- temperature: 目标温度值(Number)
使用方法 : pauseTemperatureUpdate(player, pauseState)
参数 :
- player: 玩家对象
- pauseState: true(暂停)/false(恢复)
返回值 : 无
#### f.检查玩家是否受温度影响
使用方法 : isAffectedByTemperature(player)
参数:
- player: 玩家对象
返回值 : Boolean (true表示正在受温度影响)
#### g.获取基础温度值
使用方法 : getBaseTemperature(player)
参数:
- player: 玩家对象
返回值 : 计算环境因素后的基础温度值
#### h.维持合适温度范围
`maintainTemperature(player, [min=20], [max=25], [duration=0], [callback])`
**参数**:
- player: 玩家对象
- min: 最低温度(默认20°C)
- max: 最高温度(默认25°C)
- duration: 持续时间(毫秒,0表示永久)
- callback: 持续时间结束回调函数
#### i.停止维持温度
`stopMaintaining(player)`
**参数**:
- player: 玩家对象
#### h.维持自定义温度范围
`maintainTemperature(player, [min=20], [max=25], [duration=0], [callback])`
**参数说明**:
- `min`:最低温度(支持负数,默认20)
- `max`:最高温度(默认25)
- 参数顺序不影响,系统会自动排序区间
### 插件示例:
示例 :
```javascript
const player = ...; // 获取玩家对象
const currentTemp = $Y.i.temperature.getPlayerTemperature(player);
console.log(`玩家当前温度: ${currentTemp}°C`);
// 增加玩家温度5°C
$Y.i.temperature.addPlayerTemperature(player, 5);
// 减少玩家温度5°C
$Y.i.temperature.reducePlayerTemperature(player, 5);
// 将玩家温度设置为25°C
$Y.i.temperature.setPlayerTemperature(player, 25);
// 暂停玩家温度更新
$Y.i.temperature.pauseTemperatureUpdate(player, true);
// 检查温度影响状态
if (!$Y.i.temperature.isAffectedByTemperature(player)) {
// 设置自定义温度值
$Y.i.temperature.setPlayerTemperature(player, 25);
}
// 获取环境基础温度
const baseTemp = $Y.i.temperature.getBaseTemperature(player);
console.log(`环境基础温度: ${baseTemp}°C`);
// 定时恢复温度系统
setTimeout(() => {
$Y.i.temperature.pauseTemperatureUpdate(player, false);
player.sendToast("温度系统已恢复");
}, 30000);
//维持玩家在22-28°C范围30秒
$Y.i.temperature.maintainTemperature(player, 22, 28, 30000, () => {
player.sendToast('舒适温度维持结束!');
});
// 手动停止维持
$Y.i.temperature.stopMaintaining(player);
// 维持玩家在-5°C到10°C的低温环境60秒
$Y.i.temperature.maintainTemperature(player, 10, -5, 60000);
// 维持高温环境(50°C到60°C)
$Y.i.temperature.maintainTemperature(player, 60, 50);
// 维持精确温度25°C(设置相同值)
$Y.i.temperature.maintainTemperature(player, 25, 25);
```
[/MD]完整版购买请加群:519653012
购买前须知:
30元档位仅为单版本(插件的大版本)永久有效,可凭购买依据进行补发版本
90元档位为支持后续更新(注:不包含除本体DLC内容)
此外免费版本将只会含有少部分功能且不支持API引用
例:0.0.1和0.0.2为一个大版本中的子版本(测试版子版本)
正式版会变为1.0.1开始,此为大版本
插件概述
插件名称 :temperature
作者 :伊希娅
核心功能:
- 实时环境温度计算(群系/天气/时段)
- 装备/食物温度修正系统
- 温度相关状态效果管理
- 温度边界死亡机制
- 多插件API交互接口
系统特性
环境计算 :
- 群系基础温度修正(沙漠+12°C,雪原-15°C等)
- 动态天气影响(雨天-5°C,晴天+3°C)
- 昼夜温差变化(夜晚-8°C)
玩家交互 :
- 装备温度修正(皮革装备+6°C,钻石装备-3°C)
- 食物温度效果(熟食升温,冰块降温)
- 温度曲线平滑算法(可配置变化速率)
生存机制 :
- 极端温度死亡(-15°C/45°C)
- 低温/高温状态效果(减速、反胃等)
- 死亡/重生温度重置
开发者须知:
本插件允许您使用API进行子插件开发,子插件允许带有盈利性质但与作者无关
配置文件