Bram_Borch Posted February 7, 2019 Posted February 7, 2019 (edited) Hello all, I've been trying to make an item disappear for a while after a certain amount of time, this is kind of a bit of luck. It's still a bit "random" when it disappears. This is my goal. If I hold the item then it should disappear after 10 seconds and if the item is thrown on the floor the item should disappear after 10 seconds, so I hold the item for 3 seconds and throw it on the ground it should disappear after 7 seconds. this is what I have until now only it works partly and no more. p.s sorry if it is messy I am a bit new with coding. public class OganessonBase extends Item implements IHasModel { public int maxcount = 2; public int count; public int maxcountground = 0; public int countground; public OganessonBase(String name) { setUnlocalizedName(name); setRegistryName(name); setCreativeTab(AtomicPieces.ATOMSELEMENTSTAB); ItemInit.ITEMS.add(this); } @Override public void onUpdate(ItemStack stack, World worldIn, Entity entityIn, int itemSlot, boolean isSelected) { if(stack.getItem() == ItemInit.OGANESSON_ELEMENT) { effectPlayer(entityIn, Potion.getPotionById(19), 0); if(count == maxcount) { stack.shrink(1); entityIn.dropItem(ItemInit.TEST_TWO, 1); count = 0; } super.onUpdate(stack, worldIn, entityIn, itemSlot, isSelected); } } private void effectPlayer(Entity entityIn, Potion potion, int amplifier) { EntityLivingBase player = (EntityLivingBase) entityIn; if (player.getActivePotionEffect(potion)== null || player.getActivePotionEffect(potion).getDuration() <=0) { player.addPotionEffect(new PotionEffect(potion.getPotionById(19), 140, amplifier, true, true)); } if (player.getActivePotionEffect(potion)== null || player.getActivePotionEffect(potion).getDuration() ==10) { player.attackEntityFrom(DamageSource.DROWN, 6); } if (player.getActivePotionEffect(potion)== null || player.getActivePotionEffect(potion).getDuration() ==1) { count++; } } @Override public boolean onEntityItemUpdate(EntityItem entityItem) { countground++; if(countground == maxcountground) { entityItem.setDead(); entityItem.dropItem(ItemInit.ITEM_TWO, 1); countground = 0; } return super.onEntityItemUpdate(entityItem); } @Override public void registerModels() { AtomicPieces.proxy.registerItemRenderer(this, 0, "inventory"); } } just to add some background if you do not quite understand what I want to go for. The mod is based on atoms and then also the part of the "decay time" and that is what I hope to do with this topic.thank you in advance. Edited February 7, 2019 by Bram_Borch Quote
Cadiboo Posted February 8, 2019 Posted February 8, 2019 What: Not using an interface to register models Why: This interface (commonly called IHasModel) is unnecessary. All items need models and nothing about model registration requires private or protected data. Consequences: This interface makes you write 4 lines of code in each class and 2+ lines of code in your registry event, when 1 or 2 lines of code could accomplish the exact same thing. It also leads to weird bugs when you forget to make your object implement the interface. How: Simply register each model in the registry event (1 line of code for each model) or write a loop that does it for you (1 or 2 lines depending on the implementation). For example: Write out registerModel(item, meta, variant) for each item and variant or write a loop like this for (Item item : allModItemsAndItemBlocks) registerModel(item, meta, variant); A list of all your items can be acquired in many ways, such as looping over registries and checking domain, keeping your own list, looping over registries and using an instanceof check etc. Quote About Me Spoiler My Discord - Cadiboo#8887 My Website - Cadiboo.github.io My Mods - Cadiboo.github.io/projects My Tutorials - Cadiboo.github.io/tutorials Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support. When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible. Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)
Cadiboo Posted February 8, 2019 Posted February 8, 2019 You need to use Capabilities on the ItemStack. Items are singletons (there is only one of each) and itemstacks are the actual things that are in your inventory. Quote About Me Spoiler My Discord - Cadiboo#8887 My Website - Cadiboo.github.io My Mods - Cadiboo.github.io/projects My Tutorials - Cadiboo.github.io/tutorials Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support. When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible. Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)
Bram_Borch Posted February 8, 2019 Author Posted February 8, 2019 Cadiboo thnx for your feedback i will change it i post my new code if i am done Quote
Cadiboo Posted February 8, 2019 Posted February 8, 2019 If you could post your code as a GitHub repository that would be best Quote About Me Spoiler My Discord - Cadiboo#8887 My Website - Cadiboo.github.io My Mods - Cadiboo.github.io/projects My Tutorials - Cadiboo.github.io/tutorials Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support. When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible. Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)
Bram_Borch Posted February 11, 2019 Author Posted February 11, 2019 i did try to upload it to GitHub but it just wont upload it i never worked whit github before so idk what i did wrong i watched 3 videos how to upload stuf but it just won't upload anything…. Quote
Cadiboo Posted February 11, 2019 Posted February 11, 2019 1) download GitHub desktop or another git client 2) create a repository in the root directory of your mod (the one with /run/, /src/ build.gradle in it) 3) click the publish the repository to github button 4) post the link Quote About Me Spoiler My Discord - Cadiboo#8887 My Website - Cadiboo.github.io My Mods - Cadiboo.github.io/projects My Tutorials - Cadiboo.github.io/tutorials Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support. When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible. Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)
Recommended Posts
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.