Skip to content

Commit

Permalink
move ClientTerminalHandler back into CraftingTerminalHandler, there i…
Browse files Browse the repository at this point in the history
…s no need for this to be its own class
  • Loading branch information
Mari023 committed Sep 30, 2024
1 parent e2f74b1 commit 605d93e
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 64 deletions.
4 changes: 2 additions & 2 deletions src/main/java/de/mari_023/ae2wtlib/AE2wtlibForge.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
import de.mari_023.ae2wtlib.api.AE2wtlibAPI;
import de.mari_023.ae2wtlib.api.terminal.ItemWT;
import de.mari_023.ae2wtlib.networking.*;
import de.mari_023.ae2wtlib.wct.ClientTerminalHandler;
import de.mari_023.ae2wtlib.wct.CraftingTerminalHandler;

@Mod(AE2wtlibAPI.MOD_NAME)
@EventBusSubscriber
Expand Down Expand Up @@ -150,6 +150,6 @@ public static void handle(ArrowLooseEvent event) {
public static void handle(ClientTickEvent.Post event) {
if (Minecraft.getInstance().player == null)
return;
ClientTerminalHandler.get(Minecraft.getInstance().player).checkTerminal();
CraftingTerminalHandler.getCraftingTerminalHandler(Minecraft.getInstance().player).checkTerminal();
}
}
5 changes: 3 additions & 2 deletions src/main/java/de/mari_023/ae2wtlib/mixin/RestockRender.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

import appeng.util.ReadableNumberConverter;

import de.mari_023.ae2wtlib.wct.ClientTerminalHandler;
import de.mari_023.ae2wtlib.wct.CraftingTerminalHandler;

@Mixin(value = GuiGraphics.class, remap = false)
public abstract class RestockRender {
Expand All @@ -26,7 +26,8 @@ public abstract class RestockRender {
public void renderGuiItemOverlay(Font font, ItemStack stack, int x, int y, CallbackInfo ci) {
if (Minecraft.getInstance().player == null || Minecraft.getInstance().player.isCreative())
return;
ClientTerminalHandler handler = ClientTerminalHandler.get(Minecraft.getInstance().player);
CraftingTerminalHandler handler = CraftingTerminalHandler
.getCraftingTerminalHandler(Minecraft.getInstance().player);
if (!handler.isRestockEnabled() || stack.getCount() == 1 || !handler.isRestockAble(stack))
return;
renderItemDecorations(font, stack, x, y, ReadableNumberConverter.format(handler.getAccessibleAmount(stack), 3));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

import com.google.common.collect.Maps;

import net.minecraft.client.player.LocalPlayer;
import net.minecraft.core.Holder;
import net.minecraft.core.registries.Registries;
import net.minecraft.network.RegistryFriendlyByteBuf;
Expand All @@ -15,7 +14,7 @@
import net.minecraft.world.item.Item;

import de.mari_023.ae2wtlib.api.AE2wtlibAPI;
import de.mari_023.ae2wtlib.wct.ClientTerminalHandler;
import de.mari_023.ae2wtlib.wct.CraftingTerminalHandler;

public record RestockAmountPacket(HashMap<Holder<Item>, Long> items) implements AE2wtlibPacket {
public static final Type<RestockAmountPacket> ID = new Type<>(AE2wtlibAPI.id("restock_amounts"));
Expand All @@ -28,9 +27,7 @@ public record RestockAmountPacket(HashMap<Holder<Item>, Long> items) implements
public void processPacketData(Player player) {
HashMap<Item, Long> map = Maps.newHashMapWithExpectedSize(items().size());
items().forEach((item, count) -> map.put(item.value(), count));
if (!(player instanceof LocalPlayer localPlayer))
return;
ClientTerminalHandler.get(localPlayer).setRestockAbleItems(map);
CraftingTerminalHandler.getCraftingTerminalHandler(player).setRestockAbleItems(map);
}

@Override
Expand Down
55 changes: 0 additions & 55 deletions src/main/java/de/mari_023/ae2wtlib/wct/ClientTerminalHandler.java

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,16 +1,20 @@
package de.mari_023.ae2wtlib.wct;

import java.util.HashMap;

import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Nullable;

import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;

import appeng.api.networking.IGrid;
import appeng.api.networking.IGridNode;
import appeng.menu.locator.ItemMenuHostLocator;

import de.mari_023.ae2wtlib.AE2wtlibAdditionalComponents;
import de.mari_023.ae2wtlib.api.AE2wtlibComponents;
import de.mari_023.ae2wtlib.api.terminal.WTMenuHost;
import de.mari_023.ae2wtlib.api.terminal.WUTHandler;
import de.mari_023.ae2wtlib.wct.magnet_card.MagnetHost;
Expand All @@ -24,6 +28,8 @@ public class CraftingTerminalHandler {
private ItemMenuHostLocator locator;
@Nullable
private MagnetHost magnetHost;
private HashMap<Item, Long> restockAbleItems = new HashMap<>();
private boolean restockEnabled = false;

@ApiStatus.Internal
public CraftingTerminalHandler(Player player) {
Expand All @@ -38,6 +44,8 @@ protected void invalidateCache() {
menuHost = null;
locator = null;
magnetHost = null;
restockAbleItems.clear();
restockEnabled = false;
}

public ItemStack getCraftingTerminal() {
Expand Down Expand Up @@ -116,4 +124,25 @@ public MagnetHost getMagnetHost() {
}
return magnetHost;
}

public long getAccessibleAmount(ItemStack stack) {
return stack.getCount()
+ (restockAbleItems.get(stack.getItem()) == null ? 0 : restockAbleItems.get(stack.getItem()));
}

public boolean isRestockAble(ItemStack stack) {
return restockAbleItems.containsKey(stack.getItem());
}

public void setRestockAbleItems(HashMap<Item, Long> items) {
restockAbleItems = items;
}

public boolean isRestockEnabled() {
return restockEnabled;
}

public void checkTerminal() {
restockEnabled = getCraftingTerminal().getOrDefault(AE2wtlibComponents.RESTOCK, false);
}
}

0 comments on commit 605d93e

Please sign in to comment.