Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions bukkit/src/main/java/org/bukkit/plugin/Plugin.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package org.bukkit.plugin;

public interface Plugin {
}
4 changes: 3 additions & 1 deletion bukkit/src/main/java/org/bukkit/plugin/java/JavaPlugin.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
package org.bukkit.plugin.java;

public abstract class JavaPlugin {
import org.bukkit.plugin.Plugin;

public abstract class JavaPlugin implements Plugin {
}
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
package vakiliner.chatcomponentapi;

import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.java.JavaPlugin;
import vakiliner.chatcomponentapi.base.IChatPlugin;
import vakiliner.chatcomponentapi.craftbukkit.BukkitParser;
import vakiliner.chatcomponentapi.craftbukkit.IBukkitChatPlugin;
import vakiliner.chatcomponentapi.paper.PaperParser;
import vakiliner.chatcomponentapi.spigot.SpigotParser;

public class ChatComponentAPIBukkitLoader extends JavaPlugin implements IChatPlugin {
public class ChatComponentAPIBukkitLoader extends JavaPlugin implements IBukkitChatPlugin {
public static final BukkitParser PARSER;

static {
Expand All @@ -22,4 +23,8 @@ public class ChatComponentAPIBukkitLoader extends JavaPlugin implements IChatPlu
}
PARSER = impl;
}

public Plugin asPlugin() {
return this;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package vakiliner.chatcomponentapi.craftbukkit;

import org.bukkit.plugin.Plugin;
import vakiliner.chatcomponentapi.base.IChatPlugin;

public interface IBukkitChatPlugin extends IChatPlugin {
Plugin asPlugin();
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
import org.bukkit.scheduler.BukkitScheduler;
import org.bukkit.scoreboard.Team;
import vakiliner.chatcomponentapi.base.BaseParser;
Expand Down Expand Up @@ -39,14 +38,14 @@ public void sendMessage(CommandSender sender, ChatComponent component, ChatMessa
}

public void execute(BukkitScheduler scheduler, IChatPlugin plugin, Runnable runnable) {
if (plugin instanceof Plugin) {
if (plugin instanceof IBukkitChatPlugin) {
if (!Bukkit.isPrimaryThread()) {
scheduler.runTask((Plugin) plugin, runnable);
scheduler.runTask(((IBukkitChatPlugin) plugin).asPlugin(), runnable);
} else {
runnable.run();
}
} else {
throw new IllegalArgumentException("Invalid plugin");
throw new ClassCastException("Invalid plugin");
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package vakiliner.chatcomponentapi.craftbukkit;

import org.bukkit.plugin.Plugin;
import vakiliner.chatcomponentapi.base.IChatPlugin;

public interface IBukkitChatPlugin extends IChatPlugin {
Plugin asPlugin();
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package vakiliner.chatcomponentapi;

import net.fabricmc.api.ModInitializer;
import vakiliner.chatcomponentapi.base.IChatPlugin;
import vakiliner.chatcomponentapi.fabric.FabricParser;
import vakiliner.chatcomponentapi.fabric.IFabricChatPlugin;

public class ChatComponentAPIFabricLoader implements ModInitializer, IChatPlugin {
public class ChatComponentAPIFabricLoader implements ModInitializer, IFabricChatPlugin {
public static final FabricParser PARSER = new FabricParser();

public void onInitialize() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.UUID;
import java.util.stream.Collectors;
import com.mojang.authlib.GameProfile;
Expand Down Expand Up @@ -72,8 +71,11 @@ public void broadcastMessage(PlayerList playerList, ChatComponent component, Cha
}

public void execute(MinecraftServer server, IChatPlugin plugin, Runnable runnable) {
Objects.requireNonNull(plugin, "Invalid plugin");
server.execute(runnable);
if (plugin instanceof IFabricChatPlugin) {
server.execute(runnable);
} else {
throw new ClassCastException("Invalid plugin");
}
}

public void kickPlayer(ServerPlayer player, ChatComponent reason) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package vakiliner.chatcomponentapi.fabric;

import vakiliner.chatcomponentapi.base.IChatPlugin;

public interface IFabricChatPlugin extends IChatPlugin {
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package vakiliner.chatcomponentapi;

import net.minecraftforge.fml.common.Mod;
import vakiliner.chatcomponentapi.base.IChatPlugin;
import vakiliner.chatcomponentapi.forge.ForgeParser;
import vakiliner.chatcomponentapi.forge.IForgeChatPlugin;

@Mod("chatcomponentapi")
public class ChatComponentAPIForgeLoader implements IChatPlugin {
public class ChatComponentAPIForgeLoader implements IForgeChatPlugin {
public static final ForgeParser PARSER = new ForgeParser();
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.UUID;
import java.util.stream.Collectors;
import com.mojang.authlib.GameProfile;
Expand Down Expand Up @@ -64,8 +63,11 @@ public void sendMessage(ICommandSource commandSource, ChatComponent component, C
}

public void execute(MinecraftServer server, IChatPlugin plugin, Runnable runnable) {
Objects.requireNonNull(plugin, "Invalid plugin");
server.execute(runnable);
if (plugin instanceof IForgeChatPlugin) {
server.execute(runnable);
} else {
throw new ClassCastException("Invalid plugin");
}
}

public void kickPlayer(ServerPlayerEntity player, ChatComponent reason) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package vakiliner.chatcomponentapi.forge;

import vakiliner.chatcomponentapi.base.IChatPlugin;

public interface IForgeChatPlugin extends IChatPlugin {
}