Hbm's Nuclear Tech Mod

Hbm's Nuclear Tech Mod

1M Downloads

Crash Between Galaticraft or Something and HBM's Nuclear tech when irradiating an entity?

Shibva opened this issue ยท 13 comments

commented

I was going to start a new adventure by adding HBM to Gregtech; Ne Horizons and plugged the mod in and I got this nasty discovery that the game will undergo an OutOfBounds -102 error every time an entity either becomes irradiated or is effected with the Contaminated potion effect

I think it would be best for both ends to discuss this to resolve any future conflict that this might have
the link to the crash reports and the other discussion can be found in the following link:
GTNewHorizons/GT-New-Horizons-Modpack#8108

commented

Probably a potion conflict, either change the potion ID or try to use a conflict mod, I do believe there is one for potion IDs.

commented

none of the Potion Ids are conflicting acording to anti-id conflict
if it was the game would indicate that
occupiedIDs.txt
heres is all the potion ids that are occupied if it helps

commented

heres is also the last crash I had

Description: Ticking entity

java.lang.ArrayIndexOutOfBoundsException: -102
at net.minecraft.potion.PotionEffect.func_76455_a(PotionEffect.java:105)
at net.minecraft.entity.EntityLivingBase.func_70679_bo(EntityLivingBase.java:524)
at net.minecraft.entity.EntityLivingBase.func_70030_z(EntityLivingBase.java:293)
at net.minecraft.entity.EntityLiving.func_70030_z(EntityLiving.java:214)
at net.minecraft.entity.Entity.func_70071_h_(Entity.java:318)
at net.minecraft.entity.EntityLivingBase.func_70071_h_(EntityLivingBase.java:1561)
at net.minecraft.entity.EntityLiving.func_70071_h_(EntityLiving.java:272)
at net.minecraft.world.World.func_72866_a(World.java:2070)
at net.minecraft.world.World.func_72870_g(World.java:2034)
at net.minecraft.world.World.func_72939_s(World.java:1887)
at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:2006)
at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:973)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:898)
at net.minecraft.client.main.Main.main(SourceFile:148)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

A detailed walkthrough of the error, its code path and all known details is as follows:

-- Head --
Stacktrace:
at net.minecraft.potion.PotionEffect.func_76455_a(PotionEffect.java:105)
at net.minecraft.entity.EntityLivingBase.func_70679_bo(EntityLivingBase.java:524)
at net.minecraft.entity.EntityLivingBase.func_70030_z(EntityLivingBase.java:293)
at net.minecraft.entity.EntityLiving.func_70030_z(EntityLiving.java:214)
at net.minecraft.entity.Entity.func_70071_h_(Entity.java:318)
at net.minecraft.entity.EntityLivingBase.func_70071_h_(EntityLivingBase.java:1561)
at net.minecraft.entity.EntityLiving.func_70071_h_(EntityLiving.java:272)
at net.minecraft.world.World.func_72866_a(World.java:2070)
at net.minecraft.world.World.func_72870_g(World.java:2034)
at net.minecraft.world.World.func_72939_s(World.java:1887)

-- Entity being ticked --
Details:
Entity Type: Villager (net.minecraft.entity.passive.EntityVillager)
Entity ID: 636
Entity Name: Villager
Entity's Exact location: 858.16, 101.00, 156.50
Entity's Block location: World: (858,101,156), Chunk: (at 10,6,12 in 53,9; contains blocks 848,0,144 to 863,255,159), Region: (1,0; contains chunks 32,0 to 63,31, blocks 512,0,0 to 1023,255,511)
Entity's Momentum: 0.00, -0.08, 0.00
Stacktrace:
at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:2006)****

commented

seems like vanilla doesn't like potion IDs over 127. I'm certain there is a mod somewhere that extends the limit to 255, but I can't remember its name...

commented

your thinking of Extended Potions

yeah let me try adding that in, dint know that was not in the pack, maybe thats the issue

commented

yup, that seems to be it

Guessing Vanilla just doesn't like negative potion IDs, but AntiIDConflict parses them correctly

commented

there seems to be enough "holes" in the potion id list to allows for HBM potions to be allocated... if the config isn't dumb

commented

thats the thing, I noticed some effects dont get picked up by anti-Id, the only example is the effects form Thaumcraft and its addons

commented

NTM automatically extends the potion array to 256 if it is smaller, that wouldn't be an issue. It's weird though that the index used is negative, that usually indicates an overflow if a smaller data type is used somewhere during the potion handling process, but i cant find any instance of that happening. Have you tried removing a mod that adds potion effects so the total number is below 128?

commented

found it, the section 08_potion_effects has the potion ids.
Also, guessing that the problem is in Vanilla code and not your code.

commented

Just found it, EntityLivingBase uses the DataWatcher to send potion information to the client, the potion ID is sent as a byte which only has a resolution of 2^8...ending at 127 and looping back to -128.

Unless you find a mod that uses ASM or similar to change the way minecraft itself handles potions, you're out of luck.

commented

You mean a mod like Potion ID Helper? @HbmMods

commented

1. Uses ASM to extend the potion array to 2048 sounds pretty much like what you need.