Compare commits

...

218 Commits

Author SHA1 Message Date
00c14e7f25 Merge branch 'main' of https://git.cubenet.me/vmko/cubenet_mod_core
Some checks failed
Build / build (push) Has been cancelled
2025-11-22 16:52:13 +03:00
7ddfc34248 Добавление paper 2025-11-22 16:49:58 +03:00
neoforge-mdk-automation[bot]
bef953b480
Update MDK with new output from mod generator (#28)
Co-authored-by: NeoForge MDK Automation <173375039+neoforge-mdk-automation[bot]@users.noreply.github.com>
2025-11-12 05:30:15 +00:00
neoforge-mdk-automation[bot]
a2b3b6bbd0
Update MDK with new output from mod generator (#27)
* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

---------

Co-authored-by: NeoForge MDK Automation <173375039+neoforge-mdk-automation[bot]@users.noreply.github.com>
2025-11-09 05:30:24 +00:00
neoforge-mdk-automation[bot]
ffcaae6d38
Update MDK with new output from mod generator (#26)
* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

---------

Co-authored-by: NeoForge MDK Automation <173375039+neoforge-mdk-automation[bot]@users.noreply.github.com>
2025-11-05 05:30:25 +00:00
neoforge-mdk-automation[bot]
196b171b6d
Update MDK with new output from mod generator (#25)
Co-authored-by: NeoForge MDK Automation <173375039+neoforge-mdk-automation[bot]@users.noreply.github.com>
2025-11-02 04:30:23 +00:00
neoforge-mdk-automation[bot]
67d5d2b1f9
Update MDK with new output from mod generator (#24)
Co-authored-by: NeoForge MDK Automation <173375039+neoforge-mdk-automation[bot]@users.noreply.github.com>
2025-10-26 04:30:21 +00:00
neoforge-mdk-automation[bot]
0bae8e1530
Update MDK with new output from mod generator (#23)
Co-authored-by: NeoForge MDK Automation <173375039+neoforge-mdk-automation[bot]@users.noreply.github.com>
2025-10-22 04:30:14 +00:00
neoforge-mdk-automation[bot]
62f655b787
Update MDK with new output from mod generator (#22)
Co-authored-by: NeoForge MDK Automation <173375039+neoforge-mdk-automation[bot]@users.noreply.github.com>
2025-10-15 04:30:15 +00:00
neoforge-mdk-automation[bot]
e51e626072
Update MDK with new output from mod generator (#21)
* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

---------

Co-authored-by: NeoForge MDK Automation <173375039+neoforge-mdk-automation[bot]@users.noreply.github.com>
2025-10-12 04:30:23 +00:00
neoforge-mdk-automation[bot]
6a62b789ba
Update MDK with new output from mod generator (#20)
Co-authored-by: NeoForge MDK Automation <173375039+neoforge-mdk-automation[bot]@users.noreply.github.com>
2025-09-17 04:31:00 +00:00
neoforge-mdk-automation[bot]
5f4746ddd4
Update MDK with new output from mod generator (#19)
* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

---------

Co-authored-by: NeoForge MDK Automation <173375039+neoforge-mdk-automation[bot]@users.noreply.github.com>
2025-09-07 04:31:02 +00:00
neoforge-mdk-automation[bot]
a51d415cbd
Update MDK with new output from mod generator (#18)
Co-authored-by: NeoForge MDK Automation <173375039+neoforge-mdk-automation[bot]@users.noreply.github.com>
2025-08-31 04:30:40 +00:00
neoforge-mdk-automation[bot]
a3850023ce
Update MDK with new output from mod generator (#17)
* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

---------

Co-authored-by: NeoForge MDK Automation <173375039+neoforge-mdk-automation[bot]@users.noreply.github.com>
2025-08-27 04:30:42 +00:00
neoforge-mdk-automation[bot]
a73843c5c7
Update MDK with new output from mod generator (#16)
* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

---------

Co-authored-by: NeoForge MDK Automation <173375039+neoforge-mdk-automation[bot]@users.noreply.github.com>
2025-08-20 04:30:43 +00:00
neoforge-mdk-automation[bot]
af90a616f9
Update MDK with new output from mod generator (#15)
* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

---------

Co-authored-by: NeoForge MDK Automation <173375039+neoforge-mdk-automation[bot]@users.noreply.github.com>
2025-08-10 04:30:44 +00:00
neoforge-mdk-automation[bot]
382ee66472
Update MDK with new output from mod generator (#14)
Co-authored-by: NeoForge MDK Automation <173375039+neoforge-mdk-automation[bot]@users.noreply.github.com>
2025-08-03 04:30:42 +00:00
neoforge-mdk-automation[bot]
73a1217419
Update MDK with new output from mod generator (#13)
* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

---------

Co-authored-by: NeoForge MDK Automation <173375039+neoforge-mdk-automation[bot]@users.noreply.github.com>
2025-07-30 04:30:48 +00:00
neoforge-mdk-automation[bot]
36cfa34a31
Update MDK with new output from mod generator (#12)
Co-authored-by: NeoForge MDK Automation <173375039+neoforge-mdk-automation[bot]@users.noreply.github.com>
2025-07-27 04:30:42 +00:00
neoforge-mdk-automation[bot]
ecb2f060c2
Update MDK with new output from mod generator (#11)
Co-authored-by: NeoForge MDK Automation <173375039+neoforge-mdk-automation[bot]@users.noreply.github.com>
2025-07-20 04:30:46 +00:00
neoforge-mdk-automation[bot]
9579093d04
Update MDK with new output from mod generator (#10)
* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

---------

Co-authored-by: NeoForge MDK Automation <173375039+neoforge-mdk-automation[bot]@users.noreply.github.com>
2025-07-13 04:30:36 +00:00
neoforge-mdk-automation[bot]
3a93927ade
Update MDK with new output from mod generator (#9)
* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

---------

Co-authored-by: NeoForge MDK Automation <173375039+neoforge-mdk-automation[bot]@users.noreply.github.com>
2025-07-09 04:30:32 +00:00
neoforge-mdk-automation[bot]
903881fa8d
Update MDK with new output from mod generator (#8)
* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

---------

Co-authored-by: NeoForge MDK Automation <173375039+neoforge-mdk-automation[bot]@users.noreply.github.com>
2025-07-06 04:31:08 +00:00
neoforge-mdk-automation[bot]
fe2e2e6741
Update MDK with new output from mod generator (#7)
* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

---------

Co-authored-by: NeoForge MDK Automation <173375039+neoforge-mdk-automation[bot]@users.noreply.github.com>
2025-06-29 04:30:16 +00:00
neoforge-mdk-automation[bot]
da008e20ff
Update MDK with new output from mod generator (#6)
* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

---------

Co-authored-by: NeoForge MDK Automation <173375039+neoforge-mdk-automation[bot]@users.noreply.github.com>
2025-06-25 04:30:15 +00:00
neoforge-mdk-automation[bot]
ee0c793486
Update MDK with new output from mod generator (#5)
* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

---------

Co-authored-by: NeoForge MDK Automation <173375039+neoforge-mdk-automation[bot]@users.noreply.github.com>
2025-06-22 04:30:40 +00:00
neoforge-mdk-automation[bot]
8b622111e7
Update MDK with new output from mod generator (#4)
* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

---------

Co-authored-by: NeoForge MDK Automation <173375039+neoforge-mdk-automation[bot]@users.noreply.github.com>
2025-06-18 04:30:47 +00:00
neoforge-mdk-automation[bot]
ddcb217ed0
Update MDK with new output from mod generator (#3)
Co-authored-by: NeoForge MDK Automation <173375039+neoforge-mdk-automation[bot]@users.noreply.github.com>
2025-06-15 04:30:59 +00:00
neoforge-mdk-automation[bot]
93b50f3fa9
Update MDK with new output from mod generator (#2)
* Update MDK with new output from mod generator

* Update MDK with new output from mod generator

---------

Co-authored-by: NeoForge MDK Automation <173375039+neoforge-mdk-automation[bot]@users.noreply.github.com>
2025-06-12 17:23:21 +00:00
neoforge-mdk-automation[bot]
f7e5feb03f
Update MDK with new output from mod generator (#1)
Co-authored-by: NeoForge MDK Automation <173375039+neoforge-mdk-automation[bot]@users.noreply.github.com>
2025-06-12 21:29:14 +08:00
neoforged-renovate[bot]
3b47f6ef64
Update dependency net.neoforged:neoforge to v21.1.176 (#384)
Co-authored-by: neoforged-renovate[bot] <174042230+neoforged-renovate[bot]@users.noreply.github.com>
2025-06-09 00:04:08 +00:00
neoforged-renovate[bot]
f18159acb6
Update dependency gradle to v8.14.2 (1.21) (#289) 2025-06-08 21:15:14 +00:00
neoforged-renovate[bot]
30e84e62e4
Update plugin org.gradle.toolchains.foojay-resolver-convention to v1 (1.21) (#375) 2025-06-08 21:14:44 +00:00
neoforged-renovate[bot]
9fc79bf153
Update dependency net.neoforged:neoforge to v21.1.174 (#380)
Co-authored-by: neoforged-renovate[bot] <174042230+neoforged-renovate[bot]@users.noreply.github.com>
2025-06-02 00:04:29 +00:00
neoforged-renovate[bot]
93bba8728a
Update dependency net.neoforged:neoforge to v21.1.172 (#369)
Co-authored-by: neoforged-renovate[bot] <174042230+neoforged-renovate[bot]@users.noreply.github.com>
2025-05-19 00:04:16 +00:00
neoforged-renovate[bot]
feb4d3a4b0
Update dependency net.neoforged:neoforge to v21.1.170 (#365)
Co-authored-by: neoforged-renovate[bot] <174042230+neoforged-renovate[bot]@users.noreply.github.com>
2025-05-12 00:04:50 +00:00
neoforged-renovate[bot]
895f41e5e8
Update dependency net.neoforged:neoforge to v21.1.169 (#358)
Co-authored-by: neoforged-renovate[bot] <174042230+neoforged-renovate[bot]@users.noreply.github.com>
2025-05-05 01:03:56 +00:00
neoforged-renovate[bot]
f1e1d0122f
Update dependency net.neoforged:neoforge to v21.1.167 (#349)
Co-authored-by: neoforged-renovate[bot] <174042230+neoforged-renovate[bot]@users.noreply.github.com>
2025-04-28 01:04:37 +00:00
neoforged-renovate[bot]
897945a84f
Update dependency net.neoforged:neoforge to v21.1.159 (#341)
Co-authored-by: neoforged-renovate[bot] <174042230+neoforged-renovate[bot]@users.noreply.github.com>
2025-04-21 01:04:48 +00:00
neoforged-renovate[bot]
c1c383c8fb
Update dependency net.neoforged:neoforge to v21.1.147 (#339)
Co-authored-by: neoforged-renovate[bot] <174042230+neoforged-renovate[bot]@users.noreply.github.com>
2025-04-14 00:04:13 +00:00
neoforged-renovate[bot]
f9e885f9ef
Update dependency net.neoforged:neoforge to v21.1.145 (#325)
Co-authored-by: neoforged-renovate[bot] <174042230+neoforged-renovate[bot]@users.noreply.github.com>
2025-04-07 00:04:06 +00:00
neoforged-renovate[bot]
864263774a
Update dependency net.neoforged:neoforge to v21.1.141 (#319)
Co-authored-by: neoforged-renovate[bot] <174042230+neoforged-renovate[bot]@users.noreply.github.com>
2025-03-31 00:03:29 +00:00
neoforged-renovate[bot]
4f5eb616f5
Update dependency net.neoforged:neoforge to v21.1.138 (#313)
Co-authored-by: neoforged-renovate[bot] <174042230+neoforged-renovate[bot]@users.noreply.github.com>
2025-03-24 00:03:44 +00:00
neoforged-renovate[bot]
dd22f674df
Update dependency net.neoforged:neoforge to v21.1.133 (#303)
Co-authored-by: neoforged-renovate[bot] <174042230+neoforged-renovate[bot]@users.noreply.github.com>
2025-03-10 00:03:42 +00:00
neoforged-renovate[bot]
0486ad7364
Update dependency net.neoforged:neoforge to v21.1.128 (#294)
Co-authored-by: neoforged-renovate[bot] <174042230+neoforged-renovate[bot]@users.noreply.github.com>
2025-03-03 00:04:02 +00:00
neoforged-renovate[bot]
2e8d3fddd5
Update dependency net.neoforged:neoforge to v21.1.122 (#283)
Co-authored-by: neoforged-renovate[bot] <174042230+neoforged-renovate[bot]@users.noreply.github.com>
2025-02-24 00:03:11 +00:00
neoforged-renovate[bot]
ce6be6dc77
Update dependency net.neoforged:neoforge to v21.1.119 (#275)
Co-authored-by: neoforged-renovate[bot] <174042230+neoforged-renovate[bot]@users.noreply.github.com>
2025-02-17 00:03:12 +00:00
neoforged-renovate[bot]
2132769ca5
Update dependency net.neoforged:neoforge to v21.1.117 (#273)
Co-authored-by: neoforged-renovate[bot] <174042230+neoforged-renovate[bot]@users.noreply.github.com>
2025-02-10 00:02:50 +00:00
neoforged-renovate[bot]
b9e039861b
Update dependency net.neoforged:neoforge to v21.1.115 (#264)
Co-authored-by: neoforged-renovate[bot] <174042230+neoforged-renovate[bot]@users.noreply.github.com>
2025-02-03 00:03:24 +00:00
neoforged-renovate[bot]
76a4788252
Update dependency net.neoforged:neoforge to v21.1.114 (#254)
Co-authored-by: neoforged-renovate[bot] <174042230+neoforged-renovate[bot]@users.noreply.github.com>
2025-01-27 03:02:48 +00:00
neoforged-renovate[bot]
f7bc4ce4c6
Update dependency gradle to v8.12.1 (#259)
Co-authored-by: neoforged-renovate[bot] <174042230+neoforged-renovate[bot]@users.noreply.github.com>
2025-01-27 01:03:11 +00:00
neoforged-renovate[bot]
0ab97022bd
Update dependency net.neoforged:neoforge to v21.1.97 (#242)
Co-authored-by: neoforged-renovate[bot] <174042230+neoforged-renovate[bot]@users.noreply.github.com>
2025-01-20 00:02:55 +00:00
Luke Bemish
85567150a9
Re-enable gradle daemon (#237)
NG7 is compatible with the daemon, and having a running daemon makes invoking gradle substantially faster, which is especially relevant if running gradle tasks before IDE runs or the like.
2025-01-07 20:26:19 +01:00
neoforged-renovate[bot]
42ed93ee2c
Update dependency net.neoforged:neoforge to v21.1.93 (#232)
Co-authored-by: neoforged-renovate[bot] <174042230+neoforged-renovate[bot]@users.noreply.github.com>
2025-01-06 01:02:16 +00:00
neoforged-renovate[bot]
7d7b6b4351
Update dependency net.neoforged:neoforge to v21.1.92 (#218)
Co-authored-by: neoforged-renovate[bot] <174042230+neoforged-renovate[bot]@users.noreply.github.com>
2024-12-30 00:02:32 +00:00
neoforged-renovate[bot]
621f3546db
Update dependency gradle to v8.12 (1.21) (#208) 2024-12-20 22:01:12 +00:00
neoforged-renovate[bot]
53cf17c146
Update dependency net.neoforged:neoforge to v21.1.90 (#200)
Co-authored-by: neoforged-renovate[bot] <174042230+neoforged-renovate[bot]@users.noreply.github.com>
2024-12-16 00:02:32 +00:00
neoforged-renovate[bot]
c8544c9560
Update plugin org.gradle.toolchains.foojay-resolver-convention to v0.9.0 (1.21) (#189) 2024-12-14 22:27:32 +00:00
neoforged-renovate[bot]
eac771546e
Update dependency net.neoforged:neoforge to v21.1.85 (#195)
Co-authored-by: neoforged-renovate[bot] <174042230+neoforged-renovate[bot]@users.noreply.github.com>
2024-12-09 03:02:23 +00:00
neoforged-renovate[bot]
993b118fa5
Update dependency gradle to v8.11.1 (#179)
Co-authored-by: neoforged-renovate[bot] <174042230+neoforged-renovate[bot]@users.noreply.github.com>
2024-12-09 01:02:42 +00:00
neoforged-renovate[bot]
2f90704b49 Update dependency net.neoforged:neoforge to v21.1.83 2024-12-02 00:02:13 +00:00
neoforged-renovate[bot]
aed15e9192 Update dependency net.neoforged:neoforge to v21.1.80 2024-11-25 00:02:12 +00:00
neoforged-renovate[bot]
ee3b61840c Update dependency org.parchmentmc.data:parchment-1.21.1 to v2024.11.17 2024-11-18 00:02:03 +00:00
Matyrobbrt
2fb904d8ba
Update workflow to use setup-gradle v4 2024-11-16 14:40:20 +02:00
Matyrobbrt
3747dee130
Update to 1.21.1 2024-11-16 14:36:00 +02:00
neoforged-renovate[bot]
afd60f1804 Update dependency org.parchmentmc.data:parchment-1.21 to v2024.11.10 2024-11-11 00:05:36 +00:00
neoforged-renovate[bot]
1a4fcfcf93 Update dependency net.neoforged:neoforge to v21.0.167 2024-08-12 00:06:31 +00:00
neoforged-renovate[bot]
7f27d394bf Update dependency net.neoforged:neoforge to v21.0.157 2024-08-05 00:51:44 +00:00
neoforged-renovate[bot]
0abf416888 Update dependency org.parchmentmc.data:parchment-1.21 to v2024.07.28 2024-07-29 00:51:43 +00:00
neoforged-renovate[bot]
538a14ca30 Update dependency net.neoforged:neoforge to v21.0.143 2024-07-29 00:06:25 +00:00
neoforged-renovate[bot]
c13c94e26c
Update dependency org.parchmentmc.data:parchment-1.21 to v2024.07.07 (1.21) (#123)
Co-authored-by: neoforged-renovate[bot] <174042230+neoforged-renovate[bot]@users.noreply.github.com>
2024-07-22 20:29:00 +08:00
Matyrobbrt
f54a3e3681
Update to 1.21 Parchment 2024-07-22 14:52:23 +03:00
neoforged-renovate[bot]
85569007cb Update dependency net.neoforged:neoforge to v21.0.114-beta 2024-07-22 00:38:00 +00:00
neoforged-renovate[bot]
c969a8eb04 Update dependency net.neoforged:neoforge to v21.0.95-beta 2024-07-15 00:38:41 +00:00
neoforged-renovate[bot]
def298fa12
Update dependency gradle to v8.9 (#111)
Co-authored-by: neoforged-renovate[bot] <174042230+neoforged-renovate[bot]@users.noreply.github.com>
2024-07-11 22:18:14 +03:00
neoforged-renovate[bot]
b3c981dc68 Update dependency net.neoforged:neoforge to v21.0.83-beta 2024-07-11 11:01:41 +00:00
neoforged-renovate[bot]
bd330fedbd
Update dependency gradle to v8.8 (#92)
Co-authored-by: neoforged-renovate[bot] <174042230+neoforged-renovate[bot]@users.noreply.github.com>
2024-07-09 21:33:28 +03:00
neoforged-renovate[bot]
b12e943feb
Update dependency net.neoforged:neoforge to v21.0.78-beta (#91)
Co-authored-by: neoforged-renovate[bot] <174042230+neoforged-renovate[bot]@users.noreply.github.com>
2024-07-09 21:32:22 +03:00
TelepathicGrunt
7e54020d1a
Update NeoGradle for AT fix (#76) 2024-06-22 17:54:03 +02:00
Matyrobbrt
89752fc445
Remove outdated license notice 2024-06-21 00:12:26 +03:00
TelepathicGrunt
5374192063
Remove mention of removed DisplayTest (#74) 2024-06-16 14:47:08 +02:00
TelepathicGrunt
b457e9ecb2
Make MDK show info on how to switch to full gradle sources (#65)
* Switch MDK to use full gradle sources

This will significantly improve error reporting in the buildscripts and lead to a better development experience.

* Add wrapper task with comment for how to change it to bin

* Have bin be default with all documentation
2024-06-16 07:32:29 -04:00
shartte
6b865f6fd0
Update to 1.21 (#71) 2024-06-13 23:32:54 +02:00
Brennan Ward
f515fca9af Bump NF and NG
NF 20.6.62-beta -> 20.6.112-beta
NG 7.0.133 -> 7.0.142
2024-06-07 19:55:09 -07:00
Omar Rahman
bfc7eb87a5
Remove duplicate "the" and update loader version comment (#68) 2024-06-04 11:57:42 +08:00
TelepathicGrunt
7dc8b83d7a
Set gradle args to 1G for memory (#61)
* Set gradle args to 3G for memory

Prevent people from running out of gradle memory

* Update gradle.properties
2024-05-19 17:06:48 +02:00
Spino
95dff0e7d7
Update build.gradle (#60) 2024-05-19 10:11:13 +02:00
Spino
dad00053f0
Update NG to fix dependency leaks (#57)
* Update build.gradle

* Update gradle.properties

* Remove `localRuntime`

* Update neo

* Update build.gradle
2024-05-13 21:09:42 +02:00
Spino
a52ce16c8a
Update to 1.20.6 (#55)
Userdev 7.0.109 -> 7.0.120
Parchment 2024.04.14 -> 2024.05.01
Minecraft 1.20.5 -> 1.20.6
Neo 20.5.17 -> 20.6.43
2024-05-07 13:06:53 -04:00
Brennan Ward
fa99978d2e Update references to neoforge.mods.toml 2024-04-27 23:59:38 -07:00
Brennan Ward
8e4a898238 Update to 1.20.5 2024-04-27 23:35:22 -07:00
Luke Bemish
a780f5831b
Stop recommending that mods depend on an optional dependency via runtimeOnly (#48)
* Stop recommending that mods depend on an optional dependency via runtimeOnly

* Switch forge in dep to neoforge

* Make comment more intuitive
2024-04-28 01:48:11 -04:00
Jozufozu
6074a78fba
Configure idea to download sources and javadocs (#47) 2024-04-13 11:07:00 +02:00
Luke Bemish
83959d5c26
Remove project from resource processing template replacement (#45) 2024-04-09 15:59:13 +08:00
Brennan Ward
be6dc16a5a
Document mixins and ATs (#43) 2024-03-13 15:34:26 -04:00
Brennan Ward
ccba2fa2ec bump userdev to 7.0.97
Fixes eclipse not working out-of-the-box
2024-03-12 18:08:31 -07:00
Up
5fca9d4230
Bump versions (#38)
* update foojay-resolver-convention plugin (0.5.0 -> 0.8.0)

* bump neo version (20.4.80-beta -> 20.4.147-beta)

* bump neogradle (7.0.80 -> 7.0.86)

* update gradle wrapper (8.1.1 -> 8.6)

gradle 8.5 or later is required to support JVM 21.
2024-03-12 20:45:28 -04:00
James Wolff
d85c69457d
Fix the build action when running against a tag (#40)
* Update build.yml

Change fetch-depth to 0 on the checkout action closes #39

* Update setup-java and gradle-build versions

actions/setup-java@v2 -> actions/setup-java@v4
gradle/gradle-build-action@v2 -> gradle/actions/setup-gradle@v3
2024-03-12 20:42:59 -04:00
ZestyBlaze
d28b3b6d7c
Add .title to CreativeModeTab example (#35)
To better show how to create Tabs
2024-01-23 02:00:54 +01:00
PixelGameWizard
67a4575730
Clarify purpose of NeoForge.EVENT_BUS.register in ExampleMod class (#32) 2024-01-23 02:00:34 +01:00
한현빈
612169c4a0
Removed mention of resolved issue. (#36) 2024-01-23 01:40:16 +01:00
Nekretaur
b54556b8ec
Parchment and Network Update (#33) 2024-01-07 00:46:45 +01:00
Nekretaur
532065e3a3
Add project version listing URL to properties file(#25) 2023-12-23 15:54:25 +08:00
Matyrobbrt
6d9c3d6d38
Update MDK to 1.20.4 (#29) 2023-12-21 08:47:14 +01:00
TelepathicGrunt
f5f4feccd9
Remove final from instanceof check in Config (#26)
Eclipse reaaaally hates this `final` here and it looks weird to the
rest of us. Since the MDK should work for all IDEs. we should remove
that `final`.
2023-12-10 03:29:39 +08:00
IchHabeHunger54
6bc4a12ecf
Remove mapping values from gradle.properties (#23) 2023-12-07 08:54:48 +08:00
shartte
d7c9899f09
Update to NeoForge 20.2 stable and newer NeoGradle (#21)
* Bump NeoGradle and remove 3G memory settings for Gradle, since the memory for decompilation is no longer inherited from Gradles memory settings since NeoGradle 7.0.56.

* Bump NeoForge to stable for 1.20.2
2023-12-05 08:32:49 +01:00
한현빈
6a48e0669d
Update setup process (#17)
Co-authored-by: sciwhiz12 <sciwhiz12@gmail.com>
2023-12-01 15:42:20 +01:00
TelepathicGrunt
2bc659b8f1
Bump NeoGradle so people with space in filepath can run MDK (#20) 2023-12-01 15:00:49 +01:00
AterAnimAvis
d08c1736e3
Update to 20.2.59-beta (Registry Rework) (#19)
For more details on updating check out the blogpost at https://neoforged.net/news/20.2registry-rework/
2023-11-20 13:06:39 +01:00
Technici4n
8dd9258e72
MDK Updates (#15) 2023-11-05 13:23:24 +01:00
Matyrobbrt
1507c3f5c2
Add build action 2023-10-31 10:02:31 +02:00
Nekretaur
214ceb315d
Update pack format for 20.2.3-beta (#13) 2023-10-30 22:09:06 +01:00
AzureDoom
4b68634c61
Bump NeoForge version (#12) 2023-10-30 22:02:07 +01:00
Marc Hermans
ab3c7e49df
Update to NG7.
Update to 20.2
2023-10-30 19:26:32 +01:00
palkercode
a981652786
Update neo_version (#8) 2023-08-12 08:46:46 +01:00
Robert Kämpf
378bff4509
Make each run config use its own subfolder and add 'run-data' to .gitignore (#7) 2023-08-09 16:58:54 +08:00
Luke Bemish
303e6e548c
Add mixingradle (#6) 2023-08-08 17:47:19 +02:00
SizableShrimp
95076b799e
Configure all available ProcessResources tasks (#3)
This allows using the properties in resources in the test sourceset automatically and any other custom sourcesets a modder might declare
2023-07-23 05:26:33 -05:00
Eivind Norling
33efa70431
Renamed some constants and docs to use names and locations that reference NeoForge (#2) 2023-07-20 13:57:34 -05:00
Eivind Norling
efbe53492e
Update constants for easier usage 2023-07-20 17:33:24 +01:00
cpw
572a6977fd
Add a TEMPLATE LICENSE (MIT) gradle wrapper, and pack.mcmeta 2023-07-15 17:44:22 -04:00
cpw
aff5993cc2
Fix words 2023-07-15 17:18:56 -04:00
cpw
8ce001266e
Update some of the file infos 2023-07-15 17:16:28 -04:00
cpw
2b3334097e
Update readme 2023-07-15 17:03:54 -04:00
cpw
55cc1e2504
Add MDK files at root 2023-07-15 16:52:06 -04:00
cpw
b744ccd722 Add 'mdk/' from commit '5302c74d241e468f2f56e88c2105e75c76337b70'
git-subtree-dir: mdk
git-subtree-mainline: 5d7826249ad432c9730b59b3eb01642af07ddcaa
git-subtree-split: 5302c74d241e468f2f56e88c2105e75c76337b70
2023-07-15 16:50:00 -04:00
cpw
5d7826249a
init 2023-07-15 16:49:42 -04:00
Marc Hermans
5302c74d24 Update to NeoForged 2023-07-11 17:30:44 -04:00
Thomas Kain
53b67cc1b3 Make overloads consistent for defineListAllowEmpty in ForgeConfigSpec.Builder (#9604) 2023-07-03 17:28:37 -07:00
cpw
e6da5218b5 Try and be a bit nicer about handling bad [feature] definitions (#9606)
* Try and be a bit nicer about handling bad [feature] definitions - they're single square bracket defined and require strings for feature bound values.

* Some more tweaks to the feature system to output useful and well formatted error messages when bounds fail. Requires SPI 7.0.1 and the language string "fml.modloading.feature.missing" has changed.

* Use immutable lists where possible and generally tidy things a bit
2023-06-28 22:27:59 -04:00
Paint_Ninja
6d6d2a3732 Add example usage for configs to the MDK (#9596)
Demonstrates proper usage of different config value types, validation, transformation/parsing, load/reload handling and direct field access.
2023-06-27 13:57:20 +02:00
Paint_Ninja
7e52cbf56a Demonstrate configureEach in run configs (#9594) 2023-06-27 13:57:08 +02:00
Paint_Ninja
3ea735a901 Reduce verbosity of prepareRuns doc in MDK (#9593) 2023-06-27 13:56:58 +02:00
Paint_Ninja
9b6e4991b6 Lazily configure MDK tasks, improve IDE support (#9592) 2023-06-27 13:56:42 +02:00
SizableShrimp
773c579dab Forge 1.20
- Creative mode tabs are now a registry; the `BuildContents` event was renamed to `BuildCreativeModeTabContentsEvent` and moved it to its own class
- The pack format is now 15 for both resource packs and data packs
- `ScreenUtils` was deprecated in favor of a `GuiGraphics` extension
- Forge and the MDK were updated to Gradle 8 and FG6
- The Forge common config file was removed (it only contained the deprecated old fields for resource caching, which was removed in 1.19.3)
- Registry dummy entries were removed
- `RemappingVertexPipeline` was fixed to forward the `endVertex()` call
- Forge tool tags were removed in favor of vanilla ones

Co-authored-by: ChampionAsh5357 <ash@ashwork.net>
Co-authored-by: coehlrich <coehlrich@users.noreply.github.com>
Co-authored-by: Dennis C <11262040+XFactHD@users.noreply.github.com>
Co-authored-by: Matyrobbrt <matyrobbrt@gmail.com>
2023-06-07 20:55:09 -05:00
ChampionAsh5357
821c23e9ba Update and Regenerate Datapacks (#9419)
Add generation for pack.mcmeta
2023-03-28 13:33:59 -07:00
noeppi_noeppi
92f7a8ac57 Update pack versions (#9414) 2023-03-24 13:17:22 -07:00
Mysterious_Dev
10fd88714d Fix broken link for update checker docs in mdk (#9271) 2022-12-30 11:11:43 -08:00
Mysterious_Dev
b54d88379c Update link for Parchment "Getting Started" (#9243) 2022-12-26 13:19:44 -08:00
LexManos
8adb648b8d Redesign CreativeTab collection event to be a lot more straight forward. (#9198) 2022-12-10 15:03:23 -08:00
SizableShrimp
d2f2e94511 Forge 1.19.3
Created a CreativeModeTabEvent to register creative mode tabs and populate entries per tab
Moved datapack registries to DataPackRegistryEvent.NewRegistry event instead of tying them to ForgeRegistry
Made it easier for mods to datagen datapack builtin entries with DatapackBuiltinEntriesProvider
Provided access to lookupProvider for datagen
Updated dependencies to match versions used by vanilla and update JarJar to 0.3.18
Added a test mod for the new CreativeModeTabEvent
Throws better error message for Forge registries in tag datagen
Deleted ForgeRegistryTagsProvider
Updated ClientChatReceivedEvent and ServerChatEvent for Mojang changes
Added patches for both sign related methods in ModelLayers
Changed RegisterShadersEvent to use ResourceProvider
Migrated old Mojang math types to JOML

Co-authored-by: Marc Hermans <marc.hermans@ldtteam.com>
Co-authored-by: LexManos <LexManos@gmail.com>
Co-authored-by: sciwhiz12 <arnoldnunag12@gmail.com>
Co-authored-by: coehlrich <coehlrich@users.noreply.github.com>
2022-12-08 01:45:22 -06:00
Nexus-Dino
dce9115609 Add missing semi-colon near the Dist import statement in example mod. 2022-11-08 12:16:49 -08:00
Nexus-Dino
f66aa6f727 Fix ClientModEvents example not subscribing to client-sided events (#9097) 2022-10-21 13:22:57 -07:00
cpw
800cd6407e displayTest option in mods.toml (#8656)
* displayTest option in mods.toml
* "MATCH_VERSION" (or none) is existing match version string behaviour
* "IGNORE_SERVER_VERSION" accepts anything and sends special SERVERONLY string
* "IGNORE_ALL_VERSION" accepts anything and sends an empty string
* "NONE" allows the mod to supply their own displaytest using the IExtensionPoint mechanism.


* Update display test with feedback and added the mods.toml discussion in mdk.
2022-06-09 16:39:00 -04:00
SizableShrimp
8a16ae06c9 Update MDK for 1.19 changes (#8675) 2022-06-09 11:37:52 -07:00
SizableShrimp
54dd4e8da5 Forge 1.19
* Bump pack.mcmeta formats
* 1.19 biome modifiers
* Mark ClientPlayerNetworkEvent.LoggedOutEvent's getters as nullable
* Add docs and package-info to client extension interfaces package
* Move RenderBlockOverlayEvent hooks to ForgeHooksClient
* Add package-infos to client events package
* Rename SoundLoadEvent to SoundEngineLoadEvent

This reduces confusion from consumers which may think the
name SoundLoadEvent refers to an individual sound being loaded rather
than the sound engine.
* Document and change SoundLoadEvent to fire on mod bus

Previously, it fired on both the mod bus and the Forge bus, which is
confusing for consumers.
* Delete SoundSetupEvent

Looking at its original implementation shows that there isn't an
appropriate place in the new sound code to reinsert the event, and the
place of 'sound engine/manager initialization event' is taken already by SoundLoadEvent.
* Perform some cleanup on client events

 - Removed nullable annotations from ClientPlayerNetworkEvent
 - Renamed #getPartialTicks methods to #getPartialTick, to be consistent
  with vanilla's naming of the partial tick
 - Cleanup documentation to remove line breaks, use the
  spelling 'cancelled' over
  'canceled', and improve docs on existing and
   new methods.
* Remove EntityEvent.CanUpdate

Closes MinecraftForge/MinecraftForge#6394
* Switch to Jetbrains nullability annotations
* New PlayLevelSoundEvent; replaces old PlaySoundAtEntityEvent
* Remove ForgeWorldPresetScreens
* Remove IForgeRegistryEntry
* Remove use of List<Throwable> in FML's CompletableFutures
* Add docs to mod loading stages, stages, and phases
* Gradle 7.4.2
* Use SLF4J in FMLLoader and other subprojects
* Switch dynamic versions in subprojects to pinned ones
* Switch ForgeRoot and MDK to FG plugin markers
* Configure Forge javadoc task

The task now uses a custom stylesheet with MCForge elements, and
configured to combine the generation from the four FML subprojects
(fmlloader, fmlcore, javafmllanguage, mclanguage) and the Forge project
into the javadoc output.
* Update docs/md files, for 1.19 update and the move away from IRC to Discord.
* Make "Potentially dangerous alternative prefix" a debug warning, not info.

Co-authored-by: Curle <curle@gemwire.uk>
Co-authored-by: sciwhiz12 <arnoldnunag12@gmail.com>
Signed-off-by: SizableShrimp <sizableshrimp@sizableshrimp.me>
2022-06-07 15:31:26 -05:00
sciwhiz12
9a3c0ec02d Add pack-type-specific format versions in pack metadata. Fixes #8563 (#8612) 2022-05-31 10:36:44 -07:00
Paint_Ninja
c1b7b55c9e Use UTF-8 charset for Java compilation (#8486) 2022-03-06 14:53:15 +00:00
SizableShrimp
03379dea27 Update to 1.18.2
Co-authored-by: sciwhiz12 <arnoldnunag12@gmail.com>
Co-authored-by: Marc Hermans <marc.hermans@ldtteam.com>
Co-authored-by: LexManos <LexManos@gmail.com>
Co-authored-by: Curle <curle@gemwire.uk>
Signed-off-by: SizableShrimp <sizableshrimp@sizableshrimp.me>
2022-03-01 14:16:46 -08:00
sciwhiz12
7f65352e09 1.18.x Omnibus (#8239) 2022-03-01 18:59:37 +00:00
SizableShrimp
17b8c58404 [1.18] Integrate the gametest framework with Forge (#8225)
Signed-off-by: SizableShrimp <sizableshrimp@sizableshrimp.me>
2022-02-25 01:06:32 +00:00
LexManos
bd43048828 Fix dedicated server install. Closes #8226
Fix example mod
Fix obf issue with records. Closes #8228
Fix dependencies beingg out of sync from vanilla. Closes #8227
Disable mixin due to module incompatibility.
2021-11-30 16:22:58 -08:00
Curle
159afdac3f Initial port to 1.18
Co-authored-by: David Quintana <gigaherz@gmail.com>
Co-authored-by: SizableShrimp <sizableshrimp@sizableshrimp.me>
2021-11-30 17:42:18 +00:00
Cyborgmas
77eeae0066 Minor resource pack related fixes (#7884) 2021-08-23 10:52:17 -07:00
SizableShrimp
43918e3496 Update to 1.17
Update to Official classnames
Patchwork
Make the game compile and run
Merge in the new HUD overlay API
Merge in the new render properties API
PEEL
Use Gradle 7.2 snapshot to fix eclipse integration bug in 7.1, Would use 7.0 but FG needs 7.1 for some reason.
New FML installer
Update to 1.17.1

Co-authored-by: LexManos <lexmanos@gmail.com>
Co-authored-by: SizableShrimp <sizableshrimp@sizableshrimp.me>
Co-authored-by: cpw <cpw+github@weeksfamily.ca>
Co-authored-by: Curle <curle@gemwire.uk>
Co-authored-by: Unnoen <Unnoen@users.noreply.github.com>
Co-authored-by: covers1624 <laughlan.cov@internode.on.net>
Co-authored-by: DaemonUmbra <daemon.umbra@gmail.com>
Co-authored-by: gigaherz <gigaherz@gmail.com>
Signed-off-by: SizableShrimp <sizableshrimp@sizableshrimp.me>
2021-07-22 19:57:02 +01:00
SizableShrimp
25bec28365 ForgeGradle 5.1 and Gradle 7, which allows development on J16. Runtime still targets J8. (#7877) 2021-07-21 14:21:09 -07:00
AterAnimAvis
2ebe71dd9c Update for Forge's new maven (#7723) 2021-04-22 22:28:18 -07:00
LexManos
2228a32446 Use JGit instead of GrGit now that jcenter is going away.
Update missed mapped name in MDK.
2021-03-15 12:18:51 -07:00
LexManos
c8bca2c697 Regenerate patches with relative headers. This should lower conflicts in future PRs.
Convert Forge to use Official mappings.
Mojang released their obfuscation mappings but we have not used them up until now due to wanting to get their license to be more explicitly permissive.
It is clear that their intent is to allow us to use their names for developing mods like this.
See the full wording, and our interpretation here: https://github.com/MinecraftForge/MCPConfig/blob/master/Mojang.md
2021-03-09 14:21:48 -08:00
LexManos
7d7d9f3617 Update to FG4, and Gradle 6.8. 2021-03-09 13:27:46 -08:00
FledgeShiu
e14a0a16d9 Reduce default logging markers in the MDK. Modders can re-enable these for better debugging. (#7432)
Modders PLEASE read your damn log, and fix the errors we point out. Spamming modpacks with stack traces is just lazy programming.
2021-02-15 16:39:02 -08:00
LexManos
82bbd361bb Quiet down errors related to modders not changing their update urls from the default. 2020-12-26 11:39:14 -08:00
cpw
60f678cc08 Update event bus version (should be 3.0.5)
Tweak MDK to automatically populate recommended values for things like forge version, loader version and minecraft version.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2020-11-06 21:11:26 -05:00
Flanks255
e686486665 Additions to the mdk build.gradle to accommodate datagens. (#7398) 2020-10-08 14:03:41 -07:00
LexManos
5dd948508a 1.16.3 Update
Also included a bunch of warning cleanups.
2020-09-10 12:01:45 -07:00
Yunus
0e2a3a6b14 Updated MDK and README for 1.16.2 (#7243) 2020-08-13 12:22:58 -07:00
cpw
d03fbe5331 Update MDK license to default to All rights reserved, and offer a link to chooseyourlicense.com as a place to research appropriate licenses.
Note: the license field _is_ backwards compatible and will simply be ignored on older forge versions.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2020-07-27 21:06:48 -04:00
cpw
2c41698b3d Update coremods and spi, include mandatory license field in metadata. Added at top level of mods.toml file.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2020-07-27 20:21:39 -04:00
LexManos
6e2d55542f Re-write checkATs function and automate making Items/Blocks public. 2020-06-29 19:33:34 -07:00
Yunus
f949b368b8 Updated MDK mods.toml versions (#6808) 2020-06-25 18:42:28 -07:00
LexManos
f7f7dab1dd Add --flat argument to data generators to not create data in mod specific directores.
Useful For Forge's test mods mainly.
Standardized data gen cache file's folder separators.
Added ItemModelProvider to BlockStateProvider for cleaner datagen code.
Added .gitattributes to fix datagen json's line endings correct on windows.
2020-06-03 16:57:07 -07:00
Unnoen
eaeed364ba Update version and support data on README. (#6429) 2020-02-14 12:02:00 -08:00
LexManos
27b368124d 1.15.2 Initial Update 2020-01-22 13:44:03 -08:00
tterrag
80d2e0ff5c Update to 1.15.1 2019-12-17 14:37:34 -05:00
LexManos
81766ad180 Fix Entity.getPersistentData function name. Closes #6131
Bump spec version for first 1.14.4 RB.
2019-09-12 09:12:30 -07:00
Thomas Aunvik
c8076eaf04 Updated Example Version Range for 1.14.4 (#5950)
* Updated Example Version Range for 1.14.4

* Also changed loader version and version range
2019-07-20 12:06:06 -04:00
LexManos
32b7e456d7 Fixed EntityJoinWorldEvent not being fired when player is added to ServerWorld. #5827
Fixed wrong example path for the access transformer in the MDK build.gradle. #5891
Added getters for mouse x/y velocity and if the middle-mouse button is being held down. #5776
Modify issue template for better clarity. #5874
Fixed grindstone not using ItemStack-sensitive getMaxDamage. #5831
Added ParticleManager.registerFactory to Forge's AT. #5896
Fixed NPE in SidedInvWrapper when side was null. #5787
Moved EndermanEntity.setAttackTarget super call to allow LivingSetAttackTargetEvent the ability to override default behavior. #5778
Added field to make "Looking at" debug info maximum distance configurable #5714
2019-07-08 18:42:12 -07:00
LexManos
35aab8b17a Split userdev data entry point into it's own provider to fix duplicate mod issue. 2019-06-25 18:03:51 -07:00
marcus8448
b02f3209df Update Example Mod (#5781) 2019-06-12 16:49:20 -07:00
cpw
52909292ac Add way to publish the reobf Jar with the maven-publish
task. The standard way does not publish reobfuscated
artifacts.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-03-09 18:43:20 -05:00
John Hannan
b1cd9faf72 Update MDK Readme to describe new FG3 procedures. (#5553) 2019-02-25 18:11:41 -08:00
tterrag
5b4dfd11bf Remove now defunct eclipse files from MDK 2019-02-18 15:14:42 -05:00
Jack Taylor
7714f8c98b Refactor forge and example run configs based on MinecraftForge/ForgeGradle#546
- Updated run config formats based on the refactored setup
- Removed old 'runclient' and 'runserver' JavaExec tasks, replacing them by creating the run configs using the refactored setup.
- Set 'assetIndex' environment variable from FG
- Updated MDK for new run config setup
2019-02-18 14:39:05 -05:00
cpw
c5f7cfe6ee Fix author and other strings in the mdk mods toml file, update coremods to 0.3.+
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-17 14:08:20 -05:00
cpw
f4f3c9bd2d Fix the MDK..
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-15 21:56:54 -05:00
cpw
f71f347082 Clean up the mod loading context objects. There is only one ThreadLocal now.
**BREAKING CHANGE** FMLModLoadingContext is renamed to FMLJavaModLoadingContext.
LanguageProviders can setup additional contextual data.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-13 22:13:59 -05:00
LexManos
e4bfca53af Rework server launching at runtime to include needed default arguments and validate libraries exist.
Move Forge config loading to manual while config system is in development.
2019-02-04 18:23:58 -08:00
ichttt
2ac439f99e Reimplement update checker 2019-01-27 21:23:24 +01:00
cpw
ae176e6c1f Use recommended approach to applying version data to mdk.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-01-27 11:42:47 -05:00
cpw
e9d087b6f3 Fix mdk properties - now the mdk offers default console debug logging
with various useful channels for development enabled.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-01-27 11:42:46 -05:00
cpw
5422d1342c More logging tweaks, including some aimed at userdev.
`forge.logging.markers=<LIST OF MARKERS>` will enable markers.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-01-27 00:06:57 -05:00
cpw
b1cd7fcee0 Update MDK for new naming scheme 2019-01-14 22:43:17 -05:00
cpw
4666bd9e8a Fix up event naming, move them to sensible packages and document everything a bit. 2019-01-14 22:43:17 -05:00
LexManos
b063c1c80a Update userdev and runconfigs for ForgeGradle changes. 2019-01-08 00:29:36 -08:00
cpw
169d4ce67b Update mdk with some tweaks for building 2019-01-05 00:14:07 -05:00
David Quintana
05761cb243 Create a userdev-specific main, and include it as an injected file in the userdev jar. (#5231) 2018-12-11 20:04:23 -08:00
LexManos
fb1b05ea04 Make Forge group/name dynamic in MDK as well. 2018-11-14 13:42:11 -08:00
LexManos
b89d5e00a8 Include changelog in published artifacts. 2018-11-14 13:39:56 -08:00
LexManos
c3e52b499c Workaround for gradle issue with jar signing. 2018-11-13 16:32:55 -08:00
LexManos
c9f6da92f8 MDK progress. 2018-10-11 18:54:05 -07:00
cpw
c83b13d45c fix up the examplemod for new FML and add a couple of extra bits. 2018-09-30 14:29:14 -04:00
LexManos
a171cf3efe Work on publishing tasks.
Userdev/universal/mdk done.
mdk needs updating once FG3 user side is finished.
Installer waiting on Interaller project re-write to do install time deobf/patching.
2018-09-25 00:29:20 -07:00
mezz
2c7e9bed37 Minor code and documentation cleanup. (#4664) 2018-01-12 23:54:29 -08:00
LexManos
bf6249efe4 Initial patch update to 1.12.
Some things to note:
Netty is screwy so currently can't join single player. @cpw
Crafting has been MAJORY reworked. The current GameRegistry functions are nooped, this is IN THE WORKS.
  Just need to move the recipe list to a full class registry, and then re implement the in-code recipe registration.
  Also, it IS advised that modders move to JSON, because ideally we'll see a S->C recipe syncing system in 1.13
  which would allow servers to have custom recipes.
  OreDictionary currently 1/2 works, need to write a better algorithm for replacing ingredients.
  Please be patient
Rendering:
  A lot of functions got a new float parameter, this is similar to partial ticks, needs more research
2017-06-10 22:22:02 -04:00
Max Shen
9763f5666d Add pack.mcmeta to examplemod (#3813) 2017-05-01 17:52:36 -07:00
James Mitchell
b3f0466b7a Update MCP mappings to snapshot_nodoc_20161220 (#3551) 2016-12-21 15:52:30 -08:00
LexManos
5c06a5ad8f Added gradle.properties to MDK (#3361)
The file sets the default max heap size to 3 GiB so that the decompilation doesn't fail as often.

(cherry picked from commit 49ec3d1b9322ee2b7a1312059118173b0b3fe6d0)
2016-12-05 12:16:30 -08:00
LexManos
f1a961b6d0 Small Cleanup in example build.gradle. 2016-10-08 16:26:24 -07:00
LexManos
7c9542263b Update gradle wrapper to 2.14, reference MC json, and add java6 compat lines to default MDK build.gradle. 2016-08-20 17:11:17 -07:00
LexManos
a3ec974285 Update example mod for new mappings. 2016-05-18 18:06:41 -07:00
LexManos
e3a778c2d8 Update mappoings snapshot to 20160518 2016-05-18 05:23:30 -07:00
Anthony Anderson
629904b1ab Remove trailing */ in the build.gradle
Signed-off-by: Anthony Anderson <lordillyohs@gmail.com>
2015-11-24 20:10:02 -05:00
cpw
ad43835de4 Fix MDK for 1.8.8 using FG2.1 snapshot 2015-11-24 15:30:09 -05:00
Abrar Syed
5ed505dab4 Update FG version to 2.0.2 2015-10-27 23:45:49 -05:00
cpw
97919f5a95 More cleanup of the default eclipse workspace. The project is now called "MDKExample" not "Minecraft".
The project tree is now contemporary, instead of a copy from 1.5.x era MC. The launches are cleaned up, and refer to
a better default "runDir" of "run" rather than "eclipse".. Updating to FG2.0.1 which will contain relevant binary fixes.
2015-08-26 21:57:31 -04:00
AbrarSyed
d4ed44b8e4 added MDK package 2015-08-09 20:30:31 -05:00
cpw
7cf632a721 Vestigal fml-ectomy. 2015-08-02 00:03:47 -04:00
47 changed files with 1477 additions and 0 deletions

5
.gitattributes vendored Normal file
View File

@ -0,0 +1,5 @@
# Disable autocrlf on generated files, they always generate with LF
# Add any extra files or paths here to make git stop saying they
# are changed when only line endings change.
src/generated/**/.cache/cache text eol=lf
src/generated/**/*.json text eol=lf

25
.github/workflows/build.yml vendored Normal file
View File

@ -0,0 +1,25 @@
name: Build
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true
- name: Setup JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
- name: Build with Gradle
run: ./gradlew build

26
.gitignore vendored Normal file
View File

@ -0,0 +1,26 @@
# eclipse
bin
*.launch
.settings
.metadata
.classpath
.project
# idea
out
*.ipr
*.iws
*.iml
.idea
# gradle
build
.gradle
# other
eclipse
run
runs
run-data
repo

4
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,4 @@
{
"java.compile.nullAnalysis.mode": "automatic",
"java.configuration.updateBuildConfiguration": "automatic"
}

71
QUICKSTART_RU.md Normal file
View File

@ -0,0 +1,71 @@
# 📄 Бумажный Предмет - Быстрый Старт
## Что было добавлено?
Новая система размещаемых предметов, основанная на `Paper1.bbmodel`:
### 🎮 Как использовать:
1. **Получить предмет**: Откройте Creative Tab "CubeNet" → найдите "Paper Item"
2. **Разместить блок**: Нажмите ПКМ на земле с предметом в руке
3. **Открыть меню**: Зажмите **Shift + ПКМ** на разместённый блок
4. **Настроить параметры**:
- Левые 3 ползунка → **Ротация** (-180 до +180°)
- Правые 3 ползунка → **Масштаб** (0.1x до 5.0x)
- Нижние 3 ползунка → **Смещение** (-1.0 до +1.0)
5. **Закрыть**: Нажмите **ESC**
### 🎨 Управление ползунками:
- **Левая кнопка мыши + перетаскивание** = изменение значения
- **Колесо мыши (при наведении)** = быстрое изменение
- **Ползунки обновляют блок в реальном времени**
### 💾 Сохранение:
Все параметры автоматически сохраняются в мировые данные блока!
---
## 📁 Что было создано:
### Java классы (486 строк кода):
- `PaperBlock` - основной блок
- `PaperBlockEntity` - данные и логика
- `PaperItem` - предмет
- `PaperBlockScreen` - меню конфигурации
- `FloatSlider` - ползунок для чисел
- `ClientEvents` - клиентские события
- `CubeNetCore` - обновлён для регистрации
### Ресурсы:
- Текстуры (block + item)
- JSON модели
- Локализация (EN + RU)
- Конфиги блока
### Сборка:
**BUILD SUCCESSFUL** - проект готов к использованию!
---
## 🔧 Технические детали:
| Параметр | Диапазон | Назначение |
|----------|----------|-----------|
| Rotation X/Y/Z | -180 to +180 | Поворот по осям |
| Scale X/Y/Z | 0.1 to 5.0 | Размер блока |
| Offset X/Y/Z | -1.0 to +1.0 | Смещение позиции |
**Версия**: Minecraft 1.21.1 + NeoForge 21.1+
---
## 📖 Локализация:
✅ English (en_us.json)
✅ Русский (ru_ru.json)
---
**Система готова! 🚀**

View File

@ -1,2 +1,30 @@
<<<<<<< HEAD
Installation information
=======
This template repository can be directly cloned to get you started with a new
mod. Simply create a new repository cloned from this one, by following the
instructions provided by [GitHub](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template).
Once you have your clone, simply open the repository in the IDE of your choice. The usual recommendation for an IDE is either IntelliJ IDEA or Eclipse.
If at any point you are missing libraries in your IDE, or you've run into problems you can
run `gradlew --refresh-dependencies` to refresh the local cache. `gradlew clean` to reset everything
{this does not affect your code} and then start the process again.
Mapping Names:
============
By default, the MDK is configured to use the official mapping names from Mojang for methods and fields
in the Minecraft codebase. These names are covered by a specific license. All modders should be aware of this
license. For the latest license text, refer to the mapping file itself, or the reference copy here:
https://github.com/NeoForged/NeoForm/blob/main/Mojang.md
Additional Resources:
==========
Community Documentation: https://docs.neoforged.net/
NeoForged Discord: https://discord.neoforged.net/
=======
# cubenet_mod_core # cubenet_mod_core
>>>>>>> 07fa0307fd8dd2b9ee3208f1ea90d70a3a07902a

170
build.gradle Normal file
View File

@ -0,0 +1,170 @@
plugins {
id 'java-library'
id 'maven-publish'
id 'net.neoforged.gradle.userdev' version '7.1.4'
}
tasks.named('wrapper', Wrapper).configure {
// Define wrapper values here so as to not have to always do so when updating gradlew.properties.
// Switching this to Wrapper.DistributionType.ALL will download the full gradle sources that comes with
// documentation attached on cursor hover of gradle classes and methods. However, this comes with increased
// file size for Gradle. If you do switch this to ALL, run the Gradle wrapper task twice afterwards.
// (Verify by checking gradle/wrapper/gradle-wrapper.properties to see if distributionUrl now points to `-all`)
distributionType = Wrapper.DistributionType.BIN
}
version = mod_version
group = mod_group_id
repositories {
// Add here additional repositories if required by some of the dependencies below.
}
base {
archivesName = mod_id
}
// Mojang ships Java 21 to end users in 1.21.1, so mods should target Java 21.
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
//minecraft.accessTransformers.file rootProject.file('src/main/resources/META-INF/accesstransformer.cfg')
//minecraft.accessTransformers.entry public net.minecraft.client.Minecraft textureManager # textureManager
// Default run configurations.
// These can be tweaked, removed, or duplicated as needed.
runs {
// applies to all the run configs below
configureEach {
// Recommended logging data for a userdev environment
// The markers can be added/remove as needed separated by commas.
// "SCAN": For mods scan.
// "REGISTRIES": For firing of registry events.
// "REGISTRYDUMP": For getting the contents of all registries.
systemProperty 'forge.logging.markers', 'REGISTRIES'
// Recommended logging level for the console
// You can set various levels here.
// Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levels
systemProperty 'forge.logging.console.level', 'debug'
modSource project.sourceSets.main
}
client {
// Comma-separated list of namespaces to load gametests from. Empty = all namespaces.
systemProperty 'neoforge.enabledGameTestNamespaces', project.mod_id
}
server {
systemProperty 'neoforge.enabledGameTestNamespaces', project.mod_id
argument '--nogui'
}
// This run config launches GameTestServer and runs all registered gametests, then exits.
// By default, the server will crash when no gametests are provided.
// The gametest system is also enabled by default for other run configs under the /test command.
gameTestServer {
systemProperty 'neoforge.enabledGameTestNamespaces', project.mod_id
}
data {
// example of overriding the workingDirectory set in configureEach above, uncomment if you want to use it
// workingDirectory project.file('run-data')
// Specify the modid for data generation, where to output the resulting resource, and where to look for existing resources.
arguments.addAll '--mod', project.mod_id, '--all', '--output', file('src/generated/resources/').getAbsolutePath(), '--existing', file('src/main/resources/').getAbsolutePath()
}
}
// Include resources generated by data generators.
sourceSets.main.resources { srcDir 'src/generated/resources' }
// Sets up a dependency configuration called 'localRuntime'.
// This configuration should be used instead of 'runtimeOnly' to declare
// a dependency that will be present for runtime testing but that is
// "optional", meaning it will not be pulled by dependents of this mod.
configurations {
runtimeClasspath.extendsFrom localRuntime
}
dependencies {
// Specify the version of Minecraft to use.
// Depending on the plugin applied there are several options. We will assume you applied the userdev plugin as shown above.
// The group for userdev is net.neoforged, the module name is neoforge, and the version is the same as the neoforge version.
// You can however also use the vanilla plugin (net.neoforged.gradle.vanilla) to use a version of Minecraft without the neoforge loader.
// And its provides the option to then use net.minecraft as the group, and one of; client, server or joined as the module name, plus the game version as version.
// For all intends and purposes: You can treat this dependency as if it is a normal library you would use.
implementation "net.neoforged:neoforge:${neo_version}"
// Example optional mod dependency with JEI
// The JEI API is declared for compile time use, while the full JEI artifact is used at runtime
// compileOnly "mezz.jei:jei-${mc_version}-common-api:${jei_version}"
// compileOnly "mezz.jei:jei-${mc_version}-neoforge-api:${jei_version}"
// We add the full version to localRuntime, not runtimeOnly, so that we do not publish a dependency on it
// localRuntime "mezz.jei:jei-${mc_version}-neoforge:${jei_version}"
// Example mod dependency using a mod jar from ./libs with a flat dir repository
// This maps to ./libs/coolmod-${mc_version}-${coolmod_version}.jar
// The group id is ignored when searching -- in this case, it is "blank"
// implementation "blank:coolmod-${mc_version}:${coolmod_version}"
// Example mod dependency using a file as dependency
// implementation files("libs/coolmod-${mc_version}-${coolmod_version}.jar")
// Example project dependency using a sister or child project:
// implementation project(":myproject")
// For more info:
// http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html
// http://www.gradle.org/docs/current/userguide/dependency_management.html
}
// This block of code expands all declared replace properties in the specified resource targets.
// A missing property will result in an error. Properties are expanded using ${} Groovy notation.
// When "copyIdeResources" is enabled, this will also run before the game launches in IDE environments.
// See https://docs.gradle.org/current/dsl/org.gradle.language.jvm.tasks.ProcessResources.html
tasks.withType(ProcessResources).configureEach {
var replaceProperties = [
minecraft_version : minecraft_version,
minecraft_version_range: minecraft_version_range,
neo_version : neo_version,
loader_version_range : loader_version_range,
mod_id : mod_id,
mod_name : mod_name,
mod_license : mod_license,
mod_version : mod_version,
mod_authors : mod_authors,
mod_description : mod_description
]
inputs.properties replaceProperties
filesMatching(['META-INF/neoforge.mods.toml']) {
expand replaceProperties
}
}
// Example configuration to allow publishing using the maven-publish plugin
publishing {
publications {
register('mavenJava', MavenPublication) {
from components.java
}
}
repositories {
maven {
url "file://${project.projectDir}/repo"
}
}
}
tasks.withType(JavaCompile).configureEach {
options.encoding = 'UTF-8' // Use the UTF-8 charset for Java compilation
}
// IDEA no longer automatically downloads sources/javadoc jars for dependencies, so we need to explicitly enable the behavior.
idea {
module {
downloadSources = true
downloadJavadoc = true
}
}

44
gradle.properties Normal file
View File

@ -0,0 +1,44 @@
# Sets default memory used for gradle commands. Can be overridden by user or command line properties.
org.gradle.jvmargs=-Xmx1G
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.caching=true
org.gradle.configuration-cache=true
#read more on this at https://github.com/neoforged/NeoGradle/blob/NG_7.0/README.md#apply-parchment-mappings
# you can also find the latest versions at: https://parchmentmc.org/docs/getting-started
neogradle.subsystems.parchment.minecraftVersion=1.21.1
neogradle.subsystems.parchment.mappingsVersion=2024.11.17
# Environment Properties
# You can find the latest versions here: https://projects.neoforged.net/neoforged/neoforge
# The Minecraft version must agree with the Neo version to get a valid artifact
minecraft_version=1.21.1
# The Minecraft version range can use any release version of Minecraft as bounds.
# Snapshots, pre-releases, and release candidates are not guaranteed to sort properly
# as they do not follow standard versioning conventions.
minecraft_version_range=[1.21.1]
# The Neo version must agree with the Minecraft version to get a valid artifact
neo_version=21.1.214
# The loader version range can only use the major version of FML as bounds
loader_version_range=[1,)
## Mod Properties
# The unique mod identifier for the mod. Must be lowercase in English locale. Must fit the regex [a-z][a-z0-9_]{1,63}
# Must match the String constant located in the main mod class annotated with @Mod.
mod_id=cubenetcore
# The human-readable display name for the mod.
mod_name=CubeNet Core
# The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default.
mod_license=All Rights Reserved
# The mod version. See https://semver.org/
mod_version=1.0.0
# The group ID for the mod. It is only important when publishing as an artifact to a Maven repository.
# This should match the base package used for the mod sources.
# See https://maven.apache.org/guides/mini/guide-naming-conventions.html
mod_group_id=com.skytech.cubenetcore
# The authors of the mod. This is a simple text string that is used for display purposes in the mod list.
mod_authors=cubenet devteam
# The description of the mod. This is a simple multiline text string that is used for display purposes in the mod list.
mod_description=CubeNet Core mod with custom blocks.

BIN
gradle/wrapper/gradle-wrapper.jar vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.0-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

251
gradlew vendored Executable file
View File

@ -0,0 +1,251 @@
#!/bin/sh
#
# Copyright © 2015-2021 the original authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0
#
##############################################################################
#
# Gradle start up script for POSIX generated by Gradle.
#
# Important for running:
#
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
# noncompliant, but you have some other compliant shell such as ksh or
# bash, then to run this script, type that shell name before the whole
# command line, like:
#
# ksh Gradle
#
# Busybox and similar reduced shells will NOT work, because this script
# requires all of these POSIX shell features:
# * functions;
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
# * compound commands having a testable exit status, especially «case»;
# * various built-in commands including «command», «set», and «ulimit».
#
# Important for patching:
#
# (2) This script targets any POSIX shell, so it avoids extensions provided
# by Bash, Ksh, etc; in particular arrays are avoided.
#
# The "traditional" practice of packing multiple parameters into a
# space-separated string is a well documented source of bugs and security
# problems, so this is (mostly) avoided, by progressively accumulating
# options in "$@", and eventually passing that to Java.
#
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
# see the in-line comments for details.
#
# There are tweaks for specific operating systems such as AIX, CygWin,
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
#
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
app_path=$0
# Need this for daisy-chained symlinks.
while
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
[ -h "$app_path" ]
do
ls=$( ls -ld "$app_path" )
link=${ls#*' -> '}
case $link in #(
/*) app_path=$link ;; #(
*) app_path=$APP_HOME$link ;;
esac
done
# This is normally unused
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
warn () {
echo "$*"
} >&2
die () {
echo
echo "$*"
echo
exit 1
} >&2
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "$( uname )" in #(
CYGWIN* ) cygwin=true ;; #(
Darwin* ) darwin=true ;; #(
MSYS* | MINGW* ) msys=true ;; #(
NONSTOP* ) nonstop=true ;;
esac
CLASSPATH="\\\"\\\""
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD=$JAVA_HOME/jre/sh/java
else
JAVACMD=$JAVA_HOME/bin/java
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD=java
if ! command -v java >/dev/null 2>&1
then
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
fi
# Increase the maximum file descriptors if we can.
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC2039,SC3045
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
case $MAX_FD in #(
'' | soft) :;; #(
*)
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC2039,SC3045
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
fi
# Collect all arguments for the java command, stacking in reverse order:
# * args from the command line
# * the main class name
# * -classpath
# * -D...appname settings
# * --module-path (only if needed)
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
# For Cygwin or MSYS, switch paths to Windows format before running java
if "$cygwin" || "$msys" ; then
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
JAVACMD=$( cygpath --unix "$JAVACMD" )
# Now convert the arguments - kludge to limit ourselves to /bin/sh
for arg do
if
case $arg in #(
-*) false ;; # don't mess with options #(
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
[ -e "$t" ] ;; #(
*) false ;;
esac
then
arg=$( cygpath --path --ignore --mixed "$arg" )
fi
# Roll the args list around exactly as many times as the number of
# args, so each arg winds up back in the position where it started, but
# possibly modified.
#
# NB: a `for` loop captures its iteration list before it begins, so
# changing the positional parameters here affects neither the number of
# iterations, nor the values presented in `arg`.
shift # remove old arg
set -- "$@" "$arg" # push replacement arg
done
fi
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Collect all arguments for the java command:
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# and any embedded shellness will be escaped.
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
# treated as '${Hostname}' itself on the command line.
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
-classpath "$CLASSPATH" \
-jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
"$@"
# Stop when "xargs" is not available.
if ! command -v xargs >/dev/null 2>&1
then
die "xargs is not available"
fi
# Use "xargs" to parse quoted args.
#
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
#
# In Bash we could simply go:
#
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
# set -- "${ARGS[@]}" "$@"
#
# but POSIX shell has neither arrays nor command substitution, so instead we
# post-process each arg (as a line of input to sed) to backslash-escape any
# character that might be a shell metacharacter, then use eval to reverse
# that process (while maintaining the separation between arguments), and wrap
# the whole thing up as a single "set" statement.
#
# This will of course break if any of these variables contains a newline or
# an unmatched quote.
#
eval "set -- $(
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
xargs -n1 |
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
tr '\n' ' '
)" '"$@"'
exec "$JAVACMD" "$@"

94
gradlew.bat vendored Normal file
View File

@ -0,0 +1,94 @@
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@rem SPDX-License-Identifier: Apache-2.0
@rem
@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%"=="" set DIRNAME=.
@rem This is normally unused
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if %ERRORLEVEL% equ 0 goto execute
echo. 1>&2
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto execute
echo. 1>&2
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2
goto fail
:execute
@rem Setup the command line
set CLASSPATH=
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
:end
@rem End local scope for the variables with windows NT shell
if %ERRORLEVEL% equ 0 goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
set EXIT_CODE=%ERRORLEVEL%
if %EXIT_CODE% equ 0 set EXIT_CODE=1
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
exit /b %EXIT_CODE%
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega

52
paper2.json Normal file
View File

@ -0,0 +1,52 @@
{
"format_version": "1.21.6",
"credit": "Made with Blockbench",
"textures": {
"5": "paper2"
},
"elements": [
{
"from": [4.5, 0, 15.9],
"to": [11.5, 11, 16],
"rotation": {"angle": 0, "axis": "z", "origin": [8, 5.5, 15.9]},
"faces": {
"north": {"uv": [0, 0, 7, 11], "texture": "#5"},
"east": {"uv": [0, 0, 1.1, 11], "texture": "#5"},
"south": {"uv": [0, 0, 7, 11], "texture": "#5"},
"west": {"uv": [6, 0, 7.1, 11], "texture": "#5"},
"up": {"uv": [0, 0, 7, 1.1], "texture": "#5"},
"down": {"uv": [0, 10, 7, 11.1], "texture": "#5"}
}
}
],
"gui_light": "front",
"display": {
"thirdperson_righthand": {
"translation": [0, 3.5, -7.25],
"scale": [0.5, 0.5, 1]
},
"thirdperson_lefthand": {
"translation": [0, 3.5, -7.25],
"scale": [0.5, 0.5, 1]
},
"firstperson_righthand": {
"translation": [0, 5.75, -7]
},
"firstperson_lefthand": {
"translation": [0, 5.75, -7]
},
"ground": {
"rotation": [90, 0, 0],
"translation": [0, 4.75, 0]
},
"gui": {
"translation": [0, 2.5, 0]
},
"fixed": {
"translation": [0, 0, -8]
},
"on_shelf": {
"translation": [0, 0, -11.75]
}
}
}

BIN
paper2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 300 B

52
paper3.json Normal file
View File

@ -0,0 +1,52 @@
{
"format_version": "1.21.6",
"credit": "Made with Blockbench",
"textures": {
"6": "block/paper3"
},
"elements": [
{
"from": [2, 0, 15.9],
"to": [14, 9, 16],
"rotation": {"angle": 0, "axis": "z", "origin": [8, 4.5, 15.9]},
"faces": {
"north": {"uv": [0, 0, 12, 9], "texture": "#6"},
"east": {"uv": [0, 0, 1, 9], "texture": "#6"},
"south": {"uv": [0, 0, 12, 9], "texture": "#6"},
"west": {"uv": [11.1, 0, 12.1, 9], "texture": "#6"},
"up": {"uv": [0, 0, 12, 0.9], "texture": "#6"},
"down": {"uv": [0, 8.1, 12, 9], "texture": "#6"}
}
}
],
"gui_light": "front",
"display": {
"thirdperson_righthand": {
"translation": [0, 2.25, -7],
"scale": [0.3, 0.3, 1]
},
"thirdperson_lefthand": {
"translation": [0, 2.25, -7],
"scale": [0.3, 0.3, 1]
},
"firstperson_righthand": {
"translation": [2.75, 5.75, -10.25]
},
"firstperson_lefthand": {
"translation": [2.75, 5.75, -10.25]
},
"ground": {
"rotation": [90, 0, 0],
"translation": [0, 4.5, 3.5]
},
"gui": {
"translation": [0, 3.5, 0]
},
"fixed": {
"translation": [0, 0, -8]
},
"on_shelf": {
"translation": [0, 1, -11.75]
}
}
}

BIN
paper3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 B

52
paper4.json Normal file
View File

@ -0,0 +1,52 @@
{
"format_version": "1.21.6",
"credit": "Made with Blockbench",
"textures": {
"7": "paper4"
},
"elements": [
{
"from": [2, 0, 15.9],
"to": [14, 17, 16],
"rotation": {"angle": 0, "axis": "z", "origin": [8, 8.5, 15.9]},
"faces": {
"north": {"uv": [0, 0, 6, 8.5], "texture": "#7"},
"east": {"uv": [0, 0, 0.5, 8.5], "texture": "#7"},
"south": {"uv": [0, 0, 6, 8.5], "texture": "#7"},
"west": {"uv": [5.5, 0, 6, 8.5], "texture": "#7"},
"up": {"uv": [0, 0, 6, 0.5], "texture": "#7"},
"down": {"uv": [0, 8, 6, 8.5], "texture": "#7"}
}
}
],
"gui_light": "front",
"display": {
"thirdperson_righthand": {
"translation": [0, 1.75, -7],
"scale": [0.25, 0.25, 1]
},
"thirdperson_lefthand": {
"translation": [0, 1.25, -7],
"scale": [0.25, 0.25, 1]
},
"firstperson_righthand": {
"translation": [5.5, 2.75, -12.5]
},
"firstperson_lefthand": {
"translation": [5.5, 2.75, -12.5]
},
"ground": {
"rotation": [90, 0, 0],
"translation": [0, 4.25, 0]
},
"gui": {
"scale": [0.75, 0.75, 1]
},
"fixed": {
"translation": [0, 0, -8]
},
"on_shelf": {
"translation": [0, 0, -11.75]
}
}
}

BIN
paper4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 441 B

10
settings.gradle Normal file
View File

@ -0,0 +1,10 @@
pluginManagement {
repositories {
gradlePluginPortal()
maven { url = 'https://maven.neoforged.net/releases' }
}
}
plugins {
id 'org.gradle.toolchains.foojay-resolver-convention' version '1.0.0'
}

View File

@ -0,0 +1,8 @@
package com.skytech.cubenetcore;
import net.neoforged.neoforge.common.ModConfigSpec;
public class Config {
private static final ModConfigSpec.Builder BUILDER = new ModConfigSpec.Builder();
public static final ModConfigSpec SPEC = BUILDER.build();
}

View File

@ -0,0 +1,95 @@
package com.skytech.cubenetcore;
import org.slf4j.Logger;
import com.mojang.logging.LogUtils;
import net.minecraft.core.registries.Registries;
import net.minecraft.network.chat.Component;
import net.minecraft.world.item.BlockItem;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.item.CreativeModeTabs;
import net.minecraft.world.item.Item;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.entity.BlockEntityType;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.material.MapColor;
import net.neoforged.bus.api.IEventBus;
import net.neoforged.bus.api.SubscribeEvent;
import net.neoforged.fml.common.Mod;
import net.neoforged.fml.config.ModConfig;
import net.neoforged.fml.ModContainer;
import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent;
import net.neoforged.neoforge.common.NeoForge;
import net.neoforged.neoforge.event.BuildCreativeModeTabContentsEvent;
import net.neoforged.neoforge.registries.DeferredBlock;
import net.neoforged.neoforge.registries.DeferredHolder;
import net.neoforged.neoforge.registries.DeferredItem;
import net.neoforged.neoforge.registries.DeferredRegister;
@Mod(CubeNetCore.MODID)
public class CubeNetCore {
public static final String MODID = "cubenetcore";
public static final Logger LOGGER = LogUtils.getLogger();
public static final DeferredRegister.Blocks BLOCKS = DeferredRegister.createBlocks(MODID);
public static final DeferredRegister.Items ITEMS = DeferredRegister.createItems(MODID);
public static final DeferredRegister<CreativeModeTab> CREATIVE_MODE_TABS = DeferredRegister.create(Registries.CREATIVE_MODE_TAB, MODID);
public static final DeferredRegister<BlockEntityType<?>> BLOCK_ENTITIES = DeferredRegister.create(Registries.BLOCK_ENTITY_TYPE, MODID);
public static final DeferredBlock<Block> SKYTECH_BLOCK = BLOCKS.registerSimpleBlock("skytech_block", BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_BLUE));
public static final DeferredItem<BlockItem> SKYTECH_BLOCK_ITEM = ITEMS.registerSimpleBlockItem("skytech_block", SKYTECH_BLOCK);
public static final DeferredBlock<Block> GRASS_BLOCK = BLOCKS.registerSimpleBlock("grass_block", BlockBehaviour.Properties.of().mapColor(MapColor.GRASS));
public static final DeferredItem<BlockItem> GRASS_BLOCK_ITEM = ITEMS.registerSimpleBlockItem("grass_block", GRASS_BLOCK);
public static final DeferredBlock<Block> TERRAIN_BLOCK = BLOCKS.registerSimpleBlock("terrain_block", BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_GREEN));
public static final DeferredItem<BlockItem> TERRAIN_BLOCK_ITEM = ITEMS.registerSimpleBlockItem("terrain_block", TERRAIN_BLOCK);
public static final DeferredItem<Item> PAPER2 = ITEMS.registerSimpleItem("paper2");
public static final DeferredItem<Item> PAPER3 = ITEMS.registerSimpleItem("paper3");
public static final DeferredItem<Item> PAPER4 = ITEMS.registerSimpleItem("paper4");
public static final DeferredHolder<CreativeModeTab, CreativeModeTab> CUBENET_TAB = CREATIVE_MODE_TABS.register("cubenet_tab", () -> CreativeModeTab.builder()
.title(Component.literal("CubeNet"))
.withTabsBefore(CreativeModeTabs.COMBAT)
.icon(() -> TERRAIN_BLOCK_ITEM.get().getDefaultInstance())
.displayItems((parameters, output) -> {
output.accept(SKYTECH_BLOCK_ITEM.get());
output.accept(GRASS_BLOCK_ITEM.get());
output.accept(TERRAIN_BLOCK_ITEM.get());
output.accept(PAPER2.get());
output.accept(PAPER3.get());
output.accept(PAPER4.get());
}).build());
public CubeNetCore(IEventBus modEventBus, ModContainer modContainer) {
modEventBus.addListener(this::commonSetup);
BLOCKS.register(modEventBus);
ITEMS.register(modEventBus);
CREATIVE_MODE_TABS.register(modEventBus);
BLOCK_ENTITIES.register(modEventBus);
NeoForge.EVENT_BUS.register(this);
modEventBus.addListener(this::addCreative);
modContainer.registerConfig(ModConfig.Type.COMMON, Config.SPEC);
}
private void commonSetup(FMLCommonSetupEvent event) {
LOGGER.info("CubeNet Core mod initialized!");
}
private void addCreative(BuildCreativeModeTabContentsEvent event) {
if (event.getTabKey() == CreativeModeTabs.BUILDING_BLOCKS) {
event.accept(SKYTECH_BLOCK_ITEM);
}
}
@SubscribeEvent
public void onServerStarting(net.neoforged.neoforge.event.server.ServerStartingEvent event) {
LOGGER.info("CubeNet Core server started");
}
}

View File

@ -0,0 +1,6 @@
package com.skytech.cubenetcore.client;
import net.minecraft.client.Minecraft;
public class ClientEvents {
}

View File

@ -0,0 +1,106 @@
package com.skytech.cubenetcore.screen;
import net.minecraft.client.gui.GuiGraphics;
import net.minecraft.client.gui.components.AbstractButton;
import net.minecraft.client.gui.narration.NarrationElementOutput;
import net.minecraft.client.gui.Font;
import net.minecraft.network.chat.Component;
import java.util.function.Consumer;
public class FloatSlider extends AbstractButton {
private final float minValue;
private final float maxValue;
private float value;
private final Consumer<Float> onChange;
private boolean dragging;
private final Font font;
public FloatSlider(int x, int y, int width, int height, Component label, Font font, float initialValue, float min, float max, Consumer<Float> onChange) {
super(x, y, width, height, label);
this.minValue = min;
this.maxValue = max;
this.value = Math.max(min, Math.min(max, initialValue));
this.onChange = onChange;
this.dragging = false;
this.font = font;
}
@Override
public void renderWidget(GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTick) {
int bgColor = 0xFF8B8B8B;
int borderColor = 0xFFFFFFFF;
guiGraphics.fill(this.getX(), this.getY(), this.getX() + this.width, this.getY() + this.height, bgColor);
guiGraphics.renderOutline(this.getX(), this.getY(), this.width, this.height, borderColor);
float sliderProgress = (this.value - this.minValue) / (this.maxValue - this.minValue);
int handleX = this.getX() + (int)(sliderProgress * (this.width - 4)) + 2;
guiGraphics.fill(handleX, this.getY() + 2, handleX + 4, this.getY() + this.height - 2, 0xFFFFFFFF);
String text = String.format("%.2f", this.value);
guiGraphics.drawString(this.font, this.getMessage(), this.getX() - 60, this.getY() + 5, 0xFFFFFF);
guiGraphics.drawString(this.font, text, this.getX() + this.width + 5, this.getY() + 5, 0xFFFFFF);
}
@Override
public boolean mouseScrolled(double mouseX, double mouseY, double scrollX, double scrollY) {
if (this.isHovered && scrollY != 0) {
float step = (this.maxValue - this.minValue) / 50.0f;
this.setValue(this.value + (float)scrollY * step);
return true;
}
return false;
}
@Override
public boolean mouseDragged(double mouseX, double mouseY, int button, double dragX, double dragY) {
if (this.dragging) {
float ratio = (float)(mouseX - this.getX()) / this.width;
ratio = Math.max(0, Math.min(1, ratio));
this.setValue(this.minValue + (this.maxValue - this.minValue) * ratio);
return true;
}
return false;
}
@Override
public boolean mouseClicked(double mouseX, double mouseY, int button) {
if (button == 0 && mouseX >= this.getX() && mouseX < this.getX() + this.width &&
mouseY >= this.getY() && mouseY < this.getY() + this.height) {
this.dragging = true;
float ratio = (float)(mouseX - this.getX()) / this.width;
ratio = Math.max(0, Math.min(1, ratio));
this.setValue(this.minValue + (this.maxValue - this.minValue) * ratio);
return true;
}
return false;
}
@Override
public boolean mouseReleased(double mouseX, double mouseY, int button) {
if (button == 0) {
this.dragging = false;
return true;
}
return false;
}
private void setValue(float value) {
this.value = Math.max(this.minValue, Math.min(this.maxValue, value));
this.onChange.accept(this.value);
}
@Override
protected void updateWidgetNarration(NarrationElementOutput narrationElementOutput) {
this.defaultButtonNarrationText(narrationElementOutput);
}
@Override
public void onPress() {
}
public float getValue() {
return this.value;
}
}

View File

@ -0,0 +1,93 @@
# This is an example neoforge.mods.toml file. It contains the data relating to the loading mods.
# There are several mandatory fields (#mandatory), and many more that are optional (#optional).
# The overall format is standard TOML format, v0.5.0.
# Note that there are a couple of TOML lists in this file.
# Find more information on toml format here: https://github.com/toml-lang/toml
# The name of the mod loader type to load - for regular FML @Mod mods it should be javafml
modLoader="javafml" #mandatory
# A version range to match for said mod loader - for regular FML @Mod it will be the FML version. This is currently 2.
loaderVersion="${loader_version_range}" #mandatory
# The license for you mod. This is mandatory metadata and allows for easier comprehension of your redistributive properties.
# Review your options at https://choosealicense.com/. All rights reserved is the default copyright stance, and is thus the default here.
license="${mod_license}"
# A URL to refer people to when problems occur with this mod
#issueTrackerURL="https://change.me.to.your.issue.tracker.example.invalid/" #optional
# A list of mods - how many allowed here is determined by the individual mod loader
[[mods]] #mandatory
# The modid of the mod
modId="${mod_id}" #mandatory
# The version number of the mod
version="${mod_version}" #mandatory
# A display name for the mod
displayName="${mod_name}" #mandatory
# A URL to query for updates for this mod. See the JSON update specification https://docs.neoforged.net/docs/misc/updatechecker/
#updateJSONURL="https://change.me.example.invalid/updates.json" #optional
# A URL for the "homepage" for this mod, displayed in the mod UI
#displayURL="https://change.me.to.your.mods.homepage.example.invalid/" #optional
# A file name (in the root of the mod JAR) containing a logo for display
#logoFile="examplemod.png" #optional
# A text field displayed in the mod UI
#credits="" #optional
# A text field displayed in the mod UI
authors="${mod_authors}" #optional
# The description text for the mod (multi line!) (#mandatory)
description='''${mod_description}'''
# The [[mixins]] block allows you to declare your mixin config to FML so that it gets loaded.
#[[mixins]]
#config="${mod_id}.mixins.json"
# The [[accessTransformers]] block allows you to declare where your AT file is.
# If this block is omitted, a fallback attempt will be made to load an AT from META-INF/accesstransformer.cfg
#[[accessTransformers]]
#file="META-INF/accesstransformer.cfg"
# The coremods config file path is not configurable and is always loaded from META-INF/coremods.json
# A dependency - use the . to indicate dependency for a specific modid. Dependencies are optional.
[[dependencies.${mod_id}]] #optional
# the modid of the dependency
modId="neoforge" #mandatory
# The type of the dependency. Can be one of "required", "optional", "incompatible" or "discouraged" (case insensitive).
# 'required' requires the mod to exist, 'optional' does not
# 'incompatible' will prevent the game from loading when the mod exists, and 'discouraged' will show a warning
type="required" #mandatory
# Optional field describing why the dependency is required or why it is incompatible
# reason="..."
# The version range of the dependency
versionRange="[${neo_version},)" #mandatory
# An ordering relationship for the dependency.
# BEFORE - This mod is loaded BEFORE the dependency
# AFTER - This mod is loaded AFTER the dependency
ordering="NONE"
# Side this dependency is applied on - BOTH, CLIENT, or SERVER
side="BOTH"
# Here's another dependency
[[dependencies.${mod_id}]]
modId="minecraft"
type="required"
# This version range declares a minimum of the current minecraft version up to but not including the next major version
versionRange="${minecraft_version_range}"
ordering="NONE"
side="BOTH"
# Features are specific properties of the game environment, that you may want to declare you require. This example declares
# that your mod requires GL version 3.2 or higher. Other features will be added. They are side aware so declaring this won't
# stop your mod loading on the server for example.
#[features.${mod_id}]
#openGLVersion="[3.2,)"

View File

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "cubenetcore:block/grass_block"
}
}
}

View File

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "cubenetcore:block/skytech_block"
}
}
}

View File

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "cubenetcore:block/terrain_block"
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

View File

@ -0,0 +1,6 @@
{
"block.cubenetcore.skytech_block": "SkyTech Block",
"block.cubenetcore.grass_block": "Grass Block",
"block.cubenetcore.terrain_block": "Terrain Block",
"itemGroup.cubenetcore.cubenet_tab": "CubeNet"
}

View File

@ -0,0 +1,6 @@
{
"block.cubenetcore.skytech_block": "Блок SkyTech",
"block.cubenetcore.grass_block": "Травяной блок",
"block.cubenetcore.terrain_block": "Блок ландшафта",
"itemGroup.cubenetcore.cubenet_tab": "CubeNet"
}

View File

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "cubenetcore:block/grass_block"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "cubenetcore:block/skytech_block"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "cubenetcore:block/terrain_block"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "cubenetcore:block/grass_block"
}
}

View File

@ -0,0 +1,52 @@
{
"format_version": "1.21.6",
"credit": "Made with Blockbench",
"textures": {
"5": "cubenetcore:item/paper2"
},
"elements": [
{
"from": [4.5, 0, 15.9],
"to": [11.5, 11, 16],
"rotation": {"angle": 0, "axis": "z", "origin": [8, 5.5, 15.9]},
"faces": {
"north": {"uv": [0, 0, 7, 11], "texture": "#5"},
"east": {"uv": [0, 0, 1.1, 11], "texture": "#5"},
"south": {"uv": [0, 0, 7, 11], "texture": "#5"},
"west": {"uv": [6, 0, 7.1, 11], "texture": "#5"},
"up": {"uv": [0, 0, 7, 1.1], "texture": "#5"},
"down": {"uv": [0, 10, 7, 11.1], "texture": "#5"}
}
}
],
"gui_light": "front",
"display": {
"thirdperson_righthand": {
"translation": [0, 3.5, -7.25],
"scale": [0.5, 0.5, 1]
},
"thirdperson_lefthand": {
"translation": [0, 3.5, -7.25],
"scale": [0.5, 0.5, 1]
},
"firstperson_righthand": {
"translation": [0, 5.75, -7]
},
"firstperson_lefthand": {
"translation": [0, 5.75, -7]
},
"ground": {
"rotation": [90, 0, 0],
"translation": [0, 4.75, 0]
},
"gui": {
"translation": [0, 2.5, 0]
},
"fixed": {
"translation": [0, 0, -8]
},
"head": {
"translation": [0, 0, 0]
}
}
}

View File

@ -0,0 +1,52 @@
{
"format_version": "1.21.6",
"credit": "Made with Blockbench",
"textures": {
"5": "paper2"
},
"elements": [
{
"from": [4.5, 0, 15.9],
"to": [11.5, 11, 16],
"rotation": {"angle": 0, "axis": "z", "origin": [8, 5.5, 15.9]},
"faces": {
"north": {"uv": [0, 0, 7, 11], "texture": "#5"},
"east": {"uv": [0, 0, 1.1, 11], "texture": "#5"},
"south": {"uv": [0, 0, 7, 11], "texture": "#5"},
"west": {"uv": [6, 0, 7.1, 11], "texture": "#5"},
"up": {"uv": [0, 0, 7, 1.1], "texture": "#5"},
"down": {"uv": [0, 10, 7, 11.1], "texture": "#5"}
}
}
],
"gui_light": "front",
"display": {
"thirdperson_righthand": {
"translation": [0, 3.5, -7.25],
"scale": [0.5, 0.5, 1]
},
"thirdperson_lefthand": {
"translation": [0, 3.5, -7.25],
"scale": [0.5, 0.5, 1]
},
"firstperson_righthand": {
"translation": [0, 5.75, -7]
},
"firstperson_lefthand": {
"translation": [0, 5.75, -7]
},
"ground": {
"rotation": [90, 0, 0],
"translation": [0, 4.75, 0]
},
"gui": {
"translation": [0, 2.5, 0]
},
"fixed": {
"translation": [0, 0, -8]
},
"on_shelf": {
"translation": [0, 0, -11.75]
}
}
}

View File

@ -0,0 +1,52 @@
{
"format_version": "1.21.6",
"credit": "Made with Blockbench",
"textures": {
"6": "cubenetcore:item/paper3"
},
"elements": [
{
"from": [2, 0, 15.9],
"to": [14, 9, 16],
"rotation": {"angle": 0, "axis": "z", "origin": [8, 4.5, 15.9]},
"faces": {
"north": {"uv": [0, 0, 12, 9], "texture": "#6"},
"east": {"uv": [0, 0, 1, 9], "texture": "#6"},
"south": {"uv": [0, 0, 12, 9], "texture": "#6"},
"west": {"uv": [11.1, 0, 12.1, 9], "texture": "#6"},
"up": {"uv": [0, 0, 12, 0.9], "texture": "#6"},
"down": {"uv": [0, 8.1, 12, 9], "texture": "#6"}
}
}
],
"gui_light": "front",
"display": {
"thirdperson_righthand": {
"translation": [0, 2.25, -7],
"scale": [0.3, 0.3, 1]
},
"thirdperson_lefthand": {
"translation": [0, 2.25, -7],
"scale": [0.3, 0.3, 1]
},
"firstperson_righthand": {
"translation": [2.75, 5.75, -10.25]
},
"firstperson_lefthand": {
"translation": [2.75, 5.75, -10.25]
},
"ground": {
"rotation": [90, 0, 0],
"translation": [0, 4.5, 3.5]
},
"gui": {
"translation": [0, 3.5, 0]
},
"fixed": {
"translation": [0, 0, -8]
},
"head": {
"translation": [0, 0, 0]
}
}
}

View File

@ -0,0 +1,53 @@
{
"format_version": "1.21.6",
"credit": "Made with Blockbench",
"textures": {
"7": "cubenetcore:item/paper4"
},
"elements": [
{
"from": [2, 0, 15.9],
"to": [14, 17, 16],
"rotation": {"angle": 0, "axis": "z", "origin": [8, 8.5, 15.9]},
"faces": {
"north": {"uv": [0, 0, 6, 8.5], "texture": "#7"},
"east": {"uv": [0, 0, 0.5, 8.5], "texture": "#7"},
"south": {"uv": [0, 0, 6, 8.5], "texture": "#7"},
"west": {"uv": [5.5, 0, 6, 8.5], "texture": "#7"},
"up": {"uv": [0, 0, 6, 0.5], "texture": "#7"},
"down": {"uv": [0, 8, 6, 8.5], "texture": "#7"}
}
}
],
"gui_light": "front",
"display": {
"thirdperson_righthand": {
"translation": [0, 1.75, -7],
"scale": [0.25, 0.25, 1]
},
"thirdperson_lefthand": {
"translation": [0, 1.25, -7],
"scale": [0.25, 0.25, 1]
},
"firstperson_righthand": {
"translation": [5.5, 2.75, -12.5]
},
"firstperson_lefthand": {
"translation": [5.5, 2.75, -12.5]
},
"ground": {
"rotation": [90, 0, 0],
"translation": [0, 4.25, 0]
},
"gui": {
"scale": [0.75, 0.75, 1]
},
"fixed": {
"translation": [0, 0, -8]
},
"head": {
"translation": [0, 0, 0]
}
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "cubenetcore:block/skytech_block"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "cubenetcore:block/terrain_block"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 300 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 441 B

BIN
src/main/resources/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB