Posted August 14, 201312 yr How would I go about creating a random event? As in like every 2 or 4 minutes, there's a chance that an event occurs. Kain
August 14, 201312 yr You would subscribe to the event you want, (assuming your talking forge events if not, ill cover that too) then create a random and do the random check thing. Have a "timer" that starts at whatever the random number is, and when it reaches 0, execute the code you want and then make the timer variable equal the next random number etc. For something other than a forge event, it is pretty much the same thing. You just have to change the way it is executed. Say it gets executed via the right click of a sword, you would just execute the timer thing there. Wait, sorry. If you are actually wanting the event to happen every random amount of time, you will want the forge event LivingUpdateEvent. If the event is to do with a player, do a check to see if it is the Player updating etc. If you need a better explanation, just ask. I am Mew. The Legendary Psychic. I behave oddly and am always playing practical jokes. I have also found that I really love making extremely long and extremely but sometimes not so descriptive variables. Sort of like what I just did there
August 14, 201312 yr Author Is there an event that is called whenever the player starts walking? Like in any sort of direction would be fine. Kain
August 14, 201312 yr Not that I know of... Sorry. I am Mew. The Legendary Psychic. I behave oddly and am always playing practical jokes. I have also found that I really love making extremely long and extremely but sometimes not so descriptive variables. Sort of like what I just did there
August 14, 201312 yr you could use a tickhandler and use a Random to calculate the change of something happening how to debug 101:http://www.minecraftforge.net/wiki/Debug_101 -hydroflame, author of the forge revolution-
August 14, 201312 yr Is there an event that is called whenever the player starts walking? Like in any sort of direction would be fine. call me Mr Hackypants, but i just tried, this... does this help you? private int lastDistanceWalked = 0; @ForgeSubscribe public void onPlayerEvent(LivingUpdateEvent event) { if ( event.entity instanceof EntityPlayer ) { EntityPlayer thisPlayer = (EntityPlayer) event.entity; int walkedNow = (int) Math.floor(thisPlayer.distanceWalkedModified); if ( walkedNow != lastDistanceWalked ) { System.out.println(thisPlayer.getEntityName() + " has walked " + walkedNow); lastDistanceWalked = walkedNow; } } }
August 14, 201312 yr *facepalms* I really wish I had thought of that Thought technically speaking my thought process wasn't going along the lines of actually checking the walking distance, more on if there was an event for it... I am Mew. The Legendary Psychic. I behave oddly and am always playing practical jokes. I have also found that I really love making extremely long and extremely but sometimes not so descriptive variables. Sort of like what I just did there
August 14, 201312 yr *facepalms* I really wish I had thought of that Thought technically speaking my thought process wasn't going along the lines of actually checking the walking distance, more on if there was an event for it... tbh, i nearly went "nah" myself... and then had a lateral moment when i saw that property exposed
August 14, 201312 yr Good on you for that stroke of inspiration! That gets OP one step closer to his goal I am assuming I am Mew. The Legendary Psychic. I behave oddly and am always playing practical jokes. I have also found that I really love making extremely long and extremely but sometimes not so descriptive variables. Sort of like what I just did there
August 14, 201312 yr @ingiethigny, you forgot the part where you need a hashmap to store every players walk distance, the way thsi is setup now mean that once one person start walking this will trigger the event for everyone how to debug 101:http://www.minecraftforge.net/wiki/Debug_101 -hydroflame, author of the forge revolution-
August 14, 201312 yr @ingiethigny, you forgot the part where you need a hashmap to store every players walk distance, the way thsi is setup now mean that once one person start walking this will trigger the event for everyone well, i didn't really forget that... i was more showing a proof of concept for the, erm... concept but yes, you'd definitely need that. 'course, you could say that if [any player]'s walk distance modulo 7 == 0 then "a random event has occurred" is still true edit: i'm picking 7 as an arbitrary prime number there, of course, i'm not suggesting that is a specific requirement of the suggestion
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.