Как сделать так, чтобы предмет при взятии давал силу?

382
2
24
Как сделать так, чтобы когда я брал предмет (в моём случае - SeriousDamage), то мне давался эффект силы :)mc_438-0:)на какое-то количество времени, а предмет УДАЛЯЛСЯ из инвентаря:unsure:. Очень прошу написать мне код, который это делает. Очень прошу:oops:. Умоляю:cry::cry:, на коленях стою:cry:. Я буду ну оччееееееень благодарен:)(y). Извините за то, что туповат и не понимаю как это делать + ленивый :giggle:
:mc_152-0:
:mc_72-0: :mc_46-0:
:mc_69-0::mc_331-0::mc_331-0::mc_331-0::mc_331-0::mc_331-0::mc_331-0::mc_331-0::mc_331-0::mc_331-0::mc_29-0:
:mc_70-0:
 
Решение
Я в новых версиях не силён...
Код:
@Mod(modid = SeruSamMod.MODID, name = SeruSamMod.NAME, version = SeruSamMod.VERSION)
public class SeruSamMod {

    public static final String
    MODID = "seru_sam",
    NAME = "Seru Sam Mod",
    VERSION = "0.12";

    public static Item
    item_seru_sam
    ;

    @EventHandler
    public void preInit(FMLPreInitializationEvent event) {

        MinecraftForge.EVENT_BUS.register(new EventsForge());

        item_seru_sam = new ItemSeruSam().setRegistryName("item_seru_sam").setCreativeTab(CreativeTabs.MISC)
                .setHasSubtypes(true).setMaxDamage(0).setNoRepair();
        ForgeRegistries.ITEMS.register(item_seru_sam)...

Eifel

Модератор
1,623
78
608
Дублирование темы и неоднократное нарушение правил. Если хотите, чтоб за вас сделали мод, тогда вам в Коммерческий раздел. Думаю, двухдневный бан поможет вам во всем разобраться и после него вы вернетесь на форум уже с более адекватными вопросами и без попрошайничества.

@Samual не хочет читать правила. @Samual хочет, чтоб за него писали код. @Samual ленивый. Не будь как @Samual .
 
Последнее редактирование:

timaxa007

Модератор
5,831
409
672
Я в новых версиях не силён...
Код:
@Mod(modid = SeruSamMod.MODID, name = SeruSamMod.NAME, version = SeruSamMod.VERSION)
public class SeruSamMod {

    public static final String
    MODID = "seru_sam",
    NAME = "Seru Sam Mod",
    VERSION = "0.12";

    public static Item
    item_seru_sam
    ;

    @EventHandler
    public void preInit(FMLPreInitializationEvent event) {

        MinecraftForge.EVENT_BUS.register(new EventsForge());

        item_seru_sam = new ItemSeruSam().setRegistryName("item_seru_sam").setCreativeTab(CreativeTabs.MISC)
                .setHasSubtypes(true).setMaxDamage(0).setNoRepair();
        ForgeRegistries.ITEMS.register(item_seru_sam);
        //Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(itemTest, 0, new ModelResourceLocation(itemTest.getRegistryName(), "inventory"));

    }


}
Код:
public class ItemSeruSam extends Item {

    public ActionResult<ItemStack> onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand handIn) {
        if (onItemPickup(playerIn, playerIn.getHeldItem(handIn))) {
            playerIn.getHeldItem(handIn).shrink(1);
            if (playerIn.getHeldItem(handIn).getCount() <= 0)
                return new ActionResult<ItemStack>(EnumActionResult.SUCCESS, null);
            else
                return new ActionResult<ItemStack>(EnumActionResult.SUCCESS, playerIn.getHeldItem(handIn));
        }
        return super.onItemRightClick(worldIn, playerIn, handIn);
    }

    public boolean onItemPickup(EntityPlayer entityPlayer, ItemStack itemStack) {
        entityPlayer.addPotionEffect(new PotionEffect(MobEffects.STRENGTH, 1200, 0, false, false));
        return true;
    }

}
Код:
public class EventsForge {

    @SubscribeEvent
    public void entityItemPickupEvent(EntityItemPickupEvent event) {
        if (!(event.getEntityPlayer() instanceof EntityPlayerMP)) return;
        ItemStack itemStack = event.getItem().getItem();
        if (itemStack.getItem() instanceof ItemSeruSam) {
            if (((ItemSeruSam)itemStack.getItem()).onItemPickup(event.getEntityPlayer(), itemStack)) {
                event.getItem().setDead();
                event.setCanceled(true);
            }
        }
    }

}
 
Сверху