Jump to content

[1.7.10] Use Events


daniel0916

Recommended Posts

Hello guys,

 

i'm a beginner in Forge Development and i have a problem with using events.

 

Code:

@Mod(modid = Test.MODID, version = Test.VERSION)
public class Test {
    public static final String MODID = "Test";
    public static final String VERSION = "1.0";
    
    @EventHandler
    public void init(FMLInitializationEvent event) {
    	MinecraftForge.EVENT_BUS.register(new CommandListener());
    	
    	//FMLCommonHandler.instance().bus().register(new ExecuteEvent());
    }
}

 

public class CommandListener {

public void onCommand(CommandEvent event) {
	System.out.println(event.command);
}
}

 

I don't get the message. What's wrong?

 

Thanks for reading my question.

 

Greetings

Daniel

Link to comment
Share on other sites

Depends what event are you talking about. There are few (use, interact, mouse click, more...).

 

Most of events are executed on both sides. Some are only on server and some will work only on client (and in most cases send info to server using vanilla packet).

 

What exacly do you need?

1.7.10 is no longer supported by forge, you are on your own.

Link to comment
Share on other sites

Not really.

If you want event to be called for EVERY item:

PlayerUseItemEvent

This event is separated in sub-phase events, make sure you picked right one.

 

Simply check side for event to be launched on client.

 

If you'd have your OWN items, you can @Override Item#onItemRightClick(...)

1.7.10 is no longer supported by forge, you are on your own.

Link to comment
Share on other sites

Okay, but the event doesn't get called.

 

@SubscribeEvent
public void onItemUse(PlayerUseItemEvent event) {
	System.out.println(event.item.getItem());
	System.out.println(Item.getIdFromItem(event.item.getItem()));
}

 

MinecraftForge.EVENT_BUS.register(new Events());

 

"This event is separated in sub-phase events, make sure you picked right one."

What do you mean with this exactly?

 

Edit: Ah, okay. I understand it now.

 

Edit2: Okay, the event is working when i block with the sword but i need a event which get called when i make right-click with a compass.

Link to comment
Share on other sites

PlayerInteractEvent then.

 

* This event is fired whenever a player interacts in
* Minecraft#rightClickMouse(),

 

I used it only once, very long time ago and I remember having problems with certain clicking (the righclick wasnt always calling event).

It probably changed now.

 

For certain I know that Client will always get called no matter on what you click since it's called directly from Minecraft#rightClickMouse().

1.7.10 is no longer supported by forge, you are on your own.

Link to comment
Share on other sites

Extend CommandBase or wider implement ICommand.

In execute() you write what should happen.

getName() is your command. e.g "test" will give you /test.

 

AS for registering:

Server:

@EventHandler
public void serverLoad(FMLServerStartingEvent event)
{
	event.registerServerCommand(new CommandTest());
}

and Client:

ClientCommandHandler.instance.registerCommand(new CommandTest());

 

Note: For client registration MUST be done in ClientProxy.

Also: server will NEVER receive client commands (they are totally local).

 

EDIT: Note 2: Registering command for server doesn't require you to ALSO register it for client. You do it either for client only, or for Server (which is server+client)

1.7.10 is no longer supported by forge, you are on your own.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • SOLVED With the help of some people on Discord I got this solved. it's if (entity.level().dimension() == Level.OVERWORLD) to test if your player is in the overworld, and you would change that depending on need. Thanks for the help!
    • I removed it from the onedrive directory and removed essential and its still just lagging for my friend logs: https://paste.ee/p/gtXpz
    • I was trying to load some mods for 1.19.4 and yes all of them are right and i think some are interfering with each other and I don't know which ones to remove
    • Minecraft has crashed! net.fabricmc.loader.impl.FormattedException: java.lang.RuntimeException: Mixin transformation of net.minecraft.class_310 failed     at net.fabricmc.loader.impl.FormattedException.ofLocalized(FormattedException.java:63)     at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:472)     at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)     at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) Caused by: java.lang.RuntimeException: Mixin transformation of net.minecraft.class_310 failed     at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:427)     at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:323)     at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218)     at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119)     at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)     at net.minecraft.client.main.Main.main(Main.java:207)     at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470)     ... 2 more Caused by: org.spongepowered.asm.mixin.transformer.throwables.MixinTransformerError: An unexpected critical error was encountered     at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:392)     at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234)     at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202)     at meteordevelopment.meteorclient.asm.Asm$Transformer.transformClassBytes(Asm.java:102)     at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:422)     ... 8 more Caused by: org.spongepowered.asm.mixin.injection.throwables.InjectionError: Critical injection failure: Redirector breakBlockCheck(Lnet/minecraft/class_746;)Z in reaper.mixins.json:MinecraftClientMixin from mod reaper failed injection check, (0/1) succeeded. Scanned 1 target(s). Using refmap reaper-refmap.json     at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.postInject(InjectionInfo.java:468)     at org.spongepowered.asm.mixin.transformer.MixinTargetContext.applyInjections(MixinTargetContext.java:1384)     at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyInjections(MixinApplicatorStandard.java:1062)     at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:402)     at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:327)     at org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:422)     at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:403)     at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363)     ... 12 more  
    • Did some digging on that specific error and found a reddit post. Someone replied that they fixed it by closing Overwolf, so I went into task manager and closed Overwolf before loading up the game. This seems to have fixed it! I guess the error has something to do with Overwolf then. 
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.