From c6051896339cc558c1be2a46744f478900044fe6 Mon Sep 17 00:00:00 2001 From: WithersChat <76114055+WithersChat@users.noreply.github.com> Date: Tue, 23 Jul 2024 04:21:09 +0200 Subject: [PATCH] KubeJS Item Reordering, Texturing (#406) * New textures just dropped * Downscaled guardian scale * Item reorder - Now that looks clean * HM item relocation * Warden model consistency fix - Just gives the right type of matter * Removed Ender Dragon model and data - That's it. * Revert "Removed Ender Dragon model and data" This reverts commit 1a344b3f6e0295fecb2c7323e559b8acfa62ccad. --------- Co-authored-by: Pansmith <70342772+ThePansmith@users.noreply.github.com> --- .../solarflux/textures/block/hadal_base.png | Bin 441 -> 6113 bytes .../textures/item/abyssal_energy_core.png | Bin 5356 -> 10770 bytes .../item/abyssal_energy_core.png.mcmeta | 32 ++ .../textures/item/bathyal_energy_core.png | Bin 5286 -> 8974 bytes .../item/bathyal_energy_core.png.mcmeta | 32 ++ .../kubejs/textures/item/guardian_scale.png | Bin 788 -> 5965 bytes .../kubejs/textures/item/hadal_core.png | Bin 579 -> 8180 bytes .../textures/item/reverberation_core.png | Bin 5430 -> 6135 bytes .../item/reverberation_core.png.mcmeta | 6 + .../hostilenetworks/data_models/warden.json | 2 +- kubejs/startup_scripts/Block_Registry.js | 138 +++++-- kubejs/startup_scripts/Item_Registry.js | 353 +++++++++++------- .../hardmode/Item_Registry_HM.js | 50 --- kubejs/startup_scripts/smores.js | 30 -- 14 files changed, 394 insertions(+), 249 deletions(-) create mode 100644 kubejs/assets/kubejs/textures/item/abyssal_energy_core.png.mcmeta create mode 100644 kubejs/assets/kubejs/textures/item/bathyal_energy_core.png.mcmeta create mode 100644 kubejs/assets/kubejs/textures/item/reverberation_core.png.mcmeta delete mode 100644 kubejs/startup_scripts/hardmode/Item_Registry_HM.js delete mode 100644 kubejs/startup_scripts/smores.js diff --git a/config/solarflux/textures/block/hadal_base.png b/config/solarflux/textures/block/hadal_base.png index 3cb7afa7a8a78119919648f510800f50ddd3bac9..8654429e15d9ea112bd401a68b923009c254168c 100644 GIT binary patch literal 6113 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 delta 2116 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 delta 2053 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 JN^G{r{0}@)PkR6W delta 592 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

6+BF07Tf$00000NkvXXu0mjf0004A{$Bt9 diff --git a/kubejs/assets/kubejs/textures/item/reverberation_core.png b/kubejs/assets/kubejs/textures/item/reverberation_core.png index 22ffb8c5d7d983d4a0a05e94601786320b95a239..e176b63840e3ea848f503f2149b347c538e718d1 100644 GIT binary patch delta 2901 zcmV-b3##aB^>EX>4U6ba`-PAZ2)I zW&i+q+O?Nya_zVcM*njaS%Nr#1eXI&RoOw7p94vDKfB#Yy-wxISJIUz5c~!}4*OsK zJmDXF(v?yu(zNzkFFvK0o{ST{o{!!8c$Itq{8}SWb&$6!Cwf(w;v7h7mScyL0 z;JYy&H0sCTZ@)_ey(P?(Q`$M^i+#@NNg(^TglwEN_K88{orUvw?{jW%CIIpiPM@Dn zM#obvKMwlBihuqETOViPJ6k2aL-IF}>*w*u>mka|tlZH5GIP=QEPcJ+^$8WOZ|M8? zoTcYpGpn#tfx5nn`dG?+#<;;0KD7qo)vNIpLbQA9Yzl7^DXeQ=gKfqh6Lg(e;))he z-1l+DNs1-ykeWLs&6Mwpnp^5=!d}e9w|G*^J+G|rI)884OHQA;#CzI)&2Z1A%)BB) zQzTe)Dg5phe)oZM+zK&XFZg=%i~F62=rCsAGYm%Jc|nyM;E(P5$9c^#D2}pQqyy}D zLJWz2RDygHof#+`9}mX1-T*+v)Iu^b!vL(|hls0MN-ai!R0uLs$3SVoKom)fBvZ+` z!i^@Mntw-HyoV-9Tn=2Pn8AePisuxD46;fQ^wWx>A(JdcM5;7V>0&k4Ql-|~sux9T zxs}kQ)z+G}-b}L=6|LG-wX5~iGeuK+?X7F?-HbVn$i~yg0JD)s9%V=vb+nDL~N4IlDBLlAJl`?CJ?uNFqsb&Q^5B zV6g0%s?ywd9`&_fC$YlTuL-XX?LG4JI%wS7x0(#BCD81uI&Nebp3Y-WPwIcjh7MWVI~P+r0Rht?!kmO*+2JwftaFknPE_uVQDT3X{EQIJ{mV(Aih0l60X4 zggv->z*t`hbG?4aS6DVV)1OXu34+cMo_ePW`D)Z9sFI8zHv&$s%zpHuGWIjdp?^*q z))+oJ&j28X8LKNRNo3mn8wCAQNTH%G9AqO_2Qt+S;Fr?%oby<8eKNak5Bzr%yfU3G zF>CmP7@UIL3YtF{C^LTsF|-qV%W;WpYb*)RjowdjU{gaMp0EJ+Ug@kfv8}ki=CZo_ z%x^$nkk4}w=k|b4_t4&M+3SZX|5&ILlkJ07J z!o%r@TWpxuHhRL zJ-TLL`i;jAik#@R_}fLj){RM^w*i-f!dnMT0Yue{pUx4Rjzhy)*CB5b9?ix)l?sQ` z`l9g=eARStbojMctR^7ssefB-+EL>Y*dzAY*oW62+3YuV(z)ZL(0OMC0389pk4K(D z!+nK%MejccXDp}P9Mzt6SjJF*YF*?m5~OLg=k297byBB=@?i5yatf40qigll_N2El z?b%d?yFS>Vu~8s^k3#4b)o}4eM&29cncYhZ$WE&Qr^7S8Ew+X<-hY-!8v7wRU(vZJ zl=b+^??nW(wZ8fo8@se>Ke4~nSG;Ug(k|0Vn?vXjV`fJ9Q45LjKCx|~ zIoZBUUJq}c0Hv&xy46T;e_5K1isSuH=m0h?l%|bMr_TPWjIzd{y<|KfZzT z;XR~>e*+=3@Ji=F7O9ix1SEe4i-nNgNw7S4z7YA_yOYV;H2mxCH^ldw21NGxF7HCJ?`ECLZiY|vuhGiHOolFV`4V9 zDh6H=z#s%nASf|YPox(!@El+F@bUF7!n3^3{W9%C|}6BtZ?4q ztX68Qbx;1nU|w5EbDic0;#figNr;e9Lm3rVh|sE$Vj@NRF%SQ+<4=-HCRZ7Z91EyI zh2;3b|KNAGW?_2DO$vX;fbJLD{ul)UyFjyU+uz5w-8=#O&%l+|_E#Ig+$ZVvwiZ4D z`nQ3L>$WEE0hc?#(3371k|X(P3WWmjen#Jv0|st^-Zi(k);>-jfDCoDd;=UD0%JwW zUiWx+PiJrco@w>>19IVVr}EH{m;e9`c4<^tbXZMHI%98bE@88X208*HVrDfoV`XGG zEipDSWi2!}W;QKhFf%zVVq#`uV`MNjW@I@sljaB?BQ-W=VKy;jVl6dfVmU1|Wj1Cl zI5jmhEjBV?HaTH3Wi~T3lPC!(BV=S`F)}z}Eiy4-GA%S_H!&?@W;A6jWHm4}He@s~ zI5#$BlXMAR3^p-1F*GqUFg7?jF_Yg3aSAe2Ff}?cH99jllUfQS3NlnMH99dhIx{zu zhzg1%Ibtv~V>viDEjea1I4v|eFk~%ZF=J*eWjQf3FfnB?HZ){olQs)Y3NlnMH99dh zIy5n}jSFZ9e-kK;4*&oF24YJ`L;$}4zW~4f2s4TR000SaNLh0L01FWS01FWTe`H^g z00007bV*G`2j~YD0}m-S{oUpO00GrWL_t(Y$K8~_Yui8^#Xo0jDzq80v_*KREy!j_ zT|*n=T|=ou_jbvWJ!Hs~e=JLJ6EF?72SJcar*9Jk zxdVN1iH>3j1DuZ^D7QB(i|Y2u@rp)AG3&Jk<2W+xY5)5BkDQWH&ZC+#n{>b_QZglYK3y+jUjP-KWoD#FrERz;HFNl?Ce(*2oz`Fghn27MggH&bxErU8#@tCsvMfs$btx85=`Wz;hxm0`C?e&H$B zZoQ=!bJpedhA!1!nL6{{eU$&?{yh3J{r%@3f6oItKAfGy(ecCcKsMXRyR~`e>>T72 z!T|R7V0+85=vcBBpvH5L@!`q5=QWX(EWb~79&mI_Dpk>O~%4+sJ34s40X2uGgGf8s+m~F~;SY$e<6qJ7x;mJdn+{ zFD1V)4^o*j>Y0(suv;Ym{yboNOY`3U-}B%%a;O7k>~41^@s6AM^iV000EKdQ@0+Qek%>aB^>EX>4U6ba`-PAZ2)I zW&i+q+O1bvcI_w({AU%t1SAHD?~f@qbuW@JQKa>l zDEAY|ANut{5%0!LL{n~uqI4*7yeH^TkoUH1Oe(iqD1Eo>+==d=nGdh`u%G$@@3jCs zj=4K>7EkAR190=_jmr=OPYhroxwJ<1^F#uNyz1qEzidi z_u%AswJ*mFg@1<$ciG`v%U%zOAI77Vjp)Jq^EXD*vG$BzWFO(`cx>w2%960IK-Dy@ z2GFL?h!|3|^G>)GQC$%V%~o4*S4za7Ymlc#nFjUMR;qyLxf>P;%$405R41Icy2+oP zHw_kW*qnmbx@h-~FD$goCR@$2rm)-yOPQdI@XC*G^MBJ9#+a!!VFK86^h#90)xIPpe;L=jO*lGUl#pixCtljg+9p=gE_ zlO#S@S&X?%Pp@`E2gH?a(cnztK@Hhy$heFJ8Yz zWq*DH%^Wqqqvkyyy-<_whmS_Kd%8zAxZ1oX>|^V?)FqbeNAva6YF;q;7C2*vb=yMH zQHyQ7dRcLTwXk1^(o-ZK@Hao8b}RT;S(0?*Q!-_CDAbOso`&yjbz7A-?3(iHP&vfU zTXR1^$dz`8oy#(bs?|}HO4ugL%p^V6_kSRJ5sqxEy5Qz~tfrgQ-$G`-hJ1tY54$tZ z?{>SN+I`9qsNjyKt_r!O0IPRpa9x2h{))!G&UHw+J+_h$EM1R>` zN*J;1s_e~mROX@I&J}Z$$rQFeRA`)kVLKo`1XsEz_2S$-lK)M%pU5>|uziZPZsqvi z#a9vz!L1(kWKi1LeKJj@^bNfsU6AQYJ2+~U9`w?@A%~giRd`#$Nt+q^fP4ld{`VO< zY4}zuyv*<6$Q)G!dhM0c^ILh2W?2O5N9K&}v2FGWV|*TT7lq9&MugBYm$T@r()3n6 z8ZYws&g~z>fKcU4&K9P8i>4rsryg@v(Y3ZEzi9@U?Da7Z* zV+LK2_>t?f%Ws?u4huXpWTcbx#35p_(8h8bv!bCAPZ5U|Rik_%u@MinKLVIe}RMv93f?MFTQLykW|E}2{MED2M_=N4R&c%SaeuTOgdw4Z7yN6UkEw^Bw;W!GdVD1HZ335mVK6ObIWjUWG&MIgEjeOjV=Xu} zVPP{iH)UZoVUzy~DI+v8VK6W?VJ$Q^V>T@`H#IpeVl*>1EjDE~GGt{rF=I6_G?PmU zUko%kH8V6cH#RXjF*1|33vmiCR53X^FgZFfG?Ot5BnmK8F*!OgIXW;jlV1#qBsFF? zF=S;hGc99cW;ZP~Wi~f0VK`%AEiz*`G+{6~GdD3YGLsDrO$snnF*!OgIXW;jvt$iu z2!CjL^#%X{00v@9M??Ss00030)In7800009a7bBm000XU000XU0RWnu7ytkO2XskI zMF;2y6cGsokkgrf0002%NklJ^UosCZfeHvcBAF2- zCDK2Lo-v%u8aSuLK=~}2LiCJbH~Z3L87c(MWew}G0_}M61?bi QMF0Q*07*qoM6N<$f@{C { - event.create('excitationcoil', 'cardinal').displayName("Excitation Coil").soundType('metal').renderType('cutout').box(3, 0, 3, 13, 1, 13).tag("mineable/pickaxe").box(4, 1, 4, 12, 9, 12); - event.create('dust', 'falling').soundType('sand').hardness(0.4).resistance(0.4).tag("mineable/shovel").displayName("Dust Block").property(BlockProperties.FALLING); - event.create('starry_diamond_block').displayName("Starry Diamond Block").soundType('metal').resistance(6).hardness(5).tagBlock("mineable/pickaxe").requiresTool(true).textureAll('kubejs:block/microverse/starry_diamond_block'); - event.create('dark_steel_machine_hull').displayName("Dark Steel Machine Hull").soundType('metal').resistance(6).hardness(5).tagBlock("mineable/pickaxe").requiresTool(true); - event.create('infinity_dust_block', 'falling').displayName('Infinity Dust Block').soundType('sand').resistance(6).hardness(5).tagBlock("mineable/shovel").requiresTool(true); - event.create('compressed_infinity_dust_block', 'falling').displayName('Compressed Infinity Dust Block').soundType('sand').resistance(6).hardness(5).tagBlock("mineable/shovel").requiresTool(true); - event.create('double_compressed_infinity_dust_block', 'falling').displayName('Double Compressed Infinity Dust Block').soundType('sand').resistance(6).hardness(5).tagBlock("mineable/shovel").requiresTool(true); - event.create('dense_oilsands_ore').displayName('Dense Oilsands Ore').soundType('stone').resistance(6).hardness(5).tagBlock("mineable/shovel").requiresTool(true); - event.create('empowerer_casing').displayName("Empowerer Casing").soundType('metal').resistance(6).hardness(5).tagBlock("mineable/pickaxe").requiresTool(true); - event.create('compressed_sand').displayName("Compressed Sand").soundType('sand').resistance(1).hardness(1).tagBlock("mineable/shovel").requiresTool(true).property(BlockProperties.FALLING); - event.create('double_compressed_sand').displayName("Double Compressed Sand").soundType('sand').resistance(2).hardness(2).tagBlock("mineable/shovel").requiresTool(true).property(BlockProperties.FALLING); - event.create('compressed_red_sand').displayName("Compressed Red Sand").soundType('sand').resistance(1).hardness(1).tagBlock("mineable/shovel").requiresTool(true).property(BlockProperties.FALLING); - event.create('double_compressed_red_sand').displayName("Double Compressed Red Sand").soundType('sand').resistance(2).hardness(2).tagBlock("mineable/shovel").requiresTool(true).property(BlockProperties.FALLING); - event.create('warp_core').displayName("Warp Core").soundType('metal').resistance(6).hardness(5).tagBlock("mineable/pickaxe").requiresTool(true); - event.create('warp_controller').displayName("Warp Controller").soundType('metal').resistance(6).hardness(5).tagBlock("mineable/pickaxe").requiresTool(true); - event.create('universal_warp_core').displayName("Universal Warp Core").soundType('metal').resistance(6).hardness(5).tagBlock("mineable/pickaxe").requiresTool(true); - event.create('universal_warp_controller').displayName("Universal Warp Controller").soundType('metal').resistance(6).hardness(5).tagBlock("mineable/pickaxe").requiresTool(true); + event.create('starry_diamond_block') + .displayName("Starry Diamond Block") + .soundType('metal') + .resistance(6).hardness(5) + .tagBlock("mineable/pickaxe").requiresTool(true) + .textureAll('kubejs:block/microverse/starry_diamond_block'); + + event.create('dense_oilsands_ore') + .displayName('Dense Oilsands Ore') + .soundType('stone') + .resistance(6).hardness(5) + .tagBlock("mineable/shovel").requiresTool(true); + + event.create('empowerer_casing') + .displayName("Empowerer Casing") + .soundType('metal') + .resistance(6).hardness(5) + .tagBlock("mineable/pickaxe").requiresTool(true); + + event.create('dust', 'falling') + .soundType('sand') + .hardness(0.4).resistance(0.4) + .tag("mineable/shovel").displayName("Dust Block") + .property(BlockProperties.FALLING); + + event.create('compressed_sand') + .displayName("Compressed Sand") + .soundType('sand') + .resistance(1).hardness(1) + .tagBlock("mineable/shovel").requiresTool(true) + .property(BlockProperties.FALLING); + + event.create('double_compressed_sand') + .displayName("Double Compressed Sand") + .soundType('sand') + .resistance(2).hardness(2) + .tagBlock("mineable/shovel").requiresTool(true) + .property(BlockProperties.FALLING); + + event.create('compressed_red_sand') + .displayName("Compressed Red Sand") + .soundType('sand') + .resistance(1).hardness(1) + .tagBlock("mineable/shovel").requiresTool(true) + .property(BlockProperties.FALLING); + + event.create('double_compressed_red_sand') + .displayName("Double Compressed Red Sand") + .soundType('sand') + .resistance(2).hardness(2) + .tagBlock("mineable/shovel").requiresTool(true) + .property(BlockProperties.FALLING); + + event.create('infinity_dust_block', 'falling') + .displayName('Infinity Dust Block') + .soundType('sand') + .resistance(6).hardness(5) + .tagBlock("mineable/shovel").requiresTool(true); + + event.create('compressed_infinity_dust_block', 'falling') + .displayName('Compressed Infinity Dust Block') + .soundType('sand') + .resistance(6).hardness(5) + .tagBlock("mineable/shovel").requiresTool(true); + + event.create('double_compressed_infinity_dust_block', 'falling') + .displayName('Double Compressed Infinity Dust Block') + .soundType('sand') + .resistance(6).hardness(5) + .tagBlock("mineable/shovel").requiresTool(true); // Micro Miner Cores event.create('electrum_micro_miner_core') @@ -72,6 +125,30 @@ StartupEvents.registry("block", event => { .requiresTool(true) .defaultCutout(); + event.create('warp_core') + .displayName("Warp Core") + .soundType('metal') + .resistance(6).hardness(5) + .tagBlock("mineable/pickaxe").requiresTool(true); + + event.create('warp_controller') + .displayName("Warp Controller") + .soundType('metal') + .resistance(6).hardness(5) + .tagBlock("mineable/pickaxe").requiresTool(true); + + event.create('universal_warp_core') + .displayName("Universal Warp Core") + .soundType('metal') + .resistance(6).hardness(5) + .tagBlock("mineable/pickaxe").requiresTool(true); + + event.create('universal_warp_controller') + .displayName("Universal Warp Controller") + .soundType('metal') + .resistance(6).hardness(5) + .tagBlock("mineable/pickaxe").requiresTool(true); + //Dense Ores const ores = [ 'redstone_ore', @@ -93,6 +170,7 @@ StartupEvents.registry("block", event => { .resistance(6) .hardness(5) .tagBlock('mineable/pickaxe') + .tagBlock('forge:ores/dense') .tagBlock('forge:ores/dense_' + ore) .requiresTool(true); } @@ -103,20 +181,27 @@ StartupEvents.registry("block", event => { .resistance(6) .hardness(5) .tagBlock('mineable/pickaxe') + .tagBlock('forge:ores/dense') .tagBlock('forge:ores/dense_magma') .requiresTool(true) .lightLevel(1.0); - //EMERGENCY FIX - /*event.create('gtceu:dilithium_ore') - .soundType('stone') - .hardness(2) - .resistance(2) - .tagBlock("mineable/pickaxe") - .requiresTool();*/ - //Casing stuff + event.create('excitationcoil', 'cardinal') + .displayName("Excitation Coil") + .soundType('metal') + .renderType('cutout') + .box(3, 0, 3, 13, 1, 13) + .box(4, 1, 4, 12, 9, 12) + .tag("mineable/pickaxe").requiresTool(true); + + event.create('dark_steel_machine_hull') + .displayName("Dark Steel Machine Hull") + .soundType('metal') + .resistance(6).hardness(5) + .tagBlock("mineable/pickaxe").requiresTool(true); + event.create("microverse_casing", 'gtceu:renderer') .displayName("Microverse Casing") .soundType('metal') @@ -125,7 +210,6 @@ StartupEvents.registry("block", event => { .requiresTool(true) .tagBlock("mineable/pickaxe") .textureOverrideRenderer('minecraft:block/cube_all', {'all': new ResourceLocation('kubejs', 'block/microverse/casing')}) - event.create('cryolobus_casing', 'gtceu:renderer') .displayName("Cryolobus Casing") @@ -163,7 +247,7 @@ StartupEvents.registry("block", event => { .requiresTool(true) .textureOverrideRenderer('minecraft:block/cube_all', {'all': new ResourceLocation('kubejs', 'block/cryolobus/cryococcus_fusion_coil')}) - event.create("dark_soularium_casing", 'gtceu:renderer') + event.create("dark_soularium_casing", 'gtceu:renderer') .displayName("Dark Soularium Casing") .soundType('metal') .hardness(2.5) diff --git a/kubejs/startup_scripts/Item_Registry.js b/kubejs/startup_scripts/Item_Registry.js index 73b9a7cf..6b357476 100644 --- a/kubejs/startup_scripts/Item_Registry.js +++ b/kubejs/startup_scripts/Item_Registry.js @@ -6,22 +6,62 @@ StartupEvents.registry('item', event => { event.create('microminer_t2').maxStackSize(16).texture("kubejs:item/microverse/microminer_t2") event.create('microminer_t3').maxStackSize(16).texture("kubejs:item/microverse/microminer_t3") event.create('microminer_t4').maxStackSize(16).texture("kubejs:item/microverse/microminer_t4") + if (!isNormalMode) { + event.create('microminer_t4half').maxStackSize(16).texture("kubejs:item/microverse/microminer_t4half") + } event.create('microminer_t5').maxStackSize(16).texture("kubejs:item/microverse/microminer_t5") event.create('microminer_t6').maxStackSize(16).texture("kubejs:item/microverse/microminer_t6") event.create('microminer_t7').maxStackSize(16).texture("kubejs:item/microverse/microminer_t7") event.create('microminer_t8').maxStackSize(16).texture("kubejs:item/microverse/microminer_t8") + if (!isNormalMode) { + event.create('microminer_t8half').maxStackSize(16).texture("kubejs:item/microverse/microminer_t8half") + } event.create('microminer_t9').maxStackSize(16).texture("kubejs:item/microverse/microminer_t9") event.create('microminer_t10').maxStackSize(16).texture("kubejs:item/microverse/microminer_t10") // Sorry for this monstrosity of a line, it's the only way I got it to work event.create('microminer_t11').maxStackSize(16).parentModel("kubejs:item/microverse/microminer_t11").texture("kubejs:item/microverse/microminer_t11_base") event.create('microminer_t12').maxStackSize(16).texture("kubejs:item/microverse/microminer_t12") + + if (!isNormalMode) { + event.create('stabilized_microminer_t1').maxStackSize(16).texture("kubejs:item/microverse/microminer_t1").glow(true) // temporarily make stabilized miners just glow until new textures are made + event.create('stabilized_microminer_t2').maxStackSize(16).texture("kubejs:item/microverse/microminer_t2").glow(true) + event.create('stabilized_microminer_t3').maxStackSize(16).texture("kubejs:item/microverse/microminer_t3").glow(true) + event.create('stabilized_microminer_t4').maxStackSize(16).texture("kubejs:item/microverse/microminer_t4").glow(true) + event.create('stabilized_microminer_t4half').maxStackSize(16).texture("kubejs:item/microverse/microminer_t4half").glow(true) + event.create('stabilized_microminer_t5').maxStackSize(16).texture("kubejs:item/microverse/microminer_t5").glow(true) + event.create('stabilized_microminer_t6').maxStackSize(16).texture("kubejs:item/microverse/microminer_t6").glow(true) + event.create('stabilized_microminer_t7').maxStackSize(16).texture("kubejs:item/microverse/microminer_t7").glow(true) + event.create('stabilized_microminer_t8').maxStackSize(16).texture("kubejs:item/microverse/microminer_t8").glow(true) + event.create('stabilized_microminer_t8half').maxStackSize(16).texture("kubejs:item/microverse/microminer_t8half").glow(true) + const pristine_matter = [ + ['1', '#c0c0b0'], + ['2', '#f5f5f1'], + ['3', '#736055'], + ['4', '#f17d3d'], + ['4half', '#eef487'], + ['5', '#fccc6a'], + ['6', '#58a14e'], + ['7', '#173639'], + ['8', '#dcdbe4'], + ['8half', '#4ebcef'] + ] + + for (const [tier, color] of pristine_matter) { + event.create(`pristine_matter_t${tier}`) + .textureJson({ layer0: 'kubejs:item/prediction' }) + .color(0, color) + .glow(true); + } + } + // Microminer Components event.create('basic_mining_laser').displayName("§eBasic Mining Laser") + event.create('reinforced_mining_laser').displayName("§bReinforced Mining Laser") event.create('supercharged_laser_array').displayName("§eSupercharged Laser Array") event.create('basic_micro_miner_guidance_system').displayName("§eBasic Micro Miner Guidance System") event.create('advanced_micro_miner_guidance_system').displayName("§eAdvanced Micro Miner Guidance System") - event.create('reinforced_mining_laser').displayName("§bReinforced Mining Laser") + event.create('gem_sensor').displayName("Gemstone Sensor") event.create('warp_engine').displayName("§dWarp Engine") event.create('hadal_warp_engine').displayName("§dHadal Warp Engine") event.create('universal_navigator').displayName("§dUniversal Navigator") @@ -39,7 +79,6 @@ StartupEvents.registry('item', event => { .displayName("§dDimensionally Stabilized Infinity Heavy Plating") .texture("kubejs:item/microverse/infinity_heavy_plating") event.create('quantum_flux').displayName("§dQuantum Flux") - event.create('gem_sensor').displayName("Gemstone Sensor") //Moni Coins event.create('moni_penny') @@ -56,6 +95,9 @@ StartupEvents.registry('item', event => { event.create('stone_widget_down').displayName("Stone Widget Down Side") event.create('alloy_widget').displayName("Alloy Widget") event.create('ender_widget').displayName("Ender Widget") + if (!isNormalMode) { + event.create('magnetron') + } //Space Items. event.create('radiation_layer').displayName("Radiaton Layer") @@ -67,16 +109,66 @@ StartupEvents.registry('item', event => { event.create('unprepared_space_boots').displayName("Unprepared Space Boots") //Data + event.create('impossible_realm_data').displayName("§bImpossible Realm Data") + event.create('dragon_lair_data').displayName("§dDragon Lair Data") + event.create('wither_realm_data').displayName("§dWither Realm Data") + event.create('deep_dark_data').displayName("§dDeep Dark Data") event.create('lair_of_the_warden_data').displayName("§dLair Of The Warden Data") event.create('stellar_creation_data').displayName("§bStellar Creation Data") event.create('universe_creation_data').displayName("§dUniverse Creation Data") - event.create('impossible_realm_data').displayName("§bImpossible Realm Data") - event.create('deep_dark_data').displayName("§dDeep Dark Data") - event.create('wither_realm_data').displayName("§dWither Realm Data") - event.create('dragon_lair_data').displayName("§dDragon Lair Data") + event.create('shattered_star_data').displayName("§dShattered Star Data") event.create('shattered_universe_data').displayName("§dShattered Universe Data") event.create('corrupted_universe_data').displayName("§dCorrupted Universe Data") - event.create('shattered_star_data').displayName("§dShattered Star Data") + + + // End Game Data + if (!isNormalMode) { + event.create('omnic_data') + } + event.create('creative_tank_data').displayName("Creative Quantum Tank Data") + event.create('creative_storage_data').displayName("Creative Storage Data") + event.create('creative_data_hatch_data').displayName("Creative Data Hatch Data") + event.create('creative_energy_data').displayName("Creative Energy Data") + + // End Game Items + event.create('diamond_lattice') + event.create('ultimate_gem').displayName("§dUltimate Gem").glow(true) + event.create('mote_of_omnium').displayName("Mote of Omnium").glow(true).rarity("epic") + event.create('heart_of_a_universe').displayName("§dHeart Of A Universe") + event.create('exotic_materials_catalyst').displayName("Exotic Materials Catalyst") + event.create('eternal_catalyst').displayName("Eternal Catalyst") + + // Infinity + event.create('infinity_catalyst').rarity("epic") + event.create('dormant_fury_enhanced_infinity_catalyst') + event.create('fury_enhanced_infinity_catalyst') + event.create('dormant_serenity_enhanced_infinity_catalyst') + event.create('serenity_enhanced_infinity_catalyst') + event.create('dormant_infinity_compound_ingot') + + // Monium + event.create('field_stabilised_omnic_pulsar_compound') + event.create('quasi_stable_neutron_star').displayName('Quasi-Stable Neutron Star') + + // Singularities + event.create('singularity_containment_unit') + event.create('contained_singularity') + + // Ultimate Tools + event.create('ultimate_core').texture('kubejs:item/ultimate/core') + event.create('ultimate_file').texture('kubejs:item/ultimate/file').rarity("epic") + event.create('ultimate_hammer').texture('kubejs:item/ultimate/hammer').rarity("epic") + event.create('ultimate_screwdriver').texture('kubejs:item/ultimate/screwdriver').rarity("epic") + event.create('ultimate_wrench').texture('kubejs:item/ultimate/wrench').rarity("epic") + event.create('ultimate_wire_cutter').texture('kubejs:item/ultimate/wire_cutter').rarity("epic") + + //Infinity Tools + event.create('infinity_file').rarity("epic") + event.create('infinity_hammer').rarity("epic") + event.create('infinity_screwdriver').rarity("epic") + event.create('infinity_wrench').rarity("epic") + event.create('infinity_wire_cutter').rarity("epic") + event.create('infinity_power_unit').rarity("epic") //Solidified Items const solidified_elements = [ @@ -102,6 +194,10 @@ StartupEvents.registry('item', event => { .color(0, elemColor); } + // Dense Hydrogen (Hydrogen is part of Solidified Items section) + event.create('dense_hydrogen').displayName("Dense Hydrogen").rarity('Uncommon') + event.create('ultra_dense_hydrogen').displayName("Ultra Dense Hydrogen").rarity('Rare') + //Stabilized Items const stabilized_elements = [ @@ -123,46 +219,14 @@ StartupEvents.registry('item', event => { .color(0, elemColor); } - //End Game Items - event.create('heart_of_a_universe').displayName("§dHeart Of A Universe") - event.create('creative_tank_data').displayName("Creative Quantum Tank Data") - event.create('creative_storage_data').displayName("Creative Storage Data") - event.create('creative_data_hatch_data').displayName("Creative Data Hatch Data") - event.create('creative_energy_data').displayName("Creative Energy Data") - event.create('exotic_materials_catalyst').displayName("Exotic Materials Catalyst") - event.create('eternal_catalyst').displayName("Eternal Catalyst") - event.create('ultimate_gem').displayName("§dUltimate Gem").glow(true) - event.create('mote_of_omnium').displayName("Mote of Omnium").glow(true).rarity("epic") - //Misc Items - event.create('grains_of_innocence').displayName("Grains of Innocence") - event.create('radium_salt').displayName("Radium Salt").rarity('Epic') - event.create('moon_dust').displayName("Moon Dust") - event.create('warden_horn').displayName("Warden Horn") event.create('dilithium_crystal').displayName("Dilithium Crystal") event.create('ender_star').displayName('§dEnder Star').glow(true) event.create('endest_star').displayName('§dEndest Star').glow(true) - - //Jetpack Units - event.create('empty_fluxed_jetpack_unit').displayName('Empty Fluxed Jetpack Unit') - event.create('empty_soularium_jetpack_unit').displayName('Empty Soularium Jetpack Unit') - event.create('flight_control_unit').displayName('Ensouled Flight Control Unit') - event.create('glowstone_elevation_unit').displayName('Glowstone Elevation Unit') - event.create('cryotheum_coolant_unit').displayName('Cryotheum Coolant Unit') - - //TODO: GIVE CAPACITORS LORE AND NBT FOR THEM TO WORK - event.create('compressed_octadic_capacitor').displayName("Compressed Octadic Capacitor") - event.create('double_compressed_octadic_capacitor').displayName("Double Compressed Octadic Capacitor") - // Core and North are part of the Crafting Nether Star mod. - event.create('nether_star_north').displayName("Nether Star North Tip") - event.create('nether_star_south').displayName("Nether Star South Tip") - event.create('nether_star_east').displayName("Nether Star East Tip") - event.create('nether_star_west').displayName("Nether Star West Tip") - event.create('nether_star_center').displayName("Nether Star Center") - // Hydrogen is part of Solidified Items section. - event.create('dense_hydrogen').displayName("Dense Hydrogen").rarity('Uncommon') - event.create('ultra_dense_hydrogen').displayName("Ultra Dense Hydrogen").rarity('Rare') - + event.create('grains_of_innocence').displayName("Grains of Innocence") + event.create('radium_salt').displayName("Radium Salt").rarity('Epic') + event.create('moon_dust').displayName("Moon Dust") + //Add Thermal Series items that were missing event.create('aerotheum_dust').texture('kubejs:item/aerotheum_blend').displayName('§7Aerotheum Dust') event.create('cryotheum_dust').texture('kubejs:item/cryotheum_blend').displayName('§bCryotheum Dust') @@ -170,42 +234,57 @@ StartupEvents.registry('item', event => { event.create('pyrotheum_dust').texture('kubejs:item/pyrotheum_blend').displayName('§6Pyrotheum Dust') event.create('primal_mana').displayName("Primal Mana Dust").rarity('epic') - event.create('destabilized_clathrate').rarity('uncommon') event.create('energized_clathrate').rarity('uncommon') event.create('resonant_clathrate').rarity('rare') - - //PPC Stuff - event.create('pulsating_mesh').displayName("Pulsating Mesh") - event.create('pulsating_dust').displayName("Pulsating Dust") - - - //I hate ArmorPlus - event.create('guardian_scale').rarity('rare').displayName("Guardian Scale") - event.create('ender_dragon_scale').rarity('epic').displayName("Ender Dragon Scale") - event.create('wither_bone').displayName("Wither Bone") - event.create('the_ultimate_material').displayName("The Ultimate Material") - - + if (!isNormalMode) { + event.create('ender_spore') + } + //Thermal Augments //Very Hacky but whatever + event.create('kubejs:redstone_transmission_coil') event.create('thermal:upgrade_augment_1'); event.create('thermal:upgrade_augment_2'); event.create('thermal:upgrade_augment_4'); event.create('thermal:upgrade_augment_3'); - event.create('kubejs:redstone_transmission_coil') - + + //Jetpack Units + event.create('empty_fluxed_jetpack_unit').displayName('Empty Fluxed Jetpack Unit') + event.create('empty_soularium_jetpack_unit').displayName('Empty Soularium Jetpack Unit') + event.create('flight_control_unit').displayName('Ensouled Flight Control Unit') + event.create('glowstone_elevation_unit').displayName('Glowstone Elevation Unit') + event.create('cryotheum_coolant_unit').displayName('Cryotheum Coolant Unit') + + //TODO: GIVE CAPACITORS LORE AND NBT FOR THEM TO WORK + event.create('compressed_octadic_capacitor').displayName("Compressed Octadic Capacitor") + event.create('double_compressed_octadic_capacitor').displayName("Double Compressed Octadic Capacitor") + //Extra Utilities 2 event.create('resonating_crystal').displayName("Resonating Redstone Crystal") event.create('ender_shard') + // Crafting Nether Star components + event.create('nether_star_north').displayName("Nether Star North Tip") + event.create('nether_star_south').displayName("Nether Star South Tip") + event.create('nether_star_east').displayName("Nether Star East Tip") + event.create('nether_star_west').displayName("Nether Star West Tip") + event.create('nether_star_center').displayName("Nether Star Center") - //Avaritia Replacements - event.create('diamond_lattice') - event.create('infinity_catalyst').rarity("epic") + //I hate ArmorPlus + //Me too - WithersChat + event.create('guardian_scale').rarity('rare').displayName("Guardian Scale") + event.create('ender_dragon_scale').rarity('epic').displayName("Ender Dragon Scale") + event.create('wither_bone').displayName("Wither Bone") + event.create('the_ultimate_material').displayName("The Ultimate Material") + + //PPC Stuff + event.create('pulsating_mesh').displayName("Pulsating Mesh") + event.create('pulsating_dust').displayName("Pulsating Dust") - // Drac Evo Replacements + // Sculk Items + event.create('warden_horn').displayName("Warden Horn") event.create('mesol_core') event.create('bathyal_core') event.create('abyssal_core') @@ -215,21 +294,6 @@ StartupEvents.registry('item', event => { event.create('bathyal_energy_core') event.create('warden_heart') event.create('hadal_shard') - //Infinity Tools - event.create('infinity_file').rarity("epic") - event.create('infinity_hammer').rarity("epic") - event.create('infinity_screwdriver').rarity("epic") - event.create('infinity_wrench').rarity("epic") - event.create('infinity_wire_cutter').rarity("epic") - event.create('infinity_power_unit').rarity("epic") - - // Ultimate Tools - event.create('ultimate_core').texture('kubejs:item/ultimate/core') - event.create('ultimate_file').texture('kubejs:item/ultimate/file').rarity("epic") - event.create('ultimate_hammer').texture('kubejs:item/ultimate/hammer').rarity("epic") - event.create('ultimate_screwdriver').texture('kubejs:item/ultimate/screwdriver').rarity("epic") - event.create('ultimate_wrench').texture('kubejs:item/ultimate/wrench').rarity("epic") - event.create('ultimate_wire_cutter').texture('kubejs:item/ultimate/wire_cutter').rarity("epic") // Netherite processing midproducts event.create('crushed_ancient_debris').texture('kubejs:item/netherite/crushed_ancient_debris') @@ -239,7 +303,19 @@ StartupEvents.registry('item', event => { event.create('purified_netherite_dust').texture('kubejs:item/netherite/purified_netherite_dust') event.create('inert_netherite_scrap').texture('kubejs:item/netherite/inert_netherite_scrap') event.create('inert_nether_compound_ingot').texture('kubejs:item/netherite/inert_nether_compound_ingot') - event.create('dormant_infinity_compound_ingot') + + // Alien scrap + event.create('alien_scrap') + event.create('ruined_hull') + event.create('ruined_machine_parts') + event.create('ruined_capacitor') + event.create('ruined_sensor') + event.create('ruined_emitter') + event.create('crushed_capacitor') + event.create('magnetic_capacitor_dust') + event.create('crushed_sensor') + event.create('holmium_compound') + event.create('holmium_oxide_glass_dust') // Post Tank Wafer Stuff event.create('universe_boule').texture('kubejs:item/universalwafer/universal_boule').displayName('Universe-doped Monocrystalline Silicon Boule') @@ -253,43 +329,33 @@ StartupEvents.registry('item', event => { event.create('quantum_soc_wafer').texture('kubejs:item/quantumsoc/quantum_soc_wafer').displayName('Quantum SoC Wafer') event.create('quantum_soc_chip_base').texture('kubejs:item/quantumsoc/quantum_soc_chip_base').displayName('Quantum SoC Chip Base') event.create('quantum_soc_chip').texture('kubejs:item/quantumsoc/quantum_soc_chip').displayName('Quantum SoC Chip') - // Post tank circuits and whatnot - const circs = [ - ['matter', 'processor_computer', "UHV"], - ['matter', 'processor_assembly', "UV"], - ['matter', 'processor', "ZPM"], - ['dimensional', 'processor_computer', "UEV"], - ['dimensional', 'processor_assembly', "UHV"], - ['dimensional', 'processor', "UV"], - ['monic', 'processor_computer', "UIV"], - ['monic', 'processor_assembly', "UEV"], - ['monic', 'processor', "UHV"] - ] - const mainframes = [ - ['matter', "UEV"], - ['dimensional', "UIV"], - ['monic', "§9MAX"], - ] - for (const [theme, type, volt] of circs) { + // Complex SMDs + const smds = [['transistor'], + ['resistor'], + ['capacitor'], + ['diode'], + ['inductor']] + + for (const [name] of smds) { + event.create(`complex_smd_${name}`) + .displayName(`Complex SMD ${name.split('_').map(v => capitalize(v)).join(" ")}`) + } + + // Post tank circuits and whatnot + function Circuit(theme, type, volt) { event.create(`${theme}_${type}`) .displayName(`${theme.split('_').map(v => capitalize(v)).join(" ")} ${type.split('_').map(v => capitalize(v)).join(" ")}`) .textureJson({ layer0: `kubejs:item/circuits/${theme}_${type}` }) } - for (const [theme, volt] of mainframes) { + function Mainframe(theme, volt) { event.create(`${theme}_processor_mainframe`) .displayName(`${theme.split('_').map(v => capitalize(v)).join(" ")} Processor Mainframe`) .textureJson({ layer0: `kubejs:item/circuits/${theme}_processor_mainframe_base`, layer1: "kubejs:item/circuits/processor_mainframe_lights" }) } - const unit = [ - 'matter', - 'dimensional', - 'monic' - ] - - for (const theme of unit) { + function Unit(theme) { event.create(`${theme}_processing_unit`) .displayName(`${theme.split('_').map(v => capitalize(v)).join(" ")} Processing Unit`) .textureJson({ layer0: `kubejs:item/circuits/${theme}_processing_unit` }) @@ -297,48 +363,53 @@ StartupEvents.registry('item', event => { .displayName(`${theme.split('_').map(v => capitalize(v)).join(" ")} Circuit Board`) .textureJson({ layer0: `kubejs:item/circuits/${theme}_circuit_board` }) } + + Unit('matter'), + Circuit('matter', 'processor_computer', "UHV"), + Circuit('matter', 'processor_assembly', "UV"), + Circuit('matter', 'processor', "ZPM"), + Mainframe('matter', "UEV"), + Unit('dimensional'), + Circuit('dimensional', 'processor_computer', "UEV"), + Circuit('dimensional', 'processor_assembly', "UHV"), + Circuit('dimensional', 'processor', "UV"), + Mainframe('dimensional', "UIV"), + Unit('monic'), + Circuit('monic', 'processor_computer', "UIV"), + Circuit('monic', 'processor_assembly', "UEV"), + Circuit('monic', 'processor', "UHV"), + Mainframe('monic', "§9MAX") + + //Smores + const smoreHunger = [ + 4, 10, 22, 46, 94, 190, 382 + ] + const smoreSaturation = [ + 12, 76, 379, 1675, 7032, 28805, 116587 + ] + let effDuration = 300; - // Alien scrap - event.create('alien_scrap') - event.create('ruined_hull') - event.create('ruined_machine_parts') - event.create('ruined_capacitor') - event.create('ruined_sensor') - event.create('ruined_emitter') - event.create('crushed_capacitor') - event.create('magnetic_capacitor_dust') - event.create('crushed_sensor') - event.create('holmium_compound') - event.create('holmium_oxide_glass_dust') - + for (let i = 0; i <= 6; i++) { + event.create(`smore_${2**i}`).food(food => { + food.hunger(smoreHunger[i]*2); + food.saturation(smoreSaturation[i]/(1+4*smoreHunger[i]) * 2); + food.effect("absorption", effDuration, 1, 1); + food.effect("speed", effDuration, 1, 1); + food.effect("haste", effDuration, 1, 1); - // Complex SMDs - const smds = [['transistor'], - ['resistor'], - ['capacitor'], - ['diode'], - ['inductor']] + if (i > 2) { + food.effect("saturation", effDuration, 1, 1); + food.effect("health_boost", effDuration, 1, 1); + } - for (const [name] of smds) { - event.create(`complex_smd_${name}`) - .displayName(`Complex SMD ${name.split('_').map(v => capitalize(v)).join(" ")}`) - } + food.alwaysEdible(); - // Monium - event.create('field_stabilised_omnic_pulsar_compound') - event.create('quasi_stable_neutron_star').displayName('Quasi-Stable Neutron Star') - - // Singularities - event.create('singularity_containment_unit') - event.create('contained_singularity') - - // Boosted Infinity Catalsyts - event.create('fury_enhanced_infinity_catalyst') - event.create('dormant_fury_enhanced_infinity_catalyst') - event.create('serenity_enhanced_infinity_catalyst') - event.create('dormant_serenity_enhanced_infinity_catalyst') + }).maxStackSize(64) + effDuration *= 2; + } }) + ItemEvents.modification(event => { // Making Infinity (and later Ultimate) tools work as unbreakable crafting tools event.modify('kubejs:infinity_file', item => { diff --git a/kubejs/startup_scripts/hardmode/Item_Registry_HM.js b/kubejs/startup_scripts/hardmode/Item_Registry_HM.js deleted file mode 100644 index 2ac511e1..00000000 --- a/kubejs/startup_scripts/hardmode/Item_Registry_HM.js +++ /dev/null @@ -1,50 +0,0 @@ -// HM exclusive items - -StartupEvents.registry('item', event => { - if (!isHardMode) { - return; - } - event.create('magnetron') - - event.create('ender_spore') - - event.create('omnic_data') - - // Microverse Pristine Matter - const pristine_matter = [ - ['1', '#c0c0b0'], - ['2', '#f5f5f1'], - ['3', '#736055'], - ['4', '#f17d3d'], - ['4half', '#eef487'], - ['5', '#fccc6a'], - ['6', '#58a14e'], - ['7', '#173639'], - ['8', '#dcdbe4'], - ['8half', '#4ebcef'] - ] - - for (const [tier, color] of pristine_matter) { - event.create(`pristine_matter_t${tier}`) - .textureJson({ layer0: 'kubejs:item/prediction' }) - .color(0, color) - .glow(true); - } - // Microverse Pristine Matter - - - // Microminers - event.create('microminer_t4half').maxStackSize(16).texture("kubejs:item/microverse/microminer_t4half") - event.create('microminer_t8half').maxStackSize(16).texture("kubejs:item/microverse/microminer_t8half") - - event.create('stabilized_microminer_t1').maxStackSize(16).texture("kubejs:item/microverse/microminer_t1").glow(true) // temporarily make stabilized miners just glow until new textures are made - event.create('stabilized_microminer_t2').maxStackSize(16).texture("kubejs:item/microverse/microminer_t2").glow(true) - event.create('stabilized_microminer_t3').maxStackSize(16).texture("kubejs:item/microverse/microminer_t3").glow(true) - event.create('stabilized_microminer_t4').maxStackSize(16).texture("kubejs:item/microverse/microminer_t4").glow(true) - event.create('stabilized_microminer_t4half').maxStackSize(16).texture("kubejs:item/microverse/microminer_t4half").glow(true) - event.create('stabilized_microminer_t5').maxStackSize(16).texture("kubejs:item/microverse/microminer_t5").glow(true) - event.create('stabilized_microminer_t6').maxStackSize(16).texture("kubejs:item/microverse/microminer_t6").glow(true) - event.create('stabilized_microminer_t7').maxStackSize(16).texture("kubejs:item/microverse/microminer_t7").glow(true) - event.create('stabilized_microminer_t8').maxStackSize(16).texture("kubejs:item/microverse/microminer_t8").glow(true) - event.create('stabilized_microminer_t8half').maxStackSize(16).texture("kubejs:item/microverse/microminer_t8half").glow(true) -}) \ No newline at end of file diff --git a/kubejs/startup_scripts/smores.js b/kubejs/startup_scripts/smores.js deleted file mode 100644 index 46153cc1..00000000 --- a/kubejs/startup_scripts/smores.js +++ /dev/null @@ -1,30 +0,0 @@ -StartupEvents.registry('item', event => { - //Smores - const smoreHunger = [ - 4, 10, 22, 46, 94, 190, 382 - ] - const smoreSaturation = [ - 12, 76, 379, 1675, 7032, 28805, 116587 - ] - let effDuration = 300; - - for (let i = 0; i <= 6; i++) { - event.create(`smore_${2**i}`).food(food => { - food.hunger(smoreHunger[i]*2); - food.saturation(smoreSaturation[i]/(1+4*smoreHunger[i]) * 2); - food.effect("absorption", effDuration, 1, 1); - food.effect("speed", effDuration, 1, 1); - food.effect("haste", effDuration, 1, 1); - - if (i > 2) { - food.effect("saturation", effDuration, 1, 1); - food.effect("health_boost", effDuration, 1, 1); - } - - food.alwaysEdible(); - - }).maxStackSize(64) - - effDuration *= 2; - } -});