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.

Alexmaster75

Members
  • Joined

  • Last visited

  1. Nevermind, i figured out myself, for anyone that finds this post the thing is playerIn.inventory.currentItem that returns and int value for the hotbar
  2. So I have to get the current selected player slot of the inventory, is there a function that does this and returns a number or no? P.S. I'm in 1.16.5 (forge 36.2.34) and I now this version is no longer supported, but still is it the same from 1.16.5 to 1.18+? Thanks.
  3. The title it's self explanatory but i need to get the saturation level of the player for a class i'm creating, for now i didn't find anything useful. Thanks
  4. Hi i would like some help to cast my custom item into a method Vanilla Minecraft uses to return an empty bottle to the player after the use, the class i'm using as pattern it's "HoneyBottleItem" (forge_snapshot > net > minecraft > item > HoneyBottleItem). The issue i'm occurring it's not recognizing the custom item of the mod, substituted with the glass bottle of Minecraft, here's my version: package net.alexmaster75.tea.item.custom; import net.alexmaster75.tea.item.TeaItems; import net.minecraft.advancements.CriteriaTriggers; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.ServerPlayerEntity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; import net.minecraft.stats.Stats; import net.minecraft.world.World; public class TeaCupConsume extends Item { public TeaCupConsume(Properties properties) { super(properties); } public ItemStack onItemUseFinish(ItemStack stack, World worldIn, LivingEntity entityLiving) { super.onItemUseFinish(stack, worldIn, entityLiving); if (entityLiving instanceof ServerPlayerEntity) { ServerPlayerEntity serverplayerentity = (ServerPlayerEntity)entityLiving; CriteriaTriggers.CONSUME_ITEM.trigger(serverplayerentity, stack); serverplayerentity.addStat(Stats.ITEM_USED.get(this)); } if (stack.isEmpty()) { return new ItemStack(TeaItems.EMPTY_CUP); // <- Error: Required type: IItemProvider // Provided: RegistryObject <net.minecraft.item.Item> } else { if (entityLiving instanceof PlayerEntity && !((PlayerEntity)entityLiving).abilities.isCreativeMode) { ItemStack itemstack = new ItemStack(TeaItems.EMPTY_CUP); // <- Same error PlayerEntity playerentity = (PlayerEntity)entityLiving; if (!playerentity.inventory.addItemStackToInventory(itemstack)) { playerentity.dropItem(itemstack, false); } } return stack; } } } ^ My Version It may seem a stupid error but i'm not getting the solution Thanks
  5. where is it, it's obviously more logical looking in the IDE and i swear that was the first thing i did, but didn't find it It would be way more easy understand from the file that from examples online
  6. i'm trying to access that method from, i don't even remember, i found this "https://nekoyue.github.io/ForgeJavaDocs-NG/javadoc/1.16.5/net/minecraft/item/ItemStack.html" but i don't know if it is correct or anything; i didn't take any java class irl but i don't think calling this method should be this complicated, or the more logical thing would be that i'm just stupid and i'm not getting such a simple idea
  7. yeah, calling a method it's using it in another context, while override it's taking a piece of another method anyway i want to be clear: i may not know well java, but i'm trying to understand at the moment, even if some definitions must be understood well to comprehend
  8. package net.alexmaster75.etg.item.custom; import net.minecraft.item.Item; public class EnrichedUraniumFuel extends Item { public EnrichedUraniumFuel(Properties properties) { super(properties); } public String getOrCreateTagElement(String enrichedPercentage) { return enrichedPercentage; } } Should resemble this?
  9. package net.alexmaster75.etg.item.custom; import net.alexmaster75.etg.ETG; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; import javax.annotation.Nullable; public class EnrichedUraniumFuel extends Item { public EnrichedUraniumFuel(Properties properties) { super(properties); } @Nullable @Override public CompoundNBT ItemStack#getOrCreateTagElement(ETG.MOD_ID) { super(EnrichedUraniumFuel); return super.getShareTag(stack); } } Am i dumb?
  10. i tried and it doesn't work, primarily i'm not getting where exactly i should code that piece in
  11. I tried this, the registration of the item it's just a registry of all the items, here's what: package net.alexmaster75.etg.item; import net.alexmaster75.etg.ETG; import net.alexmaster75.etg.item.custom.EnrichedUraniumFuel; import net.minecraft.item.Item; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.fml.RegistryObject; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; public class ModItemsMain { public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, ETG.MOD_ID); public static final RegistryObject<Item> ENRICHED_URANIUM_FUEL = ITEMS.register("enriched_uranium_fuel", () -> new EnrichedUraniumFuel(new Item.Properties().group(ModItemMainGroup.MAIN_GROUP).maxDamage(2000))); public static void register(IEventBus eventBus) { ITEMS.register(eventBus); } } I excluded all the other items just for the sake of the context
  12. well it doesn't work, and i'm referring to

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.