Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Egietje

Forge Modder
  • Joined

  • Last visited

Everything posted by Egietje

  1. I'm trying to make a compliment machine that if you are holding cheese and right-click it it gives you a compliment and takes 1 cheese, but now it takes 3 cheese package com.Egietje.degeweldigemod.init; import java.util.Random; import javax.annotation.Nullable; import net.minecraft.block.Block; import net.minecraft.block.BlockChest; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.stats.StatList; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; import net.minecraft.util.math.BlockPos; import net.minecraft.util.text.TextComponentString; import net.minecraft.world.ILockableContainer; import net.minecraft.world.World; public class ComplimentsMachine extends Block { public Random random = new Random(); public ComplimentsMachine(Material materialIn) { super(materialIn); } public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, @Nullable ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) { int compliment = random.nextInt(2); Item holdingItem = playerIn.getHeldItemMainhand() != null ? playerIn.getHeldItemMainhand().getItem() : null; if (worldIn.isRemote) { return true; } else { if (compliment == 0 && holdingItem == CheeseItems.cheese) { playerIn.addChatMessage(new TextComponentString("§e" + playerIn.getDisplayNameString() + "§r§6 is AWESOME.§r")); removeItem(playerIn, heldItem); } else { if (compliment == 1 && holdingItem == CheeseItems.cheese) { playerIn.addChatMessage(new TextComponentString("§6I love§r §e" + playerIn.getDisplayNameString() + "§r§6.§r")); removeItem(playerIn, heldItem); } else { return true; } } return true; } } public void removeItem(EntityPlayer playerIn, ItemStack removeitem) { IInventory inv = playerIn.inventory; if (!playerIn.isCreative()) { for(int i = 0; i < inv.getSizeInventory(); i++) { if(inv.getStackInSlot(i) != null) { ItemStack j = inv.getStackInSlot(i); if(j.getItem() != null && j.getItem() == removeitem.getItem()) { inv.decrStackSize(playerIn.inventory.currentItem, 1); } } } } } }
  2. How could I do that?
  3. I want to only take 1 cheese from 1 stack, but it takes 1 cheese from every stack of cheese, here's my code: package com.Egietje.degeweldigemod.init; import java.util.Random; import javax.annotation.Nullable; import net.minecraft.block.Block; import net.minecraft.block.BlockChest; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.stats.StatList; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; import net.minecraft.util.math.BlockPos; import net.minecraft.util.text.TextComponentString; import net.minecraft.world.ILockableContainer; import net.minecraft.world.World; public class ComplimentsMachine extends Block { public Random random = new Random(); public ComplimentsMachine(Material materialIn) { super(materialIn); } public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, @Nullable ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) { int compliment = random.nextInt(2); Item holdingItem = playerIn.getHeldItemMainhand() != null ? playerIn.getHeldItemMainhand().getItem() : null; if (worldIn.isRemote) { return true; } else { if (compliment == 0 && holdingItem == CheeseItems.cheese) { playerIn.addChatMessage(new TextComponentString("§e" + playerIn.getDisplayNameString() + "§r§6 is AWESOME.§r")); removeItem(playerIn, heldItem); } else { if (compliment == 1 && holdingItem == CheeseItems.cheese) { playerIn.addChatMessage(new TextComponentString("§6I love§r §e" + playerIn.getDisplayNameString() + "§r§6.§r")); removeItem(playerIn, heldItem); } else { return true; } } return true; } } public void removeItem(EntityPlayer playerIn, ItemStack removeitem) { IInventory inv = playerIn.inventory; for(int i = 0; i < inv.getSizeInventory(); i++) { if(inv.getStackInSlot(i) != null) { ItemStack j = inv.getStackInSlot(i); if(j.getItem() != null && j.getItem() == removeitem.getItem()) { inv.decrStackSize(i, 1); } } } } }
  4. Fixed it by doing: Item holdingItem = playerIn.getHeldItemMainhand() != null ? playerIn.getHeldItemMainhand().getItem() : null; Thanks!
  5. When I right-click without a item my game crashes, I'm trying to make a compliment machine that if you right-click on it with cheese it will take 1 cheese and say a compliment in chat, here's my code: package com.Egietje.degeweldigemod.init; import java.util.Random; import javax.annotation.Nullable; import net.minecraft.block.Block; import net.minecraft.block.BlockChest; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.stats.StatList; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; import net.minecraft.util.math.BlockPos; import net.minecraft.util.text.TextComponentString; import net.minecraft.world.ILockableContainer; import net.minecraft.world.World; public class ComplimentsMachine extends Block { public Random random = new Random(); public ComplimentsMachine(Material materialIn) { super(materialIn); } public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, @Nullable ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) { int compliment = random.nextInt(2); //chooses a random compliment out of 2(for now) Item holdingItem = playerIn.getHeldItemMainhand().getItem(); //detects holding item if (worldIn.isRemote) { return true; } else { if (compliment == 0 && holdingItem == CheeseItems.cheese) { playerIn.addChatMessage(new TextComponentString("§e" + playerIn.getDisplayNameString() + "§r§6 is AWESOME.§r")); } else { if (compliment == 1 && holdingItem == CheeseItems.cheese) { playerIn.addChatMessage(new TextComponentString("§6I love§r §e" + playerIn.getDisplayNameString() + "§r§6.§r")); } else { return true; } } return true; } } } EDIT: I'm a bit new to coding, but I can understand most things you throw at me
  6. I've found the wrong thing, at the if (compliment == 0) part i have player.addChatMessage and not playerIn.addChatMessage
  7. Oh and btw, that welcome PLAYERNAME, have fun was as a test
  8. package com.Egietje.degeweldigemod.init; import java.util.Random; import javax.annotation.Nullable; import net.minecraft.block.Block; import net.minecraft.block.BlockChest; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.stats.StatList; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; import net.minecraft.util.math.BlockPos; import net.minecraft.util.text.TextComponentString; import net.minecraft.world.ILockableContainer; import net.minecraft.world.World; public class ComplimentsMachine extends Block { public Random random = new Random(); public EntityPlayer player; public int compliment = random.nextInt(2); public ComplimentsMachine(Material materialIn) { super(materialIn); } public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, @Nullable ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) { Item equipped = playerIn.getHeldItemMainhand() != null ? playerIn.getHeldItemMainhand().getItem() : null; if (worldIn.isRemote) { return true; } else { if (compliment == 0) { player.addChatMessage(new TextComponentString("§6Welcome§r §e" + player.getDisplayNameString() + "§r§6, have fun!§r")); } return true; } } }
  9. When i right-click on the machine it doesn't do anything
  10. Those where from another thing i tried, forgot to remove them
  11. Hello, I am working on a mod and i want to make a machine that if you click on it with a specific item takes the item and "says" something in chat and I've tried using the onBlockActivated but it doesn't work, here's my code: public class ComplimentsMachine extends Block { public Random random = new Random(); public EntityPlayer player; public int compliment = random.nextInt(2); boolean c0, c1; public ComplimentsMachine(Material materialIn) { super(materialIn); } public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, @Nullable ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) { Item equipped = playerIn.getHeldItemMainhand() != null ? playerIn.getHeldItemMainhand().getItem() : null; if (worldIn.isRemote) { return true; } else { if (compliment == 0) { player.addChatMessage(new TextComponentString("§6Welcome§r §e" + player.getDisplayNameString() + "§r§6, have fun!§r")); } return true; } } } Please help!
  12. Thanks!
  13. If someone knows a tutorial on how to add tools and armor in 1.9 please tell me

Important Information

By using this site, you agree to our Terms of Use.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.