前言
❔ 服务端配置文件指什么?
✔ 指各大服务端自带的 server.properties、bukkit.yml、spigot.yml、paper-xxx.yml、purpur.yml、pufferfish.yml 等等配置文件。
每个服主在开服时都会与这些配置文件打交道。小到修改服务器端口,大到各种服务端优化,这些文件都起着至关重要的作用。
但你真的有仔细阅读过这些文件里的每一条配置吗?或者说你只是按照他人的教程有样学样地修改了其中少部分与优化相关的条目?
其实这些配置文件的作用远远不止优化服务器。服务端作者还在其中隐藏了各种实用的机制和有趣的功能。
这些功能通常默认处于关闭状态,这导致服主们经常将其忽略,最终错过了可能可以为自己服务器添彩的配置条目。
在这篇教程中,我将罗列各个配置文件中有价值的、与游戏机制相关的配置条目并解释它们的作用。希望能成为各位服主的参考。
至于那些与优化相关的条目,站内已有丰富且经过严谨测试的教学帖,这里我就避过不谈,仅贴出我阅读过的一篇教程。
那么,让我们开始吧!
正文
注:后文罗列的配置条目大多未经我的具体测试,我也无法保证其稳定性,请服主们别忘了先进行测试再应用于生产环境。
若有不适合应用于生产环境的功能,请务必提出。
以下配置文件均来自Purpur 1.20.1服务端,随服务端和其版本不同,条目可能有增减、文件可能不存在,请自行鉴别。
server.properties
这是原版服务端自带的配置文件,存在于任何种类的服务端中。
allow-nether:
默认为 true。
是否启用下界。
部分服务器不需要下界世界,这时可以直接在此处禁用。
禁用后服务器启动时不会生成下界世界。
同理还有 settings.allow-end 条目,位于 bukkit.yml 中。
enable-command-block:
默认为 false。
是否启用命令方块。
启用后命令方块才能正常工作。
generate-structures:
默认为 true。
是否生成除了地牢之外的结构。
禁用后除了地牢外的其他结构不会生成。
max-build-height:
默认为 256。
玩家最大建造高度。
不影响地形的生成。
bukkit.yml
这是基于 CraftBukkit 的服务端才具有的配置文件,如 Spigot、Paper、Purpur 等等。
settings.allow-end:
默认为 true。
是否启用末地。
部分服务器不需要末地世界,这时可以直接在此处禁用。
禁用后服务器启动时不会生成末地世界。
同理还有 allow-nether 条目,位于 server.properties 中。
query-plugins:
默认为 true。
是否发送插件列表。
禁用后/plugins等等指令不再有效,可替代同功能的插件。
spigot.yml
这是基于 Spigot 的服务端才具有的配置文件,如Spigot、Paper、Purpur等等。
commands.tab-complete:
默认为 0。
在可以呼出Tab键补全前需要输入命令的前几个字母。
可以在一定程度上保护你的插件列表不被猜出。
commands.send-namespaced:
默认为 true。
是否发送命令的命名空间。如命令 /minecraft:summon 中的 “minecraft:” 部分。
同样可以保护你的插件列表不被猜出。
advancements.disable-saving:
默认为 false。
是否保存玩家的进度(成就)。
部分RPG服务器不需要玩家进度或需要自定义进度,可以在此禁用原版进度保存。
可能会影响到第三方进度插件,以插件作者说明为准。
advancements.disabled:
默认为 minecraft:story/disabled。
禁用的具体进度。
禁用后进度将不再显示在进度菜单中。
若想禁用所有进度,请粘贴以下列表: - minecraft:story/root
- minecraft:nether/root
- minecraft:end/root
- minecraft:adventure/root
- minecraft:husbandry/root
- minecraft:story/shiny_gear
- minecraft:end/elytra
- minecraft:adventure/summon_iron_golem
- minecraft:husbandry/break_diamond_hoe
- minecraft:story/obtain_armor
- minecraft:nether/return_to_sender
- minecraft:adventure/sleep_in_bed
- minecraft:story/lava_bucket
- minecraft:end/dragon_breath
- minecraft:end/kill_dragon
- minecraft:adventure/kill_all_mobs
- minecraft:story/enchant_item
- minecraft:nether/all_potions
- minecraft:story/follow_ender_eye
- minecraft:husbandry/tame_an_animal
- minecraft:nether/create_beacon
- minecraft:story/deflect_arrow
- minecraft:story/iron_tools
- minecraft:adventure/totem_of_undying
- minecraft:adventure/kill_a_mob
- minecraft:adventure/adventuring_time
- minecraft:nether/brew_potion
- minecraft:husbandry/plant_seed
- minecraft:end/dragon_egg
- minecraft:adventure/sniper_duel
- minecraft:end/levitate
- minecraft:nether/create_full_beacon
- minecraft:nether/summon_wither
- minecraft:husbandry/balanced_diet
- minecraft:nether/all_effects
- minecraft:nether/fast_travel
- minecraft:nether/get_wither_skull
- minecraft:husbandry/bred_all_animals
- minecraft:story/mine_stone
- minecraft:story/enter_the_nether
- minecraft:adventure/trade
- minecraft:nether/uneasy_alliance
- minecraft:story/mine_diamond
- minecraft:story/upgrade_tools
- minecraft:nether/find_fortress
- minecraft:story/cure_zombie_villager
- minecraft:story/form_obsidian
- minecraft:end/find_end_city
- minecraft:end/enter_end_gateway
- minecraft:nether/obtain_blaze_rod
- minecraft:adventure/shoot_arrow
- minecraft:story/enter_the_end
- minecraft:husbandry/breed_an_animal
- minecraft:end/respawn_dragon
- minecraft:story/smelt_iron
- minecraft:nether/obtain_crying_obsidian
- minecraft:nether/distract_piglin
- minecraft:adventure/very_very_frightening
- minecraft:husbandry/fishy_business
- minecraft:nether/explore_nether
- minecraft:nether/ride_strider
- minecraft:adventure/bullseye
- minecraft:adventure/two_birds_one_arrow
- minecraft:adventure/whos_the_pillager_now
- minecraft:husbandry/tactical_fishing
- minecraft:nether/loot_bastion
- minecraft:husbandry/silk_touch_nest
- minecraft:adventure/arbalistic
- minecraft:nether/charge_respawn_anchor
- minecraft:adventure/voluntary_exile
- minecraft:husbandry/obtain_netherite_hoe
- minecraft:nether/find_bastion
- minecraft:adventure/hero_of_the_village
- minecraft:nether/obtain_ancient_debris
- minecraft:nether/use_lodestone
- minecraft:husbandry/safely_harvest_honey
- minecraft:adventure/throw_trident
- minecraft:adventure/honey_block_slide
- minecraft:adventure/ol_betsy
- minecraft:nether/netherite_armor
- minecraft:husbandry/complete_catalogue复制代码
world-settings.hunger:
各个玩家行为消耗的饥饿值。
可以无感增加或减少玩家食物的消耗量。
world-settings.default.zombie-aggressive-towards-villager:
默认为 true。
僵尸是否会追逐村民。
可以针对每个世界配置,如添加一条条目:world-settings.world_myworld.zombie-aggressive-towards-villager
world-settings.default.enable-zombie-pigmen-portal-spawns:默认为 true。
僵尸猪灵是否生成在下界传送门附近。
可用于禁用猪人塔。
可以针对每个世界配置,如添加一条条目:world-settings.world_myworld.zombie-aggressive-towards-villager
settings.log-villager-deaths:
默认为 true。
是否记录村民的死亡。
村民死亡后会在控制台生成一段日志。
可以追溯玩家的村民被谁杀死了。
settings.log-named-deaths:
默认为 true。
是否记录被命名实体的死亡。
被命名实体死亡后会在控制台生成一段日志。
在原版服可以追溯玩家饲养的生物被谁杀死了,但对于RPG服务器来说会使控制台很吵。
要素解析
先让我们列举出mcMMO的所有要素,再一个个分析:
◾ 依照原版行为3设计的 技能 和 子技能
◾ 从行为获取的 经验 和 升级系统
◾ 等级的 排行榜
◾ 常被我们忽略的 队伍(Party)
🔶 技能 和 子技能:
什么是技能?
你应该不会对它们感到太陌生:
技能 子技能😀杂技翻滚 闪避格斗狂暴 箭矢偏转 铁臂 缴械 格斗极限突破斧技斩首者 斧头精通 暴击 破甲 强烈冲击 斧技极限突破伐木超级伐木机 走运 秋风扫落叶 伐木工 树木丰收挖掘暴走钻头 考古学草药学农夫食谱 园艺大师 大地祝福(未列举全部技能)
可以看出,技能 像是一个组,这个组下有很多 子技能。
技能本身没有意义,只是作为升级的载体,真正发挥作用的是子技能。
在上表中,加粗的子技能表示 需要主动释放。
说到这,就不得不把话题暂时扯开,说说mcMMO的奇妙的主动子技能释放方式:
每个技能都对应一种工具,比如格斗对应空手,挖掘对应铲子。
在游戏中手持铲子,右键,一个ActionBar消息会跳出:
这代表,这个 铲子 对应的 挖掘 中的 暴走钻头 已经处于可使用的状态。
这时,再使用一下这个铲子——比如挖一下土——暴走钻头就触发了。
每个子技能都有自己的效果,比如暴走钻头,就可以在短时间内提升你手上铲子的挖掘效率,缺点是会加快铲子耐久度的消耗。
作为一个主动子技能,它也拥有持续时间,它会随着对应技能等级的提升而加长。
至于被动子技能,则是时时刻刻发挥作用的:
比如挖掘对应的考古学,可以让你在使用铲子挖掘时概率发现一些珍贵的物品,比如石英,萤石粉,钻石等。
🔶 经验 和 升级系统:
玩家在第一次进入服务器后,最先感受到的就是这个要素。
在第一次从高处落下,抑或是用斧子砍下第一块木头时,玩家会发现一行BossBar消息:
是的,就如其所说,玩家正在通过行为学习一项技能。
上面说到的每一个技能都有自己的独立等级。
这一技能下的子技能会随着等级的提升而逐渐解锁,这些子技能的效果(触发概率等)也会逐渐提升。
至于提升技能等级所需的经验,则通过行为获取。
每个技能对应一项行为,比如挖掘对应用铲子采集泥土类方块、杂技对应受到摔落伤害、格斗对应空手打架。
一旦玩家做了这些行为,就会获得少量的经验,一旦经验足够,技能就会升级,每若干级会解锁一个子技能。
🔶 排行榜 和 队伍
它们只是甜品级小功能,也很容易理解,不在此处做过多介绍。
到了这里,服主啊,你理解了mcMMO吗?
假如你没有理解,那么就回过头再看一遍上面的内容,或是在游戏内细细体验,感受我说的内容。
假如你理解了,那么真好,你也可以理解之后的内容了。
玩法规划
在理解了插件各个要素之间的关系之后,你就可以对其做规划了。
单纯的解释比较苍白,这里贴出我的一个设计4:
工作玩法:主要插件:mcMMO基本设计思路:每个玩家可以选择自己的工作,如农民。选择了工作后,就可以开始获得mcMMO的复数技能的经验,而其它技能则暂时锁定,如农民对应草药学+驯兽+垂钓。
有了像是这样的玩法设计后,你就可以开始配置插件了。当然,不做特殊设计,仅使用插件原本的逻辑当然也是可以的,纯粹依照你服务器的规划和你的喜好安排即可。
配置要点⚠ 仅对重要配置项做解析 不通篇翻译配置 请善用翻译软件 ⚠
⚠ 我会按要素将配置项罗列在一起 并标注它们在文件中的位置 请善用你文件编辑器的Ctrl+F搜索功能 ⚠
🌍 等级和经验相关config.yml :# 等级划分# 简单的说 设置为false时 最大等级为100级 玩家升级体感速度变慢了 但子技能等级要求也低了 如主动子技能会在5级时解锁 这时你使用的就是Standard模式# 设置为true时 最大等级为1000级 玩家的升级变快了 但子技能等级要求变高了 如主动子技能会在50级时解锁 这时你使用的就是RetroMode模式# 作者喜欢false 但默认为true# 重要!之后的数条配置都与其直接相关RetroMode: Enabled: true
experience.yml :
# 所需经验的计算公式Experience_Formula:# 可选的参数有以下两个 分别对应线性增长和指数增长 依据需求选择即可# LINEAR: base + (level * multiplier)# EXPONENTIAL: multiplier * level ^ exponent + base# level为指当前技能等级 Curve: LINEAR# 以上两个经验公式的具体参数值 Linear_Values: base: 1020 multiplier: 20 Exponential_Values: multiplier: 0.1 exponent: 1.80 base: 2000
# 在PVP和正常状态下获取的经验都会乘上下面的值# 用于进行全局经验调控Multiplier: Global: 1.0 PVP: 1.0
# 每个技能获取的经验都会除以下面的值# 用于进行具体经验调控Modifier: Swords: 1.0 Taming: 1.0 Acrobatics: 1.0 Excavation: 1.0 ……
# 每个行为获取的经验的具体值# 用于进行微调 如# Excavation:# Clay: 40# 表示挖掘粘土会获得40经验Experience_Values:
……
skillranks.yml :# 每个技能对应的子技能的解锁(Rank_1)和升级(Rank_2-8)等级Alchemy: #炼金术 Catalysis: # 炼金术-催化 Standard: # RetroMode: false 时生效的配置 Rank_1: 0 # 催化在0级时解锁 不能升级 所以只有1 RetroMode: # RetroMode: true 时生效的配置 Rank_1: 0 Concoctions: # 炼金术-混合 Standard: Rank_1: 0 # 混合在0级解锁 Rank_2: 10 # 混合在10级进入Rank_2 概率升高/效果增强 具体在advanced.yml中配置 …… RetroMode: Rank_1: 0 Rank_2: 100 ……
🌍 技能和子技能相关config.yml :# 所有主动子技能的公共配置# 用于调整冷却时间和最大持续时间Abilities: Enabled: true Messages: true Cooldowns: # 冷却时间/秒(不会随等级变化) Berserk: 240 …… Max_Seconds: # 最大持续时间/秒(随等级上升的持续时间的最大值 0为无限制) Berserk: 0 ……
# 所有技能的公共配置# 用于调整最大等级限制和一些特有细节Skills: Acrobatics: Enabled_For_PVP: true # 通过PVP是否可以触发该技能的子技能/获取该技能的经验 Enabled_For_PVE: true # 通过PVE是否可以触发该技能的子技能/获取该技能的经验 Prevent_Dodge_Lightning: true # 杂技-闪避独有 是否可以闪避雷电 XP_After_Teleport_Cooldown: 6 # 杂技独有 传送后几秒内可以获取杂技经验 用于防刷经验 Level_Cap: 0 # 杂技的最大等级 0为无限制 ……
# 双倍掉落配置# 配置技能对应的哪些物品可以双倍掉落Bonus_Drops: Herbalism: # 草药学 Glow_Berries: true # 发光浆果是否可以触发双倍掉落 ……
advanced.yml :# 每个技能的子技能的详细配置# 用于微调子技能效果 不让你的玩家无敌 较为重要# 原配置英文注释详细 请善用翻译软件# 部分配置中的Rank_X即为skillranks.yml中设置的Rank_X对应的等级Skills: General: # 每个技能的公共配置 LimitBreak: #XX极限突破是否适用于PVE AllowPVE: false StartingLevel: 0 # 从第几级开始是“第一级”(?) Ability: Length: # 主动子技能持续时间配置 Standard: # RetroMode: false 时生效的配置 CapLevel: 100 # 最大计算等级 IncreaseLevel: 5 # 每5级给主动子技能延长1秒持续时间 RetroMode: # RetroMode: true 时生效的配置 CapLevel: 1000 IncreaseLevel: 50 # 每50级给主动子技能延长1秒持续时间 EnchantBuff: 5 # 主动子技能超级碎石机/暴走钻头的效率附魔BUFF等级 Acrobatics: # 杂技的单独设置 Dodge: # 杂技-闪避 ChanceMax: 20.0 # 闪避的最大几率 MaxBonusLevel: # 在杂技达到下面的等级时 闪避几率会提升到ChanceMax的值 之后不再变化 Standard: 100 # RetroMode: false 时生效的配置 RetroMode: 1000 # RetroMode: true 时生效的配置 DamageModifier: 2.0 # 闪避的伤害会乘以这个值(?) ……
🌍 掉落和宝藏相关treasures.yml :Excavation: # 挖掘-考古学的特殊掉落物
CAKE: # 物品ID 此处为蛋糕 Amount: 1 # 掉落数量 XP: 3000 # 随之获取的技能经验 Drop_Chance: 0.05 # 掉落率 Level_Requirement: # 掉落等级需求 Standard_Mode: 75 # RetroMode: false 时生效的配置 Retro_Mode: 750 # RetroMode: true 时生效的配置 # 用铲子挖掘哪些方块有可能掉落 Drops_From: [Dirt, Coarse_Dirt, Podzol, Grass_Block, Sand, Red_Sand, Gravel, Clay, Mycelium, Soul_Sand, Soul_Soil] ……Hylian_Luck: # 草药学-大地祝福的特殊掉落物 MELON_SEEDS: # 物品ID 此处为西瓜种子
Amount: 1 # 掉落数量 XP: 0 # 随之获取的技能经验 Drop_Chance: 100.0 # 掉落率 Level_Requirement: # 掉落等级需求 Standard_Mode: 0 # RetroMode: false 时生效的配置 Retro_Mode: 0 # RetroMode: true 时生效的配置 Drops_From: [Bushes] # 打破哪些植物有可能掉落 ……
fishing_treasures.yml :Fishing: # 钓鱼所有可能的收获
LEATHER_BOOTS: # 物品ID 此处为皮革靴子 Amount: 1 # 收获数量 XP: 200 # 随之获取的技能经验 Rarity: COMMON # 收获稀有度(影响掉落率和工具附魔好坏) ……Item_Drop_Rates: # 稀有度获得率配置 Tier_1: # 约等于Rank_1 表示钓鱼等级 COMMON: 7.50 # 各个稀有度的获得率 UNCOMMON: 1.25 RARE: 0.25 EPIC: 0.10 LEGENDARY: 0.01 MYTHIC: 0.01 ……Enchantments_Rarity: # 各个稀有度可能钓上的附魔最大等级 COMMON: EFFICIENCY: 1 UNBREAKING: 1 FORTUNE: 1 PROTECTION: 1 ……Enchantment_Drop_Rates: # 附魔掉落率(?) 具体作用未知 无视即可 Tier_1: COMMON: 5.00 UNCOMMON: 1.00 RARE: 0.10 ……Shake: # 钓鱼-抖动子技能的掉落设置 用鱼竿拉扯生物有几率扯下它们的掉落物并造成最大生命值1/4的伤害(最大为10点) BLAZE: # 生物ID 此处为烈焰人 BLAZE_ROD: # 物品ID 此处为烈焰棒 Amount: 1 # 拉扯下来的数量 XP: 0 # 随拉扯获取的技能经验 Drop_Chance: 100.0 # 掉落率 Drop_Level: 0 # 掉落的最小钓鱼技能等级 若在RetroMod下则该值乘以10 ……
🌍 杂项和疑难杂症相关config.yml :Level_Up_Chat_Broadcasts: # 是否在玩家升级时全服广播(很烦 建议关了)
MOTD_Enabled: false # 建议全关EventBroadcasts: false # 建议全关EventInfoOnPlayerJoin: false # 建议全关AdminNotifications: false # 建议全关# 这四条配置控制下面的信息是否会在进服时刷玩家的屏
Mob_Healthbar: # 满屏爱心的罪魁祸首 关了无妨 Enabled: false Display_Type: HEARTS Display_Time: 3
# 在客户端修复快速破坏(如使用暴走钻头)后产生的幽灵方块# 未测试效用 未发现危害性 可以打开Refresh_Chunks: true
后记
mcMMO可以说是我的一代回忆,因几年前刚入坑电脑端时玩的X易服务器就装了这个插件。也算是代表我的几年服务器玩家时光了...
我还算是偏激,认为不管什么样的插件都不应该不配置就用——再小的服务器也会有自己的玩法、自己的体系、自己的风格,而没有任何一个插件完美契合你的风格,只有亲手去理解插件,配置插件,才能让插件的全部功能都与你的服务器玩法相适应,也才能提升你的服务器质量。
我认为,假若这种态度传播开来,所谓服务器圈整体质量低下也就不复存在了,所以才有了这么一帖。
这也是本人的一次尝试——即从头到尾剖析一个插件的玩法逻辑,然后教大家如何配置。我也想借此成为各位服主的启发。
还是那句话:新手上路,请多关照。
若有意见,希望能在楼下指出。
“实用内容”
📭 丁子的爱发电界面
本文内容严禁转载
若引用请标明出处
写作不易,求评分,求评论,谢谢你
附注1. 此处“RPG”指本插件具有“能力随时间升级”这一特征
2. 不代表我认为“默认配置不好”,仅作为一个不太稳固的论据使用,目的是证明“很多服主不会配置它”这一观点
3. 此处“原版行为”指 挖矿(挖掘) 摔落(杂技) 等
4. 仅简要说明,不补充细节,也请不要向我询问关于这个玩法的信息
5. https://docs.google.com/document ... 9Adfpl7_BYBF6k/edit
https://bstats.org/plugin/bukkit/mcMMO/3894
https://www.spigotmc.org/resourc ... thor-returns.64348/
❔ 服务端配置文件指什么?
✔ 指各大服务端自带的 server.properties、bukkit.yml、spigot.yml、paper-xxx.yml、purpur.yml、pufferfish.yml 等等配置文件。
每个服主在开服时都会与这些配置文件打交道。小到修改服务器端口,大到各种服务端优化,这些文件都起着至关重要的作用。
但你真的有仔细阅读过这些文件里的每一条配置吗?或者说你只是按照他人的教程有样学样地修改了其中少部分与优化相关的条目?
其实这些配置文件的作用远远不止优化服务器。服务端作者还在其中隐藏了各种实用的机制和有趣的功能。
这些功能通常默认处于关闭状态,这导致服主们经常将其忽略,最终错过了可能可以为自己服务器添彩的配置条目。
在这篇教程中,我将罗列各个配置文件中有价值的、与游戏机制相关的配置条目并解释它们的作用。希望能成为各位服主的参考。
至于那些与优化相关的条目,站内已有丰富且经过严谨测试的教学帖,这里我就避过不谈,仅贴出我阅读过的一篇教程。
那么,让我们开始吧!
正文
注:后文罗列的配置条目大多未经我的具体测试,我也无法保证其稳定性,请服主们别忘了先进行测试再应用于生产环境。
若有不适合应用于生产环境的功能,请务必提出。
以下配置文件均来自Purpur 1.20.1服务端,随服务端和其版本不同,条目可能有增减、文件可能不存在,请自行鉴别。
server.properties
这是原版服务端自带的配置文件,存在于任何种类的服务端中。
allow-nether:
默认为 true。
是否启用下界。
部分服务器不需要下界世界,这时可以直接在此处禁用。
禁用后服务器启动时不会生成下界世界。
同理还有 settings.allow-end 条目,位于 bukkit.yml 中。
enable-command-block:
默认为 false。
是否启用命令方块。
启用后命令方块才能正常工作。
generate-structures:
默认为 true。
是否生成除了地牢之外的结构。
禁用后除了地牢外的其他结构不会生成。
max-build-height:
默认为 256。
玩家最大建造高度。
不影响地形的生成。
bukkit.yml
这是基于 CraftBukkit 的服务端才具有的配置文件,如 Spigot、Paper、Purpur 等等。
settings.allow-end:
默认为 true。
是否启用末地。
部分服务器不需要末地世界,这时可以直接在此处禁用。
禁用后服务器启动时不会生成末地世界。
同理还有 allow-nether 条目,位于 server.properties 中。
query-plugins:
默认为 true。
是否发送插件列表。
禁用后/plugins等等指令不再有效,可替代同功能的插件。
spigot.yml
这是基于 Spigot 的服务端才具有的配置文件,如Spigot、Paper、Purpur等等。
commands.tab-complete:
默认为 0。
在可以呼出Tab键补全前需要输入命令的前几个字母。
可以在一定程度上保护你的插件列表不被猜出。
commands.send-namespaced:
默认为 true。
是否发送命令的命名空间。如命令 /minecraft:summon 中的 “minecraft:” 部分。
同样可以保护你的插件列表不被猜出。
advancements.disable-saving:
默认为 false。
是否保存玩家的进度(成就)。
部分RPG服务器不需要玩家进度或需要自定义进度,可以在此禁用原版进度保存。
可能会影响到第三方进度插件,以插件作者说明为准。
advancements.disabled:
默认为 minecraft:story/disabled。
禁用的具体进度。
禁用后进度将不再显示在进度菜单中。
若想禁用所有进度,请粘贴以下列表: - minecraft:story/root
- minecraft:nether/root
- minecraft:end/root
- minecraft:adventure/root
- minecraft:husbandry/root
- minecraft:story/shiny_gear
- minecraft:end/elytra
- minecraft:adventure/summon_iron_golem
- minecraft:husbandry/break_diamond_hoe
- minecraft:story/obtain_armor
- minecraft:nether/return_to_sender
- minecraft:adventure/sleep_in_bed
- minecraft:story/lava_bucket
- minecraft:end/dragon_breath
- minecraft:end/kill_dragon
- minecraft:adventure/kill_all_mobs
- minecraft:story/enchant_item
- minecraft:nether/all_potions
- minecraft:story/follow_ender_eye
- minecraft:husbandry/tame_an_animal
- minecraft:nether/create_beacon
- minecraft:story/deflect_arrow
- minecraft:story/iron_tools
- minecraft:adventure/totem_of_undying
- minecraft:adventure/kill_a_mob
- minecraft:adventure/adventuring_time
- minecraft:nether/brew_potion
- minecraft:husbandry/plant_seed
- minecraft:end/dragon_egg
- minecraft:adventure/sniper_duel
- minecraft:end/levitate
- minecraft:nether/create_full_beacon
- minecraft:nether/summon_wither
- minecraft:husbandry/balanced_diet
- minecraft:nether/all_effects
- minecraft:nether/fast_travel
- minecraft:nether/get_wither_skull
- minecraft:husbandry/bred_all_animals
- minecraft:story/mine_stone
- minecraft:story/enter_the_nether
- minecraft:adventure/trade
- minecraft:nether/uneasy_alliance
- minecraft:story/mine_diamond
- minecraft:story/upgrade_tools
- minecraft:nether/find_fortress
- minecraft:story/cure_zombie_villager
- minecraft:story/form_obsidian
- minecraft:end/find_end_city
- minecraft:end/enter_end_gateway
- minecraft:nether/obtain_blaze_rod
- minecraft:adventure/shoot_arrow
- minecraft:story/enter_the_end
- minecraft:husbandry/breed_an_animal
- minecraft:end/respawn_dragon
- minecraft:story/smelt_iron
- minecraft:nether/obtain_crying_obsidian
- minecraft:nether/distract_piglin
- minecraft:adventure/very_very_frightening
- minecraft:husbandry/fishy_business
- minecraft:nether/explore_nether
- minecraft:nether/ride_strider
- minecraft:adventure/bullseye
- minecraft:adventure/two_birds_one_arrow
- minecraft:adventure/whos_the_pillager_now
- minecraft:husbandry/tactical_fishing
- minecraft:nether/loot_bastion
- minecraft:husbandry/silk_touch_nest
- minecraft:adventure/arbalistic
- minecraft:nether/charge_respawn_anchor
- minecraft:adventure/voluntary_exile
- minecraft:husbandry/obtain_netherite_hoe
- minecraft:nether/find_bastion
- minecraft:adventure/hero_of_the_village
- minecraft:nether/obtain_ancient_debris
- minecraft:nether/use_lodestone
- minecraft:husbandry/safely_harvest_honey
- minecraft:adventure/throw_trident
- minecraft:adventure/honey_block_slide
- minecraft:adventure/ol_betsy
- minecraft:nether/netherite_armor
- minecraft:husbandry/complete_catalogue复制代码
world-settings.hunger:
各个玩家行为消耗的饥饿值。
可以无感增加或减少玩家食物的消耗量。
world-settings.default.zombie-aggressive-towards-villager:
默认为 true。
僵尸是否会追逐村民。
可以针对每个世界配置,如添加一条条目:world-settings.world_myworld.zombie-aggressive-towards-villager
world-settings.default.enable-zombie-pigmen-portal-spawns:默认为 true。
僵尸猪灵是否生成在下界传送门附近。
可用于禁用猪人塔。
可以针对每个世界配置,如添加一条条目:world-settings.world_myworld.zombie-aggressive-towards-villager
settings.log-villager-deaths:
默认为 true。
是否记录村民的死亡。
村民死亡后会在控制台生成一段日志。
可以追溯玩家的村民被谁杀死了。
settings.log-named-deaths:
默认为 true。
是否记录被命名实体的死亡。
被命名实体死亡后会在控制台生成一段日志。
在原版服可以追溯玩家饲养的生物被谁杀死了,但对于RPG服务器来说会使控制台很吵。
要素解析
先让我们列举出mcMMO的所有要素,再一个个分析:
◾ 依照原版行为3设计的 技能 和 子技能
◾ 从行为获取的 经验 和 升级系统
◾ 等级的 排行榜
◾ 常被我们忽略的 队伍(Party)
🔶 技能 和 子技能:
什么是技能?
你应该不会对它们感到太陌生:
技能 子技能😀杂技翻滚 闪避格斗狂暴 箭矢偏转 铁臂 缴械 格斗极限突破斧技斩首者 斧头精通 暴击 破甲 强烈冲击 斧技极限突破伐木超级伐木机 走运 秋风扫落叶 伐木工 树木丰收挖掘暴走钻头 考古学草药学农夫食谱 园艺大师 大地祝福(未列举全部技能)
可以看出,技能 像是一个组,这个组下有很多 子技能。
技能本身没有意义,只是作为升级的载体,真正发挥作用的是子技能。
在上表中,加粗的子技能表示 需要主动释放。
说到这,就不得不把话题暂时扯开,说说mcMMO的奇妙的主动子技能释放方式:
每个技能都对应一种工具,比如格斗对应空手,挖掘对应铲子。
在游戏中手持铲子,右键,一个ActionBar消息会跳出:
这代表,这个 铲子 对应的 挖掘 中的 暴走钻头 已经处于可使用的状态。
这时,再使用一下这个铲子——比如挖一下土——暴走钻头就触发了。
每个子技能都有自己的效果,比如暴走钻头,就可以在短时间内提升你手上铲子的挖掘效率,缺点是会加快铲子耐久度的消耗。
作为一个主动子技能,它也拥有持续时间,它会随着对应技能等级的提升而加长。
至于被动子技能,则是时时刻刻发挥作用的:
比如挖掘对应的考古学,可以让你在使用铲子挖掘时概率发现一些珍贵的物品,比如石英,萤石粉,钻石等。
🔶 经验 和 升级系统:
玩家在第一次进入服务器后,最先感受到的就是这个要素。
在第一次从高处落下,抑或是用斧子砍下第一块木头时,玩家会发现一行BossBar消息:
是的,就如其所说,玩家正在通过行为学习一项技能。
上面说到的每一个技能都有自己的独立等级。
这一技能下的子技能会随着等级的提升而逐渐解锁,这些子技能的效果(触发概率等)也会逐渐提升。
至于提升技能等级所需的经验,则通过行为获取。
每个技能对应一项行为,比如挖掘对应用铲子采集泥土类方块、杂技对应受到摔落伤害、格斗对应空手打架。
一旦玩家做了这些行为,就会获得少量的经验,一旦经验足够,技能就会升级,每若干级会解锁一个子技能。
🔶 排行榜 和 队伍
它们只是甜品级小功能,也很容易理解,不在此处做过多介绍。
到了这里,服主啊,你理解了mcMMO吗?
假如你没有理解,那么就回过头再看一遍上面的内容,或是在游戏内细细体验,感受我说的内容。
假如你理解了,那么真好,你也可以理解之后的内容了。
玩法规划
在理解了插件各个要素之间的关系之后,你就可以对其做规划了。
单纯的解释比较苍白,这里贴出我的一个设计4:
工作玩法:主要插件:mcMMO基本设计思路:每个玩家可以选择自己的工作,如农民。选择了工作后,就可以开始获得mcMMO的复数技能的经验,而其它技能则暂时锁定,如农民对应草药学+驯兽+垂钓。
有了像是这样的玩法设计后,你就可以开始配置插件了。当然,不做特殊设计,仅使用插件原本的逻辑当然也是可以的,纯粹依照你服务器的规划和你的喜好安排即可。
配置要点⚠ 仅对重要配置项做解析 不通篇翻译配置 请善用翻译软件 ⚠
⚠ 我会按要素将配置项罗列在一起 并标注它们在文件中的位置 请善用你文件编辑器的Ctrl+F搜索功能 ⚠
🌍 等级和经验相关config.yml :# 等级划分# 简单的说 设置为false时 最大等级为100级 玩家升级体感速度变慢了 但子技能等级要求也低了 如主动子技能会在5级时解锁 这时你使用的就是Standard模式# 设置为true时 最大等级为1000级 玩家的升级变快了 但子技能等级要求变高了 如主动子技能会在50级时解锁 这时你使用的就是RetroMode模式# 作者喜欢false 但默认为true# 重要!之后的数条配置都与其直接相关RetroMode: Enabled: true
experience.yml :
# 所需经验的计算公式Experience_Formula:# 可选的参数有以下两个 分别对应线性增长和指数增长 依据需求选择即可# LINEAR: base + (level * multiplier)# EXPONENTIAL: multiplier * level ^ exponent + base# level为指当前技能等级 Curve: LINEAR# 以上两个经验公式的具体参数值 Linear_Values: base: 1020 multiplier: 20 Exponential_Values: multiplier: 0.1 exponent: 1.80 base: 2000
# 在PVP和正常状态下获取的经验都会乘上下面的值# 用于进行全局经验调控Multiplier: Global: 1.0 PVP: 1.0
# 每个技能获取的经验都会除以下面的值# 用于进行具体经验调控Modifier: Swords: 1.0 Taming: 1.0 Acrobatics: 1.0 Excavation: 1.0 ……
# 每个行为获取的经验的具体值# 用于进行微调 如# Excavation:# Clay: 40# 表示挖掘粘土会获得40经验Experience_Values:
……
skillranks.yml :# 每个技能对应的子技能的解锁(Rank_1)和升级(Rank_2-8)等级Alchemy: #炼金术 Catalysis: # 炼金术-催化 Standard: # RetroMode: false 时生效的配置 Rank_1: 0 # 催化在0级时解锁 不能升级 所以只有1 RetroMode: # RetroMode: true 时生效的配置 Rank_1: 0 Concoctions: # 炼金术-混合 Standard: Rank_1: 0 # 混合在0级解锁 Rank_2: 10 # 混合在10级进入Rank_2 概率升高/效果增强 具体在advanced.yml中配置 …… RetroMode: Rank_1: 0 Rank_2: 100 ……
🌍 技能和子技能相关config.yml :# 所有主动子技能的公共配置# 用于调整冷却时间和最大持续时间Abilities: Enabled: true Messages: true Cooldowns: # 冷却时间/秒(不会随等级变化) Berserk: 240 …… Max_Seconds: # 最大持续时间/秒(随等级上升的持续时间的最大值 0为无限制) Berserk: 0 ……
# 所有技能的公共配置# 用于调整最大等级限制和一些特有细节Skills: Acrobatics: Enabled_For_PVP: true # 通过PVP是否可以触发该技能的子技能/获取该技能的经验 Enabled_For_PVE: true # 通过PVE是否可以触发该技能的子技能/获取该技能的经验 Prevent_Dodge_Lightning: true # 杂技-闪避独有 是否可以闪避雷电 XP_After_Teleport_Cooldown: 6 # 杂技独有 传送后几秒内可以获取杂技经验 用于防刷经验 Level_Cap: 0 # 杂技的最大等级 0为无限制 ……
# 双倍掉落配置# 配置技能对应的哪些物品可以双倍掉落Bonus_Drops: Herbalism: # 草药学 Glow_Berries: true # 发光浆果是否可以触发双倍掉落 ……
advanced.yml :# 每个技能的子技能的详细配置# 用于微调子技能效果 不让你的玩家无敌 较为重要# 原配置英文注释详细 请善用翻译软件# 部分配置中的Rank_X即为skillranks.yml中设置的Rank_X对应的等级Skills: General: # 每个技能的公共配置 LimitBreak: #XX极限突破是否适用于PVE AllowPVE: false StartingLevel: 0 # 从第几级开始是“第一级”(?) Ability: Length: # 主动子技能持续时间配置 Standard: # RetroMode: false 时生效的配置 CapLevel: 100 # 最大计算等级 IncreaseLevel: 5 # 每5级给主动子技能延长1秒持续时间 RetroMode: # RetroMode: true 时生效的配置 CapLevel: 1000 IncreaseLevel: 50 # 每50级给主动子技能延长1秒持续时间 EnchantBuff: 5 # 主动子技能超级碎石机/暴走钻头的效率附魔BUFF等级 Acrobatics: # 杂技的单独设置 Dodge: # 杂技-闪避 ChanceMax: 20.0 # 闪避的最大几率 MaxBonusLevel: # 在杂技达到下面的等级时 闪避几率会提升到ChanceMax的值 之后不再变化 Standard: 100 # RetroMode: false 时生效的配置 RetroMode: 1000 # RetroMode: true 时生效的配置 DamageModifier: 2.0 # 闪避的伤害会乘以这个值(?) ……
🌍 掉落和宝藏相关treasures.yml :Excavation: # 挖掘-考古学的特殊掉落物
CAKE: # 物品ID 此处为蛋糕 Amount: 1 # 掉落数量 XP: 3000 # 随之获取的技能经验 Drop_Chance: 0.05 # 掉落率 Level_Requirement: # 掉落等级需求 Standard_Mode: 75 # RetroMode: false 时生效的配置 Retro_Mode: 750 # RetroMode: true 时生效的配置 # 用铲子挖掘哪些方块有可能掉落 Drops_From: [Dirt, Coarse_Dirt, Podzol, Grass_Block, Sand, Red_Sand, Gravel, Clay, Mycelium, Soul_Sand, Soul_Soil] ……Hylian_Luck: # 草药学-大地祝福的特殊掉落物 MELON_SEEDS: # 物品ID 此处为西瓜种子
Amount: 1 # 掉落数量 XP: 0 # 随之获取的技能经验 Drop_Chance: 100.0 # 掉落率 Level_Requirement: # 掉落等级需求 Standard_Mode: 0 # RetroMode: false 时生效的配置 Retro_Mode: 0 # RetroMode: true 时生效的配置 Drops_From: [Bushes] # 打破哪些植物有可能掉落 ……
fishing_treasures.yml :Fishing: # 钓鱼所有可能的收获
LEATHER_BOOTS: # 物品ID 此处为皮革靴子 Amount: 1 # 收获数量 XP: 200 # 随之获取的技能经验 Rarity: COMMON # 收获稀有度(影响掉落率和工具附魔好坏) ……Item_Drop_Rates: # 稀有度获得率配置 Tier_1: # 约等于Rank_1 表示钓鱼等级 COMMON: 7.50 # 各个稀有度的获得率 UNCOMMON: 1.25 RARE: 0.25 EPIC: 0.10 LEGENDARY: 0.01 MYTHIC: 0.01 ……Enchantments_Rarity: # 各个稀有度可能钓上的附魔最大等级 COMMON: EFFICIENCY: 1 UNBREAKING: 1 FORTUNE: 1 PROTECTION: 1 ……Enchantment_Drop_Rates: # 附魔掉落率(?) 具体作用未知 无视即可 Tier_1: COMMON: 5.00 UNCOMMON: 1.00 RARE: 0.10 ……Shake: # 钓鱼-抖动子技能的掉落设置 用鱼竿拉扯生物有几率扯下它们的掉落物并造成最大生命值1/4的伤害(最大为10点) BLAZE: # 生物ID 此处为烈焰人 BLAZE_ROD: # 物品ID 此处为烈焰棒 Amount: 1 # 拉扯下来的数量 XP: 0 # 随拉扯获取的技能经验 Drop_Chance: 100.0 # 掉落率 Drop_Level: 0 # 掉落的最小钓鱼技能等级 若在RetroMod下则该值乘以10 ……
🌍 杂项和疑难杂症相关config.yml :Level_Up_Chat_Broadcasts: # 是否在玩家升级时全服广播(很烦 建议关了)
MOTD_Enabled: false # 建议全关EventBroadcasts: false # 建议全关EventInfoOnPlayerJoin: false # 建议全关AdminNotifications: false # 建议全关# 这四条配置控制下面的信息是否会在进服时刷玩家的屏
Mob_Healthbar: # 满屏爱心的罪魁祸首 关了无妨 Enabled: false Display_Type: HEARTS Display_Time: 3
# 在客户端修复快速破坏(如使用暴走钻头)后产生的幽灵方块# 未测试效用 未发现危害性 可以打开Refresh_Chunks: true
后记
mcMMO可以说是我的一代回忆,因几年前刚入坑电脑端时玩的X易服务器就装了这个插件。也算是代表我的几年服务器玩家时光了...
我还算是偏激,认为不管什么样的插件都不应该不配置就用——再小的服务器也会有自己的玩法、自己的体系、自己的风格,而没有任何一个插件完美契合你的风格,只有亲手去理解插件,配置插件,才能让插件的全部功能都与你的服务器玩法相适应,也才能提升你的服务器质量。
我认为,假若这种态度传播开来,所谓服务器圈整体质量低下也就不复存在了,所以才有了这么一帖。
这也是本人的一次尝试——即从头到尾剖析一个插件的玩法逻辑,然后教大家如何配置。我也想借此成为各位服主的启发。
还是那句话:新手上路,请多关照。
若有意见,希望能在楼下指出。
“实用内容”
📭 丁子的爱发电界面
本文内容严禁转载
若引用请标明出处
写作不易,求评分,求评论,谢谢你
附注1. 此处“RPG”指本插件具有“能力随时间升级”这一特征
2. 不代表我认为“默认配置不好”,仅作为一个不太稳固的论据使用,目的是证明“很多服主不会配置它”这一观点
3. 此处“原版行为”指 挖矿(挖掘) 摔落(杂技) 等
4. 仅简要说明,不补充细节,也请不要向我询问关于这个玩法的信息
5. https://docs.google.com/document ... 9Adfpl7_BYBF6k/edit
https://bstats.org/plugin/bukkit/mcMMO/3894
https://www.spigotmc.org/resourc ... thor-returns.64348/