Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Hisha

Members
  • Joined

  • Last visited

Everything posted by Hisha

  1. Alright, I will have a look at it. Thank you very much for your help
  2. Thank you very much, I got it to give me the achievements now.. Well. All of them at once for some reason, but I guess that's on my end Where do I find the pack.mcmeta file if I have it? Or where should I make it?
  3. Hello, I have been trying to get achievements to work but I just can't seem to get them to trigger. I have registered them and they are showing up in the achievement page I have created and registered, so my suspicion is that the problem lies in my event handler. My event handler class looks like this: public class AchievementEventHandler { @Mod.EventHandler public void onEditorOpened(AchievementEvent.EditorOpenedEvent event) { event.player.addStat(CompilerMod.achievementOpenEditor, 1); } @Mod.EventHandler public void onEditorSaved(AchievementEvent.EditorSavedEvent event) { event.player.addStat(CompilerMod.achievementSaveFirst, 1); //If compiler errors event.player.addStat(CompilerMod.achievementError, 1); } @Mod.EventHandler public void onRobotChat(AchievementEvent.RobotChatEvent event) { event.player.addStat(CompilerMod.achievementRobotChat, 1); } @Mod.EventHandler public void onRobotBroadcast(AchievementEvent.RobotBroadcastEvent event) { event.player.addStat(CompilerMod.achievementBroadcastMessage, 1); //If channel has listeners event.player.addStat(CompilerMod.achievementCoodination, 1); } @Mod.EventHandler public void onRobotAction(AchievementEvent.RobotActionEvent event) { if(event.robotAction.equals("explode")) event.player.addStat(CompilerMod.achievementRobotExplode, 1); if(event.robotAction.equals("attack")) event.player.addStat(CompilerMod.achievementRobotAttackOther, 1); } @Mod.EventHandler public void onRobotPlaceBlock(AchievementEvent.RobotPlaceBlockEvent event) { //Check how blocks are placed event.player.addStat(CompilerMod.achievementBuildHouse, 1); } } And the events are set up as follows: public class AchievementEvent extends Event { public final EntityPlayer player; private AchievementEvent(EntityPlayer player){ this.player = player; } public static class EditorOpenedEvent extends AchievementEvent { public EditorOpenedEvent(EntityPlayer player) { super(player); } } public static class EditorSavedEvent extends AchievementEvent { public EditorSavedEvent(EntityPlayer player) { super(player); } } public static class RobotChatEvent extends AchievementEvent { public String chatMessage; public RobotChatEvent(EntityPlayer owner, String chatMessage) { super(owner); this.chatMessage = chatMessage; } } public static class RobotBroadcastEvent extends AchievementEvent { public String message; public String channel; public RobotBroadcastEvent(EntityPlayer owner, String message, String channel) { super(owner); this.message = message; this.channel = channel; } } public static class RobotActionEvent extends AchievementEvent { //This could be changed to an enum public String robotAction; public RobotActionEvent(EntityPlayer owner, String robotAction) { super(owner); this.robotAction = robotAction; } } public static class RobotPlaceBlockEvent extends AchievementEvent { //This could be changed to an enum public Block block; public RobotPlaceBlockEvent(EntityPlayer owner, Block block) { super(owner); this.block = block; } } } But when I attempt to raise an event, nothing happens. Here is an example of a trigger I tried to set up: public GuiProgramEditor() { super(); //TEMP ACHIEVEMENT TEST MinecraftForge.EVENT_BUS.post(new AchievementEvent.EditorOpenedEvent(Minecraft.getMinecraft().player)); } Which is located in a GUI constructor. And finally, the registrations @Mod.EventHandler public void init(FMLInitializationEvent event) { Proxy.registerModels(); achievementOpenEditor = new Achievement("", "Opened editor", 0, 0, Items.BOOK, null); achievementSaveFirst = new Achievement("", "Saved first script", 2, 0, Items.ITEM_FRAME, achievementOpenEditor); achievementRobotChat = new Achievement("", "First words", 2, 2, Items.GHAST_TEAR, achievementSaveFirst); achievementRobotExplode = new Achievement("", "Boom", 4,4, Items.TNT_MINECART, achievementSaveFirst).setSpecial(); achievementRobotAttackOther = new Achievement("", "Ouch", 2,4, Items.DIAMOND_SWORD, achievementSaveFirst); achievementBroadcastMessage = new Achievement("", "Robot phone home", 3, 0, Items.WRITABLE_BOOK, achievementSaveFirst); achievementCoodination = new Achievement("", "Hello? This is home", 3, 2, Items.WRITTEN_BOOK, achievementBroadcastMessage); achievementBuildHouse = new Achievement("", "Nice house", 4,4, Items.COMMAND_BLOCK_MINECART, achievementSaveFirst); achievementError = new Achievement("", "ERROR", 5,5, Items.BOOK, achievementSaveFirst).setSpecial(); educodeAchievementPage = new AchievementPage("EduCode", achievementOpenEditor, achievementSaveFirst, achievementRobotChat, achievementRobotExplode, achievementRobotAttackOther, achievementBroadcastMessage, achievementCoodination, achievementBuildHouse, achievementError); AchievementPage.registerAchievementPage(educodeAchievementPage); } Can someone point out to me what I am doing wrong? I have followed countless tutorials about the achievement system, but none of them seem to touch the subject of custom events. And as a last note, where do I need to put my en_US.lang file, because none of the directories I've tried yet has worked for me Thanks in advance EDIT: This is on Forge 13.20.0.2228 for Minecraft 1.11.2

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.