当前位置: 首页 > 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

相关文章:

Minecraft-Datapack数据包开发3-进度与成就

目录 简介成就与进度根进度叶子进度更多的检测方式 简介 代码已经上传&#xff1a; gitee github 成就与进度 工欲善其事必先利其器&#xff0c;别死记硬背&#xff0c;多使用自动生成网站 进度数据包生成器&#xff1a;https://misode.github.io/advancement/指令生成器&…...

泷羽sec-shell编程(3)

shell&#xff08;3&#xff09; 声明&#xff01; 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下&#xff0c;如涉及侵权马上删除文章&#xff0c;笔记只是方便各位师傅的学习和探讨&#xff0c;文章所提到的网站以及内容&#xff0c;只做学习交流&#xff0c;其他…...

如何解决压测过程中JMeter堆内存溢出问题

如何解决压测过程中JMeter堆内存溢出问题 背景一、为什么会堆内存溢出&#xff1f;二、解决堆内存溢出措施三、堆内存参数应该怎么调整&#xff1f;四、堆内存大小配置建议 背景 Windows环境下使用JMeter压测运行一段时间后&#xff0c;JMeter日志窗口报错“java.lang.OutOfMe…...

爬虫项目基础知识详解

文章目录 Python爬虫项目基础知识一、爬虫与数据分析1.1 Python中的requests库Requests 库的安装Requests 库的 get() 方法爬取网页的通用代码框架HTTP 协议及 Requests 库方法Requests 库主要方法解析 1.2 python中的json库1.3 xpath学习之python中lxml库html了解html结构html…...

uniapp 微信小程序webview 和 h5数据通信

项目是uniapp编写&#xff0c;因为是先开发了h5和app&#xff0c;小程序是突然要用的&#xff0c;做兼容开发已经来不及&#xff0c;由于微信小程序webview载入h5 因为通信必须要特殊限制&#xff08;网页向小程序 postMessage 时&#xff0c;会在以下特定时机触发并收到消息&a…...

SSM01-MyBatis框架(一文学会MyBatis)

Mybatis框架 一、Mybatis框架简介 1.1 传统JDBC的缺陷 &#xff08;1&#xff09;数据库连接创建、释放频繁会造成系统资源浪费 【MyBatis通过在核心配置文件中配置数据路连接池解决此问题】 &#xff08;2&#xff09; SQL语句在代码中硬编码(PreparedStatement向占位符传…...

【PlantUML系列】状态图(六)

一、状态图的组成部分 状态&#xff1a;对象在其生命周期内可能处于的条件或情形&#xff0c;使用 state "State Name" as Statename 表示。初始状态&#xff1a;表示对象生命周期的开始&#xff0c;使用 [*] 表示。最终状态&#xff1a;表示对象生命周期的结束&…...

JS中重排和重绘的区别是什么?

在JavaScript中&#xff0c;当DOM&#xff08;文档对象模型&#xff09;发生变化时&#xff0c;浏览器需要重新计算和更新渲染树&#xff0c;这个过程通常涉及到重排&#xff08;reflow&#xff09;和重绘&#xff08;repaint&#xff09;。了解这两者之间的区别对于优化页面性…...

工业—使用Flink处理Kafka中的数据_ProduceRecord2

使用 Flink 消费 Kafka 中 ProduceRecord 主题的数据,统计在已经检验的产品中,各设备每 5 分钟 生产产品总数,将结果存入HBase 中的 gyflinkresult:Produce5minAgg 表, rowkey“...

C 库中的断言与 FreeRTOS 中的 trace 宏

在 C 编程领域&#xff0c;断言和 FreeRTOS 中的 trace 宏都有着独特而重要的作用。 一、断言&#xff08;assert&#xff09; 断言在一般的 C 库中是一个非常有用的工具&#xff0c;它以函数的形式存在。其核心作用在于对程序中的逻辑条件进行检查&#xff0c;确保特定的表达…...

JAVAWeb中的Servlet学习

一 Servlet简介 1.1动态资源和静态资源 静态资源 无需在程序运行时通过代码运行生成的资源,在程序运行之前就写好的资源.例如:html css js img ,音频文件和视频文件 动态资源 需要在程序运行时通过代码运行生成的资源,在程序运行之前无法确定的数据,运行时动态生成,例如Servle…...

docker安装ddns-go(外网连接局域网)

docker先下载镜像&#xff0c;目前最新版是v6.7.6 也可以csdn资源下载 再导入dockers https://download.csdn.net/download/u014756339/90096748 docker load -i ddns-go.tar 启动 docker run -d --name ddns-go --restartalways --nethost -v /opt/ddns-go:/root jeessy/…...

时间复杂度度详解

时间复杂度是衡量算法性能的重要指标,用来描述算法随着输入规模 n 增大,运行时间的增长趋势。以下是时间复杂度的核心概念与常见分类的详细讲解。 1. 时间复杂度的定义 时间复杂度反映了算法执行的 基本操作数量 与输入规模 n 的关系。它通常使用大 O表示法来表示,即: 其中…...

如何处理和优化大文件上传和下载

如何处理和优化大文件上传和下载 简单来说 文件过大会导致内存溢出&#xff0c;上传和下载过慢会影响用户体验&#xff0c;不合理的设计可能引发安全问题&#xff0c;还有网络问题&#xff0c;数据完整性&#xff0c;服务器压力等 文件过大&#xff0c;内存溢出&#xff0c;…...

QT 线程锁

在 Qt 中&#xff0c;线程锁是用来同步多线程访问共享资源的机制&#xff0c;防止数据竞争和线程安全问题。Qt 提供了几种线程锁和同步工具&#xff0c;主要包括以下几种&#xff1a; 1. QMutex 功能&#xff1a;QMutex 是 Qt 中最常用的互斥锁&#xff08;mutex&#xff09;…...

光猫开DMZ教程

本教程以移动光猫未例&#xff0c;具体操作以实际光猫为准 1、登录移动光猫管理后台 打开浏览器&#xff0c;在浏览器地址栏输入移动光猫登录管理地址192.168.1.1或者tplogin.cn 按“回车键”打开登录页面&#xff0c;然后输入路由器管理密码登录。 移动光猫登录页面 超级密…...

分区之间的一种度量方法-覆盖度量(Covering Metric)

分区之间的一种度量方法——覆盖度量&#xff08;Covering Metric&#xff09;&#xff0c;用于量化一个分区如何被另一个分区覆盖或近似。以下是逐步详细解释&#xff1a; 1. 背景与符号说明 分区的概念&#xff1a; 分区是将一个集合&#xff08;这里是 { 1 , … , n } \{…...

cocos creator接入字节跳动抖音小游戏JSAPI敏感词检测(进行文字输入,但输入敏感词后没有替换为*号)

今天更新了某个抖音小游戏的版本&#xff0c;增加了部分剧情&#xff0c;半天过后一条短信审核未通过&#xff0c;emmm…抖音总是能给开发者惊喜…打开电脑看看这次又整什么幺蛾子… 首先是一脸懵逼&#xff0c;后端早已接入了官方的内容安全检测能力了&#xff08;https://de…...

13.Java IO 流(文件流、字符流、字符处理流、字节处理流、对象处理流、标准流、转换流、打印流、Properties 配置文件、其他流)

一、文件引入 1、文件的概念 文件是保存数据的地方&#xff08;例如&#xff0c;文档&#xff0c;图片&#xff0c;音视频等&#xff09; 2、文件流 流&#xff1a;数据在数据源&#xff08;文件&#xff09;和程序&#xff08;内存&#xff09;之间经历的路径 输入流&…...

掌握 DOM 操作:让你的网页动起来

文章目录 前言一、什么是 DOM?二、DOM 树的结构三、使用 JavaScript 操作 DOM总结前言 在现代 Web 开发中,动态交互几乎是每个网站的标配。而这种交互的实现,离不开 DOM(Document Object Model) 的操作。本次课程深入讲解了 DOM 的基础知识以及如何使用 JavaScript 操作 …...

JVM整理部分面试题

1.如何主动触发垃圾回收&#xff1f; 在Java中&#xff0c;垃圾回收是自动进行的&#xff0c;由Java虚拟机&#xff08;JVM&#xff09;负责管理。但是&#xff0c;有时候我们可能希望手动触发垃圾回收以释放一些无用的对象。这可以通过调用System.gc()方法来实现 手动触发垃…...

ubuntu20 使用 pyspacemouse获取 spacemouse wireless 输入

1. 设置设备权限 (1) 默认情况下&#xff0c;普通用户可能没有权限访问 HID 设备&#xff0c;可以通过设置 udev 规则解决&#xff1a; cd /etc/udev/rules.d sudo touch 99-spacemouse.rules sudo gedit 99-spacemouse.rules在新建的99-spacemouse.rules中添加以下内容 SUB…...

windows下Qt5自动编译配置QtMqtt环境(11)

文章目录 [toc]1、概述2、准备1.1 下载源码1.2 配置环境1.3 解释原理 3、编译4、验证5、参考6、视频 更多精彩内容&#x1f449;内容导航 &#x1f448;&#x1f449;Qt网络编程 &#x1f448; 1、概述 Qt默认是不包含mqtt库的&#xff0c;如果需要使用到mqtt库就只能自己编译配…...

速盾:高防cdn有哪些冷知识?

高防CDN&#xff08;Content Delivery Network&#xff09;是一种用于提供高可靠性、高性能的互联网服务的技术。它通过将内容分发到离用户最近的服务器上&#xff0c;并优化网络流量&#xff0c;以提升网站的响应速度和承载能力。除了这些基本的了解&#xff0c;下面是一些高防…...

全面UI组件库Telerik 2024 Q4全新发布——官方宣布支持.NET 9

Telerik DevCraft包含一个完整的产品栈来构建您下一个Web、移动和桌面应用程序。它使用HTML和每个.NET平台的UI库&#xff0c;加快开发速度。Telerik DevCraft提供最完整的工具箱&#xff0c;用于构建现代和面向未来的业务应用程序&#xff0c;目前提供UI for ASP.NET MVC、Ken…...

电脑投屏到电脑:Windows,macOS及Linux系统可以相互投屏!

本篇其实是电脑远程投屏到另一台电脑的操作介绍。本篇文章的方法可用于Windows&#xff0c;macOS及Linux系统的相互投屏。 为了避免介绍过程中出现“这台电脑”投屏到“那台电脑”的混乱表述&#xff0c;假定当前屏幕投出端是Windows系统电脑&#xff0c;屏幕接收端是Linux系统…...

12.6深度学习_模型优化和迁移_模型移植

八、模型移植 1. 认识ONNX ​ https://onnx.ai/ ​ Open Neural Network Exchange&#xff08;ONNX&#xff0c;开放神经网络交换&#xff09;格式&#xff0c;是一个用于表示深度学习模型的标准&#xff0c;可使模型在不同框架之间进行转移。 ​ ONNX的规范及代码主要由微软…...

Grid++Report:自定义模板设计(自由表格使用),详细教程

实现效果 步骤 一、新建空白 初始状态都是空白页&#xff0c;如果不是&#xff0c;点击右上角->文件->新建空白 二、页面设置 右击页面灰色部分->页面设置 根据需求自定义页面 三、报表头设计 1、新增报表头 右击屏幕->新增->报表节->报表头 点击报表头…...

[Collection与数据结构] 位图与布隆过滤器

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏: &#x1f9ca; Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 &#x1f355; Collection与…...

idea中新建一个空项目

目的&#xff0c;为了在同一个目录下有多个小的项目&#xff1a;使用IDE为idea2022。 步骤&#xff1a; 点击新建项目&#xff0c;点击创建空项目&#xff0c;这里选择空项目是将其作为其他项目的一个容器&#xff0c;如图所示&#xff1a; 然后点击文件->项目结构&#xf…...