Autotransfer command, allinvite party command
All checks were successful
/ build (push) Successful in 7m24s

+ feat: allinvite party command
= made autotransfer a normal command
- removed non-function chat handling of dragon spawn messages
This commit is contained in:
Stachelbeere1248 2025-04-21 03:24:09 +02:00
parent 0190ffbe36
commit 2eb2d72501
Signed by: Stachelbeere1248
SSH key fingerprint: SHA256:IozEKdw2dB8TZxkpPdMxcWSoWTIMwoLaCcZJ1AJnY2o
4 changed files with 88 additions and 24 deletions

View file

@ -3,5 +3,5 @@ org.gradle.jvmargs=-Xmx2g
baseGroup = xyz.stachel.bonzotimer
mcVersion = 1.8.9
modid = bonzo-timer
version = 1.2.4
version = 1.2.5
org.gradle.java.installations.fromEnv=JDK8,JRE17

View file

@ -2,18 +2,22 @@ package xyz.stachel.bonzotimer;
import org.apache.logging.log4j.Logger;
import net.minecraftforge.client.ClientCommandHandler;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import xyz.stachel.bonzotimer.commands.Autotransfer;
@Mod(modid = "bonzo-timer", useMetadata=true)
public class BonzoTimer {
private static BonzoTimer instance;
private Logger logger;
private final ChatHandler chatHandler;
public BonzoTimer() {
instance = this;
this.chatHandler = new ChatHandler();
}
public static BonzoTimer getInstance() {
@ -28,11 +32,16 @@ public class BonzoTimer {
@Mod.EventHandler
public void init(FMLInitializationEvent event) {
MinecraftForge.EVENT_BUS.register(new ChatHandler());
MinecraftForge.EVENT_BUS.register(chatHandler);
MinecraftForge.EVENT_BUS.register(new RenderGameOverlayHandler());
ClientCommandHandler.instance.registerCommand(new Autotransfer());
}
public Logger getLogger() {
return this.logger;
}
public ChatHandler getChatHandler() {
return this.chatHandler;
}
}

View file

@ -24,6 +24,10 @@ public class ChatHandler {
private int color = 0;
private String oldLeader = null;
public void setTransferEnabled(boolean b) {
this.autotransferEnabled = b;
}
@SubscribeEvent
public void onTick(TickEvent.@NotNull ClientTickEvent event) {
if (colorChangeCooldown > 0) {
@ -70,7 +74,7 @@ public class ChatHandler {
Minecraft.getMinecraft().thePlayer.sendChatMessage("/p warp");
break;
case "!help":
Minecraft.getMinecraft().thePlayer.sendChatMessage("Commands: !warp, !m7, !f7, !ptme");
Minecraft.getMinecraft().thePlayer.sendChatMessage("Commands: !warp, !m7, !f7, !ptme, !allinv");
break;
case "!m7":
Minecraft.getMinecraft().thePlayer.sendChatMessage("/joindungeon master_catacombs_floor_seven");
@ -78,6 +82,9 @@ public class ChatHandler {
case "!f7":
Minecraft.getMinecraft().thePlayer.sendChatMessage("/joindungeon catacombs_floor_seven");
break;
case "!allinvite":
case "!allinv":
Minecraft.getMinecraft().thePlayer.sendChatMessage("/p settings allinvite");
case "!ptme":
event.message.appendSibling(
new ChatComponentText(" [ACCEPT]")
@ -86,12 +93,6 @@ public class ChatHandler {
.setColor(EnumChatFormatting.RED).setBold(true))
);
break;
case "!autotransfer on":
autotransferEnabled = true;
break;
case "!autotransfer off":
autotransferEnabled = false;
break;
}
} else {
switch (strippedMessage) {
@ -109,21 +110,6 @@ public class ChatHandler {
Timer.setInstance(new Timer((byte) 60));
Minecraft.getMinecraft().thePlayer.sendChatMessage("Phoenix pet popped (3s)");
break;
case "The SOUL dragon is spawning!":
this.changeColor(5);
break;
case "The APEX dragon is spawning!":
this.changeColor(4);
break;
case "The ICE dragon is spawning!":
this.changeColor(3);
break;
case "The FLAME dragon is spawning!":
this.changeColor(2);
break;
case "The POWER dragon is spawning!":
this.changeColor(1);
break;
default:
break;
}

View file

@ -0,0 +1,69 @@
package xyz.stachel.bonzotimer.commands;
import java.util.ArrayList;
import java.util.List;
import com.google.common.collect.Lists;
import net.minecraft.command.CommandException;
import net.minecraft.command.ICommand;
import net.minecraft.command.ICommandSender;
import net.minecraft.command.WrongUsageException;
import net.minecraft.util.BlockPos;
import xyz.stachel.bonzotimer.BonzoTimer;
public class Autotransfer implements ICommand {
@Override
public String getCommandUsage(ICommandSender sender) {
return "/autotransfer <on|off>";
}
@Override
public String getCommandName() {
return "autotransfer";
}
@Override
public boolean isUsernameIndex(String[] args, int index) {
return false;
}
@Override
public List<String> addTabCompletionOptions(ICommandSender sender, String[] args, BlockPos pos) {
if (args.length == 1) return Lists.newArrayList("on", "off");
else return null;
}
@Override
public boolean canCommandSenderUseCommand(ICommandSender sender) {
return true;
}
@Override
public void processCommand(ICommandSender sender, String[] args) throws CommandException {
if (args.length == 0) throw new WrongUsageException("[Missing option] options: on, off");
else if (args.length == 1) switch (args[0]) {
case "on":
BonzoTimer.getInstance().getChatHandler().setTransferEnabled(true);
break;
case "off":
BonzoTimer.getInstance().getChatHandler().setTransferEnabled(false);
break;
default:
throw new WrongUsageException("[Invalid option] valid options: on, off");
}
else throw new WrongUsageException("[Argument count] The command only takes one argument.");
}
@Override
public int compareTo(ICommand o) {
return 0;
}
@Override
public List<String> getCommandAliases() {
return new ArrayList<>();
}
}