Skip to content

Commit

Permalink
Merge remote-tracking branch 'MCTBL/throughput_monitor' into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
Dream-Master committed Feb 13, 2025
2 parents 47dc63c + 4e7f4fa commit 6e7d317
Show file tree
Hide file tree
Showing 22 changed files with 307 additions and 21 deletions.
2 changes: 2 additions & 0 deletions src/main/java/appeng/api/definitions/IParts.java
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,8 @@ default IItemDefinition p2PTunnelSound() {

IItemDefinition storageMonitor();

IItemDefinition throughputMonitor();

IItemDefinition conversionMonitor();

IItemDefinition patternTerminalEx();
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/appeng/api/definitions/Parts.java
Original file line number Diff line number Diff line change
Expand Up @@ -98,5 +98,7 @@ public class Parts {

public AEItemDefinition partStorageMonitor;

public AEItemDefinition partThroughputMonitor;

public AEItemDefinition partConversionMonitor;
}
5 changes: 5 additions & 0 deletions src/main/java/appeng/client/texture/CableBusTextures.java
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,11 @@ public enum CableBusTextures {
PartConversionMonitor_Dark("PartConversionMonitor_Dark"),
PartConversionMonitor_Dark_Locked("PartConversionMonitor_Dark_Locked"),

PartThroughputMonitor_Bright("PartThroughputMonitor_Bright"),
PartThroughputMonitor_Colored("PartThroughputMonitor_Colored"),
PartThroughputMonitor_Dark("PartThroughputMonitor_Dark"),
PartThroughputMonitor_Dark_Locked("PartThroughputMonitor_Dark_Locked"),

PartInterfaceTerm_Bright("PartInterfaceTerm_Bright"),
PartInterfaceTerm_Colored("PartInterfaceTerm_Colored"),
PartInterfaceTerm_Dark("PartInterfaceTerm_Dark"),
Expand Down
17 changes: 11 additions & 6 deletions src/main/java/appeng/container/AEBaseContainer.java
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@
import appeng.client.me.SlotME;
import appeng.container.guisync.GuiSync;
import appeng.container.guisync.SyncData;
import appeng.container.implementations.ContainerCellWorkbench;
import appeng.container.implementations.ContainerUpgradeable;
import appeng.container.slot.AppEngSlot;
import appeng.container.slot.SlotCraftingMatrix;
Expand All @@ -72,7 +73,7 @@
import appeng.helpers.ICustomNameObject;
import appeng.helpers.InventoryAction;
import appeng.items.materials.ItemMultiMaterial;
import appeng.parts.automation.StackUpgradeInventory;
import appeng.parts.automation.UpgradeInventory;
import appeng.util.InventoryAdaptor;
import appeng.util.Platform;
import appeng.util.inv.AdaptorPlayerHand;
Expand Down Expand Up @@ -525,11 +526,15 @@ public ItemStack transferStackInSlot(final EntityPlayer p, final int idx) {
}

// For shift click upgrade card logic
if (ItemMultiMaterial.instance.getType(tis) != null && this instanceof ContainerUpgradeable) {
// Check source or target
if (!((d.inventory instanceof StackUpgradeInventory)
|| (clickSlot.inventory instanceof StackUpgradeInventory))) {
continue;
if (ItemMultiMaterial.instance.getType(tis) != null) {
// Check now container is upgradeable or it's subclass
if (ContainerUpgradeable.class.isAssignableFrom(this.getClass())) {
// Check source or target
if (!((d.inventory instanceof UpgradeInventory)
|| (clickSlot.inventory instanceof UpgradeInventory)
|| (d.inventory instanceof ContainerCellWorkbench.Upgrades))) {
continue;
}
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,7 @@ private void setCopyMode(final CopyMode copyMode) {
this.copyMode = copyMode;
}

private class Upgrades implements IInventory {
public class Upgrades implements IInventory {

@Override
public int getSizeInventory() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,10 @@

import appeng.api.networking.crafting.ICraftingCPU;
import appeng.api.storage.data.IAEItemStack;
import appeng.util.IWideReadableNumberConverter;
import appeng.util.ItemSorters;
import appeng.util.Platform;
import appeng.util.ReadableNumberConverter;
import appeng.util.item.AEItemStack;
import io.netty.buffer.ByteBuf;

Expand All @@ -24,6 +26,8 @@
*/
public class CraftingCPUStatus implements Comparable<CraftingCPUStatus> {

private static final IWideReadableNumberConverter NUMBER_CONVERTER = ReadableNumberConverter.INSTANCE;

@Nullable
private final ICraftingCPU serverCluster;

Expand Down Expand Up @@ -183,7 +187,8 @@ public String formatCoprocessors() {
}

public String formatShorterCoprocessors() {
return Platform.formatNumberLong(getCoprocessors());
return NUMBER_CONVERTER.toWideReadableForm(getCoprocessors());
// return Platform.formatNumberLong(getCoprocessors());
}

public String formatStorage() {
Expand Down
1 change: 1 addition & 0 deletions src/main/java/appeng/core/Registration.java
Original file line number Diff line number Diff line change
Expand Up @@ -361,6 +361,7 @@ private void assignParts(final Parts target, final IParts source) {
target.partCraftingTerminal = this.converter.of(source.craftingTerminal());
target.partTerminal = this.converter.of(source.terminal());
target.partStorageMonitor = this.converter.of(source.storageMonitor());
target.partThroughputMonitor = this.converter.of(source.throughputMonitor());
target.partConversionMonitor = this.converter.of(source.conversionMonitor());
}

Expand Down
7 changes: 7 additions & 0 deletions src/main/java/appeng/core/api/definitions/ApiParts.java
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ public final class ApiParts implements IParts {
private final IItemDefinition terminal;
private final IItemDefinition storageMonitor;
private final IItemDefinition conversionMonitor;
private final IItemDefinition throughputMonitor;

public ApiParts(final DefinitionConstructor constructor, final IPartHelper partHelper) {
final ItemMultiPart itemMultiPart = new ItemMultiPart(partHelper);
Expand Down Expand Up @@ -119,6 +120,7 @@ public ApiParts(final DefinitionConstructor constructor, final IPartHelper partH
this.terminal = new DamagedItemDefinition(itemMultiPart.createPart(PartType.Terminal));
this.storageMonitor = new DamagedItemDefinition(itemMultiPart.createPart(PartType.StorageMonitor));
this.conversionMonitor = new DamagedItemDefinition(itemMultiPart.createPart(PartType.ConversionMonitor));
this.throughputMonitor = new DamagedItemDefinition(itemMultiPart.createPart(PartType.ThroughputMonitor));
}

@Override
Expand Down Expand Up @@ -344,4 +346,9 @@ public IItemDefinition storageMonitor() {
public IItemDefinition conversionMonitor() {
return this.conversionMonitor;
}

@Override
public IItemDefinition throughputMonitor() {
return this.throughputMonitor;
}
}
1 change: 1 addition & 0 deletions src/main/java/appeng/core/features/AEFeature.java
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ public boolean isVisible() {
ExportBus(Constants.CATEGORY_NETWORK_BUSES),
StorageBus(Constants.CATEGORY_NETWORK_BUSES),
PartConversionMonitor(Constants.CATEGORY_NETWORK_BUSES),
PartThroughputMonitor(Constants.CATEGORY_NETWORK_BUSES),

PortableCell(Constants.CATEGORY_PORTABLE_CELL),

Expand Down
4 changes: 3 additions & 1 deletion src/main/java/appeng/core/settings/TickRates.java
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,9 @@ public enum TickRates {

OpenComputersTunnel(1, 5),

PressureTunnel(1, 120);
PressureTunnel(1, 120),

ThroughputMonitor(20, 100);

private int min;
private int max;
Expand Down
4 changes: 4 additions & 0 deletions src/main/java/appeng/items/parts/PartType.java
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@
import appeng.parts.reporting.PartSemiDarkPanel;
import appeng.parts.reporting.PartStorageMonitor;
import appeng.parts.reporting.PartTerminal;
import appeng.parts.reporting.PartThroughputMonitor;

public enum PartType {

Expand Down Expand Up @@ -149,6 +150,9 @@ public boolean isCable() {
StorageMonitor(400, EnumSet.of(AEFeature.StorageMonitor), EnumSet.noneOf(IntegrationType.class),
PartStorageMonitor.class),

ThroughputMonitor(410, EnumSet.of(AEFeature.PartThroughputMonitor), EnumSet.noneOf(IntegrationType.class),
PartThroughputMonitor.class),

ConversionMonitor(420, EnumSet.of(AEFeature.PartConversionMonitor), EnumSet.noneOf(IntegrationType.class),
PartConversionMonitor.class),

Expand Down
8 changes: 6 additions & 2 deletions src/main/java/appeng/parts/reporting/AbstractPartMonitor.java
Original file line number Diff line number Diff line change
Expand Up @@ -316,6 +316,12 @@ private void tesrRenderScreen(final Tessellator tess, final IAEItemStack ais) {
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
}

this.tesrRenderItemNumber(ais);

// GL11.glPopAttrib();
}

public void tesrRenderItemNumber(final IAEItemStack ais) {
GL11.glTranslatef(0.0f, 0.14f, -0.24f);
GL11.glScalef(1.0f / 62.0f, 1.0f / 62.0f, 1.0f / 62.0f);

Expand All @@ -326,8 +332,6 @@ private void tesrRenderScreen(final Tessellator tess, final IAEItemStack ais) {
final int width = fr.getStringWidth(renderedStackSize);
GL11.glTranslatef(-0.5f * width, 0.0f, -1.0f);
fr.drawString(renderedStackSize, 0, 0, 0);

// GL11.glPopAttrib();
}

@Override
Expand Down
Loading

0 comments on commit 6e7d317

Please sign in to comment.