From 548369fda3c20fd5f7867f87eb4b195f56d8ce6f Mon Sep 17 00:00:00 2001 From: BongoCat Date: Fri, 12 Aug 2022 22:45:18 -0700 Subject: [PATCH] initial commit --- .idea/BossBarAPI.iml | 9 -- .idea/compiler.xml | 3 +- .idea/discord.xml | 2 +- BossBarAPI.iml | 12 -- README.md | 37 +---- pom.xml | 82 ++-------- .../bnogocarft/ClassicCore/ChatListener.java | 79 ++++++++++ .../games/bnogocarft/ClassicCore/Main.java | 29 ++++ .../java/tech/nully/BossBarAPI/BossBar.java | 72 --------- .../nully/BossBarAPI/FakeWitherCommand.java | 38 ----- src/main/java/tech/nully/BossBarAPI/Main.java | 32 ---- .../nully/BossBarAPI/SpawnFakeWither.java | 143 ------------------ .../nully/BossBarAPI/TeleportScheduler.java | 16 -- src/main/resources/plugin.yml | 15 +- target/BossBarAPI-0.0.1.jar | Bin 17426 -> 0 bytes target/classes/plugin.yml | 15 +- target/maven-archiver/pom.properties | 6 +- .../compile/default-compile/createdFiles.lst | 10 +- .../compile/default-compile/inputFiles.lst | 6 +- target/original-BossBarAPI-0.0.1.jar | Bin 9517 -> 0 bytes 20 files changed, 146 insertions(+), 460 deletions(-) delete mode 100644 .idea/BossBarAPI.iml delete mode 100644 BossBarAPI.iml create mode 100644 src/main/java/games/bnogocarft/ClassicCore/ChatListener.java create mode 100644 src/main/java/games/bnogocarft/ClassicCore/Main.java delete mode 100644 src/main/java/tech/nully/BossBarAPI/BossBar.java delete mode 100644 src/main/java/tech/nully/BossBarAPI/FakeWitherCommand.java delete mode 100644 src/main/java/tech/nully/BossBarAPI/Main.java delete mode 100644 src/main/java/tech/nully/BossBarAPI/SpawnFakeWither.java delete mode 100644 src/main/java/tech/nully/BossBarAPI/TeleportScheduler.java delete mode 100644 target/BossBarAPI-0.0.1.jar delete mode 100644 target/original-BossBarAPI-0.0.1.jar diff --git a/.idea/BossBarAPI.iml b/.idea/BossBarAPI.iml deleted file mode 100644 index d6ebd48..0000000 --- a/.idea/BossBarAPI.iml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml index e36d8f8..1263d3e 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -6,10 +6,11 @@ - + + diff --git a/.idea/discord.xml b/.idea/discord.xml index 30bab2a..d8e9561 100644 --- a/.idea/discord.xml +++ b/.idea/discord.xml @@ -1,7 +1,7 @@ - \ No newline at end of file diff --git a/BossBarAPI.iml b/BossBarAPI.iml deleted file mode 100644 index 4ec1b0e..0000000 --- a/BossBarAPI.iml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - BUKKIT - - - - - \ No newline at end of file diff --git a/README.md b/README.md index d510c30..1869cb9 100644 --- a/README.md +++ b/README.md @@ -1,35 +1,2 @@ -# BossBarAPI -Adds the ability to display BossBars to eaglercraft with an API -## How to use: -There is one default command that BossBarAPI comes with and that is /bossbar which creates a bossbar with the text "Countdown" and the bar slowly goes down - -Here is a guide to the API: -To create a BossBar do - -```BossBar bar = new BossBar(player)``` - -This will create a bossbar instance but wont spawn in the bossbar itself to the player - -To set the Bars health do - -```bar.setBarHealth(int)``` - -To set the bar's text do: - -```bar.setText(String)``` - -If these values are not set before the bossbar is displayed, they will default to 200 which is the bar's full health and "A Bossbar!" - -there are also getters for these 2 methods - -To display a bossbar, use - -```bar.display()``` - -To delete the bossbar, do - -```bar.delete``` - -There is also a `bar.getLocation` which returns the location of the Enderdragon but you will most likely never use this method - -ok thanx byeee +# ClassicCore +A plugin made for BnogoCarft's Classic Factions gamemode diff --git a/pom.xml b/pom.xml index c4de976..5b2a7a9 100644 --- a/pom.xml +++ b/pom.xml @@ -4,8 +4,8 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - tech.nully - BossBarAPI + games.bnogocarft + ClassicCore 0.0.1 @@ -22,77 +22,23 @@ - - - com.github.EaglerMaven - PacketWrapper - 1.5.2 - compile - - - com.github.EaglerMaven - ProtocolLib - 3.6.4 - provided - com.github.EaglerMaven craftbukkit 1.5.2-R1.0 provided + + com.github.EaglerMaven + Factions + 2.0.1 + provided + + + com.github.EaglerMaven + MassiveCore + 6.4.1 + provided + - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.0 - - 1.8 - 1.8 - - - - org.apache.maven.plugins - maven-jar-plugin - - - - - - - - - - org.apache.maven.plugins - maven-shade-plugin - 3.2.4 - - - package - - shade - - - - - false - - - *:* - - META-INF/*.SF - META-INF/*.DSA - META-INF/*.RSA - - - - true - - - - - \ No newline at end of file diff --git a/src/main/java/games/bnogocarft/ClassicCore/ChatListener.java b/src/main/java/games/bnogocarft/ClassicCore/ChatListener.java new file mode 100644 index 0000000..5715426 --- /dev/null +++ b/src/main/java/games/bnogocarft/ClassicCore/ChatListener.java @@ -0,0 +1,79 @@ +package games.bnogocarft.ClassicCore; + +import com.massivecraft.factions.entity.UPlayer; +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.AsyncPlayerChatEvent; + +import java.util.Arrays; +import java.util.List; + +public class ChatListener implements Listener { + @EventHandler + public void onPlayerChat(AsyncPlayerChatEvent e) { + if (Main.onChatCD.contains(e.getPlayer())) { + e.setCancelled(true); + e.getPlayer().sendMessage(ChatColor.RED + "ey man chill out 1 message every 1.5 seconds thanks"); + return; + } + List arrayMessage = Arrays.asList(e.getMessage().split(" ")); + for (String word : arrayMessage) { + if (word.contains("nigger") || + word.contains("faggot") || + word.contains("cum") || + word.contains("fag") || + word.contains("nazi") || + word.contains("nig") || + word.contains("beaner") || + word.contains("niggers") || + word.contains("faggots") || + word.contains("fags") || + word.contains("nigga") || + word.contains("niggas") || + word.contains("faggotass") || + word.contains("n1gger") || + word.contains("n1g") || + word.contains("n1gga") || + word.contains("beaners") + ) { + arrayMessage.set(arrayMessage.indexOf(word), word.replaceAll("[A-Za-z]", "#")); + } + } + e.setMessage(String.join(" ", arrayMessage)); + + Player player = e.getPlayer(); + if (player.hasPermission("bnogorpg.chat.admin")) { + e.setFormat("" + ChatColor.DARK_GRAY + '[' + ChatColor.DARK_RED + "Admin" + ChatColor.DARK_GRAY + "] " + ChatColor.DARK_RED + player.getName() + ChatColor.DARK_GRAY + "» " + ChatColor.WHITE + e.getMessage()); + return; + } + + if (player.hasPermission("bnogorpg.chat.mod")) { + e.setFormat("" + ChatColor.DARK_GRAY + '[' + ChatColor.DARK_BLUE + "Mod" + ChatColor.DARK_GRAY + "] " + ChatColor.DARK_BLUE + player.getName() + ChatColor.DARK_GRAY + "» " + ChatColor.WHITE + e.getMessage()); + return; + } + + if (player.hasPermission("bnogorpg.chat.helper")) { + e.setFormat("" + ChatColor.DARK_GRAY + '[' + ChatColor.BLUE + "Helper" + ChatColor.DARK_GRAY + ']' + ChatColor.GRAY + ' ' + UPlayer.get(player).getFaction().getName() + ' ' + ChatColor.GRAY + player.getName() + ChatColor.DARK_GRAY + "» " + ChatColor.GRAY + e.getMessage()); + Main.onChatCD.add(e.getPlayer()); + Bukkit.getScheduler().scheduleSyncDelayedTask(Main.getInstance(), new Runnable() { + @Override + public void run() { + Main.onChatCD.remove(e.getPlayer()); + } + }, 30L); + return; + } + + e.setFormat(ChatColor.GRAY + UPlayer.get(player).getFaction().getName() + ' ' + ChatColor.GRAY + player.getName() + ChatColor.DARK_GRAY + "» " + ChatColor.GRAY + e.getMessage()); + Main.onChatCD.add(e.getPlayer()); + Bukkit.getScheduler().scheduleSyncDelayedTask(Main.getInstance(), new Runnable() { + @Override + public void run() { + Main.onChatCD.remove(e.getPlayer()); + } + }, 30L); + } +} diff --git a/src/main/java/games/bnogocarft/ClassicCore/Main.java b/src/main/java/games/bnogocarft/ClassicCore/Main.java new file mode 100644 index 0000000..5deb888 --- /dev/null +++ b/src/main/java/games/bnogocarft/ClassicCore/Main.java @@ -0,0 +1,29 @@ +package games.bnogocarft.ClassicCore; + +import org.bukkit.entity.Player; +import org.bukkit.plugin.Plugin; +import org.bukkit.plugin.java.JavaPlugin; + +import java.util.ArrayList; +import java.util.List; + +public class Main extends JavaPlugin { + + private static Plugin instance; + + public static Plugin getInstance() { + return instance; + } + public static List onChatCD = new ArrayList<>(); + @Override + public void onEnable() { + instance = this; + getServer().getPluginManager().registerEvents(new ChatListener(), this); + } + + // Overrides onDisable + @Override + public void onDisable() { + + } +} diff --git a/src/main/java/tech/nully/BossBarAPI/BossBar.java b/src/main/java/tech/nully/BossBarAPI/BossBar.java deleted file mode 100644 index e0b96eb..0000000 --- a/src/main/java/tech/nully/BossBarAPI/BossBar.java +++ /dev/null @@ -1,72 +0,0 @@ -package tech.nully.BossBarAPI; - -import com.comphenix.protocol.ProtocolLibrary; -import org.bukkit.Bukkit; -import org.bukkit.Location; -import org.bukkit.entity.Player; - -public class BossBar { - private int bossHealth = 200; - private String text = "A BossBar!"; - - private SpawnFakeWither.FakeWither dragon; - - private Player p; - - public BossBar(Player p) { - this.p = p; - } - - public int getHealth() { - return bossHealth; - } - - private TeleportScheduler t; - - public void setHealth(int bossHealth) { - this.bossHealth = bossHealth; - if (dragon != null) { - if (dragon.created) { - dragon.setHealth(bossHealth); - } - } - } - - public String getText() { - return text; - } - - public void setText(String text) { - this.text = text; - if (dragon != null) { - if (dragon.created) { - dragon.setCustomName(text); - } - } - } - - public void display() { - if (dragon != null) { - if (dragon.created) { - dragon.destroy(); - } - } - dragon = new SpawnFakeWither.FakeWither(p, ProtocolLibrary.getProtocolManager()); - dragon.setCustomName(text); - dragon.create(); - - t = new TeleportScheduler(this); - Bukkit.getScheduler().scheduleSyncDelayedTask(Main.getInstance(), t, 100); - } - - public void delete() { - if (dragon != null) { - if (dragon.created) { - if (t != null) { - t.cancel(); - } - dragon.destroy(); - } - } - } -} diff --git a/src/main/java/tech/nully/BossBarAPI/FakeWitherCommand.java b/src/main/java/tech/nully/BossBarAPI/FakeWitherCommand.java deleted file mode 100644 index 127227b..0000000 --- a/src/main/java/tech/nully/BossBarAPI/FakeWitherCommand.java +++ /dev/null @@ -1,38 +0,0 @@ -package tech.nully.BossBarAPI; - -import org.bukkit.Bukkit; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; -import org.bukkit.scheduler.BukkitTask; - -import static tech.nully.BossBarAPI.SpawnFakeWither.TICKS_PER_SECOND; - -public class FakeWitherCommand implements CommandExecutor { - - private BukkitTask task; - - @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - BossBar bar = new BossBar(player); - bar.setText("Countdown"); - bar.display(); - - - // Count down - task = Bukkit.getServer().getScheduler().runTaskTimer(Main.getInstance(), () -> { - // Count down - bar.setHealth(bar.getHealth() - 1); - - if (bar.getHealth() <= 0) { - bar.delete(); - task.cancel(); - } - }, TICKS_PER_SECOND / 4, TICKS_PER_SECOND / 4); - } - return true; - } -} diff --git a/src/main/java/tech/nully/BossBarAPI/Main.java b/src/main/java/tech/nully/BossBarAPI/Main.java deleted file mode 100644 index 4241a2f..0000000 --- a/src/main/java/tech/nully/BossBarAPI/Main.java +++ /dev/null @@ -1,32 +0,0 @@ -package tech.nully.BossBarAPI; - -import com.comphenix.packetwrapper.Packet3ENamedSoundEffect; -import com.comphenix.protocol.PacketType; -import com.comphenix.protocol.ProtocolLibrary; -import com.comphenix.protocol.events.PacketAdapter; -import com.comphenix.protocol.events.PacketContainer; -import com.comphenix.protocol.events.PacketEvent; -import net.minecraft.server.v1_5_R3.Packet62NamedSoundEffect; -import org.bukkit.plugin.Plugin; -import org.bukkit.plugin.java.JavaPlugin; - -public class Main extends JavaPlugin { - - private static Plugin instance; - - public static Plugin getInstance() { - return instance; - } - @Override - public void onEnable() { - instance = this; - System.out.println("BossBar is on"); - getCommand("bossbar").setExecutor(new FakeWitherCommand()); - } - - // Overrides onDisable - @Override - public void onDisable() { - - } -} diff --git a/src/main/java/tech/nully/BossBarAPI/SpawnFakeWither.java b/src/main/java/tech/nully/BossBarAPI/SpawnFakeWither.java deleted file mode 100644 index 3b69bea..0000000 --- a/src/main/java/tech/nully/BossBarAPI/SpawnFakeWither.java +++ /dev/null @@ -1,143 +0,0 @@ -package tech.nully.BossBarAPI; - -import com.comphenix.packetwrapper.Packet18SpawnMob; -import com.comphenix.packetwrapper.Packet1DDestroyEntity; -import com.comphenix.packetwrapper.Packet28EntityMetadata; -import com.comphenix.protocol.ProtocolManager; -import com.comphenix.protocol.injector.PlayerLoggedOutException; -import com.comphenix.protocol.wrappers.WrappedDataWatcher; -import org.bukkit.Bukkit; -import org.bukkit.Location; -import org.bukkit.entity.EntityType; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; - -import java.lang.reflect.InvocationTargetException; -import java.util.logging.Level; - -public class SpawnFakeWither extends JavaPlugin { - public static final int TICKS_PER_SECOND = 20; - - // You could also use a full-fledged API like RemoteEntities - public static class FakeWither { - public static final byte INVISIBLE = 0x20; - // Next entity ID - public static int NEXT_ID = 6000; - - public static final int METADATA_WITHER_HEALTH = 16; // 1.5.2 -> Change to 16 - - // Metadata indices - public static final int METADATA_FLAGS = 0; - public static final int METADATA_NAME = 5; // 1.5.2 -> Change to 5 - public static final int METADATA_SHOW_NAME = 6; // 1.5.2 -> Change to 6 - - // Unique ID - public int id = NEXT_ID++; - // Default health - public int health = 200; - public String customName; - public boolean created; - - public Location location; - public ProtocolManager manager; - public Player p; - - public FakeWither(Player p, ProtocolManager manager) { - this.location = new Location(p.getWorld(), p.getLocation().getX(), p.getLocation().getY() - 45, p.getLocation().getZ()); - this.manager = manager; - this.p = p; - } - - public int getHealth() { - return health; - } - - public void setHealth(int health) { - // Update the health of the entity - if (created) { - WrappedDataWatcher watcher = new WrappedDataWatcher(); - - watcher.setObject(METADATA_WITHER_HEALTH, (int) health); // 1.5.2 -> Change to (int) - sendMetadata(watcher); - } - this.health = health; - } - - public void setCustomName(String name) { - if (created) { - WrappedDataWatcher watcher = new WrappedDataWatcher(); - - if (name != null) { - watcher.setObject(METADATA_NAME, name); - watcher.setObject(METADATA_SHOW_NAME, (byte) 1); - } else { - // Hide custom name - watcher.setObject(METADATA_SHOW_NAME, (byte) 0); - } - - // Only players nearby when this is sent will see this name - sendMetadata(watcher); - } - this.customName = name; - } - - public void sendMetadata(WrappedDataWatcher watcher) { - Packet28EntityMetadata update = new Packet28EntityMetadata(); - - update.setEntityId(id); - update.setEntityMetadata(watcher.getWatchableObjects()); - try { - manager.sendServerPacket(p, update.getHandle()); - } catch (InvocationTargetException e) { - Bukkit.getLogger().log(Level.WARNING, "Cannot send " + update.getHandle() + " to " + p, e); - } - } - - public int getId() { - return id; - } - - public void create() { - Packet18SpawnMob spawnMob = new Packet18SpawnMob(); - WrappedDataWatcher watcher = new WrappedDataWatcher(); - - watcher.setObject(METADATA_FLAGS, INVISIBLE); - watcher.setObject(METADATA_WITHER_HEALTH, (int) health); // 1.5.2 -> Change to (int) - - - if (customName != null) { - watcher.setObject(METADATA_NAME, customName); - watcher.setObject(METADATA_SHOW_NAME, (byte) 1); - } - - spawnMob.setEntityID(id); - spawnMob.setType(EntityType.ENDER_DRAGON); - spawnMob.setX(location.getX()); - spawnMob.setY(location.getY()); - spawnMob.setZ(location.getZ()); - spawnMob.setMetadata(watcher); - - try { - manager.sendServerPacket(p, spawnMob.getHandle()); - } catch (InvocationTargetException e) { - Bukkit.getLogger().log(Level.WARNING, "Cannot send " + spawnMob.getHandle() + " to " + p, e); - } catch (PlayerLoggedOutException ignored) {} - created = true; - } - - public void destroy() { - if (!created) - throw new IllegalStateException("Cannot kill a killed entity."); - - Packet1DDestroyEntity destroyMe = new Packet1DDestroyEntity(); - destroyMe.setEntities(new int[]{id}); - - try { - manager.sendServerPacket(p, destroyMe.getHandle()); - } catch (InvocationTargetException e) { - Bukkit.getLogger().log(Level.WARNING, "Cannot send " + destroyMe.getHandle() + " to " + p, e); - } catch (PlayerLoggedOutException ignored) {} - created = false; - } - } -} \ No newline at end of file diff --git a/src/main/java/tech/nully/BossBarAPI/TeleportScheduler.java b/src/main/java/tech/nully/BossBarAPI/TeleportScheduler.java deleted file mode 100644 index dcc7b60..0000000 --- a/src/main/java/tech/nully/BossBarAPI/TeleportScheduler.java +++ /dev/null @@ -1,16 +0,0 @@ -package tech.nully.BossBarAPI; - -import org.bukkit.scheduler.BukkitRunnable; - -public class TeleportScheduler extends BukkitRunnable { - private BossBar b; - - public TeleportScheduler(BossBar b) { - this.b = b; - } - - @Override - public void run() { - b.display(); - } -} diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 3412f00..636d691 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,12 +1,7 @@ -name: BossBarAPI +name: ClassicCore version: 0.0.1 -main: tech.nully.BossBarAPI.Main -prefix: [BossBarAPI] +main: games.bnogocarft.ClassicCore.Main +prefix: [ClassicCore] authors: [BongoCat] -description: An API for eaglercraft to be able to display bossbars -depend: [ProtocolLib] -website: nully.tech -commands: - bossbar: - usage: / - description: Displays a bossbar \ No newline at end of file +description: A plugin made for BnogoCarft's classic factions gamemode +website: https://bnogocarft.games \ No newline at end of file diff --git a/target/BossBarAPI-0.0.1.jar b/target/BossBarAPI-0.0.1.jar deleted file mode 100644 index 8a0abbbf38425bed4c2ce9afc20285de0302fac3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17426 zcmbt+1yo*3(k&#x-QC^Y-GaNjySoJl9^55ZaCdiicXxO9K=R>C@HKwX2X3fBOy*02CAy0N(gX0pKSA19%4@DWt$hB`Wov=G!0uz*_(raS+hg zJKp?po6O%TBfi}6FJ(zSDbe>r@(R?F@2@0>ha|+Qs3)MrsmMo%$ExILry16F>?p-X z`zgh#_(4Iovz20zDcT8L8dAgE7@#6pvoet5oofAkbV@#ZhX1b_LfjfJDJ zsTH-WrG=vOkXaWkZ1WMtEri0JnHX+_cm~i~2n>bm38+EILR|9h836|!UY)KMN3u;e zdU&y$ARD9hZiL|5JalsPg;X>;#FPPTizNN#g@l=Jh$9mG9`|J%cSO~|dmnTs;w0aG zp{>g$xPi}Yj>myVB)F#JWfg>{nK$l-3XgRJ43pxXD@00FqEnqy6ExM5dF3Op=+RcT@*y)Xb8NItDVL`p40^2d!u7jc4vt zx8})DcP)LxqypTOA5xl9-A`4&*`IoFKD1RuyqWj$YOrAnN7hBNLfKaIS;pHMC8~$$ zd&hRl&wYx#o#vz2WbJ(qm!%AGiQe%|jZcfD{|Ly{H~)*wTd*R)I&ZGvgWqg;c%Sl`muvb=lV{XZVT+@i4bSHtZYBAK=SSfNF5TT>g5D3n zN0#GHuTE`RADFU@W9%Q8thuLWwGhou;kk$tQA(DbLf0N2AXlZ&Ut81@O;ZzJ5yj?_ zG;y%IPf-BDUuOEkg9k7vvIG#-<8O%)aHA^;Gg*OS%aJI2DeVpTu<{-s9m6cwC(17u z9i2t=86Nz`MUW};BGGTB!$q&3g_fHhp6LUhyP5^6qW)oIeB?Ux`^_xwZ(&g875i{& zD)?621hy-4hR*!RBrKx(@P$=CW^@E*5|51zj*|wY^KfB8VMRpMO(;g{$F7cF30apm zeXAP?QNv6(E+zn}CbFRSb5Tq}TBRigd*;&|(7PrGS8CL;Cfu@m%W0*-y7kmDC6!}D z!_1R?1CY^fdwLx`Cg;$liPdKW#g*IVxN@<>4R1@v988raB8?p8D{ShIK)o{!jCv2C zK^1qp3gPG?mMbIu0}&4A6XQi5-9|>!wV9^1%u%GtPMN3sMMSWwO2~H6ELFX=Pt$N* zr-bRK8E{O^h7AW!Vc@CC&S5IWtlu8AU!57T9 z|LE5%lrmmjvb39b9772dI-VZS2!A0OFm~!s`W)N?diAvgDtHh^5EQIeMldGrAhCLaizg0 z1INhr-$(eES4i{G+)}u}-NMf&V4IVteo-MJ;uT8FdY2kDNxi??7m2>^md;*@1h45ApZPq!EgoG$232Ep`lQs0;4}c)8yHaCF?tdD8GhDi7<|8x zIs1?jCm_D3Vv*UJu<(efaKXfvNr}n|QG}f^;~=`CY~A!pp5Ju$eiSgH*l*CEoLk-> z?=XzS!RUtGS@U*AXSC9d5>J@c!@Q(9lI&>JF50?H75-^9eay_|NU?Db;`ZxvrjvyV zVn0!=AsdsC$?h|$^rt}HJ-*eil-C`um?N{6w0l7GKs2{us`3d&M(QL&szo++Mj;3> zop7;+u4>cm;2W$_C7WX9ei!f*&Py15Vfm*J?_+>j;&WJxtUiL@^?cw*xMG*r_svvc zlAV5oJ57w*lO6V^H5f83p`5nP$rgo`51+nBU0lKhOgz|c{rd&23NM_lm}-2vQdPw; z1496MacjFgyRj<3hgq{L4a<6)u)Kp%H|wEQ8{B4Leno0PAJJu3d|ACvd4bX<*VR}} z*Cd+FFK-9z&r#5A%?HKOF=^Td{f7-IZTR_<-T4G|hlY|4(4@LyAnrdykNJ=w*xWp+ zsD*IF=)X&t#J;_9JziU?%wwR`l?)#@p6|(u?JP+>vg;rWnfq`@I3l<1@OAIKhtiaF z!Dmt5>Pgv)cf-!weIOXK7YI9Mt+gSt{^sQ&*4N14m*c_swvtua{!X>_S50iIF-)iH ztdUHffPFN>=pYLapX~^37m}&YgsXPKENh$lN8+6u7B1P1)w{KD9!1Nx_5nSEg35fX z#vlpDM7M9)%Dhlrr)*pX&$}5@(p0zaX1>6Efy%D*Lj>Pr7aCeePr@K&AWiF)i*QCK zN_#YomHHgqn&<#!FbT|R%QjdJ7-y30&5d3jRLHzRw8_yg_m;-r%oEos`B2PA8a1-- z8vuUoB6qDG)tWu{Xy7CWQeup{gm-X{4n!<1=*a35I5rWq`q+r!U8WoIjt4_NsH?cR za%%4-qLNE9S@Cso=0hiFAX!t=q<4|Ypi`_4$W}#6fTlo|y7O6NB{n5@O#IRsdmaT68s z6F?V4SIzKxg+7UenMLM7sgm7&aoxR6jhtE5mTGIe)vY6_c+r#|NUYy{)zI7~+R(T~ zIr}YozHH79)OsP$OuH!di$h?N72nDo?B$dPbisd%lN+lsmf30tvjG3nYe-`IKsjqa z6mYqS$Q-Puf6kaK!_yN(F54Gz;#ljEkP&&UHmMa0j~&--i&b(Vmj!Hh zJprtn9GJvp!yHaG)$nY(^eE}Bdb#hPfX6rFA4d^+2f2VnAI+#304Um9pYQ>J4R5a= z)y_<+AFCJ6yvm{Ir1+}peDX3t2i-n=5}hJV@C!f{RJ(jWJs>VSicb3KrJeq>=)K%L zVSxDOXfnoyl}tqDB~2oKio=67D*Fr_gVJh&3L;_BZo5;Nl#dL@wo+LZ!A8>S(3tuX zg6_y;b^28aNHD_{{BHHJS|!B&Ed0iW5qcD|Q~X{a`xn%N2k^ccTPdH{&j@##Q{b)J zZI?fx-5T2>V0Vois9=u;@3=0t__KDUvW$1+Bv#5=^h`czSNGRPMSVcW3f0%h6}eoA zg%$?%B{U!soLmXqRJAyvSY!4r8XeK&Sed{qcIMtZvD~ao*NK-_KZrJdeyl8Q^Q`WU$$*~FqSv)a= z%EyFTWzAA`hMxgp3_HDgQqsh(R<(pfE@BJj@3d7IK4lWa(6~`w?LMhexuqq|YQYBT zPs9(LJbrnecsz|))N1x`n zc`?g3izRB>VrG^CAz%T>$s(3TGsz=Fs+9|2Upt4SFMPkZ)1=C(9foFUW3}D8r`U2j zBjAd_qoT3iout@*xk|AgyX@mB^8~WNY6346rVGDA`jEcfMaq9~0>H9ePb$P7oP5t3 zpngvnyj0J?uQa5~=+#O0A@~@#H!`M?Lhb{x5O;v$vhq1^N0QGN8b7wPIV8$et^9|=$L$hwsSI-v06nvV`)eO;f zj#j1ieUV4AM*T(T)B@yZU@e8Jt){1DXiJU^%MDfWQ}M2nob=6wHu1-9sp^J}*5kEm z5CLHZ9K0IEc-23^}tow|u;&Los$ z=T0>>>!Im439JQ#jqj$C#0HlE(7SS`HW)}B`RW;3^mIX!n+YWbu7glNnVu?qI+%b4 zq=!V}ES*zw-NIESE=w5va2k2oVE&HTRZNHedBW#}qfv!9JNW|Pp^2QvxPEy-Hlw4i zga89cKG7&~zn8VkKkZ}ovjBM_(NbM=Ws7A2X?p%9gan0(@&%|ixl8dTSQ`1gSkIhG zFYMTS?VcO7buoCES;C4v+y{idYc`;@!gW%zam83X1qmIw9$<3vLRtk2u{tKC+;<*3 zp+J%-*gIQ%rthXn!^SITMY;9_{aA~;qh$+ zObnJN(H$Eo37bGB4$|V{(llz(De1T<3&_n7 z?dAFe1fQ)J)dx7|zmGUan~m2*P~+Z5yEeNAo+}V6DAl{kiu19&jH^3ITEiu_ixCWNuihzp_*NNr7V|OuZYo8MU;s_cl#%|y@r##t>mK7l7f^JRj(m>=?pq+j zbM~-n&Ay!Y3vJYo{Q6EC&evWM!=2Xq+K}IU#Q?MZ|6GMO>V3l33+ZD)yXMDVhrIDavD`tH$W~(*ndC2rV@TP@W#^LI69h9 zgp%@DmsMf4>r=|pM^>n;D;~Voh%3l37}*GcZ&i%Gq#GE-kotal@$*Sgqi>W0`{4oA zke4ONJ`-J7@qTwdHwm4L@};Vet&*Ss6VJ9sxwE;`el=#b!ZBuc?*ITMUiO&3-(Lv+ z)|mYf$@txb#VMN0FTF?PG7m)>66=Unb|H@aXsH&Po008JyaDGUA2XiFFS@T!Wo@a8 z=StWB#gp?rgTd1HW293q4nyjtSiv zW_=?gK1X#usK{8S07`~5>$qrE?4W8JZm)!t)#kiHYqV>65-wF=rao|8V>+3{6e!-m zjMkqjMbd&(&(%hz_KmNx+@MxnzVhp{;o5`9Dqdn5TAV`x^N4DKI8x=(-r-po@z@%n z#;YRl;vKaWcgs*JNNlCHSi8QvaSS<|!}=uu2)PZV8&tUU=$b_t%tUb>F_K(+ux5lR zl?s(i445e{B}?nDEuqd?e1hcH)BzD63C;>!$J}5(Xv>OrGen$fdksmfo3Pm@-pLbH zLlsA?yQO7MoHRH%k8;J$LT=uSo=H({N)Xw`5ywph80@?`9^+=O$xkjcRWy0vlb=j) zNEj|XZ?;;{5THV5h)YGtPDRHkp`+9V06bv6VOQ@U)CC*B6uR*iiXeRhxpg*uD=ENo z*u=$06-XMb^m)yJVt(Qrsx{8GZR(uM2#t8`vuZ;iXv9{bj}P!$At3%P7*aA)bJ~ic z41B=AwItkt(OkC(@TN{&QKT-UWfURuT9R0dXt#phhtXAmRuX%8#I!SZ!s8ixtVG>T zn_GuR#i35-F9(Wq7g${t*Ei)c3=q`LVC5l`p7ag9mRiwG3<`i}0H7WP)Tb>u{bM2U z3gVh?0xG6C$Ti$Z)b*%=1IR;0C;O2Ff~6)lcT$V}zLl^ztzUmMU(N<0;VV~Nx@xe5 zZOTxVEmA5mSai@b1vP!*ghP9jn!Ws5TS1wv)&q5_xDO_t3bkf;f<0%UuC?3%a_QLz zDLUGTBM;u9|P`?s9UxilGGWfl;DK~#D%@rnPO!r#g zCxgaCXt)sxtjy;-9sQ(5t$ybg1lfKb5G2vZ+f0bhI#eIq5xF6?zO~{KDl&6-I-rWc z^a?WCf9$7$npdG+Kxj8{41^6BSi-TY<&V$$%r|fbP?4}7wF@vfCepvU4o59gYe{7R zQh&W>>*oOwPR_+`_^JT@YjZV8u`%D{R)VOreEn{4&|%wi%f$|s%0<>+^R zR4qT93&t$4MV86s0c`nsPuavPc!Bn^>>Zx!$+WK%i%(&tv*4~YVQs;hC*%nmH8wsm z$~In*%*r0u<-vSz<36Y0C8}nh%NOM6m3>d|RVNE3Q)wB=kDo{hHKMbRNQluk>3x$E z`>2Zb!oe+Dg-TM-QSlx;lbRQB&-{|4X9psf`tOGBX?z(7Bk~Q7giS9|)0+XDKlN#D zR`7Bni{=_`I=2zs8i*g0;%Cvp-&WyP)!BS57SjS-&Pu)b{##7DAiw3U=8LtW{zq%| z_pXN#_|#!=FRtT#WJwL zpQu(y4s`l@vnAj&z7X95pm=`7AzGDC*Z2eje41jvw`^~`+v?Ta3dq_W;EjnK(yuqr zPG88bb{T?zeTV8<(90bcwxDc{pM{k)igSD>KS)t3H_7A zH*!FO;+4qhN#$hVA~5E};#rRdwFn-SWwI6C1i`Fl!6NiY5-_z79gi-2W-~UrojW_@ z0kl{z07P&CGo*~OK^S5;16HyT@3Zu6=RiM2AJ@gG4^)J5gn|Or>{qcpcz_JCLUl}) znmmKp!2}jn7RiglPKNB+;|IU-!PB-rW<|Q+8|CZB@flCBj0)>gO zH{rStEk>G}&)QH5_k@==blP{k1Nw;5bbNR3@2Js~M(-Hm_nV0stipAaY*Fqa13K`kn>umt}Lj0q|PgO1s@%{GuixtepH7`abVauyXjaWuT6mE!brRa>xH(xX6D7RPYD5d- z+iVW>>@wSt;D^pu#2K2XEvk8qGkQdAml9(^a z8mFHEmgz2)bVXv7Y(Y;zu3<<>p>$Iw)U)9Q6>!O82IuR!i44hNIzhRJRKz_}&U9VL zqa@)`rt&eoelrm^+EFp2FK^t#+rPYZztCPVFK^wy2s%q$Cqt`$CSrb3NB_U-uWSNdGNQ^b08Ee+z13ZAtB7X)&TKX}?Gd+j2#r5&pU2o#^5KZ8$>)9>alO zJf7%MQKX-&o_Z()i-q^Z^W(YNDd(q4Gp9>82rei`qz>^4BE4HzRyfy<&|!2W zl+dG1Fn4pOs&}1dE*q;ZhAq2tlL07RfPr0e(}W2E(6z}?uz`^b1) z`*o;Pk!saS+7Ag~SWj;r&yVhJrHnsC4(S!hgce{?FYxZJs)t7n4lTPkPx+~c>xEi{ zzkO^t+6#1rBVl~9NIbVM12L}+?*Q`28-Th%>VbgG)4f0Lm^6YFA!Qa;G3|;JXA|7C zv)keuvakU<@l+C7^BsC*OS<$sge89thB||zf+O|zu-WZMGJH!33~WRO0T#)Llo%e| z@%W&@H6Of?O;4zYO+=ZU+5Wl9xd~kW2_8_9LjWSd6l<{sBPJazLBdvcFN>bXI<&zT z&dcvjs%wh0d!a41fdNEZ@c5XL(4i(+qFQ!UF}_ITcqn{h?6_F;&c`<;4hNLCI>=3A z@2r&dR12fI_z}<%o_%JTT(%lV1r8ax}FWU6&%T58f1V{0N1 z{J!Kr;>%>3dNmX%_8VQT`skbMo8t!EoImMRVlze{%Qr3F$FzWzvhHqBC1Z^*fVqH3 zEpbc@H5m9sd##}(o0J+IOd-ezLXV{0GU$Gld{#w1(j2+zp3S6%s;;!gGAee|4?`}Q z%W=S{AiZRSt&$9ndXUr6KvFSDN4CT& z_SPASQloW_d`Lj`6aw&$F_(!U}@N-{g&UCsNfJfLWYqFNYcaCDB!DOG$`@bA*RubP5IOEXG zag_DV@qgqy#;evq`EFuUt(wNg=MdHvd+bhQna_j0qTR@XQ?>zD-!zKKysIr{az%$r3UAFKgAt&f3P%&cW2sUfxN1M4U>DQdCk_q)_2pl2UwROU{X6P~n_> zM4pyjmbSW_o~fLkQ3lioOqQ0OmVQ%=W{`&JT%v+XRC08Dh+<@*U|Womd_Y26f*LTG zeFp`Fg9w=o*u^d`2N}tDcW(iGA8jAa4)8al+Pu0sX!g=k)0gj$t(@`m++T7DUK}$3 zeQV2qw4}f4ygZxVbYApqObo3|UH&I+%>ScpqpNRj=-_OpYxDA;{wFNj|A57(XYXLA ztM4H5TMK_2cood05%>_fra;sW^)fz!BCCM&~6QRw73n93OIkL1wj5Fizdv>ZY99!un_)7HZ7l7&H?y zYpmfy%|$J22}#@pxX!X~YLI`)Ly>e?IDDS=uDPN2+(8_D*X zVHizHGfz8<*y2jXx;}glH9RMTK#zM|-2fx}#C8gqTA-f1`6;)Iqf94KH$O)IdAypu zGfWSFPt-}XhxR>cW5HzsO_DBd9JNDIbPN(0QWh$KmrEAjG5CRaDoF0w$jt7rP&(bU z>8>}ioP>68{kf!f!yF7{|yPQ}ABuJ^1mc_-Rv}4vP!9`@P_&r1eFc*ryBz z?Ac#~*Xk#Ym9;5wT&P)^XE6=DN<3uTHstOI`pOd<4Me#$^*}9IkupP&NNe0xXdv#0 zXv6_8eDrOKx;5obmj)u083v9Qq;kIx3l8F!++E&QatcUKWIaP$S0__P1|?uIt2sbx z3Romp@_k+L(xPEpXi($blk)*HCh z$NAQqijzZbMDRP|Q4 zjM7^&SQ>3UW~S9#UHGcGY1IV|7nh)^uE@da)E8O=B~}`kHl$b$0CAM!44H~A$TA?k z5s>ls0d_lOt_)}i#DkS|iU@?|&w3LFW2N^=QGO+Pa49~%7Rxa}b0W&o_AaI+EMK51 z7`YmLpg2Bta3Au*@$mdaBRv!91Tu`Fk;_a9Z7Sd;GA`8gTutf0o|SiUpJ+*yeF7v- zQ;OdpC5Y%yP#;O5)uII$ASoWNdj#g8rrtmQ0DE$QkA$KRAz-pdA8|Ug7|=3oqwdgM zZM0e7|KQpcew4{_3VHk0?(6+Wj!QWt^$Vx~CE;M;E1wa4bSuu6rYj3!D$nKGLOJJBX;$4ZE$NHAk8uu-O}@DMpeTLPO%3EhUfNLu$uV2f zp6*7620w9=t|%IMq_`|25o$0yJ3!)!z41)$w3QrtYv2@|ky`0h!Ux16%Ua?j?hSjZ zQx?nzNymt)>aH8PR&t25?pY7C3k>G4Me(idm)>q?6c9dW7<`M!bc&61 z$FHA{G84S9Yhs6mr(EKhOP9l|Oc#cBnTd0ev4g1!bs3yUxMs1FJ+lk0E6{_vizR#^ z)f&BNMafDFaDn0zl;ZPML8YI8vELOH!4GF@y|QEv z36ny#k3&GE^O+pG-MQZ(m|aQ0la|&29TbwQ(~@Qb&huTwBnTP%z9T2f0Sxp9MqE6! z)}l>Yt2*CfVn+4k@#E`aE2NeDb$3V(j}#i7j)!|cm(Q2Q#`BR9w6uc}l9}x$^gKuX zR)Vk*Q>TH$WS!R78SE8a8zy3P(57VHPM{(ZO{o}4Re`OCMn7_yN7A?t>1P}gWqmoH zb0=6g=}4jUMp6FCc^T9w5exCW7lqJkF^Mr_XGare6=2IUL&Fw?rj=~QiPs9>nvXd{ zA2Yl!<#?bPh?}u1E`yR9DQ~dNprKa5?Ft`2ycZHv_vkJ^yo0?WCr-^<3loBhpU$hr z=z>3?7H<}jEVA>tRBdhyZ zW_3!&)Ieh_(ew==ER*))b*NN)_{#^I42uijI;ycmQdWyjpFxep)4dgo0UkzlFQ^*1f?&fh*-zM)}H$U;*d*L1`16rq|? z4L80ZaI-tW5kCM-YVl5ks=&r;C`5pNUSVV*W@JxsmGf=m3RIHYFyo0b6Ob#Ro2~L0 zK?16qs+uF1-v?*j%yUWei zgal$%Crp3*7+;DgN5)t6fUI6GCk+TDd>Aip$o`e{)WmjW!spAzUT0h2MYIBDY_KF< zbkhwaG(94%R%zW@*4*|X(}v*_|Ne9I=;(y_;FTHGspA!RIHJv+;6p(e!l<8c?M$3y z4+Xvtny0_E_(F0v#8Qq$yW&(dI~ig!S?eULvtk3J*s&y$O#oN%Cb-;?xMbBfMzc82Vbe&UG?`k>BIqh=1nZ+U%{?j01c2fZhzGz51xu{6%@& zV=bYs75Pj%=+2tSMfpQkT?a->-<;st8pZoFG#0nJq5TumLD_5UFLw|tH2IL82Ye?s zvK-6fTt}JEV$+|dt-zFwp92G#HY?NYRbfPCrIgFak9oijwXx@=P->_ApWAVi3ZTE9 z1()wV>&6w9f5+?pKKt<*7Dw~~!(g15V>5zHXd|fd3d8A)0gkRomz6SKkk)+007j#q^$nEH^B1Wc>{uihA&RDwX2Yo zgQul8}&KLT0f>GqP;9R-uq2EoxU@2Be|Qf~8R&>31;% z`7q+%v2UbXpHJk>F9L9!jGb;%_L}$Twc9+NAa#Hvs2pfDC_&Vzxn`g?hUTmkf!Ikw z(kN>E%LMMoXxb3n@XnbMT4j)S0tfi{{M3LroIR*+q|hNXnJFEn z*eN^;_E4jxY%SQr7@<|lN5-%NmcNW&75Qx&u7GyXp2Xe~aZ6vwiKNfH$AONHhB_^C z_32n4>C3k7f6oKWfSC{4f?7P_NQT%I%5cjO4}X+KYVIsrq^3F-JAZ?}42M}`Gu)ew zr?p7)F=H<-S`D$Az08%J@lt9YmA;%iTKT#rAC##KaScqeT%K7Q^% zrRAyHa#_8!5(}BcYA2{bpBP=3Y)X~QYJe|YfNoYP{5vFR)F^dtY4Dx+X*+d4YJc#8 za!$&DNcQQo;^RznHMdf>ut}^sTR;>vc7hGayVOlBpzn%=(#NH%=;#QM(?jv*HfQHWxtPZb6(@P+g7*;JF{#ltR^poZ`(csDtdY0a7+?d9RICA1<}1Ue9;N znM#Q-%CYWpiZCD2nsK+!Sf+4_Mek^EgzEB**)Ao=8F->T9fjl|{7a|gVz>7SK}z~@gJE9nf>`pv2__vY>D!l7^$G|H_{(p7kdik?1_TzFx_L4+$rht?Q>UipJV_&*jYv#I(m@Jo z=2JhnTs3`n-&+Oq`hK-%4OC+VY42N!{`zx`;h ztA@@#4Ojy_a*L(3Af){0ylAnA#n(*S6-P8hh)VRJN9xWN?+|3_1s8cZ>r|w6S{qnb zIm%#5ts6t3fhLQslE!8WTp>|Gq@6uWjI(ueA|CkWejD#m+`6H=hNG+W?b2Q6fv!-0 zbI5~)A>hb%($$&^Y%AJpH}BhI0WcO4o6JJI70K)t24)Kb{;~rj%6GS%2UY=5+8?l3khu-&=LO*x zBQTo8*P(N%mTNBPj8J=}&{R=014lS8L_!nK{FGr5^N=Bvzdlgt;zrD2ZcD ziHl&7c0FWuvp&76>GlZ|qU<@{LPaGGmz)u$I~wLGzxZ6(NHIv1;E$Dd*TcVGMCqn0 zBmKoc5K`1*S@Gb(YP3jZA8SDfI6lWLSE@+F3cNVRib7a<0XXi2UnScNZCDnEyO4V* zWWU0$gEkfdVtH*nDsR`QLj2SP$!u`;imN9~sE^ro_DBfqm@Ijype<^ElBl(9lJjUa zf+O!ME_Zy!tzc0&Yn;0#OBp+g9l_=zI?vm4k-Nl{NSVHC`>px@a_bceAdMOjfzlD3 zTf#iz??}$_Fu`GNbR#@@j0%fPDfVha`OSHYj!-yML0xt&l-S?Cz$>fmJb@&E6INg= zW%;Pw#!g0Uh1m1Eb}Jq(y<-CDBKi=H*`jPR>n*&WQ{k`ZRyr{V-e~eJ)Zp8jB{8

=V|1wCov|^6^m1MNJ z{)7}itv0^ea3jb*r+|$27$OM%x-rFiiP@6u%w{QtZTuW1-^qxu)KWUNIFTzcL)7jHIH9EJ&J;7Z8ia7Q*M#5|p)Bj$qdO z5_A|R*WxqEt2JVf4P+pFiTNeI)DZpf6!3ou3cjW${=&4p#QLcJ74M_|?<01dv+;I9qw{{J-e2glN*tZqF;i|7dr{~hnpeai{*ojfu&tcXZaBDiOpF~h_uiE=_37kYQ)4iTpvd6Dj!BZldpcb<8d3@x;k8yz z^fs)PF|Ae+jE*@%Wx9F>S2i`W84X;8Eht?uE1On)FchN3Z}b9t1A>8cX($|`9A_s^ z$rjpZZB+vX!Jea~R_i)peX*kcs#5E**(j5wWiH`ye2&(Y_lbeBp)7lC#BIa_Qpg1L zVzIN$xHHb~d&BQUWTo>`#X6RD?W1;@rPj+-;odug`Lz<6QP@nuM&X}j!{}t}!|#E2 zn{VB8xdS1eFW0~ zO!jDj;eKPmy!m)Y7Q3FACq}n3C!VL|mOX?EXEt{fR!CN%K5>0wVH*>dnVMR4vGM$B za`*xDsF(;VcS9rB4wuwRI<~K}lD?4v`MRPXaX7b1Gw) zmLX-mp2m8w3bZ6U?#%-pMZV!xns*?LxjG7=kVLkKtrG5eL7A=4dz@vVraTMY*7=6z zH}M3%F$xx8HEn~*0N+lZmU$v7DTahP6~q8A>Xy`Ip&|R2iE%~!@Y&{M%i63L2vMB+ zuz_b~1a|qIGSx>Us{E6>5MMX%kG`I{(~LF=)n*$5k<__y#Q^Wes41)q@th0 zki2O#WRX9neeWJ7KfmJ__vRzD_Bm#vyN$-fR#en+ zh-oW34Ps-CN#uJD$O?cN_s-4x23CzNC~B8)u<&Ei&eFN#IbU%w-;W9DF2urQShFvS zL}W-$Mu&Nv1G3z0o}s!UcQvF5{BI9H*k_ns#}@>I0tMgQ^sHxDZrN!cXxm9v5R*{1zUS_uFD+Jk@QadzaO2S^ovCvuc% ztE=hDtLbYM{zc^M{K@1``i%fucvDzS@p8_BrJzmBW`0|wz2YiDF@Yj0S zKZ{*o>tX*Y|FY_@)v>>-{#?LVctQG2<#%TPpA=t9Jb#GPUlo5M@_)tn zIm7?8!1IU1{w>CTD);=gjh|E2UpM3*QUdvx0shp_U)uQneDEvq&*`JDX;(jl_l4Q} z>B;>B{5SdUze4|<>qYPb_vH!-;qRdTXyxDc_2+z~zxK5W=VnBe}?pnvM@EAkJs{Br|; zTK_+%%(fzCY{43JW+}+1k%* X9OxyE1^|Hh@^kv~k3FC{UVr<4LO-Ed diff --git a/target/classes/plugin.yml b/target/classes/plugin.yml index 3412f00..636d691 100644 --- a/target/classes/plugin.yml +++ b/target/classes/plugin.yml @@ -1,12 +1,7 @@ -name: BossBarAPI +name: ClassicCore version: 0.0.1 -main: tech.nully.BossBarAPI.Main -prefix: [BossBarAPI] +main: games.bnogocarft.ClassicCore.Main +prefix: [ClassicCore] authors: [BongoCat] -description: An API for eaglercraft to be able to display bossbars -depend: [ProtocolLib] -website: nully.tech -commands: - bossbar: - usage: / - description: Displays a bossbar \ No newline at end of file +description: A plugin made for BnogoCarft's classic factions gamemode +website: https://bnogocarft.games \ No newline at end of file diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties index 20902d1..df62145 100644 --- a/target/maven-archiver/pom.properties +++ b/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Fri Jun 24 18:50:10 PDT 2022 -groupId=tech.nully -artifactId=BossBarAPI +#Thu Aug 11 20:32:55 PDT 2022 version=0.0.1 +groupId=games.bnogocarft +artifactId=ClassicCore diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst index 62fb876..c1704b7 100644 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -1,6 +1,4 @@ -tech/nully/BossBarAPI/BossBar.class -tech/nully/BossBarAPI/Main.class -tech/nully/BossBarAPI/SpawnFakeWither.class -tech/nully/BossBarAPI/TeleportScheduler.class -tech/nully/BossBarAPI/FakeWitherCommand.class -tech/nully/BossBarAPI/SpawnFakeWither$FakeWither.class +games/bnogocarft/ClassicCore/Main.class +games/bnogocarft/ClassicCore/ChatListener.class +games/bnogocarft/ClassicCore/ChatListener$2.class +games/bnogocarft/ClassicCore/ChatListener$1.class diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst index b142acd..83cbf9d 100644 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -1,4 +1,2 @@ -C:\Users\PC\Documents\BossBarAPI\src\main\java\tech\nully\BossBarAPI\SpawnFakeWither.java -C:\Users\PC\Documents\BossBarAPI\src\main\java\tech\nully\BossBarAPI\Main.java -C:\Users\PC\Documents\BossBarAPI\src\main\java\tech\nully\BossBarAPI\BossBar.java -C:\Users\PC\Documents\BossBarAPI\src\main\java\tech\nully\BossBarAPI\FakeWitherCommand.java +/home/bongle/GitHub/ClassicCore/src/main/java/games/bnogocarft/ClassicCore/ChatListener.java +/home/bongle/GitHub/ClassicCore/src/main/java/games/bnogocarft/ClassicCore/Main.java diff --git a/target/original-BossBarAPI-0.0.1.jar b/target/original-BossBarAPI-0.0.1.jar deleted file mode 100644 index 03040549df724d1f361b538ed0819cd00755a8aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9517 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