⭐✔️
这种方法只适用于Java版,且版本至少为1.11

效果:
首先需要一个钓鱼竿,当使用钓鱼竿后,就会输出你正在使用的语言:





指令非常简单
  1. #英文
  2. testfor @e[name=unknown]
  3. #中文
  4. testfor @e[name=未知]
  5. #法语
  6. testfor @e[name=inconnu]
  7. #西班牙语
  8. testfor @e[name=desconocido]
复制代码


原理:
在语言文件中,实体的默认名称翻译不同,而名称可以用name选择器标签检测。
在Java版中,鱼钩这个实体不存在(详见:http://minecraft.gamepedia.com/F ... _and_other_entities
但鱼钩虽然没有类型,却拥有一个叫做“未知”的默认名称,通过检测name=未知,即可检测到鱼钩。
因为实体默认名称翻译不同,通过“未知”的不同翻译(例如上面例子中,unknown、未知、inconnu、desconocido是各个不同语言中表达的“未知”),就可以检测用户正在使用的语言。

至于为何不使用“爬行者”、“僵尸”这些默认名称检测,是因为某些语言中这些默认名称和其他一些语言翻译相同,例如英文中为“Creeper”,法语也相同。而“未知”属于一个不像苦力怕这样的专有名词,各语言都存在差异,因此容易区分。来自群组: Command Block Logic

brooke_zb
有点水啊,而且并不是很实用,如果你想根据玩家选择的语言来让地图文字翻译变化的话还得让玩家抛出鱼竿,感觉就不如通过lang文件来搞,毕竟抛出的鱼竿没法summon吧?

pineapple_
等等,,参数能加中文?????

爱心魔王FHC
现在选择器里面可以用中文了吗?

⭐✔️
FHC红石 发表于 2017-7-26 15:30
现在选择器里面可以用中文了吗?

1.11修了nam=unicode无法选中对应实体的bug