mirror of
https://github.com/StarWishsama/Slimefun4.git
synced 2024-09-19 19:25:48 +00:00
Merge branch 'master' of https://github.com/Slimefun/Slimefun4.git into
tags Conflicts: src/test/java/io/github/thebusybiscuit/slimefun4/testing/TestUtilities.java
This commit is contained in:
commit
060170c12d
9
.github/configs/wiki-schema.json
vendored
Normal file
9
.github/configs/wiki-schema.json
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"type" : "object",
|
||||
"additionalProperties" : false,
|
||||
"patternProperties" : {
|
||||
"^[A-Z0-9_]+$" : {
|
||||
"type" : "string"
|
||||
}
|
||||
}
|
||||
}
|
2
.github/workflows/auto-approve.yml
vendored
2
.github/workflows/auto-approve.yml
vendored
@ -12,7 +12,7 @@ jobs:
|
||||
steps:
|
||||
- name: Approve via actions
|
||||
uses: hmarr/auto-approve-action@v2.0.0
|
||||
if: github.actor == 'gitlocalize-app[bot]' || github.actor == 'renovate[bot]'
|
||||
if: github.actor == 'gitlocalize-app[bot]'
|
||||
with:
|
||||
github-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
- name: Approve via TheBusyBot
|
||||
|
24
.github/workflows/json-validator.yml
vendored
Normal file
24
.github/workflows/json-validator.yml
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
name: Validate JSON
|
||||
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- 'src/main/resources/wiki.json'
|
||||
pull_request:
|
||||
paths:
|
||||
- 'src/main/resources/wiki.json'
|
||||
|
||||
jobs:
|
||||
validate:
|
||||
|
||||
name: Validate JSON
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v2
|
||||
- name: Validate JSON
|
||||
uses: docker://orrosenblatt/validate-json-action:latest@sha256:02370758b8b199e0477da11ecfdd498c75c561685056b5c31b925a4ab95df7f4
|
||||
env:
|
||||
INPUT_SCHEMA: '.github/configs/wiki-schema.json'
|
||||
INPUT_JSONS: 'src/main/resources/wiki.json'
|
2
.github/workflows/yaml-linter.yml
vendored
2
.github/workflows/yaml-linter.yml
vendored
@ -20,4 +20,4 @@ jobs:
|
||||
- name: YAML Linter
|
||||
uses: ibiqlik/action-yamllint@v1.0.0
|
||||
with:
|
||||
config_file: '.github/yaml-linter-config.yml'
|
||||
config_file: '.github/configs/yaml-linter.yml'
|
||||
|
2
pom.xml
2
pom.xml
@ -311,7 +311,7 @@
|
||||
<dependency>
|
||||
<groupId>com.github.seeseemelk</groupId>
|
||||
<artifactId>MockBukkit-v1.16</artifactId>
|
||||
<version>0.7.0</version>
|
||||
<version>0.10.0</version>
|
||||
<scope>test</scope>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
|
@ -1,14 +1,13 @@
|
||||
package io.github.thebusybiscuit.slimefun4.testing;
|
||||
|
||||
import be.seeseemelk.mockbukkit.ServerMock;
|
||||
import io.github.thebusybiscuit.cscorelib2.item.CustomItem;
|
||||
import io.github.thebusybiscuit.slimefun4.api.player.PlayerProfile;
|
||||
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunPlugin;
|
||||
import io.github.thebusybiscuit.slimefun4.implementation.items.VanillaItem;
|
||||
import io.github.thebusybiscuit.slimefun4.testing.mocks.MockSlimefunItem;
|
||||
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
|
||||
import me.mrCookieSlime.Slimefun.Objects.Category;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import java.util.concurrent.CountDownLatch;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.NamespacedKey;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
@ -19,11 +18,14 @@ import org.bukkit.plugin.Plugin;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.mockito.Mockito;
|
||||
|
||||
import java.util.concurrent.CountDownLatch;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
import static org.mockito.Mockito.when;
|
||||
import io.github.thebusybiscuit.cscorelib2.item.CustomItem;
|
||||
import io.github.thebusybiscuit.slimefun4.api.player.PlayerProfile;
|
||||
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunPlugin;
|
||||
import io.github.thebusybiscuit.slimefun4.implementation.items.VanillaItem;
|
||||
import io.github.thebusybiscuit.slimefun4.testing.mocks.MockSlimefunItem;
|
||||
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
|
||||
import me.mrCookieSlime.Slimefun.Objects.Category;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
|
||||
|
||||
public final class TestUtilities {
|
||||
|
||||
@ -55,7 +57,8 @@ public final class TestUtilities {
|
||||
return item;
|
||||
}
|
||||
|
||||
public static PlayerProfile awaitProfile(OfflinePlayer player) throws InterruptedException {
|
||||
@Nonnull
|
||||
public static PlayerProfile awaitProfile(@Nonnull OfflinePlayer player) throws InterruptedException {
|
||||
CountDownLatch latch = new CountDownLatch(1);
|
||||
AtomicReference<PlayerProfile> ref = new AtomicReference<>();
|
||||
|
||||
@ -68,72 +71,4 @@ public final class TestUtilities {
|
||||
latch.await(2, TimeUnit.SECONDS);
|
||||
return ref.get();
|
||||
}
|
||||
|
||||
public static void registerDefaultTags(ServerMock server) {
|
||||
// We really don't need these to be accurate, just fill them with some examples
|
||||
// that approximate the actual content
|
||||
server.createMaterialTag(NamespacedKey.minecraft("logs"), Material.OAK_LOG,
|
||||
Material.STRIPPED_OAK_LOG, Material.OAK_WOOD, Material.STRIPPED_OAK_WOOD,
|
||||
Material.ACACIA_LOG, Material.STRIPPED_ACACIA_LOG, Material.ACACIA_WOOD, Material.STRIPPED_ACACIA_WOOD
|
||||
);
|
||||
server.createMaterialTag(NamespacedKey.minecraft("wooden_trapdoors"), Material.OAK_TRAPDOOR,
|
||||
Material.BIRCH_TRAPDOOR, Material.SPRUCE_TRAPDOOR, Material.JUNGLE_TRAPDOOR,
|
||||
Material.ACACIA_TRAPDOOR, Material.DARK_OAK_TRAPDOOR
|
||||
);
|
||||
server.createMaterialTag(NamespacedKey.minecraft("wooden_slabs"), Material.OAK_SLAB, Material.BIRCH_SLAB,
|
||||
Material.JUNGLE_SLAB, Material.SPRUCE_SLAB, Material.ACACIA_SLAB, Material.DARK_OAK_SLAB
|
||||
);
|
||||
server.createMaterialTag(NamespacedKey.minecraft("wooden_fences"), Material.OAK_FENCE, Material.BIRCH_FENCE,
|
||||
Material.JUNGLE_FENCE, Material.SPRUCE_FENCE, Material.ACACIA_FENCE, Material.DARK_OAK_FENCE
|
||||
);
|
||||
server.createMaterialTag(NamespacedKey.minecraft("planks"), Material.OAK_PLANKS, Material.BIRCH_PLANKS,
|
||||
Material.SPRUCE_PLANKS, Material.JUNGLE_PLANKS, Material.ACACIA_PLANKS, Material.DARK_OAK_PLANKS
|
||||
);
|
||||
server.createMaterialTag(NamespacedKey.minecraft("small_flowers"), Material.POPPY, Material.DANDELION,
|
||||
Material.AZURE_BLUET, Material.LILY_OF_THE_VALLEY
|
||||
);
|
||||
server.createMaterialTag(NamespacedKey.minecraft("leaves"), Material.OAK_LEAVES, Material.BIRCH_LEAVES,
|
||||
Material.SPRUCE_LEAVES, Material.JUNGLE_LEAVES, Material.ACACIA_LEAVES, Material.DARK_OAK_LEAVES
|
||||
);
|
||||
server.createMaterialTag(NamespacedKey.minecraft("saplings"), Material.OAK_SAPLING, Material.BIRCH_SAPLING,
|
||||
Material.SPRUCE_SAPLING, Material.JUNGLE_SAPLING, Material.ACACIA_SAPLING, Material.DARK_OAK_SAPLING
|
||||
);
|
||||
server.createMaterialTag(NamespacedKey.minecraft("coral_blocks"), Material.BRAIN_CORAL_BLOCK,
|
||||
Material.BUBBLE_CORAL_BLOCK, Material.FIRE_CORAL_BLOCK, Material.HORN_CORAL_BLOCK, Material.TUBE_CORAL_BLOCK
|
||||
);
|
||||
server.createMaterialTag(NamespacedKey.minecraft("corals"), Material.BRAIN_CORAL, Material.BUBBLE_CORAL,
|
||||
Material.FIRE_CORAL, Material.HORN_CORAL, Material.TUBE_CORAL
|
||||
);
|
||||
server.createMaterialTag(NamespacedKey.minecraft("ice"), Material.ICE, Material.PACKED_ICE,
|
||||
Material.FROSTED_ICE, Material.BLUE_ICE
|
||||
);
|
||||
server.createMaterialTag(NamespacedKey.minecraft("boats"), Material.BIRCH_BOAT, Material.ACACIA_BOAT,
|
||||
Material.DARK_OAK_BOAT, Material.JUNGLE_BOAT, Material.OAK_BOAT, Material.SPRUCE_BOAT
|
||||
);
|
||||
server.createMaterialTag(NamespacedKey.minecraft("wooden_buttons"), Material.BIRCH_BUTTON,
|
||||
Material.ACACIA_BUTTON, Material.SPRUCE_BUTTON, Material.DARK_OAK_BUTTON,
|
||||
Material.JUNGLE_BOAT, Material.OAK_BUTTON
|
||||
);
|
||||
server.createMaterialTag(NamespacedKey.minecraft("signs"), Material.SPRUCE_SIGN, Material.ACACIA_SIGN,
|
||||
Material.OAK_SIGN, Material.JUNGLE_SIGN, Material.DARK_OAK_SIGN, Material.BIRCH_SIGN
|
||||
);
|
||||
server.createMaterialTag(NamespacedKey.minecraft("wooden_doors"), Material.SPRUCE_DOOR, Material.ACACIA_DOOR,
|
||||
Material.OAK_DOOR, Material.JUNGLE_DOOR, Material.DARK_OAK_DOOR, Material.BIRCH_DOOR
|
||||
);
|
||||
server.createMaterialTag(NamespacedKey.minecraft("wooden_pressure_plates"), Material.SPRUCE_PRESSURE_PLATE,
|
||||
Material.ACACIA_PRESSURE_PLATE, Material.OAK_PRESSURE_PLATE, Material.JUNGLE_PRESSURE_PLATE,
|
||||
Material.DARK_OAK_PRESSURE_PLATE, Material.BIRCH_PRESSURE_PLATE
|
||||
);
|
||||
server.createMaterialTag(NamespacedKey.minecraft("crops"), Material.WHEAT,
|
||||
Material.CARROTS, Material.POTATOES, Material.BEETROOTS
|
||||
);
|
||||
server.createMaterialTag(NamespacedKey.minecraft("dirt_like"), Material.DIRT, Material.PODZOL, Material.MYCELIUM);
|
||||
server.createMaterialTag(NamespacedKey.minecraft("fire"), Material.FIRE, Material.SOUL_FIRE);
|
||||
server.createMaterialTag(NamespacedKey.minecraft("gold_ores"), Material.GOLD_ORE);
|
||||
server.createMaterialTag(NamespacedKey.minecraft("sand"), Material.SAND, Material.RED_SAND);
|
||||
server.createMaterialTag(NamespacedKey.minecraft("beds"), Material.RED_BED, Material.BLUE_BED);
|
||||
server.createMaterialTag(NamespacedKey.minecraft("fishes"), Material.COD, Material.SALMON);
|
||||
server.createMaterialTag(NamespacedKey.minecraft("doors"), Material.OAK_DOOR, Material.IRON_DOOR);
|
||||
server.createMaterialTag(NamespacedKey.minecraft("tall_flowers"), Material.PEONY, Material.SUNFLOWER);
|
||||
}
|
||||
}
|
||||
|
@ -17,11 +17,9 @@ import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.TestMethodOrder;
|
||||
|
||||
import be.seeseemelk.mockbukkit.MockBukkit;
|
||||
import be.seeseemelk.mockbukkit.ServerMock;
|
||||
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunPlugin;
|
||||
import io.github.thebusybiscuit.slimefun4.implementation.setup.PostSetup;
|
||||
import io.github.thebusybiscuit.slimefun4.implementation.setup.SlimefunItemSetup;
|
||||
import io.github.thebusybiscuit.slimefun4.testing.TestUtilities;
|
||||
import me.mrCookieSlime.Slimefun.Objects.Category;
|
||||
|
||||
@TestMethodOrder(value = OrderAnnotation.class)
|
||||
@ -31,9 +29,8 @@ class TestItemSetup {
|
||||
|
||||
@BeforeAll
|
||||
public static void load() {
|
||||
ServerMock server = MockBukkit.mock();
|
||||
MockBukkit.mock();
|
||||
plugin = MockBukkit.load(SlimefunPlugin.class);
|
||||
TestUtilities.registerDefaultTags(server);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
@ -45,7 +45,6 @@ class TestClimbingPick implements SlimefunItemTest<ClimbingPick> {
|
||||
public static void load() {
|
||||
server = MockBukkit.mock();
|
||||
plugin = MockBukkit.load(SlimefunPlugin.class);
|
||||
TestUtilities.registerDefaultTags(server);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
@ -83,7 +82,6 @@ class TestClimbingPick implements SlimefunItemTest<ClimbingPick> {
|
||||
}
|
||||
|
||||
private static Stream<Arguments> getStrongSurfaces() throws TagMisconfigurationException {
|
||||
TestUtilities.registerDefaultTags(server);
|
||||
SlimefunTag.reloadAll();
|
||||
return SlimefunTag.CLIMBING_PICK_STRONG_SURFACES.getValues().stream().map(Arguments::of);
|
||||
}
|
||||
@ -101,7 +99,6 @@ class TestClimbingPick implements SlimefunItemTest<ClimbingPick> {
|
||||
}
|
||||
|
||||
private static Stream<Arguments> getWeakSurfaces() throws TagMisconfigurationException {
|
||||
TestUtilities.registerDefaultTags(server);
|
||||
SlimefunTag.reloadAll();
|
||||
return SlimefunTag.CLIMBING_PICK_WEAK_SURFACES.getValues().stream().map(Arguments::of);
|
||||
}
|
||||
|
@ -53,7 +53,6 @@ class TestBackpackListener {
|
||||
@BeforeAll
|
||||
public static void load() throws TagMisconfigurationException {
|
||||
server = MockBukkit.mock();
|
||||
TestUtilities.registerDefaultTags(server);
|
||||
plugin = MockBukkit.load(SlimefunPlugin.class);
|
||||
SlimefunTag.reloadAll();
|
||||
|
||||
|
@ -35,7 +35,6 @@ class TestMultiblockListener {
|
||||
@BeforeAll
|
||||
public static void load() {
|
||||
server = MockBukkit.mock();
|
||||
TestUtilities.registerDefaultTags(server);
|
||||
plugin = MockBukkit.load(SlimefunPlugin.class);
|
||||
listener = new MultiBlockListener(plugin);
|
||||
SlimefunItem item = TestUtilities.mockSlimefunItem(plugin, "MULTIBLOCK_LISTENER_TEST", new CustomItem(Material.DIAMOND, "&9Some multiblock item"));
|
||||
|
@ -9,7 +9,6 @@ import org.junit.jupiter.api.DisplayName;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import be.seeseemelk.mockbukkit.MockBukkit;
|
||||
import be.seeseemelk.mockbukkit.ServerMock;
|
||||
import io.github.thebusybiscuit.cscorelib2.item.CustomItem;
|
||||
import io.github.thebusybiscuit.slimefun4.core.multiblocks.MultiBlock;
|
||||
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunPlugin;
|
||||
@ -22,8 +21,7 @@ class TestMultiBlocks {
|
||||
|
||||
@BeforeAll
|
||||
public static void load() {
|
||||
ServerMock server = MockBukkit.mock();
|
||||
TestUtilities.registerDefaultTags(server);
|
||||
MockBukkit.mock();
|
||||
plugin = MockBukkit.load(SlimefunPlugin.class);
|
||||
}
|
||||
|
||||
|
@ -15,19 +15,16 @@ import org.junit.jupiter.api.DisplayName;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import be.seeseemelk.mockbukkit.MockBukkit;
|
||||
import be.seeseemelk.mockbukkit.ServerMock;
|
||||
import io.github.thebusybiscuit.slimefun4.api.exceptions.TagMisconfigurationException;
|
||||
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunPlugin;
|
||||
import io.github.thebusybiscuit.slimefun4.testing.TestUtilities;
|
||||
import io.github.thebusybiscuit.slimefun4.utils.tags.SlimefunTag;
|
||||
|
||||
class TestSlimefunTags {
|
||||
|
||||
@BeforeAll
|
||||
public static void load() {
|
||||
ServerMock server = MockBukkit.mock();
|
||||
MockBukkit.mock();
|
||||
MockBukkit.load(SlimefunPlugin.class);
|
||||
TestUtilities.registerDefaultTags(server);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
@ -10,10 +10,8 @@ import org.junit.jupiter.api.DisplayName;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import be.seeseemelk.mockbukkit.MockBukkit;
|
||||
import be.seeseemelk.mockbukkit.ServerMock;
|
||||
import io.github.thebusybiscuit.slimefun4.api.exceptions.TagMisconfigurationException;
|
||||
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunPlugin;
|
||||
import io.github.thebusybiscuit.slimefun4.testing.TestUtilities;
|
||||
import io.github.thebusybiscuit.slimefun4.utils.tags.TagParser;
|
||||
|
||||
class TestTagParser {
|
||||
@ -23,10 +21,8 @@ class TestTagParser {
|
||||
|
||||
@BeforeAll
|
||||
public static void load() {
|
||||
ServerMock server = MockBukkit.mock();
|
||||
MockBukkit.mock();
|
||||
plugin = MockBukkit.load(SlimefunPlugin.class);
|
||||
TestUtilities.registerDefaultTags(server);
|
||||
|
||||
key = new NamespacedKey(plugin, "test");
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user