Skip to content

Commit

Permalink
Jade info for transformers (#1634)
Browse files Browse the repository at this point in the history
  • Loading branch information
YoungOnionMC authored and screret committed Aug 18, 2024
1 parent 3262ddf commit 52633b9
Show file tree
Hide file tree
Showing 8 changed files with 151 additions and 14 deletions.
9 changes: 5 additions & 4 deletions src/generated/resources/assets/gtceu/lang/en_ud.json
Original file line number Diff line number Diff line change
Expand Up @@ -2298,6 +2298,7 @@
"config.jade.plugin_gtceu.recipe_logic_provider": "ɔıboꞀ ǝdıɔǝᴚ ]nƎƆ⟘⅁[",
"config.jade.plugin_gtceu.recipe_output_info": "oɟuI ʇndʇnO ǝdıɔǝᴚ ]nƎƆ⟘⅁[",
"config.jade.plugin_gtceu.stained_color": "oɟuI ʞɔoןᗺ pǝuıɐʇS ]nƎƆ⟘⅁[",
"config.jade.plugin_gtceu.transformer_provider": "oɟuI ɹǝɯɹoɟsuɐɹ⟘ ]nƎƆ⟘⅁[",
"config.jade.plugin_gtceu.workable_provider": "ǝןqɐʞɹoM ]nƎƆ⟘⅁[",
"cover.advanced_energy_detector.invert.disabled.0": "ןɐɯɹoN :ʇndʇnO",
"cover.advanced_energy_detector.invert.disabled.1": "",
Expand Down Expand Up @@ -3812,10 +3813,10 @@
"gtceu.top.progress_tick": "ʇ %s / ",
"gtceu.top.recipe_output": ":sʇndʇnO ǝdıɔǝᴚ",
"gtceu.top.stained": "%s :pǝɹoןoƆ",
"gtceu.top.transform_down": "ɹ§uʍoᗡ dǝʇSɐ§",
"gtceu.top.transform_input": "ɹ§:ʇnduI9§",
"gtceu.top.transform_output": "ɹ§:ʇndʇnO6§",
"gtceu.top.transform_up": "ɹ§d∩ dǝʇSɔ§",
"gtceu.top.transform_down": "%s ɹ§uʍoᗡ dǝʇSɐ§",
"gtceu.top.transform_input": "%s ɹ§:ʇnduI9§",
"gtceu.top.transform_output": "%s ɹ§:ʇndʇnO6§",
"gtceu.top.transform_up": "%s ɹ§d∩ dǝʇSɔ§",
"gtceu.top.unit.fluid_buckets": "Ꞁʞ",
"gtceu.top.unit.fluid_milibuckets": "",
"gtceu.top.unit.items": "sɯǝʇI",
Expand Down
9 changes: 5 additions & 4 deletions src/generated/resources/assets/gtceu/lang/en_us.json
Original file line number Diff line number Diff line change
Expand Up @@ -2298,6 +2298,7 @@
"config.jade.plugin_gtceu.recipe_logic_provider": "[GTCEu] Recipe Logic",
"config.jade.plugin_gtceu.recipe_output_info": "[GTCEu] Recipe Output Info",
"config.jade.plugin_gtceu.stained_color": "[GTCEu] Stained Block Info",
"config.jade.plugin_gtceu.transformer_provider": "[GTCEu] Transformer Info",
"config.jade.plugin_gtceu.workable_provider": "[GTCEu] Workable",
"cover.advanced_energy_detector.invert.disabled.0": "Output: Normal",
"cover.advanced_energy_detector.invert.disabled.1": "",
Expand Down Expand Up @@ -3812,10 +3813,10 @@
"gtceu.top.progress_tick": " / %s t",
"gtceu.top.recipe_output": "Recipe Outputs:",
"gtceu.top.stained": "Colored: %s",
"gtceu.top.transform_down": "§aStep Down§r",
"gtceu.top.transform_input": "§6Input:§r",
"gtceu.top.transform_output": "§9Output:§r",
"gtceu.top.transform_up": "§cStep Up§r",
"gtceu.top.transform_down": "§aStep Down§r %s",
"gtceu.top.transform_input": "§6Input:§r %s",
"gtceu.top.transform_output": "§9Output:§r %s",
"gtceu.top.transform_up": "§cStep Up§r %s",
"gtceu.top.unit.fluid_buckets": "kL",
"gtceu.top.unit.fluid_milibuckets": "L",
"gtceu.top.unit.items": "Items",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,10 @@ private static void initWailaLikeLang(RegistrateLangProvider provider) {
provider.add("gtceu.top.working_disabled", "Working Disabled");
provider.add("gtceu.top.energy_consumption", "Using");
provider.add("gtceu.top.energy_production", "Producing");
provider.add("gtceu.top.transform_up", "§cStep Up§r");
provider.add("gtceu.top.transform_down", "§aStep Down§r");
provider.add("gtceu.top.transform_input", "§6Input:§r");
provider.add("gtceu.top.transform_output", "§9Output:§r");
provider.add("gtceu.top.transform_up", "§cStep Up§r %s");
provider.add("gtceu.top.transform_down", "§aStep Down§r %s");
provider.add("gtceu.top.transform_input", "§6Input:§r %s");
provider.add("gtceu.top.transform_output", "§9Output:§r %s");
provider.add("gtceu.top.convert_eu", "Converting §eEU§r -> §cFE§r");
provider.add("gtceu.top.convert_fe", "Converting §cFE§r -> §eEU§r");
provider.add("gtceu.top.fuel_min_consume", "Needs");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1197,6 +1197,7 @@ public static void init(RegistrateLangProvider provider) {
provider.add("config.jade.plugin_gtceu.maintenance_info", "[GTCEu] Maintenance Info");
provider.add("config.jade.plugin_gtceu.multiblock_structure", "[GTCEu] MultiBlock Structure");
provider.add("config.jade.plugin_gtceu.parallel_info", "[GTCEu] Parallel Info");
provider.add("config.jade.plugin_gtceu.transformer_provider", "[GTCEu] Transformer Info");
provider.add("config.jade.plugin_gtceu.stained_color", "[GTCEu] Stained Block Info");
// gui
provider.add("gtceu.recipe_type.show_recipes", "Show Recipes");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ public void register(IWailaCommonRegistration registration) {
registration.registerBlockDataProvider(new MachineModeProvider(), BlockEntity.class);
registration.registerBlockDataProvider(new StainedColorProvider(), BlockEntity.class);
registration.registerBlockDataProvider(new HazardCleanerBlockProvider(), BlockEntity.class);
registration.registerBlockDataProvider(new TransformerBlockProvider(), BlockEntity.class);

registration.registerFluidStorage(FluidPipeStorageProvider.INSTANCE, FluidPipeBlockEntity.class);
}
Expand All @@ -59,6 +60,7 @@ public void registerClient(IWailaClientRegistration registration) {
registration.registerBlockComponent(new MachineModeProvider(), Block.class);
registration.registerBlockComponent(new StainedColorProvider(), Block.class);
registration.registerBlockComponent(new HazardCleanerBlockProvider(), Block.class);
registration.registerBlockComponent(new TransformerBlockProvider(), Block.class);

registration.registerFluidStorageClient(FluidPipeStorageProvider.INSTANCE);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
package com.gregtechceu.gtceu.integration.jade.provider;

import com.gregtechceu.gtceu.GTCEu;
import com.gregtechceu.gtceu.api.GTValues;
import com.gregtechceu.gtceu.api.machine.MetaMachine;
import com.gregtechceu.gtceu.common.machine.electric.TransformerMachine;

import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.chat.Component;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.entity.BlockEntity;

import org.jetbrains.annotations.Nullable;
import snownee.jade.api.BlockAccessor;
import snownee.jade.api.ITooltip;
import snownee.jade.api.config.IPluginConfig;

public class TransformerBlockProvider extends CapabilityBlockProvider<TransformerMachine> {

public TransformerBlockProvider() {
super(GTCEu.id("transformer_provider"));
}

@Override
protected @Nullable TransformerMachine getCapability(Level level, BlockPos pos, @Nullable Direction side) {
if (MetaMachine.getMachine(level, pos) instanceof TransformerMachine transformer) {
return transformer;
}
return null;
}

@Override
protected void write(CompoundTag data, TransformerMachine machine) {
data.putInt("side", machine.getFrontFacing().get3DDataValue());
data.putBoolean("transformUp", machine.isTransformUp());
data.putInt("baseAmp", machine.getBaseAmp());
data.putInt("baseVoltage", machine.getTier());
}

@Override
protected void addTooltip(CompoundTag capData, ITooltip tooltip, Player player, BlockAccessor block,
BlockEntity blockEntity, IPluginConfig config) {
boolean transformUp = capData.getBoolean("transformUp");
int voltage = capData.getInt("baseVoltage");
int amp = capData.getInt("baseAmp");
if (transformUp) {
tooltip.add(Component.translatable("gtceu.top.transform_up",
(GTValues.VNF[voltage] + " §r(" + amp * 4 + "A) -> " + GTValues.VNF[voltage + 1] + " §r(" + amp +
"A)")));
} else {
tooltip.add(Component.translatable("gtceu.top.transform_down",
(GTValues.VNF[voltage + 1] + " §r(" + amp + "A) -> " + GTValues.VNF[voltage] + " §r(" + amp * 4 +
"A)")));
}

if (block.getHitResult().getDirection() == Direction.from3DDataValue(capData.getInt("side"))) {
tooltip.add(
Component.translatable((transformUp ? "gtceu.top.transform_output" : "gtceu.top.transform_input"),
(GTValues.VNF[voltage + 1] + " §r(" + amp + "A)")));
} else {
tooltip.add(
Component.translatable((transformUp ? "gtceu.top.transform_input" : "gtceu.top.transform_output"),
(GTValues.VNF[voltage] + " §r(" + amp * 4 + "A)")));
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,8 @@ public static void init(ITheOneProbe oneProbe) {
oneProbe.registerProvider(new WorkableInfoProvider());
oneProbe.registerProvider(new ControllableInfoProvider());
// oneProbe.registerProvider(new DebugPipeNetInfoProvider());
// oneProbe.registerProvider(new TransformerInfoProvider());
// oneProbe.registerProvider(new DiodeInfoProvider());
// oneProbe.registerProvider(new MultiblockInfoProvider());
// oneProbe.registerProvider(new MaintenanceInfoProvider());
// oneProbe.registerProvider(new MultiRecipeMapInfoProvider());
// oneProbe.registerProvider(new ConverterInfoProvider());
oneProbe.registerProvider(new RecipeLogicInfoProvider());
Expand All @@ -31,5 +29,6 @@ public static void init(ITheOneProbe oneProbe) {
// oneProbe.registerProvider(new PrimitivePumpInfoProvider());
oneProbe.registerProvider(new CoverProvider());
oneProbe.registerProvider(new HazardCleanerInfoProvider());
oneProbe.registerProvider(new TransformerInfoProvider());
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
package com.gregtechceu.gtceu.integration.top.provider;

import com.gregtechceu.gtceu.GTCEu;
import com.gregtechceu.gtceu.api.GTValues;
import com.gregtechceu.gtceu.api.machine.MetaMachine;
import com.gregtechceu.gtceu.common.machine.electric.TransformerMachine;

import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.entity.BlockEntity;

import mcjty.theoneprobe.api.IProbeHitData;
import mcjty.theoneprobe.api.IProbeInfo;
import org.jetbrains.annotations.Nullable;

public class TransformerInfoProvider extends CapabilityInfoProvider<TransformerMachine> {

@Override
protected @Nullable TransformerMachine getCapability(Level level, BlockPos pos, @Nullable Direction side) {
if (MetaMachine.getMachine(level, pos) instanceof TransformerMachine transformer) {
return transformer;
}
return null;
}

@Override
protected void addProbeInfo(TransformerMachine capability, IProbeInfo probeInfo, Player player,
BlockEntity blockEntity, IProbeHitData data) {
boolean transformUp = capability.isTransformUp();
int voltage = capability.getTier();
int amp = capability.getBaseAmp();
int side = capability.getFrontFacing().get3DDataValue();

IProbeInfo verticalPane = probeInfo.vertical(probeInfo.defaultLayoutStyle().spacing(0));
if (transformUp) {
verticalPane.text(Component.translatable("gtceu.top.transform_up",
(GTValues.VNF[voltage] + " §r(" + amp * 4 + "A) -> " + GTValues.VNF[voltage + 1] + " §r(" + amp +
"A)")));
} else {
verticalPane.text(Component.translatable("gtceu.top.transform_down",
(GTValues.VNF[voltage + 1] + " §r(" + amp + "A) -> " + GTValues.VNF[voltage] + " §r(" + amp * 4 +
"A)")));
}

if (data.getSideHit() == Direction.from3DDataValue(side)) {
verticalPane.text(
Component.translatable((transformUp ? "gtceu.top.transform_output" : "gtceu.top.transform_input"),
(GTValues.VNF[voltage + 1] + " §r(" + amp + "A)")));
} else {
verticalPane.text(
Component.translatable((transformUp ? "gtceu.top.transform_input" : "gtceu.top.transform_output"),
(GTValues.VNF[voltage] + " §r(" + amp * 4 + "A)")));
}
}

@Override
public ResourceLocation getID() {
return GTCEu.id("transformer_provider");
}
}

0 comments on commit 52633b9

Please sign in to comment.