Zillex_ Posted December 11, 2017 Share Posted December 11, 2017 (edited) Hello, this is a really simple problem. when I use ClientChatReceivedEvent my chat completely stops working, I can type but nothing shows up. all I'm trying to do is play a sound when the server says something eg: Zillex_ was killed by etc. thanks for your answers Edited December 11, 2017 by Zillex_ Quote Link to comment Share on other sites More sharing options...
Differentiation Posted December 11, 2017 Share Posted December 11, 2017 Please post your code. Quote Link to comment Share on other sites More sharing options...
Zillex_ Posted December 11, 2017 Author Share Posted December 11, 2017 (edited) 35 minutes ago, Differentiation said: Please post your code. Spoiler package *****; import cerni.proxy.CommonProxy; import ibxm.Player; import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.event.ClientChatReceivedEvent; import net.minecraftforge.client.event.RenderGameOverlayEvent.Chat; import net.minecraftforge.client.event.sound.SoundEvent; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.ServerChatEvent; import net.minecraftforge.event.entity.living.LivingDeathEvent; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod.EventHandler; import net.minecraftforge.fml.common.Mod.Instance; import net.minecraftforge.fml.common.SidedProxy; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; @Mod(modid = Main.MOD_ID, name = Main.NAME, version = Main.VERSION) public class Main { public static final String MOD_ID = "zillexcm"; public static final String NAME = "*****"; public static final String VERSION = "0.1"; public String msg; @Instance public static Main instance; @SidedProxy(clientSide = Reference.CLIENT_PROXY_CLASS, serverSide = Reference.SERVER_PROXY_CLASS) public static CommonProxy proxy; @Mod.EventHandler public void init(FMLInitializationEvent event) { MinecraftForge.EVENT_BUS.register(this); } @SubscribeEvent public void onChatReceived(ClientChatReceivedEvent event) { if(msg.contains("Zillex_ was killed by")) { Minecraft.getMinecraft().thePlayer.playSound("zillexcm:sounds.jigglypuff1", 5.0F, 1.0F); } if(event.message.contains("Zillex_ fell into the void")) { Minecraft.getMinecraft().thePlayer.playSound("zillexcm:sounds.jigglypuff2", 5.0F, 1.0F); } if(event.message.contains("Zillex_ was thrown into the void")) { Minecraft.getMinecraft().thePlayer.playSound("zillexcm:sounds.jigglypuff3", 5.0F, 1.0F); } if(event.message.contains("fell from a high place")) { Minecraft.getMinecraft().thePlayer.playSound("zillexcm:sounds.jigglypuff4", 5.0F, 1.0F); } } } Edited December 11, 2017 by Zillex_ Quote Link to comment Share on other sites More sharing options...
Zillex_ Posted December 12, 2017 Author Share Posted December 12, 2017 bump Quote Link to comment Share on other sites More sharing options...
larsgerrits Posted December 12, 2017 Share Posted December 12, 2017 Using ClientChatReceivedEvent is probably the reason it isn't working, and I don't know why it was the first event you thought of to detect player deaths, but there's the LivingDeathEvent you can use to detect entity deaths (for players: event.getEntityLiving() instanceof EntityPlayer). Quote Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support. 1.12 -> 1.13 primer by williewillus. 1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support. http://www.howoldisminecraft1710.today/ Link to comment Share on other sites More sharing options...
Zillex_ Posted December 12, 2017 Author Share Posted December 12, 2017 1 hour ago, larsgerrits said: Using ClientChatReceivedEvent is probably the reason it isn't working, and I don't know why it was the first event you thought of to detect player deaths, but there's the LivingDeathEvent you can use to detect entity deaths (for players: event.getEntityLiving() instanceof EntityPlayer). I'd rather not use that because I'm making the mod for a specific person who wants it to only play when they die and not for others Quote Link to comment Share on other sites More sharing options...
jabelar Posted December 12, 2017 Share Posted December 12, 2017 4 hours ago, Zillex_ said: I'd rather not use that because I'm making the mod for a specific person who wants it to only play when they die and not for others Then just check for his/her username when you're processing the event. Quote Check out my tutorials here: http://jabelarminecraft.blogspot.com/ Link to comment Share on other sites More sharing options...
Choonster Posted December 12, 2017 Share Posted December 12, 2017 4 hours ago, Zillex_ said: I'd rather not use that because I'm making the mod for a specific person who wants it to only play when they die and not for others You can also check which player died by checking their UUID. Just now, jabelar said: Then just check for his/her username when you're processing the event. Usernames can change, it's best to compare UUIDs instead as they're constant and unique. Quote Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future. Link to comment Share on other sites More sharing options...
Zillex_ Posted December 12, 2017 Author Share Posted December 12, 2017 (edited) 5 hours ago, Choonster said: You can also check which player died by checking their UUID. Usernames can change, it's best to compare UUIDs instead as they're constant and unique. But how will i know his uuid? or even mine for that matter Edited December 12, 2017 by Zillex_ Quote Link to comment Share on other sites More sharing options...
Zillex_ Posted December 12, 2017 Author Share Posted December 12, 2017 1 hour ago, diesieben07 said: https://mcuuid.net/ this plays when not checking the uuid but when it checks it the sound doesn't play, any suggestions? code: Spoiler @SubscribeEvent public void onDeath(LivingDeathEvent event) { if(event.entity instanceof EntityPlayer) { if(!event.entity.isEntityAlive()) { if(event.entity.getUniqueID().equals("74a1dcea-1946-45a9-a373-5f1b211f4d07")) { Minecraft.getMinecraft().thePlayer.playSound("zillexcm:sounds.jigglypuff", 5.0F, 1.0F); } Quote Link to comment Share on other sites More sharing options...
Zillex_ Posted December 12, 2017 Author Share Posted December 12, 2017 bump Quote Link to comment Share on other sites More sharing options...
Zillex_ Posted December 12, 2017 Author Share Posted December 12, 2017 1 hour ago, diesieben07 said: getUniqueID returns a UUID, it will never be equal to a String. Your IDE should warn you about this. Either it doesn't (get a proper IDE or configure it properly) or you ignored that warning (why?). Also why are you bumping after 2 hours? sorry for the bump, and yes I accidentally ignored the warning woops. but what do I do, you didn't give me a fix? Quote Link to comment Share on other sites More sharing options...
Zillex_ Posted December 12, 2017 Author Share Posted December 12, 2017 32 minutes ago, diesieben07 said: If you know basic Java you should know how to fix this. this still doesn't help me, i know basic java, I have made plugins for servers before. This is my first week with the forge api, so will you help? or just give me more elusive statements Quote Link to comment Share on other sites More sharing options...
Zillex_ Posted December 12, 2017 Author Share Posted December 12, 2017 5 minutes ago, diesieben07 said: This has nothing to do with the Forge API. Two objects of different types (java.util.UUID and java.lang.String, both not from the Forge API) will never be equal to each other. You have to use the same type for both, in this case java.util.UUID is appropriate, since you are comparing UUIDs. okay but how do I compare the uuids with the forge api the only function compareTo(UUID) which says it takes in a byte but as you mentioned I can't get a byte to a UUID or can I? I'm not fluent in the forge api so what do I pass inside the compareTo(UUID) a byte or a UUID? Quote Link to comment Share on other sites More sharing options...
Draco18s Posted December 12, 2017 Share Posted December 12, 2017 someUuid == otherUuid Quote Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given. Link to comment Share on other sites More sharing options...
Zillex_ Posted December 12, 2017 Author Share Posted December 12, 2017 4 minutes ago, Draco18s said: someUuid == otherUuid thanks but its late and I understand nothing so I did this: if(event.entity.getUniqueID().compareTo(74a1dcea-1946-45a9-a373-5f1b211f4d07 == 74a1dcea-1946-45a9-a373-5f1b211f4d07)) ik I'm doing something wrong but only worked with uuids a few times Quote Link to comment Share on other sites More sharing options...
Zillex_ Posted December 12, 2017 Author Share Posted December 12, 2017 7 minutes ago, diesieben07 said: but you said you are not a Java beginner. not what I meant, I am a beginner but usually know what I'm doing but I thought, hey lets go on the forums for help instead of taking a couple hours to figure it out on my own, but all you're giving me is the same statement in different ways Quote Link to comment Share on other sites More sharing options...
Zillex_ Posted December 12, 2017 Author Share Posted December 12, 2017 1 minute ago, diesieben07 said: equals. You need to call equals. Seriously, you could not figure that out from my responses? "if(event.entity.getUniqueID().equals(74a1dcea-1946-45a9-a373-5f1b211f4d07))" gives an error so I tried something else Quote Link to comment Share on other sites More sharing options...
Zillex_ Posted December 12, 2017 Author Share Posted December 12, 2017 did you even read this: "but I thought, hey lets go on the forums for help instead of taking a couple hours to figure it out on my own" Quote Link to comment Share on other sites More sharing options...
Zillex_ Posted December 12, 2017 Author Share Posted December 12, 2017 (edited) 3 minutes ago, diesieben07 said: Did you even read this (emphasis added)? UUID uid = UUID.fromString("74a1dcea-1946-45a9-a373-5f1b211f4d07"); if(event.entity.getUniqueID().equals(uid)) { not even going to ask you for help even if its incorrect Edited December 12, 2017 by Zillex_ Quote Link to comment Share on other sites More sharing options...
Differentiation Posted December 15, 2017 Share Posted December 15, 2017 On 12/12/2017 at 6:06 PM, diesieben07 said: Tada, you win 100 points and a free flower emoji: ? Can I have some of those flowers too? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.