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.

IPECTER

Members
  • Joined

  • Last visited

Everything posted by IPECTER

  1. mob.addEffect(MobEffects.HEALTH_BOOST, ?????????????) I want to add 10 heart for life (infinite)
  2. mob.addEffect(MobEffectInstance????????) IDK How to use MobEffectInstance....
  3. AddPermanentModifier does not exist in Mob.
  4. before player rejoin the world, 1980/2000 (hp/max hp) after player rejoin the world, 20/2000
  5. @Mod.EventBusSubscriber(modid = "x100health", bus = Mod.EventBusSubscriber.Bus.FORGE, value = Dist.CLIENT) public class EntityJoinWorld { private static final AttributeModifier x100MaxHealth = new AttributeModifier("x100 Max Health", 99, AttributeModifier.Operation.MULTIPLY_BASE); @SubscribeEvent public static void onMobSpawn(EntityJoinWorldEvent e) { if (e.getEntity() instanceof Mob) { Mob mob = (Mob) e.getEntity(); mob.getAttribute(Attributes.MAX_HEALTH).addTransientModifier(x100MaxHealth); if (!mob.getPersistentData().contains("x100health")){ mob.getPersistentData().putBoolean("x100health", true); mob.setHealth(mob.getHealth() * 100); } } } } When the player joins the world, the mob's current hp is initialized.
  6. @Mod.EventBusSubscriber(modid = "x100health", bus = Mod.EventBusSubscriber.Bus.FORGE, value = Dist.CLIENT) public class EntityJoinWorld { private static final AttributeModifier x100MaxHealth = new AttributeModifier("x100 Max Health", 99, AttributeModifier.Operation.MULTIPLY_BASE); @SubscribeEvent public static void onMobSpawn(EntityJoinWorldEvent e) { if (e.getEntity() instanceof Mob) { Mob mob = (Mob) e.getEntity(); mob.getAttribute(Attributes.MAX_HEALTH).addTransientModifier(x100MaxHealth); if (!mob.getPersistentData().contains("x100health")){ mob.getPersistentData().putBoolean("x100health", true); mob.setHealth(mob.getHealth() * 100); } } } } like this! right?
  7. mob.getPersistentData().put("x100health", true); Required type: Tag Provided: boolean ......
  8. @Mod.EventBusSubscriber(modid = "x100health", bus = Mod.EventBusSubscriber.Bus.FORGE, value = Dist.CLIENT) public class EntityJoinWorld { private static final AttributeModifier x100MaxHealth = new AttributeModifier("x100 Max Health", 99, AttributeModifier.Operation.MULTIPLY_BASE); @SubscribeEvent public static void onMobSpawn(EntityJoinWorldEvent e) { if (e.getEntity() instanceof Mob) { Mob mob = (Mob) e.getEntity(); mob.getAttribute(Attributes.MAX_HEALTH).addTransientModifier(x100MaxHealth); if (!mob.getPersistentData().getBoolean("x100health")){ mob.getPersistentData().put("x100health", tag..?); mob.setHealth(mob.getHealth() * 100); } } } } mob.getPersistentData().put("x100health", tag..?); tag..???? What I should do?
  9. private static final AttributeModifier x100MaxHealth = new AttributeModifier("x100 Max Health", 99, AttributeModifier.Operation.MULTIPLY_BASE); @SubscribeEvent public static void onMobSpawn(EntityJoinWorldEvent e) { if (e.getEntity() instanceof Mob) { Mob mob = (Mob) e.getEntity(); mob.getAttribute(Attributes.MAX_HEALTH).addTransientModifier(x100MaxHealth); } } like this? When mobs spawn for the first time, Mobs have to have full hp.
  10. success. thx. but.... private static final AttributeModifier x100MaxHealth = new AttributeModifier("x100 Max Health", 99, AttributeModifier.Operation.MULTIPLY_BASE); @SubscribeEvent public static void onMobSpawn(EntityJoinWorldEvent e) { if (e.getEntity() instanceof Mob) { Mob mob = (Mob) e.getEntity(); if (mob.getHealth() > mob.getAttribute(Attributes.MAX_HEALTH).getBaseValue()) { mob.getAttribute(Attributes.MAX_HEALTH).addTransientModifier(x100MaxHealth); mob.setHealth(mob.getHealth() * 100); } } } private static final AttributeModifier x100MaxHealth = new AttributeModifier("x100 Max Health", 99, AttributeModifier.Operation.MULTIPLY_BASE); @SubscribeEvent public static void onMobSpawn(EntityJoinWorldEvent e) { if (e.getEntity() instanceof Mob) { Mob mob = (Mob) e.getEntity(); if (mob.getHealth() >= mob.getAttribute(Attributes.MAX_HEALTH).getBaseValue()) { mob.getAttribute(Attributes.MAX_HEALTH).addTransientModifier(x100MaxHealth); mob.setHealth(mob.getHealth() * 100); } } } Every time a player join the world, even if the mob's hp is lower than the maximum hp, all hp is recovered. What should I do?
  11. sorry..... I only succeeded in raising the mob's hp above 1024. Now I have to find a way to control Mob's physical strength using AttributeModifier.
  12. private static final AttributeModifier x100MaxHealth = new AttributeModifier(Attributes.MAX_HEALTH, "x100 Max Health", 100, AttributeModifier.Operation.MULTIPLY_BASE); error... Cannot resolve constructor 'AttributeModifier(net.minecraft.world.entity.ai.attributes.Attribute, java.lang.String, int, net.minecraft.world.entity.ai.attributes.AttributeModifier.Operation)
  13. It's been solved. Thank you so much for helping me.
  14. public X100health() { FMLJavaModLoadingContext.get().getModEventBus().addListener(this::commonSetup); MinecraftForge.EVENT_BUS.register(EntityJoinWorld.class); } protected static void replaceAttributeValue(RangedAttribute attribute, double maxValue) { attribute.maxValue = maxValue; } private void commonSetup(FMLCommonSetupEvent e) { e.enqueueWork(() -> { replaceAttributeValue((RangedAttribute) Attributes.MAX_HEALTH, 131072); }); } success!!!! thx everyone for help
  15. new AttributeModifier(Attributes.MAX_HEALTH, "x100 Max Health", 100, AttributeModifier.Operation.MULTIPLY_BASE); error... Cannot resolve constructor 'AttributeModifier(net.minecraft.world.entity.ai.attributes.Attribute, java.lang.String, int, net.minecraft.world.entity.ai.attributes.AttributeModifier.Operation)'
  16. ..so, I cant use MAX_HEALTH AND HEALTH? hmm.....
  17. EntityJoinWorldEvent occurs every time a player visits the world. So, In order not to continue to increase the mob's max health, if the mob's max health is more than 100 times the mob's original max health, it will not change the mob's max health.
  18. yes! but.. didnt work.. Do you want me to connect this project with GitHub?
  19. - src/main/resources/META-INF/accesstransformer.cfg public-f net.minecraft.world.entity.ai.attributes.RangedAttribute f_22308_ # maxValue - in build.gradle... minecraft { accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg') } - Main Class @Mod("x100health") @Mod.EventBusSubscriber public class X100health { public X100health() { MinecraftForge.EVENT_BUS.register(this); } @SubscribeEvent public void on(FMLCommonSetupEvent e) { e.enqueueWork(() -> { replaceAttributeValue((RangedAttribute) Attributes.MAX_HEALTH, 131072); }); } protected static void replaceAttributeValue(RangedAttribute attribute, double maxValue) { attribute.maxValue = maxValue; } //private static final AttributeModifier x100MaxHealth = new AttributeModifier(LivingEntity.MAX_HEALTH, "x100 Max Health", 100, AttributeModifier.Operation.MULTIPLY_BASE); @SubscribeEvent public void onMobSpawn(EntityJoinWorldEvent e) { if (e.getEntity() instanceof Mob) { Mob mob = (Mob) e.getEntity(); mob.getAttribute(Attributes.MAX_HEALTH).setBaseValue(mob.getAttribute(Attributes.MAX_HEALTH).getBaseValue() * 100); //mob.getAttribute(Attributes.MAX_HEALTH).addTransientModifier(x100MaxHealth); mob.setHealth(mob.getHealth() * 100); } } } but... mob didnt get max health over 1024.... AT didnt work....
  20. private static final AttributeModifier x100MaxHealth = new AttributeModifier(LivingEntity.MAX_HEALTH, "x100 Max Health", 100, AttributeModifier.Operation.MULTIPLY_BASE); @SubscribeEvent public void onMobSpawn(EntityJoinWorldEvent e) { if (e.getEntity() instanceof Mob) { Mob mob = (Mob) e.getEntity(); mob.getAttribute(Attributes.MAX_HEALTH).addTransientModifier(x100MaxHealth); mob.setHealth(mob.getHealth() * 100); } } hmm... too hard.. LivingEntity.MAX_HEALTH doesn't exist. I don't know what t put in. Is there any other way to make the maximum max health/healath of all mobs 100 times other than this Event method?
  21. just... The original of the mob. For Example... cow's original max health is 10.
  22. okay.. addTransientModifier() ? ...... @SubscribeEvent public void onMobSpawn(EntityJoinWorldEvent e) { if (e.getEntity() instanceof Mob) { Mob mob = (Mob) e.getEntity(); mob.getAttribute(Attributes.MAX_HEALTH).addTransientModifier("What should I put in here?"); mob.setHealth(mob.getHealth() * 100); } } What should I put in here?What should I put in here?What should I put in here?What should I put in here?What should I put in here?
  23. How can I get the original Max Health of the entity type (mob)? For example, like this. @SubscribeEvent public void onMobSpawn(EntityJoinWorldEvent e) { if (e.getEntity() instanceof Mob) { Mob mob = (Mob) e.getEntity(); if (mob.getOriginalMaxHealth() == mob.getMaxHealth()){ //do something (modify mob max health) } } } " mob.getOriginalMaxHealth() "

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.