From 8949561737ddf7e4080d2c40505327802aced679 Mon Sep 17 00:00:00 2001 From: lucky_block <1774432258@qq.com> Date: Sun, 5 Apr 2026 22:42:04 +0800 Subject: [PATCH] =?UTF-8?q?update:=20=E9=80=82=E9=85=8Dgtm750=20feat:=20?= =?UTF-8?q?=E5=8F=98=E7=94=B5=E7=AB=99=E6=B7=BB=E5=8A=A0=E5=9B=A0=E7=94=B5?= =?UTF-8?q?=E5=AE=B9=E4=B8=8D=E6=88=90=E5=9E=8B=E6=97=B6=E7=9A=84=E6=8F=90?= =?UTF-8?q?=E7=A4=BA=20Merge=20remote-tracking=20branch=20'origin/dev'=20i?= =?UTF-8?q?nto=20dev=20update:=20=E6=9B=B4=E6=96=B0ae2=E7=89=88=E6=9C=AC?= =?UTF-8?q?=20update:=20=E9=87=8D=E5=81=9A=E4=BA=86=E6=9C=BA=E6=A2=B0?= =?UTF-8?q?=E7=A6=BB=E5=BF=83=E5=8E=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/ponder/CTNHPonderScenes.java | 10 +-- .../client/ponder/CTNHPonderTags.java | 11 ++- .../client/ponder/Electric/CarbonBrushes.java | 2 - .../common/item/debug/ReloadItem.java | 67 +++++++----------- .../ScalableReservoirComputingLogic.java | 60 +++++++--------- .../recipe/NeutronActivatorCondition.java | 42 ++--------- .../common/recipe/PlantCasingCondition.java | 13 ++-- .../common/recipe/TierCasingCondition.java | 6 +- .../recipes/CTNHConstructCastingRecipes.java | 13 ++-- .../ctnhcore/data/CreateRecipeTypes.java | 26 ++++--- .../data/lang/old/ChineseLangHandler.java | 12 ++-- .../data/recipe/chain/AlumiumChain.java | 4 +- .../ctnhcore/event/ForgeEventHandler.java | 42 ++--------- .../machines/multiblock/Mechanical.java | 70 +++++++++---------- .../registry/material/CTNHMaterials.java | 38 ++-------- .../ctnhcore/utils/CTNHMachineUtils.java | 23 +++--- .../ctnhcore/utils/emi/TooltipBakeQueue.java | 5 +- 17 files changed, 154 insertions(+), 290 deletions(-) diff --git a/src/main/java/io/github/cpearl0/ctnhcore/client/ponder/CTNHPonderScenes.java b/src/main/java/io/github/cpearl0/ctnhcore/client/ponder/CTNHPonderScenes.java index 9d4a7d23f..cb39ca618 100644 --- a/src/main/java/io/github/cpearl0/ctnhcore/client/ponder/CTNHPonderScenes.java +++ b/src/main/java/io/github/cpearl0/ctnhcore/client/ponder/CTNHPonderScenes.java @@ -1,15 +1,15 @@ package io.github.cpearl0.ctnhcore.client.ponder; +import com.mo_guang.ctpp.registry.CTPPMachines; +import com.mo_guang.ctpp.registry.CTPPMultiblockMachines; import io.github.cpearl0.ctnhcore.CTNHCore; import io.github.cpearl0.ctnhcore.client.ponder.Electric.CarbonBrushes; -import io.github.cpearl0.ctnhcore.client.ponder.Kinetic.*; +import io.github.cpearl0.ctnhcore.client.ponder.Kinetic.BigDam; +import io.github.cpearl0.ctnhcore.client.ponder.Kinetic.Meadow; +import io.github.cpearl0.ctnhcore.client.ponder.Kinetic.SmashingFactory; import io.github.cpearl0.ctnhcore.registry.machines.multiblock.MultiblocksA; - import net.createmod.ponder.api.registration.PonderSceneRegistrationHelper; import net.minecraft.resources.ResourceLocation; - -import com.mo_guang.ctpp.registry.CTPPMachines; -import com.mo_guang.ctpp.registry.CTPPMultiblockMachines; import org.antarcticgardens.cna.CNABlocks; public final class CTNHPonderScenes { diff --git a/src/main/java/io/github/cpearl0/ctnhcore/client/ponder/CTNHPonderTags.java b/src/main/java/io/github/cpearl0/ctnhcore/client/ponder/CTNHPonderTags.java index e4863ff22..438362cc1 100644 --- a/src/main/java/io/github/cpearl0/ctnhcore/client/ponder/CTNHPonderTags.java +++ b/src/main/java/io/github/cpearl0/ctnhcore/client/ponder/CTNHPonderTags.java @@ -1,16 +1,13 @@ package io.github.cpearl0.ctnhcore.client.ponder; -import io.github.cpearl0.ctnhcore.CTNHCore; -import io.github.cpearl0.ctnhcore.registry.machines.multiblock.MultiblocksA; - import com.gregtechceu.gtceu.common.data.GTItems; - -import net.createmod.ponder.api.registration.PonderTagRegistrationHelper; -import net.minecraft.resources.ResourceLocation; - import com.mo_guang.ctpp.registry.CTPPMachines; import com.mo_guang.ctpp.registry.CTPPMultiblockMachines; import com.simibubi.create.AllBlocks; +import io.github.cpearl0.ctnhcore.CTNHCore; +import io.github.cpearl0.ctnhcore.registry.machines.multiblock.MultiblocksA; +import net.createmod.ponder.api.registration.PonderTagRegistrationHelper; +import net.minecraft.resources.ResourceLocation; import org.antarcticgardens.cna.CNABlocks; public final class CTNHPonderTags { diff --git a/src/main/java/io/github/cpearl0/ctnhcore/client/ponder/Electric/CarbonBrushes.java b/src/main/java/io/github/cpearl0/ctnhcore/client/ponder/Electric/CarbonBrushes.java index d21a45680..fa92a100a 100644 --- a/src/main/java/io/github/cpearl0/ctnhcore/client/ponder/Electric/CarbonBrushes.java +++ b/src/main/java/io/github/cpearl0/ctnhcore/client/ponder/Electric/CarbonBrushes.java @@ -1,13 +1,11 @@ package io.github.cpearl0.ctnhcore.client.ponder.Electric; import io.github.cpearl0.ctnhcore.client.ponder.CTNHPonderSceneBuilder; - import net.createmod.ponder.api.scene.SceneBuilder; import net.createmod.ponder.api.scene.SceneBuildingUtil; import net.createmod.ponder.api.scene.Selection; import net.minecraft.core.Direction; import net.minecraft.world.level.block.state.BlockState; - import org.antarcticgardens.cna.CNABlocks; import static io.github.cpearl0.ctnhcore.client.ponder.Electric.CTNHElectricPondersLang.*; diff --git a/src/main/java/io/github/cpearl0/ctnhcore/common/item/debug/ReloadItem.java b/src/main/java/io/github/cpearl0/ctnhcore/common/item/debug/ReloadItem.java index 2df2047c4..a61c89185 100644 --- a/src/main/java/io/github/cpearl0/ctnhcore/common/item/debug/ReloadItem.java +++ b/src/main/java/io/github/cpearl0/ctnhcore/common/item/debug/ReloadItem.java @@ -1,21 +1,6 @@ package io.github.cpearl0.ctnhcore.common.item.debug; -import com.gregtechceu.gtceu.api.registry.GTRegistries; -import com.gregtechceu.gtceu.common.data.GTRecipes; -import com.gregtechceu.gtceu.data.pack.GTDynamicDataPack; - -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.packs.repository.Pack; -import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResultHolder; -import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.Level; - -import org.jetbrains.annotations.NotNull; - -import java.util.Collection; public class ReloadItem extends Item { @@ -23,29 +8,31 @@ public ReloadItem(Properties properties) { super(properties); } - @Override - public @NotNull InteractionResultHolder use(Level level, Player player, InteractionHand usedHand) { - var stack = player.getItemInHand(usedHand); - GTRegistries.RECIPE_TYPES.forEach( - r -> r.getLookup().removeAllRecipes()); - GTRecipes.recipeRemoval(); - GTRecipes.recipeAddition(GTDynamicDataPack::addRecipe); - if (level.isClientSide()) { - System.out.println("客户端配方重载成功"); - } else { - System.out.println("服务端配方重载成功"); - MinecraftServer server = level.getServer(); - if (server != null) { - Collection selected = server.getPackRepository() - .getSelectedPacks() - .stream() - .map(Pack::getId) - .toList(); - - server.reloadResources(selected); - } - - } - return InteractionResultHolder.success(stack); - } + // spotless:off +// @Override +// public @NotNull InteractionResultHolder use(Level level, Player player, InteractionHand usedHand) { +// var stack = player.getItemInHand(usedHand); +// GTRegistries.RECIPE_TYPES.forEach( +// r -> r.getLookup().removeAllRecipes()); +// GTRecipes.recipeRemoval(); +// GTRecipes.recipeAddition(GTDynamicDataPack::addRecipe); +// if (level.isClientSide()) { +// System.out.println("客户端配方重载成功"); +// } else { +// System.out.println("服务端配方重载成功"); +// MinecraftServer server = level.getServer(); +// if (server != null) { +// Collection selected = server.getPackRepository() +// .getSelectedPacks() +// .stream() +// .map(Pack::getId) +// .toList(); +// +// server.reloadResources(selected); +// } +// +// } +// return InteractionResultHolder.success(stack); +// } + // spotless:on } diff --git a/src/main/java/io/github/cpearl0/ctnhcore/common/machine/trait/ScalableReservoirComputingLogic.java b/src/main/java/io/github/cpearl0/ctnhcore/common/machine/trait/ScalableReservoirComputingLogic.java index 5c331a219..3d34aea4c 100644 --- a/src/main/java/io/github/cpearl0/ctnhcore/common/machine/trait/ScalableReservoirComputingLogic.java +++ b/src/main/java/io/github/cpearl0/ctnhcore/common/machine/trait/ScalableReservoirComputingLogic.java @@ -1,24 +1,17 @@ package io.github.cpearl0.ctnhcore.common.machine.trait; -import io.github.cpearl0.ctnhcore.common.machine.multiblock.electric.ScalableReservoirComputingMachine; -import io.github.cpearl0.ctnhcore.registry.CTNHDamageTypes; - import com.gregtechceu.gtceu.api.capability.recipe.IO; import com.gregtechceu.gtceu.api.machine.feature.IRecipeLogicMachine; import com.gregtechceu.gtceu.api.machine.trait.RecipeLogic; import com.gregtechceu.gtceu.api.recipe.ActionResult; import com.gregtechceu.gtceu.api.recipe.GTRecipe; -import com.gregtechceu.gtceu.api.recipe.GTRecipeType; -import com.gregtechceu.gtceu.api.recipe.RecipeHelper; - +import io.github.cpearl0.ctnhcore.common.machine.multiblock.electric.ScalableReservoirComputingMachine; +import io.github.cpearl0.ctnhcore.registry.CTNHDamageTypes; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.LivingEntity; import net.minecraftforge.registries.ForgeRegistries; -import java.util.Collections; -import java.util.Iterator; - import javax.annotation.Nullable; public class ScalableReservoirComputingLogic extends RecipeLogic { @@ -37,31 +30,30 @@ public void serverTick() { super.serverTick(); } - @Override - public Iterator searchRecipe() { - GTRecipeType recipeType = machine.getRecipeType(); - if (!machine.hasCapabilityProxies()) return null; - var iterator = recipeType.getLookup() - .getRecipeIterator(machine, - recipe -> RecipeHelper.matchRecipe(machine, recipe).isSuccess() && - RecipeHelper.matchTickRecipe(machine, recipe).isSuccess() && matchSacrifice(recipe)); - boolean any = false; - while (iterator.hasNext()) { - GTRecipe recipe = iterator.next(); - if (recipe == null) continue; - any = true; - break; - } - if (any) { - iterator.reset(); - return iterator; - } - for (GTRecipeType.ICustomRecipeLogic logic : recipeType.getCustomRecipeLogicRunners()) { - GTRecipe recipe = logic.createCustomRecipe(machine); - if (recipe != null) return Collections.singleton(recipe).iterator(); - } - return Collections.emptyIterator(); - } + // @Override + // public Iterator searchRecipe() { + // GTRecipeType recipeType = machine.getRecipeType(); + // if (!machine.hasCapabilityProxies()) return null; + // var iterator = recipeType.searchRecipe(machine, + // recipe -> RecipeHelper.matchRecipe(machine, recipe).isSuccess() && + // RecipeHelper.matchTickRecipe(machine, recipe).isSuccess() && matchSacrifice(recipe)); + // boolean any = false; + // while (iterator.hasNext()) { + // GTRecipe recipe = iterator.next(); + // if (recipe == null) continue; + // any = true; + // break; + // } + // if (any) { + // iterator.reset(); + // return iterator; + // } + // for (GTRecipeType.ICustomRecipeLogic logic : recipeType.getCustomRecipeLogicRunners()) { + // GTRecipe recipe = logic.createCustomRecipe(machine); + // if (recipe != null) return Collections.singleton(recipe).iterator(); + // } + // return Collections.emptyIterator(); + // } @Override protected ActionResult handleRecipeIO(GTRecipe recipe, IO io) { diff --git a/src/main/java/io/github/cpearl0/ctnhcore/common/recipe/NeutronActivatorCondition.java b/src/main/java/io/github/cpearl0/ctnhcore/common/recipe/NeutronActivatorCondition.java index ada7c4eff..71aea480d 100644 --- a/src/main/java/io/github/cpearl0/ctnhcore/common/recipe/NeutronActivatorCondition.java +++ b/src/main/java/io/github/cpearl0/ctnhcore/common/recipe/NeutronActivatorCondition.java @@ -1,18 +1,15 @@ package io.github.cpearl0.ctnhcore.common.recipe; -import io.github.cpearl0.ctnhcore.common.machine.multiblock.electric.NeutronActivatorMachine; -import io.github.cpearl0.ctnhcore.registry.CTNHRecipeConditions; - import com.gregtechceu.gtceu.api.machine.MetaMachine; import com.gregtechceu.gtceu.api.machine.trait.RecipeLogic; import com.gregtechceu.gtceu.api.recipe.GTRecipe; import com.gregtechceu.gtceu.api.recipe.RecipeCondition; import com.gregtechceu.gtceu.api.recipe.condition.RecipeConditionType; - -import net.minecraft.network.chat.Component; - import com.mojang.serialization.Codec; import com.mojang.serialization.codecs.RecordCodecBuilder; +import io.github.cpearl0.ctnhcore.common.machine.multiblock.electric.NeutronActivatorMachine; +import io.github.cpearl0.ctnhcore.registry.CTNHRecipeConditions; +import net.minecraft.network.chat.Component; import org.jetbrains.annotations.NotNull; import tech.vixhentx.mcmod.ctnhlib.langprovider.Lang; import tech.vixhentx.mcmod.ctnhlib.langprovider.annotation.CN; @@ -20,7 +17,7 @@ import tech.vixhentx.mcmod.ctnhlib.langprovider.annotation.Prefix; @Prefix("recipe.condition.neutron_activator") -public class NeutronActivatorCondition extends RecipeCondition { +public class NeutronActivatorCondition extends RecipeCondition { public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( Codec.BOOL.optionalFieldOf("isReverse", false).forGetter(RecipeCondition::isReverse), @@ -55,7 +52,7 @@ public static boolean checkNeutronActivatorCondition(MetaMachine machine, GTReci } @Override - public RecipeConditionType getType() { + public RecipeConditionType getType() { return CTNHRecipeConditions.NEUTRON_ACTIVATOR; } @@ -76,34 +73,7 @@ protected boolean testCondition(@NotNull GTRecipe gtRecipe, @NotNull RecipeLogic } @Override - public RecipeCondition createTemplate() { + public NeutronActivatorCondition createTemplate() { return new NeutronActivatorCondition(); } - - // @Override - // public @NotNull JsonObject serialize() { - // var value = super.serialize(); - // value.addProperty("evRange", this.evRange); - // return value; - // } - // - // @Override - // public RecipeCondition deserialize(@NotNull JsonObject config) { - // super.deserialize(config); - // this.evRange = GsonHelper.getAsInt(config, "evRange", 0); - // return this; - // } - // - // @Override - // public void toNetwork(FriendlyByteBuf buf) { - // super.toNetwork(buf); - // buf.writeInt(this.evRange); - // } - // - // @Override - // public RecipeCondition fromNetwork(FriendlyByteBuf buf) { - // super.fromNetwork(buf); - // this.evRange = buf.readInt(); - // return this; - // } } diff --git a/src/main/java/io/github/cpearl0/ctnhcore/common/recipe/PlantCasingCondition.java b/src/main/java/io/github/cpearl0/ctnhcore/common/recipe/PlantCasingCondition.java index 9bc121ae1..f4610113f 100644 --- a/src/main/java/io/github/cpearl0/ctnhcore/common/recipe/PlantCasingCondition.java +++ b/src/main/java/io/github/cpearl0/ctnhcore/common/recipe/PlantCasingCondition.java @@ -1,17 +1,14 @@ package io.github.cpearl0.ctnhcore.common.recipe; -import io.github.cpearl0.ctnhcore.common.machine.multiblock.electric.ChemicalPlantMachine; -import io.github.cpearl0.ctnhcore.registry.CTNHRecipeConditions; - import com.gregtechceu.gtceu.api.machine.trait.RecipeLogic; import com.gregtechceu.gtceu.api.recipe.GTRecipe; import com.gregtechceu.gtceu.api.recipe.RecipeCondition; import com.gregtechceu.gtceu.api.recipe.condition.RecipeConditionType; - -import net.minecraft.network.chat.Component; - import com.mojang.serialization.Codec; import com.mojang.serialization.codecs.RecordCodecBuilder; +import io.github.cpearl0.ctnhcore.common.machine.multiblock.electric.ChemicalPlantMachine; +import io.github.cpearl0.ctnhcore.registry.CTNHRecipeConditions; +import net.minecraft.network.chat.Component; import org.jetbrains.annotations.NotNull; import org.joml.Math; import tech.vixhentx.mcmod.ctnhlib.langprovider.Lang; @@ -22,7 +19,7 @@ import java.util.Map; @Prefix("recipe.condition.plant_casing") -public class PlantCasingCondition extends RecipeCondition { +public class PlantCasingCondition extends RecipeCondition { public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( Codec.BOOL.optionalFieldOf("isReverse", false).forGetter(RecipeCondition::isReverse), @@ -90,7 +87,7 @@ protected boolean testCondition(@NotNull GTRecipe gtRecipe, @NotNull RecipeLogic } @Override - public RecipeCondition createTemplate() { + public PlantCasingCondition createTemplate() { return new PlantCasingCondition(); } } diff --git a/src/main/java/io/github/cpearl0/ctnhcore/common/recipe/TierCasingCondition.java b/src/main/java/io/github/cpearl0/ctnhcore/common/recipe/TierCasingCondition.java index a593b2460..860d40848 100644 --- a/src/main/java/io/github/cpearl0/ctnhcore/common/recipe/TierCasingCondition.java +++ b/src/main/java/io/github/cpearl0/ctnhcore/common/recipe/TierCasingCondition.java @@ -4,9 +4,7 @@ import com.gregtechceu.gtceu.api.recipe.GTRecipe; import com.gregtechceu.gtceu.api.recipe.RecipeCondition; import com.gregtechceu.gtceu.api.recipe.condition.RecipeConditionType; - import net.minecraft.network.chat.Component; - import org.jetbrains.annotations.NotNull; import tech.vixhentx.mcmod.ctnhlib.langprovider.Lang; import tech.vixhentx.mcmod.ctnhlib.langprovider.annotation.CN; @@ -14,7 +12,7 @@ import tech.vixhentx.mcmod.ctnhlib.langprovider.annotation.Prefix; @Prefix("recipe.condition.tier_casing") -public class TierCasingCondition extends RecipeCondition { +public class TierCasingCondition extends RecipeCondition { @Override public RecipeConditionType getType() { @@ -36,7 +34,7 @@ protected boolean testCondition(@NotNull GTRecipe gtRecipe, @NotNull RecipeLogic } @Override - public RecipeCondition createTemplate() { + public TierCasingCondition createTemplate() { return null; } } diff --git a/src/main/java/io/github/cpearl0/ctnhcore/common/tconstruct/recipes/CTNHConstructCastingRecipes.java b/src/main/java/io/github/cpearl0/ctnhcore/common/tconstruct/recipes/CTNHConstructCastingRecipes.java index aba814f2a..e22b602ee 100644 --- a/src/main/java/io/github/cpearl0/ctnhcore/common/tconstruct/recipes/CTNHConstructCastingRecipes.java +++ b/src/main/java/io/github/cpearl0/ctnhcore/common/tconstruct/recipes/CTNHConstructCastingRecipes.java @@ -1,19 +1,16 @@ package io.github.cpearl0.ctnhcore.common.tconstruct.recipes; -import io.github.cpearl0.ctnhcore.registry.material.CTNHMaterials; -import io.github.cpearl0.ctnhcore.utils.CTNHConstructRecipeProvider; - import com.gregtechceu.gtceu.api.data.tag.TagPrefix; import com.gregtechceu.gtceu.common.data.GTMaterials; - +import com.jesz.createdieselgenerators.CDGItems; +import com.mo_guang.ctpp.registry.CTPPMaterials; +import fr.lucreeper74.createmetallurgy.registries.CMItems; +import io.github.cpearl0.ctnhcore.registry.material.CTNHMaterials; +import io.github.cpearl0.ctnhcore.utils.CTNHConstructRecipeProvider; import net.minecraft.data.PackOutput; import net.minecraft.data.recipes.FinishedRecipe; import net.minecraft.world.item.Items; import net.minecraftforge.fluids.FluidStack; - -import com.jesz.createdieselgenerators.CDGItems; -import com.mo_guang.ctpp.registry.CTPPMaterials; -import fr.lucreeper74.createmetallurgy.registries.CMItems; import slimeknights.tconstruct.library.recipe.casting.ItemCastingRecipeBuilder; import slimeknights.tconstruct.smeltery.TinkerSmeltery; diff --git a/src/main/java/io/github/cpearl0/ctnhcore/data/CreateRecipeTypes.java b/src/main/java/io/github/cpearl0/ctnhcore/data/CreateRecipeTypes.java index 0952d767a..00347d97c 100644 --- a/src/main/java/io/github/cpearl0/ctnhcore/data/CreateRecipeTypes.java +++ b/src/main/java/io/github/cpearl0/ctnhcore/data/CreateRecipeTypes.java @@ -1,7 +1,5 @@ package io.github.cpearl0.ctnhcore.data; -import io.github.cpearl0.ctnhcore.CTNHConfig; - import com.gregtechceu.gtceu.api.GTValues; import com.gregtechceu.gtceu.api.capability.recipe.ItemRecipeCapability; import com.gregtechceu.gtceu.api.gui.GuiTextures; @@ -11,16 +9,16 @@ import com.gregtechceu.gtceu.common.data.GTRecipes; import com.gregtechceu.gtceu.common.data.GTSoundEntries; import com.gregtechceu.gtceu.utils.GTUtil; - +import com.mo_guang.ctpp.common.data.recipe.builder.CTPPRecipeBuilder; +import io.github.cpearl0.ctnhcore.CTNHConfig; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; -import com.mo_guang.ctpp.common.data.recipe.builder.CTPPRecipeBuilder; - import static com.gregtechceu.gtceu.common.data.GTRecipeTypes.*; import static com.lowdragmc.lowdraglib.gui.texture.ProgressTexture.FillDirection.LEFT_TO_RIGHT; import static com.lowdragmc.lowdraglib.gui.texture.ProgressTexture.FillDirection.UP_TO_DOWN; +import static com.mo_guang.ctpp.registry.CTPPRecipeTypes.MECHANICAL_CENTRIFUGE_RECIPES; import static io.github.cpearl0.ctnhcore.registry.CTNHRecipeTypes.KINETIC; import static io.github.cpearl0.ctnhcore.registry.CTNHRegistration.REGISTRATE; @@ -155,15 +153,15 @@ public static void init() { .setSlotOverlay(true, false, GuiTextures.DUST_OVERLAY) .setProgressBar(GuiTextures.PROGRESS_BAR_MIXER, LEFT_TO_RIGHT) .setSound(GTSoundEntries.MIXER); - public static final GTRecipeType MECHANICAL_CENTRIFUGE_RECIPES = REGISTRATE - .recipeType("mechanical_centrifuge_recipes", KINETIC) - .cnlang("机械离心") - .setMaxIOSize(2, 6, 1, 6) - .setSlotOverlay(false, false, false, GuiTextures.EXTRACTOR_OVERLAY) - .setSlotOverlay(false, false, true, GuiTextures.CANISTER_OVERLAY) - .setSlotOverlay(false, true, true, GuiTextures.CENTRIFUGE_OVERLAY) - .setProgressBar(GuiTextures.PROGRESS_BAR_EXTRACT, LEFT_TO_RIGHT) - .setSound(GTSoundEntries.CENTRIFUGE); + // public static final GTRecipeType MECHANICAL_CENTRIFUGE_RECIPES = REGISTRATE + // .recipeType("mechanical_centrifuge_recipes", KINETIC) + // .cnlang("机械离心") + // .setMaxIOSize(2, 6, 1, 6) + // .setSlotOverlay(false, false, false, GuiTextures.EXTRACTOR_OVERLAY) + // .setSlotOverlay(false, false, true, GuiTextures.CANISTER_OVERLAY) + // .setSlotOverlay(false, true, true, GuiTextures.CENTRIFUGE_OVERLAY) + // .setProgressBar(GuiTextures.PROGRESS_BAR_EXTRACT, LEFT_TO_RIGHT) + // .setSound(GTSoundEntries.CENTRIFUGE); public static final GTRecipeType MECHANICAL_SIFTER_RECIPES = REGISTRATE .recipeType("mechanical_sifter_recipes", KINETIC) .cnlang("机械筛选") diff --git a/src/main/java/io/github/cpearl0/ctnhcore/data/lang/old/ChineseLangHandler.java b/src/main/java/io/github/cpearl0/ctnhcore/data/lang/old/ChineseLangHandler.java index c233e6b94..7e226d45e 100644 --- a/src/main/java/io/github/cpearl0/ctnhcore/data/lang/old/ChineseLangHandler.java +++ b/src/main/java/io/github/cpearl0/ctnhcore/data/lang/old/ChineseLangHandler.java @@ -1,5 +1,8 @@ package io.github.cpearl0.ctnhcore.data.lang.old; +import com.gregtechceu.gtceu.api.GTValues; +import com.gregtechceu.gtceu.api.data.chemical.material.Material; +import com.gregtechceu.gtceu.common.data.machines.GTMachineUtils; import io.github.cpearl0.ctnhcore.data.lang.Chinese.OreLang; import io.github.cpearl0.ctnhcore.data.lang.Chinese.VeinLang; import io.github.cpearl0.ctnhcore.data.machines.GTNNMachines; @@ -11,13 +14,7 @@ import io.github.cpearl0.ctnhcore.registry.machines.multiblock.MultiblocksA; import io.github.cpearl0.ctnhcore.registry.machines.multiblock.MultiblocksB; import io.github.cpearl0.ctnhcore.registry.machines.multiblock.MultiblocksC; - -import com.gregtechceu.gtceu.api.GTValues; -import com.gregtechceu.gtceu.api.data.chemical.material.Material; -import com.gregtechceu.gtceu.common.data.machines.GTMachineUtils; - import net.minecraftforge.common.data.LanguageProvider; - import org.jetbrains.annotations.NotNull; import tech.vixhentx.mcmod.ctnhlib.registrate.lang.RegistrateCNLangProvider; @@ -25,6 +22,7 @@ import java.util.Map; import static com.gregtechceu.gtceu.api.GTValues.*; +import static com.mo_guang.ctpp.registry.CTPPMultiblockMachines.MECHANICAL_CENTRIFUGE; public class ChineseLangHandler { @@ -901,7 +899,7 @@ public static void init(RegistrateCNLangProvider provider) { provider.add(MultiblocksB.ADVANCED_ASSEMBLY_LINE.getBlock(), "进阶装配线"); provider.add(MultiblocksB.CultivationRoom.getBlock(), "培养室"); provider.add(Mechanical.MECHANICAL_LATHE.getBlock(), "机械车床厂"); - provider.add(Mechanical.MECHANICAL_CENTRIFUGE.getBlock(), "机械离心厂"); + provider.add(MECHANICAL_CENTRIFUGE.getBlock(), "机械离心厂"); provider.add(Mechanical.MECHANICAL_EXTRACTOR.getBlock(), "机械熔炼厂"); provider.add(Mechanical.MECHANICAL_MIXER.getBlock(), "机械搅拌厂"); provider.add(Mechanical.MECHANICAL_SIFTER.getBlock(), "机械筛选厂"); diff --git a/src/main/java/io/github/cpearl0/ctnhcore/data/recipe/chain/AlumiumChain.java b/src/main/java/io/github/cpearl0/ctnhcore/data/recipe/chain/AlumiumChain.java index ef9494834..80f93a402 100644 --- a/src/main/java/io/github/cpearl0/ctnhcore/data/recipe/chain/AlumiumChain.java +++ b/src/main/java/io/github/cpearl0/ctnhcore/data/recipe/chain/AlumiumChain.java @@ -1,10 +1,8 @@ package io.github.cpearl0.ctnhcore.data.recipe.chain; -import io.github.cpearl0.ctnhcore.CTNHCore; - import com.gregtechceu.gtceu.api.GTValues; import com.gregtechceu.gtceu.common.data.GTRecipeTypes; - +import io.github.cpearl0.ctnhcore.CTNHCore; import net.minecraft.data.recipes.FinishedRecipe; import java.util.function.Consumer; diff --git a/src/main/java/io/github/cpearl0/ctnhcore/event/ForgeEventHandler.java b/src/main/java/io/github/cpearl0/ctnhcore/event/ForgeEventHandler.java index 9b5436def..5c0a78027 100644 --- a/src/main/java/io/github/cpearl0/ctnhcore/event/ForgeEventHandler.java +++ b/src/main/java/io/github/cpearl0/ctnhcore/event/ForgeEventHandler.java @@ -1,21 +1,16 @@ package io.github.cpearl0.ctnhcore.event; +import com.gregtechceu.gtceu.GTCEu; +import com.moguang.ctnhbio.CTNHBio; +import com.moguang.ctnhmana.CTNHMana; +import dev.latvian.mods.kubejs.KubeJS; import io.github.cpearl0.ctnhcore.CTNHConfig; import io.github.cpearl0.ctnhcore.CTNHCore; import io.github.cpearl0.ctnhcore.common.capability.EIOCapacitorProvider; import io.github.cpearl0.ctnhcore.integration.legendary.UnderfloorHeatingSystemTempModifier; import io.github.cpearl0.ctnhcore.registry.adventure.CTNHEnchantments; - -import com.gregtechceu.gtceu.GTCEu; -import com.gregtechceu.gtceu.api.registry.GTRegistries; -import com.gregtechceu.gtceu.common.data.GTRecipes; -import com.gregtechceu.gtceu.data.pack.GTDynamicDataPack; - -import net.minecraft.commands.CommandSourceStack; -import net.minecraft.commands.Commands; import net.minecraft.core.BlockPos; import net.minecraft.core.Registry; -import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.FluidTags; @@ -23,7 +18,6 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.Blocks; import net.minecraftforge.event.AttachCapabilitiesEvent; -import net.minecraftforge.event.RegisterCommandsEvent; import net.minecraftforge.event.TickEvent; import net.minecraftforge.event.entity.living.LivingEvent; import net.minecraftforge.eventbus.api.EventPriority; @@ -31,11 +25,6 @@ import net.minecraftforge.fml.common.Mod; import net.minecraftforge.registries.IForgeRegistry; import net.minecraftforge.registries.MissingMappingsEvent; - -import com.moguang.ctnhbio.CTNHBio; -import com.moguang.ctnhmana.CTNHMana; -import com.mojang.brigadier.CommandDispatcher; -import dev.latvian.mods.kubejs.KubeJS; import tech.luckyblock.mcmod.ctnhenergy.CTNHEnergy; import java.util.List; @@ -75,29 +64,6 @@ public static void enchantmentTick(LivingEvent.LivingTickEvent event) { } } - @SubscribeEvent - public static void onRegisterCommands(RegisterCommandsEvent event) { - CommandDispatcher dispatcher = event.getDispatcher(); - - dispatcher.register( - Commands.literal("gtreload") - .requires(src -> src.hasPermission(2)) // 权限等级,可选 - .executes(context -> { - CommandSourceStack source = context.getSource(); - - GTRegistries.RECIPE_TYPES.forEach( - r -> r.getLookup().removeAllRecipes()); - GTRecipes.recipeRemoval(); - GTRecipes.recipeAddition(GTDynamicDataPack::addRecipe); - - source.sendSuccess( - () -> Component.literal("配方重载完毕"), - false); - - return 1; // 返回执行结果 - })); - } - @SubscribeEvent public static void attachItemStack(AttachCapabilitiesEvent event) { var stack = event.getObject(); diff --git a/src/main/java/io/github/cpearl0/ctnhcore/registry/machines/multiblock/Mechanical.java b/src/main/java/io/github/cpearl0/ctnhcore/registry/machines/multiblock/Mechanical.java index 8a4656caa..f1b13e687 100644 --- a/src/main/java/io/github/cpearl0/ctnhcore/registry/machines/multiblock/Mechanical.java +++ b/src/main/java/io/github/cpearl0/ctnhcore/registry/machines/multiblock/Mechanical.java @@ -1,20 +1,12 @@ package io.github.cpearl0.ctnhcore.registry.machines.multiblock; -import io.github.cpearl0.ctnhcore.data.CreateRecipeTypes; - import com.gregtechceu.gtceu.GTCEu; import com.gregtechceu.gtceu.api.data.RotationState; import com.gregtechceu.gtceu.api.machine.MultiblockMachineDefinition; import com.gregtechceu.gtceu.api.pattern.FactoryBlockPattern; import com.gregtechceu.gtceu.api.pattern.MultiblockShapeInfo; import com.gregtechceu.gtceu.api.pattern.Predicates; - import com.lowdragmc.lowdraglib.utils.BlockInfo; - -import net.minecraft.ChatFormatting; -import net.minecraft.core.Direction; -import net.minecraft.network.chat.Component; - import com.mo_guang.ctpp.CTPP; import com.mo_guang.ctpp.api.CTPPPartAbility; import com.mo_guang.ctpp.common.machine.multiblock.KineticWorkableMultiblockMachine; @@ -24,6 +16,10 @@ import com.simibubi.create.AllBlocks; import com.simibubi.create.content.kinetics.base.DirectionalKineticBlock; import fr.lucreeper74.createmetallurgy.registries.CMBlocks; +import io.github.cpearl0.ctnhcore.data.CreateRecipeTypes; +import net.minecraft.ChatFormatting; +import net.minecraft.core.Direction; +import net.minecraft.network.chat.Component; import static com.gregtechceu.gtceu.common.data.GTBlocks.CASING_TEMPERED_GLASS; import static io.github.cpearl0.ctnhcore.registry.CTNHRegistration.REGISTRATE; @@ -89,35 +85,35 @@ public class Mechanical { .workableCasingModel(CTPP.id("block/create/railway_casing"), GTCEu.id("block/multiblock/large_chemical_reactor")) .register(); - public final static MultiblockMachineDefinition MECHANICAL_CENTRIFUGE = REGISTRATE - .multiblock("mechanical_centrifuge", KineticWorkableMultiblockMachine::new) - .rotationState(RotationState.NON_Y_AXIS) - .recipeType(CreateRecipeTypes.MECHANICAL_CENTRIFUGE_RECIPES) - .appearanceBlock(AllBlocks.RAILWAY_CASING) - .recipeModifier(CTPPRecipeModifiers.KINETIC_PARALLEL) - .tooltips(CommonTooltips.KINETIC_OVERCLOCK) - .pattern(definition -> FactoryBlockPattern.start() - .aisle("AAAAA", "BCCCB", "B###B", "B###B", "B###B", "BBBBB", "AAAAA") - .aisle("AAAAA", "CDDDC", "#####", "#####", "#####", "BF#FB", "AAAAA") - .aisle("AAAAA", "CDDDC", "##G##", "##G##", "##G##", "B#H#B", "AAAAA") - .aisle("AAAAA", "CDDDC", "#####", "#####", "#####", "BF#FB", "AAAAA") - .aisle("AA@AA", "BCCCB", "B###B", "B###B", "B###B", "BBBBB", "AAAAA") - .where("A", Predicates.blocks(AllBlocks.RAILWAY_CASING.get()) - .or(Predicates.autoAbilities(definition.getRecipeTypes())) - .or(Predicates.abilities(CTPPPartAbility.INPUT_KINETIC)) - .or(Predicates.abilities(CTPPPartAbility.MECHANICAL_UPGRADE).setExactLimit(1))) - .where("B", Predicates.blocks(AllBlocks.METAL_GIRDER.get())) - .where("C", Predicates.blocks(AllBlocks.BRASS_CASING.get())) - .where("#", Predicates.any()) - .where("D", Predicates.blocks(AllBlocks.BASIN.get())) - .where("F", Predicates.blocks(AllBlocks.BRASS_ENCASED_COGWHEEL.get())) - .where("G", Predicates.blocks(VintageBlocks.CENTRIFUGE.get())) - .where("H", Predicates.blocks(AllBlocks.BRASS_ENCASED_LARGE_COGWHEEL.get())) - .where("@", Predicates.controller(Predicates.blocks(definition.get()))) - .build()) - .workableCasingModel(CTPP.id("block/create/railway_casing"), - GTCEu.id("block/multiblock/large_chemical_reactor")) - .register(); + // public final static MultiblockMachineDefinition MECHANICAL_CENTRIFUGE = REGISTRATE + // .multiblock("mechanical_centrifuge", KineticWorkableMultiblockMachine::new) + // .rotationState(RotationState.NON_Y_AXIS) + // .recipeType(CreateRecipeTypes.MECHANICAL_CENTRIFUGE_RECIPES) + // .appearanceBlock(AllBlocks.RAILWAY_CASING) + // .recipeModifier(CTPPRecipeModifiers.KINETIC_PARALLEL) + // .tooltips(CommonTooltips.KINETIC_OVERCLOCK) + // .pattern(definition -> FactoryBlockPattern.start() + // .aisle("AAAAA", "BCCCB", "B###B", "B###B", "B###B", "BBBBB", "AAAAA") + // .aisle("AAAAA", "CDDDC", "#####", "#####", "#####", "BF#FB", "AAAAA") + // .aisle("AAAAA", "CDDDC", "##G##", "##G##", "##G##", "B#H#B", "AAAAA") + // .aisle("AAAAA", "CDDDC", "#####", "#####", "#####", "BF#FB", "AAAAA") + // .aisle("AA@AA", "BCCCB", "B###B", "B###B", "B###B", "BBBBB", "AAAAA") + // .where("A", Predicates.blocks(AllBlocks.RAILWAY_CASING.get()) + // .or(Predicates.autoAbilities(definition.getRecipeTypes())) + // .or(Predicates.abilities(CTPPPartAbility.INPUT_KINETIC)) + // .or(Predicates.abilities(CTPPPartAbility.MECHANICAL_UPGRADE).setExactLimit(1))) + // .where("B", Predicates.blocks(AllBlocks.METAL_GIRDER.get())) + // .where("C", Predicates.blocks(AllBlocks.BRASS_CASING.get())) + // .where("#", Predicates.any()) + // .where("D", Predicates.blocks(AllBlocks.BASIN.get())) + // .where("F", Predicates.blocks(AllBlocks.BRASS_ENCASED_COGWHEEL.get())) + // .where("G", Predicates.blocks(VintageBlocks.CENTRIFUGE.get())) + // .where("H", Predicates.blocks(AllBlocks.BRASS_ENCASED_LARGE_COGWHEEL.get())) + // .where("@", Predicates.controller(Predicates.blocks(definition.get()))) + // .build()) + // .workableCasingModel(CTPP.id("block/create/railway_casing"), + // GTCEu.id("block/multiblock/large_chemical_reactor")) + // .register(); public final static MultiblockMachineDefinition MECHANICAL_SIFTER = REGISTRATE .multiblock("mechanical_sifter", KineticWorkableMultiblockMachine::new) .rotationState(RotationState.NON_Y_AXIS) diff --git a/src/main/java/io/github/cpearl0/ctnhcore/registry/material/CTNHMaterials.java b/src/main/java/io/github/cpearl0/ctnhcore/registry/material/CTNHMaterials.java index 51e3655a3..93b5314b1 100644 --- a/src/main/java/io/github/cpearl0/ctnhcore/registry/material/CTNHMaterials.java +++ b/src/main/java/io/github/cpearl0/ctnhcore/registry/material/CTNHMaterials.java @@ -1,10 +1,7 @@ package io.github.cpearl0.ctnhcore.registry.material; -import io.github.cpearl0.ctnhcore.CTNHCore; -import io.github.cpearl0.ctnhcore.data.materials.*; -import io.github.cpearl0.ctnhcore.data.recipe.chain.BrineChain; -import io.github.cpearl0.ctnhcore.registry.CTNHElements; - +import com.aetherteam.aether.block.AetherBlocks; +import com.aetherteam.aether.item.AetherItems; import com.gregtechceu.gtceu.GTCEu; import com.gregtechceu.gtceu.api.GTCEuAPI; import com.gregtechceu.gtceu.api.GTValues; @@ -17,11 +14,11 @@ import com.gregtechceu.gtceu.api.fluids.FluidBuilder; import com.gregtechceu.gtceu.api.fluids.store.FluidStorageKeys; import com.gregtechceu.gtceu.common.data.GTMaterials; - -import com.aetherteam.aether.block.AetherBlocks; -import com.aetherteam.aether.item.AetherItems; -import com.google.gson.JsonObject; import earth.terrarium.adastra.common.registry.ModBlocks; +import io.github.cpearl0.ctnhcore.CTNHCore; +import io.github.cpearl0.ctnhcore.data.materials.*; +import io.github.cpearl0.ctnhcore.data.recipe.chain.BrineChain; +import io.github.cpearl0.ctnhcore.registry.CTNHElements; import teamrazor.deepaether.init.DABlocks; import teamrazor.deepaether.init.DAItems; @@ -1133,27 +1130,6 @@ public static class MaterialIcons { public static MaterialIconSet StarsteelIcon = new MaterialIconSet("starsteel", METALLIC); - public static MaterialIconSet Neutron = new MaterialIconSet("neutron", DULL, helo()); - - static JsonObject helo() { - JsonObject extra = new JsonObject(); - - extra.addProperty("loader", "avaritia:halo"); - - JsonObject halo = new JsonObject(); - - JsonObject textures = new JsonObject(); - textures.addProperty("halo", "avaritia:misc/halo_noise"); - extra.add("textures", textures); - - halo.addProperty("texture", "#halo"); - halo.addProperty("color", -1711276033); - halo.addProperty("size", 6); - halo.addProperty("pulse", false); - - extra.add("halo", halo); - - return extra; - } + public static MaterialIconSet Neutron = new MaterialIconSet("neutron", DULL); } } diff --git a/src/main/java/io/github/cpearl0/ctnhcore/utils/CTNHMachineUtils.java b/src/main/java/io/github/cpearl0/ctnhcore/utils/CTNHMachineUtils.java index 75232eb2d..1714795a5 100644 --- a/src/main/java/io/github/cpearl0/ctnhcore/utils/CTNHMachineUtils.java +++ b/src/main/java/io/github/cpearl0/ctnhcore/utils/CTNHMachineUtils.java @@ -1,9 +1,5 @@ package io.github.cpearl0.ctnhcore.utils; -import io.github.cpearl0.ctnhcore.CTNHCore; -import io.github.cpearl0.ctnhcore.common.machine.simple.EfficiencyGeneratorMachine; -import io.github.cpearl0.ctnhcore.common.machine.simple.SimpleComputationMachine; - import com.gregtechceu.gtceu.api.GTValues; import com.gregtechceu.gtceu.api.capability.recipe.FluidRecipeCapability; import com.gregtechceu.gtceu.api.data.RotationState; @@ -16,20 +12,21 @@ import com.gregtechceu.gtceu.api.recipe.GTRecipeType; import com.gregtechceu.gtceu.api.recipe.OverclockingLogic; import com.gregtechceu.gtceu.api.recipe.modifier.RecipeModifier; -import com.gregtechceu.gtceu.api.registry.registrate.MachineBuilder; -import com.gregtechceu.gtceu.api.registry.registrate.MultiblockMachineBuilder; import com.gregtechceu.gtceu.common.data.*; import com.gregtechceu.gtceu.common.data.machines.GTMachineUtils; import com.gregtechceu.gtceu.common.machine.multiblock.generator.LargeCombustionEngineMachine; import com.gregtechceu.gtceu.utils.FormattingUtil; - +import io.github.cpearl0.ctnhcore.CTNHCore; +import io.github.cpearl0.ctnhcore.common.machine.simple.EfficiencyGeneratorMachine; +import io.github.cpearl0.ctnhcore.common.machine.simple.SimpleComputationMachine; +import it.unimi.dsi.fastutil.ints.Int2IntFunction; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.ItemLike; import net.minecraft.world.level.block.Block; import net.minecraftforge.fluids.FluidType; - -import it.unimi.dsi.fastutil.ints.Int2IntFunction; +import tech.vixhentx.mcmod.ctnhlib.registrate.builders.CTNHMachineBuilder; +import tech.vixhentx.mcmod.ctnhlib.registrate.builders.CTNHMultiblockMachineBuilder; import java.util.ArrayList; import java.util.List; @@ -47,7 +44,7 @@ public class CTNHMachineUtils { public static MachineDefinition[] registerTieredMachines(String name, BiFunction factory, - BiFunction, MachineDefinition> builder, + BiFunction, MachineDefinition> builder, int... tiers) { MachineDefinition[] definitions = new MachineDefinition[GTValues.TIER_COUNT]; for (int tier : tiers) { @@ -63,7 +60,7 @@ public static MachineDefinition[] registerTieredMachines(String name, public static MachineDefinition[] registerTieredMachines(String name, String cnname, BiFunction factory, - BiFunction, MachineDefinition> builder, + BiFunction, MachineDefinition> builder, int... tiers) { MachineDefinition[] definitions = new MachineDefinition[GTValues.TIER_COUNT]; for (int tier : tiers) { @@ -79,11 +76,11 @@ public static MachineDefinition[] registerTieredMachines(String name, public static MultiblockMachineDefinition[] registerTieredMultis(String name, BiFunction factory, - BiFunction builder, + BiFunction builder, int... tiers) { MultiblockMachineDefinition[] definitions = new MultiblockMachineDefinition[GTValues.TIER_COUNT]; for (int tier : tiers) { - MultiblockMachineBuilder register = REGISTRATE + var register = REGISTRATE .multiblock(GTValues.VN[tier].toLowerCase(Locale.ROOT) + "_" + name, holder -> factory.apply(holder, tier)) .tier(tier); diff --git a/src/main/java/io/github/cpearl0/ctnhcore/utils/emi/TooltipBakeQueue.java b/src/main/java/io/github/cpearl0/ctnhcore/utils/emi/TooltipBakeQueue.java index c76fcebe4..61225159a 100644 --- a/src/main/java/io/github/cpearl0/ctnhcore/utils/emi/TooltipBakeQueue.java +++ b/src/main/java/io/github/cpearl0/ctnhcore/utils/emi/TooltipBakeQueue.java @@ -1,12 +1,11 @@ package io.github.cpearl0.ctnhcore.utils.emi; -import net.minecraft.client.searchtree.SuffixArray; -import net.minecraft.network.chat.Component; - import dev.emi.emi.api.stack.EmiStack; import dev.emi.emi.runtime.EmiLog; import dev.emi.emi.search.EmiSearch; import dev.emi.emi.search.SearchStack; +import net.minecraft.client.searchtree.SuffixArray; +import net.minecraft.network.chat.Component; import java.util.Iterator; import java.util.List;