diff --git a/README.md b/README.md index c9c3374..bbf6da0 100644 --- a/README.md +++ b/README.md @@ -1,37 +1,22 @@ -# anatawa12's ForgeGradle 1.2 fork for Gradle 4.4.1+ - example project - -This is an example mod using the [fork of ForgeGradle-1.2 made by anatawa12](https://github.com/anatawa12/ForgeGradle-1.2). -This fork supports Gradle 4.4.1 and later. This example project uses Gradle 5.6.4. - -## How to use this example project - -You can download this example project from [here](https://github.com/anatawa12/ForgeGradle-example/archive/master.zip), or use it as a template on Github. -This project can be used as a replacement for Forge's 1.7.10 MDK. - -## How to replace ForgeGradle 1.2. with anatawa12's fork -Although this example project has some differences to Forge's 1.7.10 MDK, anatawa12's fork of ForgeGradle 1.2 can be used by most projects with only minimal changes to their Gradle build script. - -Here is a list of changes to Forge's 1.7.10 MDK Gradle build script, to replace the official ForgeGradle 1.2 plugin with the fork. These changes are likely to work with most projects based on Forge's 1.7.10 MDK. - -In the repositories block of the buildscript section, add jcenter, and switch the Forge maven to use HTTPS instead of HTTP: -```diff - repositories { - mavenCentral() - maven { - name = "forge" -- url = "http://files.minecraftforge.net/maven" -+ url = "https://maven.minecraftforge.net/" - } -``` - -Also in the dependencies block of the buildscript section, change the dependency on Forge's official ForgeGradle 1.2 to the fork: -```diff - dependencies { -- classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT' -+ classpath ('com.anatawa12.forge:ForgeGradle:1.2-1.1.+') { -+ changing = true -+ } - } -``` - -The Gradle wrapper should also be changed to use Gradle 4.4.1 or higher. +# Thinker + +Thinker Provides a powerful help gui, allowing you to create any block / block entity / block model from GeckoLib and display text / images, which can make the help page of the integration package author intuitive and concise + +Thinker提供了一个强大的帮助gui,允许通过json创建任意的方块/方块实体/来自GeckoLib的方块模型 和 文字/图片等,可以让整合包作者制作直观而简洁易懂的帮助页面 + +Thinker uses LGPL-v3 license, inspired by create, but without borrowing any code from create, instead, many code comes from GTNH's blockrenderer, thanks to GTNH team + +Thinker采用LGPL-v3协议,制作受create的思索功能启发,但并没有借鉴create的代码,许多代码实际来自GTNH的blockrenderer,感谢GTNH团队 + +Thinker is currently in development, and the list of features to be implemented is as follows: + +Thinker目前仍处于开发中,仍待实现的功能列表: + +[ ]可拖动的进度条 + +[ ]可定义的方块朝向 + +[ ]检测鼠标指向的物体 + + + diff --git a/examples/animations/botarium.animation.json b/examples/animations/botarium.animation.json new file mode 100644 index 0000000..bb60b2d --- /dev/null +++ b/examples/animations/botarium.animation.json @@ -0,0 +1,629 @@ +{ + "format_version": "1.8.0", + "animations": { + "Botarium.anim.deploy": { + "animation_length": 3, + "bones": { + "Machine": { + "rotation": { + "0.2": { + "vector": [0, 0, 0] + }, + "1.6": { + "vector": [0, 0, 0] + } + }, + "position": { + "0.2": { + "vector": [0, 0, 0] + }, + "1.6": { + "vector": [0, 0, 0] + } + }, + "scale": { + "0.2": { + "vector": [1, 1, 1] + }, + "1.6": { + "vector": [1, 1, 1] + } + } + }, + "screen": { + "rotation": { + "0.2": { + "vector": [22.5, 0, 0] + }, + "1.04": { + "vector": [22.5, 0, 0], + "easing": "easeInElastic" + }, + "1.32": { + "vector": [22.5, 0, 0], + "easing": "linear" + }, + "1.64": { + "vector": [-5, 0, 0], + "easing": "easeOutQuad" + }, + "1.84": { + "vector": [0, 0, 0], + "easing": "easeOutElastic" + } + }, + "position": { + "0.2": { + "vector": [0, -4, 0] + }, + "0.64": { + "vector": [0, -4, 0] + }, + "1.04": { + "vector": [0, -4, 0] + }, + "1.32": { + "vector": [0, 0, 0] + } + }, + "scale": { + "0.2": { + "vector": [1, 1, 1] + }, + "0.64": { + "vector": [1, 1, 1] + }, + "1.04": { + "vector": [1, 1, 1] + }, + "1.32": { + "vector": [1, 1.2, 1], + "easing": "easeOutElastic" + }, + "2.36": { + "vector": [1, 1, 1] + } + } + }, + "glass": { + "rotation": { + "0.2": { + "vector": [0, 0, 0] + }, + "0.96": { + "vector": [0, 0, 0] + }, + "1.92": { + "vector": [0, 0, 0] + } + }, + "position": { + "vector": [0, 0, 0] + }, + "scale": { + "0.2": { + "vector": [1, 0, 1] + }, + "1.68": { + "vector": [1, 0, 1], + "easing": "easeInQuad" + }, + "2.68": { + "vector": [1, 1, 1], + "easing": "easeOutQuart" + } + } + }, + "left_tube": { + "rotation": { + "vector": [0, 0, 0] + }, + "position": { + "vector": [0, 0, 0] + }, + "scale": { + "1.72": { + "vector": [0, 0, 0] + }, + "1.88": { + "vector": [1.2, 1.2, 1.2], + "easing": "easeOutElastic" + }, + "2.0": { + "vector": [1, 1, 1], + "easing": "easeInQuad" + } + } + }, + "right_tube": { + "rotation": { + "vector": [0, 0, 0] + }, + "position": { + "vector": [0, 0, 0] + }, + "scale": { + "2.12": { + "vector": [0, 0, 0] + }, + "2.28": { + "vector": [1.2, 1.2, 1.2], + "easing": "easeOutElastic" + }, + "2.4": { + "vector": [1, 1, 1], + "easing": "easeInQuad" + } + } + }, + "top_crochets": { + "rotation": { + "vector": [0, 0, 0] + }, + "position": { + "vector": [0, -16, 0] + }, + "scale": { + "0.2": { + "vector": [1, 1, 1] + }, + "0.96": { + "vector": [1, 1, 1] + } + } + }, + "frontcrochet": { + "rotation": { + "0.56": { + "vector": [45, 0, 0] + }, + "0.92": { + "vector": [45, 0, 0] + }, + "1.96": { + "vector": [0, 0, 0], + "easing": "easeOutQuad" + } + }, + "position": { + "0.56": { + "vector": [0, 0, 0] + }, + "1.96": { + "vector": [0, 0, 0] + } + }, + "scale": { + "0.56": { + "vector": [1, 1, 1] + }, + "1.96": { + "vector": [1, 1, 1] + } + } + }, + "rightcrochet": { + "rotation": { + "0.56": { + "vector": [0, 0, 45] + }, + "0.92": { + "vector": [0, 0, 45] + }, + "1.96": { + "vector": [0, 0, 0], + "easing": "easeOutQuad" + } + }, + "position": { + "0.56": { + "vector": [0, 0, 0] + }, + "1.96": { + "vector": [0, 0, 0] + } + }, + "scale": { + "vector": [1, 1, 1] + } + }, + "leftcrochet": { + "rotation": { + "0.56": { + "vector": [0, 0, -45] + }, + "0.92": { + "vector": [0, 0, -45] + }, + "1.96": { + "vector": [0, 0, 0], + "easing": "easeOutQuad" + } + }, + "position": { + "0.56": { + "vector": [0, 0, 0] + }, + "1.96": { + "vector": [0, 0, 0] + } + }, + "scale": { + "vector": [1, 1, 1] + } + }, + "backcrochet": { + "rotation": { + "0.56": { + "vector": [45, 0, 0] + }, + "0.92": { + "vector": [45, 0, 0] + }, + "1.96": { + "vector": [0, 0, 0], + "easing": "easeOutQuad" + } + }, + "position": { + "0.56": { + "vector": [0, 0, 0] + }, + "1.96": { + "vector": [0, 0, 0] + } + }, + "scale": { + "vector": [1, 1, 1] + } + }, + "back_tube": { + "rotation": { + "vector": [0, 0, 0] + }, + "position": { + "vector": [0, 0, 0] + }, + "scale": { + "1.92": { + "vector": [0, 0, 0] + }, + "2.08": { + "vector": [1.2, 1.2, 1.2], + "easing": "easeOutElastic" + }, + "2.2": { + "vector": [1, 1, 1], + "easing": "easeInQuad" + } + } + }, + "plantsurface": { + "rotation": { + "vector": [0, 0, 0] + }, + "position": { + "0.2": { + "vector": [0, -3, 0] + }, + "0.52": { + "vector": [0, -3, 0] + }, + "1.48": { + "vector": [0, 0, 0], + "easing": "easeOutElastic" + } + }, + "scale": { + "vector": [1, 1, 1] + } + }, + "mediumplatform": { + "rotation": { + "0.2": { + "vector": [0, 0, 0] + }, + "0.52": { + "vector": [0, 0, 0] + } + }, + "position": { + "0.2": { + "vector": [0, -2.25, 0] + }, + "0.52": { + "vector": [0, -2.25, 0] + }, + "1.28": { + "vector": [0, -0.25, 0], + "easing": "easeOutElastic" + } + }, + "scale": { + "0.2": { + "vector": [1, 1, 1] + }, + "0.52": { + "vector": [1, 1.1, 1], + "easing": "easeInQuad" + }, + "1.56": { + "vector": [1, 1, 1], + "easing": "easeOutElastic" + } + } + }, + "baseplatform": { + "rotation": { + "vector": [0, 0, 0] + }, + "position": { + "vector": [0, 0, 0] + }, + "scale": { + "vector": [1, 1, 1] + } + }, + "topplatform": { + "rotation": { + "vector": [0, 0, 0] + }, + "position": { + "vector": [0, -16, 0] + }, + "scale": { + "vector": [1, 1, 1] + } + }, + "ceilingplatform": { + "rotation": { + "vector": [0, 0, 0] + }, + "position": { + "vector": [0, -16, 0] + }, + "scale": { + "vector": [1, 1, 1] + } + }, + "Box": { + "rotation": { + "vector": [0, 0, 0] + }, + "position": { + "vector": [0, 0, 0] + }, + "scale": { + "0.36": { + "vector": [1, 1, 1] + }, + "1.16": { + "vector": [1, 1.15, 1], + "easing": "easeInOutQuad" + }, + "2.36": { + "vector": [1, 1, 1] + }, + "2.76": { + "vector": [0, 0, 0] + } + } + }, + "frontpanel": { + "rotation": { + "0.2": { + "vector": [0, 0, 0] + }, + "1.6": { + "vector": [90, 0, 0], + "easing": "easeInOutSine" + } + }, + "position": { + "0.2": { + "vector": [0, 0, 0] + }, + "1.6": { + "vector": [0, 0, 0], + "easing": "easeInOutElastic" + }, + "2.2": { + "vector": [0, 0, 16] + } + }, + "scale": { + "vector": [1, 1, 1] + } + }, + "rightpanel": { + "rotation": { + "0.2": { + "vector": [0, 0, 0] + }, + "1.6": { + "vector": [0, 0, 90], + "easing": "easeInOutSine" + } + }, + "position": { + "0.2": { + "vector": [0, 0, 0] + }, + "1.6": { + "vector": [0, 0, 0], + "easing": "easeInOutElastic" + }, + "2.2": { + "vector": [-16, 0, 0] + } + }, + "scale": { + "vector": [1, 1, 1] + } + }, + "leftpanel": { + "rotation": { + "0.2": { + "vector": [0, 0, 0] + }, + "1.6": { + "vector": [0, 0, -90], + "easing": "easeInOutSine" + } + }, + "position": { + "0.2": { + "vector": [0, 0, 0] + }, + "1.6": { + "vector": [0, 0, 0], + "easing": "easeInOutElastic" + }, + "2.2": { + "vector": [16, 0, 0] + } + }, + "scale": { + "vector": [1, 1, 1] + } + }, + "backpanel": { + "rotation": { + "0.2": { + "vector": [0, 0, 0] + }, + "1.6": { + "vector": [-90, 0, 0], + "easing": "easeInOutSine" + } + }, + "position": { + "0.2": { + "vector": [0, 0, 0] + }, + "1.6": { + "vector": [0, 0, 0], + "easing": "easeInOutElastic" + }, + "2.2": { + "vector": [0, 0, -16] + } + }, + "scale": { + "vector": [1, 1, 1] + } + }, + "toppanel": { + "rotation": { + "0.2": { + "vector": [0, 0, 0] + }, + "0.8": { + "vector": [0, 0, 23.33], + "easing": "easeInQuad" + }, + "1.6": { + "vector": [0, 0, -87.5], + "easing": "easeInOutQuad" + } + }, + "position": { + "vector": [0, 0, 0] + }, + "scale": { + "vector": [1, 1, 1] + } + }, + "topmachine": { + "rotation": { + "0.2": { + "vector": [0, 180, 0] + }, + "0.88": { + "vector": [0, 180, 0], + "easing": "easeInQuad" + }, + "1.6": { + "vector": [0, 0, 0], + "easing": "easeOutQuad" + } + }, + "position": { + "0.2": { + "vector": [0, -5, 0] + }, + "0.88": { + "vector": [0, -5, 0], + "easing": "easeInQuad" + }, + "1.6": { + "vector": [0, 16, 0], + "easing": "easeOutQuad" + } + }, + "scale": { + "0.2": { + "vector": [1, 1, 1] + }, + "0.88": { + "vector": [1, 1, 1], + "easing": "easeInElastic" + }, + "1.24": { + "vector": [1, 1.3, 1], + "easing": "easeInOutQuad" + }, + "1.6": { + "vector": [1, 1, 1], + "easing": "easeOutElastic", + "easingArgs": [1] + } + } + } + } + }, + "Botarium.anim.idle": { + "loop": true, + "animation_length": 1, + "bones": { + "Machine": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "1.0": { + "vector": [0, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "1.0": { + "vector": [0, 0, 0] + } + }, + "scale": { + "0.0": { + "vector": [1, 1, 1] + }, + "1.0": { + "vector": [1, 1, 1] + } + } + }, + "Box": { + "scale": { + "0.0": { + "vector": [0, 0, 0] + }, + "1.0": { + "vector": [0, 0, 0] + } + } + } + } + } + }, + "geckolib_format_version": 2 +} \ No newline at end of file diff --git a/examples/ideas/example b/examples/ideas/example new file mode 100644 index 0000000..8aa004b --- /dev/null +++ b/examples/ideas/example @@ -0,0 +1,55 @@ +{ + "id":"HelloThinker", + "bindItemID":"tile.dirt", + "icon":"minecraft:paper", + "iconR":"0.5", + "iconG":"0.5", + "iconB":"0.8", + "iconA":"0.5", + "Objects":[ + { + "type":"block", + "fromItem":"gregtech:gt.multitileentity:10005", + "posX":0, + "posY":0, + "posZ":0 + }, + { + "type":"block", + "fromItem":"gregtech:gt.multitileentity:10004", + "posX":0, + "posY":0, + "posZ":4 + }, + { + "type":"block", + "fromItem":"ktfruaddon:ktfru.multitileentity:31001", + "posX":0, + "posY":0, + "posZ":9 + }, + { + "type":"block", + "block":"diamond_block", + "meta":0, + "posX":0, + "posY":5, + "posZ":2 + }, + { + "type":"gecko", + "posX":0, + "posY":5, + "posZ":7, + "modelPath":"botarium.geo.json", + "texturePath":"ideas/resources/botarium.png", + "animePath":"botarium.animation.json" + }, + { + "type":"text", + "posX":0, + "posY":5, + "text":"thinker" + } + ] + } diff --git a/examples/ideas/resources/botarium.png b/examples/ideas/resources/botarium.png new file mode 100644 index 0000000..e9c6656 Binary files /dev/null and b/examples/ideas/resources/botarium.png differ diff --git a/examples/models/botarium.geo.json b/examples/models/botarium.geo.json new file mode 100644 index 0000000..d5c545a --- /dev/null +++ b/examples/models/botarium.geo.json @@ -0,0 +1,626 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 128, + "texture_height": 128, + "visible_bounds_width": 3, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "Machine", + "pivot": [0, 0, 0] + }, + { + "name": "topmachine", + "parent": "Machine", + "pivot": [0, 14, 0] + }, + { + "name": "ceilingplatform", + "parent": "topmachine", + "pivot": [0, 31, 0], + "cubes": [ + { + "origin": [-7, 29, -7], + "size": [14, 3, 14], + "uv": { + "north": {"uv": [14, 50], "uv_size": [14, 3]}, + "east": {"uv": [0, 50], "uv_size": [14, 3]}, + "south": {"uv": [42, 50], "uv_size": [14, 3]}, + "west": {"uv": [28, 50], "uv_size": [14, 3]}, + "up": {"uv": [14, 36], "uv_size": [14, 14]}, + "down": {"uv": [28, 50], "uv_size": [14, -14]} + } + } + ] + }, + { + "name": "topplatform", + "parent": "topmachine", + "pivot": [0, 29, 0], + "cubes": [ + { + "origin": [-6, 27, -6], + "size": [12, 2, 12], + "uv": { + "north": {"uv": [54, 29], "uv_size": [12, 2]}, + "east": {"uv": [42, 29], "uv_size": [12, 2]}, + "south": {"uv": [78, 29], "uv_size": [12, 2]}, + "west": {"uv": [66, 29], "uv_size": [12, 2]}, + "up": {"uv": [54, 17], "uv_size": [12, 12]}, + "down": {"uv": [66, 29], "uv_size": [12, -12]} + } + } + ] + }, + { + "name": "top_crochets", + "parent": "topmachine", + "pivot": [0.5, 29, 1.75] + }, + { + "name": "frontcrochet", + "parent": "top_crochets", + "pivot": [0, 27, -6.25], + "cubes": [ + { + "origin": [-1.5, 24, -6.25], + "size": [3, 5, 2], + "uv": { + "north": {"uv": [2, 24], "uv_size": [3, 5]}, + "east": {"uv": [0, 24], "uv_size": [2, 5]}, + "south": {"uv": [7, 24], "uv_size": [3, 5]}, + "west": {"uv": [5, 24], "uv_size": [2, 5]}, + "up": {"uv": [2, 22], "uv_size": [3, 2]}, + "down": {"uv": [5, 24], "uv_size": [3, -2]} + } + } + ] + }, + { + "name": "rightcrochet", + "parent": "top_crochets", + "pivot": [6.25, 27, 0], + "rotation": [0, -90, 0], + "cubes": [ + { + "origin": [4.75, 24, 0], + "size": [3, 5, 2], + "uv": { + "north": {"uv": [2, 24], "uv_size": [3, 5]}, + "east": {"uv": [0, 24], "uv_size": [2, 5]}, + "south": {"uv": [7, 24], "uv_size": [3, 5]}, + "west": {"uv": [5, 24], "uv_size": [2, 5]}, + "up": {"uv": [2, 22], "uv_size": [3, 2]}, + "down": {"uv": [5, 24], "uv_size": [3, -2]} + } + } + ] + }, + { + "name": "leftcrochet", + "parent": "top_crochets", + "pivot": [-6.25, 27, 0], + "rotation": [0, 90, 0], + "cubes": [ + { + "origin": [-7.75, 24, 0], + "size": [3, 5, 2], + "uv": { + "north": {"uv": [2, 24], "uv_size": [3, 5]}, + "east": {"uv": [0, 24], "uv_size": [2, 5]}, + "south": {"uv": [7, 24], "uv_size": [3, 5]}, + "west": {"uv": [5, 24], "uv_size": [2, 5]}, + "up": {"uv": [2, 22], "uv_size": [3, 2]}, + "down": {"uv": [5, 24], "uv_size": [3, -2]} + } + } + ] + }, + { + "name": "backcrochet", + "parent": "top_crochets", + "pivot": [0, 27, 6.25], + "rotation": [0, 180, 0], + "cubes": [ + { + "origin": [-1.5, 24, 6.25], + "size": [3, 5, 2], + "uv": { + "north": {"uv": [2, 24], "uv_size": [3, 5]}, + "east": {"uv": [0, 24], "uv_size": [2, 5]}, + "south": {"uv": [7, 24], "uv_size": [3, 5]}, + "west": {"uv": [5, 24], "uv_size": [2, 5]}, + "up": {"uv": [2, 22], "uv_size": [3, 2]}, + "down": {"uv": [5, 24], "uv_size": [3, -2]} + } + } + ] + }, + { + "name": "glass", + "parent": "Machine", + "pivot": [0, 8, 0], + "cubes": [ + { + "origin": [-5, 8, -5], + "size": [10, 22, 0], + "uv": { + "north": {"uv": [40, 58], "uv_size": [10, 22]}, + "east": {"uv": [60, 60], "uv_size": [0, 22]}, + "south": {"uv": [70, 60], "uv_size": [10, 22]}, + "west": {"uv": [70, 60], "uv_size": [0, 22]}, + "up": {"uv": [60, 60], "uv_size": [10, 0]}, + "down": {"uv": [70, 60], "uv_size": [10, 0]} + } + }, + { + "origin": [5, 8, -5], + "size": [0, 22, 10], + "uv": { + "north": {"uv": [70, 60], "uv_size": [0, 22]}, + "east": {"uv": [41, 60], "uv_size": [10, 22]}, + "south": {"uv": [80, 60], "uv_size": [0, 22]}, + "west": {"uv": [70, 60], "uv_size": [10, 22]}, + "up": {"uv": [70, 50], "uv_size": [0, 10]}, + "down": {"uv": [70, 60], "uv_size": [0, -10]} + } + }, + { + "origin": [-5, 8, -5], + "size": [0, 22, 10], + "uv": { + "north": {"uv": [70, 60], "uv_size": [0, 22]}, + "east": {"uv": [45, 59], "uv_size": [10, 22]}, + "south": {"uv": [80, 60], "uv_size": [0, 22]}, + "west": {"uv": [70, 60], "uv_size": [10, 22]}, + "up": {"uv": [70, 50], "uv_size": [0, 10]}, + "down": {"uv": [70, 60], "uv_size": [0, -10]} + } + }, + { + "origin": [-5, 8, 5], + "size": [10, 22, 0], + "uv": { + "north": {"uv": [40, 59], "uv_size": [10, 22]}, + "east": {"uv": [60, 60], "uv_size": [0, 22]}, + "south": {"uv": [70, 60], "uv_size": [10, 22]}, + "west": {"uv": [70, 60], "uv_size": [0, 22]}, + "up": {"uv": [60, 60], "uv_size": [10, 0]}, + "down": {"uv": [70, 60], "uv_size": [10, 0]} + } + } + ] + }, + { + "name": "screen", + "parent": "Machine", + "pivot": [0, 9, -6], + "rotation": [-22.5, 0, 0], + "cubes": [ + { + "origin": [-3, 6.71299, -7.19291], + "size": [6, 4, 1], + "uv": { + "north": {"uv": [1, 18], "uv_size": [6, 4]}, + "east": {"uv": [0, 18], "uv_size": [1, 4]}, + "south": {"uv": [8, 18], "uv_size": [6, 4]}, + "west": {"uv": [7, 18], "uv_size": [1, 4]}, + "up": {"uv": [1, 17], "uv_size": [6, 1]}, + "down": {"uv": [7, 18], "uv_size": [6, -1]} + } + }, + { + "origin": [-2.5, 7.21299, -7.19291], + "size": [5, 3, 3], + "uv": { + "north": {"uv": [3, 3], "uv_size": [5, 3]}, + "east": {"uv": [0, 3], "uv_size": [3, 3]}, + "south": {"uv": [11, 3], "uv_size": [5, 3]}, + "west": {"uv": [8, 3], "uv_size": [3, 3]}, + "up": {"uv": [3, 0], "uv_size": [5, 3]}, + "down": {"uv": [8, 3], "uv_size": [5, -3]} + } + }, + { + "origin": [-4, 5.71299, -7.69291], + "size": [8, 6, 1], + "uv": { + "north": {"uv": [61, 51], "uv_size": [8, 6]}, + "east": {"uv": [60, 51], "uv_size": [1, 6]}, + "south": {"uv": [70, 51], "uv_size": [8, 6]}, + "west": {"uv": [69, 51], "uv_size": [1, 6]}, + "up": {"uv": [61, 50], "uv_size": [8, 1]}, + "down": {"uv": [69, 51], "uv_size": [8, -1]} + } + } + ] + }, + { + "name": "left_tube", + "parent": "Machine", + "pivot": [-4.9, 8, 0], + "rotation": [0, 180, 0], + "cubes": [ + { + "origin": [-5.4, 6, -2], + "size": [2, 4, 4], + "uv": { + "north": {"uv": [4, 10], "uv_size": [2, 4]}, + "east": {"uv": [0, 10], "uv_size": [4, 4]}, + "south": {"uv": [10, 10], "uv_size": [2, 4]}, + "west": {"uv": [6, 10], "uv_size": [4, 4]}, + "up": {"uv": [4, 6], "uv_size": [2, 4]}, + "down": {"uv": [6, 10], "uv_size": [2, -4]} + } + }, + { + "origin": [-3.9, 5, -3], + "size": [2, 6, 2], + "uv": { + "north": {"uv": [2, 38], "uv_size": [2, 6]}, + "east": {"uv": [0, 38], "uv_size": [2, 6]}, + "south": {"uv": [6, 38], "uv_size": [2, 6]}, + "west": {"uv": [4, 38], "uv_size": [2, 6]}, + "up": {"uv": [2, 36], "uv_size": [2, 2]}, + "down": {"uv": [4, 38], "uv_size": [2, -2]} + } + }, + { + "origin": [-3.9, 9, -1], + "size": [2, 2, 2], + "uv": { + "north": {"uv": [44, 44], "uv_size": [2, 2]}, + "east": {"uv": [42, 44], "uv_size": [2, 2]}, + "south": {"uv": [48, 44], "uv_size": [2, 2]}, + "west": {"uv": [46, 44], "uv_size": [2, 2]}, + "up": {"uv": [44, 42], "uv_size": [2, 2]}, + "down": {"uv": [46, 44], "uv_size": [2, -2]} + } + }, + { + "origin": [-3.9, 5, 1], + "size": [2, 6, 2], + "uv": { + "north": {"uv": [8, 44], "uv_size": [2, 6]}, + "east": {"uv": [6, 44], "uv_size": [2, 6]}, + "south": {"uv": [12, 44], "uv_size": [2, 6]}, + "west": {"uv": [10, 44], "uv_size": [2, 6]}, + "up": {"uv": [8, 42], "uv_size": [2, 2]}, + "down": {"uv": [10, 44], "uv_size": [2, -2]} + } + }, + { + "origin": [-3.9, 5, -1], + "size": [2, 2, 2], + "uv": { + "north": {"uv": [10, 8], "uv_size": [2, 2]}, + "east": {"uv": [8, 8], "uv_size": [2, 2]}, + "south": {"uv": [14, 8], "uv_size": [2, 2]}, + "west": {"uv": [12, 8], "uv_size": [2, 2]}, + "up": {"uv": [10, 6], "uv_size": [2, 2]}, + "down": {"uv": [12, 8], "uv_size": [2, -2]} + } + } + ] + }, + { + "name": "right_tube", + "parent": "Machine", + "pivot": [-0.1, 1, 0], + "cubes": [ + { + "origin": [4.4, 6, -2], + "size": [2, 4, 4], + "uv": { + "north": {"uv": [4, 10], "uv_size": [2, 4]}, + "east": {"uv": [0, 10], "uv_size": [4, 4]}, + "south": {"uv": [10, 10], "uv_size": [2, 4]}, + "west": {"uv": [6, 10], "uv_size": [4, 4]}, + "up": {"uv": [4, 6], "uv_size": [2, 4]}, + "down": {"uv": [6, 10], "uv_size": [2, -4]} + } + }, + { + "origin": [5.9, 5, -3], + "size": [2, 6, 2], + "uv": { + "north": {"uv": [2, 38], "uv_size": [2, 6]}, + "east": {"uv": [0, 38], "uv_size": [2, 6]}, + "south": {"uv": [6, 38], "uv_size": [2, 6]}, + "west": {"uv": [4, 38], "uv_size": [2, 6]}, + "up": {"uv": [2, 36], "uv_size": [2, 2]}, + "down": {"uv": [4, 38], "uv_size": [2, -2]} + } + }, + { + "origin": [5.9, 9, -1], + "size": [2, 2, 2], + "uv": { + "north": {"uv": [44, 44], "uv_size": [2, 2]}, + "east": {"uv": [42, 44], "uv_size": [2, 2]}, + "south": {"uv": [48, 44], "uv_size": [2, 2]}, + "west": {"uv": [46, 44], "uv_size": [2, 2]}, + "up": {"uv": [44, 42], "uv_size": [2, 2]}, + "down": {"uv": [46, 44], "uv_size": [2, -2]} + } + }, + { + "origin": [5.9, 5, 1], + "size": [2, 6, 2], + "uv": { + "north": {"uv": [8, 44], "uv_size": [2, 6]}, + "east": {"uv": [6, 44], "uv_size": [2, 6]}, + "south": {"uv": [12, 44], "uv_size": [2, 6]}, + "west": {"uv": [10, 44], "uv_size": [2, 6]}, + "up": {"uv": [8, 42], "uv_size": [2, 2]}, + "down": {"uv": [10, 44], "uv_size": [2, -2]} + } + }, + { + "origin": [5.9, 5, -1], + "size": [2, 2, 2], + "uv": { + "north": {"uv": [10, 8], "uv_size": [2, 2]}, + "east": {"uv": [8, 8], "uv_size": [2, 2]}, + "south": {"uv": [14, 8], "uv_size": [2, 2]}, + "west": {"uv": [12, 8], "uv_size": [2, 2]}, + "up": {"uv": [10, 6], "uv_size": [2, 2]}, + "down": {"uv": [12, 8], "uv_size": [2, -2]} + } + } + ] + }, + { + "name": "back_tube", + "parent": "Machine", + "pivot": [0, 1, -0.1], + "rotation": [0, -90, 0], + "cubes": [ + { + "origin": [4.5, 6, -2.1], + "size": [2, 4, 4], + "uv": { + "north": {"uv": [4, 10], "uv_size": [2, 4]}, + "east": {"uv": [0, 10], "uv_size": [4, 4]}, + "south": {"uv": [10, 10], "uv_size": [2, 4]}, + "west": {"uv": [6, 10], "uv_size": [4, 4]}, + "up": {"uv": [4, 6], "uv_size": [2, 4]}, + "down": {"uv": [6, 10], "uv_size": [2, -4]} + } + }, + { + "origin": [6, 5, -3.1], + "size": [2, 6, 2], + "uv": { + "north": {"uv": [2, 38], "uv_size": [2, 6]}, + "east": {"uv": [0, 38], "uv_size": [2, 6]}, + "south": {"uv": [6, 38], "uv_size": [2, 6]}, + "west": {"uv": [4, 38], "uv_size": [2, 6]}, + "up": {"uv": [2, 36], "uv_size": [2, 2]}, + "down": {"uv": [4, 38], "uv_size": [2, -2]} + } + }, + { + "origin": [6, 9, -1.1], + "size": [2, 2, 2], + "uv": { + "north": {"uv": [44, 44], "uv_size": [2, 2]}, + "east": {"uv": [42, 44], "uv_size": [2, 2]}, + "south": {"uv": [48, 44], "uv_size": [2, 2]}, + "west": {"uv": [46, 44], "uv_size": [2, 2]}, + "up": {"uv": [44, 42], "uv_size": [2, 2]}, + "down": {"uv": [46, 44], "uv_size": [2, -2]} + } + }, + { + "origin": [6, 5, 0.9], + "size": [2, 6, 2], + "uv": { + "north": {"uv": [8, 44], "uv_size": [2, 6]}, + "east": {"uv": [6, 44], "uv_size": [2, 6]}, + "south": {"uv": [12, 44], "uv_size": [2, 6]}, + "west": {"uv": [10, 44], "uv_size": [2, 6]}, + "up": {"uv": [8, 42], "uv_size": [2, 2]}, + "down": {"uv": [10, 44], "uv_size": [2, -2]} + } + }, + { + "origin": [6, 5, -1.1], + "size": [2, 2, 2], + "uv": { + "north": {"uv": [10, 8], "uv_size": [2, 2]}, + "east": {"uv": [8, 8], "uv_size": [2, 2]}, + "south": {"uv": [14, 8], "uv_size": [2, 2]}, + "west": {"uv": [12, 8], "uv_size": [2, 2]}, + "up": {"uv": [10, 6], "uv_size": [2, 2]}, + "down": {"uv": [12, 8], "uv_size": [2, -2]} + } + } + ] + }, + { + "name": "baseplatform", + "parent": "Machine", + "pivot": [0, 1, 0], + "cubes": [ + { + "origin": [-7, 1, -7], + "size": [14, 5, 14], + "uv": { + "north": {"uv": [14, 31], "uv_size": [14, 5]}, + "east": {"uv": [0, 31], "uv_size": [14, 5]}, + "south": {"uv": [42, 31], "uv_size": [14, 5]}, + "west": {"uv": [28, 31], "uv_size": [14, 5]}, + "up": {"uv": [14, 17], "uv_size": [14, 14]}, + "down": {"uv": [28, 31], "uv_size": [14, -14]} + } + } + ] + }, + { + "name": "mediumplatform", + "parent": "baseplatform", + "pivot": [0, 6, 0], + "cubes": [ + { + "origin": [-6, 6, -6], + "size": [12, 2, 12], + "uv": { + "north": {"uv": [54, 48], "uv_size": [12, 2]}, + "east": {"uv": [42, 48], "uv_size": [12, 2]}, + "south": {"uv": [78, 48], "uv_size": [12, 2]}, + "west": {"uv": [66, 48], "uv_size": [12, 2]}, + "up": {"uv": [54, 36], "uv_size": [12, 12]}, + "down": {"uv": [66, 48], "uv_size": [12, -12]} + } + } + ] + }, + { + "name": "plantsurface", + "parent": "mediumplatform", + "pivot": [0.5, 9, -0.5], + "cubes": [ + { + "origin": [-4.5, 8, -4.5], + "size": [9, 3, 9], + "uv": { + "north": {"uv": [57, 9], "uv_size": [9, 3]}, + "east": {"uv": [48, 9], "uv_size": [9, 3]}, + "south": {"uv": [75, 9], "uv_size": [9, 3]}, + "west": {"uv": [66, 9], "uv_size": [9, 3]}, + "up": {"uv": [57, 0], "uv_size": [9, 9]}, + "down": {"uv": [66, 9], "uv_size": [9, -9]} + } + } + ] + }, + { + "name": "groundplatform", + "parent": "Machine", + "pivot": [0, 0, 0], + "cubes": [ + { + "origin": [-8, 0, -8], + "size": [16, 1, 16], + "inflate": -0.01, + "uv": { + "north": {"uv": [16, 16], "uv_size": [16, 1]}, + "east": {"uv": [0, 16], "uv_size": [16, 1]}, + "south": {"uv": [48, 16], "uv_size": [16, 1]}, + "west": {"uv": [32, 16], "uv_size": [16, 1]}, + "up": {"uv": [16, 0], "uv_size": [16, 16]}, + "down": {"uv": [32, 16], "uv_size": [16, -16]} + } + } + ] + }, + { + "name": "Box", + "pivot": [0, 0, 0] + }, + { + "name": "frontpanel", + "parent": "Box", + "pivot": [0, 0, -8], + "cubes": [ + { + "origin": [-8, 0, -8], + "size": [16, 16, 0], + "uv": { + "north": {"uv": [0, 55], "uv_size": [16, 16]}, + "east": {"uv": [0, 55], "uv_size": [0, 16]}, + "south": {"uv": [16, 55], "uv_size": [16, 16]}, + "west": {"uv": [16, 55], "uv_size": [0, 16]}, + "up": {"uv": [0, 55], "uv_size": [16, 0]}, + "down": {"uv": [16, 55], "uv_size": [16, 0]} + } + } + ] + }, + { + "name": "rightpanel", + "parent": "Box", + "pivot": [8, 0, 0], + "cubes": [ + { + "origin": [8, 0, -8], + "size": [0, 16, 16], + "uv": { + "north": {"uv": [16, 71], "uv_size": [0, 16]}, + "east": {"uv": [0, 71], "uv_size": [16, 16]}, + "south": {"uv": [32, 71], "uv_size": [0, 16]}, + "west": {"uv": [16, 71], "uv_size": [16, 16]}, + "up": {"uv": [16, 55], "uv_size": [0, 16]}, + "down": {"uv": [16, 71], "uv_size": [0, -16]} + } + } + ] + }, + { + "name": "toppanel", + "parent": "rightpanel", + "pivot": [8, 16, 0], + "cubes": [ + { + "origin": [-8, 16, -8], + "size": [16, 0, 16], + "uv": { + "north": {"uv": [16, 104], "uv_size": [16, 0]}, + "east": {"uv": [0, 104], "uv_size": [16, 0]}, + "south": {"uv": [48, 104], "uv_size": [16, 0]}, + "west": {"uv": [32, 104], "uv_size": [16, 0]}, + "up": {"uv": [16, 88], "uv_size": [16, 16]}, + "down": {"uv": [38, 86], "uv_size": [16, -16]} + } + } + ] + }, + { + "name": "leftpanel", + "parent": "Box", + "pivot": [-8, 0, 0], + "cubes": [ + { + "origin": [-8, 0, -8], + "size": [0, 16, 16], + "uv": { + "north": {"uv": [16, 71], "uv_size": [0, 16]}, + "east": {"uv": [0, 71], "uv_size": [16, 16]}, + "south": {"uv": [32, 71], "uv_size": [0, 16]}, + "west": {"uv": [16, 71], "uv_size": [16, 16]}, + "up": {"uv": [16, 55], "uv_size": [0, 16]}, + "down": {"uv": [16, 71], "uv_size": [0, -16]} + } + } + ] + }, + { + "name": "backpanel", + "parent": "Box", + "pivot": [0, 0, 8], + "cubes": [ + { + "origin": [-8, 0, 8], + "size": [16, 16, 0], + "uv": { + "north": {"uv": [0, 55], "uv_size": [16, 16]}, + "east": {"uv": [0, 55], "uv_size": [0, 16]}, + "south": {"uv": [16, 55], "uv_size": [16, 16]}, + "west": {"uv": [16, 55], "uv_size": [0, 16]}, + "up": {"uv": [0, 55], "uv_size": [16, 0]}, + "down": {"uv": [16, 55], "uv_size": [16, 0]} + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 77d765d..9f99e81 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ # Mod properties -version=0.0.1 +version=1.0.0 # http://maven.apache.org/guides/mini/guide-naming-conventions.html group=cn.kuzuanpa.thinker modId=thinker diff --git a/src/main/java/cn/kuzuanpa/thinker/client/json/thinkerJsonReader.java b/src/main/java/cn/kuzuanpa/thinker/client/json/thinkerJsonReader.java index 09418a5..8131c1c 100644 --- a/src/main/java/cn/kuzuanpa/thinker/client/json/thinkerJsonReader.java +++ b/src/main/java/cn/kuzuanpa/thinker/client/json/thinkerJsonReader.java @@ -44,6 +44,7 @@ public class thinkerJsonReader { public static void readAllProfiles(String path) throws IOException { ArrayList profileList = new ArrayList<>(); Files.list(Paths.get(path)).forEach(file -> { + if(file.toString().equalsIgnoreCase("ideas/resources")||file.toString().equalsIgnoreCase("ideas/ignore"))return; try (JsonReader json = new JsonReader(new InputStreamReader(Files.newInputStream(file), StandardCharsets.UTF_8))) { if(Files.size(file)> 67108864 /*64MiB*/) throw new IOException("Too large file"); json.setLenient(true); diff --git a/src/main/java/cn/kuzuanpa/thinker/client/render/gui/ThinkingGuiMain.java b/src/main/java/cn/kuzuanpa/thinker/client/render/gui/ThinkingGuiMain.java index caf78b3..5e652a2 100644 --- a/src/main/java/cn/kuzuanpa/thinker/client/render/gui/ThinkingGuiMain.java +++ b/src/main/java/cn/kuzuanpa/thinker/client/render/gui/ThinkingGuiMain.java @@ -15,15 +15,9 @@ package cn.kuzuanpa.thinker.client.render.gui; -import blockrenderer6343.api.utils.BlockPosition; import cn.kuzuanpa.thinker.client.configHandler; import cn.kuzuanpa.thinker.client.json.thinkerJsonReader; -import cn.kuzuanpa.thinker.client.render.dummyWorld.IdummyWorldThinkerObject; -import cn.kuzuanpa.thinker.client.render.dummyWorld.anime.DummyWorldGraphicAnimeMoveLinear; -import cn.kuzuanpa.thinker.client.render.dummyWorld.anime.DummyWorldGraphicAnimeRotateSteadily; -import cn.kuzuanpa.thinker.client.render.dummyWorld.dummyWorldBlock; import cn.kuzuanpa.thinker.client.dummyWorldHandler; -import cn.kuzuanpa.thinker.client.render.dummyWorld.dummyWorldGeckoModel; import cn.kuzuanpa.thinker.client.render.gui.anime.animeMoveLinear; import cn.kuzuanpa.thinker.client.render.gui.anime.animeRotateSteadily; import cn.kuzuanpa.thinker.client.render.gui.button.*; @@ -32,11 +26,8 @@ import cpw.mods.fml.common.registry.LanguageRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import gregapi.block.multitileentity.MultiTileEntityRegistry; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiScreen; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraftforge.client.event.GuiScreenEvent; import net.minecraftforge.common.MinecraftForge; @@ -46,7 +37,6 @@ import java.util.*; import static cn.kuzuanpa.thinker.client.dummyWorldHandler.*; -import static cn.kuzuanpa.thinker.client.keyBindHandler.keyThink; import static cn.kuzuanpa.thinker.client.profileHandler.displayProfileIDMap; import static cn.kuzuanpa.thinker.client.profileHandler.YOffset; @@ -74,7 +64,7 @@ public ThinkingGuiMain(ItemStack item) { allowUserInput = false; selectedProfileID = item.getDisplayName(); } - public void postInit(){ + public void onOpenByUser(){ initTime=System.currentTimeMillis(); openByUser=false; } @@ -93,29 +83,28 @@ public void initGui() { buttonList.add(new thinkerImage(4,65,0,0,32,16,16,"textures/gui/think/base.png", l10n("thinker.list.fold")).addToList(buttonsHaveAnime)); buttonList.add(new thinkerImage(5,-16,0,16,32,16,16,"textures/gui/think/base.png",l10n("thinker.list.unfold")).addToList(buttonsHaveAnime)); - ArrayList blocks=new ArrayList<>(); - //blocks.put(new BlockPosition(4,2,4),new dummyWorldBlock(Blocks.chest,new DummyBlockAnimeOutlineGlowth(1000,20000,new BlockPosition(4,2,4),-1,4))); - //blocks.put(new BlockPosition(5,2,5),new dummyWorldBlock(Blocks.chest,new DummyBlockAnimeRotateSteadily())); - blocks.add(new dummyWorldBlock( new BlockPosition(0,2,0), Blocks.dark_oak_stairs,new DummyWorldGraphicAnimeRotateSteadily()).setRenderAllFace(true)); - blocks.add(new dummyWorldBlock( new BlockPosition(0,3,0), Blocks.daylight_detector,new DummyWorldGraphicAnimeRotateSteadily())); - blocks.add(new dummyWorldBlock( new BlockPosition(1,2,0), Blocks.double_wooden_slab)); - blocks.add(new dummyWorldBlock( new BlockPosition(3,2,0), Blocks.fence)); - blocks.add(new dummyWorldBlock( new BlockPosition(1,1,0), Blocks.acacia_stairs).setRenderAllFace(true)); - blocks.add(new dummyWorldBlock( new BlockPosition(0,2,5), Blocks.diamond_block)); - blocks.add(new dummyWorldBlock( new BlockPosition(0,2,4), Blocks.diamond_block)); - blocks.add(new dummyWorldBlock( new BlockPosition(2,2,0), Blocks.stained_glass)); - blocks.add(new dummyWorldBlock( new BlockPosition(2,2,1), MultiTileEntityRegistry.getRegistry("gt.multitileentity").getItem(10005), new DummyWorldGraphicAnimeMoveLinear(0,10000,1,1,1))); - blocks.add(new dummyWorldBlock( new BlockPosition(2,3,1), MultiTileEntityRegistry.getRegistry("ktfru.multitileentity").getItem(31001), new DummyWorldGraphicAnimeMoveLinear(0,10000,1,1,1))); - blocks.add(new dummyWorldBlock( new BlockPosition(2,4,1), MultiTileEntityRegistry.getRegistry("ktfru.multitileentity").getItem(31001), new DummyWorldGraphicAnimeMoveLinear(0,10000,1,1,1))); - blocks.add(new dummyWorldGeckoModel( new BlockPosition(2,5,1), "botarium.geo.json","ideas/botarium.png","botarium.animation.json")); + //ArrayList blocks=new ArrayList<>(); + ////blocks.put(new BlockPosition(4,2,4),new dummyWorldBlock(Blocks.chest,new DummyBlockAnimeOutlineGlowth(1000,20000,new BlockPosition(4,2,4),-1,4))); + ////blocks.put(new BlockPosition(5,2,5),new dummyWorldBlock(Blocks.chest,new DummyBlockAnimeRotateSteadily())); + //blocks.add(new dummyWorldBlock( new BlockPosition(0,2,0), Blocks.dark_oak_stairs,new DummyWorldGraphicAnimeRotateSteadily()).setRenderAllFace(true)); + //blocks.add(new dummyWorldBlock( new BlockPosition(0,3,0), Blocks.daylight_detector,new DummyWorldGraphicAnimeRotateSteadily())); + //blocks.add(new dummyWorldBlock( new BlockPosition(1,2,0), Blocks.double_wooden_slab)); + //blocks.add(new dummyWorldBlock( new BlockPosition(3,2,0), Blocks.fence)); + //blocks.add(new dummyWorldBlock( new BlockPosition(1,1,0), Blocks.acacia_stairs).setRenderAllFace(true)); + //blocks.add(new dummyWorldBlock( new BlockPosition(0,2,5), Blocks.diamond_block)); + //blocks.add(new dummyWorldBlock( new BlockPosition(0,2,4), Blocks.diamond_block)); + //blocks.add(new dummyWorldBlock( new BlockPosition(2,2,0), Blocks.stained_glass)); + //blocks.add(new dummyWorldBlock( new BlockPosition(2,2,1), MultiTileEntityRegistry.getRegistry("gt.multitileentity").getItem(10005), new DummyWorldGraphicAnimeMoveLinear(0,10000,1,1,1))); + //blocks.add(new dummyWorldBlock( new BlockPosition(2,3,1), MultiTileEntityRegistry.getRegistry("ktfru.multitileentity").getItem(31001), new DummyWorldGraphicAnimeMoveLinear(0,10000,1,1,1))); + //blocks.add(new dummyWorldBlock( new BlockPosition(2,4,1), MultiTileEntityRegistry.getRegistry("ktfru.multitileentity").getItem(31001), new DummyWorldGraphicAnimeMoveLinear(0,10000,1,1,1))); + //blocks.add(new dummyWorldGeckoModel( new BlockPosition(2,5,1), "botarium.geo.json","ideas/botarium.png","botarium.animation.json")); profileHandler.clearAllProfile(); - profileHandler.addProfile(new profileHandler.thinkingProfile("test1",Items.string.getIconFromDamage(0))); - profileHandler.addProfile(new profileHandler.thinkingProfile("test2",Items.string.getIconFromDamage(0),blocks)); try { - thinkerJsonReader.readAllProfiles("ideas");}catch (Exception ignored){} + thinkerJsonReader.readAllProfiles("ideas"); + }catch (Exception ignored){} - if(openByUser)postInit(); + if(openByUser) onOpenByUser(); buttonsHaveAnime.forEach(button-> button.updateInitTime(initTime)); if(!selectedProfileID.equals(""))onProfileChanged(selectedProfileID); } diff --git a/src/main/java/cn/kuzuanpa/thinker/client/render/gui/button/ThinkingProfileList.java b/src/main/java/cn/kuzuanpa/thinker/client/render/gui/button/ThinkingProfileList.java index ab96012..fde8e1b 100644 --- a/src/main/java/cn/kuzuanpa/thinker/client/render/gui/button/ThinkingProfileList.java +++ b/src/main/java/cn/kuzuanpa/thinker/client/render/gui/button/ThinkingProfileList.java @@ -36,6 +36,7 @@ public void drawButton(Minecraft mc, int mouseX, int mouseY) { GuiAnimeList.forEach(anime->anime.animeDrawPre(initTime)); ResourceLocation buttontextures=new ResourceLocation(MOD_ID,"textures/gui/think/base.png"); for (int i : profileHandler.displayProfileIDMap.keySet()){ + if(profileHandler.getProfile(profileHandler.displayProfileIDMap.get(i))==null)return; GL11.glPushMatrix(); GL11.glColor4f(1.0F, 1.0F, 1.0F, 0.65F); mc.getTextureManager().bindTexture(buttontextures);