Skip to content
Draft
19 changes: 19 additions & 0 deletions src/generated/resources/assets/start_core/blockstates/komaru.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"variants": {
"facing=east": {
"model": "start_core:block/machine/komaru",
"y": 90
},
"facing=north": {
"model": "start_core:block/machine/komaru"
},
"facing=south": {
"model": "start_core:block/machine/komaru",
"y": 180
},
"facing=west": {
"model": "start_core:block/machine/komaru",
"y": 270
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"variants": {
"facing=down": {
"model": "start_core:block/machine/modular_auto_scaling_node",
"x": 90
},
"facing=east": {
"model": "start_core:block/machine/modular_auto_scaling_node",
"y": 90
},
"facing=north": {
"model": "start_core:block/machine/modular_auto_scaling_node"
},
"facing=south": {
"model": "start_core:block/machine/modular_auto_scaling_node",
"y": 180
},
"facing=up": {
"gtceu:z": 180,
"model": "start_core:block/machine/modular_auto_scaling_node",
"x": 270
},
"facing=west": {
"model": "start_core:block/machine/modular_auto_scaling_node",
"y": 270
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"variants": {
"facing=down": {
"model": "start_core:block/machine/modular_auto_scaling_terminal",
"x": 90
},
"facing=east": {
"model": "start_core:block/machine/modular_auto_scaling_terminal",
"y": 90
},
"facing=north": {
"model": "start_core:block/machine/modular_auto_scaling_terminal"
},
"facing=south": {
"model": "start_core:block/machine/modular_auto_scaling_terminal",
"y": 180
},
"facing=up": {
"gtceu:z": 180,
"model": "start_core:block/machine/modular_auto_scaling_terminal",
"x": 270
},
"facing=west": {
"model": "start_core:block/machine/modular_auto_scaling_terminal",
"y": 270
}
}
}
2 changes: 2 additions & 0 deletions src/generated/resources/assets/start_core/lang/en_ud.json
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,8 @@
"block.start_core.max_64a_modular_conduit_node": "ǝpoN ʇınpuoƆ ɹɐןnpoW ɹ§Ɐǝ§ㄣ9 ɹ§XⱯWן§ɔ§",
"block.start_core.max_64a_modular_conduit_terminal": "ןɐuıɯɹǝ⟘ ʇınpuoƆ ɹɐןnpoW ɹ§Ɐǝ§ㄣ9 ɹ§XⱯWן§ɔ§",
"block.start_core.max_supreme_thread_helix": "xıןǝH pɐǝɹɥ⟘ ǝɯǝɹdnS xɐW",
"block.start_core.modular_auto_scaling_node": "ǝpoN ʇınpuoƆ buıןɐɔS oʇnⱯ ɹɐןnpoW",
"block.start_core.modular_auto_scaling_terminal": "ןɐuıɯɹǝ⟘ ʇınpuoƆ buıןɐɔS oʇnⱯ ɹɐןnpoW",
"block.start_core.modular_interface_node": "ǝpoN ǝɔɐɟɹǝʇuI ɹɐןnpoW",
"block.start_core.modular_interface_terminal": "ןɐuıɯɹǝ⟘ ǝɔɐɟɹǝʇuI ɹɐןnpoW",
"block.start_core.neutronium_crate": "ǝʇɐɹƆ ɯnıuoɹʇnǝN",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
{
"parent": "minecraft:block/block",
"loader": "gtceu:machine",
"machine": "start_core:komaru",
"texture_overrides": {
"all": "kubejs:block/casings/end_multis/draco_assembly_grating"
},
"variants": {
"is_formed=false,recipe_logic_status=idle": {
"model": {
"parent": "gtceu:block/machine/template/cube_all/sided",
"textures": {
"all": "kubejs:block/casings/end_multis/draco_assembly_grating",
"overlay_front": "gtceu:block/machines/assembler/overlay_front",
"overlay_front_emissive": "gtceu:block/machines/assembler/overlay_front_emissive",
"overlay_top": "gtceu:block/machines/assembler/overlay_top",
"overlay_top_emissive": "gtceu:block/machines/assembler/overlay_top_emissive"
}
}
},
"is_formed=false,recipe_logic_status=suspend": {
"model": {
"parent": "gtceu:block/machine/template/cube_all/sided",
"textures": {
"all": "kubejs:block/casings/end_multis/draco_assembly_grating",
"overlay_front": "gtceu:block/machines/assembler/overlay_front_paused",
"overlay_front_emissive": "gtceu:block/machines/assembler/overlay_front_paused_emissive",
"overlay_top": "gtceu:block/machines/assembler/overlay_top",
"overlay_top_emissive": "gtceu:block/machines/assembler/overlay_top_emissive"
}
}
},
"is_formed=false,recipe_logic_status=waiting": {
"model": {
"parent": "gtceu:block/machine/template/cube_all/sided",
"textures": {
"all": "kubejs:block/casings/end_multis/draco_assembly_grating",
"overlay_front": "gtceu:block/machines/assembler/overlay_front_active",
"overlay_front_emissive": "gtceu:block/machines/assembler/overlay_front_active_emissive",
"overlay_top": "gtceu:block/machines/assembler/overlay_top_active",
"overlay_top_emissive": "gtceu:block/machines/assembler/overlay_top_active_emissive"
}
}
},
"is_formed=false,recipe_logic_status=working": {
"model": {
"parent": "gtceu:block/machine/template/cube_all/sided",
"textures": {
"all": "kubejs:block/casings/end_multis/draco_assembly_grating",
"overlay_front": "gtceu:block/machines/assembler/overlay_front_active",
"overlay_front_emissive": "gtceu:block/machines/assembler/overlay_front_active_emissive",
"overlay_top": "gtceu:block/machines/assembler/overlay_top_active",
"overlay_top_emissive": "gtceu:block/machines/assembler/overlay_top_active_emissive"
}
}
},
"is_formed=true,recipe_logic_status=idle": {
"model": {
"parent": "gtceu:block/machine/template/cube_all/sided",
"textures": {
"all": "kubejs:block/casings/end_multis/draco_assembly_grating",
"overlay_front": "gtceu:block/machines/assembler/overlay_front",
"overlay_front_emissive": "gtceu:block/machines/assembler/overlay_front_emissive",
"overlay_top": "gtceu:block/machines/assembler/overlay_top",
"overlay_top_emissive": "gtceu:block/machines/assembler/overlay_top_emissive"
}
}
},
"is_formed=true,recipe_logic_status=suspend": {
"model": {
"parent": "gtceu:block/machine/template/cube_all/sided",
"textures": {
"all": "kubejs:block/casings/end_multis/draco_assembly_grating",
"overlay_front": "gtceu:block/machines/assembler/overlay_front_paused",
"overlay_front_emissive": "gtceu:block/machines/assembler/overlay_front_paused_emissive",
"overlay_top": "gtceu:block/machines/assembler/overlay_top",
"overlay_top_emissive": "gtceu:block/machines/assembler/overlay_top_emissive"
}
}
},
"is_formed=true,recipe_logic_status=waiting": {
"model": {
"parent": "gtceu:block/machine/template/cube_all/sided",
"textures": {
"all": "kubejs:block/casings/end_multis/draco_assembly_grating",
"overlay_front": "gtceu:block/machines/assembler/overlay_front_active",
"overlay_front_emissive": "gtceu:block/machines/assembler/overlay_front_active_emissive",
"overlay_top": "gtceu:block/machines/assembler/overlay_top_active",
"overlay_top_emissive": "gtceu:block/machines/assembler/overlay_top_active_emissive"
}
}
},
"is_formed=true,recipe_logic_status=working": {
"model": {
"parent": "gtceu:block/machine/template/cube_all/sided",
"textures": {
"all": "kubejs:block/casings/end_multis/draco_assembly_grating",
"overlay_front": "gtceu:block/machines/assembler/overlay_front_active",
"overlay_front_emissive": "gtceu:block/machines/assembler/overlay_front_active_emissive",
"overlay_top": "gtceu:block/machines/assembler/overlay_top_active",
"overlay_top_emissive": "gtceu:block/machines/assembler/overlay_top_active_emissive"
}
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"parent": "minecraft:block/block",
"loader": "gtceu:machine",
"machine": "start_core:modular_auto_scaling_node",
"replaceable_textures": [
"bottom",
"top",
"side"
],
"variants": {
"is_formed=false": {
"model": {
"parent": "gtceu:block/machine/part/energy_input_hatch",
"textures": {
"bottom": "gtceu:block/casings/voltage/uv/bottom",
"overlay_in": "start_core:block/overlay/modular/overlay_scaling_out",
"overlay_in_emissive": "start_core:block/overlay/modular/overlay_scaling_in_emissive",
"overlay_tint": "start_core:block/overlay/modular/overlay_scaling_tinted",
"side": "gtceu:block/casings/voltage/uv/side",
"top": "gtceu:block/casings/voltage/uv/top"
}
}
},
"is_formed=true": {
"model": {
"parent": "gtceu:block/machine/part/energy_input_hatch",
"textures": {
"bottom": "gtceu:block/casings/voltage/uv/bottom",
"overlay_in": "start_core:block/overlay/modular/overlay_scaling_out",
"overlay_in_emissive": "start_core:block/overlay/modular/overlay_scaling_in_emissive",
"overlay_tint": "start_core:block/overlay/modular/overlay_scaling_tinted",
"side": "gtceu:block/casings/voltage/uv/side",
"top": "gtceu:block/casings/voltage/uv/top"
}
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"parent": "minecraft:block/block",
"loader": "gtceu:machine",
"machine": "start_core:modular_auto_scaling_terminal",
"replaceable_textures": [
"bottom",
"top",
"side"
],
"variants": {
"is_formed=false": {
"model": {
"parent": "gtceu:block/machine/part/energy_input_hatch",
"textures": {
"bottom": "gtceu:block/casings/voltage/uv/bottom",
"overlay_in": "start_core:block/overlay/modular/overlay_scaling_out",
"overlay_in_emissive": "start_core:block/overlay/modular/overlay_scaling_out_emissive",
"overlay_tint": "start_core:block/overlay/modular/overlay_scaling_tinted",
"side": "gtceu:block/casings/voltage/uv/side",
"top": "gtceu:block/casings/voltage/uv/top"
}
}
},
"is_formed=true": {
"model": {
"parent": "gtceu:block/machine/part/energy_input_hatch",
"textures": {
"bottom": "gtceu:block/casings/voltage/uv/bottom",
"overlay_in": "start_core:block/overlay/modular/overlay_scaling_out",
"overlay_in_emissive": "start_core:block/overlay/modular/overlay_scaling_out_emissive",
"overlay_tint": "start_core:block/overlay/modular/overlay_scaling_tinted",
"side": "gtceu:block/casings/voltage/uv/side",
"top": "gtceu:block/casings/voltage/uv/top"
}
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"parent": "start_core:block/machine/komaru"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"parent": "start_core:block/machine/modular_auto_scaling_node"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"parent": "start_core:block/machine/modular_auto_scaling_terminal"
}
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
package com.startechnology.start_core.api.capability;

import java.util.List;

import org.jetbrains.annotations.Nullable;
import java.util.function.Consumer;

import net.minecraft.core.BlockPos;
import net.minecraft.resources.ResourceLocation;

public interface IStarTModularSupportedModules {
/* This return if this multiblock id is a supported module, being tested from a position */
boolean isSupportedMultiblockId(ResourceLocation id, BlockPos fromPos);

/* This returns an optional consumer on connection */
Consumer<IStarTModularSupportedModules> getOnSupportedConsumer();

/* Force invalidate this modular support item */
void invalidateSupportedModule();
}
Original file line number Diff line number Diff line change
Expand Up @@ -39,5 +39,4 @@ public class StarTCapability {
public static final Capability<StarTSolarMachine> CAPABILITY_SOLAR = CapabilityManager.get(new CapabilityToken<>() {});

public static final Capability<VacuumChemicalReactionChamberMachine> VACUUM_CHEMICAL_REACTION_CHAMBER = CapabilityManager.get(new CapabilityToken<>() {});

}
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,17 @@

import org.jetbrains.annotations.Nullable;

import com.gregtechceu.gtceu.api.GTValues;
import com.gregtechceu.gtceu.api.capability.recipe.IO;
import com.gregtechceu.gtceu.api.machine.MetaMachine;
import com.gregtechceu.gtceu.api.machine.feature.multiblock.IMultiController;
import com.gregtechceu.gtceu.integration.jade.provider.CapabilityBlockProvider;
import com.gregtechceu.gtceu.utils.GTUtil;
import com.startechnology.start_core.StarTCore;
import com.startechnology.start_core.api.capability.StarTCapabilityHelper;
import com.startechnology.start_core.machine.abyssal_harvester.StarTAbyssalHarvesterMachine;
import com.startechnology.start_core.machine.hellforge.StarTHellForgeMachine;
import com.startechnology.start_core.machine.modular.StarTModularConduitAutoScalingHatchPartMachine;
import com.startechnology.start_core.machine.modular.StarTModularInterfaceHatchPartMachine;

import net.minecraft.ChatFormatting;
Expand Down Expand Up @@ -66,6 +69,11 @@ protected void write(CompoundTag data, StarTModularInterfaceHatchPartMachine cap
data.putString("linked_module_namespace", linkedModule.getNamespace());
data.putString("linked_module_path", linkedModule.getPath());
}

if (capability instanceof StarTModularConduitAutoScalingHatchPartMachine autoScalingHatch) {
data.putLong("scaled_voltage", autoScalingHatch.getScaledVoltage());
data.putLong("scaled_amperage", autoScalingHatch.getScaledAmperage());
}
}

@Override
Expand All @@ -75,6 +83,13 @@ protected void addTooltip(CompoundTag capData, ITooltip tooltip, Player player,
{
boolean isTerminal = capData.getBoolean("is_terminal");
boolean isLinked = capData.getBoolean("is_linked");

if (capData.contains("scaled_voltage") && capData.contains("scaled_amperage")) {
long scaledVoltage = capData.getLong("scaled_voltage");
long scaledAmperage = capData.getLong("scaled_amperage");

StarTModularConduitAutoScalingHatchPartMachine.addDisplayTextToList((component) -> tooltip.add(component), scaledVoltage, scaledAmperage);
}

if (isLinked) {
tooltip.add(Component.translatable("modular.start_core.has_link").withStyle(ChatFormatting.GREEN));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import com.startechnology.start_core.machine.fusion.StarTFusionMachines;
import com.startechnology.start_core.machine.hellforge.StarTHellForgeMachines;
import com.startechnology.start_core.machine.hpca.StarTHPCAParts;
import com.startechnology.start_core.machine.komaru.StarTKomaruFrameMachines;
import com.startechnology.start_core.machine.maintenance.StarTMaintenanceMachines;
import com.startechnology.start_core.machine.modular.StarTModularConnectionHatches;
import com.startechnology.start_core.machine.parallel.StarTParallelHatches;
Expand Down Expand Up @@ -44,5 +45,6 @@ public static void init() {
StarTModularConnectionHatches.init();
StarTVacuumPumpMachines.init();
StarTDrillingRigs.init();
StarTKomaruFrameMachines.init();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,12 @@ public class StarTPartAbility {
/* Enables the usage of modular node interfaces in this machine */
public static final PartAbility MODULAR_NODE_INTERFACE = new PartAbility("modular_node_interface");

/* Enables the usage of modular auto scaling terminal conduits in this machine */
public static final PartAbility MODULAR_AUTO_SCALING_TERMINAL_CONDUIT = new PartAbility("modular_auto_scaling_terminal_conduit");

/* Enables the usage of modular auto scaling node conduits in this machine */
public static final PartAbility MODULAR_AUTO_SCALING_NODE_CONDUIT = new PartAbility("modular_auto_scaling_node_conduit");

/* Enables the usage of modular terminal conduits (powered) in this machine */
public static final PartAbility MODULAR_TERMINAL_CONDUIT_2A = new PartAbility("modular_terminal_conduit_2a");
public static final PartAbility MODULAR_TERMINAL_CONDUIT_4A = new PartAbility("modular_terminal_conduit_4a");
Expand Down
Loading
Loading