Jump to content

Recommended Posts

Posted

Hello, so I wanted to add permanent potion effect to the Armor I created when fully equipped.

I meddled around in the internet to find some solutions but couldnt figure out anything since the weirdest part in my code is that it dosent show any problems in the log at the bottom.

 

Here's my Classes for RegistryHandler, OmArmorMaterial and ArmorEffects

 

>RegistryHandler: https://pastebin.com/WGPnjHCh

>OmArmorMaterial: https://pastebin.com/Msgx8Avc

>ArmorEffects: https://pastebin.com/rcSsjv8c

 

I am generally confused as to why its not working and yet not giving me any issues in the problems logger, any help is greatly appriciated.

Big tanks in advance!

 

Here's also a screenshot of ArmorEffects if thats in any help:

32IXhl4.png

Posted

Instead of applying every tick, I would rather subscribe to LivingEquipmentChangeEvent or whatever its called and check there and apply infinitely. Less data calculated per tick. However, you will need to check if the effect gets removed due to milk or something and reapply when that happens. However, that's my opinion.

  • Thanks 1
Posted

@ChampionAsh5357It works now but i have a issue where, when i recieve the fire resistance on armor equp, i tried doing a onTickEvent to try and make so the effect refreshes and dosen't run out, but for some reason it dosent work and it has the same issue as onArmorTick. Is there any way i could make the effect infinite and to remove the fire resistance effect once i unequip armor?

 

Pic:

Y7E5boc.png

Posted
1 hour ago, mirakapz97 said:

Is there any way i could make the effect infinite and to remove the fire resistance effect once i unequip armor?

Just set the duration to something high (like Integer.MAX_VALUE) to approximate an infinite duration. To solve your other problem, just add an else to the if statement you already have, and use player.removePotionEffect().

 

You would still have to reapply the effect if it gets removed due to for example milk, as ChampionAsh pointed out.

  • Thanks 1
Posted

@poopoodice Yeeah, i realised until late cuz i left it off and on the other day, I tried equipping the obsidian armor i get the effect, when i remove the armor the effect dissapears as intended. But the current issue is when for example i use a regular fire resistance potion and equip any other type for armor the effect gets removed. So im trying to figure that out.  i tried adding a else if with IsPotionActive and the regular potion effect stays when i equip any other type of armor. But when i equip the full obsidian set i get the infinite effect again but when i remove the set the infinite effect still stays there.

Posted
29 minutes ago, mirakapz97 said:

But the current issue is when for example i use a regular fire resistance potion and equip any other type for armor the effect gets removed

Whoops, I did not think about that when I wrote my response :P. If I remember correctly, you can get the equipment that was previously equipped from the event as well. Try checking that the previously equipped item was your custom armor, and the newly equipped armor is not, and only then remove the effect.

  • Thanks 1
Posted

Maybe it is not the best idea but what I do is apply 1 tick duration effect to the wearer if the wearer does not have the effect(isPotionActive) and has full equipped your armour set. By this you don't have to worry about the effect gets removed externally(milk, commands...), and the effect will disappear right after you take of your armour set. It also avoids you to remove the effect if the effect is applied externally via commands, potions...etc.

Just my thoughts, may not be the best.

  • Thanks 1

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • I also just tried with iron's spellbooks removed, since that seemed related, but i am still having the same problem, even in newly created worlds. https://mclo.gs/AtrAfaj 
    • My Gradle Project for my Minecraft mod isn't building. Terminal: * Where: Settings file 'C:\Users\csonn\OneDrive\Desktop\fusionlucky\settings.gradle' line: 2 * What went wrong: Could not compile settings file 'C:\Users\csonn\OneDrive\Desktop\fusionlucky\settings.gradle'. > startup failed:   settings file 'C:\Users\csonn\OneDrive\Desktop\fusionlucky\settings.gradle': 2: The pluginManagement {} block must appear before any other statements in the script.   For more information on the pluginManagement {} block, please refer to https://docs.gradle.org/9.0.0/userguide/plugins.html#sec:plugin_management in the Gradle documentation.    @ line 2, column 1.      pluginManagement {      ^   1 error * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to generate a Build Scan (Powered by Develocity). > Get more help at https://help.gradle.org.   Setting.Gradle File:   rootProject.name = 'fusion-lucky-block' pluginManagement {     repositories {         gradlePluginPortal()         maven { url "https://maven.minecraftforge.net/" }         mavenCentral()     } }
    • no change still. here's a new log  https://mclo.gs/RXwiZmn 
    • Whenever I go to build my it says "Build failed in " how many seconds   Here is what is said in my terminal * Where: Build file 'C:\Users\csonn\OneDrive\Desktop\fusionlucky\build.gradle' line: 3 * What went wrong: Plugin [id: 'net.minecraftforge.gradle', version: '6.1.51'] was not found in any of the following sources: - Gradle Core Plugins (plugin is not in 'org.gradle' namespace) - Included Builds (No included builds contain this plugin) - Plugin Repositories (could not resolve plugin artifact 'net.minecraftforge.gradle:net.minecraftforge.gradle.gradle.plugin:6.1.51')   Searched in the following repositories:     Gradle Central Plugin Repository     MinecraftForge(https://maven.minecraftforge.net/) * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Get more help at https://help.gradle.org.   Here is what is in my build.gradle file plugins {     id 'java'     id 'net.minecraftforge.gradle' version '6.1+' }   group = 'io.github.csonnic03.fusionlucky' version = '1.0.0' archivesBaseName = 'fusionlucky'   java {     toolchain {         languageVersion = JavaLanguageVersion.of(17)     } }   repositories {     mavenCentral()     maven {         name "forgeMaven"         url "https://maven.minecraftforge.net/<repository>" } }   dependencies {     minecraft 'net.minecraftforge:forge:1.20.1-47.1.0' }   minecraft {     mappings channel: 'official', version: '1.20.1'     runs {         client {             workingDirectory project.file('run')         }         server {             workingDirectory project.file('run')         }     } }   tasks.withType(JavaCompile) {     options.encoding = 'UTF-8' }   jar {     manifest {         attributes(             "Specification-Title": "Fusion Lucky Block",             "Specification-Vendor": "example",             "Implementation-Title": project.name,             "Implementation-Version": project.version,             "Implementation-Vendor": "example",             "ModLauncher-TargetFMLVersion": "[47,)"         )     } }  
  • Topics

×
×
  • Create New...

Important Information

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