Minecraft 渲染学习难度过高的终极解决方案。
与我的另一个项目 ClickCrystals Script 不同,ImproperUI Script 需要你预先了解以下内容:
ImproperUI 的语法深受 CSS(层叠样式表)启发,不过它并不完全相同。
下面是一张截图,展示了一个带有可拖拽和可滚动元素的交互式界面,作为该模组的主页。
这个界面是使用 ImproperUI Script 编写的:

Version: 0.0.6-BETA
Added:
- added ConfigReader
- added ImproperUIAPI.getConfigReader()
Patches:
- fixed config integer args not parsing properly
要添加 ImproperUI,你需要将它下载为 jar,然后手动添加到 gradle 中。
我不想创建在线仓库,也不想把它做成一个独立模组。Womp Womp。
Here 是一个展示 ImproperUI 如何在模组中使用的示例!
下载 jar,将其添加到你的项目文件中,并在 build.gradle 中作为依赖加入。
dependencies {
compileOnly files("libs/ImproperUI-theVersionYouWant.jar")
}
把下载的 jar 作为模组添加到你的 mods 文件夹中!你必须这样把它作为库来使用!
初始化 API。在这一部分中,你需要对 ImproperUIAPI 调用 init() 函数,然后提供:
modId
main class mod initializer
src/main/resources/ 文件夹内src/main/resources/assets/YOURMODID/improperui/ 文件夹中public class ImproperUI implements ModInitializer {
@Override
public void onInitialize() {
ImproperUIAPI.init("improperui", ImproperUI.class,
"assets/improperui/improperui/what.ui",
"assets/improperui/improperui/screen.ui"
);
}
}
public class YourModInitializer implements ModInitializer {
@Override
public void onInitialize() {
ImproperUIAPI.init("yourModId", YourModInitializer.class,
"assets/yourModId/improperui/yourscreen1.ui",
"assets/yourModId/improperui/yourscreen2.ui"
);
}
}
请注意:当你真正尝试解析或运行脚本时,你引用的是脚本文件名,而不是这里声明的路径!
要监听你在脚本中声明的事件,请创建一个实现 CallbackListener 的新类。
创建一个方法,它需要:
CallbackHandler 注解public class CustomCallbacks implements CallbackListener {
@CallbackHandler
public void sendHelloWorld(MouseEvent e) {
if (e.input.isDown())
ChatUtils.sendMessage("Hello World");
}
}
在你的脚本中,事件应如下所示:
element {
on-click: sendHelloWorld
}
最后,当你声明一个 ImproperUIPanel 界面时,将回调注册到你的 panel:
public void openScreen() {
ImproperUIPanel panel = new ImproperUIPanel();
panel.registerCallback(new CustomCallback());
// parse script and add children elements here
// panel.addChild()
MinecraftClient.getInstance().setScreen(panel);
}
如果你正在运行脚本,请在创建参数中提供你的自定义回调:
public void openScreen() {
ImproperUIAPI.parseAndRunFile("yourModId", "testing.ui", new CustomCallback() /* and more... */);
}
Helper Methods:
- ImproperUIPanel.collect() // a list of all elements and widgets, even their children
- ImproperUIPanel.collectOrdered() // a sorted list based on z-index, of all elements and widgets including their children
- ImproperUIPanel.collectById() // a list of elements with specified ID
- ImproperUIPanel.collectByClassAttribute() // a list of elements with specified class attribute
- ImproperUIPanel.collectById() // first element with specified ID
- ImproperUIPanel.collectByClassAttribute() // first element with specified class attribute
API:
- ImproperUIAPI.parse() // parses a script then returns all parsed result elements
- ImproperUIAPI.parseAndRunFile() // parses a registered script file NAME (NOT PATH) from init() and opens the screen with the elements
- ImproperUIAPI.parseAndRunScript() // parses a registered script from init() and opens the screen with the elements
- ImproperUIAPI.reload() // reloads the API
- ImproperUIAPI.reInit() // re-init the API with possibly a different Mod ID
一个配置键由三个部分组成:modId, confileFile, propertyName。它们用于
保存配置值,比如你的滑块和复选框的值。
要在脚本中使用配置键,只需将这三部分全部写出来,中间不要有空格,并且使用冒号 (:) 分隔。
然后将这个字符串作为元素的属性类使用:
slider #someId -yourModId:config.properties:testing-slider-value -someAnotherAttributeClass {
}
这会创建一个滑块,用于设置并保存配置中的值。
| 元素标签 | 动态 Hover、Select、Focus | 支持子元素 | 支持配置 | 别名 | 特定属性: 类型 |
|---|---|---|---|---|---|
| element | ✅ | ✅ | ✅ | e, div | |
| checkbox | ✅ | ❌ | ✅ | active:boolean | |
| radio | ✅ | ❌ | ✅ | active:boolean | |
| button | ✅ | ❌ | ❌ | ||
| link | ✅ | ❌ | ❌ | a | href:string |
| slider | ❌ | ❌ | ✅ | min:double max:double value:double range:double,double decimal-places:integer | |
| input | ❌ | ❌ | ✅ | textbox | pattern:quote placeholder:quote |
| textfield | ❌ | ❌ | ✅ | textarea | |
| label | ✅ | ❌ | ❌ | textlabel | |
| header1 | ✅ | ❌ | ❌ | h1 | |
| header2 | ✅ | ❌ | ❌ | h2 | |
| header3 | ✅ | ❌ | ❌ | h3 | |
| header4 | ✅ | ❌ | ❌ | h4 | |
| header5 | ✅ | ❌ | ❌ | h5 | |
| header6 | ✅ | ❌ | ❌ | h6 | |
| positionable | ✅ | ✅ | ✅ |
所以请把你的想法通过 pull request 提交上来吧!
给我们点个 Star,以接收最新有趣的更新/pull request!
喜欢这个主页界面吗?这就是它的脚本!
div #background-gradient {
size: 100%
margin-top: 100%
shadow-distance: 50%
shadow-color: #9775a6
}
div #display {
size: 420 240
center: both
border-radius: 10
border-thickness: 1
border-color: #412752
background-color: #2d162c
shadow-distance: 5
shadow-color: #683a68
child-align: grid
grid-columns: 1
div #title {
inner-text: "ImproperUI Interactives"
size: 100% 10
text-align: center
text-scale: 1.69
text-color: #9775a6
background-color: none
margin-top: 15
}
div #motto {
inner-text: "We got CSS in Minecraft before GTA 6"
size: 100% 10
text-align: center
text-scale: 0.8
background-color: none
margin-top: 10
}
div #motto {
inner-text: "The Ultimate Solution To Minecraft Rendering Being Too Difficult"
size: 100% 10
text-align: center
text-scale: 0.8
background-color: none
margin-bottom: 10
}
div #navbar {
size: 100% 15
margin-top: 10
background-color: none
child-align: grid
grid-columns: 100
button #discord {
inner-text: "Discord"
background-color: #9775a6
border-radius: 0
margin: 0
width: 20%
padding-left: 0
padding-right: 0
on-click: openDiscord
hovered => { padding: 3; border-thickness: 0; border-radius: 2; shadow-distance: 2; }
}
button #github {
inner-text: "GitHub"
background-color: #9775a6
border-radius: 0
margin: 0
width: 20%
padding-left: 0
padding-right: 0
on-click: openGithub
hovered => { padding: 3; border-thickness: 0; border-radius: 2; shadow-distance: 2; }
}
button #modrinth {
inner-text: "Modrinth"
background-color: #9775a6
border-radius: 0
margin: 0
width: 20%
padding-left: 0
padding-right: 0
on-click: openModrinth
hovered => { padding: 3; border-thickness: 0; border-radius: 2; shadow-distance: 2; }
}
button #wiki {
inner-text: "Wiki"
background-color: #9775a6
border-radius: 0
margin: 0
width: 20%
padding-left: 0
padding-right: 0
on-click: openWiki
hovered => { padding: 3; border-thickness: 0; border-radius: 2; shadow-distance: 2; }
}
button #wiki {
inner-text: "Example"
background-color: #9775a6
border-radius: 0
margin: 0
width: 20%
padding-left: 0
padding-right: 0
on-click: openExampleScreen
hovered => { padding: 3; border-thickness: 0; border-radius: 2; shadow-distance: 2; }
}
}
div #mini-world {
size: 100% 140
background-color: none
child-align: grid
grid-columns: 21
scrollable: true
background-clip: padding
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/oak_leaves.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } div #greenshade { size: 100%; background-color: green; opacity: 0.5; click-through: true; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/oak_leaves.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } div #greenshade { size: 100%; background-color: green; opacity: 0.5; click-through: true; } }
div #block { background-image: textures/block/oak_leaves.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } div #greenshade { size: 100%; background-color: green; opacity: 0.5; click-through: true; } }
div #block { background-image: textures/block/oak_leaves.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } div #greenshade { size: 100%; background-color: green; opacity: 0.5; click-through: true; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/stone.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/oak_leaves.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } div #greenshade { size: 100%; background-color: green; opacity: 0.5; click-through: true; } }
div #block { background-image: textures/block/oak_leaves.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } div #greenshade { size: 100%; background-color: green; opacity: 0.5; click-through: true; } }
div #block { background-image: textures/block/oak_leaves.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } div #greenshade { size: 100%; background-color: green; opacity: 0.5; click-through: true; } }
div #block { background-image: textures/block/oak_leaves.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } div #greenshade { size: 100%; background-color: green; opacity: 0.5; click-through: true; } }
div #block { background-image: textures/block/oak_leaves.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } div #greenshade { size: 100%; background-color: green; opacity: 0.5; click-through: true; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/stone.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/stone.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/stone.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/stone.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/oak_log.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/grass_block_side.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/grass_block_side.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/grass_block_side.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/stone.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/stone.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/stone.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/stone.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/stone.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/stone.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/oak_log.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/ice.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/grass_block_side.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/grass_block_side.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/grass_block_side.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/grass_block_side.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/grass_block_side.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/grass_block_side.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/grass_block_side.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/grass_block_side.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/grass_block_side.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/grass_block_side.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/grass_block_side.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/grass_block_side.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/grass_block_side.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/grass_block_side.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/grass_block_side.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/grass_block_side.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/grass_block_side.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/grass_block_side.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/grass_block_side.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/grass_block_side.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/grass_block_side.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/grass_block_side.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/grass_block_side.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/grass_block_side.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/grass_block_side.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
div #block { background-image: textures/block/grass_block_side.png; size: 20; draggable: true; hovered => { border-thickness: 1; border-color: white; } }
}
} 友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作
历史访问人数:213,997 | 历史访问人次:323,178
今日访问人数:20,923 | 今日访问人次:24,929
昨日访问人数:30,537 | 昨日访问人次:36,142
Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.
❤ Powered by GermMC 京ICP备17023959号-6