|
Tau (Tau)Github |相关wiki |源站链接支持: forgeTau是Minecraft的一个多功能而强大的UI库,为制作UI提供了类似于Flutter的语法。
分步骤输出:
Tau (Tau)
Tau是Minecraft的一个多功能而强大的UI库,为制作UI提供了类似于Flutter的语法。
Tau是一个用于Minecraft Forge的UI库,简化了创建图形用户界面(GUI)的过程。它提供了类似于Flutter的语法,用于创建和定制UI元素的外观,使开发人员能够轻松创建具有吸引力、响应式和功能性的界面。
Key Features
- *类似于Flutter的语法*:Tau使用类似于Flutter的语法,使熟悉Flutter的开发人员能够轻松开始使用Tau。
- *可扩展性*:Tau被设计为可扩展的,允许开发人员向库中添加自定义UI元素和小部件。
- *易于使用*:Tau被设计为易于使用。我个人真的不喜欢制作Minecraft UI时涉及的工作流程。Tau将这种工作流程改变为更有组织性和可维护性的方式(在我看来)。
功能
目前,Tau有两个渲染器。它们是建立在现有的Minecraft UI渲染器之上的。其中一个用于屏幕(Screen),另一个用于Hud。因此,您可以使用Tau来构建Hud和各种不同类型的屏幕,如您所需。目前版本(1.0.0)还不支持为容器创建UI。但这是我想研究的一个方向。
例子
以下是一些可以用来设置简单Tau UI的示例代码:
java
public class ExampleUI implements UIComponent {
@Override
public UIComponent build(Layout layout) {
return new Stack(
new Container.Builder().withColor(Color.WHITE),
new Center(new Sized(
Size.staticSize(new Vector2i(100, 20)),
new TextField.Builder()
.withMessage(new StringTextComponent(\"Hello\"))
.withHintText(new StringTextComponent(\"Hello!\")))
));
}
}
在这个片段中,它创建了一系列叠加在彼此上方的UI元素。在这种情况下,一个填充了白色的空容器,以及一个文本字段,大小为100(宽)20(高),居中显示在屏幕中央,带有一个\"Hello\"的解说消息和\"Hello!\"的提示文本!
最后,此UI可以显示在屏幕上:
java
Minecraft.getInstance().setScreen(new ScreenUIRenderer(new TestStatic()));
入门指南
您可以访问[这里](链接)的文档网站。
来自Modrinth所有游戏版本1.20.61.19.41.19.31.18.21.16.31.16.41.16.5所有类型neoforgeforgeTau 2.0.0Tau-2.0.0.jar下载2.0.0#Beta# v2.0.0 Neoforge-1.20.6 Major Update - Changes since Tau 1.0.3-1.19## API Changes- `Vector2i` renamed to `SimpleVec2i`- Theme signature changes to work with the new Minecraft `GuiGraphics` API- Removed `ScaleTransform` and `TranslationTransform`- `Transformation` is no longer an interface but a class- Added `scale` and `translate` methods to the Transform class to replace `ScaleTransform` and `TranslationTransform`- `Transform` component will now also transform inputs given to the children components- `PrimitiveComponent#build` will now take in a `BuildContext` instead of lists- Added `ClientTooltipPositioner` parameter to `Tooltip`- Added `menu` package- Adds container/menu support to Tau- Tau can now be used to create UI with inventories- Added new `PlayerInventory` and `ItemSlot` Component (These components will only function in a `TauMenu`)## Internal Changes- `ListView` no longer scrolls per child component and instead scrolls by a fixed amount- `DynamicUIComponent` no longer exposes dangerous fields展开版本: 2.0.0支持游戏: 1.20.6类型:NeoForgeBeta下载次数: 48Tau 1.0.3-1.19Tau-1.0.3-1.19.jar下载1.0.3-1.19#Release# 1.0.3-1.19## Others- Updated to minecraft 1.19.4展开版本: 1.0.3-1.19支持游戏: 1.19.4类型:ForgeRelease下载次数: 53Tau 1.0.2-1.19Tau-1.0.2-1.19.jar下载1.0.2-1.19#Release# v1.0.2-1.19 Update## Others- Updated the tooltip parameter of the Theme.drawTooltip method to take in a list of `ClientTooltipComponent` instead of `FormattedText` to increase the capabilities of Tooltips- Added `withComponent` method for adding `ClientTooltipComponent` to tooltips to `Tooltip.Builder`展开版本: 1.0.2-1.19支持游戏: 1.19.3类型:ForgeRelease下载次数: 55Tau 1.0.2-1.18Tau-1.0.2-1.18.jar下载1.0.2-1.18#Release# v1.0.2-1.18 Update## Others- Updated the tooltip parameter of the Theme.drawTooltip method to take in a list of `ClientTooltipComponent` instead of `FormattedText` to increase the capabilities of Tooltips- Added `withComponent` method for adding `ClientTooltipComponent` to tooltips to `Tooltip.Builder`展开版本: 1.0.2-1.18支持游戏: 1.18.2类型:ForgeRelease下载次数: 58Tau 1.0.1-1.18-HOTFIXTau-1.0.1-1.18-HOTFIX.jar下载1.0.1-1.18-HOTFIX#ReleaseExcluded test展开版本: 1.0.1-1.18-HOTFIX支持游戏: 1.18.2类型:ForgeRelease下载次数: 50Tau 1.2.1-1.16Tau-1.2.1.jar下载1.2.1#Release# 1.2.1-1.16 Minor Update## Others- Fixed ScreenUIRendere r not being able to be closed by e or escape key展开版本: 1.2.1支持游戏: 1.16.3, 1.16.4, 1.16.5类型:ForgeRelease下载次数: 77Tau 1.0.1-1.19Tau-1.0.1-1.19.jar下载1.0.1-1.19#Release# 1.0.1-1.19 Minor Update## Others- Fixed ScreenUIRenderer not being able to be closed by e or escape key展开版本: 1.0.1-1.19支持游戏: 1.19.3类型:ForgeRelease下载次数: 51Tau 1.0.1-1.18Tau-1.0.1-1.18.jar下载1.0.1-1.18#Release# 1.0.1-1.18 Minor Update## Others- Fixed ScreenUIRenderer not being able to be closed by e or escape key展开版本: 1.0.1-1.18支持游戏: 1.18.2类型:ForgeRelease下载次数: 54Tau 1.0.0-1.18Tau-1.0.0-1.18.jar下载1.0.0-1.18#Release# v1.0.0-1.18 Major Update## Others- Ported most functionalities to minecraft version 1.18.2- Changes below are the differences compared for Tau v1.2.0 - 1.16.x- `Tooltip` no longer allow custom colors for its border and background- Removed `showDecimals` field from `Slider`- Added parameter `stepSize` and `decimalPlaces` to `Slider`- Added method `drawTooltip` to `Theme`- Removed tooltip color related methods from `Theme`展开版本: 1.0.0-1.18支持游戏: 1.18.2类型:ForgeRelease下载次数: 48Tau 1.0.0-1.19Tau-1.0.0-1.19.jar下载1.0.0-1.19#Release# v1.0.0-1.19 Major Update## Others- Ported most functionalities to minecraft version 1.19.3- Changes below are the differences compared for Tau v1.2.0 - 1.16.x- `Tooltip` no longer allow custom colors for its border and background- Removed `showDecimals` field from `Slider`- Added parameter `stepSize` and `decimalPlaces` to `Slider`- Renamed `Renderable` to `RenderableComponent`- Added method `drawTooltip` to `Theme`- Removed tooltip color related methods from `Theme`展开版本: 1.0.0-1.19支持游戏: 1.19.3类型:ForgeRelease下载次数: 46Tau 1.2.0-1.16Tau-1.2.0.jar下载1.2.0#Release# v1.2.0 - Major Update## Others1. Removed Color Schemes2. Created Themes which handles rendering for `Button`, `Container`3. Created Default Minecraft Theme4. Container no longer has the `color` field, and the `noColor` field has been renamed to `noBackground`展开版本: 1.2.0支持游戏: 1.16.3, 1.16.4, 1.16.5类型:ForgeRelease下载次数: 61Tau 1.1.0-1.16Tau-1.1.0.jar下载1.1.0#Release# v1.1.0 - Major Update## Built-in Components1. Added `Spacer` - Allows spacing out items in a Row/Column/ListView2. Added `If` - Allows child component to be displayed if a condition is met## Others1. Added Color Schemes2. Added parameter boolean `drawColor` to `Container`3. Added color parameters to `Tooltip`4. Created `StringAlignUtils`5. Added option to not render gray background in ScreenUIRenderer6. Added `sizeBehaviour` field to `Container`7. Fixed `DynamicUIComponent` crashes8. Added more constructors for `ScreenUIRenderer` and `HudUIRenderer`# v1.0.5 - Minor Update## Built-in Components1. Added `Slider`2. Added `FlatButton`## Others1. Texture.Builder now has a constructor parameter for texture location instead of it being in the build method2. `Button` now uses GuiUtils.drawContinuousTextureBox so it can be any size without any problems3. All UIComponents that takes in a list of children now accept Iterables and Arrays.4. Fixed tooltip being drawn over5. Fixed `Padding` not behaving as intended# v1.0.4 - Minor Update## Others1. `Button`\'s `onPress` callback is now a `Consumer<Integer>` instead of `Runnable` and accepts an integer as the mouse button pressed2. Fixed `Text`\'s `WRAP` overflow not behaving as intended3. Fixed `Text`\'s `CLIP` overflow not behaving as intended4. Added `ELLIPSIS` overflow behaviour to text5. `Texture`\'s default uvSize is now the texture size instead of 0x06. Added `size` field to Texture# v1.0.3 - Minor Update## Others1. Renamed interface `Renderer` to `RenderProvider`2. Created built-in `RenderProvider` - `ItemRenderProvider`# v1.0.2 - Minor Update## Built-in Components1. Added `Tooltip` that renders a tooltip when child component is hovered# v1.0.1 - Minor Update## Built-in Components1. Added `Texture` that renders a texture2. Added `ListView` that displays a list of items in a columns and creates a scrollable view3. Added `Clip` that clips all graphics drawn outside its boundary4. Added `Renderable` that is just a wrapper for an IRenderable## Others1. Added `getPosition` overload in Layout that returns position in `Vector2i` and takes in the size with `Vector2i`2. Fixed `Container` wasn\'t actually using the color given by the parameter3. Added `within` static method in `Vector2i` that checks if a coordinate is within a `Vector2i` of postiion and another `Vector2i` of size4. Fixed `DynamicUIComponent` not being setup correctly if it implements `PrimitiveUIComponent`5. Fixed crashes with `DynamicUIComponent`6. `DynamicUIComponent` now caches layout internally and no longer requires `Layout` to be passed into `rebuild`7. Made small performance improvement to `DynamicUIComponent`8. Added `copy` method to `Layout` and `StackedAxialSettings` that deep copies the data9. Added new `Size` function10. Added new overload for percentage `Size`11. Added new overload for static `Size`## Known Issues1. IGuiEventListeners are interactable after being clipped展开版本: 1.1.0支持游戏: 1.16.3, 1.16.4, 1.16.5类型:ForgeRelease下载次数: 55Tau 1.0.0-1.16tau-1.0.0.jar下载1.0.0#Release# Initial Release## Built-in Renderers1. ScreenUIRenderer2. HudUIRenderer## Built-in Components1. Align2. Button3. Center4. Column5. Container6. Padding7. Positioned8. Render9. Row10. Sized11. Stack12. Text13. TextField14. Transform15. WidgetWrapper展开版本: 1.0.0支持游戏: 1.16.3, 1.16.4, 1.16.5类型:ForgeRelease下载次数: 52全部版本
markdown_parsed
文章类型:收录
layui.use([\'form\'], function(){
var form = layui.form;
});
Tau |
楼主
2025-8-10 19:32:56
回复(0)
收起回复
|