史莱姆区块是干嘛的_史莱姆牧场史莱姆分布「建议收藏」

史莱姆区块是干嘛的_史莱姆牧场史莱姆分布「建议收藏」现有的史莱姆区块查找器打不开史莱姆区块查找器,自己写一个算了importjava.util.Random;importjava.util.Scanner;/***@Author:长得太帅,要好好反省!*@Date:2

现有的史莱姆区块查找器
打不开史莱姆区块查找器,自己写一个算了

步骤:
1、新建一个txt文件,复制下面代码到文件里并保存,然后文件名连同后缀改为
McCheckSlimeChunk.java
2、打开cmd进入java文件所在文件夹,执行
javac -encoding utf-8 McCheckSlimechunk.java
3、没有产生提示,且生成了一个McCheckSlimeChunk.class文件,此时执行
java McCheckSlimeChunk
即可运行。
4、最后还可以在McCheckSlimeChunk.class所在的文件夹新建一个txt文件,输入

java McCheckSlimeChunk
PAUSE

保存,后缀txt改为bat,创建快捷方式到桌面即可随时使用。

注意点:
1、相信玩MC的都装了Java环境。
2、只是方便查找,存在无数BUG
3、显示坐标均为区块坐标
4、报错找不到或无法加载主类,java环境配置有问题,参考知乎

import java.util.Random;
import java.util.Scanner;

/** * @Author: 长得太帅,要好好反省! * @Date: 2021/4/2 * @Description: */
public class McCheckSlimeChunk { 
   

    public static void main(String args[])
    { 
   

        long seed = 0L;        	// 默认地图种子
		
        int xStart = 0;			// X轴区块从开始
        int xEnd = 16;			// X轴区块到这里为止
        int zStart = 0;			// Z轴区块从开始
        int zEnd = 16;			// Z轴区块到这里为止

        Scanner sc = new Scanner(System.in);

        System.out.println("input seed(输入地图种子):");
        seed = sc.nextLong();
        System.out.print("start x(X轴起始区块):");
        xStart = sc.nextInt();
        System.out.print("end x(X轴结束区块):");
        xEnd = sc.nextInt();
        System.out.print("start z(Z轴起始区块):");
        zStart = sc.nextInt();
        System.out.print("end z(Z轴结束区块):");
        zEnd = sc.nextInt();

        System.out.println("种子:" + seed + " x:" + xStart + "~" + xEnd + " z:" + zStart + "~" + zEnd);

        if(xStart > xEnd || zStart > zEnd){ 
   
            System.out.println("start value must be less than end value!");
            System.out.println("起始区位置块应该小于结束区块!");
            return;
        }

        String[][] chunks = new String[xEnd - xStart + 1][zEnd - zStart + 1];

        int x = xStart;
        while (x <= xEnd){ 
   
            int z = zStart;
            while (z <= zEnd){ 
   
				// 官方算法
                Random rnd = new Random(
                        seed +
                                (int) (x * x * 0x4c1906) +
                                (int) (x * 0x5ac0db) +
                                (int) (z * z) * 0x4307a7L +
                                (int) (z * 0x5f24f) ^ 0x3ad8025f
                );
                if(rnd.nextInt(10) == 0){ 
   
// System.out.println("(" + x + ", " + z +")");
                    chunks[x - xStart][z - zStart] = "■";
                }else chunks[x - xStart][z - zStart] = "□";
                z++;
            }
            x++;
        }
		// 打印分布情况,横向X轴,纵向Z轴,实心区块为史莱姆区块
        for (int zIndex = 0; zIndex < chunks[0].length; zIndex++){ 
   
            if(zIndex == 0){ 
   
                System.out.print(" ");
                for(int xHead = 0; xHead < chunks.length; xHead++) { 
   
					if(xHead % 4 == 0)
						System.out.print("\t" + (xHead + xStart));
                }
                System.out.println("\t x");
            }
            for(int xIndex = 0; xIndex < chunks.length; xIndex++){ 
   
                if(xIndex == 0){ 
   
                    System.out.printf("%7d ",zIndex + zStart);
                }
                System.out.print("" + chunks[xIndex][zIndex]);
            }
            System.out.println();
        }
        System.out.printf("%7s ", "z");
    }
}

效果图:
在这里插入图片描述

今天的文章史莱姆区块是干嘛的_史莱姆牧场史莱姆分布「建议收藏」分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/63911.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注