Skip to content

Commit

Permalink
Revert "add: custom event PreCommandExecuteEvent"
Browse files Browse the repository at this point in the history
This reverts commit 12eacc8
  • Loading branch information
sakurawald committed Jul 7, 2024
1 parent 8fba23f commit 29f61fa
Show file tree
Hide file tree
Showing 15 changed files with 72 additions and 74 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.github.sakurawald.common.structure;
package io.github.sakurawald.common;

import io.github.sakurawald.Fuji;
import io.github.sakurawald.util.MessageUtil;
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package io.github.sakurawald.config.model;

import io.github.sakurawald.common.structure.Position;
import io.github.sakurawald.common.Position;

import java.util.HashMap;
import java.util.Map;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import io.github.sakurawald.common.event.PrePlayerDeathEvent;
import io.github.sakurawald.config.Configs;
import io.github.sakurawald.module.initializer.ModuleInitializer;
import io.github.sakurawald.common.structure.Position;
import io.github.sakurawald.common.Position;
import io.github.sakurawald.util.CommandUtil;
import io.github.sakurawald.util.MessageUtil;
import lombok.Getter;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,34 +1,15 @@
package io.github.sakurawald.module.initializer.command_cooldown;

import io.github.sakurawald.common.event.PreCommandExecuteEvent;
import io.github.sakurawald.config.Configs;
import io.github.sakurawald.module.initializer.ModuleInitializer;
import java.util.HashMap;
import java.util.Map;

import io.github.sakurawald.util.MessageUtil;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.util.ActionResult;

public class CommandCooldownModule extends ModuleInitializer {

private final HashMap<ServerPlayerEntity, HashMap<String, Long>> map = new HashMap<>();

@Override
public void onInitialize() {
PreCommandExecuteEvent.EVENT.register((parseResults, string) -> {
ServerPlayerEntity player = parseResults.getContext().getSource().getPlayer();
if (player == null) return ActionResult.PASS;

long cooldown = this.calculateCommandCooldown(player, string);
if (cooldown > 0) {
MessageUtil.sendActionBar(player, "command_cooldown.cooldown", cooldown / 1000);
return ActionResult.FAIL;
}

return ActionResult.PASS;
});
}

public long calculateCommandCooldown(ServerPlayerEntity player, String commandLine) {

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
import io.github.sakurawald.config.handler.ObjectConfigHandler;
import io.github.sakurawald.config.model.HomeModel;
import io.github.sakurawald.module.initializer.ModuleInitializer;
import io.github.sakurawald.common.structure.Position;
import io.github.sakurawald.common.Position;
import io.github.sakurawald.util.CommandUtil;
import io.github.sakurawald.util.MessageUtil;
import io.github.sakurawald.util.ScheduleUtil;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,13 @@
import com.mojang.brigadier.context.CommandContext;
import com.mojang.brigadier.exceptions.CommandSyntaxException;
import io.github.sakurawald.Fuji;
import io.github.sakurawald.common.event.PreCommandExecuteEvent;
import io.github.sakurawald.module.initializer.ModuleInitializer;
import io.github.sakurawald.util.CommandUtil;
import io.github.sakurawald.util.MessageUtil;
import java.util.HashMap;
import net.minecraft.command.CommandRegistryAccess;
import net.minecraft.server.command.CommandManager;
import net.minecraft.server.command.ServerCommandSource;
import net.minecraft.server.network.ServerPlayerEntity;

import static net.minecraft.server.command.CommandManager.argument;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import io.github.sakurawald.module.ModuleManager;
import io.github.sakurawald.module.initializer.resource_world.interfaces.SimpleRegistryMixinInterface;
import io.github.sakurawald.common.structure.Position;
import io.github.sakurawald.common.Position;
import io.github.sakurawald.module.initializer.teleport_warmup.TeleportTicket;
import io.github.sakurawald.module.initializer.teleport_warmup.TeleportWarmupModule;
import it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package io.github.sakurawald.module.initializer.teleport_warmup;

import io.github.sakurawald.common.structure.Position;
import io.github.sakurawald.common.Position;
import io.github.sakurawald.util.MessageUtil;
import net.kyori.adventure.bossbar.BossBar;
import net.minecraft.server.network.ServerPlayerEntity;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package io.github.sakurawald.module.mixin.command_cooldown;

import com.mojang.brigadier.ParseResults;
import io.github.sakurawald.module.ModuleManager;
import io.github.sakurawald.module.initializer.command_cooldown.CommandCooldownModule;
import io.github.sakurawald.util.MessageUtil;
import net.minecraft.server.command.CommandManager;
import net.minecraft.server.command.ServerCommandSource;
import net.minecraft.server.network.ServerPlayerEntity;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;

@Mixin(CommandManager.class)

public class CommandsMixin {

@Unique
private static final CommandCooldownModule module = ModuleManager.getInitializer(CommandCooldownModule.class);

// If you issue "///abcdefg", then commandLine = "//abcdefg"
@Inject(method = "execute", at = @At("HEAD"), cancellable = true)
public void $execute(ParseResults<ServerCommandSource> parseResults, String string, CallbackInfo ci) {
ServerPlayerEntity player = parseResults.getContext().getSource().getPlayer();
if (player == null) return;

long cooldown = module.calculateCommandCooldown(player, string);
if (cooldown > 0) {
MessageUtil.sendActionBar(player, "command_cooldown.cooldown", cooldown / 1000);
ci.cancel();
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package io.github.sakurawald.module.mixin.command_spy;

import com.mojang.brigadier.ParseResults;
import io.github.sakurawald.Fuji;
import net.minecraft.server.command.CommandManager;
import net.minecraft.server.command.ServerCommandSource;
import net.minecraft.server.network.ServerPlayerEntity;
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 org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;

@Mixin(CommandManager.class)
public class CommandsMixin {

// If you issue "///abcdefg", then commandLine = "//abcdefg"
@Inject(method = "execute", at = @At("HEAD"))
public void $execute(ParseResults<ServerCommandSource> parseResults, String string, CallbackInfo ci) {
ServerPlayerEntity player = parseResults.getContext().getSource().getPlayer();
if (player == null) return;

// fix: fabric console will not log the command issue
Fuji.LOGGER.info("{} issued server command: {}", player.getGameProfile().getName(), string);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import io.github.sakurawald.module.ModuleManager;
import io.github.sakurawald.module.initializer.back.BackModule;
import io.github.sakurawald.common.structure.Position;
import io.github.sakurawald.common.Position;
import io.github.sakurawald.module.initializer.teleport_warmup.ServerPlayerCombatStateAccessor;
import io.github.sakurawald.module.initializer.teleport_warmup.TeleportTicket;
import io.github.sakurawald.module.initializer.teleport_warmup.TeleportWarmupModule;
Expand Down
3 changes: 3 additions & 0 deletions src/main/resources/fuji.mixins.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
"compatibilityLevel": "JAVA_17",
"plugin": "io.github.sakurawald.module.mixin.ModuleMixinConfigPlugin",
"mixins": [
"_internal.event.PlayerManagerMixin",
"_internal.event.ServerPlayerEntityMixin",
"_internal.event.ServerPlayNetworkHandlerMixin",
"_internal.server_instance.MinecraftServerMixin",
"afk.PlayerListMixin",
Expand All @@ -22,6 +24,7 @@
"command_cooldown.CommandsMixin",
"command_interactive.SignBlockMixin",
"command_permission.CommandNodeAccessor",
"command_spy.CommandsMixin",
"command_rewrite.ServerPlayNetworkHandlerMixin",
"enchantment.EnchantmentScreenHandlerMixin",
"fake_player_manager.PlayerCommandMixin",
Expand Down

0 comments on commit 29f61fa

Please sign in to comment.