cantorsdust

Members
  • Content Count

    40
  • Joined

  • Last visited

Community Reputation

7 Neutral

About cantorsdust

  • Rank
    Villager

Recent Profile Visitors

922 profile views
  1. Please see this pastebin for the content of the other poll method. You will find that the isBulkItem() code is contained within an else block only called when if(this.template.getDecayTime() == 9223372036854775807L) is false. It will also never be called. Your bulk storage bins are also safe from decay. In other news, BLACKLIST UPDATE in NoDecay v1.4! Not fully tested, would appreciate any feedback. Please see instructions in .properties file for how to configure. edit: Next up is implementing no decay only if on deed. This may require more work, as currently the game checks for the item template's decayTime and doesn't directly reference the item itself. Meaning getDecayTime() applies for all items of the same type, not one particular item. Meaning it's not obvious if one particular item is on deed or not.
  2. Working on it. My primary problem is passing the blacklist from the properties file to javassist. It would appear that javassist will not take dynamically-generated values (as a user made blacklist must be). So I talked to ago and implemented a hacky workaround where the blacklist gets passed to a Hashset which is then checked by a static method. Problem now is I can't figure out how to call the static method. So I'm talking to ago again.
  3. Okay, I made blacklist a static Hashset and filled it in configure. Then I created getAdjustedDecayTime() as a static method that checks whether an itemTemplate's templateId is contained on the blacklist and returns an adjusted decay time. I want to call this static method. How? I've tried adding it in as part of setBody() but says getAdjustedDecayTime not found com.wurmonline.server.items.ItemTemplate. How do I get it to recognize the method? Code on pastebin
  4. Very odd. I'm actively using it on my server now and have tried all 4 combinations of true and false for the two options and confirmed they work correctly. With unlimitedStaminaOn true, stamina is always full. With only unlimitedStaminaMovingOn true, walking and climbing (handled by the same code in the game, so difficult to tease out one from the other) are free, but digging is definitely not. I don't have a horse, so I cannot test riding. I would suspect it would also be free, though, as it again is handled by the same moving code. With both false, everything works as vanilla. Perhaps redownload 1.1 from Github and make sure that you have the correct .jar and .properties in the correct place? Perhaps the old one got left or the new one got unzipped to the wrong location. The actual code to handle what gets turned on is quite simple, and I don't see a way for both options to accidentally get turned on: public void preInit() { if(this._unlimitedStaminaOn) { this.UnlimitedStaminaFunction(); } else { if(this._unlimitedStaminaMovingOn) { this.UnlimitedStaminaMovingFunction(); } } } Let me know if anything helps. Sorry I could not find a better solution for you.
  5. You may want to look into however the Minecraft modding community handled this same problem with item IDs. I know their modloader, Forge, eventually got a similar functionality for assigning available ID numbers to mods.
  6. Updated to 1.1. Now adds second config option, unlimitedStaminaMovingOn. When true, prevents stamina from dropping only from moving. Actions that normally deplete stamina will still do so. This should also prevent stamina loss on horseback or in carts. I haven't tried whether it would prevent stamina loss on horseback but I suspect it will.
  7. 100% sure that it does. Relevant code is poll() in com.wurmonline.server.items.Item (pastebin). Bulk storage is handled within an if(this.template.getDecayTime() != 9223372036854775807L) block, and my mod has getDecayTime() return the checked value if the item's templateId doesn't match the few excluded values above.
  8. I was thinking about this this morning, and I agree with you. This is just a hammer of a mod. I'm thinkin about digging through the code later and seeing if I can make finer, configurable tweaks.
  9. 90% sure that it does. I believe the bulk storage decay code is contained within an if (decayTime < max.long) somewhere in either the devay() or poll() functions. My code replaces all getDecayTime() calls to return max.long except in the above specified cases. I'm not at home right now so I can't check the code for sure. I can confirm tonight.
  10. Well, that's what I get for being a new Wurm Unlimited player. Never heard of it before today, thanks.
  11. They shouldn't be decaying now. Let me know if they are. In other news, ago has been kind enough to give me a tip on how to implement a blacklist. I'm away on interviews today and tomorrow, but possibly will update tomorrow night.
  12. Hmm. Either way, I just took a hammer to it and made my fatigue unlimited. I hate the mechanic anyway.
  13. Just wanted to post that I had tested this out. While intercepting the reported level of fatigue is clever, I didn't like how when walking I would still decrease in fatigue over time and eventually tire out. I decided to intercept modifyFatigue() instead and just fix it at the source so that every creature has maximum fatigue all the time. A hammer, I know, but just a different way of doing it. Thread is here, let me know what you think.
  14. I'm pleased to release my third mod, UnlimitedFatigue, using Ago's Modloader. The source code is blatantly stolen adapted from Ulviirala's BetterGamemasters. Credit to Webba for the inspiration at NoFatigue. Version 1.1 of UnlimitedFatigue (Now renamed UnlimitedStamina internally). UnlimitedFatigue A mod for Wurm Unlimited. Has two options. Option 1 prevents all creatures' stamina from ever lowering. Option 2 prevents all creatures' stamina from lowering during movement. The options can be configurated using the mod's .properties file. This affects all creatures including players. It does so by adding modloader code. UnlimitedStaminaFunction intercepts modifyStamina() in com.wurmonline.server.creatures.CreatureStatus and sets it so that any negative modifier is turned into a positive one, then the regular native code is allowed to run. UnlimitedStaminaMovingFunction intercepts modifyStamina() when called as part of the move() function in com.wurmonline.server.creatures.MovementScheme and prevents it from being called. It should remain up to date for any Wurm Unlimited version. Installation instructions: Make sure you have Ago's Modloader Unzip UnlimitedFatigue.zip to the Wurm Unlimited Dedicated Server folder so that modloader.bat and the mods folder are in the same directory as WurmServerLauncher.exe. Start the game. Installation instructions: 1. Make sure you have Ago's Modloader 2. Unzip UnlimitedFatigue.zip to the Wurm Unlimited Dedicated Server folder so that modloader.bat and the mods folder are in the same directory as WurmServerLauncher.exe. 4. Start the game. Download here. Github here.