Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 14 additions & 5 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,18 @@ archivesBaseName = archives_base_name
version = "${mod_version}+${minecraft_version}-${max_minecraft_version}" + (isSnapshot ? "-${hash}-SNAPSHOT" : "")

repositories {
maven {
name = "pietrSpaceRepositoryReleases"
url = uri("https://maven.pietr.space/releases")
repositories {
maven {
name "Pietr Space Releases"
url "https://maven.pietr.space/releases"
}
}

repositories {
maven {
name "Pietr Space Snapshots"
url "https://maven.pietr.space/snapshots"
}
}
}

Expand All @@ -27,8 +36,8 @@ dependencies {

modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"

implementation "nl.devpieter:sees:1.1.0"
include "nl.devpieter:sees:1.1.0"
implementation "nl.devpieter:sees:1.2.0-dd2c322-SNAPSHOT"
include "nl.devpieter:sees:1.2.0-dd2c322-SNAPSHOT"
}

preprocess {
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@ loader_version=0.16.10

# Mod Properties
artifact_id=utilize
mod_version=1.0.10
mod_version=1.1.0
maven_group=nl.devpieter
archives_base_name=Utilize
67 changes: 39 additions & 28 deletions src/main/java/nl/devpieter/utilize/Utilize.java
Original file line number Diff line number Diff line change
@@ -1,16 +1,20 @@
package nl.devpieter.utilize;

import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientLifecycleEvents;
import net.fabricmc.loader.api.FabricLoader;
import net.fabricmc.loader.api.ModContainer;
import net.minecraft.SharedConstants;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientPlayerEntity;
import nl.devpieter.utilize.http.AsyncRequest;
import nl.devpieter.utilize.listeners.packet.EntityTrackerUpdatePacketListener;
import nl.devpieter.utilize.listeners.packet.OpenScreenPacketListener;
import nl.devpieter.utilize.listeners.packet.SetTradeOffersPacketListener;
import nl.devpieter.utilize.managers.PacketManager;
import nl.devpieter.utilize.utils.ClientUtils;
import nl.devpieter.utilize.setting.SettingManager;
import nl.devpieter.utilize.task.TaskManager;
import nl.devpieter.utilize.utils.minecraft.ClientUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

Expand All @@ -19,42 +23,57 @@

public class Utilize implements ClientModInitializer {

private static final ModContainer MOD_CONTAINER = FabricLoader.getInstance().getModContainer("utilize").orElseThrow();
public static final Logger LOGGER = LoggerFactory.getLogger("Utilize");
private static Utilize INSTANCE;

private static boolean BLOCK_SWING_HAND_ONCE = false;
private static final List<Integer> BLOCK_SCREEN_IDS = new ArrayList<>();
private final Logger logger = LoggerFactory.getLogger("Utilize");
private final ModContainer modContainer = FabricLoader.getInstance().getModContainer("utilize").orElseThrow();

private final List<Integer> blockScreenIds = new ArrayList<>();

@Override
public void onInitializeClient() {
INSTANCE = this;

PacketManager packetManager = PacketManager.getInstance();
packetManager.subscribe(new EntityTrackerUpdatePacketListener());
packetManager.subscribe(new OpenScreenPacketListener());
packetManager.subscribe(new SetTradeOffersPacketListener());

if (!ClientUtils.isDevEnv()) return;
LOGGER.info("Utilize is running in a development environment.");
ClientLifecycleEvents.CLIENT_STOPPING.register((client) -> {
this.logger.info("Shutting down Utilize...");

TaskManager.shutdown();
SettingManager.shutdown();
AsyncRequest.shutdown();
});

this.logger.info("Utilize initialized successfully! Version: {}", this.getUtilizeVersion());
}

public static boolean shouldBlockSwingHandOnce() {
return BLOCK_SWING_HAND_ONCE;
public static Utilize getInstance() {
if (INSTANCE == null) throw new IllegalStateException("Utilize has not been initialized yet!");
return INSTANCE;
}

public static void blockSwingHandOnce() {
BLOCK_SWING_HAND_ONCE = true;
public String getUtilizeVersion() {
return this.modContainer.getMetadata().getVersion().getFriendlyString();
}

public static void blockedSwingHandOnce() {
BLOCK_SWING_HAND_ONCE = false;
public String getMinecraftVersion() {
return SharedConstants.getGameVersion().getName();
}

public static boolean shouldBlockScreenId(int screenId) {
return BLOCK_SCREEN_IDS.contains(screenId);
public String getUserAgent() {
return String.format("Utilize/%s (%s;)", this.getUtilizeVersion(), this.getMinecraftVersion());
}

public static void blockScreenId(int screenId) {
if (BLOCK_SCREEN_IDS.contains(screenId)) return;
BLOCK_SCREEN_IDS.add(screenId);
public boolean shouldBlockScreenId(int screenId) {
return blockScreenIds.contains(screenId);
}

public void blockScreenId(int screenId) {
if (this.blockScreenIds.contains(screenId)) return;
this.blockScreenIds.add(screenId);

if (!ClientUtils.hasPlayer()) return;
MinecraftClient client = MinecraftClient.getInstance();
Expand All @@ -68,15 +87,7 @@ public static void blockScreenId(int screenId) {
});
}

public static void blockedScreenId(int screenId) {
BLOCK_SCREEN_IDS.removeIf(id -> id == screenId);
}

public static String getUtilizeVersion() {
return MOD_CONTAINER.getMetadata().getVersion().getFriendlyString();
}

public static String getMinecraftVersion() {
return SharedConstants.getGameVersion().getName();
public void blockedScreenId(int screenId) {
this.blockScreenIds.removeIf(id -> id == screenId);
}
}
Original file line number Diff line number Diff line change
@@ -1,55 +1,27 @@
package nl.devpieter.utilize.events.chat;

import net.minecraft.text.Text;
import nl.devpieter.sees.Event.CancelableEventBase;
import nl.devpieter.sees.Event.ReturnableEvent;
import nl.devpieter.sees.event.SCancelableEventBase;
import nl.devpieter.sees.event.SReturnableEvent;

/**
* Event fired when a chat message ({@link Text}) is received by the client.
* <p>
* This event is cancelable and allows modification of the message before display.
*/
public class ReceiveMessageEvent extends CancelableEventBase implements ReturnableEvent<Text> {
public class ReceiveMessageEvent extends SCancelableEventBase implements SReturnableEvent<Text> {

/**
* The chat message, which may be modified by event listeners.
*/
private Text message;

/**
* Constructs a new ReceiveMessageEvent with the given message.
*
* @param message The received chat message.
*/
public ReceiveMessageEvent(Text message) {
this.message = message;
}

/**
* Gets the current message result.
*
* @return The current chat message.
*/
@Override
public Text getResult() {
return this.message;
}

/**
* Sets the message result.
*
* @param message The new chat message to set.
*/
@Override
public void setResult(Text message) {
this.message = message;
}

/**
* Alias for {@link #getResult()}.
*
* @return The chat message.
*/
public Text message() {
return this.message;
}
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Loading