Jump to content

cy

Members
  • Posts

    8
  • Joined

  • Last visited

Everything posted by cy

  1. I couldn't see anything in the source for compiling the installer itself. How do you do that?
  2. If I hadn't read your post, how would I know to talk about vanishing items and inventories? Yes that was very rude! You should have said "You missed the part where I'm playing SSP." So yes I missed the part where you're playing SSP. I've never had the problem in SSP nor in SMP where the server wasn't doing that mysterious anti-cheat. Even servers with lag and high latency don't seem to do it if I'm the one setting them up. Can't help you, sorry.
  3. What it says on the package. For example, in NetworkRegistry there is a private member called "chatListeners" and there is a way to add to it (registerChatListener) but no way to remove from it. unregisterChatListener would take a listener and simply remove it by value. Though this would really have negligable effect on performance over just setting a "ignoreEverything" flag on the listener itself, I think it's a more concise way to manage listeners for all sorts of messages (not just chat). Plus when debugging or adding status monitors in the future, there wouldn't be a lot of (internally dead) listeners cluttering up the list. Should be trivial to implement in most cases, if a bit of busywork. I might do it myself later on github.
  4. I've seen this too, but only on anti-cheat servers. It's probably paranoid anti-cheat code ruining the game experience yet again. You can get back the vanished item stack back from that thieving server by opening a crafting table, btw. Some hacked clients have a "steal all" button for swift snatching of valuables from others' chests. I guess this behavior is supposed to foil that, but it really seems overkill to me. And the problem is in chests being emptied, not in how quickly the attacker can do it. Just makes things hard for the players, while griefers continue to gank your diamonds and blow up your base. Seriously, most servers have this "faction" or "towny" mod which encourages players to gang up on each other because if you kill someone enough you are allowed by the server to destroy their house and steal their stuff. It's to evoke a sense of epic tension between factions I guess. But the admins actively encourage that terrible grief, yet won't even let you sort your inventory claiming it's griefing. What a situation!
  5. I've never made one, but it looks like you just sort of... compile your replacement code and paste it into the .class file, or perhaps the memory image of the class file? Like with any bytecode, if you literally just write in instructions after an instruction in the bytecode, then those instructions you added will happen ater the one you inserted after, and before the one after that. (conditionals nonwithstanding)
  6. I like how MagicLauncher can take modules from just about anywhere and get Forge to load them, and it can even extract pertinent metadata from the various .jar files. I know how to extract metadata, but the method that MagicLauncher "preps" the JVM so that when Forge loads up it just uses those modules eludes me. MagicLauncher is of course closed source, so nobody can look at that for an example. I just wanted to replicate its behavior in an open source launcher. I tried to follow the loading process of Forge but it unfortunately confused me. Near as I can tell, it loads something called "coremods" (which itself is an entirely undocumented term), then just goes straight to the game. Most mods are not "coremods" and only certain ...bytecode transformers? are coremods. Real gritty stuff, not the likes of a minimap or a Zelda style auto-jump. So where does it load mods? Can I get it to recognize classes already in the classpath as mods? Is there some list I can append class objects to in order for them to be loaded like mods? I was going to do the hack of "delete everything in mods except configuration which is there sometimes and symlink all the mod files into there" but it really seems inelegant compared to what MagicLauncher manages to do. Any ideas how to replicate that?
  7. Eugh, a Tick handler. I try to minimize those. Oh well, it won't be any slower than if hooks are already in place.
  8. I'd like to have something happen when my exhaustion (hunger) levels change a certain way. A cursory look through the javadoc didn't yield an event that gets fired when hunger is modified. Is there one, and if so what is it? Some method to overload?
×
×
  • Create New...

Important Information

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