From 49f5fd44a6c868b3a4ed36516e266ef3ec91d23f Mon Sep 17 00:00:00 2001 From: SpeeeDCraft <52341158+SpeeeDCraft@users.noreply.github.com> Date: Tue, 24 Oct 2023 22:24:15 +0700 Subject: [PATCH] ? --- config/xaerominimap.txt | 1 + config/xaerominimap_entities.json | 4 +- kubejs/server_scripts/gregtech/loot.js | 4 +- kubejs/server_scripts/gregtech/recipes.js | 130 ++++++++++++++++++++++ kubejs/server_scripts/mainServerScript.js | 4 + 5 files changed, 139 insertions(+), 4 deletions(-) create mode 100644 kubejs/server_scripts/gregtech/recipes.js diff --git a/config/xaerominimap.txt b/config/xaerominimap.txt index fada9ee39..3f004551f 100644 --- a/config/xaerominimap.txt +++ b/config/xaerominimap.txt @@ -105,6 +105,7 @@ caveModeToggleTimer:1000 legibleCaveMaps:false biomeBlending:true displayTrackedPlayers:true +dimensionScaledMaxWaypointDistance:true displayClaims:true displayCurrentClaim:true claimsFillOpacity:46 diff --git a/config/xaerominimap_entities.json b/config/xaerominimap_entities.json index 46474f8c6..f7ab2ff22 100644 --- a/config/xaerominimap_entities.json +++ b/config/xaerominimap_entities.json @@ -10,16 +10,16 @@ "name": "gui.xaero_entity_category_root", "protection": true, "settingOverrides": { - "displayHeight": 0.0, "displayed": true, + "displayHeight": 0.0, "heightBasedFade": true, "renderOrder": 0.0, "color": 13.0, "displayNameWhenIconFails": true, "entityNumber": 1000.0, "alwaysDisplayNametags": false, - "dotSize": 2.0, "startFadingAt": 0.0, + "dotSize": 2.0, "renderOverMinimapFrame": 1.0, "icons": 1.0, "heightLimit": 20.0, diff --git a/kubejs/server_scripts/gregtech/loot.js b/kubejs/server_scripts/gregtech/loot.js index 4afca31ee..763df6898 100644 --- a/kubejs/server_scripts/gregtech/loot.js +++ b/kubejs/server_scripts/gregtech/loot.js @@ -3,8 +3,8 @@ const modifyLootGT = (event) => { global.allTFCStoneTypeNames.forEach(stoneType => { GTRegistries.MATERIALS.forEach(material => { - if (material.hasProperty($PropertyKey.ORE)) - { + if (material.hasProperty($PropertyKey.ORE)) { + const blockName = `gtceu:tfc_${stoneType}_${material}_ore` event.addBlockLootModifier(blockName) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js new file mode 100644 index 000000000..702e5872f --- /dev/null +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -0,0 +1,130 @@ +// priority: 0 + +const registerGTrecipes = (event) => { + +} + +// Ore Raw +/* + +public static void processRawOre(TagPrefix orePrefix, Material material, OreProperty property, Consumer provider) { + ItemStack crushedStack = ChemicalHelper.get(crushed, material); + ItemStack ingotStack; + Material smeltingMaterial = property.getDirectSmeltResult() == null ? material : property.getDirectSmeltResult(); + int amountOfCrushedOre = property.getOreMultiplier(); + if (smeltingMaterial.hasProperty(PropertyKey.INGOT)) { + ingotStack = ChemicalHelper.get(ingot, smeltingMaterial); + } else if (smeltingMaterial.hasProperty(PropertyKey.GEM)) { + ingotStack = ChemicalHelper.get(gem, smeltingMaterial); + } else { + ingotStack = ChemicalHelper.get(dust, smeltingMaterial); + } + ingotStack.setCount(ingotStack.getCount() * property.getOreMultiplier()); + crushedStack.setCount(crushedStack.getCount() * property.getOreMultiplier()); + + if (!crushedStack.isEmpty()) { + GTRecipeBuilder builder = FORGE_HAMMER_RECIPES.recipeBuilder("hammer_" + orePrefix.name + "_" + material.getName() + "_to_crushed_ore") + .inputItems(orePrefix, material) + .duration(10).EUt(16); + if (material.hasProperty(PropertyKey.GEM) && !gem.isIgnored(material)) { + builder.outputItems(GTUtil.copyAmount(amountOfCrushedOre, ChemicalHelper.get(gem, material, crushedStack.getCount()))); + } else { + builder.outputItems(GTUtil.copyAmount(amountOfCrushedOre, crushedStack)); + } + builder.save(provider); + + MACERATOR_RECIPES.recipeBuilder("macerate_" + orePrefix.name + "_" + material.getName() + "_ore_to_crushed_ore") + .inputItems(orePrefix, material) + .outputItems(crushedStack) + .chancedOutput(crushedStack, 5000, 750) + .chancedOutput(crushedStack, 2500, 500) + .chancedOutput(crushedStack, 1250, 250) + .EUt(2) + .duration(400) + .save(provider); + } + + //do not try to add smelting recipes for materials which require blast furnace + if (!ingotStack.isEmpty() && doesMaterialUseNormalFurnace(smeltingMaterial) && !orePrefix.isIgnored(material)) { + float xp = Math.round(((1 + property.getOreMultiplier() * 0.33f) / 3) * 10f) / 10f; + VanillaRecipeHelper.addSmeltingRecipe(provider, "smelt_" + orePrefix.name + "_" + material.getName() + "_ore_to_ingot", + ChemicalHelper.getTag(orePrefix, material), ingotStack, xp); + VanillaRecipeHelper.addBlastingRecipe(provider, "smelt_" + orePrefix.name + "_" + material.getName() + "_ore_to_ingot", + ChemicalHelper.getTag(orePrefix, material), ingotStack, xp); + } + + if (!ConfigHolder.INSTANCE.recipes.disableManualCompression) { + VanillaRecipeHelper.addShapedRecipe(provider, "compress_" + material.getName() + "_to_ore_block", + ChemicalHelper.get(rawOreBlock, material), + "BBB", "BBB", "BBB", + 'B', ChemicalHelper.getTag(rawOre, material)); + VanillaRecipeHelper.addShapelessRecipe(provider, "decompress_" + material.getName() + "_from_ore_block", + ChemicalHelper.get(rawOre, material, 9), + ChemicalHelper.getTag(rawOreBlock, material)); + COMPRESSOR_RECIPES.recipeBuilder("compress_" + material.getName() + "to_ore_block") + .inputItems(rawOre, material, 9) + .outputItems(rawOreBlock, material) + .duration(300).EUt(2).save(provider); + } + } + +*/ +// Ore +/* + +public static void processOre(TagPrefix orePrefix, Material material, OreProperty property, Consumer provider) { + Material byproductMaterial = GTUtil.selectItemInList(0, material, property.getOreByProducts(), Material.class); + ItemStack ingotStack; + ItemStack byproductStack = ChemicalHelper.get(gem, byproductMaterial); + if (byproductStack.isEmpty()) byproductStack = ChemicalHelper.get(dust, byproductMaterial); + Material smeltingMaterial = property.getDirectSmeltResult() == null ? material : property.getDirectSmeltResult(); + ItemStack crushedStack = ChemicalHelper.get(crushed, material); + + if (smeltingMaterial.hasProperty(PropertyKey.INGOT)) { + ingotStack = ChemicalHelper.get(ingot, smeltingMaterial); + } else if (smeltingMaterial.hasProperty(PropertyKey.GEM)) { + ingotStack = ChemicalHelper.get(gem, smeltingMaterial); + } else { + ingotStack = ChemicalHelper.get(dust, smeltingMaterial); + } + int oreMultiplier = TagPrefix.ORES.get(orePrefix).isNether() ? 2 : 1; + ingotStack.setCount(ingotStack.getCount() * oreMultiplier); + + String prefixString = orePrefix == ore ? "" : orePrefix.name + "_"; + if (!crushedStack.isEmpty()) { + GTRecipeBuilder builder = FORGE_HAMMER_RECIPES.recipeBuilder("hammer_" + prefixString + material.getName() + "_ore_to_raw_ore") + .inputItems(orePrefix, material) + .duration(10).EUt(16); + if (material.hasProperty(PropertyKey.GEM) && !gem.isIgnored(material)) { + builder.outputItems(GTUtil.copyAmount(oreMultiplier, ChemicalHelper.get(gem, material, crushedStack.getCount()))); + } else { + builder.outputItems(GTUtil.copyAmount(oreMultiplier, crushedStack)); + } + builder.save(provider); + + builder = MACERATOR_RECIPES.recipeBuilder("macerate_" + prefixString + material.getName() + "_ore_to_raw_ore") + .inputItems(orePrefix, material) + .outputItems(GTUtil.copyAmount(2 * oreMultiplier, crushedStack)) + .chancedOutput(byproductStack, 1400, 850) + .EUt(2) + .duration(400); + + Material outputDustMat = GTRegistries.MATERIALS.get(FormattingUtil.toLowerCaseUnder(orePrefix.name)); + if (outputDustMat != null) { + builder.outputItems(dust, outputDustMat); + } + + builder.save(provider); + } + + //do not try to add smelting recipes for materials which require blast furnace + if (!ingotStack.isEmpty() && doesMaterialUseNormalFurnace(smeltingMaterial) && !orePrefix.isIgnored(material)) { + float xp = Math.round(((1 + oreMultiplier * 0.5f) * 0.5f - 0.05f) * 10f) / 10f; + VanillaRecipeHelper.addSmeltingRecipe(provider, "smelt_" + prefixString + material.getName() + "_ore_to_ingot", + ChemicalHelper.getTag(orePrefix, material), ingotStack, xp); + VanillaRecipeHelper.addBlastingRecipe(provider, "smelt_" + prefixString + material.getName() + "_ore_to_ingot", + ChemicalHelper.getTag(orePrefix, material), ingotStack, xp); + } + } + +*/ \ No newline at end of file diff --git a/kubejs/server_scripts/mainServerScript.js b/kubejs/server_scripts/mainServerScript.js index c976aae82..616ea0bef 100644 --- a/kubejs/server_scripts/mainServerScript.js +++ b/kubejs/server_scripts/mainServerScript.js @@ -12,6 +12,10 @@ ServerEvents.tags('item', event => { registerItemTagsGT(event) }) +ServerEvents.recipes(event => { + registerGTrecipes(event) +}) + LootJS.modifiers((event) => { modifyLootGT(event) }); \ No newline at end of file