Skip to content

Commit 1bc0994

Browse files
committed
Troubleshooting
1 parent 090107f commit 1bc0994

File tree

2 files changed

+127
-35
lines changed

2 files changed

+127
-35
lines changed
Lines changed: 117 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,28 @@
11
package com.coflnet;
22

33
import CoflCore.CoflCore;
4+
import CoflCore.classes.AuctionItem;
45
import CoflCore.classes.ChatMessage;
56
import CoflCore.CoflSkyCommand;
6-
import CoflCore.events.OnChatMessageReceive;
7-
import CoflCore.events.OnModChatMessage;
8-
import CoflCore.events.OnWriteToChatReceive;
7+
import CoflCore.classes.Flip;
8+
import CoflCore.classes.Sound;
9+
import CoflCore.commands.CommandType;
10+
import CoflCore.commands.JsonStringCommand;
11+
import CoflCore.commands.models.ChatMessageData;
12+
import CoflCore.commands.models.FlipData;
13+
import CoflCore.commands.models.SoundData;
14+
import CoflCore.events.*;
15+
import CoflCore.handlers.EventRegistry;
16+
import CoflCore.network.WSClient;
917
import com.coflnet.gui.RenderUtils;
1018
import com.coflnet.gui.cofl.CoflBinGUI;
1119
import com.coflnet.gui.tfm.TfmBinGUI;
20+
import com.google.gson.Gson;
21+
import com.google.gson.GsonBuilder;
22+
import com.google.gson.JsonObject;
23+
import com.google.gson.JsonParser;
24+
import com.google.gson.reflect.TypeToken;
25+
import com.mojang.authlib.minecraft.client.ObjectMapper;
1226
import com.mojang.brigadier.arguments.StringArgumentType;
1327
import net.fabricmc.api.ClientModInitializer;
1428
import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager;
@@ -18,24 +32,50 @@
1832
import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
1933
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents;
2034
import net.fabricmc.fabric.api.client.screen.v1.ScreenEvents;
35+
import net.fabricmc.fabric.api.message.v1.ServerMessageEvents;
2136
import net.fabricmc.loader.api.FabricLoader;
2237
import net.minecraft.client.MinecraftClient;
38+
import net.minecraft.client.gui.screen.ingame.BookScreen;
2339
import net.minecraft.client.gui.screen.ingame.GenericContainerScreen;
2440
import net.minecraft.client.option.KeyBinding;
2541
import net.minecraft.client.util.InputUtil;
2642
import net.minecraft.item.Items;
43+
import net.minecraft.text.ClickEvent;
2744
import net.minecraft.text.Text;
45+
import org.apache.logging.log4j.core.jackson.Log4jJsonObjectMapper;
46+
import org.greenrobot.eventbus.EventBus;
2847
import org.greenrobot.eventbus.Subscribe;
2948
import org.lwjgl.glfw.GLFW;
49+
50+
import java.awt.event.KeyEvent;
3051
import java.nio.file.Path;
52+
import java.time.LocalDateTime;
53+
import java.util.ArrayList;
54+
import java.util.concurrent.ExecutorService;
55+
import java.util.concurrent.Executors;
56+
import java.util.concurrent.LinkedBlockingQueue;
57+
import java.util.regex.Pattern;
3158

3259
import static com.coflnet.Utils.ChatComponent;
3360

3461
public class CoflModClient implements ClientModInitializer {
3562
private KeyBinding bestflipsKeyBinding;
63+
64+
public static long LastClick = System.currentTimeMillis();
65+
public static final ExecutorService chatThreadPool = Executors.newFixedThreadPool(2);
66+
public static final ExecutorService tickThreadPool = Executors.newFixedThreadPool(2);
67+
public static long LastViewAuctionInvocation = Long.MIN_VALUE;
68+
public static String LastViewAuctionUUID = null;
69+
public static Pattern chatpattern = Pattern.compile("a^", 2);
70+
private static LinkedBlockingQueue<String> chatBatch = new LinkedBlockingQueue();
71+
private static LocalDateTime lastBatchStart = LocalDateTime.now();
72+
73+
private String username = "";
74+
private static String flipId = "";
75+
private static Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
3676
@Override
3777
public void onInitializeClient() {
38-
String username = MinecraftClient.getInstance().getSession().getUsername();
78+
username = MinecraftClient.getInstance().getSession().getUsername();
3979
Path configDir = FabricLoader.getInstance().getConfigDir();
4080
CoflCore cofl = new CoflCore();
4181
cofl.init(configDir);
@@ -53,22 +93,26 @@ public void onInitializeClient() {
5393
));
5494

5595
ClientTickEvents.END_CLIENT_TICK.register(client -> {
56-
while (bestflipsKeyBinding.wasPressed()) {
57-
//client.player.sendMessage(Text.literal(), false);
58-
CoflCore.flipHandler.fds.CurrentFlips();
96+
if(bestflipsKeyBinding.wasPressed()) {
97+
System.out.println("Anz Flips: "+CoflCore.flipHandler.fds.CurrentFlips());
98+
onOpenBestFlip(username, true);
5999
}
60100
});
61101

62102
ClientPlayConnectionEvents.JOIN.register((handler, sender, server) -> {
63103
if(MinecraftClient.getInstance() != null && MinecraftClient.getInstance().getCurrentServerEntry() != null && MinecraftClient.getInstance().getCurrentServerEntry().address.contains("hypixel.net")){
64104
System.out.println("Connected to Hypixel");
105+
username = MinecraftClient.getInstance().getSession().getUsername();
65106
}
66107
});
67108

68109
ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> {
69110
dispatcher.register(ClientCommandManager.literal("cofl")
70111
.then(ClientCommandManager.argument("args", StringArgumentType.greedyString()).executes(context -> {
71112
String[] args = context.getArgument("args", String.class).split(" ");
113+
if (args[0].compareToIgnoreCase("openauctiongui") == 0){
114+
flipId = args[1];
115+
} else flipId = "";
72116
CoflSkyCommand.processCommand(args,username);
73117
return 1;
74118
})));
@@ -77,28 +121,42 @@ public void onInitializeClient() {
77121
ScreenEvents.AFTER_INIT.register((client, screen, scaledWidth, scaledHeight) -> {
78122
if (screen instanceof GenericContainerScreen gcs) {
79123
System.out.println(gcs.getTitle().getString());
80-
ScreenEvents.beforeRender(screen).register((screen1, drawContext, a, b, c) -> {
81-
GenericContainerScreen gcs1 = (GenericContainerScreen) screen1;
82-
if (CoflCore.config.purchaseOverlay != null && gcs.getTitle() != null
83-
&& (gcs.getTitle().getString().contains("BIN Auction View")
84-
&& gcs.getScreenHandler().getInventory().size() == 9 * 6
85-
|| gcs.getTitle().getString().contains("Confirm Purchase")
86-
&& gcs.getScreenHandler().getInventory().size() == 9 * 3)
87-
) {
88-
if (!(client.currentScreen instanceof CoflBinGUI || client.currentScreen instanceof TfmBinGUI)) {
89-
switch (CoflCore.config.purchaseOverlay) {
90-
case COFL: client.setScreen(new CoflBinGUI(Items.BREAD, gcs1));break;
91-
case TFM: client.setScreen(new TfmBinGUI(Items.BREAD));break;
92-
case null: default: break;
93-
}
124+
if (CoflCore.config.purchaseOverlay != null && gcs.getTitle() != null
125+
&& (gcs.getTitle().getString().contains("BIN Auction View")
126+
&& gcs.getScreenHandler().getInventory().size() == 9 * 6
127+
|| gcs.getTitle().getString().contains("Confirm Purchase")
128+
&& gcs.getScreenHandler().getInventory().size() == 9 * 3)
129+
) {
130+
if (!(client.currentScreen instanceof CoflBinGUI || client.currentScreen instanceof TfmBinGUI)) {
131+
switch (CoflCore.config.purchaseOverlay) {
132+
case COFL: client.setScreen(new CoflBinGUI(gcs, flipId));break;
133+
case TFM: client.setScreen(new TfmBinGUI(Items.BREAD));break;
134+
case null: default: break;
94135
}
95136
}
96-
});
137+
}
97138
}
98139
});
99-
100140
}
101141

142+
public static void onOpenBestFlip(String username, boolean isInitialKeypress) {
143+
if (System.currentTimeMillis() - LastClick >= 300L) {
144+
FlipData f = CoflCore.flipHandler.fds.GetHighestFlip();
145+
System.out.println(f);
146+
if (f != null) {
147+
CoflSkyCommand.processCommand(new String[]{"openauctiongui", f.Id, "true"}, username);
148+
LastViewAuctionUUID = f.Id;
149+
LastViewAuctionInvocation = System.currentTimeMillis();
150+
LastClick = System.currentTimeMillis();
151+
String command = (new Gson()).toJson("/viewauction " + f.Id);
152+
CoflCore.Wrapper.SendMessage(new JsonStringCommand(CommandType.Clicked, command));
153+
CoflSkyCommand.processCommand(new String[]{"track", "besthotkey", f.Id, username}, username);
154+
} else if (isInitialKeypress) {
155+
CoflSkyCommand.processCommand(new String[]{"dialog", "nobestflip", username}, username);
156+
}
157+
}
158+
}
159+
102160
@Subscribe
103161
public void WriteToChat(OnWriteToChatReceive command){
104162
MinecraftClient.getInstance().inGameHud.getChatHud().addMessage(ChatComponent(command.ChatMessage));
@@ -115,4 +173,40 @@ public void onChatMessage(OnChatMessageReceive event){
115173
public void onModChatMessage(OnModChatMessage event){
116174
MinecraftClient.getInstance().inGameHud.getChatHud().addMessage(Text.of(event.message));
117175
}
176+
177+
@Subscribe
178+
public void onCountdownReceive(OnCountdownReceive event){
179+
//MinecraftClient.getInstance().inGameHud.getChatHud().addMessage(Text.of("COUNTDOWN RECEIVED: "+event.CountdownData.getDuration()));
180+
}
181+
182+
@Subscribe
183+
public void onOpenAuctionGUI(OnOpenAuctionGUI event){
184+
MinecraftClient.getInstance().setScreen(new BookScreen());
185+
}
186+
187+
@Subscribe
188+
public void onFlipReceive(OnFlipReceive event){
189+
System.out.println("FLIP RECEIVED");
190+
}
191+
192+
@Subscribe
193+
public void onReceiveCommand(ReceiveCommand event){
194+
if (event.command.getType() == CommandType.Flip){
195+
System.out.println("onReceiveCommand: "+event.command.getData());
196+
// JsonObject jsonObject = JsonParser.parseString(event.command.getData()).getAsJsonObject();
197+
// EventBus.getDefault().post(new OnFlipReceive(new Flip(
198+
// new ChatMessage[]{},//jsonObject.get("messages"),
199+
// jsonObject.get("id").getAsString(),
200+
// jsonObject.get("worth").getAsInt(),
201+
// new Sound(),//jsonObject.get("sound"),
202+
// new AuctionItem(),//jsonObject.get("auction"),
203+
// jsonObject.get("render").getAsString(),
204+
// jsonObject.get("target").getAsString()
205+
// )));
206+
207+
// Flip f = new ObjectMapper(gson).readValue(event.command.getData(), Flip.class);
208+
// System.out.println("res: "+f.getId());
209+
// //EventBus.getDefault().post(new OnFlipReceive(f));
210+
}
211+
}
118212
}

src/client/java/com/coflnet/gui/cofl/CoflBinGUI.java

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package com.coflnet.gui.cofl;
22

3+
import CoflCore.CoflCore;
34
import CoflCore.CoflSkyCommand;
5+
import CoflCore.commands.models.FlipData;
46
import com.coflnet.gui.AuctionStatus;
57
import com.coflnet.gui.RenderUtils;
68
import com.coflnet.gui.widget.ItemWidget;
@@ -59,9 +61,14 @@ public class CoflBinGUI extends Screen {
5961
public Text lore = Text.of(RenderUtils.lorem());
6062
public Pair<Integer, Integer> rightButtonCol = new Pair<>(CoflColConfig.BACKGROUND_SECONDARY, CoflColConfig.BACKGROUND_SECONDARY);
6163

62-
public CoflBinGUI(Item item, GenericContainerScreen gcs){
64+
public CoflBinGUI(GenericContainerScreen gcs, String flipId){
6365
super(Text.literal("Cofl Bin Gui"));
6466

67+
FlipData f = CoflCore.flipHandler.fds.getFlipById(flipId);
68+
if(f == null){
69+
System.out.println("NO FLIP FOUND");
70+
} else System.out.println("FLIP FOUND WTF");
71+
6572
int screenWidth = MinecraftClient.getInstance().currentScreen.width;
6673
int screenHeight = MinecraftClient.getInstance().currentScreen.height;
6774

@@ -162,7 +169,7 @@ public void onClick(double mouseX, double mouseY) {
162169
loreScrollableTextWidget = new ScrollableDynamicTextWidget(
163170
screenWidth / 2 - width / 2 + p + 20 + p + 4,
164171
screenHeight / 2 - height / 2 + p + 12 + p + 2,
165-
width - 20 - p*4 - 4, height - 75 - 2 - screenHeight / 15,
172+
width - 20 - p*4 - 4, height - 75 - 2 - screenHeight / 15 - 2,
166173
lore, MinecraftClient.getInstance().textRenderer
167174
){
168175
@Override
@@ -180,17 +187,8 @@ public void onClick(double mouseX, double mouseY) {
180187
Items.AIR.getDefaultStack()
181188
);
182189

183-
gcsh.addListener(new ScreenHandlerListener() {
184-
@Override
185-
public void onSlotUpdate(ScreenHandler handler, int slotId, ItemStack stack) {
186-
//if (stack.getItem() != Items.AIR) System.out.println("slotid: "+slotId);
187-
// if (slotId == ITEM_SLOT) setItem(stack);
188-
if (auctionStatus == AuctionStatus.CONFIRMING && slotId == CONFIRM_SLOT) setRightButtonConfig(AuctionStatus.CONFIRMING);
189-
}
190190

191-
@Override
192-
public void onPropertyUpdate(ScreenHandler handler, int property, int value) {}
193-
});
191+
if (auctionStatus == AuctionStatus.CONFIRMING) setRightButtonConfig(AuctionStatus.CONFIRMING);
194192

195193
this.addDrawableChild(titleTextWidget);
196194
this.addDrawableChild(loreScrollableTextWidget);

0 commit comments

Comments
 (0)