Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TODO] 高级比较器 #1413

Open
XeKr opened this issue Dec 27, 2024 · 0 comments
Open

[TODO] 高级比较器 #1413

XeKr opened this issue Dec 27, 2024 · 0 comments
Labels
📋️ TODO Content planned for production

Comments

@XeKr
Copy link
Contributor

XeKr commented Dec 27, 2024

Matters to be added to TODO - 将要加入TODO的事项

高级比较器

Describe what this TODO will do - 描述这个TODO要做的事情

advanced_comparator

可以输入和输出红石信号;多模式;可调节
合成:
空,红石火把,空
比较器,电路板,比较器
铁锭,铁锭,铁锭
四个方向,放置与比较器类似,但是可以悬空,碰撞箱四个像素高(与物品探测器相同)
多模式暂时作为方块状态提供,也可以分成不同的方块(物品只有一个,对应不同的方块)


右键打开gui
image
①是模式选择,有迟滞比较器模式(hysteresis_comparator;按钮文件button_hysteresis)和窗口比较器模式(window_comparator;按钮文件button_window),点击按钮顺序切换,默认为迟滞比较器;
②是是否反转信号,按钮切换 button_reverse_off 和 button_reverse_on 默认为 off;
③是是否从两侧接受控制信号,按钮切换 button_redstone_control_off 和 button_redstone_control_on 默认为 off;
④和⑤为阈值,可按住左右拖动;
⑥为绘图示意区。


通过滑动④和⑤来控制上下阈值,这两个按钮会自动吸附在格点上(0到15的位置),按钮上显示当前位置的数字;
两个按钮重合时,上下阈值相等,再次拖动按钮只会拖动其中一个;
上下阈值与具体是哪个按钮无关,数字高的就是上阈值。

迟滞比较器模式(施密特触发器)时:输入信号大于等于上阈值则输出信号,小于下阈值则不输出信号,其他情况不变化;
窗口比较器模式时:输入信号大于等于下阈值且小于等于上阈值时输出信号,否则不输出;
上述有输出信号则输出信号就是15
反转信号②开启时,输出信号15变0,0变15
红石控制③开启时,④和⑤按钮消失,只能从两侧的红石信号得到上下阈值(一样不分左右,谁高谁就是上阈值)

在绘图区域绘制信号示意图线图,且绘制一个当前输入与输出对应位置的红点

在方块模型中额外渲染一个指针模型(assets\anvilcraft\models\block\advanced_comparator_indicator)
根据输入信号调整该模型的高度,每1红石信号,模型y偏移向上增加三分之一像素(0输入不偏移,1输入向上偏移三分之一像素,6输入向上偏移2像素,以此类推)
根据是否有输入与输出设置自身方块状态(input=false/true,output=false/true)

@XeKr XeKr added the 📋️ TODO Content planned for production label Dec 27, 2024
@XeKr XeKr added this to AnvilCraft Dec 28, 2024
@XeKr XeKr moved this to Todo in AnvilCraft Dec 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
📋️ TODO Content planned for production
Projects
Status: Todo
Development

No branches or pull requests

1 participant