From 840d9f9b3d4e5f26207d4b03bdd0e8244ba92174 Mon Sep 17 00:00:00 2001 From: TreyR9 <106098556+TreyR9@users.noreply.github.com> Date: Thu, 5 Feb 2026 00:42:15 -0600 Subject: [PATCH] Optional chimes compat (#2973) * Update main_server_script.js Chimes registration Signed-off-by: TreyR9 <106098556+TreyR9@users.noreply.github.com> * Chimes compat Adds rudimentary, optional compatibility for chimes mod. Functions should only run if the mod is present. Signed-off-by: TreyR9 <106098556+TreyR9@users.noreply.github.com> --------- Signed-off-by: TreyR9 <106098556+TreyR9@users.noreply.github.com> --- .../chimes/textures/block/metal_chimes.png | Bin 0 -> 1131 bytes .../chimes/textures/item/chimes_metal.png | Bin 0 -> 469 bytes kubejs/server_scripts/chimes/data.js | 17 ++++ kubejs/server_scripts/chimes/recipes.js | 96 ++++++++++++++++++ kubejs/server_scripts/main_server_script.js | 4 +- 5 files changed, 116 insertions(+), 1 deletion(-) create mode 100644 kubejs/assets/chimes/textures/block/metal_chimes.png create mode 100644 kubejs/assets/chimes/textures/item/chimes_metal.png create mode 100644 kubejs/server_scripts/chimes/data.js create mode 100644 kubejs/server_scripts/chimes/recipes.js diff --git a/kubejs/assets/chimes/textures/block/metal_chimes.png b/kubejs/assets/chimes/textures/block/metal_chimes.png new file mode 100644 index 0000000000000000000000000000000000000000..41649a5cf25c05900a7c1ebf65f0945cc6d6baed GIT binary patch literal 1131 zcmeAS@N?(olHy`uVBq!ia0y~yU~m9o4mJh`hE#Tyu;va%Pa_%vBHPt*$dPNx}qqW>=?B2USrNmzUS&mSMp@P-A;}-vSQ2M&Q-Gf>F(8^e$9T~sO`P| zNo%WX#owadzV!5EC*^)0aAPT3P%0PNU$fCM>OF@5cj^4s8`jRtX7X9K*p}Tp$oo3q zZ>`?NE8e7TD)|2~cxRX{L*0ze760lL?!?WSyj&)rQm>Iy4^&o6Aw=gqpMnw6iwk6(lDw9e&b(S=`{=W;CF^hi~O z!PIo!s%^F$RxUSLLnr>cImO7#>G&q+cEj5`pFbX9nd^MCYr|}XX}?24-c9|RFngj% z^Op}gvm=gOPG3|K6LMbvQ7A=762=FP4LH_W!vzxc6c>;AQ_ zzduY*fBd0xy<2jX!0Iv%zQ(t{2CtZR3*N}dnVPe3-K+O*=QYoitMmWb*0M8>4of3~E(bPf`f$xJMY+s$L;`{3eM$*M0NE~Oe` zy$(up3m?bq<2jr5e0}$YYiIgyDjdEQn(Z59I3Zl#=-WG%!rnAV?XZvYudPs?8(`dF zZT;r(q_nb|IcF!`-TvmHRb7nr?w79Rl}{JiSeEjA`n{jw>(R|y_no+X_r1toONZYD zE1GZIeJ|4Z+Wh^=1mi_BSUgv~SamnQI*nuH7nUv2xg4#|ZB|^lsgIk#3p`!1&dRsI zX6BOSz$xDkPIB+Ll9}-~d8R>-@u{g?;dgy5bO}x~^sl_y=;&arTq@d zjox0HVwl;kw6jL=oZqt2ua}SQT0GUExMA*Q6Sk)1e#(EkJ-g=f~XuOf2~ zco_uoxU7sY2z%P9rRTxc(+cT5k0kokC$&{wGL&WV%MX34R#5m*>w9+LcK@WsMXTm+KJ;Ss z0nX$63>7l=3=azbFf<(h$jl%|Sl~H70|UeV|99^F|G>b&zy>NSm>K?@-_dsBnczwW P1_lOCS3j3^P6|1m3HSLV!{#Y>lQY5&hZ<->F0LqWZEMa7d1_t|$oVSIB^Xm0MolxJOv zJ3m!C@8Fs(w18vL#eYo?E4Y$Y`K;4$da0whjzMXz_NEhCyp;CV&3~7*mQmth@QU#H zX6g<_CQ_{z16cn*n7K+qSXk|u%&x_ndjn@l724VqnMF4&P;uOTyLs(lp)H|vwcg}Z zE6NGJJbkn|41LM++t#%LpJerkuR_LHf!qSU9mT%f>RFWDiE8fjoXI*Y_{*2_= z8E$v|EKGNBUJ$&Sw6S)U;Ny*c=_10+LK<9O(|54<-~OvIHA-Of-9mATax2*tnxcts zg+2DMQ;nL2)al>FWORQ}KmQ@(c_N44$rjF6*2UngG))%Z~s6 literal 0 HcmV?d00001 diff --git a/kubejs/server_scripts/chimes/data.js b/kubejs/server_scripts/chimes/data.js new file mode 100644 index 000000000..6249171d1 --- /dev/null +++ b/kubejs/server_scripts/chimes/data.js @@ -0,0 +1,17 @@ +"use strict"; + +/** + * + * @param {Internal.TFCDataEventJS} evt + */ + +const registerTFCDataForChimes = (evt) => { + if (Platform.isLoaded("chimes")) { + evt.itemSize('chimes:bamboo_chimes', 'large', 'heavy'); + evt.itemSize('chimes:carved_bamboo_chimes', 'large', 'heavy'); + evt.itemSize('chimes:copper_chimes', 'large', 'heavy'); + evt.itemSize('chimes:iron_chimes', 'large', 'heavy'); + evt.itemSize('chimes:amethyst_chimes', 'large', 'heavy'); + evt.itemSize('chimes:glass_bells', 'normal', 'medium'); + } +} \ No newline at end of file diff --git a/kubejs/server_scripts/chimes/recipes.js b/kubejs/server_scripts/chimes/recipes.js new file mode 100644 index 000000000..3b8f2e826 --- /dev/null +++ b/kubejs/server_scripts/chimes/recipes.js @@ -0,0 +1,96 @@ +"use strict"; + +/** + * + * @param {Internal.RecipesEventJS} event + */ +const registerChimesRecipes = (event) => { + if (Platform.isLoaded("chimes")) { + event.remove({ input: 'string', mod: 'chimes' }) + + //TODO: dye recipes in barrel for glass chimes (if possible) + + //bamboo chimes + event.shaped( + Item.of('chimes:bamboo_chimes'), + [ + " A ", + "CBC", + "C C" + ], { + A: "#minecraft:wooden_slabs", + B: "#forge:string", + C: "minecraft:bamboo" + }) + + //copper chimes + event.shaped( + Item.of('chimes:copper_chimes'), + [ + " A ", + "CBC", + "C C" + ], { + A: "#minecraft:wooden_slabs", + B: "#forge:chains", + C: "#forge:rods/copper" + }) + //iron chimes + event.shaped( + Item.of('chimes:iron_chimes'), + [ + " A ", + "CBC", + "C C" + ], { + A: "#minecraft:wooden_slabs", + B: "#forge:chains", + C: "#forge:rods/iron" + }) + //carved bamboo chimes + event.shapeless( + Item.of('chimes:carved_bamboo_chimes'), + [ + 'chimes:bamboo_chimes', + '#forge:tools/knives' + ] + ) + //carved bamboo chimes direct + event.shaped( + Item.of('chimes:carved_bamboo_chimes'), + [ + " A ", + "CBC", + "CDC" + ], { + A: "#minecraft:wooden_slabs", + B: "#forge:string", + C: "minecraft:bamboo", + D: "#forge:tools/knives" + }) + //amethyst_chime + event.shaped( + Item.of('chimes:amethyst_chimes'), + [ + " A ", + "CBC", + "C C" + ], { + A: "#forge:plates/cast_iron", + B: "#forge:chains", + C: "#forge:rods/amethyst" + }) + //glass_wind_bell + event.shaped( + Item.of('chimes:glass_bells'), + [ + "A", + "B", + "C" + ], { + A: "#tfc:glass_bottles", + B: "#forge:string", + C: "#forge:paper" + }) + } +} \ No newline at end of file diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 362a89dce..2b4cdb451 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -159,6 +159,7 @@ TFCEvents.data(event => { registerTFCDataForAdAstra(event); registerTFCDataForArborFirmaCraft(event) registerTFCDataForChalk(event); + registerTFCDataForChimes(event); registerTFCDataForCreateAddition(event); registerTFCDataForFirmalife(event) registerTFCDataForGTCEU(event) @@ -229,6 +230,7 @@ ServerEvents.recipes(event => { registerBeneathRecipes(event) registerBuildingGadgetsRecipes(event) registerChalkRecipes(event); + registerChimesRecipes(event); registerComfortsRecipes(event); registerComputerCraftRecipes(event) //registerCccBridgeRecipes(event) @@ -310,4 +312,4 @@ TaCZServerEvents.gunDataLoad((event) => { TaCZServerEvents.attachmentDataLoad((event) => { attachmentDataLogic(event) -}) \ No newline at end of file +})