Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
921d3b9
initial add of QATs, no new functionality yet
NegaNote Apr 9, 2025
f9cb002
implement coolant mechanic
NegaNote Apr 10, 2025
ade88bf
add tooltip and UI info about coolant mechanic
NegaNote Apr 10, 2025
e94d313
Make the coolant consumption happen every second instead of every tick
NegaNote Apr 10, 2025
0f58d62
spotless
NegaNote Apr 10, 2025
5d62165
add wireless frequency to QAT
NegaNote Apr 10, 2025
0184794
add input/output toggle for QAT (doesn't do anything)
NegaNote Apr 11, 2025
68a038e
Rename QAT to PTERB (Power Transfer Einstein-Rosen Bridge)
NegaNote Apr 11, 2025
71cff25
spotless
NegaNote Apr 11, 2025
4438ab0
partial revert of input-only/output-only logic
NegaNote Apr 12, 2025
372b51d
beginnings of true wireless
NegaNote Apr 12, 2025
f1eee4c
implement saving the PTERBSavedData
NegaNote Apr 12, 2025
9501bd0
spotless
NegaNote Apr 12, 2025
a1663bd
Put together helper methods for PTERBSavedData
NegaNote Apr 12, 2025
69ed152
add wireless functionality to multi itself (still not actually working)
NegaNote Apr 13, 2025
63c24d5
refactor, should be working? but it's not?
NegaNote Apr 13, 2025
8aaf2aa
make it always use the overworld data cache
NegaNote Apr 13, 2025
1e8c6fe
Improve TPS significantly
NegaNote Apr 13, 2025
4d094df
Disable default zero frequency
NegaNote Apr 13, 2025
20a551b
fix coolant calculation and display info
NegaNote Apr 14, 2025
7a5b732
Change tooltips
NegaNote Apr 14, 2025
9382630
Add Jade integration
NegaNote Apr 14, 2025
31a05d8
add message telling players they can't use frequency 0
NegaNote Apr 14, 2025
f5e08f7
internal rename
NegaNote Apr 15, 2025
248ce1a
spotless
NegaNote Apr 15, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@ dependencies {
runtimeOnly fg.deobf("mezz.jei:jei-${minecraft_version}-forge:${jei_version}")
runtimeOnly fg.deobf("dev.emi:emi-forge:${emi_version}+${minecraft_version}")
runtimeOnly fg.deobf("curse.maven:jade-324717:5390389")
compileOnly fg.deobf("curse.maven:jade-324717:5390389")

// GregTech and dependencies
implementation fg.deobf("com.gregtechceu.gtceu:gtceu-${minecraft_version}:${gtceu_version}:slim") { transitive = false }
Expand Down
21 changes: 20 additions & 1 deletion src/generated/resources/assets/gtmutils/lang/en_ud.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
"block.gtmutils.max_64a_energy_converter": "ɹǝʇɹǝʌuoƆ ʎbɹǝuƎ ɹ§Ɐǝ§ㄣ9 ɹ§XⱯWן§ɔ§",
"block.gtmutils.mv_64a_energy_converter": "ɹǝʇɹǝʌuoƆ ʎbɹǝuƎ ɹ§Ɐǝ§ㄣ9 ɹ§ΛWq§",
"block.gtmutils.opv_64a_energy_converter": "ɹǝʇɹǝʌuoƆ ʎbɹǝuƎ ɹ§Ɐǝ§ㄣ9 ɹ§ΛdOן§6§",
"block.gtmutils.pterb_machine": "ǝbpıɹᗺ uǝsoᴚ-uıǝʇsuıƎ ɹǝɟsuɐɹ⟘ ɹǝʍoԀ",
"block.gtmutils.sterile_cleaning_maintenance_hatch": "ɥɔʇɐH ǝɔuɐuǝʇuıɐW buıuɐǝןƆ ǝןıɹǝʇS",
"block.gtmutils.uev_64a_energy_converter": "ɹǝʇɹǝʌuoƆ ʎbɹǝuƎ ɹ§Ɐǝ§ㄣ9 ɹ§ΛƎ∩ɐ§",
"block.gtmutils.uhv_64a_energy_converter": "ɹǝʇɹǝʌuoƆ ʎbɹǝuƎ ɹ§Ɐǝ§ㄣ9 ɹ§ΛH∩ㄣ§",
Expand All @@ -15,9 +16,27 @@
"block.gtmutils.uv_64a_energy_converter": "ɹǝʇɹǝʌuoƆ ʎbɹǝuƎ ɹ§Ɐǝ§ㄣ9 ɹ§Λ∩Ɛ§",
"block.gtmutils.uxv_64a_energy_converter": "ɹǝʇɹǝʌuoƆ ʎbɹǝuƎ ɹ§Ɐǝ§ㄣ9 ɹ§ΛX∩ǝ§",
"block.gtmutils.zpm_64a_energy_converter": "ɹǝʇɹǝʌuoƆ ʎbɹǝuƎ ɹ§Ɐǝ§ㄣ9 ɹ§WԀZɔ§",
"config.gtmutils.option.converters64aEnabled": "pǝןqɐuƎɐㄣ9sɹǝʇɹǝʌuoɔ",
"config.gtmutils.option.features": "sǝɹnʇɐǝɟ",
"config.gtmutils.option.omnibreakerEnabled": "pǝןqɐuƎɹǝʞɐǝɹqıuɯo",
"config.gtmutils.option.omnibreakerEnergyCapacity": "ʎʇıɔɐdɐƆʎbɹǝuƎɹǝʞɐǝɹqıuɯo",
"config.gtmutils.option.omnibreakerTier": "ɹǝı⟘ɹǝʞɐǝɹqıuɯo",
"config.gtmutils.option.powerWormholeEnabled": "pǝןqɐuƎǝןoɥɯɹoMɹǝʍod",
"config.gtmutils.option.pterbCoolantBaseDrain": "uıɐɹᗡǝsɐᗺʇuɐןooƆqɹǝʇd",
"config.gtmutils.option.pterbCoolantIOMultiplier": "ɹǝıןdıʇןnWOIʇuɐןooƆqɹǝʇd",
"config.gtmutils.option.sterileHatchEnabled": "pǝןqɐuƎɥɔʇɐHǝןıɹǝʇs",
"config.jade.plugin_gtmutils.frequency_info": "oɟuI ʎɔuǝnbǝɹℲ ᗺᴚƎ⟘Ԁ",
"gtmutils.gui.pterb.wireless_configurator.title": "ʎɔuǝnbǝɹɟ ssǝןǝɹıM",
"gtmutils.multiblock.pterb_machine.coolant_usage": "puoɔǝs ɹǝd %s ɟo Ꞁ%s suıɐɹᗡɔ§",
"gtmutils.pterb.current_frequency": "%s :ʎɔuǝnbǝɹɟ ʇuǝɹɹnƆ",
"gtmutils.pterb_machine.invalid_frequency": "¡0 ʎɔuǝnbǝɹɟ uo ʞɹoʍ ʇou ןןıʍ sᗺᴚƎ⟘Ԁ",
"item.gtmutils.omnibreaker": "ɹǝʞɐǝɹq-ıuɯO",
"itemGroup.gtmutils.creative_tab": "sǝıʇıןıʇ∩ uɹǝpoW ɥɔǝ⟘bǝɹ⅁",
"material.gtmutils.quantum_coolant": "ʇuɐןooƆ ɯnʇuɐnὉ",
"tooltip.omnibreaker.can_break_anything": "¡⅁NIH⟘ʎNⱯ ǝuıɯ-ɐʇsuı uɐɔ ɹǝʞɐǝɹq-ıuɯO ǝɥ⟘",
"tooltip.omnibreaker.charge_status": "∩Ǝ %s / ∩Ǝ %s :ʎbɹǝuƎ",
"tooltip.omnibreaker.right_click_function": "¡ʞɔıןɔ-ʇɥbıɹ ɥʇıʍ sʞɔoןq ןɐnpıʌıpuı ʞɐǝɹᗺ"
"tooltip.omnibreaker.right_click_function": "¡ʞɔıןɔ-ʇɥbıɹ ɥʇıʍ sʞɔoןq ןɐnpıʌıpuı ʞɐǝɹᗺ",
"tooltip.pterb_machine.frequencies": "˙ɹǝɯɹoɟsuɐɹ⟘ ǝʌıʇɔⱯ ǝןbuıs ɐ ǝʞıן ʇɔɐ ʎɔuǝnbǝɹɟ ǝɯɐs ǝɥʇ ɥʇıʍ sᗺᴚƎ⟘Ԁ ןןⱯ",
"tooltip.pterb_machine.purpose": ")ᗺᴚƎ⟘Ԁ( ɹǝɯɹoɟsuɐɹ⟘ ǝʌıʇɔⱯ ssǝןǝɹıM",
"tooltip.pterb_machine.uses_coolant": "¡uoıʇɔunɟ oʇ %s suıɐɹᗡ"
}
21 changes: 20 additions & 1 deletion src/generated/resources/assets/gtmutils/lang/en_us.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
"block.gtmutils.max_64a_energy_converter": "§c§lMAX§r 64§eA§r Energy Converter",
"block.gtmutils.mv_64a_energy_converter": "§bMV§r 64§eA§r Energy Converter",
"block.gtmutils.opv_64a_energy_converter": "§9§lOpV§r 64§eA§r Energy Converter",
"block.gtmutils.pterb_machine": "Power Transfer Einstein-Rosen Bridge",
"block.gtmutils.sterile_cleaning_maintenance_hatch": "Sterile Cleaning Maintenance Hatch",
"block.gtmutils.uev_64a_energy_converter": "§aUEV§r 64§eA§r Energy Converter",
"block.gtmutils.uhv_64a_energy_converter": "§4UHV§r 64§eA§r Energy Converter",
Expand All @@ -15,9 +16,27 @@
"block.gtmutils.uv_64a_energy_converter": "§3UV§r 64§eA§r Energy Converter",
"block.gtmutils.uxv_64a_energy_converter": "§eUXV§r 64§eA§r Energy Converter",
"block.gtmutils.zpm_64a_energy_converter": "§cZPM§r 64§eA§r Energy Converter",
"config.gtmutils.option.converters64aEnabled": "converters64aEnabled",
"config.gtmutils.option.features": "features",
"config.gtmutils.option.omnibreakerEnabled": "omnibreakerEnabled",
"config.gtmutils.option.omnibreakerEnergyCapacity": "omnibreakerEnergyCapacity",
"config.gtmutils.option.omnibreakerTier": "omnibreakerTier",
"config.gtmutils.option.powerWormholeEnabled": "powerWormholeEnabled",
"config.gtmutils.option.pterbCoolantBaseDrain": "pterbCoolantBaseDrain",
"config.gtmutils.option.pterbCoolantIOMultiplier": "pterbCoolantIOMultiplier",
"config.gtmutils.option.sterileHatchEnabled": "sterileHatchEnabled",
"config.jade.plugin_gtmutils.frequency_info": "PTERB Frequency Info",
"gtmutils.gui.pterb.wireless_configurator.title": "Wireless frequency",
"gtmutils.multiblock.pterb_machine.coolant_usage": "§cDrains %sL of %s per second",
"gtmutils.pterb.current_frequency": "Current frequency: %s",
"gtmutils.pterb_machine.invalid_frequency": "PTERBs will not work on frequency 0!",
"item.gtmutils.omnibreaker": "Omni-breaker",
"itemGroup.gtmutils.creative_tab": "GregTech Modern Utilities",
"material.gtmutils.quantum_coolant": "Quantum Coolant",
"tooltip.omnibreaker.can_break_anything": "The Omni-breaker can insta-mine ANYTHING!",
"tooltip.omnibreaker.charge_status": "Energy: %s EU / %s EU",
"tooltip.omnibreaker.right_click_function": "Break individual blocks with right-click!"
"tooltip.omnibreaker.right_click_function": "Break individual blocks with right-click!",
"tooltip.pterb_machine.frequencies": "All PTERBs with the same frequency act like a single Active Transformer.",
"tooltip.pterb_machine.purpose": "Wireless Active Transformer (PTERB)",
"tooltip.pterb_machine.uses_coolant": "Drains %s to function!"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"values": [
"gtmutils:quantum_coolant_bucket"
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,9 @@
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.neganote.gtutilities.common.item.UtilItems;
import net.neganote.gtutilities.common.machine.UtilMachines;
import net.neganote.gtutilities.common.materials.UtilMaterials;
import net.neganote.gtutilities.config.UtilConfig;
import net.neganote.gtutilities.data.UtilDatagen;
import net.neganote.gtutilities.datagen.UtilDatagen;

import com.tterrag.registrate.util.entry.RegistryEntry;
import org.apache.logging.log4j.LogManager;
Expand Down Expand Up @@ -127,7 +128,7 @@ private void addMaterialRegistries(MaterialRegistryEvent event) {

// As well as this.
private void addMaterials(MaterialEvent event) {
// CustomMaterials.init();
UtilMaterials.register();
}

// This is optional, though.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,20 @@
package net.neganote.gtutilities.common.machine;

import com.gregtechceu.gtceu.GTCEu;
import com.gregtechceu.gtceu.api.GTValues;
import com.gregtechceu.gtceu.api.capability.compat.FeCompat;
import com.gregtechceu.gtceu.api.data.RotationState;
import com.gregtechceu.gtceu.api.machine.IMachineBlockEntity;
import com.gregtechceu.gtceu.api.machine.MachineDefinition;
import com.gregtechceu.gtceu.api.machine.MetaMachine;
import com.gregtechceu.gtceu.api.machine.MultiblockMachineDefinition;
import com.gregtechceu.gtceu.api.machine.multiblock.CleanroomType;
import com.gregtechceu.gtceu.api.machine.multiblock.PartAbility;
import com.gregtechceu.gtceu.api.pattern.FactoryBlockPattern;
import com.gregtechceu.gtceu.api.registry.registrate.MachineBuilder;
import com.gregtechceu.gtceu.client.renderer.machine.MaintenanceHatchPartRenderer;
import com.gregtechceu.gtceu.common.data.GTBlocks;
import com.gregtechceu.gtceu.common.data.GTRecipeTypes;
import com.gregtechceu.gtceu.common.machine.electric.ConverterMachine;
import com.gregtechceu.gtceu.common.machine.multiblock.part.CleaningMaintenanceHatchPartMachine;
import com.gregtechceu.gtceu.config.ConfigHolder;
Expand All @@ -18,13 +23,17 @@
import net.minecraft.network.chat.Component;
import net.neganote.gtutilities.GregTechModernUtilities;
import net.neganote.gtutilities.client.renderer.machine.UtilConverterRenderer;
import net.neganote.gtutilities.common.machine.multiblock.PTERBMachine;
import net.neganote.gtutilities.common.materials.UtilMaterials;
import net.neganote.gtutilities.config.UtilConfig;

import java.util.Locale;
import java.util.function.BiFunction;

import static com.gregtechceu.gtceu.api.GTValues.*;
import static com.gregtechceu.gtceu.api.GTValues.V;
import static com.gregtechceu.gtceu.api.pattern.Predicates.*;
import static com.gregtechceu.gtceu.common.data.GTBlocks.HIGH_POWER_CASING;
import static net.neganote.gtutilities.GregTechModernUtilities.REGISTRATE;

@SuppressWarnings("unused")
Expand Down Expand Up @@ -106,5 +115,42 @@ public static MachineDefinition[] registerTieredMachines(String name,
}
}

public static MultiblockMachineDefinition PTERB_MACHINE = null;

static {
if (UtilConfig.INSTANCE.features.pterbEnabled) {
PTERB_MACHINE = REGISTRATE
.multiblock("pterb_machine", PTERBMachine::new)
.langValue("Power Transfer Einstein-Rosen Bridge")
.rotationState(RotationState.ALL)
.recipeType(GTRecipeTypes.DUMMY_RECIPES)
.appearanceBlock(HIGH_POWER_CASING)
.tooltips(Component.translatable("tooltip.pterb_machine.purpose"),
Component.translatable("gtceu.machine.active_transformer.tooltip.1"),
Component.translatable("tooltip.pterb_machine.frequencies")
.withStyle(ChatFormatting.GRAY))
.conditionalTooltip(
Component
.translatable("tooltip.pterb_machine.uses_coolant",
UtilMaterials.QuantumCoolant.getLocalizedName()
.withStyle(ChatFormatting.AQUA))
.withStyle(ChatFormatting.DARK_RED),
UtilConfig.coolantEnabled())
.pattern((definition) -> FactoryBlockPattern.start()
.aisle("XXX", "XXX", "XXX")
.aisle("XXX", "XCX", "XXX")
.aisle("XXX", "XSX", "XXX")
.where('S', controller(blocks(definition.getBlock())))
.where('X', blocks(GTBlocks.HIGH_POWER_CASING.get()).setMinGlobalLimited(12)
.or(PTERBMachine.getEnergyHatchPredicates())
.or(abilities(PartAbility.IMPORT_FLUIDS_1X).setExactLimit(1)))
.where('C', blocks(GTBlocks.SUPERCONDUCTING_COIL.get()))
.build())
.workableCasingRenderer(GTCEu.id("block/casings/hpca/high_power_casing"),
GTCEu.id("block/multiblock/data_bank"))
.register();
}
}

public static void init() {}
}
Loading
Loading