From c9d1f93930bb30876aa12814871649f76e24bbdd Mon Sep 17 00:00:00 2001 From: Circulate233 Date: Wed, 18 Dec 2024 18:12:08 +0800 Subject: [PATCH 001/144] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=8F=B7=20=E4=BF=AE=E5=A4=8D=E4=B8=80=E4=B8=AA=E8=BE=89?= =?UTF-8?q?=E5=85=89=E9=AD=94=E5=8A=9B=E6=B1=A0=E6=A6=82=E7=8E=87=E8=A7=A6?= =?UTF-8?q?=E5=8F=91=E7=9A=84=E5=B4=A9=E6=BA=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/github/kasuminova/novaeng/client/util/TitleUtils.java | 2 +- .../github/kasuminova/novaeng/common/machine/IllumPool.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/github/kasuminova/novaeng/client/util/TitleUtils.java b/src/main/java/github/kasuminova/novaeng/client/util/TitleUtils.java index 0cfbb274..5ca55a2c 100644 --- a/src/main/java/github/kasuminova/novaeng/client/util/TitleUtils.java +++ b/src/main/java/github/kasuminova/novaeng/client/util/TitleUtils.java @@ -13,7 +13,7 @@ public class TitleUtils { /** * TODO 喜欢我硬编码吗.jpg */ - public static final String DEFAULT_TITLE = "Nova Engineering: World 1.16.0 by Hikari_Nova | Core Ver: " + NovaEngineeringCore.VERSION; + public static final String DEFAULT_TITLE = "Nova Engineering: World 1.17.0 by Hikari_Nova | Core Ver: " + NovaEngineeringCore.VERSION; public static final String VANILLA_TITLE = "Minecraft 1.12.2"; public static String currentTitle = null; diff --git a/src/main/java/github/kasuminova/novaeng/common/machine/IllumPool.java b/src/main/java/github/kasuminova/novaeng/common/machine/IllumPool.java index bb1d2f99..11ec3714 100644 --- a/src/main/java/github/kasuminova/novaeng/common/machine/IllumPool.java +++ b/src/main/java/github/kasuminova/novaeng/common/machine/IllumPool.java @@ -324,7 +324,7 @@ public void onClientTick(final TileMultiblockMachineController controller) { int sparkleFXCount = 3; TileFactoryController factory = (TileFactoryController) controller; FactoryRecipeThread recipeThread = factory.getCoreRecipeThreads().get("辉光转化术式"); - if (recipeThread != null) { + if (recipeThread != null && recipeThread.getActiveRecipe() != null) { sparkleFXCount += Math.min(recipeThread.getActiveRecipe().getParallelism() / 40, 4); } for (int i = 0; i < sparkleFXCount; i++) { From 19cce9bbfb68cee9b11b0366ef126d3456036e77 Mon Sep 17 00:00:00 2001 From: Circulate233 Date: Wed, 18 Dec 2024 19:46:14 +0800 Subject: [PATCH 002/144] =?UTF-8?q?=E4=B8=BA=E8=A1=80=E4=B9=8B=E7=A5=AD?= =?UTF-8?q?=E5=9D=9B=E6=B3=A8=E5=86=8C=E7=BB=93=E6=9E=84=E9=A2=84=E8=A7=88?= =?UTF-8?q?=E7=9A=84=E5=8D=87=E7=BA=A7=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle.kts | 2 +- .../novaeng/common/CommonProxy.java | 2 + .../novaeng/common/machine/Xzjt.java | 125 ++++++++++++++++++ 3 files changed, 128 insertions(+), 1 deletion(-) create mode 100644 src/main/java/github/kasuminova/novaeng/common/machine/Xzjt.java diff --git a/build.gradle.kts b/build.gradle.kts index bceea062..9ddb6230 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -12,7 +12,7 @@ plugins { // Project properties group = "github.kasuminova.novaeng" -version = "1.21.0" +version = "1.21.1" // Set the toolchain version to decouple the Java we run Gradle with from the Java used to compile and run the mod java { diff --git a/src/main/java/github/kasuminova/novaeng/common/CommonProxy.java b/src/main/java/github/kasuminova/novaeng/common/CommonProxy.java index b7dd9c82..a85a37b8 100644 --- a/src/main/java/github/kasuminova/novaeng/common/CommonProxy.java +++ b/src/main/java/github/kasuminova/novaeng/common/CommonProxy.java @@ -16,6 +16,7 @@ import github.kasuminova.novaeng.common.integration.theoneprobe.IntegrationTOP; import github.kasuminova.novaeng.common.machine.GeocentricDrill; import github.kasuminova.novaeng.common.machine.IllumPool; +import github.kasuminova.novaeng.common.machine.Xzjt; import github.kasuminova.novaeng.common.machine.SingularityCore; import github.kasuminova.novaeng.common.registry.RegistryBlocks; import github.kasuminova.novaeng.common.registry.RegistryHyperNet; @@ -88,6 +89,7 @@ public void init() { if (Mods.GECKOLIB.isPresent()) { RegistryMachineSpecial.registrySpecialMachine(SingularityCore.SINGULARITY_CORE); } + RegistryMachineSpecial.registrySpecialMachine(Xzjt.XZJT); RegistryMachineSpecial.registrySpecialMachine(GeocentricDrill.GEOCENTRIC_DRILL); if (Mods.AE2.isPresent()) { List handlers = ((AccessorCellRegistry) (AEApi.instance().registries().cell())).getHandlers(); diff --git a/src/main/java/github/kasuminova/novaeng/common/machine/Xzjt.java b/src/main/java/github/kasuminova/novaeng/common/machine/Xzjt.java new file mode 100644 index 00000000..8f290b44 --- /dev/null +++ b/src/main/java/github/kasuminova/novaeng/common/machine/Xzjt.java @@ -0,0 +1,125 @@ +package github.kasuminova.novaeng.common.machine; + +import github.kasuminova.mmce.common.event.machine.MachineStructureUpdateEvent; +import github.kasuminova.mmce.common.event.recipe.FactoryRecipeFinishEvent; +import github.kasuminova.mmce.common.event.recipe.FactoryRecipeTickEvent; +import github.kasuminova.mmce.common.event.recipe.RecipeCheckEvent; +import github.kasuminova.novaeng.common.crafttweaker.util.NovaEngUtils; +import github.kasuminova.novaeng.common.util.RandomUtils; +import hellfirepvp.astralsorcery.AstralSorcery; +import hellfirepvp.astralsorcery.common.item.crystal.CrystalProperties; +import hellfirepvp.astralsorcery.common.lib.BlocksAS; +import hellfirepvp.astralsorcery.common.tile.network.TileCollectorCrystal; +import hellfirepvp.astralsorcery.common.util.data.Vector3; +import hellfirepvp.modularmachinery.ModularMachinery; +import hellfirepvp.modularmachinery.common.crafting.ActiveMachineRecipe; +import hellfirepvp.modularmachinery.common.machine.DynamicMachine; +import hellfirepvp.modularmachinery.common.machine.factory.FactoryRecipeThread; +import hellfirepvp.modularmachinery.common.modifier.MultiBlockModifierReplacement; +import hellfirepvp.modularmachinery.common.modifier.RecipeModifier; +import hellfirepvp.modularmachinery.common.tiles.TileFactoryController; +import hellfirepvp.modularmachinery.common.tiles.base.TileMultiblockMachineController; +import hellfirepvp.modularmachinery.common.util.BlockArray; +import hellfirepvp.modularmachinery.common.util.IBlockStateDescriptor; +import hellfirepvp.modularmachinery.common.util.MiscUtils; +import ink.ikx.mmce.common.utils.StackUtils; +import mcjty.theoneprobe.api.*; +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.text.TextFormatting; +import net.minecraft.world.World; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import net.minecraftforge.fml.common.registry.GameRegistry; +import vazkii.botania.common.Botania; +import vazkii.botania.common.block.ModBlocks; + +import java.awt.*; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +public class Xzjt implements MachineSpecial { + public static final ResourceLocation REGISTRY_NAME = new ResourceLocation(ModularMachinery.MODID, "xzjt"); + public static final Xzjt XZJT = new Xzjt(); + + public static final List posSet1 = Arrays.asList( + new BlockPos(-3,-5,-3), new BlockPos(-3,-5,3), + new BlockPos(3,-5,-3), new BlockPos(3,-5,3), + new BlockPos(-3,-4,-3), new BlockPos(-3,-4,3), + new BlockPos(3,-4,-3), new BlockPos(3,-4,3) + ); + + public static final List posSet2 = Arrays.asList( + new BlockPos(-5,-3,-5), new BlockPos(-5,-3,5), + new BlockPos(5,-3,-5), new BlockPos(5,-3,5) + ); + + public static final List posSet3 = Arrays.asList( + new BlockPos(-11,-2,-11), new BlockPos(-11,-2,11), + new BlockPos(11,-2,-11), new BlockPos(11,-2,11) + ); + + public static Block BLOCKSJ1 = getOtherModsBlock("contenttweaker","crystalmatrixforcefieldcontrolblock"); + public static Block BLOCKSJ2 = getOtherModsBlock("contenttweaker","fallenstarforcefieldcontrolblock"); + public static Block BLOCKSJ3 = getOtherModsBlock("contenttweaker","universalforcefieldcontrolblock"); + + protected Xzjt() { + } + + public static Block getOtherModsBlock(String modId, String blockName) { + return GameRegistry.findRegistry(Block.class).getValue(new ResourceLocation(modId, blockName)); + } + + @Override + public void init(final DynamicMachine machine) { + machine.getMultiBlockModifiers().add(new MultiBlockModifierReplacement("xzjtsj1", + buildModifierReplacementBlockArray(BLOCKSJ1, posSet1), + Collections.emptyList(), + Arrays.asList( + "§7柱子可以是任意完整方块", + "§6将3级祭坛的柱子方块全部替换为" + BLOCKSJ1.getLocalizedName(), + "§6即可激活升级数1" + ), + StackUtils.getStackFromBlockState(BLOCKSJ1.getDefaultState()))); + machine.getMultiBlockModifiers().add(new MultiBlockModifierReplacement("xzjtsj2", + buildModifierReplacementBlockArray(BLOCKSJ2, posSet2), + Collections.emptyList(), + Arrays.asList( + "§7柱子可以是任意完整方块", + "§6将4级祭坛的所有的大血石下方的1个柱子方块全部替换为" + BLOCKSJ2.getLocalizedName(), + "§6即可激活升级数1" + ), + StackUtils.getStackFromBlockState(BLOCKSJ2.getDefaultState()))); + machine.getMultiBlockModifiers().add(new MultiBlockModifierReplacement("xzjtsj3", + buildModifierReplacementBlockArray(BLOCKSJ3, posSet3), + Collections.emptyList(), + Arrays.asList( + "§7柱子可以是任意完整方块", + "§6将6级祭坛的所有的晶簇下方的1个柱子方块全部替换为" + BLOCKSJ3.getLocalizedName(), + "§6即可激活升级数2", + "§6并且额外提升1级祭坛位阶" + ), + StackUtils.getStackFromBlockState(BLOCKSJ3.getDefaultState()))); + } + + + @Override + public ResourceLocation getRegistryName() { + return REGISTRY_NAME; + } + + protected static BlockArray buildModifierReplacementBlockArray(final Block block, final List posSet) { + BlockArray blockArray = new BlockArray(); + IBlockStateDescriptor descriptor = new IBlockStateDescriptor(block); + posSet.forEach(pos -> blockArray.addBlock(pos, new BlockArray.BlockInformation(Collections.singletonList(descriptor)))); + return blockArray; + } +} From 865a7a90a1519cd6d9168d7a56576e252fa25af5 Mon Sep 17 00:00:00 2001 From: Circulate233 Date: Thu, 19 Dec 2024 23:52:22 +0800 Subject: [PATCH 003/144] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=A4=9A=E4=BD=99?= =?UTF-8?q?=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/github/kasuminova/novaeng/common/machine/Xzjt.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/main/java/github/kasuminova/novaeng/common/machine/Xzjt.java b/src/main/java/github/kasuminova/novaeng/common/machine/Xzjt.java index 8f290b44..c5334388 100644 --- a/src/main/java/github/kasuminova/novaeng/common/machine/Xzjt.java +++ b/src/main/java/github/kasuminova/novaeng/common/machine/Xzjt.java @@ -36,9 +36,6 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.fml.common.registry.GameRegistry; -import vazkii.botania.common.Botania; -import vazkii.botania.common.block.ModBlocks; - import java.awt.*; import java.util.Arrays; import java.util.Collections; From c8bfbd2d8f550df9da2768f4595b3b0e0cf69896 Mon Sep 17 00:00:00 2001 From: Circulate233 Date: Wed, 25 Dec 2024 16:40:27 +0800 Subject: [PATCH 004/144] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=9C=B0=E5=BF=83?= =?UTF-8?q?=E9=92=BB=E6=8E=A2=E6=9C=BA=E6=89=93=E5=BC=80=E4=B8=8D=E6=88=90?= =?UTF-8?q?=E5=BD=A2GUI=E5=B4=A9=E6=BA=83=E7=9A=84=E9=97=AE=E9=A2=98=20?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=9C=B0=E5=BF=83=E9=92=BB=E6=8E=A2=E6=9C=BA?= =?UTF-8?q?=E5=87=BA=E7=8E=B0=E7=9A=84=E5=A4=9A=E4=BD=99=E7=9A=84=E7=B2=97?= =?UTF-8?q?=E9=93=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/gui/widget/geocentricdrill/DrillMonitor.java | 6 ++++-- .../kasuminova/novaeng/common/machine/GeocentricDrill.java | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/github/kasuminova/novaeng/client/gui/widget/geocentricdrill/DrillMonitor.java b/src/main/java/github/kasuminova/novaeng/client/gui/widget/geocentricdrill/DrillMonitor.java index 533d433f..226d1a09 100644 --- a/src/main/java/github/kasuminova/novaeng/client/gui/widget/geocentricdrill/DrillMonitor.java +++ b/src/main/java/github/kasuminova/novaeng/client/gui/widget/geocentricdrill/DrillMonitor.java @@ -71,8 +71,10 @@ protected void renderInternal(final WidgetGui gui, final RenderSize renderSize, String disconnected = I18n.format("gui.hypernet.controller.disconnected"); subContents.addAll(fr.listFormattedStringToWidth(disconnected, TEXT_WIDTH)); } - String calculation = I18n.format("gui.hypernet.controller.computation_point_consumption") + NovaEngUtils.formatFLOPS(node.getComputationPointConsumption()); - subContents.addAll(fr.listFormattedStringToWidth(calculation, TEXT_WIDTH)); + if (node != null){ + String calculation = I18n.format("gui.hypernet.controller.computation_point_consumption") + NovaEngUtils.formatFLOPS(node.getComputationPointConsumption()); + subContents.addAll(fr.listFormattedStringToWidth(calculation, TEXT_WIDTH)); + } contents.add(subContents); ry = 0; diff --git a/src/main/java/github/kasuminova/novaeng/common/machine/GeocentricDrill.java b/src/main/java/github/kasuminova/novaeng/common/machine/GeocentricDrill.java index 2426e18f..67c65793 100644 --- a/src/main/java/github/kasuminova/novaeng/common/machine/GeocentricDrill.java +++ b/src/main/java/github/kasuminova/novaeng/common/machine/GeocentricDrill.java @@ -94,7 +94,7 @@ public void preInit(final DynamicMachine machine) { .filter(oreName -> oreName.startsWith("rawOre")) .forEach(oreName -> { NonNullList ores = OreDictionary.getOres(oreName); - if (!ores.isEmpty()) { + if (!ores.isEmpty() && oreName != "rawOreAluminium") { ItemStack stack = ores.get(0).copy(); stack.setCount(ORE_COUNT); rawOres.put(oreName, stack); From d245faa989620536f094d9060520b5d1b7a6716f Mon Sep 17 00:00:00 2001 From: Circulate233 Date: Fri, 27 Dec 2024 20:01:23 +0800 Subject: [PATCH 005/144] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86=E5=A4=8D?= =?UTF-8?q?=E5=88=B6=E6=9C=BAJEI=E4=B8=8D=E6=98=BE=E7=A4=BA=E9=83=A8?= =?UTF-8?q?=E5=88=86=E9=85=8D=E6=96=B9=E7=9A=84=E9=97=AE=E9=A2=98=20?= =?UTF-8?q?=E5=B0=86=E5=B0=81=E5=8C=85=E5=90=88=E6=88=90=E5=99=A8=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E8=BF=9B=E4=BA=86=E5=AF=B9=E5=BA=94=E7=9A=84JEI?= =?UTF-8?q?=E9=85=8D=E6=96=B9=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle.kts | 1 + lib/RandomTweaker-1.4.7.jar | Bin 0 -> 339293 bytes .../kasuminova/novaeng/client/util/ExJEI.java | 86 ++++++++++++++++++ 3 files changed, 87 insertions(+) create mode 100644 lib/RandomTweaker-1.4.7.jar create mode 100644 src/main/java/github/kasuminova/novaeng/client/util/ExJEI.java diff --git a/build.gradle.kts b/build.gradle.kts index 9ddb6230..79f4720c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -208,6 +208,7 @@ dependencies { // Mod Dependencies implementation("CraftTweaker2:CraftTweaker2-MC1120-Main:1.12-4.+") implementation(rfg.deobf("hellfirepvp:modularmachinery:2.1.0:main")) + implementation(rfg.deobf("ink:RandomTweaker-1.4.7")) implementation(rfg.deobf("kasuminova:MMCE-ComponentModelHider:1.1:dev")) implementation(rfg.deobf("lumien231:resourceloader:1.5.3:main")) // implementation(rfg.deobf("curse.maven:modularmachinery-community-edition-817377:5255734")) diff --git a/lib/RandomTweaker-1.4.7.jar b/lib/RandomTweaker-1.4.7.jar new file mode 100644 index 0000000000000000000000000000000000000000..86309a9b4cc8e5693fedae493760f8fdb583a302 GIT binary patch literal 339293 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