Getting String modid From Block Object? I am trying to wrap up my bug fixes with my old mod So I can update it. However it seems I need to remove waila's tooltips but, I can't do that without knowing what the modid from the block is.
I have tried unlocalized name but, it didn't give me it's real name...
Use IForgeRegistryEntry#getRegistryName to get the registry name of a registry entry (e.g. a Block or Item). This is a ResourceLocation with the mod ID as the domain and the entry's name as the path.
Rollback Post to RevisionRollBack
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
I would go along with what Choonster said for obtaining the modid, im not sure if this will run as intended (Haven't tested it but i assume this will work). It takes a modid parameter and checks with all of the loaded mods to see if their mod ids match then it returns the value of the mods name (ModContainer contains this info).
public static String getModName(String par1Str)
{
for (ModContainer mod : Loader.instance().getModList())
{
if (mod.getModId().equals(par1Str))
{
return mod.getName();
}
}
return null;
}
I would go along with what Choonster said for obtaining the modid, im not sure if this will run as intended (Haven't tested it but i assume this will work). It takes a modid parameter and checks with all of the loaded mods to see if their mod ids match then it returns the value of the mods name (ModContainer contains this info).
public static String getModName(String par1Str)
{
for (ModContainer mod : Loader.instance().getModList())
{
if (mod.getModId() == par1Str)
{
return mod.getName();
}
}
return null;
}
Your method did allow me to know what to do( Loader.instances() ) but, your method didn't work. I fixed your string comparison with .equals() not ==
It's finally fixed. A 6 month old bug. The vanilla mob spawner says AdventOfAccention Rather then Minecraft and only one tooltip.
Alright what I really meant to say was Mod Name String. Is there a way to get the mod name from the block or mod name from the mod id?
Look up the mod ID in the Map returned by Loader#getIndexedModList to get the mod's ModContainer. If it's not null, use ModContainer#getName to get the mod's name.
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
I now need to get rid of waila's tooltips from nie's gui hooks how do I do that? I noticed it wasn't like an event handler so how am I suppose to override it? How will I make it so that NEI won't become a dependency unless it already is loaded?
I now need to get rid of waila's tooltips from nie's gui hooks how do I do that? I noticed it wasn't like an event handler so how am I suppose to override it? How will I make it so that NEI won't become a dependency unless it already is loaded?
One option would be to not support mods that break existing Forge code like NEI does, since it completely replaces the vanilla tooltip code with its own. Now that JEI exists (and NEI is a plugin for it), there's less need to use NEI.
If you do want to support it, you need to implement IContainerTooltipHandler and modify the item tooltip in handleItemTooltip. Register an instance of this implementation by calling GuiContainerManager.addTooltipHandler on the client side (probably in preInit).
Use Loader#isModLoaded to check if NEI is loaded before instantiating and registering the IContainerTooltipHandler. Add NEI as an after: dependency in your dependencies property of your @Mod annotation to ensure your mod loads after NEI if it's present, but doesn't require it to be present.
Rollback Post to RevisionRollBack
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
Nei is cooperating with me so I am supporting them.
A while back you said there was no proper way to translate names on objects that are not mine. Well I saw what the tooltip list contained and it contained the name. I can override this and set whatever name I feel like without italic text.
A while back you said there was no proper way to translate names on objects that are not mine. Well I saw what the tooltip list contained and it contained the name. I can override this and set whatever name I feel like without italic text.
Are you sure I said that?
Rollback Post to RevisionRollBack
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
I saw waila's code on this. I think I can just copy and paste the overriden methods and figure it out. I will have to figure out how to again properly only make it on client side in pre-init.
Yep just about when I asked about entity enums. By the way just re-taking a look at them now. Could you explain to me on what an enum is doing for the entity, and what is the best way in detecting which type of mob has which attribute? Also especially for mod making how do I detect if it has a custom enum made like say cloud type?
Should I be using .equals() method? I think it might be the same instance?
My freind also said he would get a custom rgb font renderer for more advanced text display. He gave up as vanilla has no rgb display (or at least a color object) by default. Any idea of how I would approach this <text,chat and tooltips>?
Yep just about when I asked about entity enums. By the way just re-taking a look at them now. Could you explain to me on what an enum is doing for the entity, and what is the best way in detecting which type of mob has which attribute? Also especially for mod making how do I detect if it has a custom enum made like say cloud type?
EnumCreatureType is used to categorise entities for spawning purposes:
EnumCreatureType#creatureClass is the base class (or interface) for entities of that type
EnumCreatureType#maxNumberOfCreature is how many entities of that type can be spawned per chunk
EnumCreatureType#creatureMaterial is the block Material that entities of that type can spawn in (though it's never actually used anywhere)
EnumCreatureType#isPeacefulCreature is whether entities of that type are peaceful or hostile (peaceful entities only spawn when World#spawnPeacefulMobs is true, hostile entities only spawn when World#spawnHostileMobs is true)
EnumCreatureType#isAnimal is whether entities of that type are animals (animals only spawn when the total world time is divisible by 400, i.e. every 400 ticks)
Most of the entity spawning logic happens in WorldEntitySpawner#findChunksForSpawning.
Use Entity#isCreatureType to check if an Entity belongs to the specified EnumCreatureType (like you're already doing). Although all vanilla entities belong to a single vanilla type, it's entirely possible for an entity to belong to multiple types (if there's a modded entity or type involved).
Use the EnumCreatureType.values() method to get an array of every EnumCreatureType value (including modded values). This method exists for every enum type.
EnumCreatureAttribute is used to categorise entities for damage purposes (e.g. enchantments and damage/healing potions). Use EntityLivingBase#getCreatureAttribute to get the EnumCreatureAttribute of an EntityLivingBase (like you're already doing).
Should I be using .equals() method? I think it might be the same instance?
There's no reason to use Object#equals for enum values, since Enum (the base class of enum types) overrides it with a final method that returns true only when the two values are the same object (i.e. x == y).
My freind also said he would get a custom rgb font renderer for more advanced text display. He gave up as vanilla has no rgb display (or at least a color object) by default. Any idea of how I would approach this <text,chat and tooltips>?
You'll need a custom FontRenderer implementation that supports a new formatting escape code, something like @RRGGBB (where RRGGBB is the 6-digit hexadecimal number to use as the colour). The vanilla implementation uses FontRenderer#renderStringAtPos to parse formatting escape codes.
A lot of FontRenderer methods and fields are private, so you'll either have to re-implement them yourself or access them with reflection.
Rollback Post to RevisionRollBack
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
One more quick question: How do I insert line feed to the render name display? (Not the tooltip the render name).
"abc\n123". where \n become a symbol and I tried \r\n also the same thing happened.
Also Have one more naming issue I have encountered for spawners. I am trying to get the last entity name from a spawner. However there is a major issue with this.
SpawnData:{} //ability to tell me the last riding tag of the spawner
SpawnPotentials:[] //ability to have multiple different spawning instances
The issue comes with spawn potentials because, it can be on any instance of the index spawning potential. This means How am I suppose to calculate the name on them when the spawn potential could be any index of progression? I could always do the first tag however that's inaccurate if a fix another issue described below(Current default doesn't re-allign tags to index of 0 upon block break)
This also makes another issue happen. Spawn potentials could be on any index when you mine it but upon replacement it will always be the first index. I could theoretically re-allign the indexes of nbt to the last one it was on but, this might cause some inaccuracy. What do you think I should do for this and the spawning potential naming problem.
One more quick question: How do I insert line feed to the render name display? (Not the tooltip the render name).
"abc\n123". where \n become a symbol and I tried \r\n also the same thing happened.
Looking at the tooltip rendering code, I don't think this is possible. You can manually split the display name into multiple lines in Item#addInformation or ItemTooltipEvent, but every line after the first will be rendered like it's a part of the tooltip rather than a continuation of the display name.
Also Have one more naming issue I have encountered for spawners. I am trying to get the last entity name from a spawner. However there is a major issue with this.
SpawnData:{} //ability to tell me the last riding tag of the spawner
SpawnPotentials:[] //ability to have multiple different spawning instances
The issue comes with spawn potentials because, it can be on any instance of the index spawning potential. This means How am I suppose to calculate the name on them when the spawn potential could be any index of progression? I could always do the first tag however that's inaccurate if a fix another issue described below(Current default doesn't re-allign tags to index of 0 upon block break)
This also makes another issue happen. Spawn potentials could be on any index when you mine it but upon replacement it will always be the first index. I could theoretically re-allign the indexes of nbt to the last one it was on but, this might cause some inaccuracy. What do you think I should do for this and the spawning potential naming problem.
It's fairly subjective, but I'd recommend using the current spawn (the SpawnData tag) for the display name and possibly including the number or names of the potential spawns (the SpanPotentials tag) in the tooltip.
I recommend keeping the current spawn when breaking and replacing the block. If the item's BlockEntityTag tag includes the SpawnData tag, MobSpawnerBaseLogic#readFromNBT should do this for you.
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
I am currently ree-writing the main function of the mod from some untraceable logic issues causing a couple issues.
Looking at the tooltip rendering code, I don't think this is possible. You can manually split the display name into multiple lines in Item#addInformation or ItemTooltipEvent, but every line after the first will be rendered like it's a part of the tooltip rather than a continuation of the display name.
Could you explain this more? I know the item tool tip render can be manually split into multiple lines but, what are you saying for the render name. Here is what I mean by render name. The name that displays when you have it in your hand
It's fairly subjective, but I'd recommend using the current spawn (the SpawnData tag) for the display name and possibly including the number or names of the potential spawns (the SpanPotentials tag) in the tooltip.
I recommend keeping the current spawn when breaking and replacing the block. If the item's BlockEntityTag tag includes the SpawnData tag, MobSpawnerBaseLogic#readFromNBT should do this for you.
You shouldn't need to change any indexes.
I will be testing this. I am not sure if it manually changes the entity id , spawndata, and spawn potentials dynamically based on what index it is in in spawn potentials. The issue can be described as this
EntityId:Zombie // First spawn always
SpawnData:{} // Contains Data for Entity Id ? I have never seen this change maybe it's a 1.11 thing?
SpawnPotentials:[horse,creeper,pig]
where if this is on the pig I don't think it changes the EntityId: to pig nor the spawndata: tag's data
I will be debugging this when I have the main function of the mod fully bug free again.
Could you explain this more? I know the item tool tip render can be manually split into multiple lines but, what are you saying for the render name. Here is what I mean by render name. The name that displays when you have it in your hand
Ah, Minecraft calls that the tool highlight or held item tooltip.
I think the only way you can render the name on multiple lines in the tool highlight or the inventory tooltip is with a custom FontRenderer implementation that you return from Item#getFontRenderer.
You'd then need to override FontRenderer#drawStringWithShadow to split the string into multiple lines and render each line, this can probably be done by copying the FontRenderer#drawSplitString method but calling FontRenderer#renderSplitString with true as the dropShadow argument instead of false.
I will be testing this. I am not sure if it manually changes the entity id , spawndata, and spawn potentials dynamically based on what index it is in in spawn potentials. The issue can be described as this
EntityId:Zombie // First spawn always
SpawnData:{} // Contains Data for Entity Id ? I have never seen this change maybe it's a 1.11 thing?
SpawnPotentials:[horse,creeper,pig]
where if this is on the pig I don't think it changes the EntityId: to pig nor the spawndata: tag's data
The EntityId tag is no longer used.
The SpawnData tag is used to store the MobSpawnerBaseLogic#randomEntity field, the WeightedSpawnerEntity that will be spawned next.
The SpawnPotentials tag is used to store the MobSpawnerBaseLogic#potentialSpawns field, the list of WeightedSpawnerEntity objects that the next value of MobSpawnerBaseLogic#randomEntity can be chosen from.
Rollback Post to RevisionRollBack
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
Custom font I will be doing for my modpack lib but, I got around it for now. I will trying messing with it another time.
The EntityId tag is no longer used.
The SpawnData tag is used to store the MobSpawnerBaseLogic#randomEntity field, the WeightedSpawnerEntity that will be spawned next.
The SpawnPotentials tag is used to store the MobSpawnerBaseLogic#potentialSpawns field, the list of WeightedSpawnerEntity objects that the next value of MobSpawnerBaseLogic#randomEntity can be chosen from.
O yeah I forgot. I didn't know they changed it that much I will be testing this later and applying dynamic fixes for older versions as well. It won't be on the top to do list yet though.
One option would be to not support mods that break existing Forge code like NEI does, since it completely replaces the vanilla tooltip code with its own. Now that JEI exists (and NEI is a plugin for it), there's less need to use NEI.
If you do want to support it, you need to implement IContainerTooltipHandler and modify the item tooltip in handleItemTooltip. Register an instance of this implementation by calling GuiContainerManager.addTooltipHandler on the client side (probably in preInit).
Use Loader#isModLoaded to check if NEI is loaded before instantiating and registering the IContainerTooltipHandler. Add NEI as an after: dependency in your dependencies property of your @Mod annotation to ensure your mod loads after NEI if it's present, but doesn't require it to be present.
Ok. I know how to use and implament an interface and register the class but, I can't seem to be able to run the dev without it crashing. Could you tell me a step by step on how to set it up for older versions not the JEI plugin?
Ok. I know how to use and implament an interface and register the class but, I can't seem to be able to run the dev without it crashing. Could you tell me a step by step on how to set it up for older versions not the JEI plugin?
It's been a long time since I've dealt with NEI, but adding NEI, CCC and CCL as Gradle dependencies like this seems to work in 1.8.
I remember having a lot of trouble with it in 1.7.10, but I don't remember how to get it working.
Rollback Post to RevisionRollBack
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
Getting String modid From Block Object? I am trying to wrap up my bug fixes with my old mod So I can update it. However it seems I need to remove waila's tooltips but, I can't do that without knowing what the modid from the block is.
I have tried unlocalized name but, it didn't give me it's real name...
it's String Id should have been mob_spawner. So block.getUnlocalizedName() doesn't work.
Use IForgeRegistryEntry#getRegistryName to get the registry name of a registry entry (e.g. a Block or Item). This is a ResourceLocation with the mod ID as the domain and the entry's name as the path.
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
Alright what I really meant to say was Mod Name String. Is there a way to get the mod name from the block or mod name from the mod id?
I would go along with what Choonster said for obtaining the modid, im not sure if this will run as intended (Haven't tested it but i assume this will work). It takes a modid parameter and checks with all of the loaded mods to see if their mod ids match then it returns the value of the mods name (ModContainer contains this info).
Your method did allow me to know what to do( Loader.instances() ) but, your method didn't work. I fixed your string comparison with .equals() not ==
It's finally fixed. A 6 month old bug. The vanilla mob spawner says AdventOfAccention Rather then Minecraft and only one tooltip.
Woop. Didn't even see that. Thanks for the catch there
Look up the mod ID in the Map returned by Loader#getIndexedModList to get the mod's ModContainer. If it's not null, use ModContainer#getName to get the mod's name.
You can see an example of this here.
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
I already got the mod name but, thanks.
I now need to get rid of waila's tooltips from nie's gui hooks how do I do that? I noticed it wasn't like an event handler so how am I suppose to override it? How will I make it so that NEI won't become a dependency unless it already is loaded?
One option would be to not support mods that break existing Forge code like NEI does, since it completely replaces the vanilla tooltip code with its own. Now that JEI exists (and NEI is a plugin for it), there's less need to use NEI.
If you do want to support it, you need to implement IContainerTooltipHandler and modify the item tooltip in handleItemTooltip. Register an instance of this implementation by calling GuiContainerManager.addTooltipHandler on the client side (probably in preInit).
Use Loader#isModLoaded to check if NEI is loaded before instantiating and registering the IContainerTooltipHandler. Add NEI as an after: dependency in your dependencies property of your @Mod annotation to ensure your mod loads after NEI if it's present, but doesn't require it to be present.
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
Nei is cooperating with me so I am supporting them.
A while back you said there was no proper way to translate names on objects that are not mine. Well I saw what the tooltip list contained and it contained the name. I can override this and set whatever name I feel like without italic text.
I will try this when I get home
Are you sure I said that?
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
I saw waila's code on this. I think I can just copy and paste the overriden methods and figure it out. I will have to figure out how to again properly only make it on client side in pre-init.
Yep just about when I asked about entity enums. By the way just re-taking a look at them now. Could you explain to me on what an enum is doing for the entity, and what is the best way in detecting which type of mob has which attribute? Also especially for mod making how do I detect if it has a custom enum made like say cloud type?
Should I be using .equals() method? I think it might be the same instance?
My freind also said he would get a custom rgb font renderer for more advanced text display. He gave up as vanilla has no rgb display (or at least a color object) by default. Any idea of how I would approach this <text,chat and tooltips>?
My starter code looks like this:
EnumCreatureType is used to categorise entities for spawning purposes:
Most of the entity spawning logic happens in WorldEntitySpawner#findChunksForSpawning.
Use Entity#isCreatureType to check if an Entity belongs to the specified EnumCreatureType (like you're already doing). Although all vanilla entities belong to a single vanilla type, it's entirely possible for an entity to belong to multiple types (if there's a modded entity or type involved).
Use the EnumCreatureType.values() method to get an array of every EnumCreatureType value (including modded values). This method exists for every enum type.
EnumCreatureAttribute is used to categorise entities for damage purposes (e.g. enchantments and damage/healing potions). Use EntityLivingBase#getCreatureAttribute to get the EnumCreatureAttribute of an EntityLivingBase (like you're already doing).
There's no reason to use Object#equals for enum values, since Enum (the base class of enum types) overrides it with a final method that returns true only when the two values are the same object (i.e. x == y).
You'll need a custom FontRenderer implementation that supports a new formatting escape code, something like @RRGGBB (where RRGGBB is the 6-digit hexadecimal number to use as the colour). The vanilla implementation uses FontRenderer#renderStringAtPos to parse formatting escape codes.
A lot of FontRenderer methods and fields are private, so you'll either have to re-implement them yourself or access them with reflection.
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
One more quick question: How do I insert line feed to the render name display? (Not the tooltip the render name).
"abc\n123". where \n become a symbol and I tried \r\n also the same thing happened.
Also Have one more naming issue I have encountered for spawners. I am trying to get the last entity name from a spawner. However there is a major issue with this.
SpawnData:{} //ability to tell me the last riding tag of the spawner
SpawnPotentials:[] //ability to have multiple different spawning instances
The issue comes with spawn potentials because, it can be on any instance of the index spawning potential. This means How am I suppose to calculate the name on them when the spawn potential could be any index of progression? I could always do the first tag however that's inaccurate if a fix another issue described below(Current default doesn't re-allign tags to index of 0 upon block break)
This also makes another issue happen. Spawn potentials could be on any index when you mine it but upon replacement it will always be the first index. I could theoretically re-allign the indexes of nbt to the last one it was on but, this might cause some inaccuracy. What do you think I should do for this and the spawning potential naming problem.
Looking at the tooltip rendering code, I don't think this is possible. You can manually split the display name into multiple lines in Item#addInformation or ItemTooltipEvent, but every line after the first will be rendered like it's a part of the tooltip rather than a continuation of the display name.
It's fairly subjective, but I'd recommend using the current spawn (the SpawnData tag) for the display name and possibly including the number or names of the potential spawns (the SpanPotentials tag) in the tooltip.
I recommend keeping the current spawn when breaking and replacing the block. If the item's BlockEntityTag tag includes the SpawnData tag, MobSpawnerBaseLogic#readFromNBT should do this for you.
You shouldn't need to change any indexes.
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
I am currently ree-writing the main function of the mod from some untraceable logic issues causing a couple issues.
Could you explain this more? I know the item tool tip render can be manually split into multiple lines but, what are you saying for the render name. Here is what I mean by render name. The name that displays when you have it in your hand
I will be testing this. I am not sure if it manually changes the entity id , spawndata, and spawn potentials dynamically based on what index it is in in spawn potentials. The issue can be described as this
EntityId:Zombie // First spawn always
SpawnData:{} // Contains Data for Entity Id ? I have never seen this change maybe it's a 1.11 thing?
SpawnPotentials:[horse,creeper,pig]
where if this is on the pig I don't think it changes the EntityId: to pig nor the spawndata: tag's data
I will be debugging this when I have the main function of the mod fully bug free again.
Ah, Minecraft calls that the tool highlight or held item tooltip.
I think the only way you can render the name on multiple lines in the tool highlight or the inventory tooltip is with a custom FontRenderer implementation that you return from Item#getFontRenderer.
You'd then need to override FontRenderer#drawStringWithShadow to split the string into multiple lines and render each line, this can probably be done by copying the FontRenderer#drawSplitString method but calling FontRenderer#renderSplitString with true as the dropShadow argument instead of false.
The EntityId tag is no longer used.
The SpawnData tag is used to store the MobSpawnerBaseLogic#randomEntity field, the WeightedSpawnerEntity that will be spawned next.
The SpawnPotentials tag is used to store the MobSpawnerBaseLogic#potentialSpawns field, the list of WeightedSpawnerEntity objects that the next value of MobSpawnerBaseLogic#randomEntity can be chosen from.
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.
Custom font I will be doing for my modpack lib but, I got around it for now. I will trying messing with it another time.
O yeah I forgot. I didn't know they changed it that much I will be testing this later and applying dynamic fixes for older versions as well. It won't be on the top to do list yet though.
Ok. I know how to use and implament an interface and register the class but, I can't seem to be able to run the dev without it crashing. Could you tell me a step by step on how to set it up for older versions not the JEI plugin?
It's been a long time since I've dealt with NEI, but adding NEI, CCC and CCL as Gradle dependencies like this seems to work in 1.8.
I remember having a lot of trouble with it in 1.7.10, but I don't remember how to get it working.
Chisel Facades: For all your decorative pipe-hiding needs.
Please don't PM me to ask for help or to join your mod development team. Asking your question in a public thread preserves it for people who are having the same problem in the future. I'm not interested in developing mods with people.