Posted May 12, 201510 yr Hello guys, Is there really a way to enable or disable certain task using items or right clicks on blocks? Im working on a MOD that uses an item to actually move my custom AI forward, sideways or backwards. Ive managed to create a class that extends EntityAIBase and is working fine. I just want to know is it possible for me to add or remove the task to my custom AI ingame by using custom items? Lets say my AI is idle, when i use an item, the ai will move 5 blocks to the front, back, right or left, either one. This is what i want. Cheers
May 12, 201510 yr Your AI class should have a method called shouldExecute(). You can check the conditions you want there to prevent it from executing if you don't want it to. There is also a method called continueExecuting() where you can check to see if there is any condition met for stopping the AI. Check out my tutorials here: http://jabelarminecraft.blogspot.com/
May 12, 201510 yr Author I tried passing a boolean in my onItemUse method to my shouldExecute but it didnt read. I want it to execute when i right click on an item. Is that possible?
May 12, 201510 yr You need to make a boolean field in your entity as well. Then in the interact() method of your entity, check the type of item being held by the player. If it is the right item, then set the field in your entity. Your AI task should have access to the entity, and so it can then look up the field value since you copied it to the entity in the interact() method. Check out my tutorials here: http://jabelarminecraft.blogspot.com/
May 12, 201510 yr Author Thanks for ur reply. I just want to know how do i check for the itemstack im currently holding. I know that we need to use the player.inventory.getCurrentItem(); I want to check for my custom item. The method returns an ItemStack. How do i check if the player is holding my Custom Item? Thanks
May 12, 201510 yr The method returns an ItemStack. The fuck do you think an ItemStack is? It's a stack of items. Look at its gorram fields and methods. 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.
May 12, 201510 yr Thanks for ur reply. I just want to know how do i check for the itemstack im currently holding. I know that we need to use the player.inventory.getCurrentItem(); I want to check for my custom item. The method returns an ItemStack. How do i check if the player is holding my Custom Item? Thanks As Draco says, look at the type hierarchy for ItemStack and familiarize yourself with all the methods available. Anyway, there is a getItem() method for the ItemStack that you should compare to see if it is equal to the instance of your custom item. Check out my tutorials here: http://jabelarminecraft.blogspot.com/
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.