Sindusk

Wyvern Mods

Recommended Posts

Wyvern Mods

 

Download (Google Drive)

 

Wyvern Mods is the source code for basically all of the modifications that currently run on Wyvern Reborn. I've tried to make a full extensive list of what it encompasses in the first post of the server thread, but it doesn't really cover all of it. This is not a single mod by itself. This is source code for a gigantic collection of mods. Some highlights:

 

  • Titan System - Raid bosses that use special AoE abilities and summon minions.
  • Supply Depots - A depot appears in a random location with a beam of red light marking it's location for all players to see, and can award custom loot to players if they manage to successfully capture it.
  • Chaos & Enchanters Crystals - Custom items that can either greatly enhance or absolutely devastate an item they're used on. Meant as "late-game gambling" for those who don't want to settle for anything less than perfect.
  • Custom Bounty - Bounty that rewards based on a creature strength algorithm instead of a flat amount per creature. Beyond that, you can award players based on damage dealt, participation, or simply edit what drops on the corpse of any given creature.
  • Custom armour & weapons - Knuckles, Warhammers, and Clubs are new weapons. Spectral armour and glimmerscale for an "upgraded" version of drake and scale to make players even more powerful if they're willing to invest in it.
  • Treasure Boxes - A custom item which rewards random treasures. Simple by design, but ultra effective in practice. Great for rewards after unique slayings and other events.
  • So much more...

 

The goal of posting this

 

My goal with releasing this source code is to give a "foundation" of sorts for other modders, allowing them to learn from what I've created so far, as it's pretty easy to see the cause -> effect in the modifications here. Beyond that, I'm hoping some of it is found useful by other server owners in creating their own custom content. You can piggyback your own ideas onto the systems I've created, making your own raid bosses with the Titan system and your own randomly placed "treasure hunting" events with the Supply Depots (perhaps even a public version of rifts!). Make your own custom creatures using mine as a template. Create your own items with fun interactions with my Chaos Crystals and Enchanters Crystals as a starting point. I think with a little bit of tweaking, other modders and server owners should be able to create some extremely interesting new content with what's provided here.

 

The final reason I'm putting this to the public is because I feel as though I don't need to "keep" my content to myself in order to maintain a playerbase. I don't see servers as a competition of who can get the most players. Once people begin playing on a server, they are most likely going to stay there for as long as it has a playerbase. I don't feel it necessary to "entice" players to come to Wyvern Reborn because it has unique custom content. I think the server stability, community, and server setup (2k PvE map and 1k Arena) are more important than that - and those are the factors that will keep people playing. My hope is that other modders and server owners will feel similar, and share some of the content they've created as well.

 

AntiCheat and Miscellaneous Changes

 

If you download the archive, you'll see that AntiCheat is part of WyvernMods. It has two components: Hiding hidden ores from LiveMap and XRay, and countering the advantage of ESP by hiding players, mounts, and lead creatures from local if they do not have vision of them (this component can cause sever lagg on larger servers and is currently a "beta" form of mod). The way this AntiCheat is handled is not counterable by client-side modding. The server culls information before the client receives it, meaning there's no way to adjust your client to counteract the change.

 

I'd like to request anyone who is up for the challenge to split this out of WyvernMods and make a public anti-cheat available. I've been planning to do it myself, but the issues with the ESP counter have prevented me from going forward with it, since it could potentially destabilize a server that isn't aware of how it might affect them. I'm hoping someone can iterate on what I've done and create something truly remarkable that all servers can use to enhance the experience a bit further.

 

Finally, there is a gigantic class called MiscChanges in WyvernMods. This is a collection of basically a year of QoL tweaks. I was planning to merge this into ServerTweaks to make it more enticing, but again, haven't had the time to do so. If anyone would like to split some of MiscChanges into a configurable mod for other server owners, it would probably go much appreciated.

 

Usage on other servers

 

So by now, if you're a server owner, you're probably asking yourself "can I use this on my server, and if so, how much?" - If you're asking about consent from me, I give it fully. You're welcome to use absolutely anything provided here on your server and modify it in whatever way you like. Unconditionally. I don't need to be credited for anything or have any other conditions for use. Just take whatever looks interesting and go crazy. I'm curious to see what you can do with it.

  • Like 15

Share this post


Link to post
Share on other sites

Thank you for sharing your work with the community :) I will take a deeper look at it over the course of the day

Share this post


Link to post
Share on other sites

You are so awesome =) thank your for this colection, i am glad to can test this tomorrow morning after my real work.

Have you any videos where i can see whats the titan system and the other thinks?

 

Eject

Share this post


Link to post
Share on other sites

This is what annoyed me about, someone else.. Sharing mods builds a community, being selfish and refusing to share destroys a community, so kudos to you for being a community builder.

  • Like 1

Share this post


Link to post
Share on other sites

Is there any possibility that someone with wurm mod building experience could build the mod? Or point me to instructions so I can do so? (other than installing maven, did that).

Share this post


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

Is there any possibility that someone with wurm mod building experience could build the mod? Or point me to instructions so I can do so? (other than installing maven, did that).

Here's the latest built version:

Mod Download (Google Drive)

 

Note: Some of it is designed specifically for Wyvern and will not function properly on other servers. A majority of it should function naturally, though.

  • Like 1

Share this post


Link to post
Share on other sites

So I got it to compile and run and just had a quick question, probably have more when I get the time:

 

What parts do you know of as being wyvern only, and what makes them so? Specific map coordiantes used, resources that weren't distributed, etc?

 

Not sure if this is covered by the above, but I summoned Ifrit, and wiz killed him. He summoned okay and just walked around a bit. Upon dying, he swirled up into the air before disappearing, then the server crashed.

 

Thanks though for releasing these, especially the source. I've wanted to take a look at some of the stuff you had for a while.

Share this post


Link to post
Share on other sites
51 minutes ago, conco said:

So I got it to compile and run and just had a quick question, probably have more when I get the time:

 

What parts do you know of as being wyvern only, and what makes them so? Specific map coordiantes used, resources that weren't distributed, etc?

 

Not sure if this is covered by the above, but I summoned Ifrit, and wiz killed him. He summoned okay and just walked around a bit. Upon dying, he swirled up into the air before disappearing, then the server crashed.

 

Thanks though for releasing these, especially the source. I've wanted to take a look at some of the stuff you had for a while.

Not sure what could've caused a server crash. Nothing like that should occur despite having the mod installed. Very interesting. Do you have a log?

 

Edit: Also, as a follow up to your question about what is specific to Wyvern - most of the Arena mods are coded specifically for an environment setup like the Arena I have, where it's one kingdom fighting amongst eachother. Most of it will function poorly outside of that use case. Furthermore, some of the teleportation actions have hard-coded server ID's for teleporting to and from the arena. Everything outside of the Arena mods should function naturally.

Edited by Sindusk

Share this post


Link to post
Share on other sites

Ok so I did take a look at it like mentioned above. Very nice mods I have to say and thanks for documenting your code :) So I will take a look into splitting out the MiscChanges mod as soon as I got some spare time and make it a configurable standalone. Will post it here in the topic.

 

Edit:

Ok, so I finished the extraction of the MiscChanges mod and called it "MiscServerChanges" (to make it clear that its a server side mod). You can find the different config options in the spoiler below.

 

I hope everything works. I didn't change any of the functionality code, so it should be fine. All options are false by default.

 

Spoiler

# Enable bridges to be built inside/over/through houses
advancedBridgeBuilding = false

 

# Allow mailboxes and bell towers to be loaded
loadMailboxesAndBelltowers = false

 

#Increase the amount of checks for new unique spawns by 5x
increasedUniqueChecks = false

 

#Change rarity odds when a player obtains a rarity window
changeRarityOdds = false

 

#Make leather not suck even after it's able to be combined
betterLeather = false

 

#Make food/drink affinities based on Item ID instead of creature ID
itemIDbasedaffinities = false

 

#Removal of eye/face shots to headshots instead
headshots = false

 

#Fix de-priesting when gaining faith below 30
fixPriests = false

 

#Remove requirement to bless for Libila taming
noBlessForLibliaTaming = false

 

#Remove fatiguing actions requiring you to be on the ground
changeFatigue = false

 

#Allow all creatures to be displayed in the Mission Ruler
displayAllCreaturesOnMission = false

 

#Fix Portal issues
fixPortals = false

 

#Disable the minimum 0.01 damage on shield damage, allowing damage modifiers to rule.
disableMinimumShieldDamage = false

 

#Allow Life Transfer to stack with Rotting Touch
lifeTransferStackWithRottingTouch = false

 

#Fix dragon armour dropping on logout
fixDragonArmorDrop = false

 

#Auto-Genesis a creature born on enchanted grass
autoGenesisCreature = false

 

#Mastercraft, enabling rare items and skills 90+/99+ to reduce skill check difficulty
enableMastercraft = false

 

#Allow statuettes to be used for casting even when not silver/gold
alwaysAllowStatues = false

 

#Allow GM's to bypass the 5 second emote sound limit
enableGMEmoteSpam = false

 

#Allow archery against ghost targets
archeryAgainstGhostTargets = false

 

#Make creatures wander slightly if they are shot from afar by an arrow
creaturesMoveIfShot = false

 

#Prevent losing Libila faith when changing kingdoms/crossing servers
preventFaithLoss = false

 

#Reduce meditation cooldowns
reduceMeditationCooldowns = false

 

#Adjust weapon damage type based on the potion/salve applied
adjustWeaponDamage = false

 

#Double the rate at which charcoal piles produce items
fasterCharcoal = false

 

download from here: Link

Edited by Arduin
  • Like 2

Share this post


Link to post
Share on other sites

I get an error with each mod.  For the wyvernmods I get this error:  I only get this one if I disabled the MiscServerchanges mod.

Spoiler

[01:14:45 PM] SEVERE org.gotti.wurmunlimited.serverlauncher.DelegatedLauncher: javassist.CannotCompileException: [source error] no such class: title
org.gotti.wurmunlimited.modloader.classhooks.HookException: javassist.CannotCompileException: [source error] no such class: title
    at org.gotti.wurmunlimited.mods.wyvernmods.MiscChanges.preInit(MiscChanges.java:701)
    at org.gotti.wurmunlimited.mods.wyvernmods.WyvernMods.preInit(WyvernMods.java:123)
    at org.gotti.wurmunlimited.modloader.ModLoaderShared.lambda$loadModsFromModDir$4(ModLoaderShared.java:103)
    at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
    at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
    at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
    at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
    at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
    at org.gotti.wurmunlimited.modloader.ModLoaderShared.loadModsFromModDir(ModLoaderShared.java:101)
    at org.gotti.wurmunlimited.serverlauncher.DelegatedLauncher.main(DelegatedLauncher.java:18)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at javassist.Loader.run(Loader.java:288)
    at org.gotti.wurmunlimited.serverlauncher.ServerLauncher.main(ServerLauncher.java:33)
Caused by: javassist.CannotCompileException: [source error] no such class: title
    at javassist.expr.MethodCall.replace(MethodCall.java:241)
    at org.gotti.wurmunlimited.mods.wyvernmods.MiscChanges$5.edit(MiscChanges.java:286)
    at javassist.expr.ExprEditor.loopBody(ExprEditor.java:192)
    at javassist.expr.ExprEditor.doit(ExprEditor.java:91)
    at javassist.CtBehavior.instrument(CtBehavior.java:712)
    at org.gotti.wurmunlimited.mods.wyvernmods.MiscChanges.preInit(MiscChanges.java:283)
    ... 19 more
Caused by: compile error: no such class: title
    at javassist.compiler.MemberResolver.searchImports(MemberResolver.java:468)
    at javassist.compiler.MemberResolver.lookupClass(MemberResolver.java:412)
    at javassist.compiler.MemberResolver.lookupClassByJvmName(MemberResolver.java:319)
    at javassist.compiler.TypeChecker.atCallExpr(TypeChecker.java:683)
    at javassist.compiler.JvstTypeChecker.atCallExpr(JvstTypeChecker.java:157)
    at javassist.compiler.ast.CallExpr.accept(CallExpr.java:46)
    at javassist.compiler.TypeChecker.atPlusExpr(TypeChecker.java:358)
    at javassist.compiler.TypeChecker.atPlusExpr(TypeChecker.java:356)
    at javassist.compiler.TypeChecker.atBinExpr(TypeChecker.java:312)
    at javassist.compiler.ast.BinExpr.accept(BinExpr.java:41)
    at javassist.compiler.JvstTypeChecker.atMethodArgs(JvstTypeChecker.java:221)
    at javassist.compiler.TypeChecker.atMethodCallCore(TypeChecker.java:735)
    at javassist.compiler.TypeChecker.atCallExpr(TypeChecker.java:695)
    at javassist.compiler.JvstTypeChecker.atCallExpr(JvstTypeChecker.java:157)
    at javassist.compiler.ast.CallExpr.accept(CallExpr.java:46)
    at javassist.compiler.CodeGen.doTypeCheck(CodeGen.java:242)
    at javassist.compiler.CodeGen.atStmnt(CodeGen.java:330)
    at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50)
    at javassist.compiler.CodeGen.atStmnt(CodeGen.java:351)
    at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50)
    at javassist.compiler.CodeGen.atIfStmnt(CodeGen.java:398)

 

And for the Miscserverchanges mod I get this:  

Spoiler

[12:48:56 PM] SEVERE org.gotti.wurmunlimited.serverlauncher.DelegatedLauncher: java.lang.ClassNotFoundException: package org.gotti.wurmunlimited.mods.wyvernmods.MiscServerChanges
org.gotti.wurmunlimited.modloader.classhooks.HookException: java.lang.ClassNotFoundException: package org.gotti.wurmunlimited.mods.wyvernmods.MiscServerChanges
    at org.gotti.wurmunlimited.modloader.ModInstanceBuilder.createModInstance(ModInstanceBuilder.java:74)
    at org.gotti.wurmunlimited.modloader.ModLoaderShared.lambda$loadModsFromModDir$0(ModLoaderShared.java:88)
    at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
    at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
    at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
    at org.gotti.wurmunlimited.modloader.ModLoaderShared.loadModsFromModDir(ModLoaderShared.java:88)
    at org.gotti.wurmunlimited.serverlauncher.DelegatedLauncher.main(DelegatedLauncher.java:18)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at javassist.Loader.run(Loader.java:288)
    at org.gotti.wurmunlimited.serverlauncher.ServerLauncher.main(ServerLauncher.java:33)
Caused by: java.lang.ClassNotFoundException: package org.gotti.wurmunlimited.mods.wyvernmods.MiscServerChanges
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at javassist.Loader.delegateToParent(Loader.java:426)
    at org.gotti.wurmunlimited.modloader.classhooks.HookManager$1.delegateToParent(HookManager.java:134)
    at javassist.Loader.loadClass(Loader.java:312)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at org.gotti.wurmunlimited.modloader.ModInstanceBuilder.createModInstance(ModInstanceBuilder.java:72)
    ... 16 more

 

Should I disabled any of your previous mods Sindusk as I am using most of them?

 

Thanks for making these for the community by the way.

Edited by Asperis

Share this post


Link to post
Share on other sites

Are you able to package up each mod separately or create a .properties file to switch each one on/off?

Share this post


Link to post
Share on other sites

You cant actually use the MiscServerChanges together with the wyvernmods pack, since its also part of that pack. I just made it a standalone for people who don't want to have the full pack (also you can configure the standalone version, the pack version has all options turned on). My server started just fine with just the MiscServerChanges installed

Edited by Arduin
  • Like 1

Share this post


Link to post
Share on other sites
15 hours ago, Asperis said:

I get an error with each mod.  For the wyvernmods I get this error:  I only get this one if I disabled the MiscServerchanges mod.

  Reveal hidden contents

[01:14:45 PM] SEVERE org.gotti.wurmunlimited.serverlauncher.DelegatedLauncher: javassist.CannotCompileException: [source error] no such class: title
org.gotti.wurmunlimited.modloader.classhooks.HookException: javassist.CannotCompileException: [source error] no such class: title
    at org.gotti.wurmunlimited.mods.wyvernmods.MiscChanges.preInit(MiscChanges.java:701)
    at org.gotti.wurmunlimited.mods.wyvernmods.WyvernMods.preInit(WyvernMods.java:123)
    at org.gotti.wurmunlimited.modloader.ModLoaderShared.lambda$loadModsFromModDir$4(ModLoaderShared.java:103)
    at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
    at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
    at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
    at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
    at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
    at org.gotti.wurmunlimited.modloader.ModLoaderShared.loadModsFromModDir(ModLoaderShared.java:101)
    at org.gotti.wurmunlimited.serverlauncher.DelegatedLauncher.main(DelegatedLauncher.java:18)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at javassist.Loader.run(Loader.java:288)
    at org.gotti.wurmunlimited.serverlauncher.ServerLauncher.main(ServerLauncher.java:33)
Caused by: javassist.CannotCompileException: [source error] no such class: title
    at javassist.expr.MethodCall.replace(MethodCall.java:241)
    at org.gotti.wurmunlimited.mods.wyvernmods.MiscChanges$5.edit(MiscChanges.java:286)
    at javassist.expr.ExprEditor.loopBody(ExprEditor.java:192)
    at javassist.expr.ExprEditor.doit(ExprEditor.java:91)
    at javassist.CtBehavior.instrument(CtBehavior.java:712)
    at org.gotti.wurmunlimited.mods.wyvernmods.MiscChanges.preInit(MiscChanges.java:283)
    ... 19 more
Caused by: compile error: no such class: title
    at javassist.compiler.MemberResolver.searchImports(MemberResolver.java:468)
    at javassist.compiler.MemberResolver.lookupClass(MemberResolver.java:412)
    at javassist.compiler.MemberResolver.lookupClassByJvmName(MemberResolver.java:319)
    at javassist.compiler.TypeChecker.atCallExpr(TypeChecker.java:683)
    at javassist.compiler.JvstTypeChecker.atCallExpr(JvstTypeChecker.java:157)
    at javassist.compiler.ast.CallExpr.accept(CallExpr.java:46)
    at javassist.compiler.TypeChecker.atPlusExpr(TypeChecker.java:358)
    at javassist.compiler.TypeChecker.atPlusExpr(TypeChecker.java:356)
    at javassist.compiler.TypeChecker.atBinExpr(TypeChecker.java:312)
    at javassist.compiler.ast.BinExpr.accept(BinExpr.java:41)
    at javassist.compiler.JvstTypeChecker.atMethodArgs(JvstTypeChecker.java:221)
    at javassist.compiler.TypeChecker.atMethodCallCore(TypeChecker.java:735)
    at javassist.compiler.TypeChecker.atCallExpr(TypeChecker.java:695)
    at javassist.compiler.JvstTypeChecker.atCallExpr(JvstTypeChecker.java:157)
    at javassist.compiler.ast.CallExpr.accept(CallExpr.java:46)
    at javassist.compiler.CodeGen.doTypeCheck(CodeGen.java:242)
    at javassist.compiler.CodeGen.atStmnt(CodeGen.java:330)
    at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50)
    at javassist.compiler.CodeGen.atStmnt(CodeGen.java:351)
    at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50)
    at javassist.compiler.CodeGen.atIfStmnt(CodeGen.java:398)

 

And for the Miscserverchanges mod I get this:  

  Reveal hidden contents

[12:48:56 PM] SEVERE org.gotti.wurmunlimited.serverlauncher.DelegatedLauncher: java.lang.ClassNotFoundException: package org.gotti.wurmunlimited.mods.wyvernmods.MiscServerChanges
org.gotti.wurmunlimited.modloader.classhooks.HookException: java.lang.ClassNotFoundException: package org.gotti.wurmunlimited.mods.wyvernmods.MiscServerChanges
    at org.gotti.wurmunlimited.modloader.ModInstanceBuilder.createModInstance(ModInstanceBuilder.java:74)
    at org.gotti.wurmunlimited.modloader.ModLoaderShared.lambda$loadModsFromModDir$0(ModLoaderShared.java:88)
    at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
    at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
    at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
    at org.gotti.wurmunlimited.modloader.ModLoaderShared.loadModsFromModDir(ModLoaderShared.java:88)
    at org.gotti.wurmunlimited.serverlauncher.DelegatedLauncher.main(DelegatedLauncher.java:18)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at javassist.Loader.run(Loader.java:288)
    at org.gotti.wurmunlimited.serverlauncher.ServerLauncher.main(ServerLauncher.java:33)
Caused by: java.lang.ClassNotFoundException: package org.gotti.wurmunlimited.mods.wyvernmods.MiscServerChanges
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at javassist.Loader.delegateToParent(Loader.java:426)
    at org.gotti.wurmunlimited.modloader.classhooks.HookManager$1.delegateToParent(HookManager.java:134)
    at javassist.Loader.loadClass(Loader.java:312)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at org.gotti.wurmunlimited.modloader.ModInstanceBuilder.createModInstance(ModInstanceBuilder.java:72)
    ... 16 more

 

Should I disabled any of your previous mods Sindusk as I am using most of them?

 

Thanks for making these for the community by the way.

 

 

As for the MiscServerChanges error, that was actually a big "whooops" on my part, I am sorry :D

Just redownload, it should be fixed. But still, currently you are not supposed to use both. Here is the link again (the first link above also works) : Download Link

 

 

 

Quote

Are you able to package up each mod separately or create a .properties file to switch each one on/off?

 

Yes that is doable, it will just take a good amount of time

Edited by Arduin
  • Like 3

Share this post


Link to post
Share on other sites

Ok Arduin I downloaded your fix and tested it.  It's partially working but I'm getting a new error that's not allowing the server to start.  The error is below.

 

Spoiler

[01:56:58 PM] INFO org.gotti.wurmunlimited.mods.wyvernmods.MiscServerChanges: Pre-Initializing.
[01:56:58 PM] INFO org.gotti.wurmunlimited.mods.wyvernmods.MiscChanges: Instrumented createItem in handleRecipe
[01:56:58 PM] INFO org.gotti.wurmunlimited.mods.wyvernmods.MiscChanges: Instrumented createItem in handleRecipe
[01:56:58 PM] INFO org.gotti.wurmunlimited.mods.wyvernmods.MiscChanges: Instrumented createItem in pollFermenting
[01:56:58 PM] INFO org.gotti.wurmunlimited.mods.wyvernmods.MiscChanges: Instrumented createItem in pollDistilling
[01:56:58 PM] INFO org.gotti.wurmunlimited.mods.wyvernmods.MiscChanges: Instrumented createItem in TempStates
[01:56:58 PM] SEVERE org.gotti.wurmunlimited.serverlauncher.DelegatedLauncher: javassist.CannotCompileException: [source error] no such field: lFaith
org.gotti.wurmunlimited.modloader.classhooks.HookException: javassist.CannotCompileException: [source error] no such field: lFaith
    at org.gotti.wurmunlimited.mods.wyvernmods.MiscChanges.preInit(MiscChanges.java:647)
    at org.gotti.wurmunlimited.mods.wyvernmods.MiscServerChanges.preInit(MiscServerChanges.java:150)
    at org.gotti.wurmunlimited.modloader.ModLoaderShared.lambda$loadModsFromModDir$4(ModLoaderShared.java:103)
    at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
    at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
    at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
    at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
    at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
    at org.gotti.wurmunlimited.modloader.ModLoaderShared.loadModsFromModDir(ModLoaderShared.java:101)
    at org.gotti.wurmunlimited.serverlauncher.DelegatedLauncher.main(DelegatedLauncher.java:18)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at javassist.Loader.run(Loader.java:288)
    at org.gotti.wurmunlimited.serverlauncher.ServerLauncher.main(ServerLauncher.java:33)
Caused by: javassist.CannotCompileException: [source error] no such field: lFaith
    at javassist.expr.MethodCall.replace(MethodCall.java:241)
    at org.gotti.wurmunlimited.mods.wyvernmods.MiscChanges$11.edit(MiscChanges.java:311)
    at javassist.expr.ExprEditor.loopBody(ExprEditor.java:192)
    at javassist.expr.ExprEditor.doit(ExprEditor.java:91)
    at javassist.CtBehavior.instrument(CtBehavior.java:712)
    at org.gotti.wurmunlimited.mods.wyvernmods.MiscChanges.preInit(MiscChanges.java:308)
    ... 19 more
Caused by: compile error: no such field: lFaith
    at javassist.compiler.TypeChecker.fieldAccess(TypeChecker.java:845)
    at javassist.compiler.TypeChecker.atFieldRead(TypeChecker.java:803)
    at javassist.compiler.TypeChecker.atMember(TypeChecker.java:988)
    at javassist.compiler.JvstTypeChecker.atMember(JvstTypeChecker.java:66)
    at javassist.compiler.ast.Member.accept(Member.java:39)
    at javassist.compiler.JvstTypeChecker.atMethodArgs(JvstTypeChecker.java:221)
    at javassist.compiler.TypeChecker.atMethodCallCore(TypeChecker.java:735)
    at javassist.compiler.TypeChecker.atCallExpr(TypeChecker.java:695)
    at javassist.compiler.JvstTypeChecker.atCallExpr(JvstTypeChecker.java:157)
    at javassist.compiler.ast.CallExpr.accept(CallExpr.java:46)
    at javassist.compiler.Javac$2.setReturnType(Javac.java:500)
    at javassist.compiler.JvstTypeChecker.atCallExpr(JvstTypeChecker.java:147)
    at javassist.compiler.ast.CallExpr.accept(CallExpr.java:46)
    at javassist.compiler.TypeChecker.atVariableAssign(TypeChecker.java:249)
    at javassist.compiler.TypeChecker.atAssignExpr(TypeChecker.java:218)
    at javassist.compiler.ast.AssignExpr.accept(AssignExpr.java:39)
    at javassist.compiler.CodeGen.doTypeCheck(CodeGen.java:242)
    at javassist.compiler.CodeGen.atStmnt(CodeGen.java:330)
    at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50)
    at javassist.compiler.CodeGen.atStmnt(CodeGen.java:351)
    at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50)
    at javassist.compiler.CodeGen.atIfStmnt(CodeGen.java:398)
    at javassist.compiler.CodeGen.atStmnt(CodeGen.java:355)
    at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50)
    at javassist.compiler.Javac.compileStmnt(Javac.java:569)
    at javassist.expr.MethodCall.replace(MethodCall.java:235)
    ... 24 more

Something of note.  I did change all of the settings to true in the properties file.  Perhaps I should disable some of them.

Edited by Asperis

Share this post


Link to post
Share on other sites

Thanks for the report @Asperis. I will look into it as soon as I got some spare time. From a quick look at the exception I would say disable the "preventFaithLoss" option by setting it to false again. I hope that fixes it for you. Its just weird that my testsetup started just fine with everything on true. Next monday I got tons of spare time, will use that to make a major code cleanup, I bet I forgot something.

  • Like 1

Share this post


Link to post
Share on other sites

I tried it again.  I disabled the preventfaithloss setting and still got the same error so I tried disabling the noblessforlibilataming setting and got the same thing.  I just went ahead and disabled the mod for now.  I can try the fixpriests setting but I won't be able to do it until later.  Thanks for all of your help Arduin. 

Edited by Asperis

Share this post


Link to post
Share on other sites

The option causing that error is fixPriests. That's the one using the lFaith argument. I'm not sure why these are erroring for you Asperis, as the code should function properly. I'm assuming it's some kind of mod conflict. Very strange bug.

Share this post


Link to post
Share on other sites

I'm not sure either.  The only mods I'm using that have anything to do with spells or priests are your libilafixes and spellcraft mods, ago's spellmod, and bdew's hotsfixes mod.  

Share this post


Link to post
Share on other sites

Just to give an update.  When I set fixpriests to false I was able to set everything else to true and was able to run the mod.  Well the miscserverchanges one at any rate.  

Share this post


Link to post
Share on other sites

Hey, thanks for answering before! So I've got everything compiling right, I can change some stuff (ie taking out the statuettes) without it breaking, etc. However, I'm curious about the bounty mod: on line 592 of the MethodsBounty.java file, where it's giving the player their direct to inventory reward, it gives the player a specific templateid for an item reward, with the comment calling it a "creature token". In my server's case, this was giving people a hitching post everytime the requirements were met. It was easy enough to comment out, but i just wanted to ask if there was a specific item you had in mind for that that wasn't included? Thanks again for releasing this, it's fun to play around with! 

Share this post


Link to post
Share on other sites
On 10/23/2017 at 7:28 PM, Sindusk said:

Here's the latest built version:

Mod Download (Google Drive)

 

Note: Some of it is designed specifically for Wyvern and will not function properly on other servers. A majority of it should function naturally, though.

 

Thank you a ton, added these to my private server and we are all enjoying the additions.

Share this post


Link to post
Share on other sites
15 hours ago, conco said:

Hey, thanks for answering before! So I've got everything compiling right, I can change some stuff (ie taking out the statuettes) without it breaking, etc. However, I'm curious about the bounty mod: on line 592 of the MethodsBounty.java file, where it's giving the player their direct to inventory reward, it gives the player a specific templateid for an item reward, with the comment calling it a "creature token". In my server's case, this was giving people a hitching post everytime the requirements were met. It was easy enough to comment out, but i just wanted to ask if there was a specific item you had in mind for that that wasn't included? Thanks again for releasing this, it's fun to play around with! 

Creature tokens is part of the wyvern kingdom mod that allows people to claim kingdom titles. Sin has not made that a public mod. So should just be commented out. That is one of those specifically for wyvern items.

Share this post


Link to post
Share on other sites
17 hours ago, conco said:

Hey, thanks for answering before! So I've got everything compiling right, I can change some stuff (ie taking out the statuettes) without it breaking, etc. However, I'm curious about the bounty mod: on line 592 of the MethodsBounty.java file, where it's giving the player their direct to inventory reward, it gives the player a specific templateid for an item reward, with the comment calling it a "creature token". In my server's case, this was giving people a hitching post everytime the requirements were met. It was easy enough to comment out, but i just wanted to ask if there was a specific item you had in mind for that that wasn't included? Thanks again for releasing this, it's fun to play around with! 

 

2 hours ago, Jerone0601 said:

Creature tokens is part of the wyvern kingdom mod that allows people to claim kingdom titles. Sin has not made that a public mod. So should just be commented out. That is one of those specifically for wyvern items.

 

Jerone is completely correct here. It's a subsystem of Wyvern that I actually created a separate mod at the time and did not include in this release. I may release it at a future date, but the item ID is my server's hardcoded value for the creature token. Other servers may have a different item mapped to that id. I apologize for the issue. :(

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.