我的世界模式指令(我的世界如果给村民一天创造模式)

我的世界模式指令

接下来具体说说我的世界如果给村民一天创造模式

一、我的世界:如果给村民一天创造模式

如果给村民们一天的创造模式你觉得他们都会做些什么?刚开启指令不久一个村民开始用绿宝石建造起了房子,用绿宝石块建的房子真是豪气外露。此时两只苦力怕正在追着一名村民,难道没有人告诉你现在是创造模式?村民一听这话拿出TNT便向苦力怕丢去。

小哥一个转身便被眼前的景色惊呆了,刚离开不到一分钟他们竟然建了一座城市,小哥满意的看着这一切。来到一处商店内小哥发现货架上的商品全是0元,这竟然是一个免费的商店。这个村民买了一堆的资源,话说他们不是创造模式吗?买这些又有什么意义?

我的世界模式指令(我的世界如果给村民一天创造模式)

小哥来到外面想看看村民们还做不做正经交易,于是便拦住了一名村民。打开交易栏的他瞬间亚麻呆住了,两组绿宝石换一条生鱼。不信邪的小哥又找到了一名村民,用一把1000级的钻石剑换一组钻虚块。这样的钻石剑谁能获得?你疯了吗?

不等小哥斥责完村民,他拿出TNT便向小哥扔去。此时的小哥有些生气,这些村民有点失控了,就让哥斯拉来教教他们怎么做人。小哥说完用指令召唤出了一只哥斯拉。此时的村民不知从哪搞来了火箭筒,而哥斯拉上来就是给村民喂了两发超大型火焰弹。

我的世界模式指令(我的世界如果给村民一天创造模式)

哥斯拉现在正逐渐向着城市走去,忽然小哥发现楼顶有两个人正在酿造药水。一名村民拿起药水便向哥斯拉丢去,这些人竟然把它变成了迷你哥斯拉。一名村民抱起它就跑。小哥一路追随,发现村民竟把迷你哥斯拉放进了一个迷你的动物园里,而小哥也只好放弃了它。

不久小哥发现了一个矿洞,来到洞内发现村民在驱赶着僵尸为他们挖矿。这些村民还真是有趣。洞外小哥发现村民正在制作一个巨大的钻石傀儡,而此时刚好有一名僵尸逃了出来,钻石傀儡上来就是一锤子砸了下去,僵尸直接被砸到了地下。而这名村民拿个水桶想要跳楼。小哥本想拦住他却发现原来他是在挑战落地水,周围的村民瞬间欢呼了起来。

我的世界模式指令(我的世界如果给村民一天创造模式)

镜头一转此时这群村民开始搭建末地传送门,来到末地的村民抄起钻石剑就向着末影龙追去。没过多久村民便解决了它。

刚回到主世界的小哥便发现有一队掠夺者来袭,他们显然并不知道村民现在是创造模式,一名掠夺者率先发射了一门大炮。此时这名正在上厕所的村民懵逼的看着这一切。不久一些看热闹的村民聚拢过来看到了他的惨状。

我的世界模式指令(我的世界如果给村民一天创造模式)

出丑的村民夺门而出在地上放了个命令方块,一顿操作后激活了它。忽然闪电劈在了掠夺者那里,他们竟然消失在了原地。小哥转身注意到了远处一个没见过的建筑,靠近一看原来他们是被传送到了这里,这看起来像个跑酷的地方,终点还有个装着奖品的箱子,村民们还真会玩。

此时一名掠夺者率先出击,在第三个跳台上突然一个老寒腿掉进了岩浆。而第二名掠夺者显然有实力多了,跳到中间后开始蹦跶起来。一名村民看不下去直接把他推了下来。掠夺者见到这一幕便开始商量起来,一番商讨后他们排队便向前冲,中途不免有几个掉进了岩浆里。

我的世界模式指令(我的世界如果给村民一天创造模式)

紧接着幸存的掠夺者被带到了一个角斗场,村民们开始聚集到观众席上,同时一只突变僵尸被带了上来。一名胆大的掠夺者率先冲向了它,结果却被抬手击飞出天际。

看到这一幕的其他掠夺者被吓的四散奔逃,其中两个不幸被突变僵尸抓住按在地上摩擦,随后被扔飞了出去。一名掠夺者用工作台合成一个TNT向它扔去,一个TNT就足以把它给砸了。

我的世界模式指令(我的世界如果给村民一天创造模式)

·靠前回合掠夺者胜,下一回合的对手竟然是菜鸟,看到势单力薄的菜鸟他们直接冲了过去。菜鸟见状拿起泥土便制作了个泥土傀儡,泥土傀儡抬手把菜鸟给击飞了,而掠夺者们显然并不害怕它,一番打斗后解决掉了它。

看来这是最后一场战斗了,村民开始向他们扔大量的资源,然而其中一名村民直接向他们扔了个TNT,这家伙还真是恶趣味,有的人在玩而有的人却已经开始向太空进军。

·两名村民登机后火箭便起飞了,村民们欢呼了起来。大半天的时间过去,忽然小哥发现了一个村民在做TNT房子,你知道用TNT建房子有多危险吗?傻子村民摇头后便没再理会小哥,转头一看发现这名村民还在过着田园生活。

我的世界模式指令(我的世界如果给村民一天创造模式)

你现在难道不是创造模式吗?村民不明真相的摇了摇头,忽然两个TNT飞过来把他连同房子一起给炸毁了。旁边用TNT盖房子的村民紧张的跑开了,现在是时候收回他们的创造模式了。

二、RabbitMQ工作模式-简单模式

一、简单模式(Hello World)

官网地址:https://www.rabbitmq.com/tutorials/tutorial-one-java.html

我的世界模式指令(我的世界如果给村民一天创造模式)

工作流程

P:生产者,也就是发送消息的程序。

C:消费者, 消费者是一个主要等待接收消息的程序

Queue :消息队列,上图中红色部分,类似一个邮箱,它本质是一个大型的消息缓存区,生产者可以将消息发送到队列,消费者可以尝试从队列中接收数据。

请注意,生产者、消费者和代理不必驻留在同一主机上;事实上,在大多数应用中它们并不这样做。应用程序也可以既是生产者又是消费者。

简单模式就是一个生产者发送消息,一个消费者消费消息,消息的消费者监听消息队列,如果队列中有消息,就消费掉,消息被拿走后,自动从队列中删除。

简单工作模式的代码不在这里介绍了。上一篇《RabbitMQ入门有》介绍。

编写生产者

package com.yourui.mq; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.rabbitmq.client.ConnectionFactory; import java.nio.charset.StandardCharsets; /** * @author : pankx * @description : * @date : 2023/8/29 19:55 */ public class Producer { private final static String QUEUE_NAME = "hello" ; public static void main (String[] argv) throws Exception { //创建工厂链接 ConnectionFactory factory = new ConnectionFactory(); //主机地址 factory.setHost( "localhost" ); //端口地址,不写默认为 15672 factory.setPort( 5672 ); //虚拟主机名称;默认为 factory.setVirtualHost( "/" ); //连接用户名;默认为guest factory.setUsername( "admin" ); //连接密码;默认为guest factory.setPassword( "admin" ); //创建链接 try (Connection connection = factory.newConnection(); //创建channel链接通道 Channel channel = connection.createChannel()) { /** * 声明(创建)队列 * queue 参数1:队列名称 * durable 参数2:是否定义持久化队列,当mq重启之后,数据还存在 * exclusive 参数3:是否独占本次连接 * ① 是否独占,只能有一个消费者监听这个队列 * ② 当connection关闭时,是否删除队列 * autoDelete 参数4:是否在不使用的时候自动删除队列,当没有consumer时,自动删除 * arguments 参数5:队列其它参数 */ channel.queueDeclare(QUEUE_NAME, false , false , false , null ); //发送消息内容 String message = "Hello World!" ; /** * 参数1:交换机名称,如果没有指定则使用默认"" * 参数2:路由key,简单模式可以传递队列名称 * 参数3:消息的其它配置信息,暂时可以不配置 * 参数4:消息主体,这里为 UTF-8 格式的字节数组,可以有效地杜绝中文乱码。 */ while ( true ){ channel.basicPublish( "" , QUEUE_NAME, null , message.getBytes(StandardCharsets.UTF_8)); //打印发送的消息 System.out.println( " [x] Sent '" + message + "'" ); Thread.sleep( 1000 ); } } }}

编写消费者

package com.yourui.mq; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.rabbitmq.client.ConnectionFactory; import com.rabbitmq.client.DeliverCallback; import java.nio.charset.StandardCharsets; /** * @author : pankx * @description:消费者 * @date: 2023/8/29 20:06 */ public class Consumer { /** 创建队列Queue,通过信道获取队列的数据*/ private final static String QUEUE_NAME = "hello" ; public static void main( String [] argv) throws Exception { //创建工厂类 ConnectionFactory factory = new ConnectionFactory (); //设置rabbitmq主机 factory.setHost( "localhost" ); //端口 默认值 5672 factory.setPort( 5672 ); //虚拟机 默认值/ factory.setVirtualHost( "/" ); //用户名 factory.setUsername( "admin" ); //密码 factory.setPassword( "admin" ); //创建connection 链接 Connection connection = factory.newConnection(); //创建channel链接通道 Channel channel = connection.createChannel(); /** * 声明(创建)队列 * queue 参数1:队列名称 * durable 参数2:是否定义持久化队列,当mq重启之后,数据还存在 * exclusive 参数3:是否独占本次连接 * ① 是否独占,只能有一个消费者监听这个队列 * ② 当connection关闭时,是否删除队列 * autoDelete 参数4:是否在不使用的时候自动删除队列,当没有consumer时,自动删除 * arguments 参数5:队列其它参数 */ channel.queueDeclare( QUEUE_NAME , false , false , false , null); //等待接收消息的日志 System .out. println ( " [*] Waiting for messages. To exit press CTRL+C" ); /**接收队列中数据的方法 回调方法,当收到消息后,会自动执行该方法 1. consumerTag:标识 2. envelope:获取一些信息,交换机,路由key... 3. properties:配置信息 4. body:数据 */ DeliverCallback deliverCallback = (consumerTag, delivery) -> { String message = new String (delivery.getBody(), StandardCharsets . UTF_8 ); //打印接收消息的日志 System .out. println ( " [x] Received '" + message + "'" ); }; /**参数: 1. queue:队列名称 2. autoAck:是否自动确认 ,类似咱们发短信,发送成功会收到一个确认消息(如果自动签收,会删除队列的该条消息) 3. DeliverCallback:回调对象 4、CancelCallback :中断正在执行的调度任务 */ //消费者类似一个监听程序,主要是用来监听消息 channel.basicConsume( QUEUE_NAME , true , deliverCallback, consumerTag -> { }); }}

运行程序查看结果

启动生产者

我的世界模式指令(我的世界如果给村民一天创造模式)

登录控制台可以查看队列名称等, 在消息发送的过程中,也可以使用 RabbitMQ 的管理面板查看到消息的走势图,如下所示。队列的名称,消息消费的走势等。

启动消费者

我的世界模式指令(我的世界如果给村民一天创造模式)

到这利用RabbitMQ失效生产和消费Hello world的就完成了。

代码示例:

以上就是我的世界模式指令(我的世界如果给村民一天创造模式)的详细内容,希望通过阅读小编的文章之后能够有所收获!更多请关注喜价游戏网其它相关文章!

如若转载,请注明出处:https://www.xijia.cn/youxi/37272.html

(0)
上一篇 2023-10-10 07:24:54
下一篇 2023-10-10 07:27:40

相关推荐