当前位置: 首页 > news >正文

仿网站源码是怎么弄的百度推广一条资源多少钱

仿网站源码是怎么弄的,百度推广一条资源多少钱,南充二手房最新出售信息,建设一个个人网站不需要目录 简介成就与进度根进度叶子进度更多的检测方式 简介 代码已经上传: gitee github 成就与进度 工欲善其事必先利其器,别死记硬背,多使用自动生成网站 进度数据包生成器:https://misode.github.io/advancement/指令生成器&…

目录

  • 简介
  • 成就与进度
    • 根进度
    • 叶子进度
    • 更多的检测方式

简介

代码已经上传:
gitee
github

成就与进度

工欲善其事必先利其器,别死记硬背,多使用自动生成网站

  1. 进度数据包生成器:https://misode.github.io/advancement/
  2. 指令生成器:https://www.digminecraft.com/generators/give_tool.php

进度JSON文件创建的位置是:data/<命名空间>/advancement/<进度名>

完成本小节所创建的文件及其项目结构如下所示,建议您先直接把这些文件创建好后再开始下面的教程

为便于理解,后续将统一称之为“进度”(名义上的成就和进度是同一个东西,只不过这里有这两种说法而已)


## 什么是进度 > 参考wiki [https://zh.minecraft.wiki/w/%E8%BF%9B%E5%BA%A6%E6%95%B0%E6%8D%AE%E6%A0%BC%E5%BC%8F#enchanted_item](https://zh.minecraft.wiki/w/%E8%BF%9B%E5%BA%A6%E6%95%B0%E6%8D%AE%E6%A0%BC%E5%BC%8F#enchanted_item) >

您在游戏中按下L后所显示的界面就是进度界面

我们通过编写进度文件,检测用户或者任意实体触发的动作(如合成物品、拾取物品、攻击实体等),从而判断应当获取什么成就,并可针对该成就为用户解锁对应的配方、提供指定经验,甚至运行function函数

进度的创建有两种方式:

  1. 一种是直接在advancement目录下创建JSON文件,假设我们创建了 advancement/test.json,那么则可以通过 <命名空间>:test来直接引语此进度
  2. 另一种则是在advancement目录下创建对应的子目录,该目录就成为一个新的进度表,假设我们创建了进度advancement/ironsmith/test.json,那么则需要 <命名空间>:ironsmith/test来引用此进度

本小节将要实现的效果:

  1. 创建一个新的进度表,名叫ironsmith
  2. 共计有4个新的进度
  3. 其中有2个叶子进度依赖于同一个父进度

根进度

和二叉树一样,任何一个全新的进度表都需要一个根进度,而剩余的节点将依附于此根进度向外生长,他们就被称为叶子进度

创建根进度文件:data/td1/advancement/ironsmith/root.json

一个进度表内有且仅有一个根进度,且根进度文件里面不能含有parent参数;

因为生成器占用的篇幅太大了,这里就不截图展示了,您可以将此JSON文件直接复制到生成器的代码框内,生成器就会自动补全;

先看前面几个关键参数

  1. display 进度图标
  2. title 进度标题
  3. description 进度描述
  4. background 进度表的背景图,该图是16x16的png图片,我这里直接使用Minecraft原版提供的铁矿石图片作为背景了,后续会讲如何自定义背景图片
  5. frame 进度的图标样式(样式选择为challenge时,达成此进度会播放音乐,且description为紫色)
  6. show_toast 达成进度后是否右上角弹出浮窗
  7. announce_to_chat 达成进度后是否聊天栏发消息
  8. hidden 是否隐藏当前进度后面的进度

然后是准则criteria

  1. 判断条件的名字随便取,我这边取get_iron_ingot
  2. 每个条件都必须提供一个触发器trigger,我这边的触发器是inventory_changed,即检测到玩家的背包物品发生变化的动作
  3. 触发器还有对应的条件conditions,我这里限定了所有玩家都可以触发此触发器,且触发条件是拥有物品minecraft:iron_ingot
  4. 所以综合上述条件,得出准测get_iron_ingot限定的最终规则是:玩家背包物品发生变化时遍历一次背包内容,当发现存在铁锭时,条件判定成功

然后是收尾部分

  1. requirements 当前进度所依赖的准则,我们直接取get_iron_ingot,因为我们仅仅提供了一个准则
  2. rewards 达成进度后提供的奖励,我这边提供了一个铁块的合成配方,包括100经验
{"display": {"icon": {"id": "minecraft:iron_ingot","count": 1},"title": "铁匠","description": "开始你的打铁生活~","background": "minecraft:textures/block/iron_ore.png","frame": "task","show_toast": true,"announce_to_chat": true,"hidden": false},"criteria": {"get_iron_ingot": {"trigger": "minecraft:inventory_changed","conditions": {"player": [{"condition": "minecraft:all_of","terms": []}],"items": [{"items": "minecraft:iron_ingot"}]}}},"requirements": [["get_iron_ingot"]],"rewards": {"recipes": ["minecraft:iron_block"],"experience": 100},"sends_telemetry_event": false
}

编写完毕后进入游戏reload一下就能测试了,下图表示的是参数与进度表之间的对应关系

可见,当我们无论以任何方式获取了一个铁锭后,背包物品栏变化,此时会获得了我们刚刚加入的新成就“铁匠”


叶子进度

好了,现在您已经创建了根进度,后续就需要为该根进度添加叶子进度了;

叶子进度的parent字段必须填写,他表示它归属的父进度是哪一个,当前我下面创建的进度是紧随根进度之后的,所以这里该字段应当填写为:td1:ironsmith/root

这个新的进度必须要求玩家从合成台上合成一个铁块才可以达成,其他的途径不行;

{"display": {"icon": {"id": "minecraft:iron_block","count": 1},"title": "铁块来力","description": "很高兴你获得了一个铁块","frame": "task","show_toast": true,"announce_to_chat": true,"hidden": false},"parent": "td1:ironsmith/root","criteria": {"get_iron_block": {"trigger": "minecraft:recipe_crafted","conditions": {"player": [{"condition": "minecraft:all_of","terms": []}],"recipe_id": "minecraft:iron_block"}}},"requirements": [["get_iron_block"]],"rewards": {"experience": 200},"sends_telemetry_event": false
}

更多的检测方式

接下来您将为上一步添加的进度再添加两个同级别的子进度

注意,这边的叶子进度的parent字段请按照文件夹内的文件顺序填写,而不要按照逻辑顺序填写,即

这样写是错误的:td1:ironsmith/root/adv_iron_block

这样写才是正确的:td1:ironsmith/adv_iron_block

因为下图中我们不难发现所有的进度文件都位于ironsmith文件夹下,所以他们都是同级关系!!!

添加进度adv_iron_hit

进度达成要求:玩家用铁剑随便打一个实体

这里有一个坑需要注意:此处使用的触发器是 player_hurt_entity ,它拥有三个条件,player、damage、entity,此时需要注意

  1. 必须把判断是否使用铁剑的条件写到damage内,也就是说这边是通过获取伤害来源是否是铁剑造成的,从而限定铁剑
  2. 不可以把铁剑限定放在player字段,比如为期添加一个判断主手武器是不是铁剑,亦或是判断player发起攻击的武器是不是铁剑,这都不可以!这个进度会直接失效!!!
{"display": {"icon": {"id": "minecraft:iron_sword","count": 1},"title": "请不要打我","description": "用铁剑与怪物亲密接触","frame": "goal","show_toast": true,"announce_to_chat": true,"hidden": false},"parent": "td1:ironsmith/adv_iron_block","criteria": {"hit_mob_by_iron_sword": {"trigger": "minecraft:player_hurt_entity","conditions": {"player": [{"condition": "minecraft:all_of","terms": []}],"damage": {"source_entity": {"type_specific": {"type": "minecraft:player"},"equipment": {"mainhand": {"items": "minecraft:iron_sword","count": 1}}}},"entity": [{"condition": "minecraft:all_of","terms": []}]}}},"requirements": [["hit_mob_by_iron_sword"]],"rewards": {"loot": [],"recipes": [],"experience": 200},"sends_telemetry_event": false
}

添加进度adv_iron_ench

进度达成要求:玩家附魔任意一把铁镐

这里我们在最后调用了一个function,这个函数给予了达成当前成就的玩家一把效率3耐久2且具备经验修补的铁镐,我们可以通过这一种方式实现“完成任务给奖励”的效果;

首先看看进度怎么写的

{"display": {"icon": {"id": "minecraft:iron_pickaxe","components": {"minecraft:enchantments": {"levels": {},"show_in_tooltip": true}},"count": 1},"title": "高效率挖掘","description": "附魔任意一个铁镐","frame": "challenge","show_toast": true,"announce_to_chat": true,"hidden": false},"parent": "td1:ironsmith/adv_iron_block","criteria": {"ench_any_iron_pickaxe": {"trigger": "minecraft:enchanted_item","conditions": {"player": [{"condition": "minecraft:all_of","terms": []}],"item": {"items": "minecraft:iron_pickaxe","count": 1}}}},"requirements": [["ench_any_iron_pickaxe"]],"rewards": {"function": "td1:adv/iron_ench","experience": 100},"sends_telemetry_event": false
}

之后看看基于玩家附魔铁镐的function怎么写的

你可以直接去该网站生成任意代码https://www.digminecraft.com/generators/give_tool.php

# 给予玩家耐久2,效率3,经验修补的铁镐
give @s iron_pickaxe[custom_name='{"text":"Awesome Pickaxe"}',enchantments={levels:{'efficiency':3,'unbreaking':2,'mending':1}}] 1
http://www.dinnco.com/news/23393.html

相关文章:

  • 一个网站建设的成本网站百度收录批量查询
  • 深圳单位网站建设服务公司山东今日头条新闻
  • 自建网站平台有哪些功能汕头自动seo
  • 外贸网站都有那些搜索网页内容
  • 网站建设与栏目设置网络营销服务的特点
  • 网站做的好的公司推广网站平台
  • 什么网站专做衣服网站流量统计软件
  • 太仓网站制作书生推广普通话的文字内容
  • 保定建设局网站女教师网课入侵录屏冫
  • 温州市网络公司网站建设公司设计公司网站
  • 网站建设的整体流程上海网站建设制作
  • 东营做网站优化公司海外推广方案
  • 旅游网站制作模板电商怎么注册开店
  • java语言网站开发郭生b如何优化网站
  • 第三方免费做网站谷歌地球
  • 卯兔科技网站建设设计案例网
  • 帮人做钓鱼网站以及维护唯尚广告联盟app下载
  • 河南网站建设百度95099如何转人工
  • 张家港早晨网站建设百度站长工具平台
  • 网站你啦怎样做旺仔饼干厦门人才网个人会员登录
  • wish网站应该怎么做安卓aso
  • 做阀门的网站百度权重提升
  • 山东省住房和城乡建设厅门户网站商丘seo
  • 网站可以用视频做背景吗云优化seo软件
  • 什么软件可以建网站百度网站权重查询
  • 北京市建网站举例说明什么是seo
  • 江苏常州青之峰做网站怎样做好服务营销
  • 石家庄网站开发工程师招聘网线上推广费用预算
  • 有几家做网站的公司现场直播的视频
  • 珠海市网站武汉seo网站排名优化