[fix] stuff working now
This commit is contained in:
parent
6a85ecabc3
commit
116c3142e3
5 changed files with 30 additions and 31 deletions
|
@ -3,8 +3,6 @@ package net.saltymc.eaa;
|
|||
import net.fabricmc.api.ModInitializer;
|
||||
import net.saltymc.eaa.handler.CommandHandler;
|
||||
import net.saltymc.eaa.handler.HandlerInterface;
|
||||
import net.saltymc.eaa.mixin.ExampleMixin;
|
||||
import net.saltymc.eaa.mixin.MixinInterface;
|
||||
import net.saltymc.eaa.util.ResponseEntity;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
@ -12,12 +10,20 @@ import java.util.List;
|
|||
|
||||
public class EaaMod implements ModInitializer {
|
||||
|
||||
private static EaaMod instance;
|
||||
private final List<HandlerInterface> handler;
|
||||
private final List<MixinInterface> mixins;
|
||||
|
||||
public EaaMod(){
|
||||
handler = new ArrayList<>();
|
||||
mixins = new ArrayList<>();
|
||||
}
|
||||
|
||||
public static EaaMod getInstance(){
|
||||
if (instance == null) {
|
||||
instance = new EaaMod();
|
||||
instance.onInitialize();
|
||||
}
|
||||
|
||||
return instance;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -28,10 +34,6 @@ public class EaaMod implements ModInitializer {
|
|||
|
||||
System.out.println("EAA Mod initializing...");
|
||||
|
||||
//init Mixin
|
||||
mixins.add(new ExampleMixin().init(this));
|
||||
|
||||
|
||||
//Init CommandHandler
|
||||
handler.add(new CommandHandler());
|
||||
|
||||
|
@ -40,9 +42,10 @@ public class EaaMod implements ModInitializer {
|
|||
public ResponseEntity onEvent(Object object){
|
||||
for (HandlerInterface hi : handler) {
|
||||
ResponseEntity handlerResponse = hi.handle(object);
|
||||
if (handlerResponse.isWasHandled())
|
||||
if (handlerResponse.isWasHandled()) {
|
||||
return handlerResponse; // Events are exclusive yet
|
||||
}
|
||||
}
|
||||
|
||||
return new ResponseEntity(false);
|
||||
}
|
||||
|
|
|
@ -28,6 +28,7 @@ public class CommandHandler implements HandlerInterface {
|
|||
|
||||
|
||||
public CommandHandler(){
|
||||
LOGGER.info("init CommandHandler");
|
||||
commands = new ArrayList<>();
|
||||
|
||||
CommandHandler.commands.add(new EaaCommand());
|
||||
|
|
|
@ -2,14 +2,25 @@ package net.saltymc.eaa.handler.commands;
|
|||
|
||||
import net.fabricmc.fabric.api.client.command.v1.FabricClientCommandSource;
|
||||
import net.minecraft.text.Text;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
public class EaaCommand implements Command {
|
||||
|
||||
private static final String COMMAND = "echo";
|
||||
private static final boolean INTERCEPT = true;
|
||||
private static final Logger LOGGER = LogManager.getLogger();
|
||||
|
||||
public EaaCommand(){
|
||||
LOGGER.info("Init EaaCommand");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean run( final FabricClientCommandSource cs, String[] args) {
|
||||
System.out.println("on Command: " + args[0]);
|
||||
|
||||
if (!args[0].equalsIgnoreCase(COMMAND)) {
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -4,6 +4,8 @@ import net.minecraft.client.network.ClientPlayerEntity;
|
|||
import net.saltymc.eaa.EaaMod;
|
||||
import net.saltymc.eaa.handler.CommandHandler;
|
||||
import net.saltymc.eaa.util.ResponseEntity;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
|
@ -18,22 +20,13 @@ public class ExampleMixin {
|
|||
}
|
||||
*/
|
||||
@Mixin(ClientPlayerEntity.class)
|
||||
public class ExampleMixin implements MixinInterface { //ClientPlayerEntityMixin
|
||||
|
||||
private EaaMod eaaMod;
|
||||
|
||||
public MixinInterface init(final EaaMod eaaMod){
|
||||
this.eaaMod = eaaMod;
|
||||
|
||||
return this;
|
||||
}
|
||||
public class ExampleMixin { //ClientPlayerEntityMixin
|
||||
|
||||
private static final Logger LOGGER = LogManager.getLogger();
|
||||
|
||||
@Inject(method = "sendChatMessage", at = @At("HEAD"), cancellable = true)
|
||||
private void onSendChatMessage(String message, CallbackInfo info) {
|
||||
System.out.println("in onSendChatMessage");
|
||||
|
||||
ResponseEntity responseEntity = eaaMod.onEvent(message);
|
||||
ResponseEntity responseEntity = EaaMod.getInstance().onEvent(message);
|
||||
|
||||
if (responseEntity.isInterceptEvent())
|
||||
info.cancel();
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
package net.saltymc.eaa.mixin;
|
||||
|
||||
import net.saltymc.eaa.EaaMod;
|
||||
|
||||
public interface MixinInterface {
|
||||
|
||||
MixinInterface init(final EaaMod eaaMod);
|
||||
|
||||
}
|
Loading…
Reference in a new issue