Skip to content

Commit

Permalink
a lot of bug fixes and addition of freatures from the old CT module
Browse files Browse the repository at this point in the history
added:
bonzo mask timer
spirit mask timer
pheonix pet timer
Custom gui to edit hud elements positions
player spin
announce draft resets
announce spirit leaps
Custom spirit leap menu
f7 phase start timers
Ghost pick
party finder overlay
better f7 terminal tittles
Custom terminals gui
terminal numbers
chat emojis
gyro circle
spring boots display
wither shield timer
Clock display
fps display

fixes:
some commands not working properly
ability keybinds
auto i4
auto ult
blood ready
HighlightMimicChest
IHATEDIORITE
chat coords to waypoint
Left Click Etherwarp
salvage overlay
  • Loading branch information
Noamm9 committed Sep 7, 2024
1 parent f389655 commit 4cbcdd4
Show file tree
Hide file tree
Showing 92 changed files with 4,424 additions and 419 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -203,3 +203,5 @@ servers.dat
servers.essential.dat
/.vscode
ops.json
whitelist.json
whitelist.json
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
modName=NoammAddons
modID=noammaddons
modVersion=1.0.0
modVersion=1.1.2

kotlin.code.style=official
loom.platform=forge
Expand Down
45 changes: 45 additions & 0 deletions src/main/java/NoammAddons/BonzoMask.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
package NoammAddons

import NoammAddons.NoammAddons.Companion.config
import NoammAddons.NoammAddons.Companion.hudData
import NoammAddons.config.EditGui.HudElement
import NoammAddons.utils.ChatUtils.removeFormatting
import NoammAddons.utils.ChatUtils.toFixed
import net.minecraftforge.client.event.ClientChatReceivedEvent
import net.minecraftforge.client.event.RenderGameOverlayEvent
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent


object BonzoMask {
private val BonzoMaskElement = HudElement("&9Bonzo Mask: &aREADY", dataObj = hudData.getData().BonzoMask)
private var timer = 0L
private var draw = false
private val maskCooldown = 183_000

@SubscribeEvent
fun onChat(event: ClientChatReceivedEvent) {
if (!config.BonzoMaskDisplay) return
if (event.type.toInt() != 0) return

if (!event.message.unformattedText.removeFormatting().matches(Regex("^Your (?:. )?Bonzo's Mask saved your life!$"))) return
timer = System.currentTimeMillis()
draw = true
}

@SubscribeEvent
fun onRender(event: RenderGameOverlayEvent.Pre) {
if (!config.BonzoMaskDisplay) return
if (event.type != RenderGameOverlayEvent.ElementType.HOTBAR) return
if (!draw) return

val cooldown = ((maskCooldown + (timer - System.currentTimeMillis())).toDouble()/1000).toFixed(1).toDouble()

BonzoMaskElement.setText(
when {
cooldown > 0.0 -> "&9Bonzo Mask: &a$cooldown"
(cooldown == 0.0 || cooldown > -30.0) -> "&9Bonzo Mask: &aREADY"
else -> return
}
).draw()
}
}
15 changes: 15 additions & 0 deletions src/main/java/NoammAddons/mixins/AccessorGuiContainer.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package NoammAddons.mixins;

import net.minecraft.client.gui.inventory.GuiContainer;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;

@Mixin(GuiContainer.class)
public interface AccessorGuiContainer {
@Accessor("guiTop")
int getGuiTop();

@Accessor("guiLeft")
int getGuiLeft();
}

11 changes: 11 additions & 0 deletions src/main/java/NoammAddons/mixins/EntityAccessor.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package NoammAddons.mixins;

import net.minecraft.entity.Entity;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;

@Mixin(Entity.class)
public interface EntityAccessor {
@Accessor
void setInPortal(boolean newValue);
}
17 changes: 17 additions & 0 deletions src/main/java/NoammAddons/mixins/MixinEntity.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package NoammAddons.mixins;

import net.minecraft.entity.Entity;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;

@Mixin(Entity.class)
public class MixinEntity implements EntityAccessor {
@Shadow
protected boolean inPortal;

@Override
public void setInPortal(boolean newValue) {
this.inPortal = newValue;
}
}

16 changes: 0 additions & 16 deletions src/main/java/NoammAddons/mixins/MixinEntityRenderer.java

This file was deleted.

8 changes: 8 additions & 0 deletions src/main/java/NoammAddons/mixins/MixinGuiContainer.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import NoammAddons.events.GuiContainerEvent;


@Mixin(GuiContainer.class)
public class MixinGuiContainer {

Expand All @@ -20,6 +21,12 @@ public class MixinGuiContainer {
@Shadow
public Container inventorySlots;

@Shadow private Slot theSlot;

@Shadow protected int guiLeft;

@Shadow protected int guiTop;

@Inject(method = "drawSlot", at = @At("HEAD"), cancellable = true)
private void onDrawSlot(Slot slot, CallbackInfo ci) {
if (MinecraftForge.EVENT_BUS.post(new GuiContainerEvent.DrawSlotEvent(inventorySlots, gui, slot)))
Expand All @@ -38,3 +45,4 @@ private void onGuiClosed(CallbackInfo ci) {
MinecraftForge.EVENT_BUS.post(new GuiContainerEvent.CloseEvent(inventorySlots, gui));
}
}

20 changes: 20 additions & 0 deletions src/main/java/NoammAddons/mixins/MixinGuiDisplayTitle.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package NoammAddons.mixins;

import net.minecraftforge.client.GuiIngameForge;
import net.minecraftforge.common.MinecraftForge;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import NoammAddons.events.RenderTitleEvent;


@Mixin(GuiIngameForge.class)
public class MixinGuiDisplayTitle {
@Inject(method = "renderTitle", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/GlStateManager;pushMatrix()V", ordinal = 0), cancellable = true)
private void onRenderTitle(int width, int height, float partialTicks, CallbackInfo ci) {
if (MinecraftForge.EVENT_BUS.post(new RenderTitleEvent())) {
ci.cancel();
}
}
}
38 changes: 38 additions & 0 deletions src/main/java/NoammAddons/mixins/MixinGuiScreen.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package NoammAddons.mixins;

import NoammAddons.events.GuiContainerEvent;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiScreen;
import net.minecraftforge.common.MinecraftForge;
import org.lwjgl.input.Mouse;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;

@Mixin(GuiScreen.class)
public abstract class MixinGuiScreen {

@Shadow public int height;
@Shadow public int width;
@Shadow public Minecraft mc;

@Inject(
method = "handleMouseInput",
at = @At(value = "INVOKE",
target = "Lnet/minecraft/client/gui/GuiScreen;mouseClicked(III)V"
), cancellable = true)
private void injectMouseClick(CallbackInfo ci) {
int mouseX = Mouse.getEventX() * this.width / this.mc.displayWidth;
int mouseY = this.height - Mouse.getEventY() * this.height / this.mc.displayHeight - 1;
int mouseButton = Mouse.getEventButton();

GuiContainerEvent.GuiMouseClickEvent event = new GuiContainerEvent.GuiMouseClickEvent(mouseX, mouseY, mouseButton);
MinecraftForge.EVENT_BUS.post(event);

if (event.isCanceled()) {
ci.cancel();
}
}
}
20 changes: 20 additions & 0 deletions src/main/java/NoammAddons/mixins/MixinThePlayer.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package NoammAddons.mixins;

import NoammAddons.events.MessageSentEvent;
import net.minecraftforge.common.MinecraftForge;
import org.spongepowered.asm.mixin.Mixin;
import net.minecraft.client.entity.EntityPlayerSP;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;


@Mixin(EntityPlayerSP.class)
public class MixinThePlayer {
@Inject(method = "sendChatMessage", at = @At("HEAD"), cancellable = true)
public void sendChatMessage(String message, CallbackInfo ci) {
if (MinecraftForge.EVENT_BUS.post(new MessageSentEvent(message))) {
ci.cancel();
}
}
}
Loading

0 comments on commit 4cbcdd4

Please sign in to comment.