Posted February 11, 20214 yr I have an event which fires when a "clam" item is used. I would like to summon an item at the player's location, within the if/else statement shown below. @SubscribeEvent public static void clamUsed(PlayerInteractEvent.RightClickItem event) { LivingEntity player = event.getEntityLiving(); ItemStack mainhand = player.getItemStackFromSlot(EquipmentSlotType.MAINHAND); if (player.getHeldItemMainhand().getItem() == RegistryHandler.CLAM.get()) { Random random = new Random(); if (random.nextInt(20 - 1 + 1) + 1 == 20) { //Give the player Item A } else { //Give the player Item B } mainhand.shrink(1); } } How? Please be patient, I'm a dunce.
February 11, 20214 yr 4 hours ago, Moomallowz said: I have an event which fires when a "clam" item is used. do you want to spawn a random item so every time when the event is fired a new Item? use Item#getItemById and spawn the item as below or choose a random item from a range of items (I mean, for example, if Random#nextInt == 10 spawn a diamond (everytime)) than use this with your item (replace null with your item): ItemEntity itemEntity = new ItemEntity(world, player.getPosX(), player.getPosY(), player.getPosZ(), null); world.addEntity(itemEntity);
February 11, 20214 yr Author 15 hours ago, Luis_ST said: ItemEntity itemEntity = new ItemEntity(world, player.getPosX(), player.getPosY(), player.getPosZ(), null); world.addEntity(itemEntity); You mention the 'world' variable, but it doesn't seem to exist. Must I create it in the event as well, and if so, how? Please be patient, I'm a dunce.
February 12, 20214 yr Author Never mind, I've figured it out on my own. Please be patient, I'm a dunce.
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.