|
24 | 24 | import java.util.Objects;
|
25 | 25 |
|
26 | 26 | import net.minecraft.entity.player.EntityPlayer;
|
| 27 | +import net.minecraft.entity.player.EntityPlayerMP; |
27 | 28 | import net.minecraft.init.Blocks;
|
28 | 29 | import net.minecraft.inventory.InventoryCrafting;
|
29 | 30 | import net.minecraft.item.Item;
|
30 | 31 | import net.minecraft.item.ItemStack;
|
31 | 32 | import net.minecraft.nbt.NBTTagCompound;
|
32 | 33 | import net.minecraft.nbt.NBTTagList;
|
| 34 | +import net.minecraft.tileentity.TileEntity; |
33 | 35 | import net.minecraft.util.StatCollector;
|
34 | 36 | import net.minecraft.world.World;
|
35 | 37 | import net.minecraftforge.common.util.ForgeDirection;
|
|
86 | 88 | import gregtech.api.util.GTUtility;
|
87 | 89 | import gregtech.api.util.HatchElementBuilder;
|
88 | 90 | import gregtech.api.util.MultiblockTooltipBuilder;
|
| 91 | +import mcp.mobius.waila.api.IWailaConfigHandler; |
| 92 | +import mcp.mobius.waila.api.IWailaDataAccessor; |
89 | 93 | import tectech.thing.block.BlockQuantumGlass;
|
90 | 94 | import tectech.thing.casing.TTCasingsContainer;
|
91 | 95 |
|
@@ -431,6 +435,79 @@ public void recalculatePatterns() {
|
431 | 435 | }
|
432 | 436 | }
|
433 | 437 |
|
| 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 | + |
434 | 511 | @Override
|
435 | 512 | public void saveNBTData(NBTTagCompound aNBT) {
|
436 | 513 | super.saveNBTData(aNBT);
|
@@ -891,6 +968,7 @@ protected MultiblockTooltipBuilder createTooltip() {
|
891 | 968 | // #zh_CN 使用螺丝刀右键主机将内部样板转移至输出总线.
|
892 | 969 | .addInfo(TextEnums.tr("tst.megacraftingcenter.desc.onScrewDriverRightClick"))
|
893 | 970 | .addInfo(Text_SeparatingLine)
|
| 971 | + .addInfo(TextEnums.MoreInfoCheckingInScanner.getText()) |
894 | 972 | .toolTipFinisher(ModName);
|
895 | 973 | // spotless:on
|
896 | 974 | return tt;
|
|
0 commit comments