It's getting to be kind of a pain to maintain all the different recipes and I kinda want to get rid of the component items entirely to go for a materials-based approach. That way we could just distribute different configs for each set of recipes and let servers put whichever they want in. Another infrastructure side project...
You need to call the Invocation only once, when you use Proxy Items, and that is when initializing the Item. You could put all the Interface implementation into the Proxy Class without having the actual Interfaces in it, and then a few Dummies which are extending your Base Item and just add the Interfaces. But you cant indeed get rid of the combinatorical Problem, thats true.
Err, I was unclear. I mean Java reflection proxies not FML proxies. So I can add the interfaces dynamically at runtime by creating a class 'on the fly' that extends my base item and implements whatever other interfaces. But it's ugly because it just passes in the object it's being invoked on, a method object for the method being invoked, and the arguments as Objects and leaves it to your proxy to work out how to handle the invocation. So even without the 500ns overhead from reflecting everything, it still has to work out which method is being invoked and handle it accordingly, which with ~20 methods on 5 different interfaces is still a bit of a problem...
Granted, I guess I could make my own electric item interface and implement those statically, that way the only time it takes the performance hit is when interfacing via IC2's API, e.g. when using the electric drill or when charging in a batbox. Still, that might be a lot in some cases.
Hm, it looks like a dynamic proxy will add about 500 ns per invocation. Not much on its own, but when you only have 50 ms to work with, and you could be accessing it 50 times per tick, that's not so great compared to 9ns for a static invocation.
Which leaves asm. I want to learn more about that anyway, but it's going to be a few weeks before I have more than a few hours here and there.
I have learned that trick from fallenbeast. Just create multiple Classes for one Item, and then just put the one with the potentially missing Interface inside a "try", and put the Item which doesnt contain the Interface into the "catch(Throwable e)". That way you can initialize Items, without including Interfaces of the Mods. I did that for Nuclear Control and for Buildcraft (the MJ-System) compatibility.
That would be fine if I only had 1 or 2, but right now I have 5 (ue, ic2, as, icbm, galacticraft) and that number will grow in the future. Since this is a combinatorial problem I will have to conditionally implement 2^n = currently 32 copies of the item, later 64 or 128 with TE, Xycraft, mekanism, and others.
I think I can do it with reflection and proxy classes but I don't know how slow it will be.
Even for Interfaces.
I must learn this dark sorcery
edit: nvm, I think I found it. But then I'll have to construct all my items virtually? Not that that's necessarily a bad thing, but...
MPS Version 0.4.1-292 is now recommended!
-Shears (to be replaced by projectile blade launcher eventually) - longer range than normal shears (10m!)
-Rototiller - till a circle up to an 8m radius, all at once!
-Airtight Seals - allows the helmet to act as a Galacticraft oxygen mask. Air tanks sold separately.
New functionality on old modules:
-Limited treecapitator emulation on woodcutting module
-Flight control now responds to 'sneak' and has a tinker option, 'verticality', which controls how much your view angle contributes to the direction of movement (can be more like creative flight if you want)
New configuration options:
-Mode-switching and flight control 'go down' now have Forge keybinds
-Mousewheel mode-switching can be turned off in config file
-Max. flight speed can be capped so people don't load chunks too fast and bog down the server.
-Using items while climbing a ladder or swimming should no longer paradoxically give you a speed boost
-Player input updates now only send on changes - should save on bandwidth for high-population servers with many idle
-Plasma bolt rendering improved - better lightning effect and should no longer appear as a flat panel in another player's hand
-IC2 for 1.5.1 should now be supported. **UNTESTED**
-All items in your inventory (batteries included) should now count towards your energy & weight total - no more need to install batteries in the power tool
-Fixed a couple crash cases (removing items while flying, shooting entities beyond 64 blocks with railgun)
1) yeah, that's kind of a special case... maybe andrew will get to it soon
2) waiting on my pullrequest in Forge for that one
correction: other tiers ARE ALREADY supported in 1.5.1 >:3
Config to allow Sprint assist to activate using IC² Boost Key (so you can sprint by holding control, like quantum leggings).
I don't think this is in the api.
Module to allow IC² electric tools (including addon tools) to take energy from power armor.
It already does this.
THIS IS WHY WE ARE NOT TAKING SUGGESTIONS, PEOPLE
The sound-based weapon I have planned is actually pretty similar to this... Hope it will make a good compromise.
Is there an advantage to taking total armor value over 20?
Yes, 20 armor value is only 80% protection (20% per item). By default it is capped at 24% per item (96% total). Also, MPS armor has a max absorption of 3 points of damage per point of armor, so a 20 armor value suit will absorb up to 60 hearts depending on the size of the explosion (because what else is going to do that much damage?)
P.S. YAYYYY IC2 has a tentative update so I can support the new api :3
aaand it's done!
That seems likely. I havent updated since the start of the client back in October.
EDIT: Not sure if config or not, but whenever i blink, Console states so about 10 times.
There's a config option for 'debugging info' which defaults to 'false', unless you're using an old version of MPS as well..
*wiggles* can't wait for IC2 to update so I can play with all the lovely API changes Player has been making
Oh, you're using a REALLY old version of IC2.
Probably being a noob, but how can i charge my suit with only the Thermal expansion config?
Well.. if you don't have IC2 or UE installed, you can still use Powercrystals's Powerconverters ( http://www.minecraftforum.net/…ters-netherores-and-more/ ) which has a charging pad. But I probably shouldn't support non-ic2 use on these forums.
Note that if you have IC2 installed and just have the recipe set turned off, you can still recharge the powersuit in a batbox for example.
Hi, first off, looooove the power suit, comes in real handy when exploring goes horribly wrong.
Thanks for the support.
I had a few ideas I was hoping to share, so I hope I'm not spamming by posting them here.
Whats about making the Multimeter capable of reading EU like a EU-Reader does?
As are you.
If possible also making it read MJ in redstone conduicts (there is a tool, just don't remember what it is called) and making it read charge (factorization Charge Meter).
That's the Multimeter. Allow it to work on the Liquiducts too!
Additionally, while we're at it, Redpower 2 multimeters!
i got a crash when i updated to the newest version of modular powersuits (222) it came before i get to the menu. here's the multimc log (no normal crash log was created just a white screen, it would have been black on the normal launcher): http://pastebin.com/uZnKZKQb
We are in the middle of migrating to 1.5. These are not stable versions. I'm not interested in bug reports for them.
I think I fixed it. Which Idiot at Mojang did make a such essential Function Clientside Only? Seriously?
I know right? Not to mention there are some crucial vector math functions missing on both sides... (scalar multiply? vector addition without referencing each coordinate individually?)
Build #199 is now recommended!
Notable changes since last recommended version:
-New modules: Radiation Protection (for Calclavia's Atomic Science) and the Railgun!
-Blink drive is now instant and hitscans, so you can't use it to teleport through warded stone anymore
-Auto-feeder now only consumes 1 item at a time
-Buffed top-end damage on the plasma cannon
-Added tooltip for food storage and tool modes (including instructions to shift-scrollwheel if no mode is selected)
-Fixes for various bugs and exploits
-Lots of internal refactoring