bdew

[RELEASED] Non-combat Pets Mod (Server)

Recommended Posts

8 hours ago, Elsa said:

This is weird one player found a fantastic egg but got a shark thats is normal????

 

Unless you edited the rarities then no it isn't. But looking at the code i don't see how that would be possible.

 

11 hours ago, Batta said:

Well here's an interesting and kind of cool glitch (I assume).  When my mini pets follow me into the water, they suddenly become full sized.  I know, pics or it didn't happen, so here is my white dragon in and out of the water, as well as my mini-enki.

 

 

it's an illusion, your camera when in water is much lower than walking, so you're looking upwards on them and they seem bigger, also dragons spreading their wings makes the effect stronger. If you look at them from a gm flying they will look normal.

 

13 hours ago, Eject said:

I see there are rarity numbers 0,1 and 3

These are the numbers that you give with the spawn command? and where is rarity 2? ^^

 

Yes 0 = common, 1 = rare, 3 = fantastic. There are no supreme in the default config because that sounded silly, but if you edit it you can add supreme too.

  • Like 2

Share this post


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

Is there any way to add a command to calc the rest of eggs on the server? So you can see if you can spawn new ones.

Eject

;)

 

  • Like 1

Share this post


Link to post
Share on other sites

Also, a way for GMs to locate them without having to open the database would be very helpful. :-)

  • Like 1

Share this post


Link to post
Share on other sites
Just now, Batta said:

Also, a way for GMs to locate them without having to open the database would be very helpful. :-)

yeah, like the #uniques command

Share this post


Link to post
Share on other sites

I'll see about adding something like this, for now you can use a sql query on wurmitems.db to check: (replace 22733 with the id for the egg item you got assigned, you can see it with GMTOOL).

 

select count(*) from items where templateid=22733 and parentid=-10 and ifnull(lastownerid,-10)=-10;

 

  • Like 1

Share this post


Link to post
Share on other sites
23 hours ago, bdew said:

Unless you edited the rarities then no it isn't. But looking at the code i don't see how that would be possible.

But the shark is in normal list in the list of pets??? 

Share this post


Link to post
Share on other sites

It would be cool to have some sort of special hitching post, stone, kennel or whatever that is just for mini-pets. So we can display our pets without having to switch from leash to leash.  

Share this post


Link to post
Share on other sites

It's in my todo list to allow pet leashes to be converted (temporarily) to items you can put down to display the pet.

  • Like 1

Share this post


Link to post
Share on other sites
2 hours ago, bdew said:

It's in my todo list to allow pet leashes to be converted (temporarily) to items you can put down to display the pet.

 

Maybe possible to display several at once?  That would be handy when we do our mini-pet "show, tell, & trade" events.

 

Share this post


Link to post
Share on other sites

[09:27:01] You wave your wand, demanding a Mini Pet to appear from the mists of the void.

[09:27:19] Mini Pet looks lost and confused then disappears!

 

Am I doing something wrong? It appears as a cloth bag, but only for a moment, then it's gone again. I've got a leash in my inventory...

Share this post


Link to post
Share on other sites

You can't directly summon them from the wand, either use the the wand on the leash and change the AUX number to the pet type, then use the leash to summon; or use #summonpet <number>  (that one is temporary, it will only last until you relog).

 

You can see the numbers for the pets in the json file.

 

Edited by bdew

Share this post


Link to post
Share on other sites
On 4/12/2018 at 0:37 PM, Batta said:

 

Maybe possible to display several at once?  That would be handy when we do our mini-pet "show, tell, & trade" events.

 

 

The current plan (when it's implemented) that you can have any number of pets in item form for displaying around... they'll just act like normal items (or like the animated trophies from taxidermy)

  • Like 1

Share this post


Link to post
Share on other sites
49 minutes ago, bdew said:

You can't directly summon them from the wand, either use the the wand on the leash and change the AUX number to the pet type, then use the leash to summon; or use #summonpet <number>  (that one is temporary, it will only last until you relog).

 

You can see the numbers for the pets in the json file.

 

Ooh good, thanks! I've managed to get it to spawn me a black sheep! Where can I find the json file? The only files I see on the link are the minipets zip and two source code files. I want a red dragon :) 

Edited by Attenia

Share this post


Link to post
Share on other sites
1 minute ago, Attenia said:

Ooh good, thanks! I've managed to get it to spawn me a black sheep! Where can I find the json file? The only files I see on the link are the minipets zip and two source code files. I want a red dragon :) 

 

You can see (and edit!) it in your mods folder (called minipets_types.json) or here https://github.com/bdew-wurm/minipets/blob/master/mods/minipets_types.json

 

Red dragon is 77 :P

 

  • Like 1

Share this post


Link to post
Share on other sites

v1.3 is out

 

Added decorative pet items:

  • Right click a pet leash in your inventory and choose convert, this will give you the pet in item form that can be placed in the world
  • Works with 3D Stuff mod so you can place the pets on tables too
  • Vanilla pull/push/turn keybinds don't work with pets - you can make keybinds that work with my action client mod or use the context menu

https://github.com/bdew-wurm/minipets/releases/download/v1.3/minipets-1.3.zip

  • Like 1

Share this post


Link to post
Share on other sites

So I recently decided to start using this, but whenever a pet is summoned (first egg hatch, summon commands on leash, givepet command) I get a client crash with the following stack trace

====== CLIENT CRASH ======
Unexpected crash while playing
java.lang.ClassCastException: com.wurmonline.client.renderer.model.collada.StaticColladaModelData cannot be cast to com.wurmonline.client.renderer.model.collada.ColladaModelData
	at com.wurmonline.client.renderer.cell.MobileModelRenderable.overrideMaskTextures(MobileModelRenderable.java:292)
	at com.wurmonline.client.renderer.cell.MobileModelRenderable.setPaint(MobileModelRenderable.java:280)
	at com.wurmonline.client.comm.ServerConnectionListenerClass.repaint(ServerConnectionListenerClass.java:2256)
	at com.wurmonline.client.comm.SimpleServerConnectionClass.reallyHandleCmdRepaint(SimpleServerConnectionClass.java:4236)
	at com.wurmonline.client.comm.SimpleServerConnectionClass.reallyHandle(SimpleServerConnectionClass.java:2059)
	at com.wurmonline.communication.SocketConnection.tick(SocketConnection.java:615)
	at com.wurmonline.client.comm.SimpleServerConnectionClass.update(SimpleServerConnectionClass.java:274)
	at com.wurmonline.client.WurmClientBase.serverUpdate(WurmClientBase.java:1559)
	at com.wurmonline.client.WurmClientBase.preUpdate(WurmClientBase.java:353)
	at com.wurmonline.client.WurmClientBase.runGameLoop(WurmClientBase.java:537)
	at com.wurmonline.client.WurmClientBase.runConnectionLoop(WurmClientBase.java:325)
	at com.wurmonline.client.WurmClientBase.runGame(WurmClientBase.java:304)
	at com.wurmonline.client.WurmClientBase.run(WurmClientBase.java:1621)
	at java.lang.Thread.run(Thread.java:745)

The server gives no errors, and continues to run fine. Any other players within a certain radius (I assume a radius of drawing the model) also crash. This does not occur when dropping the decorative version of a pet, and the decorative version displays fine.

I'm not running the ThreeDee mod (placeable items on tables).

 

Any advice on what could be causing it? I tried looking through the code, but couldn't discern what might be it.

 

EDIT

I was able to narrow it down a bit, commenting out the line that adds the custom getModel check into the wurm code makes it run, but minipets summon without a model (naturally).

Edited by conco

Share this post


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

So I recently decided to start using this, but whenever a pet is summoned (first egg hatch, summon commands on leash, givepet command) I get a client crash with the following stack trace

 

The server gives no errors, and continues to run fine. Any other players within a certain radius (I assume a radius of drawing the model) also crash. This does not occur when dropping the decorative version of a pet, and the decorative version displays fine.

I'm not running the ThreeDee mod (placeable items on tables).

 

Any advice on what could be causing it? I tried looking through the code, but couldn't discern what might be it.

 

EDIT

I was able to narrow it down a bit, commenting out the line that adds the custom getModel check into the wurm code makes it run, but minipets summon without a model (naturally).

 

The crash happens due to a bug in the latest client when a repaint packet is sent for a creature (including a pet)  that uses a non-creature model. The default from the latest version config shouldn't have any pets like that, but if you are using an older version it might be that.

 

Also might be another server mod causing repaint packets to be sent for creatures that it shouldn't. If it crashes with every (as opposed to some specific) pet it's likely that.

 

 

  • Like 1

Share this post


Link to post
Share on other sites
31 minutes ago, bdew said:

 

The crash happens due to a bug in the latest client when a repaint packet is sent for a creature (including a pet)  that uses a non-creature model. The default from the latest version config shouldn't have any pets like that, but if you are using an older version it might be that.

 

Also might be another server mod causing repaint packets to be sent for creatures that it shouldn't. If it crashes with every (as opposed to some specific) pet it's likely that.

 

 

Any tips on what part of the code might be overridden to cause those repaint packets to get sent? I've been using WyvernMods with some modifications, and while I couldn't find anything about replacing getModelName, there are bits about getting creature colors. I'll probably go try a local server without it to see if that's the cause.

I'm almost certain the issue is the latter, as between mini libila, horse, and cow, all caused the crash.

EDIT: Disabled the parts of wyvernmod replacing getColor stuff and uploaded a fresh copy of minipets, still no dice.

Edited by conco

Share this post


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

Any tips on what part of the code might be overridden to cause those repaint packets to get sent? I've been using WyvernMods with some modifications, and while I couldn't find anything about replacing getModelName, there are bits about getting creature colors. I'll probably go try a local server without it to see if that's the cause.

I'm almost certain the issue is the latter, as between mini libila, horse, and cow, all caused the crash.

EDIT: Disabled the parts of wyvernmod replacing getColor stuff and uploaded a fresh copy of minipets, still no dice.

 

Look for anything that calls Communicator.sendRepaint on creatures

  • Like 1

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.