From b1b12f109d60ac35462223aed22455e19c9eda25 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Fri, 8 Dec 2023 20:08:18 +0700 Subject: [PATCH] start rework --- kubejs/server_scripts/main_server_script.js | 19 ++- kubejs/server_scripts/tfc/data.js | 142 +++++++++++++++--- kubejs/server_scripts/tfc/tags.js | 23 ++- kubejs/startup_scripts/gtceu/machines.js | 3 + kubejs/startup_scripts/gtceu/recipe_types.js | 2 + kubejs/startup_scripts/main_startup_script.js | 22 ++- .../ui/recipe_type/saw_mill12312312.rtui | Bin 0 -> 9626 bytes ...20.1.jar => mcw_tfc_aio-0.1.3-1.20.1.jard} | Bin 8 files changed, 177 insertions(+), 34 deletions(-) create mode 100644 kubejs/startup_scripts/gtceu/machines.js create mode 100644 kubejs/startup_scripts/gtceu/recipe_types.js create mode 100644 ldlib/assets/gtceu/ui/recipe_type/saw_mill12312312.rtui rename mods/{mcw_tfc_aio-0.1.3-1.20.1.jar => mcw_tfc_aio-0.1.3-1.20.1.jard} (100%) diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 49d38354e..5a6255c42 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -4,9 +4,9 @@ * Событие регистрации предмет-тэгов. */ ServerEvents.tags('item', event => { - registerMinecraftItemTags(event) + //registerMinecraftItemTags(event) registerTFCItemTags(event) - registerCreateTags(event) + //registerCreateTags(event) }) /** @@ -24,10 +24,18 @@ ServerEvents.tags('fluid', event => { }) /** - * Здесь регистрируются файлы датапаков (json). + * Здесь регистрируются файлы датапаков общие. * Срабатывает до инициализации рецептов. */ ServerEvents.highPriorityData(event => { + //registerTFCDataPacks(event) +}) + +/** + * Здесь регистрируются файлы датапаков TFC. + * Срабатывает до инициализации рецептов. + */ +TFCEvents.data(event => { registerTFCData(event) }) @@ -36,6 +44,7 @@ ServerEvents.highPriorityData(event => { * Срабатывает после инициализации датапаков. */ ServerEvents.recipes(event => { + /* registerMinecraftRecipes(event) registerTFCRecipes(event) registerGTCEURecipes(event) @@ -48,12 +57,12 @@ ServerEvents.recipes(event => { registerSophisticatedBackpacksRecipes(event) registerSmallShipsRecipes(event) registerExtendedCraftingRecipes(event) - registerToolBeltRecipes(event) + registerToolBeltRecipes(event)*/ }) /** * Событие модификации лута. */ LootJS.modifiers((event) => { - modifyLootGT(event) + //modifyLootGT(event) }); \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/data.js b/kubejs/server_scripts/tfc/data.js index 9fc88e555..da149ac75 100644 --- a/kubejs/server_scripts/tfc/data.js +++ b/kubejs/server_scripts/tfc/data.js @@ -1,29 +1,123 @@ // priority: 0 -const registerTFCData = (event) => { - registerAutoTFCItemHeats(event) - - addItemHeat(event, 'compressed_coke_clay', { item: 'gtceu:compressed_coke_clay' }, 0.5) +const registerTFCDataPacks = (event) => { + } -const registerAutoTFCItemHeats = (event) => { - Object.entries(global.METAL_TO_SPECS).forEach(pair => { - let tfcMetalName = pair[0] - let metalSpecifications = pair[1] +const registerTFCData = (event) => { + registerTFCMetals(event) + registerTFCHeats(event) + registerTFCFuels(event) + registerTFCLampFuels(event) + registerTFCFertilizers(event) +} + +/** + * event.metal( + fluid: string, + meltTemperature: number, + heatCapacity: number, + ingot: @Nullable Ingredient, + doubleIngot: @Nullable Ingredient, + sheet: @Nullable Ingredient, + tier: number, + name?: string + ) + */ +const registerTFCMetals = (event) => { + + // TFC + event.metal('gtceu:tin', 230, 0.02143, null, null, null, 1) + event.metal('gtceu:bismuth', 270, 0.02143, null, null, null, 1) + event.metal('gtceu:zinc', 420, 0.01429, null, null, null, 1) + event.metal('gtceu:sterling_silver', 950, 0.00857, null, null, null, 1) + event.metal('gtceu:rose_gold', 960, 0.00857, null, null, null, 1) + event.metal('gtceu:silver', 961, 0.00625, null, null, null, 1) + event.metal('gtceu:gold', 1060, 0.005, null, null, null, 1) + event.metal('gtceu:copper', 1080, 0.00857, null, null, null, 1) + event.metal('gtceu:nickel', 1453, 0.00625, null, null, null, 1) + + event.metal('gtceu:brass', 930, 0.00857, null, null, null, 2) + event.metal('gtceu:bronze', 950, 0.00857, null, null, null, 2) + event.metal('gtceu:bismuth_bronze', 985, 0.00857, null, null, null, 2) + event.metal('gtceu:black_bronze', 1070, 0.00857, null, null, null, 2) + + event.metal('gtceu:iron', 1535, 0.00857, null, null, null, 3) + event.metal('gtceu:wrought_iron', 1535, 0.00857, null, null, null, 3) + + event.metal('gtceu:steel', 1540, 0.00857, null, null, null, 4) + + event.metal('gtceu:black_steel', 1485, 0.00857, null, null, null, 5) + event.metal('gtceu:blue_steel', 1540, 0.00857, null, null, null, 6) + event.metal('gtceu:red_steel', 1540, 0.00857, null, null, null, 6) + + // FirmaLife + + // Stainless Steel ? what + // Chromite ? what +} + +/** + * event.itemHeat( + ingredient: Ingredient, + heatCapacity: number, + forgingTemperature: @Nullable number, + weldingTemperature: @Nullable number, + name?: string + ) + */ +const registerTFCHeats = (event) => { + event.itemHeat('gtceu:compressed_coke_clay', 0.5, null, null) +} + +/** + * event.fuel( + ingredient: Ingredient, + temperature: number, + duration: number, + purity: @Nullable number, + name?: string + ) + */ +const registerTFCFuels = (event) => { + event.fuel('minecraft:coal', 1415, 2200, 1.0) + event.fuel('gtceu:coke_gem', 1415, 4400, 1.0) + + event.fuel('gtceu:rich_raw_coal', 1415, 2200, 0.95) + event.fuel('gtceu:raw_coal', 1415, 1900, 0.95) + event.fuel('gtceu:poor_raw_coal', 1415, 1600, 0.95) +} + +/** + * event.lampFuel( + fluidIngredient: FluidIngredient, + blockIngredient: BlockIngredient, + burnRate: number, + name?: string + ) + */ +const registerTFCLampFuels = (event) => { + event.lampFuel('gtceu:creosote', '#tfc:lamps', 1) +} + +/** + * event.fertilizer( + ingredient: Ingredient, + nitrogen: @Nullable number, + phosphorous: @Nullable number, + potassium: @Nullable number, + name?: string + ) + */ +const registerTFCFertilizers = (event) => { + event.fertilizer('gtceu:fertilizer', 0.15, 0.15, 0.15) + + event.fertilizer('gtceu:potassium_tiny_dust', null, null, 0.016) + event.fertilizer('gtceu:potassium_small_dust', null, null, 0.037) + event.fertilizer('gtceu:potassium_dust', null, null, 0.15) + + event.fertilizer('gtceu:phosphorus_tiny_dust', null, 0.016, null) + event.fertilizer('gtceu:phosphorus_small_dust', null, 0.037, null) + event.fertilizer('gtceu:phosphorus_dust', null, 0.15, null) +} - metalSpecifications.props.forEach(propertyName => { - let itemType = global.ITEM_TAG_TO_HEAT[propertyName] - let pathToExistFile = `tfc:tfc/item_heats/metal/${tfcMetalName}_${propertyName}` - - if (itemType.heat_capacity == null) global.CREATE_EMPTY_JSON(event, pathToExistFile) - else addItemHeat( - event, - `metal/${tfcMetalName}_${propertyName}`, - itemType.input(tfcMetalName), - itemType.heat_capacity, - metalSpecifications.forging_temp, - metalSpecifications.welding_temp - ) - }) - }) -} \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 6cdb476d3..65024c424 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -1,17 +1,29 @@ // priority: 0 const registerTFCItemTags = (event) => { + + /* + // Удаление тегов у откоюченных предметов global.TFC_DISABLED_ITEMS.forEach(item => { event.removeAllTagsFrom(item) - }) + })*/ + // Тэги для возможности использования разных углей в кузне + event.add('tfc:forge_fuel', 'minecraft:coal') + event.add('tfc:forge_fuel', 'gtceu:coke_gem') + event.add('tfc:forge_fuel', 'gtceu:rich_raw_coal') + event.add('tfc:forge_fuel', 'gtceu:raw_coal') + event.add('tfc:forge_fuel', 'gtceu:poor_raw_coal') + + // Тэги для сундуков, чтобы отличать их виды global.TFC_WOOD_TYPES.forEach(woodType => { - event.add('tfg:only_default_wooden_chests', `tfc:wood/chest/${woodType}`) - event.add('tfg:only_trapped_wooden_chests', `tfc:wood/trapped_chest/${woodType}`) + event.add('tfg:default_chests', `tfc:wood/chest/${woodType}`) + event.add('tfg:trapped_chests', `tfc:wood/trapped_chest/${woodType}`) event.add('tfg:bladed_axles', `tfc:wood/bladed_axle/${woodType}`) }) + // Теги для двойных слитков тфк event.add('forge:ingots/double/bismuth', 'tfc:metal/double_ingot/bismuth') event.add('forge:ingots/double/bismuth_bronze', 'tfc:metal/double_ingot/bismuth_bronze') event.add('forge:ingots/double/black_bronze', 'tfc:metal/double_ingot/black_bronze') @@ -32,9 +44,11 @@ const registerTFCItemTags = (event) => { event.add('forge:ingots/double/blue_steel', 'tfc:metal/double_ingot/blue_steel') event.add('forge:ingots/double/red_steel', 'tfc:metal/double_ingot/red_steel') + // Теги для объединения наковален event.add('tfc:red_or_blue_anvil', 'tfc:metal/anvil/blue_steel') event.add('tfc:red_or_blue_anvil', 'tfc:metal/anvil/red_steel') + // Теги для кораллов event.add('tfc:corals', 'tfc:coral/tube_coral_fan') event.add('tfc:corals', 'tfc:coral/brain_coral_fan') event.add('tfc:corals', 'tfc:coral/bubble_coral_fan') @@ -56,9 +70,10 @@ const registerTFCItemTags = (event) => { event.add('tfc:corals', 'tfc:coral/fire_dead_coral') event.add('tfc:corals', 'tfc:coral/horn_dead_coral') + // Теги для каменных ступенек тфк global.TFC_STONE_TYPES.forEach(stoneTypeName => { global.TFC_ROCK_SLAB_BLOCK_TYPES.forEach(slabType => { - event.add(`tfc:rock_slabs`, `tfc:rock/${slabType}/${stoneTypeName}_slab`) + event.add(`tfg:rock_slabs`, `tfc:rock/${slabType}/${stoneTypeName}_slab`) }) }) } diff --git a/kubejs/startup_scripts/gtceu/machines.js b/kubejs/startup_scripts/gtceu/machines.js new file mode 100644 index 000000000..7dfcf1b60 --- /dev/null +++ b/kubejs/startup_scripts/gtceu/machines.js @@ -0,0 +1,3 @@ +// priority: 0 + + diff --git a/kubejs/startup_scripts/gtceu/recipe_types.js b/kubejs/startup_scripts/gtceu/recipe_types.js new file mode 100644 index 000000000..21b163601 --- /dev/null +++ b/kubejs/startup_scripts/gtceu/recipe_types.js @@ -0,0 +1,2 @@ +// priority: 0 + diff --git a/kubejs/startup_scripts/main_startup_script.js b/kubejs/startup_scripts/main_startup_script.js index 29072eab9..2417a6f2a 100644 --- a/kubejs/startup_scripts/main_startup_script.js +++ b/kubejs/startup_scripts/main_startup_script.js @@ -1,10 +1,12 @@ // priority: 1 +const $SimpleTieredMachine = Java.loadClass('com.gregtechceu.gtceu.api.machine.SimpleTieredMachine') + /** * Событие регистрации предметов. */ StartupEvents.registry('item', (event) => { - registerCreateItems(event); + //registerCreateItems(event); }) /** @@ -12,4 +14,22 @@ StartupEvents.registry('item', (event) => { */ StartupEvents.registry('block', (event) => { +}) + +GTCEuStartupEvents.registry('gtceu:recipe_type', event => { + event.create('saw_mill') + .category('tfg') // Used in the GTlib / LDlib ui editor + .setEUIO('in') + .setMaxIOSize(2, 2, 0, 0) // Max Item Inputs, Max Item Outputs, Max Fluid Inputs, Max Fluid Outputs + .setSlotOverlay(false, false, GuiTextures.CIRCUIT_OVERLAY) + .setSlotOverlay(true, false, false, GuiTextures.PIPE_OVERLAY_2) + .setSlotOverlay(true, false, true, GuiTextures.DUST_OVERLAY) + .setProgressBar(GuiTextures.PROGRESS_BAR_LATHE, FillDirection.LEFT_TO_RIGHT) + .setSound(GTSoundEntries.CUT) +}) + +GTCEuStartupEvents.registry('gtceu:machine', event => { + event.create('saw_mill', 'simple', GTValues.LV, GTValues.MV, GTValues.HV, GTValues.EV, GTValues.IV, GTValues.LuV, GTValues.ZPM, GTValues.UV) + .editableUI($SimpleTieredMachine.EDITABLE_UI_CREATOR.apply(new ResourceLocation("gtceu"), GTRecipeTypes.get('saw_mill'))) + .recipeType('saw_mill') }) \ No newline at end of file diff --git a/ldlib/assets/gtceu/ui/recipe_type/saw_mill12312312.rtui b/ldlib/assets/gtceu/ui/recipe_type/saw_mill12312312.rtui new file mode 100644 index 0000000000000000000000000000000000000000..2aa1cda626602e42b776f7bb4244e790aed93403 GIT binary patch literal 9626 zcmd;LVBlcjE=o<#EJ%$nsVqok5KAvfPA#=6Ni8mkM-t~^U@6MaFX3X~DNfBv3&=0d zEXmBzV`gBiU|?X>WM*KjWME*J%D~0IQk+?p%FMu8o|#gT!N9=Kz|6pwk(!yFQNqB$ zAjQDRz>%DhnUhkKn#aY!z`)GKz><SUy=xlN{|#Q18Z?|VooZ^KrRMOunobe(TNrwtPI>>RUY6NhU!boPf0C8 z)5nM$j*JW(47^}{KKaQI+ZABR4&r{oIq6iY+ z5H+A^0Odm5nN^JJOvS~(4)s4Qj=4)S<6(a1U|`Nptz=*UyI?f`A?G6@2F$d_#lSh5 z|Ika9L7)E&iOPT2Y8psJ236yb?8*wx_xQ7F2sEpX)~h9n@XB$tULD5usu6wbRW5M7 znqOKnuodfQZ8=(7qPOcYTMQVjRc$=2)s)iWl6YuqZJ_cLeJe{dXl2O^s#DQAw<5^t zON4=ofxn*MMc5+C9pALQxo5rU_!&jrz$ zn&OmL=_+2jv(dJIMp$b$Ay~03K?vzA)|vA_q(@TsJ}lw=PfvkrUPtE9PR5&q>M2 zOwvm)&D2Xx$t=k)(gU|P^`Q0_b1@iUs3=NJ&nzxUErKc1gSiCOH$@~{oFf<*d4$Ww zKim(LM?wRJMF!CT2b&cv9KpjM@Nh~>EQ(JnP0blDS%Mm#g(qXoOu)s!m6lVQnW6w1 zF+e0P$PgHvTKQ-NLj#sFQ4vd&gWVkuayP-a<}OK0QYZjbHK{2Wo&=TNs6&JdG#Da8 z^`zaZRjV`eQJioTC8lJS z76*lZ3UqvvG|mze6I)Ah&NAwY7w;Dz{tRrQj}j1oROH4Uye3e zz|6pp2wG>*)Bq%HAx})evIu0-fU_t+CnvZdH8lm~H&8}EnnXaF`!PbEPymhXrdE_N zFgk)*ps6M{KmQKlo?bXjR5)VM}P>p+A%|7H@JJ z3UhAQO4!U~w0wlw>VS9+txQ8M$Kb^k+6)_L$`>4r3W(B_hzv=`x!b{VUdD&qjE6JZq>AF4wbxERd9 zy6~1zkai%XHG@`AF*C41#Q*>Q{|{fO#mc}7ZPYsXmzJa!fgA<%Bc$~TmG?o&VH#!I*GxCgx@4f|m}U zg(be=g9R0&6@xQ5Ff*{E73JqLFfb@EGcc9pGcYjdFf(u@r{?5st*g84| ziA5!u$vLUTpt6*iffMdz1_lPi{JJ1q80HfOqJ~jGX%l&E03tgKww^ATB{2gRgDgfm z0N3++;AB(G%)lJv>hgasqY^U%Yq*DJh$|>!nHgBzgB&COr=_JaGq8umJNY;|d%Gwp zffRw+{~_#<_#ju84zOmnNLL>p|M36+{~Lp~fX(Xo|NlQT16xQu$h0)DX{_!+uC9Ln zjsG(+GjN2&Lv(e(bb%#1jQ@iM&E#-6JT