Jump to content

Alexmaster75

Members
  • Posts

    19
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Alexmaster75's Achievements

Tree Puncher

Tree Puncher (2/8)

0

Reputation

  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
×
×
  • Create New...

Important Information

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