WIKI主页 作者 我的
?
 

矿物扫描

(222) [同群组]  
编辑功能已停用  词条设置
上次编辑于 2023/9/11 23:05:35
创建者蓝洲腐竹
编辑记录(简略) 编辑记录(详细)
相关文件夹
设铁匠魂模组 模组
相关推荐
滨蜀 滨蜀MC整合包 1.18.2 新中海城的模组
一个新模组

不同于设铁匠魂模组,它不加入任何物品、方块、生物,只加入两个指令。

关于如何下载模组和画图器,可以去中海共和国的城市:模组jar专区下载

正文介绍

众所周知,JER模组在1.12+没有扫描矿物生成情况的指令和功能了。这样就让找小众模组里的矿物最佳层数很困难,总不能拿小木斧逐层搜索吧!

[此模组为MC添加了类似的功能]

但是毕竟mcr做的模组,功能有限,只能扫描矿物生成情况,生成Y轴与每层矿物个数一一对应的函数json文件。简易的MOD既不能画图,也不能联动JEI。画图需要下载作者提供的画图器,可以读取你的文件。

[模组功能]

[添加了三个游戏规则:]

xz------调整X坐标范围(指从玩家位置加多少格)

zz-------调整Z坐标范围(同上)

dolist-----决定系统是否发布扫描进度(开了会扫描慢一些,不过能看到扫描到哪里了)

[添加了两条指令:]

/orescan

这个指令可以扫描。

扫描对象:你脚底下踩的方块。

扫描范围:从玩家位置的X、Z开始,Y轴=1,向X正方向和Z正方向分别扫描你的xz、zz游戏规则设置的方块数量,构成一个面。这个面扫描完毕就会上升一格重复,直到扫描到你脚下的方块的下面那个方块的一层截止。

[生成的json例子和注释:]

{

"command": "common",这个是代表你这个命令是什么种类(common=个数,proportion=几率)

"block": "Block未找到素材:minecraft",(这个是方块)

"x": 160,

"max_y": 68,

"z": 160,(XYZ范围,即扫描区域尺寸)

"0": 0,

"1": 6,

"2": 21,

"3": 19,

"4": 16,

"5": 21,

"6": 24,

"7": 28,

"8": 28,

"9": 35,

"10": 34,

"11": 25,

"12": 31,

"13": 24,

"14": 15,

"15": 1,(Y轴对应这一层所含此方块的数量,长宽在游戏规则里定好)

......

"68": 0,

"best_y": 9.0,(在这一个区域挖掘它的最佳层数,这是钻石矿,如果样本量足够大,这个值理论上是11,但是我这个只有100区块)

"the_most": 35.0,(最佳层数的该方块数量)

"all_block": 328.0(这个区域所有该方块的数量)

}

/orescan_proportion

和上面同理,只不过所有方块数量都变成了数量与X*Z(面积)之比。当你在扫描石头之类的大量方块时推荐用它,而钻石则很不推荐。

模组扫描完了后,会生成一个json文件,文件名称为方块名称+随机数,路径为游戏文件夹/scc/orescan。

[绘图器如何使用?]

1文件也放到游戏文件夹/scc/orescan,用python3.7打开,运行。

2程序会先让你输入你要多少条线。你要同时看几个文件,就写几。

3然后会让你输入此线的rgb。范围0-255。(最好和别的线有分辨率)

4之后让你输入文件名称,你就把生成的json文件名称(不要有后缀名!)复制进去就行了。

你要看几个文件,程序就会让你重复3、4步骤几次。

最后,图像就生成好了,可以导出(python内置功能)。

[兼容性]

理论上,兼容任何模组,任何维度,除非最低高度不是0。

[计划:]

1.16.5、1.18.2的forge、fabric版本。python和mcr又不受制于版本!

/orescan

扫描矿物用的。扫描对象是你脚下的方块,而范围是你定的游戏规则xz和zz(从玩家位置到X轴正方向xz格的地方,Z同理)。

游戏规则xz、zz

X坐标的意思。xz=zz=1相当于坐标的~1 y ~1。它是相对坐标。

游戏规则dolist

当它为true时,扫描矿物时会发送扫描进度(扫描到哪个坐标了?绝对坐标)。关闭它可显著提升扫描速度,开启它可直观看到扫描进度。

百科

https://www.mcmod.cn/class/7679.html

代码

[模组ID版本等内容]

modLoader="javafml"

loaderVersion="[36,)"

license="Academic Free License v3.0"

[[mods]]

modId="osmod"

version="1.3.4"

displayName="orescan"

credits="http://115.159.76.33:800/Wiki/ViewWiki?wikiId=222"

displayURL="https://www.mcmod.cn/class/7679.html"

authors="设铁滨中海"

description='''

扫描矿石生成用的

'''

[[dependencies.osmod]]

modId="minecraft"

mandatory=true

versionRange="[1.16.5]"

ordering="NONE"

side="BOTH"

[python]

import json

import matplotlib.pyplot as plt

import numpy as np

import os

import random

#导入

setime=int(input('请输入你要几条线'))

time=1

while time<=setime:

r=(float(input('请输入R'))/255)

g=(float(input('请输入G'))/255)

b=(float(input('请输入B'))/255)

time=time+1

liy=[]

linu=[]

y=0

my=0

mnu=0

#注册变量

file=input('请输入你要查看的文件名称(不包括文件后缀)')+'.json'

#输入文件名称(路径和此程序相同即可)

with open(file, encoding='utf-8') as a:

result = json.load(a)

my=int((result.get('max_y')))

mnu=int((result.get('the_most')))

y=my

#获取一些json数据

while y>=0:

nu=int((result.get('%s'%y)))

list.append(liy,y)

list.append(linu,nu)

y=int(y-1)

#把json数据写入列表,形成Y集合与数量集合一一对应的函数列表

fanliy=reversed(liy)

plt.title(result.get('block'))

#标题为方块ID

plt.xlabel('Y')

plt.ylabel('block number')

plt.plot(range(len(liy)), list(reversed(linu)), label=(result.get('block')), color=(r,g,b,1))

#画函数

设置标注

plt.legend(loc='upper right')

plt.show()

logo
相关文件夹
设铁匠魂模组 模组
相关推荐
滨蜀 滨蜀MC整合包 1.18.2 新中海城的模组

评论区

登录后可发表评论
返回
主页

此处为旧版站,数据与新版不互通且将会被丢弃,请勿写入内容
© 2022 - 蓝洲腐竹
若作者不另外说明,本站内容由其作者保留全部所有权,未经允许请勿转载,使用及改编
友情链接   东宁要览  轨交棋 q群   本站新版(测试中) 自然地图生成器
鄂ICP备14015516号