Sign in to follow this  
Ulviirala

[RELEASED] UnlimitedQuacks 1.4.2 - Another small collection of mods

Recommended Posts

Brief disclaimer: I'm not going to lie, I'm sharing these mods in the hope that they'll be useful to you, but I can not guarantee continued support/development. I'm investing time in them because I'm admin on a friend's small private server at this time, that I play on as well. There's always the odd chance I'm up for taking requests, feel free to PM me about it. And don't hesitate to report bugs, I'm likely to address them!

 

 

Development of the 1.4/1.4.1 update was kindly sponsored by http://PVEpLands.com! See the update post for details.

 

The 1.4.2 update seems to have required only Pick More Sprouts to be updated. If you find some functionality broken, please post here or open an issue on Github. Ideally make sure that it really is one of these mods, a good way to find out is running the server with only one mod and confirming. Otherwise it might be a compatibility issue which requires the whole mod list (a ZIP of the mods folder for ease of access helps) to try and resolve the issue.

 

 

 

All mods are built upon ago's server mod loader: http://forum.wurmonline.com/index.php?/topic/133085-released-server-mod-loader-priest-crops-seasons-server-packs-bag-of-holding/

 

 

Releases can be found here: https://github.com/dmon82/UnlimitedQuacks/releases

 

Release 1.4.2 was built on ModLoader version v0.26.3-e9998cf
Release 1.4.2 on Wurm Unlimited version 1.4.0.1.

Extract files into your server's mod folder.

 

We're playing on an Epic settings, PvP enabled homeserver, and discussed some things, which I'm trying to implement. Its name is vaguely dedicated to a rubber duck, hence the name Unlimited Quacks (formerly Unlimited Tweaks).

 

Epic mission hints

  • Tree cut down missions will centre the tree on the tile, and set it to 69 damage (we don't want to raze our perimeters).
  • Always shows traitor creatures like using the Locate soul spell when tracking (Note: traitor creatures seem to disappear on server restarts), not sure about performance issues with large numbers of players spamming tracking.
  • Can customise mission generation, disable mission types (e.g. building pylons), and tweak numbers required.

 

No holy ground

  • Allows founding settlements, terraforming, and building structures (not even GMs can do it) near the white and black light altar (we're using them decoratively in the spawn town), also allows founding settlements despite aggressive creatures and creature dens.

 

No mail cost

  • Removes postage from mailing items, also removes postage from returned/rejected mails.
  • Looking into placing 30 power enchants on newly created mailboxes.
  • Newly created mailboxes will have a 30 power Courier enchant placed on them.
  • Configurable (any feature can be toggled, and the power can be specified).
  • The enchant actually works now. Well done, Ulvi, only took you forever to add that one line of code *self cynicism*.

 

PvP surface mining slope

  • On Epic, the slope limit for surface mining is 1.0 times your mining skill, this reverts it to 3.0 times (like on PvE).

 

Ash produce

  • Items that have cooling ticks can produce ash.
  • Ash producing items are configureable now (don't want kilns to produce ash? no problem!).
  • Chance per second is now configurable globally and per item now.
  • Limit the number of stacks produced globally and per item now!
  • Should no longer create ghost ash.

 

Fire burn time

  • Displays pretty much the exact time until a fire becomes a layer of glowing coals.

Example: [17:03:54] It will burn steadily for about 72 minutes and 10 seconds. (50QL forge not inside a structure)

  • Target temperature now configurable, see config file for further details and figures.
  • Now displays target temperature specific messages (e.g. the fire will be a bed of glowing red coals in x minutes).

 

Double bulk capacity

  • Newly created BSBs and FSBs capacity is quadrupled (4x).
  • All crates capacity is doubled.
  • Both values can be configured.
  • Crates trimmed their items back down to 150 and 300 respectively, because I overlooked another place that needed a change.

 

Pick more sprouts

  • Pick more sprouts with one action.
  • Configurable (defaults to 5).

 

 

Right now there's nothing else definitively planned, that isn't provided by other mods already. Feel free to fork the git repository, contribute, or build upon it. Always test new mods on a local test server before pushing things live, and make a backup.

Edited by Ulviirala
1.4.2 update (Pick More Sprouts only)
  • Like 9

Share this post


Link to post
Share on other sites

The 1.1 update brings hints for traitor creatures, the ash produce mod as alternative way to coal piles, and the burn time mod, translating the remaining fire burn time into minutes and seconds when examining.

 

/edit: Reminder, always run a local test server with the addition of new mods, to test for incompatibilities and other oddities before pushing it to the live server. Feel free to report with as much information you feel you can give, and I'll look into it as time allows!

Edited by Ulviirala

Share this post


Link to post
Share on other sites

Thank you for releasing these mods, the no holyground was something on my to-do list so I will be using it for Valoria in the near future. Thanks again, these are awesome <3

  • Like 1

Share this post


Link to post
Share on other sites

I'm glad it ended up being useful to you as well! \o/

 

The 1.2 update adds a storage capacity mod for bulk containers and crates, and adds configuration options because Yay! for whatever values YOU want ;-)

 

I promise though, that's pretty much all I wanted to do for now.

 

The bulk storage increase only works for newly created BSBs and FSBs, because their capacity is related to their set size, saved in the wurmitems.db items table as SizeX, SizeY, and SizeZ, which are multiplied with eachother. Default is 200, 200, 400, meaning 200 x 200 x 400 = 16,000,000 grams or 16,000 litres of volume. I have not looked into running a database statement to update those values with my mod.

  • Like 1

Share this post


Link to post
Share on other sites

If folks are interested in completely unrestricted container capacities my big containers BAEA mod does that. I removed the volume and xyz size check limitations. It does allow some weird things like nesting same containers. eh, for me that plus loading unchained means my whole deed fits in a large cart.

http://forum.wurmonline.com/index.php?/topic/137454-beta-big-containers-baea-mod/

 

It never stops amazing all the cool stuff we do here. Bdew's BetterDigMod, Ago's Spellmod, and others but I really like those two.

  • Like 1

Share this post


Link to post
Share on other sites

Nice selection, picked up EpicMissionHints, FireBurnTime and AshProduce for now.

However, I noticed that enabling EpicMissionHints makes the server crash if used together with the InbreedWarning mod from Ago.

 

Quote

[07:41:26 PM] GRAVE org.gotti.wurmunlimited.serverlauncher.DelegatedLauncher: com.wurmonline.server.behaviours.MethodsCreatures class is frozen
java.lang.RuntimeException: com.wurmonline.server.behaviours.MethodsCreatures class is frozen

 

  • Like 1

Share this post


Link to post
Share on other sites
On 9/7/2016 at 0:43 AM, Gabe said:

Nice selection, picked up EpicMissionHints, FireBurnTime and AshProduce for now.

However, I noticed that enabling EpicMissionHints makes the server crash if used together with the InbreedWarning mod from Ago.

 

 

I forgot to remove the class freeze after debugging. I've removed it and ran the server with both mods running without issues. Thanks for reporting this!

 

Update 1.3 fixed the incompatibility with Inbreed Warning due to a class freeze, the number of stacks of ash produced by fireplaces can now be limited (up until the 100 item limit (v1.3.1)) or set to 0 for unlimited, the target temperature the Fire Burn Time mod estimates can now be configured, the exact figures are in the config file as well.

# 0    -  999   The fire is not lit.
# 1000 - 1999	A few red glowing coals can be found under a bed of ahshes.
# 2000 - 3499	A layer of ashes is starting to form on the glowing coals.
# 3500 - 3999	A hot red glowing bed of coal remains of the fire now.
# 4000 - 4999	A few flames still dance on the fire but soon they too will die.
# 5000 - 6999	The fire is starting to fade.
# 7000 - 8999	The fire burns with wild flames and still has much unburnt material.
# 9000+			The fire burns steadily and will still burn for a long time.

It was also brought to my attention, that not only forges, kilns, and smelters produce ash as I had thought, as I've misinterpreted the code insertion through Javassist. The code still worked without issue, but applied to all fireplaces, and I decided to keep it.

 

Unless there's a reported bug, incompatibility, a WU update breaking something, reasonable suggestion, or request, there will probably no immediate updates anymore from this point on.

Edited by Ulviirala

Share this post


Link to post
Share on other sites

Update 1.3.1 was necessary, due to crates trimming their contents to 150 and 300 respectively (rip my hundreds of marble), because I overlooked another place where the base values needed to be changed. I took the opportunity to stop AshProduce creating ash past the 100 item limit, as well as add a mod to pick 5 sprouts (configurable) per action.

Share this post


Link to post
Share on other sites
On 9/7/2016 at 5:49 AM, Ulviirala said:

I forgot to remove the class freeze after debugging. I've removed it and ran the server with both mods running without issues. Thanks for reporting this!

 

Update 1.3 fixed the incompatibility with Inbreed Warning due to a class freeze, the number of stacks of ash produced by fireplaces can now be limited or set to 0 for unlimited, the target temperature the Fire Burn Time mod estimates can now be configured, the exact figures are in the config file as well.


# 0    -  999   The fire is not lit.
# 1000 - 1999	A few red glowing coals can be found under a bed of ahshes.
# 2000 - 3499	A layer of ashes is starting to form on the glowing coals.
# 3500 - 3999	A hot red glowing bed of coal remains of the fire now.
# 4000 - 4999	A few flames still dance on the fire but soon they too will die.
# 5000 - 6999	The fire is starting to fade.
# 7000 - 8999	The fire burns with wild flames and still has much unburnt material.
# 9000+			The fire burns steadily and will still burn for a long time.

It was also brought to my attention, that not only forges, kilns, and smelters produce ash as I had thought, as I've misinterpreted the code insertion through Javassist. The code still worked without issue, but applied to all fireplaces, and I decided to keep it.

 

Unless there's a reported bug, incompatibility, a WU update breaking something, reasonable suggestion, or request, there will probably no immediate updates anymore from this point on.

 

Campfires are producing ash also. :-)

Share this post


Link to post
Share on other sites

hello =)

is double bulk capacity compatible with the bag of holding cast? i believe there would two mods injected the containersize?

 

Eject

Share this post


Link to post
Share on other sites
8 hours ago, Eject said:

hello =)

is double bulk capacity compatible with the bag of holding cast? i believe there would two mods injected the containersize?

 

Eject

Cheers,

 

by the looks it seems they are compatible as my mod changes the values when the instance of that class is created, and ago's Bag of Holding changes the get accessor's return value of the actual instance. I briefly tried it and it worked for me with BSBs.

  • Like 1

Share this post


Link to post
Share on other sites
1 hour ago, Ulviirala said:

Cheers,

 

by the looks it seems they are compatible as my mod changes the values when the instance of that class is created, and ago's Bag of Holding changes the get accessor's return value of the actual instance. I briefly tried it and it worked for me with BSBs.

 

Never thought to cast BoH on a crate. haha Nice!

Share this post


Link to post
Share on other sites

It didn't look like it worked for crates, in those cases the mod that loads last gets its changes into effect. And as long as it doesn't break dependencies, it shouldn't cause crashes but simply void the functionality of the other mod.

Share this post


Link to post
Share on other sites

another Question =)

now we tried the mailboxsystem with automatic courier

if a player build a mailbox and examine it, we was happy thet it shows courier was cast on it with power 100 yeah

 

now tested to receive an email, while checking the box in event was written:

[21:58:20] The entities inside refuse to help you.

 

then i looked with manage item restrictions and find out, the box "has courier" wasnt checked and the field "power" was with the standard value of 50

i manualy entered the values that i need (courier with 100 power) and then it works

 

Orakel

 

add: the other mailmod i have disabled

Edited by Eject

Share this post


Link to post
Share on other sites

nice mods, i dont suppose its easy to add more fruit harvestable like the sprouts? =)

Share this post


Link to post
Share on other sites
3 hours ago, Aum said:

nice mods, i dont suppose its easy to add more fruit harvestable like the sprouts? =)

I was looking into cutting more grass, flowers, harvest like fruits per action, but  at the time I broke something in a way I couldn't make sense of. I haven't looked into it any further after it got a bit quiet on our server.

 

I'm not sure when I'll take some time to sit down with it again.

 

Other things I had planned was making the shaker orbs have a number of uses equal to their QL, tower and spirit guards attacking uniques, removing epic building missions, and making every drum roll succeed instead of a 20 % chance while imping for example, and fixing the mailbox mod (enchant not working). There was something else really useful, but I forgot what it was ;(

  • Like 1

Share this post


Link to post
Share on other sites

Have you any news because the mailbox issue?

 

Kind regards

Eject

Share this post


Link to post
Share on other sites

Hey Ulviirala (and possibly other users of the mod),

 

Kudos on making it all open source! There's an issue with the ash mod that can be quite disastrous for any larger (by WU standards) server over time. It's subtle enough but it will kill you in the long run.

 

Basically, you want to check which items the ash gets spawned in (instead of everything except coal piles). There are many items out there that get hot that are actually not even containers (lamps comes to mind).

 

Just a heads up! :)

 

  • Like 1

Share this post


Link to post
Share on other sites
4 hours ago, Friya said:

Basically, you want to check which items the ash gets spawned in (instead of everything except coal piles). There are many items out there that get hot that are actually not even containers (lamps comes to mind).

Cheers,

 

I couldn't see a reason why to NOT make it open source, it's better for everyone in this instance. People can point out my mistakes, criticism is very welcome as I'm open to learn, fix things if I'm not around or fork the repository in its entirety. Win-win in all cases ;)

 

And thanks for pointing this out. I can't tell you why this never occurred to me, and how I assumed only actual fireplaces would call the class method in question. I'm sure there was something that made me think it at the time. 

 

On the one hand, there's a slow realisation creeping in, thinking of copper stills full of ash, and I'm asking myself if frying pans will produce ash. Funny enough, frying pans that get an "outside item" cooling tick, will get ash. And I do feel bad about this oversight. Or generally when I mess up, I don't want to ruin people's days. (It's fine to make me feel bad, things need to be fixed, and then I'll feel good again ;) )

 

On the other hand, nobody bothered to report it until now. I wonder if it's because of my brief disclaimer, or some other reason. I do intend to fix bugs when they're brought up!

 

There will be an update soon, not for all mods, but I'm investigating and giving this one a look-over as we speak. A config option option for template IDs that "should" accumulate ash, immediately comes to mind.

Edited by Ulviirala

Share this post


Link to post
Share on other sites

I'll try to outline the current behaviour as I understand it, and leave an update proposal up for discussion until the next release.

 

"Cooling outside items", which I can only assume is items not within a container, save the "pile of items" occurs every second for actively burning items like forges. It only happens for items that have a temparature of larger than 200 (not a unit like °C but more arbitrary, see FireBurnTime settings in a previous post). All other items get polled depending on their "decay time" value (you can force a tick by right-clicking the tile with an ebony want, and selecting Specials > Poll).

 

Items that are not containers, that are in the outside world, NOT in an item pile do not create ash.

[01:01:01 PM] INFO AshProduce: Inserting ash into longsword?
[01:01:01 PM] INFO AshProduce: Adding ash to longsword result=false

 

Items that are not containers, that are in an item pile, will drop ash into the item pile.

[01:00:38 PM] INFO AshProduce: Inserting ash into longsword?
[01:00:38 PM] INFO AshProduce: Inserting ash into pile of items?
[01:00:38 PM] INFO AshProduce: Adding ash to longsword result=true

 

So there are no "ghost" items saved as being inside items that are not containers, as the insertItem() method refuses to do so. There should also be no excessive load, as cooling items have a very low poll rate compared to actual fireplaces that update every second anyway. Exploiting this behaviour would net rather low amounts of ash, even with a 100% chance in the config.

 

I'd probably include a config option to specify what templateIDs (items) should receive a chance of ash. Separate chances for separate items seems a bit excessive, so I'd probably leave it as global chance at this point. Very much possible though, and with a hashmap it should be relatively good in speed as well. I could also add an option to add more than 1 ash at a time, and make that method a bit more solid.

Edited by Ulviirala

Share this post


Link to post
Share on other sites

You will not end up with ghost items that are physically in the world, but you will end up with objects created that are nowhere.

 

I'd suggest doing some kind of change that either makes it not spawn, or destroy the item if it failed to insert. The former is the cheaper. But yeah, there are of course many ways to solve this problem! :)

Edited by Friya

Share this post


Link to post
Share on other sites

Seems like my concentration is a bit lacklustre today, I can see indeed a lot of ash with no parentID (-10) and 0, 0, 0 xyz position in the wurmitems.db->items table. I'm not sure but I hope they would take damage and decay in due time, and even if the items are temporary, it's a waste of computer resources nonetheless.

 

It's a shame really that the mods don't get to mature, because I don't regularly take time out of my days to work on WU things. Days are too short as it is haha :)

Edited by Ulviirala

Share this post


Link to post
Share on other sites

I know the feeling with length of day all too well!

 

But yeah, since the item does not end up in the "container" you are no longer protected by your latter if-statement and things goes pretty haywire from there. :)

 

Edited by Friya

Share this post


Link to post
Share on other sites

UnlimitedQuacks will now enter RELEASED state with its 1.4 update, after having addressed all issues that have been brought to my attention.

 

Development of the 1.4 update was kindly sponsored by http://www.PVEpLands.com.

 

1.4 brings updates to Epic Mission Hints, Ash Produce, Fire Burn Time, and No Mail Cost.

 

Updating Ash Produce to 1.4.1 is strongly recommended.

Updating No Mail Cost if you use the default enchant is strongly recommended.

The other updates are optional, if you don't want to use the new features.

 

Epic Mission Hints

This mod now allows you to customise some aspects of the epic mission generation. There's a lot of in-depth information, but I'll try to cut it short. You can now enable all mission types, even if your server is a Freedom Isles epic server. By default, no deity favours the Freedom Isles, thus you fall in a very small mission set.

 

You can now disable the generation of certain mission types (e.g. Don't want to build pylons, obelisks, temples? Disable the mission type! Don't want to drain settlement tokens? Disable the mission type!).

 

You can now limit the number of required items to complete a mission (e.g. Don't want to kill 2000 bison? Limit it! Don't want 50 players to perform a ritual? Limit it!).

 

The configuration file holds a lot of detailed information on how to customise your mission generation. If you encounter any oddities, blame CodeClub AB for not documenting this feature. I'll try to answer any questions to the best of my ability and available time.

 

Ash Produce

I was made aware that Ash Produce doesn't quite work as intended and has now received an overhaul. Long story short, the mod's code was inserted outside of a conditional statement, but it should've been inside.

 

Configurable options are now much more advanced. YOU WILL NEED TO USE THE NEW CONFIG FILE!

 

What items generate ash can now be configured (see config file for detailed information). As before, the chance to generate ash per tick (per second for fireplaces), can be a global value. It can also be defined specifically for a certain item (want campfires to produce less ash? set a custom chance!). The number of ash stacks an item accumulates is now also configurable globally, and per item. You can now also define how much ash per generation will be added.

 

No longer should items that are not meant to generate ash do so, and no items should be generated at xyz coordinates 0, 0, 0. If you want to make sure, check your wurmitems.db for template ID 141 at zero coordinates (for advanced users).

 

No Mail Cost

There's no excuse (hi Eject!) why I haven't attended to this earlier, and no apology is appropriate for causing inconvenience. The default enchant when creating a mailbox will now actually allow you to send mail.

 

Fire Burn Time

Even though I played on 2 servers using this, I never got around getting it improved. It will now return a target temperature specific message, instead of saying "it will be pretty hot". For example, "It will have a bed of red glowing coals in about", or "It will not start to fade for about".

 

 

 

I hope you and your players enjoy this update, the epic mission generation being a rather extensive one, and don't hesitate to bring any bugs to my attention. Although I said I can't guarantee continued development, I will address critical bugs ASAP. Unless something crops up, I'd reckon this will be it until the cooking update, for which the beta is yet to be released.

  • Like 1

Share this post


Link to post
Share on other sites

Hi Ulviirala

Thanks for fixing the issues and there is no problem about the mail mod ;)

We are all happy now, thanks for your awesome work

I'm looking forward to your future modifications. o/

 

Eject

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this