Posted April 16, 20214 yr I currently have a custom shootable item which fires a projectile entity, what would be the best way to make it so that when right clicked it fires multiple in quick succession with a tick delay in between
April 16, 20214 yr Author I know I have to use a tick event (I believe clienttickevent)but I don't know how to properly integrate it into an on right click action
April 17, 20214 yr Author So I thought that I had gotten pretty far on my own but now apparently my code crashes the game. I am new to using the forge API and modding in general and some help on why this crashes the game and how to fix it would be greatly appreciated: public class SpecialItem extends ShootableItem { public SpecialItem(Properties properties){ super(properties); } @Override public Predicate<ItemStack> getInventoryAmmoPredicate() { return null; } @Override public int func_230305_d_() { return 15; } public int tcount=0; @SubscribeEvent public void ontick(TickEvent.ClientTickEvent event){ tcount++; } @Override public ActionResult<ItemStack> onItemRightClick(World worldIn, PlayerEntity playerIn, Hand handIn) { if (!playerIn.getCooldownTracker().hasCooldown(this)) { playerIn.getCooldownTracker().setCooldown(this, 40); Vector3d v3 = playerIn.getLook(1); for (tcount = 0; tcount <= 40;) { if (tcount%10 == 0 && tcount!= 40) { final SmallFireballEntity entitysmallfireball = new SmallFireballEntity(playerIn.getEntityWorld(), playerIn.getPosX(), playerIn.getPosY() + playerIn.getEyeHeight() - 0.4, playerIn.getPosZ(), v3.x + playerIn.getRNG().nextGaussian() * 0.05, v3.y, v3.z); entitysmallfireball./* shoot */func_234612_a_(playerIn, playerIn.rotationPitch, playerIn.rotationYaw, 0.0f, 1.5f, 1.0f); worldIn.addEntity(entitysmallfireball); } } tcount = 0; return ActionResult.resultSuccess(playerIn.getHeldItem(handIn)); } return ActionResult.resultFail(playerIn.getHeldItem(handIn)); } }
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.