|
||
---|---|---|
.forgejo/workflows | ||
.vscode | ||
src/main | ||
.gitignore | ||
pom.xml | ||
readme.md |
AnimalRPs plugin
Animal listing
- Bee Doubleclicking shift you will float (levitation 5 for 1 second), allowing for better movement up hills as example. Your superfood is the honeybottle.
- Cat You take significantly less damage when falling (5 hearts). You can still die, don't count on your cat-powers catching you every time. Your superfood is all types of eatable fish.
- Fox You do more damage to mobs (25%). Your superfood is all types of berry.
- Dog You get speed 2 when doing damage. Your superfood are uncooked meats.
Chat
Chat while you are a animal is very different. When you speak, your words will become furry-ified and every time you talk you'll have animal sounds come out of you. You can disable this via /chatmodoff, and turn it back on via /chatmodon.
If you do not want to see these chat changes, run /chatmodclientoff. This will disable them for you, and you only.
Superfoods
Superfoods are items that when eaten, give you stackable Speed II and insane amounts of saturation (9.4 points) and hunger (4 points).
Cooldowns & animals
Cooldowns are stored in game. Animal/cooldowns are stored in a json database.
Player leashing
There is player leashing. This is in code, pretty hard. What I'm doing is spawning a invizible zombie (leashing it), and then constantly launching the player towards that zombie. Seems to work pretty well.
That is a concept that was NOT introduced by me, it's a combination of two different projects (one very very NSFW roleplay plugin, and one player prison plugin). Both the players have to be animals, and they also have to have the animalrp.leash
permission (both the leasher and the leashee).
MINECRAFT SEX PLUGIN??
Yup. I'm not even joking. This plugin has a /sex command, and it's only available with the permission animalrp.sex
. It works suprisingly well.
How to add a new animal?
- Create a new class in animals/MyCoolAnimal.java
- Use this template
public class MyCoolAnimal extends Animal {
TextDestroyer destroyer = new TextDestroyer(new String[]{
"I'm Cool!"
}, new String[][]{
{"g", "z"}
});
public MyCoolAnimal() {
super("coolanimal", "awsome!", "#00ff00");
this.moodSounds.put(Mood.HAPPY, Sound.ENTITY_FOX_EAT);
this.moodSounds.put(Mood.CUTE, Sound.ENTITY_FOX_SLEEP);
this.moodSounds.put(Mood.SAD, Sound.ENTITY_FOX_SNIFF);
this.moodSounds.put(Mood.STRESSED, Sound.ENTITY_FOX_AGGRO);
this.moodSounds.put(Mood.ANGRY, Sound.ENTITY_FOX_BITE);
this.superfoods.add(Material.POTATO);
}
@Override
public String chatTransformations(String message) {
return this.destroyer.destroy(message);
}
}
- Change the info in the TextDestroyer initialization
- Change the info in the super() call, it is written as "name", "catchphrase", "color".
- Change the moodSounds and implement all sounds for the moods.
- Add superfoods (foods that the animal likes)