搜索历史
清空
暂无搜索历史
论坛热搜
1
【MC整合包发布】乌托邦探险之旅3.2
热
3
[1.6.4]上古老物 冒险者传说 by WhiteSword
新
5
[转载]洛心斗罗-福利|公会据点战|武魂||抽奖|最终版
2
[1.12.2]Jenny — 有趣的模拟女友模组|珍妮模组
热
4
幻虚斗罗V1.5[炫酷魂环][高级魂技][全模型贴图覆盖][超吸金]
6
[1.7.10] [HQM] [Mercury landing]水星迫降——在未知的世界中挣扎
登陆 注册 QQ登陆
快捷导航
查看: 19|回复: 0

[模组分享] Tau (Tau)-MOD模组

[复制链接]

5159

主题

5

回帖

6129

积分

龙❁妻

Rank: 8Rank: 8

经验
6129 EP
金粒
928 粒
绿宝石
20 块
爱心
0 点
发表于 2025-8-10 19:32:56 | 显示全部楼层 |阅读模式
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 回复 收起回复
小僵尸论坛感谢有你~
回复 论坛版权

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 手机动态码快速登录

本版积分规则



介绍

我的世界(Minecraft)小僵尸论坛
收录了来自各地的我的世界(MC)爱好者们的各种资源

须知: 切勿滥用举报,任何与举报相关的信息必须属实!

"Minecraft"以及"我的世界"为Mojang Synergies AB的商标 本站与Mojang以及微软公司没有从属关系

官方

新浪微博 腾讯微博 微信公众号 投稿规则 版权声明 捐助我们

官方QQ①群: 291907844 (点击加群)
官方QQ②群: 421312192
官方QQ③群: 528726532

我的世界(Minecraft)小僵尸论坛

新会员

QQ|Archiver|手机版|小黑屋|Minecraft(我的世界)小僵尸论坛 |网站地图

GMT+8, 2025-9-26 02:50 , Processed in 0.253940 second(s), 52 queries .

快速回复 返回顶部 返回列表