Muffin's Milkers API
The Muffin's Milkers system has two main channel to listen for.
integer milkerBreastPumpCommunicationChannel = 5547
This channel is used to listen for hookup points for breast pumps.
integer milkerapichannel = 823498
This channel is used for various events that occur on milker stalls and other Muffin's equipment.
Hookup Messages
Breast, seed, and feeding mask hookups respond to the milker breast pump communication channel.
The milker stall will say on channel 5547:
hookup::<key of stall>::<key of livestock>
The responses should be in the following format:
brestPumpRight::<key of livestock>
brestPumpLeft::<key of livestock>
forceFeedMask::<key of livestock>
seedPump::<key of livestock>
When the stall sees that the key for the hookup device matches the user, it will then direct the particle ribbon to the UUID of the device that responded.
Muffin's Milkers Event Messages
Event messages will be announced on the api channel. This channel is 823498.
For now all event messages are broadcasts. Meaning they are one way to whoever wants to listen.
Event messages are formatted as:
mm::<command>::<key of stall>::<key of livestock>::<data>::<extra>
The existing milker event commands are the following: (this is the <command> part of the above message)
Automatic Milker Stall Event Messages
validcow
- This
event shows that the user sitting has been validated with the Muffin's
Milkers server as a cow
validbull
- This event shows
the user sitting has been validated with the Muffin's Milkers server as a
bull
validbreeder
- This event shows
the user attempting to breed a valid cow has been validated with the
Muffin's Milkers server as a bull
clearmilker
- This event represents
when the current milking user has stood up and the milker is going into
idle mode.
bullMilking
- This event happens
when the bull milking is occurring.
bullStimulating
- This event happens
when the bull simulating is occurring.
breedStart
- This event happens
when a bull starts breeding with a cow. Note that the data field will be
filled with the bull's key.
breedEnd
- This
event happens when a bull stops breeding with a cow. Note that the data
field will be filled with the bull's key. Extra field is used for breeding
success indicator. 0 is breed complete, 1 is breed was successful
breedStand
- This
event happens when a bull stops breeding with a cow before the attempt is
completed.
quotaStart
- This event happens
when there is a quota a cow must complete.
quotaFinished
- This event happens
when a cow completes a quota.
feedStart
- This event happens
when feed has been started.
feedEnd
- This event happens
when feed has been stopped or finished.
levelupcow
- Happens
when a cow levels up on the milker. Note data field here is the cow level.
levelupbull
- Happens
when a bull levels up on the milker. Note data field here is the bull
level.
levelupfarmhand
- Happens
when a farm hand levels up on the milker. Note data field here is the farm
hand level.
Utility Stall Event Messages
validcow
- This
event shows that the user sitting has been validated with the Muffin's
Milkers server as a cow
validbull
- This event shows
the user sitting has been validated with the Muffin's Milkers server as a
bull
bullMilking
- This event happens
when the bull milking is occurring.
bullStimulating
- This event happens
when the bull simulating is occurring.
deliveryClear
- This
event happens when a user stands up from the stall, and the stall going
into idle mode.
quotaStart
- This event happens
when there is a quota a cow must complete.
quotaFinished
- This event happens
when a cow completes a quota.
levelupcow
- Happens
when a cow levels up on the milker. Note data field here is the cow level.
levelupbull
- Happens
when a bull levels up on the milker. Note data field here is the bull
level.
levelupfarmhand
- Happens
when a farm hand levels up on the milker. Note data field here is the farm
hand level.
Treadmill Stall Event Messages
validpony
- This
event shows that the user sitting has been validated with the Muffin's
Milkers server as a pony
clearpower
- This
event shows that the user stands up from the stall, and the stall going
into idle mode.
quotaTreadStart
- This event happens
when there is a quota a pony must complete.
quotaTreadFinished
- This event happens
when a pony completes a quota.
leveluppony
- Happens
when a pony levels up on the treadmill.
Note the data field here is the pony level.
Circle Trainer Event Messages
validpony
- This
event shows that the user sitting has been validated with the Muffin's
Milkers server as a pony
circleponyStatus
- This
event shows various stats of the current pony on a circle trainer. It is a special event, not including the
key of the stall nor the pony key.
Instead, it contains the following fields, in order: remaining
quota, remaining stamina, total circles ran, stamina cost, any pony
bonuses or statuses.
leveluppony
- Happens
when a pony levels up on the treadmill.
Note the data field here is the pony level.
Livestock Stall Event Messages
stallrecovery
- This
event shows the recovery progress of a pony using the livestock
stall. Note that the ‘data’ field
contains the amount recovered, and the ‘extra’ field is actually 4 additional
fields, showing the current stamina, the pony’s max stamina, whether they
are fully recovered, and any pony bonuses.
Management Terminal Event Messages
donation
- Happens
when a user donates moolah via the terminal. Note the data field contains the amount
donated, and the extra is two additional fields: farmname and farmcode.
levelupcow
- Happens
when a cow levels up from the terminal.
Note the data field here is the cow level.
levelupbull
- Happens
when a bull levels up from the terminal.
Note the data field here is the bull level.
levelupfarmhand
- Happens
when a farmhand levels up from the terminal. Note the data field here is the farmhand
level.
leveluppony
- Happens
when a pony levels up from the terminal.
Note the data field here is the pony level.
Milk Drop-Off Event Messages
milkdropoff
- Happens
when a farmhand begins to drop off milk at a drop. Note that the ‘user’ field is actually
the tank key, the ‘data’ field is the farm name, and the ‘extra’ field is
the farmhand key.
Milk Dispenser Event Messages
milkdispense
- Happens
when a farmhand completes filling a tank from a milk dispenser. Note that the ‘user’ field is actually
the tank key, the ‘data’ field is the farm name, and the ‘extra’ field is three
fields: whether the transfer was successful, the farmhand key, and an
additional field always saying 0.0.
Tank Event Messages
tankTransferStart
- Happens
when a farmhand begins to transfer milk from their tank to a drop-off or
other receiving device. Note that
the ‘data’ field contains the farm name and the ‘extra’ field contains the
dropoff’s internal muffin’s key (not the uuid), and the amount to transfer.
tankTransferComplete
- Happens
when a farmhand completes a transfer of milk from their tank to a drop-off
or other receiving device. Note
that the ‘data’ field contains the farm name and the ‘extra’ field
contains the dropoff’s internal muffin’s key (not the uuid), and the
amount transferred.