Skip to content

Commit bb19610

Browse files
authored
Merge pull request #849 from Nxer/infoDisplay
add info display function for Mega Crafting Center
2 parents 8b348c8 + f99c386 commit bb19610

File tree

3 files changed

+84
-0
lines changed

3 files changed

+84
-0
lines changed

src/main/java/com/Nxer/TwistSpaceTechnology/common/machine/TST_MegaCraftingCenter.java

+78
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,14 @@
2424
import java.util.Objects;
2525

2626
import net.minecraft.entity.player.EntityPlayer;
27+
import net.minecraft.entity.player.EntityPlayerMP;
2728
import net.minecraft.init.Blocks;
2829
import net.minecraft.inventory.InventoryCrafting;
2930
import net.minecraft.item.Item;
3031
import net.minecraft.item.ItemStack;
3132
import net.minecraft.nbt.NBTTagCompound;
3233
import net.minecraft.nbt.NBTTagList;
34+
import net.minecraft.tileentity.TileEntity;
3335
import net.minecraft.util.StatCollector;
3436
import net.minecraft.world.World;
3537
import net.minecraftforge.common.util.ForgeDirection;
@@ -86,6 +88,8 @@
8688
import gregtech.api.util.GTUtility;
8789
import gregtech.api.util.HatchElementBuilder;
8890
import gregtech.api.util.MultiblockTooltipBuilder;
91+
import mcp.mobius.waila.api.IWailaConfigHandler;
92+
import mcp.mobius.waila.api.IWailaDataAccessor;
8993
import tectech.thing.block.BlockQuantumGlass;
9094
import tectech.thing.casing.TTCasingsContainer;
9195

@@ -431,6 +435,79 @@ public void recalculatePatterns() {
431435
}
432436
}
433437

438+
@Override
439+
public void getWailaNBTData(EntityPlayerMP player, TileEntity tile, NBTTagCompound tag, World world, int x, int y,
440+
int z) {
441+
super.getWailaNBTData(player, tile, tag, world, x, y, z);
442+
443+
tag.setInteger("magnification", magnification);
444+
tag.setInteger("patternAmount", patternDetails.size());
445+
}
446+
447+
@Override
448+
public void getWailaBody(ItemStack itemStack, List<String> currentTip, IWailaDataAccessor accessor,
449+
IWailaConfigHandler config) {
450+
super.getWailaBody(itemStack, currentTip, accessor, config);
451+
final NBTTagCompound tag = accessor.getNBTData();
452+
// #tr MegaCraftingCenter.waila.ForceRunningMagnification
453+
// # Force running magnification
454+
// #zh_CN 强制运行倍率
455+
currentTip.add(
456+
TextEnums.tr("MegaCraftingCenter.waila.ForceRunningMagnification") + " : "
457+
+ tag.getInteger("magnification"));
458+
459+
// #tr MegaCraftingCenter.waila.PatternAmount
460+
// # Internal Pattern Amount
461+
// #zh_CN 已载入样板数量
462+
currentTip
463+
.add(TextEnums.tr("MegaCraftingCenter.waila.PatternAmount") + " : " + tag.getInteger("patternAmount"));
464+
}
465+
466+
@Override
467+
public String[] getInfoData() {
468+
if (patternDetails.isEmpty()) {
469+
return super.getInfoData();
470+
}
471+
472+
ArrayList<String> items = new ArrayList<>();
473+
for (ICraftingPatternDetails d : patternDetails) {
474+
items.add(
475+
d.getOutputs()[0].getItemStack()
476+
.getDisplayName());
477+
}
478+
479+
// every 4 item in a row
480+
int rows = (int) Math.ceil((double) items.size() / 4);
481+
482+
String[] origin = super.getInfoData();
483+
String[] ret = new String[origin.length + rows + 1];
484+
System.arraycopy(origin, 0, ret, 0, origin.length);
485+
486+
// #tr MegaCraftingCenter.info.InternalPatterns
487+
// # Internal patterns
488+
// #zh_CN 已载入样板
489+
ret[origin.length] = TextEnums.tr("MegaCraftingCenter.info.InternalPatterns");
490+
StringBuilder t = new StringBuilder();
491+
int signal = 0;
492+
int row = origin.length + 1;
493+
for (String s : items) {
494+
t.append(s)
495+
.append("; ");
496+
signal++;
497+
if (signal == 4) {
498+
signal = 0;
499+
ret[row] = t.toString();
500+
t = new StringBuilder();
501+
row++;
502+
}
503+
}
504+
if (signal != 0) {
505+
ret[row] = t.toString();
506+
}
507+
508+
return ret;
509+
}
510+
434511
@Override
435512
public void saveNBTData(NBTTagCompound aNBT) {
436513
super.saveNBTData(aNBT);
@@ -891,6 +968,7 @@ protected MultiblockTooltipBuilder createTooltip() {
891968
// #zh_CN 使用螺丝刀右键主机将内部样板转移至输出总线.
892969
.addInfo(TextEnums.tr("tst.megacraftingcenter.desc.onScrewDriverRightClick"))
893970
.addInfo(Text_SeparatingLine)
971+
.addInfo(TextEnums.MoreInfoCheckingInScanner.getText())
894972
.toolTipFinisher(ModName);
895973
// spotless:on
896974
return tt;

src/main/resources/assets/gtnhcommunitymod/lang/en_US.lang

+3
Original file line numberDiff line numberDiff line change
@@ -1983,3 +1983,6 @@ textColon=:
19831983
textSpace=
19841984
MoreInfoCheckingInScanner=§fUse scanner check controller block to get more information.
19851985
Tooltip_SwelegfyrBlastFurnace.tooltips.structureWarn=Attention: Pyrotheum input hatch location will be changed when upgrade machine.
1986+
MegaCraftingCenter.waila.ForceRunningMagnification=Force running magnification
1987+
MegaCraftingCenter.waila.PatternAmount=Internal Pattern Amount
1988+
MegaCraftingCenter.info.InternalPatterns=Internal patterns

src/main/resources/assets/gtnhcommunitymod/lang/zh_CN.lang

+3
Original file line numberDiff line numberDiff line change
@@ -1983,3 +1983,6 @@ textColon=:
19831983
textSpace=
19841984
MoreInfoCheckingInScanner=§f使用三录仪查看主机获取更多信息.
19851985
Tooltip_SwelegfyrBlastFurnace.tooltips.structureWarn=注意:升级结构后炽焱输入仓位置会发生变化.
1986+
MegaCraftingCenter.waila.ForceRunningMagnification=强制运行倍率
1987+
MegaCraftingCenter.waila.PatternAmount=已载入样板数量
1988+
MegaCraftingCenter.info.InternalPatterns=已载入样板

0 commit comments

Comments
 (0)