Skip to content

Commit

Permalink
Merge pull request #489 from Lapzupi/wiki-docs-action
Browse files Browse the repository at this point in the history
Adds a "PR"able wiki
  • Loading branch information
Oheers authored Nov 23, 2024
2 parents c4a638d + 0fca553 commit b62f560
Show file tree
Hide file tree
Showing 19 changed files with 897 additions and 0 deletions.
18 changes: 18 additions & 0 deletions .github/workflows/publish-wiki.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Publish Wiki
on:
push:
branches: [master]
paths:
- wiki/**
- .github/workflows/publish-wiki.yml
concurrency:
group: publish-wiki
cancel-in-progress: true
permissions:
contents: write
jobs:
publish-wiki:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: Andrew-Chen-Wang/[email protected]
14 changes: 14 additions & 0 deletions wiki/Addons.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
| Required Plugin | Prefix | Format | Min Java |
|-----------------|------------|---------------------------|----------|
| ItemsAdder | itemsadder | `itemsadder:namespace:id` | 8 |
| HeadDatabase | headdb | `headdb:id` | 8 |
| Denizens | denizen | `denizen:id` | 17 |
| EcoItems | ecoitems | `ecoitems:id` | 17 |
| Oraxen | oraxen | `oraxen:id` | 17 |

Example (ItemsAdder):
```yaml
Salmon:
item:
material: "itemsadder:fish:salmon"
```
28 changes: 28 additions & 0 deletions wiki/Biome-Sets.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Outdated, use [Requirements Biome Sets](https://github.com/Oheers/EvenMoreFish/wiki/Requirements#biome-sets)
It is possible to re-use create and re-use biome groups for fish requirements.

Create a group by modifying your fish.yml with this info:
```yaml
biome-groups:
ocean_beach: &ocean_beach
? OCEAN
? BEACH
```
And then in a particular fish, reuse the group you just created "ocean_beach"
```yaml
cod:
requirements:
biome:
<<: *ocean_beach
```
You can even extend this further by adding more info to the group later, i.e:
```yaml
white_cod:
requirements:
biome:
<<: *ocean_beach
? JUNGLE
```

29 changes: 29 additions & 0 deletions wiki/Competition-Types.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
## What are they?
There are 5 different competition types in EvenMoreFish for your players to experience, and include: MOST_FISH, LARGEST_FISH and SPECIFIC_FISH. Each competition you choose must define a competition type for it to work, however if you want to start a competition via commands, "**/emf admin competition start <duration>**" it will default to the LARGEST_FISH competition type. An argument after duration can be used to start a chosen competition type, as is seen in the screenshot below.

![starting a fishing competition by command](https://media.discordapp.net/attachments/723194663519125618/883038254042083408/unknown.png)

## LARGEST_FISH
As the title would suggest, the player with the largest fish caught will win the competition, and the player with the second largest fish will come second (and so on), by using **/emf top** your players will be able to view the current leaderboard - requiring they have the `emf.top` permission node.

![a leaderboard for the LARGEST_FISH competition type](https://media.discordapp.net/attachments/723194663519125618/883043716686827550/unknown.png)

## MOST_FISH
In this competition, your players will be ranked in the leaderboard by the number of fish they catch. This type is likely to be biased by the "Lure" enchant which naturally causes players to catch more fish - however your players will also be very close to each other in the competition and won't be able to just fish 1 legendary and walk away, leading to (hopefully) a very intense competition, you may want to set the `new-first` message in `messages.yml` to be a bossbar message, otherwise it could lead to spam in the chat as the competition begins and players are all catching fish.

![leaderboard for the MOST_FISH competition type](https://media.discordapp.net/attachments/723194663519125618/883046296615788565/unknown.png)

## SPECIFIC_FISH
This competition type selects a fish at random from the list of `allowed-rarities` you give it, if it's started by command, the allowed rarities are chosen from the value in the general section. By default, only 1 of the selected fish is needed to win the competition, therefore /emf top is disabled for this event however you can set the number of the fish needed to a different value to increase the difficulty, allowing the leaderboard to be enabled in a similar style to the MOST_FISH competition type. Please keep in mind that setting this to multiple fish needed of a rare rarity could result in a competition rarely getting winners, as the competition still ends after the set timer regardless of whether the specific fish was caught or not.

![the SPECIFIC_FISH competition type beginning](https://media.discordapp.net/attachments/723194663519125618/883063415453655050/unknown.png)

## SPECIFIC_RARITY
This competition type selects a rarity at random from the list of `allowed-rarities` you give it, if it's started by command, the allowed rarities are chosen from the value in the general section. By default, only 1 fish with its rarity as the selected rarity is needed to win the competition, therefore /emf top is disabled for this event however you can set the number of the fish needed to a different value to increase the difficulty, allowing the leaderboard to be enabled in a similar style to the MOST_FISH competition type. Please keep in mind that setting this to contain rare rarities could result in a competition rarely getting winners, as the competition still ends after the set timer regardless of whether the specific rarity was caughtor not.

![the SPECIFIC_RARITY competition type beginning](https://media.discordapp.net/attachments/723194663519125618/981585087437086770/unknown.png)

## LARGEST_TOTAL
When a player catches a fish, their score is increased by the size of their fish, allowing players to gradually increase their score cumulatively. At the end of the competition, the player with the highest score will win, similar to all other competitions - it's similar to the more_fish competition in that the %emf_competition_place_fish_*% placeholder isn't able to be used too.

![the leaderboard from the LARGEST_TOTAL competition](https://media.discordapp.net/attachments/723194663519125618/981639014601859132/unknown.png)
68 changes: 68 additions & 0 deletions wiki/Create-Addons.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
WIP.

Example ItemsAdder Addon:
```java
package com.oheers.evenmorefish.addons;


import com.oheers.fish.api.addons.ItemAddon;
import com.oheers.fish.api.plugin.EMFPlugin;
import dev.lone.itemsadder.api.CustomStack;
import dev.lone.itemsadder.api.Events.ItemsAdderLoadDataEvent;
import org.bukkit.Bukkit;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.inventory.ItemStack;

import java.util.Objects;

public class ItemsAdderItemAddon extends ItemAddon implements Listener {
private boolean itemsAdderLoaded = false;

@Override
public String getPrefix() {
return "itemsadder";
}

@Override
public String getPluginName() {
return "ItemsAdder";
}

@Override
public String getAuthor() {
return "sarhatabaot";
}

@Override
public ItemStack getItemStack(String id) {
if (!itemsAdderLoaded) {
return null;
}

String[] splitMaterialValue = id.split(":");
if (splitMaterialValue.length != 2) {
getLogger().severe(() -> String.format("Incorrect format for ItemsAdderItemAddon, use %s:namespace:id. Got %s",getPrefix(), id));
return null;
}

final String namespaceId = splitMaterialValue[0] + ":" + splitMaterialValue[1];
final CustomStack customStack = CustomStack.getInstance(namespaceId);
if (customStack == null) {
getLogger().info(() -> String.format("Could not obtain itemsadder item %s", namespaceId));
return null;
}
return CustomStack.getInstance(namespaceId).getItemStack();

}

@EventHandler
public void onItemsLoad(ItemsAdderLoadDataEvent event) {
getLogger().info("Detected that itemsadder has finished loading all items...");
getLogger().info("Reloading EMF.");
this.itemsAdderLoaded = true;

((EMFPlugin) Objects.requireNonNull(Bukkit.getPluginManager().getPlugin("EvenMoreFish"))).reload();
}
}
```
3 changes: 3 additions & 0 deletions wiki/Create-Reward-Types.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## Internal RewardTypes

## External RewardTypes
8 changes: 8 additions & 0 deletions wiki/Developers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
## Using:
Currently EMF has a 2 main artifacts for use.
even-more-fish-api & even-more-fish-plugin

In the future these will be further abstracted so you don't need to use the "core" artifact any longer.

## Jitpack.io
You can find the exact instructions for your build system by clicking on the badge: [![](https://jitpack.io/v/Oheers/EvenMoreFish.svg)](https://jitpack.io/#Oheers/EvenMoreFish)
3 changes: 3 additions & 0 deletions wiki/FAQ.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
1. Is there a discord page? https://discord.gg/Hb9cj3tNbb
2. How do I use ItemsAdder? See https://github.com/Oheers/EvenMoreFish/wiki/Addons
3. Something doesn't work! Please submit an issue via https://github.com/Oheers/EvenMoreFish/issues/new
45 changes: 45 additions & 0 deletions wiki/FAQs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# FAQs

This page has been set up briefly just before I go on holiday, I'll make it look pretty once I'm back and this page becomes more permanent.

This answers a few questions I recognize are asked pretty frequently on [the discord help server](https://discord.gg/Hb9cj3tNbb):

## How do I add commands when a fish is caught?

This can be done using the `catch-event` setting for the fish.
```yml
Rusty Repair Spoon:
item:
material: IRON_SHOVEL
catch-event:
- "COMMAND:repair hand {player}"
- "MESSAGE:&aYour fishing rod has been repaired."
```
## How do I give a fish / bait to another player?
The `/emf admin fish/bait` commands have attributes that can be used, **-p:** and **-q:**. The format for giving Oheers 4 common Bluefishes would be:
`/emf admin fish Common Bluefish -p:Oheers -q:4`
- Note: If using another plugin, you'll want to replace Oheers with the variable used for the player, this varies from plugin to plugin and will look like [playerName], {player}, {playername} etc.

## How do I change the name of the default fish?

All you have to do is change the name in the .yml files, so

```yml
Blue Shark:
```
Becomes
```yml
Blåhaj:
```
This is exactly the same for rarities - also make sure to also change the name of the fish & rarities in the baits.yml file.
- Note: If you're changing the name of the rarities in rarities.yml you'll also need to change their references in fish.yml. These can be seen on column 3 and are shown where they are in the screenshot in [this section](https://github.com/Oheers/EvenMoreFish/wiki/Fish.yml#creating-fish) of fish.yml

## How do I change how much fish sell for in /emf shop?

As explained in the rarities.yml above the setting, each fish's rarity will have a `worth-multiplier` setting, this is then multiplied by the length of the fish to create the value seen in the `/emf shop`. By increasing or decreasing the worth-multiplier, you'll increase/decrease their worth in the shop.

## How do weights work?

A fair amount of people believe weights are the same as percentages, **this is false**: All weights work relative to each other, so if `Fish A` has a weight of 6 and `Fish B` has a weight of 12, `Fish B` will be twice as likely to be caught as `Fish A`. If the weights of all other fish in this rarity aside from `Fish B` (remember, this has weight of 12) add up to 12 too, then `Fish B` will be pulled 50% of the time, but if all other fish in the rarity added to 1,000 for example then `Fish B` would be pretty rare to catch. To calculate the weight of `Fish A` we'll assume that all the fish in the same rarity as `Fish A` adds up to 600, the weight of `Fish A` divided by the total weight in that rarity is 6 / 600, so 1%.
Loading

0 comments on commit b62f560

Please sign in to comment.