滨蜀 | 滨蜀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(这个区域所有该方块的数量)
}
和上面同理,只不过所有方块数量都变成了数量与X*Z(面积)之比。当你在扫描石头之类的大量方块时推荐用它,而钻石则很不推荐。
模组扫描完了后,会生成一个json文件,文件名称为方块名称+随机数,路径为游戏文件夹/scc/orescan。
[绘图器如何使用?]
1文件也放到游戏文件夹/scc/orescan,用python3.7打开,运行。
2程序会先让你输入你要多少条线。你要同时看几个文件,就写几。
3然后会让你输入此线的rgb。范围0-255。(最好和别的线有分辨率)
4之后让你输入文件名称,你就把生成的json文件名称(不要有后缀名!)复制进去就行了。
你要看几个文件,程序就会让你重复3、4步骤几次。
最后,图像就生成好了,可以导出(python内置功能)。
[兼容性]
理论上,兼容任何模组,任何维度,除非最低高度不是0。
[计划:]
扫描矿物用的。扫描对象是你脚下的方块,而范围是你定的游戏规则xz和zz(从玩家位置到X轴正方向xz格的地方,Z同理)。
X坐标的意思。xz=zz=1相当于坐标的~1 y ~1。它是相对坐标。
当它为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()
滨蜀 | 滨蜀MC整合包 1.18.2 | 新中海城的模组 |