├── Version.txt ├── lib ├── uCars.jar ├── mcMMO-1.5.04.jar ├── GlowAPI-1.4.4.jar ├── LightAPI-3.2.4.jar ├── AuthMe-5.2-spigot.jar ├── GeneralLib-0.1.3.jar ├── JobsReborn-3.8.2.jar ├── LogBlock-1.10.0.jar ├── MythicMobs-2.5.11.jar ├── MythicMobs-4.1.0.jar ├── Slimefun-4.1.10.jar ├── CoreProtect-2.14.2.jar ├── PermissionsEx-1.23.4.jar ├── Kingdoms+-13.2.0-ClassesOnly.jar └── Multiverse-Core-2.5.0-SNAPSHOT.jar ├── .gitignore ├── src └── main │ ├── java │ ├── me │ │ └── sharpjaws │ │ │ └── sharpSK │ │ │ ├── main.java │ │ │ ├── Metrics.java │ │ │ ├── Effects │ │ │ ├── EffTimerCreate.java │ │ │ ├── EffSaveWorlds.java │ │ │ ├── EffEnablePlugin.java │ │ │ ├── EffLoadPlugin.java │ │ │ ├── EffDisablePlugin.java │ │ │ ├── EffHopperInv.java │ │ │ └── EffBrewerInv.java │ │ │ ├── hooks │ │ │ ├── mcMMO │ │ │ │ ├── mcMMORegistry.java │ │ │ │ ├── CondmcMMOPartyHasAlly.java │ │ │ │ ├── EffmcMMOLockParty.java │ │ │ │ ├── EffmcMMOUnlockParty.java │ │ │ │ ├── CondmcMMOAdminChat.java │ │ │ │ ├── CondmcMMOPartyChat.java │ │ │ │ ├── EffmcMMOToggleAdmin.java │ │ │ │ ├── EffmcMMOToggleParty.java │ │ │ │ ├── EffmcMMORemoveFromParty.java │ │ │ │ ├── EffmcMMOResetCooldowns.java │ │ │ │ ├── CondmcMMOSameParty.java │ │ │ │ ├── EffmcMMOAdminMsg.java │ │ │ │ ├── ExprmcMMOPowerLvlcap.java │ │ │ │ ├── EffmcMMOResetAbilityCooldown.java │ │ │ │ ├── ExprmcMMOPartyAllyName.java │ │ │ │ ├── EffmcMMOPartyMsg.java │ │ │ │ ├── CondmcMMOAbilityEnabled.java │ │ │ │ ├── ExprmcMMOAllParties.java │ │ │ │ ├── ExprmcMMOAllPartyMembers.java │ │ │ │ ├── ExprmcMMOPowerLevel.java │ │ │ │ ├── ExprmcMMOAllSkillTypes.java │ │ │ │ ├── CondmcMMOAbilityNotEnabled.java │ │ │ │ ├── ExprmcMMOAllAbilityTypes.java │ │ │ │ ├── ExprEvtSkillType.java │ │ │ │ ├── ExprmcMMOSkillLevelReXP.java │ │ │ │ ├── ExprEvtAbilityType.java │ │ │ │ ├── ExprmcMMOParty.java │ │ │ │ └── ExprEvtParty.java │ │ │ ├── JobsReborn │ │ │ │ ├── JobsRegistry.java │ │ │ │ ├── EffLeaveAllJobs.java │ │ │ │ ├── CondPlayerInJob.java │ │ │ │ ├── EffJoinAllJobs.java │ │ │ │ ├── CondPlayerNotInJob.java │ │ │ │ ├── EffMakeJoinJob.java │ │ │ │ ├── EffMakeLeaveJob.java │ │ │ │ ├── ExprAllJobs.java │ │ │ │ ├── ExprJobLevel.java │ │ │ │ └── old │ │ │ │ │ └── ExprJobLevelOld.java │ │ │ ├── CoreProtect │ │ │ │ ├── CorePRegistry.java │ │ │ │ ├── ExprCoreLookupData.java │ │ │ │ └── EffCoreLog.java │ │ │ ├── Kingdoms │ │ │ │ ├── KingdomsRegistry.java │ │ │ │ ├── CondKingdomsKingdomHasShield.java │ │ │ │ ├── EffKingdomsKingdomDelete.java │ │ │ │ ├── EffKingdomsKingdomGiveShield.java │ │ │ │ ├── EffKingdomsKingdomRemoveShield.java │ │ │ │ ├── CondKingdomsKingdomIsOnline.java │ │ │ │ ├── EffKingdomsKingdomAddMember.java │ │ │ │ ├── EffKingdomsKingdomMakeEnemy.java │ │ │ │ ├── EffKingdomsKingdomMakeAlly.java │ │ │ │ ├── EffKingdomsKingdomCreate.java │ │ │ │ ├── ExprKingdomsKingdomOfPlayer.java │ │ │ │ ├── ExprKingdomsAllKingdoms.java │ │ │ │ ├── ExprKingdomsAlliesOfKingdom.java │ │ │ │ ├── ExprKingdomsEnemiesOfKingdom.java │ │ │ │ ├── ExprKingdomsKingOfKingdom.java │ │ │ │ └── ExprKingdomsMembersOfKingdom.java │ │ │ ├── LogBlock │ │ │ │ └── LogBlockRegistry.java │ │ │ ├── LuckPerms │ │ │ │ ├── EffLuckPermsSetPerm.java │ │ │ │ ├── LuckPermsRegistry.java │ │ │ │ ├── EffLuckPermsUnsetPerm.java │ │ │ │ ├── ExprLuckPermsAllPermissionsOfPlayer.java │ │ │ │ ├── EffLuckPermsDeleteGroup.java │ │ │ │ └── ExprLuckPermsAllGroups.java │ │ │ ├── WorldGuard │ │ │ │ ├── WorldGuardRegistry.java │ │ │ │ ├── EffDeleteRegion.java │ │ │ │ ├── ExprAllRegionsInWorld.java │ │ │ │ └── ExprRegionAt.java │ │ │ ├── BungeeTabListPlus │ │ │ │ └── BungeeTabRegistry.java │ │ │ ├── FAWE │ │ │ │ └── FAWERegisry.java │ │ │ ├── AuthmeReloaded │ │ │ │ ├── AuthRegisterListener.java │ │ │ │ ├── EvtRegister.java │ │ │ │ ├── CondAuthIsRegisterd.java │ │ │ │ ├── EffAuthForceLogin.java │ │ │ │ ├── EffAuthForceLogout.java │ │ │ │ ├── EffAuthForceUnregister.java │ │ │ │ ├── CondAuthIsNotRegisterd.java │ │ │ │ ├── EffAuthForceRegister.java │ │ │ │ ├── CondAuthIsNotAuth.java │ │ │ │ ├── CondAuthIsAuth.java │ │ │ │ └── ExprHashedPasswordOf.java │ │ │ ├── uCars │ │ │ │ ├── uCarsRegistry.java │ │ │ │ ├── ConduCarsIsInCar.java │ │ │ │ └── ConduCarsNotInCar.java │ │ │ ├── WorldEdit │ │ │ │ ├── enums │ │ │ │ │ └── SchemFacingDirection.java │ │ │ │ └── WorldEditRegistry.java │ │ │ ├── GroupManager │ │ │ │ └── GroupManagerRegistry.java │ │ │ ├── PermissionsEx │ │ │ │ ├── EffRemoveAGroup.java │ │ │ │ ├── EffPexAddPermGroup.java │ │ │ │ ├── EffPexRemovePermGroup.java │ │ │ │ ├── EffPexRenameGroup.java │ │ │ │ ├── EffAddPexPerm.java │ │ │ │ ├── EffPexAddgroup.java │ │ │ │ ├── EffPexRemoveGroupFromPlayer.java │ │ │ │ ├── EffRemovePexPerm.java │ │ │ │ ├── EffGiveTimedPexPerm.java │ │ │ │ └── PermissionsExRegistry.java │ │ │ ├── Multiverse │ │ │ │ ├── EffMVLoadWorld.java │ │ │ │ ├── EffMVDeleteWorld.java │ │ │ │ ├── EffMVUnloadWorld.java │ │ │ │ ├── EffMVRemovePlayersFromWorld.java │ │ │ │ ├── CondMVUnloadedWorld.java │ │ │ │ ├── CondMVNotUnloadedWorld.java │ │ │ │ ├── EffMVCloneWorld.java │ │ │ │ └── ExprUnloadedWorlds.java │ │ │ ├── Towny │ │ │ │ ├── ExprTownyTownAtLocation.java │ │ │ │ ├── ExprTownyAllTowns.java │ │ │ │ ├── ExprTownyAllNations.java │ │ │ │ ├── EffTownyDeleteTown.java │ │ │ │ ├── ExprTownyTownOfPlayer.java │ │ │ │ ├── ExprAllTownBlockTypes.java │ │ │ │ ├── EffTownyAddPlayerToNation.java │ │ │ │ ├── ExprTownyNationOfPlayer.java │ │ │ │ └── EffTownyRenameTown.java │ │ │ ├── Slimefun │ │ │ │ ├── EffSlimefunUnlockResearch.java │ │ │ │ ├── ExprSlimefunAllResearches.java │ │ │ │ ├── SlimefunRegistry.java │ │ │ │ └── ExprSlimefunEvtResearch.java │ │ │ ├── LightAPI │ │ │ │ ├── ExprEvtLightLevel.java │ │ │ │ └── EffDeleteLight.java │ │ │ ├── MythicMobs │ │ │ │ ├── CondIsMythicMob.java │ │ │ │ ├── old │ │ │ │ │ ├── CondIsMythicMobOld.java │ │ │ │ │ ├── EffSpawnMMOld.java │ │ │ │ │ └── CondNotMythicMobOld.java │ │ │ │ ├── CondNotMythicMob.java │ │ │ │ └── EffSpawnMM.java │ │ │ └── GlowAPI │ │ │ │ └── GlowAPIRegistry.java │ │ │ ├── Expressions │ │ │ ├── ExprEventWorld.java │ │ │ ├── ExprEventWorldLoc.java │ │ │ ├── ExpChangeListener.java │ │ │ ├── ExprInvType.java │ │ │ ├── ExprEventTimeLeft.java │ │ │ ├── ExprAllTimers.java │ │ │ ├── ExprEventAnvilCost.java │ │ │ └── ExprGlowingStateEntity.java │ │ │ ├── SharpSKCordHandler.java │ │ │ ├── Events │ │ │ ├── EvtMMBuyEvent.java │ │ │ ├── EvtTimerComplete.java │ │ │ ├── EvtTimerTick.java │ │ │ └── EvtExpChange.java │ │ │ ├── Updater.java │ │ │ ├── TimerHandler.java │ │ │ └── Conditions │ │ │ ├── CondEventCancelled.java │ │ │ ├── CondEventNotCancelled.java │ │ │ ├── CondNotleashed.java │ │ │ ├── CondTimerActive.java │ │ │ ├── Condisleashed.java │ │ │ ├── CondTimerNotActive.java │ │ │ ├── CondPlayerIsStandingOn.java │ │ │ └── CondNotPlayerStandingOn.java │ └── com │ │ └── codingforcookies │ │ └── armorequip │ │ └── ArmorType.java │ └── resources │ ├── plugin.yml │ └── config.yml ├── .travis.yml ├── META-INF └── MANIFEST.MF ├── LICENSE.md └── .github └── CONTRIBUTING.md /Version.txt: -------------------------------------------------------------------------------- 1 | 1.6.3 -------------------------------------------------------------------------------- /lib/uCars.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sharpjaws/SharpSK/HEAD/lib/uCars.jar -------------------------------------------------------------------------------- /lib/mcMMO-1.5.04.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sharpjaws/SharpSK/HEAD/lib/mcMMO-1.5.04.jar -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | 3 | /.settings/ 4 | .classpath 5 | .project 6 | /target/ 7 | 8 | /.pmd -------------------------------------------------------------------------------- /lib/GlowAPI-1.4.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sharpjaws/SharpSK/HEAD/lib/GlowAPI-1.4.4.jar -------------------------------------------------------------------------------- /lib/LightAPI-3.2.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sharpjaws/SharpSK/HEAD/lib/LightAPI-3.2.4.jar -------------------------------------------------------------------------------- /lib/AuthMe-5.2-spigot.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sharpjaws/SharpSK/HEAD/lib/AuthMe-5.2-spigot.jar -------------------------------------------------------------------------------- /lib/GeneralLib-0.1.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sharpjaws/SharpSK/HEAD/lib/GeneralLib-0.1.3.jar -------------------------------------------------------------------------------- /lib/JobsReborn-3.8.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sharpjaws/SharpSK/HEAD/lib/JobsReborn-3.8.2.jar -------------------------------------------------------------------------------- /lib/LogBlock-1.10.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sharpjaws/SharpSK/HEAD/lib/LogBlock-1.10.0.jar -------------------------------------------------------------------------------- /lib/MythicMobs-2.5.11.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sharpjaws/SharpSK/HEAD/lib/MythicMobs-2.5.11.jar -------------------------------------------------------------------------------- /lib/MythicMobs-4.1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sharpjaws/SharpSK/HEAD/lib/MythicMobs-4.1.0.jar -------------------------------------------------------------------------------- /lib/Slimefun-4.1.10.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sharpjaws/SharpSK/HEAD/lib/Slimefun-4.1.10.jar -------------------------------------------------------------------------------- /lib/CoreProtect-2.14.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sharpjaws/SharpSK/HEAD/lib/CoreProtect-2.14.2.jar -------------------------------------------------------------------------------- /lib/PermissionsEx-1.23.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sharpjaws/SharpSK/HEAD/lib/PermissionsEx-1.23.4.jar -------------------------------------------------------------------------------- /lib/Kingdoms+-13.2.0-ClassesOnly.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sharpjaws/SharpSK/HEAD/lib/Kingdoms+-13.2.0-ClassesOnly.jar -------------------------------------------------------------------------------- /lib/Multiverse-Core-2.5.0-SNAPSHOT.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sharpjaws/SharpSK/HEAD/lib/Multiverse-Core-2.5.0-SNAPSHOT.jar -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sharpjaws/SharpSK/HEAD/src/main/java/me/sharpjaws/sharpSK/main.java -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/Metrics.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sharpjaws/SharpSK/HEAD/src/main/java/me/sharpjaws/sharpSK/Metrics.java -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/Effects/EffTimerCreate.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sharpjaws/SharpSK/HEAD/src/main/java/me/sharpjaws/sharpSK/Effects/EffTimerCreate.java -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/mcMMO/mcMMORegistry.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sharpjaws/SharpSK/HEAD/src/main/java/me/sharpjaws/sharpSK/hooks/mcMMO/mcMMORegistry.java -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/Expressions/ExprEventWorld.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sharpjaws/SharpSK/HEAD/src/main/java/me/sharpjaws/sharpSK/Expressions/ExprEventWorld.java -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/Expressions/ExprEventWorldLoc.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sharpjaws/SharpSK/HEAD/src/main/java/me/sharpjaws/sharpSK/Expressions/ExprEventWorldLoc.java -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/JobsReborn/JobsRegistry.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sharpjaws/SharpSK/HEAD/src/main/java/me/sharpjaws/sharpSK/hooks/JobsReborn/JobsRegistry.java -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/CoreProtect/CorePRegistry.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sharpjaws/SharpSK/HEAD/src/main/java/me/sharpjaws/sharpSK/hooks/CoreProtect/CorePRegistry.java -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Kingdoms/KingdomsRegistry.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sharpjaws/SharpSK/HEAD/src/main/java/me/sharpjaws/sharpSK/hooks/Kingdoms/KingdomsRegistry.java -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/LogBlock/LogBlockRegistry.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sharpjaws/SharpSK/HEAD/src/main/java/me/sharpjaws/sharpSK/hooks/LogBlock/LogBlockRegistry.java -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/LuckPerms/EffLuckPermsSetPerm.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sharpjaws/SharpSK/HEAD/src/main/java/me/sharpjaws/sharpSK/hooks/LuckPerms/EffLuckPermsSetPerm.java -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/LuckPerms/LuckPermsRegistry.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sharpjaws/SharpSK/HEAD/src/main/java/me/sharpjaws/sharpSK/hooks/LuckPerms/LuckPermsRegistry.java -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/WorldGuard/WorldGuardRegistry.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sharpjaws/SharpSK/HEAD/src/main/java/me/sharpjaws/sharpSK/hooks/WorldGuard/WorldGuardRegistry.java -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/CoreProtect/ExprCoreLookupData.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sharpjaws/SharpSK/HEAD/src/main/java/me/sharpjaws/sharpSK/hooks/CoreProtect/ExprCoreLookupData.java -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/LuckPerms/EffLuckPermsUnsetPerm.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sharpjaws/SharpSK/HEAD/src/main/java/me/sharpjaws/sharpSK/hooks/LuckPerms/EffLuckPermsUnsetPerm.java -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Kingdoms/CondKingdomsKingdomHasShield.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sharpjaws/SharpSK/HEAD/src/main/java/me/sharpjaws/sharpSK/hooks/Kingdoms/CondKingdomsKingdomHasShield.java -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/LuckPerms/ExprLuckPermsAllPermissionsOfPlayer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sharpjaws/SharpSK/HEAD/src/main/java/me/sharpjaws/sharpSK/hooks/LuckPerms/ExprLuckPermsAllPermissionsOfPlayer.java -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/BungeeTabListPlus/BungeeTabRegistry.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.BungeeTabListPlus; 2 | 3 | public class BungeeTabRegistry { 4 | 5 | public static void registerBungeeTab() { 6 | 7 | } 8 | } -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: java 2 | 3 | before_install: 4 | - sed -i.bak -e 's|https://nexus.codehaus.org/snapshots/|https://oss.sonatype.org/content/repositories/codehaus-snapshots/|g' ~/.m2/settings.xml 5 | 6 | jdk: 7 | - oraclejdk8 8 | 9 | sudo: false 10 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/FAWE/FAWERegisry.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.FAWE; 2 | 3 | import ch.njol.skript.Skript; 4 | 5 | public class FAWERegisry { 6 | public static void registerFAWE() { 7 | Skript.registerEffect(EffFAWEPasteSchematic.class, 8 | "[sharpsk] (fawe|fastasyncworldedit) paste schematic %string% at %location% [exclude air %-boolean%]"); 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/main/resources/plugin.yml: -------------------------------------------------------------------------------- 1 | name: SharpSK 2 | author: Sharpjaws 3 | description: A addon made for automating your favourite plugins. 4 | version: 1.6.4 5 | main: me.sharpjaws.sharpSK.main 6 | depend: [Skript] 7 | softdepend: [LightAPI,GlowAPI, Jobs, AuthMe, MythicMobs, PermissionsEx, ExertSK, SkRambled, Umbaska,PirateSK, mcMMO, uCars, Multiverse-Core, WorldEdit, WorldGuard, LogBlock, Towny, Kingdoms, Citizens, Sentinal] 8 | loadbefore: [MassiveCore,Factions] 9 | commands: 10 | sharpsk: 11 | description: All sharpsk commands 12 | aliases: [sharpsk,shsk] 13 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/AuthmeReloaded/AuthRegisterListener.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.AuthmeReloaded; 2 | 3 | import org.bukkit.event.EventHandler; 4 | import org.bukkit.event.Listener; 5 | import org.bukkit.plugin.Plugin; 6 | 7 | import fr.xephi.authme.events.CustomEvent; 8 | 9 | public class AuthRegisterListener implements Listener { 10 | 11 | public AuthRegisterListener(Plugin main) { 12 | main.getServer().getPluginManager().registerEvents(this, main); 13 | } 14 | 15 | @EventHandler 16 | public final void onAuthRegister(CustomEvent e) { 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/resources/config.yml: -------------------------------------------------------------------------------- 1 | cfgver: "1.6.4" 2 | 3 | # SharpSK Config 4 | # True to enable plugin hook / False to Disable plugin hook 5 | metrics: true 6 | updater: true 7 | 8 | 9 | # Plugin hooks 10 | permissionsex: true 11 | mythicmobs: true 12 | jobsreborn: true 13 | authmereloaded: true 14 | lightapi: true 15 | ucars: true 16 | glowapi: true 17 | mcmmo: true 18 | coreprotect: true 19 | multiverse: true 20 | worldedit: true 21 | worldguard: true 22 | logblock: true 23 | towny: true 24 | kingdoms: true 25 | luckperms: true 26 | groupmanager: true 27 | slimefun: true 28 | fastasyncworldedit: true 29 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/SharpSKCordHandler.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK; 2 | 3 | import org.bukkit.entity.Player; 4 | import org.bukkit.plugin.messaging.PluginMessageListener; 5 | 6 | public class SharpSKCordHandler extends main implements PluginMessageListener { 7 | @Override 8 | public void onEnable() { 9 | getServer().getMessenger().registerOutgoingPluginChannel(this, "SharpSKCord"); 10 | getServer().getMessenger().registerIncomingPluginChannel(this, "SharpSKCord", this); 11 | } 12 | 13 | @Override 14 | public void onPluginMessageReceived(String arg0, Player arg1, byte[] arg2) { 15 | if (arg0.equals("SharpSKCord")) { 16 | 17 | } else { 18 | return; 19 | } 20 | 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Bundle-ManifestVersion: 2 3 | Bundle-Name: SharpSK 4 | Bundle-SymbolicName: SharpSK 5 | Bundle-Version: 1.6.1.qualifier 6 | Bundle-ClassPath: SharpSK.jar 7 | Export-Package: com.codingforcookies.armorequip, 8 | me.sharpjaws.sharpSK, 9 | me.sharpjaws.sharpSK.hooks.AuthmeReloaded, 10 | me.sharpjaws.sharpSK.hooks.CoreProtect, 11 | me.sharpjaws.sharpSK.hooks.GlowAPI, 12 | me.sharpjaws.sharpSK.hooks.JobsReborn, 13 | me.sharpjaws.sharpSK.hooks.LightAPI, 14 | me.sharpjaws.sharpSK.hooks.Multiverse, 15 | me.sharpjaws.sharpSK.hooks.MythicMobs, 16 | me.sharpjaws.sharpSK.hooks.PermissionsEx, 17 | me.sharpjaws.sharpSK.hooks.mcMMO, 18 | me.sharpjaws.sharpSK.hooks.uCars 19 | Bundle-RequiredExecutionEnvironment: JavaSE-1.7 20 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/Events/EvtMMBuyEvent.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.Events; 2 | 3 | import org.bukkit.event.Cancellable; 4 | import org.bukkit.event.Event; 5 | import org.bukkit.event.HandlerList; 6 | 7 | public class EvtMMBuyEvent extends Event implements Cancellable { 8 | private static final HandlerList h = new HandlerList(); 9 | private boolean cancelled = false; 10 | 11 | public EvtMMBuyEvent() { 12 | cancelled = false; 13 | } 14 | 15 | public boolean isCancelled() { 16 | return cancelled; 17 | } 18 | 19 | public void setCancelled(boolean b) { 20 | cancelled = b; 21 | } 22 | 23 | @Override 24 | public HandlerList getHandlers() { 25 | return h; 26 | } 27 | 28 | public static HandlerList getHandlerList() { 29 | return h; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/Updater.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK; 2 | 3 | import java.io.BufferedReader; 4 | import java.io.IOException; 5 | import java.io.InputStreamReader; 6 | import java.net.MalformedURLException; 7 | import java.net.URL; 8 | 9 | public class Updater { 10 | public static String ucheck() { 11 | String result = null; 12 | try { 13 | URL url = new URL("https://raw.githubusercontent.com/Sharpjaws/SharpSK/master/Version.txt"); 14 | BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream())); 15 | String v = in.readLine(); 16 | in.close(); 17 | result = v; 18 | } catch (MalformedURLException e) { 19 | return result; 20 | } catch (IOException e) { 21 | return result; 22 | } 23 | return result; 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/uCars/uCarsRegistry.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.uCars; 2 | 3 | import com.useful.uCarsAPI.uCarCrashEvent; 4 | import com.useful.uCarsAPI.uCarRespawnEvent; 5 | 6 | import ch.njol.skript.Skript; 7 | import ch.njol.skript.lang.util.SimpleEvent; 8 | 9 | public class uCarsRegistry { 10 | public static void registeruCars() { 11 | Skript.registerEvent("uCars Car Respawn", SimpleEvent.class, uCarRespawnEvent.class, 12 | "[on] [ucars] car respawn"); 13 | Skript.registerEvent("uCars Car crash", SimpleEvent.class, uCarCrashEvent.class, " [on] [ucars] car crash"); 14 | Skript.registerCondition(ConduCarsIsInCar.class, "[ucars] %player% is in [a] car"); 15 | Skript.registerCondition(ConduCarsIsInCar.class, "[ucars] %player% is not in [a] car"); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/WorldEdit/enums/SchemFacingDirection.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.WorldEdit.enums; 2 | 3 | public enum SchemFacingDirection { 4 | NORTH, EAST, SOUTH, WEST, INVALID; 5 | 6 | public final static Integer getDegree(SchemFacingDirection dir) { 7 | switch (dir) { 8 | case NORTH: 9 | return 0; 10 | 11 | case EAST: 12 | return 90; 13 | 14 | case SOUTH: 15 | return 180; 16 | 17 | case WEST: 18 | return 270; 19 | 20 | default: 21 | return -1; 22 | 23 | } 24 | 25 | } 26 | 27 | public final static SchemFacingDirection getFacingDir(Integer degree) { 28 | switch (degree) { 29 | case 0: 30 | case 360: 31 | return NORTH; 32 | 33 | case 90: 34 | return EAST; 35 | 36 | case 180: 37 | return SOUTH; 38 | 39 | case 270: 40 | return WEST; 41 | 42 | case -1: 43 | return INVALID; 44 | 45 | } 46 | return null; 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/Expressions/ExpChangeListener.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.Expressions; 2 | 3 | import org.bukkit.Bukkit; 4 | import org.bukkit.event.EventHandler; 5 | import org.bukkit.event.Listener; 6 | import org.bukkit.event.player.PlayerExpChangeEvent; 7 | import org.bukkit.plugin.Plugin; 8 | 9 | import me.sharpjaws.sharpSK.Events.EvtExpChange; 10 | 11 | public class ExpChangeListener implements Listener { 12 | 13 | public ExpChangeListener(Plugin main) { 14 | main.getServer().getPluginManager().registerEvents(this, main); 15 | } 16 | 17 | @EventHandler 18 | public final void onExpChange(PlayerExpChangeEvent e) { 19 | 20 | EvtExpChange ExpChangeEvent = new EvtExpChange(e.getPlayer(), e.getAmount()); 21 | Bukkit.getServer().getPluginManager().callEvent(ExpChangeEvent); 22 | if (ExpChangeEvent.isCancelled()) { 23 | ExpChangeEvent.setCancelled(true); 24 | e.setAmount(0); 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/AuthmeReloaded/EvtRegister.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.AuthmeReloaded; 2 | 3 | import org.bukkit.entity.Player; 4 | import org.bukkit.event.Event; 5 | import org.bukkit.event.HandlerList; 6 | 7 | public class EvtRegister extends Event { 8 | private static final HandlerList h = new HandlerList(); 9 | private boolean cancelled = false; 10 | private Player pl; 11 | private Number exp; 12 | 13 | public EvtRegister(Player p) { 14 | cancelled = false; 15 | this.pl = p; 16 | } 17 | 18 | public Player getPlayer() { 19 | return pl; 20 | } 21 | 22 | public boolean isCancelled() { 23 | return cancelled; 24 | } 25 | 26 | public void setCancelled(boolean b) { 27 | cancelled = b; 28 | } 29 | 30 | @Override 31 | public HandlerList getHandlers() { 32 | return h; 33 | } 34 | 35 | public static HandlerList getHandlerList() { 36 | return h; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/Events/EvtTimerComplete.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.Events; 2 | 3 | import org.bukkit.event.Cancellable; 4 | import org.bukkit.event.Event; 5 | import org.bukkit.event.HandlerList; 6 | 7 | public class EvtTimerComplete extends Event implements Cancellable { 8 | private static final HandlerList h = new HandlerList(); 9 | private boolean cancelled = false; 10 | private String timer; 11 | 12 | public EvtTimerComplete(String timer) { 13 | cancelled = false; 14 | this.timer = timer; 15 | } 16 | 17 | public boolean isCancelled() { 18 | return cancelled; 19 | } 20 | 21 | public void setCancelled(boolean b) { 22 | cancelled = b; 23 | } 24 | 25 | @Override 26 | public HandlerList getHandlers() { 27 | return h; 28 | } 29 | 30 | public static HandlerList getHandlerList() { 31 | return h; 32 | } 33 | 34 | public String getTimer() { 35 | return timer; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/Events/EvtTimerTick.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.Events; 2 | 3 | import org.bukkit.event.Event; 4 | import org.bukkit.event.HandlerList; 5 | 6 | public class EvtTimerTick extends Event { 7 | private static final HandlerList h = new HandlerList(); 8 | 9 | private String timer; 10 | private int timeleft; 11 | private int timertype; 12 | 13 | public EvtTimerTick(String timer, int timeleft, int timertype) { 14 | this.timer = timer; 15 | this.timeleft = timeleft; 16 | this.timertype = timertype; 17 | } 18 | 19 | @Override 20 | public HandlerList getHandlers() { 21 | return h; 22 | } 23 | 24 | public static HandlerList getHandlerList() { 25 | return h; 26 | } 27 | 28 | public int getTimerType() { 29 | return timertype; 30 | } 31 | 32 | public String getTimer() { 33 | return timer; 34 | } 35 | 36 | public int getTimeLeft() { 37 | return timeleft; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/GroupManager/GroupManagerRegistry.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.GroupManager; 2 | 3 | import ch.njol.skript.Skript; 4 | 5 | public class GroupManagerRegistry { 6 | public static void registerGroupManager() { 7 | Skript.registerEffect(EffGroupManagerAddPermission.class, 8 | "[sharpsk] (gman|group[ ]manager) add perm[ission] %string% to [player] %offlineplayer% [in [world] %-world%]"); 9 | Skript.registerEffect(EffGroupManagerRemovePermission.class, 10 | "[sharpsk] (gman|group[ ]manager) (remove|delete) perm[ission] %string% from [player] %offlineplayer% [in [world] %-world%]"); 11 | Skript.registerEffect(EffGroupManagerSetGroupOfPlayer.class, 12 | "[sharpsk] (gman|group[ ]manager) set [main] group of [player] %offlineplayer% to %string% [in [world] %-world%]"); 13 | Skript.registerEffect(EffGroupManagerAddSubGroupToPlayer.class, 14 | "[sharpsk] (gman|group[ ]manager) add [sub] group %string% to %offlineplayer% [in [world] %-world%]"); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/Effects/EffSaveWorlds.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.Effects; 2 | 3 | import org.bukkit.World; 4 | import org.bukkit.event.Event; 5 | 6 | import ch.njol.skript.lang.Effect; 7 | import ch.njol.skript.lang.Expression; 8 | import ch.njol.skript.lang.SkriptParser; 9 | import ch.njol.util.Kleenean; 10 | 11 | public class EffSaveWorlds extends Effect { 12 | private Expression worlds; 13 | 14 | public boolean init(Expression[] expresion, int i, Kleenean kleenean, SkriptParser.ParseResult parseResult) { 15 | this.worlds = expresion[0]; 16 | return true; 17 | } 18 | 19 | public String toString(Event e, boolean debug) { 20 | return "save world(s)"; 21 | } 22 | 23 | protected void execute(Event event) { 24 | Object[] arrayOfObject; 25 | int j = (arrayOfObject = this.worlds.getArray(event)).length; 26 | for (int i = 0; i < j; i++) { 27 | Object world = arrayOfObject[i]; 28 | if ((world instanceof World)) { 29 | ((World) world).save(); 30 | } 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/mcMMO/CondmcMMOPartyHasAlly.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.mcMMO; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.event.Event; 6 | 7 | import com.gmail.nossr50.api.PartyAPI; 8 | 9 | import ch.njol.skript.lang.Condition; 10 | import ch.njol.skript.lang.Expression; 11 | import ch.njol.skript.lang.SkriptParser; 12 | import ch.njol.util.Kleenean; 13 | 14 | public class CondmcMMOPartyHasAlly extends Condition { 15 | private Expression s; 16 | 17 | @SuppressWarnings("unchecked") 18 | @Override 19 | public boolean init(Expression[] expr, int matchedPattern, Kleenean arg2, SkriptParser.ParseResult arg3) { 20 | s = (Expression) expr[0]; 21 | 22 | return true; 23 | } 24 | 25 | @Override 26 | public String toString(@Nullable Event e, boolean debug) { 27 | return "[mcmmo] party %string% has [a] ally"; 28 | } 29 | 30 | @Override 31 | public boolean check(Event e) { 32 | 33 | return PartyAPI.hasAlly(s.getSingle(e)); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/mcMMO/EffmcMMOLockParty.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.mcMMO; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.event.Event; 6 | 7 | import ch.njol.skript.lang.Effect; 8 | import ch.njol.skript.lang.Expression; 9 | import ch.njol.skript.lang.SkriptParser; 10 | import ch.njol.util.Kleenean; 11 | 12 | public class EffmcMMOLockParty extends Effect { 13 | private Expression p; 14 | 15 | @SuppressWarnings("unchecked") 16 | @Override 17 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 18 | SkriptParser.ParseResult paramParseResult) { 19 | p = (Expression) expr[0]; 20 | return true; 21 | } 22 | 23 | @Override 24 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 25 | return "[mcmmo] lock party %string%"; 26 | } 27 | 28 | @Override 29 | protected void execute(Event e) { 30 | com.gmail.nossr50.party.PartyManager.getParty(p.getSingle(e)).setLocked(true); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/mcMMO/EffmcMMOUnlockParty.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.mcMMO; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.event.Event; 6 | 7 | import ch.njol.skript.lang.Effect; 8 | import ch.njol.skript.lang.Expression; 9 | import ch.njol.skript.lang.SkriptParser; 10 | import ch.njol.util.Kleenean; 11 | 12 | public class EffmcMMOUnlockParty extends Effect { 13 | private Expression p; 14 | 15 | @SuppressWarnings("unchecked") 16 | @Override 17 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 18 | SkriptParser.ParseResult paramParseResult) { 19 | p = (Expression) expr[0]; 20 | return true; 21 | } 22 | 23 | @Override 24 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 25 | return "[mcmmo] unlock party %string%"; 26 | } 27 | 28 | @Override 29 | protected void execute(Event e) { 30 | com.gmail.nossr50.party.PartyManager.getParty(p.getSingle(e)).setLocked(false); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/Effects/EffEnablePlugin.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.Effects; 2 | 3 | import org.bukkit.Bukkit; 4 | import org.bukkit.event.Event; 5 | import org.bukkit.plugin.Plugin; 6 | 7 | import ch.njol.skript.lang.Effect; 8 | import ch.njol.skript.lang.Expression; 9 | import ch.njol.skript.lang.SkriptParser; 10 | import ch.njol.util.Kleenean; 11 | 12 | public class EffEnablePlugin extends Effect { 13 | private Expression plugin; 14 | 15 | public boolean init(Expression[] expresion, int i, Kleenean kleenean, SkriptParser.ParseResult parseResult) { 16 | this.plugin = expresion[0]; 17 | return true; 18 | } 19 | 20 | public String toString(Event e, boolean debug) { 21 | return "enable plugin"; 22 | } 23 | 24 | protected void execute(Event event) { 25 | String name = (String) this.plugin.getSingle(event); 26 | 27 | Plugin plugin = Bukkit.getPluginManager().getPlugin(name); 28 | 29 | if ((plugin != null) && (!plugin.isEnabled())) { 30 | Bukkit.getPluginManager().enablePlugin(plugin); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/TimerHandler.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK; 2 | 3 | import org.bukkit.Bukkit; 4 | 5 | import me.sharpjaws.sharpSK.Events.EvtTimerComplete; 6 | import me.sharpjaws.sharpSK.Events.EvtTimerTick; 7 | 8 | public class TimerHandler implements Runnable { 9 | 10 | // Class implemented as a workaround for avoiding async problems in timers that 11 | // are running synchronously. 12 | String timername; 13 | int timercountdown; 14 | int timert; 15 | int type; 16 | 17 | public TimerHandler(String Tname, int Countdown, int type, int timertype) { 18 | timername = Tname; 19 | timert = timertype; 20 | timercountdown = Countdown; 21 | this.type = type; 22 | 23 | } 24 | 25 | @Override 26 | public void run() { 27 | if (type == 1) { 28 | EvtTimerTick ev1 = new EvtTimerTick(timername, timercountdown, timert); 29 | Bukkit.getPluginManager().callEvent(ev1); 30 | 31 | } else if (type == 2) { 32 | EvtTimerComplete ev2 = new EvtTimerComplete(timername); 33 | Bukkit.getPluginManager().callEvent(ev2); 34 | 35 | } 36 | 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/mcMMO/CondmcMMOAdminChat.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.mcMMO; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.entity.Player; 6 | import org.bukkit.event.Event; 7 | 8 | import com.gmail.nossr50.api.ChatAPI; 9 | 10 | import ch.njol.skript.lang.Condition; 11 | import ch.njol.skript.lang.Expression; 12 | import ch.njol.skript.lang.SkriptParser; 13 | import ch.njol.util.Kleenean; 14 | 15 | public class CondmcMMOAdminChat extends Condition { 16 | private Expression p; 17 | 18 | @SuppressWarnings("unchecked") 19 | @Override 20 | public boolean init(Expression[] expr, int matchedPattern, Kleenean arg2, SkriptParser.ParseResult arg3) { 21 | p = (Expression) expr[0]; 22 | 23 | return true; 24 | } 25 | 26 | @Override 27 | public String toString(@Nullable Event e, boolean debug) { 28 | return "[mcmmo] %player% is using admin[]chat"; 29 | } 30 | 31 | @Override 32 | public boolean check(Event e) { 33 | return ChatAPI.isUsingAdminChat(p.getSingle(e)); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/mcMMO/CondmcMMOPartyChat.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.mcMMO; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.entity.Player; 6 | import org.bukkit.event.Event; 7 | 8 | import com.gmail.nossr50.api.ChatAPI; 9 | 10 | import ch.njol.skript.lang.Condition; 11 | import ch.njol.skript.lang.Expression; 12 | import ch.njol.skript.lang.SkriptParser; 13 | import ch.njol.util.Kleenean; 14 | 15 | public class CondmcMMOPartyChat extends Condition { 16 | private Expression p; 17 | 18 | @SuppressWarnings("unchecked") 19 | @Override 20 | public boolean init(Expression[] expr, int matchedPattern, Kleenean arg2, SkriptParser.ParseResult arg3) { 21 | p = (Expression) expr[0]; 22 | 23 | return true; 24 | } 25 | 26 | @Override 27 | public String toString(@Nullable Event e, boolean debug) { 28 | return "[mcmmo] %player% is using party[]chat"; 29 | } 30 | 31 | @Override 32 | public boolean check(Event e) { 33 | return ChatAPI.isUsingPartyChat(p.getSingle(e)); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/Events/EvtExpChange.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.Events; 2 | 3 | import org.bukkit.entity.Player; 4 | import org.bukkit.event.Cancellable; 5 | import org.bukkit.event.Event; 6 | import org.bukkit.event.HandlerList; 7 | 8 | public class EvtExpChange extends Event implements Cancellable { 9 | private static final HandlerList h = new HandlerList(); 10 | private boolean cancelled = false; 11 | private Player pl; 12 | private Number exp; 13 | 14 | public EvtExpChange(Player p, Number xp) { 15 | cancelled = false; 16 | this.pl = p; 17 | this.exp = xp; 18 | } 19 | 20 | public Player getPlayer() { 21 | return pl; 22 | } 23 | 24 | public Number getExp() { 25 | return exp; 26 | } 27 | 28 | public boolean isCancelled() { 29 | return cancelled; 30 | } 31 | 32 | public void setCancelled(boolean b) { 33 | cancelled = b; 34 | } 35 | 36 | @Override 37 | public HandlerList getHandlers() { 38 | return h; 39 | } 40 | 41 | public static HandlerList getHandlerList() { 42 | return h; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/AuthmeReloaded/CondAuthIsRegisterd.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.AuthmeReloaded; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.entity.Player; 6 | import org.bukkit.event.Event; 7 | 8 | import ch.njol.skript.lang.Condition; 9 | import ch.njol.skript.lang.Expression; 10 | import ch.njol.skript.lang.SkriptParser; 11 | import ch.njol.util.Kleenean; 12 | import fr.xephi.authme.api.NewAPI; 13 | 14 | public class CondAuthIsRegisterd extends Condition { 15 | private Expression p; 16 | 17 | @SuppressWarnings("unchecked") 18 | @Override 19 | public boolean init(Expression[] expr, int matchedPattern, Kleenean arg2, SkriptParser.ParseResult arg3) { 20 | p = (Expression) expr[0]; 21 | return true; 22 | } 23 | 24 | @Override 25 | public String toString(@Nullable Event e, boolean debug) { 26 | return "%entity% is a mythicmob"; 27 | } 28 | 29 | @Override 30 | public boolean check(Event e) { 31 | return NewAPI.getInstance().isRegistered(p.getSingle(e).getName()); 32 | 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/AuthmeReloaded/EffAuthForceLogin.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.AuthmeReloaded; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.entity.Player; 6 | import org.bukkit.event.Event; 7 | 8 | import ch.njol.skript.lang.Effect; 9 | import ch.njol.skript.lang.Expression; 10 | import ch.njol.skript.lang.SkriptParser; 11 | import ch.njol.util.Kleenean; 12 | import fr.xephi.authme.api.NewAPI; 13 | 14 | public class EffAuthForceLogin extends Effect { 15 | private Expression player; 16 | 17 | @SuppressWarnings("unchecked") 18 | @Override 19 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 20 | SkriptParser.ParseResult paramParseResult) { 21 | player = (Expression) expr[0]; 22 | 23 | return true; 24 | } 25 | 26 | @Override 27 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 28 | return "force logout %player%"; 29 | } 30 | 31 | @Override 32 | protected void execute(Event e) { 33 | NewAPI.getInstance().forceLogin(player.getSingle(e)); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/AuthmeReloaded/EffAuthForceLogout.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.AuthmeReloaded; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.entity.Player; 6 | import org.bukkit.event.Event; 7 | 8 | import ch.njol.skript.lang.Effect; 9 | import ch.njol.skript.lang.Expression; 10 | import ch.njol.skript.lang.SkriptParser; 11 | import ch.njol.util.Kleenean; 12 | import fr.xephi.authme.api.NewAPI;; 13 | 14 | public class EffAuthForceLogout extends Effect { 15 | private Expression player; 16 | 17 | @SuppressWarnings("unchecked") 18 | @Override 19 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 20 | SkriptParser.ParseResult paramParseResult) { 21 | player = (Expression) expr[0]; 22 | 23 | return true; 24 | } 25 | 26 | @Override 27 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 28 | return "force logout %player%"; 29 | } 30 | 31 | @Override 32 | protected void execute(Event e) { 33 | NewAPI.getInstance().forceLogout(player.getSingle(e)); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/mcMMO/EffmcMMOToggleAdmin.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.mcMMO; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.entity.Player; 6 | import org.bukkit.event.Event; 7 | 8 | import com.gmail.nossr50.api.ChatAPI; 9 | 10 | import ch.njol.skript.lang.Effect; 11 | import ch.njol.skript.lang.Expression; 12 | import ch.njol.skript.lang.SkriptParser; 13 | import ch.njol.util.Kleenean; 14 | 15 | public class EffmcMMOToggleAdmin extends Effect { 16 | private Expression player; 17 | 18 | @SuppressWarnings("unchecked") 19 | @Override 20 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 21 | SkriptParser.ParseResult paramParseResult) { 22 | player = (Expression) expr[0]; 23 | return true; 24 | } 25 | 26 | @Override 27 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 28 | return "[mcmmo] reset all [ability] cooldowns of %player%"; 29 | } 30 | 31 | @Override 32 | protected void execute(Event e) { 33 | ChatAPI.toggleAdminChat(player.getSingle(e)); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/mcMMO/EffmcMMOToggleParty.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.mcMMO; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.entity.Player; 6 | import org.bukkit.event.Event; 7 | 8 | import com.gmail.nossr50.api.ChatAPI; 9 | 10 | import ch.njol.skript.lang.Effect; 11 | import ch.njol.skript.lang.Expression; 12 | import ch.njol.skript.lang.SkriptParser; 13 | import ch.njol.util.Kleenean; 14 | 15 | public class EffmcMMOToggleParty extends Effect { 16 | private Expression player; 17 | 18 | @SuppressWarnings("unchecked") 19 | @Override 20 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 21 | SkriptParser.ParseResult paramParseResult) { 22 | player = (Expression) expr[0]; 23 | return true; 24 | } 25 | 26 | @Override 27 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 28 | return "[mcmmo] reset all [ability] cooldowns of %player%"; 29 | } 30 | 31 | @Override 32 | protected void execute(Event e) { 33 | ChatAPI.togglePartyChat(player.getSingle(e)); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2017 Sharpjaws 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/mcMMO/EffmcMMORemoveFromParty.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.mcMMO; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.entity.Player; 6 | import org.bukkit.event.Event; 7 | 8 | import com.gmail.nossr50.api.PartyAPI; 9 | 10 | import ch.njol.skript.lang.Effect; 11 | import ch.njol.skript.lang.Expression; 12 | import ch.njol.skript.lang.SkriptParser; 13 | import ch.njol.util.Kleenean; 14 | 15 | public class EffmcMMORemoveFromParty extends Effect { 16 | private Expression p; 17 | 18 | @SuppressWarnings("unchecked") 19 | @Override 20 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 21 | SkriptParser.ParseResult paramParseResult) { 22 | p = (Expression) expr[0]; 23 | return true; 24 | } 25 | 26 | @Override 27 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 28 | return "[mcmmo] (kick|remove) %player% from (its [own]|own) party"; 29 | } 30 | 31 | @Override 32 | protected void execute(Event e) { 33 | PartyAPI.removeFromParty(p.getSingle(e)); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/AuthmeReloaded/EffAuthForceUnregister.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.AuthmeReloaded; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.entity.Player; 6 | import org.bukkit.event.Event; 7 | 8 | import ch.njol.skript.lang.Effect; 9 | import ch.njol.skript.lang.Expression; 10 | import ch.njol.skript.lang.SkriptParser; 11 | import ch.njol.util.Kleenean; 12 | import fr.xephi.authme.api.NewAPI;; 13 | 14 | public class EffAuthForceUnregister extends Effect { 15 | private Expression player; 16 | 17 | @SuppressWarnings("unchecked") 18 | @Override 19 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 20 | SkriptParser.ParseResult paramParseResult) { 21 | player = (Expression) expr[0]; 22 | 23 | return true; 24 | } 25 | 26 | @Override 27 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 28 | return "force logout %player%"; 29 | } 30 | 31 | @Override 32 | protected void execute(Event e) { 33 | NewAPI.getInstance().forceUnregister(player.getSingle(e)); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/mcMMO/EffmcMMOResetCooldowns.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.mcMMO; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.entity.Player; 6 | import org.bukkit.event.Event; 7 | 8 | import com.gmail.nossr50.api.AbilityAPI; 9 | 10 | import ch.njol.skript.lang.Effect; 11 | import ch.njol.skript.lang.Expression; 12 | import ch.njol.skript.lang.SkriptParser; 13 | import ch.njol.util.Kleenean; 14 | 15 | public class EffmcMMOResetCooldowns extends Effect { 16 | private Expression player; 17 | 18 | @SuppressWarnings("unchecked") 19 | @Override 20 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 21 | SkriptParser.ParseResult paramParseResult) { 22 | player = (Expression) expr[0]; 23 | return true; 24 | } 25 | 26 | @Override 27 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 28 | return "[mcmmo] reset all [ability] cooldowns of %player%"; 29 | } 30 | 31 | @Override 32 | protected void execute(Event e) { 33 | AbilityAPI.resetCooldowns(player.getSingle(e)); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/AuthmeReloaded/CondAuthIsNotRegisterd.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.AuthmeReloaded; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.entity.Player; 6 | import org.bukkit.event.Event; 7 | 8 | import ch.njol.skript.lang.Condition; 9 | import ch.njol.skript.lang.Expression; 10 | import ch.njol.skript.lang.SkriptParser; 11 | import ch.njol.util.Kleenean; 12 | import fr.xephi.authme.api.NewAPI; 13 | 14 | public class CondAuthIsNotRegisterd extends Condition { 15 | private Expression p; 16 | 17 | @SuppressWarnings("unchecked") 18 | @Override 19 | public boolean init(Expression[] expr, int matchedPattern, Kleenean arg2, SkriptParser.ParseResult arg3) { 20 | p = (Expression) expr[0]; 21 | return true; 22 | } 23 | 24 | @Override 25 | public String toString(@Nullable Event e, boolean debug) { 26 | return "%entity% is a mythicmob"; 27 | } 28 | 29 | @Override 30 | public boolean check(Event e) { 31 | if (NewAPI.getInstance().isRegistered(p.getSingle(e).getName()) == false) { 32 | return true; 33 | } else { 34 | return false; 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Kingdoms/EffKingdomsKingdomDelete.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Kingdoms; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.event.Event; 6 | import org.kingdoms.manager.game.GameManagement; 7 | 8 | import ch.njol.skript.lang.Effect; 9 | import ch.njol.skript.lang.Expression; 10 | import ch.njol.skript.lang.SkriptParser; 11 | import ch.njol.util.Kleenean; 12 | 13 | public class EffKingdomsKingdomDelete extends Effect { 14 | private Expression k; 15 | 16 | @SuppressWarnings("unchecked") 17 | @Override 18 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 19 | SkriptParser.ParseResult paramParseResult) { 20 | k = (Expression) expr[0]; 21 | return true; 22 | } 23 | 24 | @Override 25 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 26 | return "[sharpsk] [kingdoms] remove kingdom %string%"; 27 | } 28 | 29 | @Override 30 | protected void execute(Event e) { 31 | try { 32 | GameManagement.getKingdomManager().deleteKingdom(k.getSingle(e)); 33 | } catch (NullPointerException ex) { 34 | return; 35 | 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/mcMMO/CondmcMMOSameParty.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.mcMMO; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.entity.Player; 6 | import org.bukkit.event.Event; 7 | 8 | import com.gmail.nossr50.api.PartyAPI; 9 | 10 | import ch.njol.skript.lang.Condition; 11 | import ch.njol.skript.lang.Expression; 12 | import ch.njol.skript.lang.SkriptParser; 13 | import ch.njol.util.Kleenean; 14 | 15 | public class CondmcMMOSameParty extends Condition { 16 | private Expression p; 17 | private Expression p2; 18 | 19 | @SuppressWarnings("unchecked") 20 | @Override 21 | public boolean init(Expression[] expr, int matchedPattern, Kleenean arg2, SkriptParser.ParseResult arg3) { 22 | p = (Expression) expr[0]; 23 | p2 = (Expression) expr[1]; 24 | return true; 25 | } 26 | 27 | @Override 28 | public String toString(@Nullable Event e, boolean debug) { 29 | return "%player% is [in] same party as %player%"; 30 | } 31 | 32 | @Override 33 | public boolean check(Event e) { 34 | 35 | return PartyAPI.inSameParty(p.getSingle(e), p2.getSingle(e)); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/PermissionsEx/EffRemoveAGroup.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.PermissionsEx; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.event.Event; 6 | 7 | import ch.njol.skript.lang.Effect; 8 | import ch.njol.skript.lang.Expression; 9 | import ch.njol.skript.lang.SkriptParser; 10 | import ch.njol.util.Kleenean; 11 | import ru.tehkode.permissions.PermissionGroup; 12 | import ru.tehkode.permissions.bukkit.PermissionsEx; 13 | 14 | public class EffRemoveAGroup extends Effect { 15 | private Expression s; 16 | 17 | @SuppressWarnings("unchecked") 18 | @Override 19 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 20 | SkriptParser.ParseResult paramParseResult) { 21 | s = (Expression) expr[0]; 22 | 23 | return true; 24 | } 25 | 26 | @Override 27 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 28 | return "pex remove group %string%"; 29 | } 30 | 31 | @Override 32 | protected void execute(Event e) { 33 | PermissionGroup g = PermissionsEx.getPermissionManager().getGroup(s.getSingle(e)); 34 | g.remove(); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Multiverse/EffMVLoadWorld.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Multiverse; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.event.Event; 6 | 7 | import com.onarandombox.MultiverseCore.MultiverseCore; 8 | 9 | import ch.njol.skript.lang.Effect; 10 | import ch.njol.skript.lang.Expression; 11 | import ch.njol.skript.lang.SkriptParser; 12 | import ch.njol.util.Kleenean; 13 | 14 | public class EffMVLoadWorld extends Effect { 15 | 16 | private Expression w; 17 | 18 | @SuppressWarnings("unchecked") 19 | @Override 20 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 21 | SkriptParser.ParseResult paramParseResult) { 22 | w = (Expression) expr[0]; 23 | return true; 24 | } 25 | 26 | @Override 27 | public String toString(@Nullable Event arg0, boolean arg1) { 28 | return "mv load world %string%"; 29 | } 30 | 31 | @Override 32 | protected void execute(Event e) { 33 | MultiverseCore mv = null; 34 | mv = MultiverseCore.getPlugin(MultiverseCore.class).getCore(); 35 | 36 | mv.getMVWorldManager().loadWorld(w.getSingle(e)); 37 | 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Multiverse/EffMVDeleteWorld.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Multiverse; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.event.Event; 6 | 7 | import com.onarandombox.MultiverseCore.MultiverseCore; 8 | 9 | import ch.njol.skript.lang.Effect; 10 | import ch.njol.skript.lang.Expression; 11 | import ch.njol.skript.lang.SkriptParser; 12 | import ch.njol.util.Kleenean; 13 | 14 | public class EffMVDeleteWorld extends Effect { 15 | 16 | private Expression w; 17 | 18 | @SuppressWarnings("unchecked") 19 | @Override 20 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 21 | SkriptParser.ParseResult paramParseResult) { 22 | w = (Expression) expr[0]; 23 | return true; 24 | } 25 | 26 | @Override 27 | public String toString(@Nullable Event arg0, boolean arg1) { 28 | return "mv delete world %string%"; 29 | } 30 | 31 | @Override 32 | protected void execute(Event e) { 33 | MultiverseCore mv = null; 34 | mv = MultiverseCore.getPlugin(MultiverseCore.class).getCore(); 35 | 36 | mv.getMVWorldManager().deleteWorld(w.getSingle(e)); 37 | 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Multiverse/EffMVUnloadWorld.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Multiverse; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.event.Event; 6 | 7 | import com.onarandombox.MultiverseCore.MultiverseCore; 8 | 9 | import ch.njol.skript.lang.Effect; 10 | import ch.njol.skript.lang.Expression; 11 | import ch.njol.skript.lang.SkriptParser; 12 | import ch.njol.util.Kleenean; 13 | 14 | public class EffMVUnloadWorld extends Effect { 15 | 16 | private Expression w; 17 | 18 | @SuppressWarnings("unchecked") 19 | @Override 20 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 21 | SkriptParser.ParseResult paramParseResult) { 22 | w = (Expression) expr[0]; 23 | return true; 24 | } 25 | 26 | @Override 27 | public String toString(@Nullable Event arg0, boolean arg1) { 28 | return "mv unload world %string%"; 29 | } 30 | 31 | @Override 32 | protected void execute(Event e) { 33 | MultiverseCore mv = null; 34 | mv = MultiverseCore.getPlugin(MultiverseCore.class).getCore(); 35 | 36 | mv.getMVWorldManager().unloadWorld(w.getSingle(e)); 37 | 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/uCars/ConduCarsIsInCar.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.uCars; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.entity.Player; 6 | import org.bukkit.event.Event; 7 | import org.bukkit.inventory.ItemStack; 8 | 9 | import com.useful.uCarsAPI.uCarsAPI; 10 | 11 | import ch.njol.skript.lang.Condition; 12 | import ch.njol.skript.lang.Expression; 13 | import ch.njol.skript.lang.SkriptParser; 14 | import ch.njol.util.Kleenean; 15 | 16 | public class ConduCarsIsInCar extends Condition { 17 | private Expression player; 18 | @SuppressWarnings("unused") 19 | private Expression block; 20 | 21 | @SuppressWarnings("unchecked") 22 | @Override 23 | public boolean init(Expression[] expr, int matchedPattern, Kleenean arg2, SkriptParser.ParseResult arg3) { 24 | player = (Expression) expr[0]; 25 | return true; 26 | } 27 | 28 | @Override 29 | public String toString(@Nullable Event e, boolean debug) { 30 | return "%player% is in a car"; 31 | } 32 | 33 | @Override 34 | public boolean check(Event e) { 35 | return uCarsAPI.getAPI().checkInCar(player.getSingle(e)).booleanValue(); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/uCars/ConduCarsNotInCar.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.uCars; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.entity.Player; 6 | import org.bukkit.event.Event; 7 | import org.bukkit.inventory.ItemStack; 8 | 9 | import com.useful.uCarsAPI.uCarsAPI; 10 | 11 | import ch.njol.skript.lang.Condition; 12 | import ch.njol.skript.lang.Expression; 13 | import ch.njol.skript.lang.SkriptParser; 14 | import ch.njol.util.Kleenean; 15 | 16 | public class ConduCarsNotInCar extends Condition { 17 | private Expression player; 18 | @SuppressWarnings("unused") 19 | private Expression block; 20 | 21 | @SuppressWarnings("unchecked") 22 | @Override 23 | public boolean init(Expression[] expr, int matchedPattern, Kleenean arg2, SkriptParser.ParseResult arg3) { 24 | player = (Expression) expr[0]; 25 | return true; 26 | } 27 | 28 | @Override 29 | public String toString(@Nullable Event e, boolean debug) { 30 | return "%player% is in a car"; 31 | } 32 | 33 | @Override 34 | public boolean check(Event e) { 35 | return !uCarsAPI.getAPI().checkInCar(player.getSingle(e)).booleanValue(); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Kingdoms/EffKingdomsKingdomGiveShield.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Kingdoms; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.event.Event; 6 | import org.kingdoms.manager.game.GameManagement; 7 | 8 | import ch.njol.skript.lang.Effect; 9 | import ch.njol.skript.lang.Expression; 10 | import ch.njol.skript.lang.SkriptParser; 11 | import ch.njol.util.Kleenean; 12 | 13 | public class EffKingdomsKingdomGiveShield extends Effect { 14 | private Expression k; 15 | 16 | @SuppressWarnings("unchecked") 17 | @Override 18 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 19 | SkriptParser.ParseResult paramParseResult) { 20 | k = (Expression) expr[0]; 21 | return true; 22 | } 23 | 24 | @Override 25 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 26 | return "[sharpsk] [kingdoms] give [a] shield to kingdom %string%"; 27 | } 28 | 29 | @Override 30 | protected void execute(Event e) { 31 | try { 32 | GameManagement.getKingdomManager().getOrLoadKingdom(k.getSingle(e)).giveShield(); 33 | } catch (NullPointerException ex) { 34 | return; 35 | 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Kingdoms/EffKingdomsKingdomRemoveShield.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Kingdoms; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.event.Event; 6 | import org.kingdoms.manager.game.GameManagement; 7 | 8 | import ch.njol.skript.lang.Effect; 9 | import ch.njol.skript.lang.Expression; 10 | import ch.njol.skript.lang.SkriptParser; 11 | import ch.njol.util.Kleenean; 12 | 13 | public class EffKingdomsKingdomRemoveShield extends Effect { 14 | private Expression k; 15 | 16 | @SuppressWarnings("unchecked") 17 | @Override 18 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 19 | SkriptParser.ParseResult paramParseResult) { 20 | k = (Expression) expr[0]; 21 | return true; 22 | } 23 | 24 | @Override 25 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 26 | return "[sharpsk] [kingdoms] remove shield from kingdom %string%"; 27 | } 28 | 29 | @Override 30 | protected void execute(Event e) { 31 | 32 | try { 33 | GameManagement.getKingdomManager().getOrLoadKingdom(k.getSingle(e)).giveShield(); 34 | } catch (NullPointerException ex) { 35 | return; 36 | 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/Conditions/CondEventCancelled.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.Conditions; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.event.Cancellable; 6 | import org.bukkit.event.Event; 7 | import org.bukkit.event.EventException; 8 | 9 | import ch.njol.skript.lang.Condition; 10 | import ch.njol.skript.lang.Expression; 11 | import ch.njol.skript.lang.SkriptParser.ParseResult; 12 | import ch.njol.util.Kleenean; 13 | 14 | public class CondEventCancelled extends Condition { 15 | 16 | @Override 17 | public boolean init(Expression[] arg0, int arg1, Kleenean arg2, ParseResult arg3) { 18 | return true; 19 | } 20 | 21 | @Override 22 | public String toString(@Nullable Event arg0, boolean arg1) { 23 | return "event is cancelled"; 24 | } 25 | 26 | public boolean checkEvent(Event e) throws EventException { 27 | 28 | return false; 29 | 30 | } 31 | 32 | @Override 33 | public boolean check(Event e) { 34 | Boolean cancel = false; 35 | 36 | if (e instanceof Cancellable) { 37 | cancel = ((Cancellable) e).isCancelled(); 38 | } 39 | 40 | if (cancel == true) { 41 | return true; 42 | } else { 43 | return false; 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /.github/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ## Reporting bugs 2 | 3 | If you found a bug in SharpSK and want to report it here then please make sure you are following the guidelines below. 4 | 5 | **Bug report Guidelines:** 6 | 7 | 1. **Include enough info** — Things like console error logs (if any) or Server MC/SharpSK/Plugin(if from plugin hooks) versions. 8 | 9 | 2. **Verify that it's a new bug** — Make sure that the bug you are reporting has not been already reported/fixed before 10 | 11 | 3. **Be as detailed as possible** — Please tell as much as you can about the problem. 12 | Things like: "**It just doesn't work**" without providing anything won't help me to solve your issue. 13 | 14 | ## Suggesting new features: 15 | 16 | if you'd like to suggest a new feature that you want to see in SharpSK then make sure you are following the guidelines below: 17 | 18 | 1. **Make sure it has not been included already** — You want to make sure that the feature you are suggesting is a new one. 19 | 20 | 2. **(Optional) Make sure to tell why you want it included** — This is not necessarily required. But giving a reason will most likely result in your suggestion getting put on higher priority if it's a must-have kind of thing. 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/AuthmeReloaded/EffAuthForceRegister.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.AuthmeReloaded; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.entity.Player; 6 | import org.bukkit.event.Event; 7 | 8 | import ch.njol.skript.lang.Effect; 9 | import ch.njol.skript.lang.Expression; 10 | import ch.njol.skript.lang.SkriptParser; 11 | import ch.njol.util.Kleenean; 12 | import fr.xephi.authme.api.NewAPI;; 13 | 14 | public class EffAuthForceRegister extends Effect { 15 | private Expression player; 16 | private Expression pass; 17 | 18 | @SuppressWarnings("unchecked") 19 | @Override 20 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 21 | SkriptParser.ParseResult paramParseResult) { 22 | player = (Expression) expr[0]; 23 | pass = (Expression) expr[1]; 24 | 25 | return true; 26 | } 27 | 28 | @Override 29 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 30 | return "force logout %player%"; 31 | } 32 | 33 | @Override 34 | protected void execute(Event e) { 35 | NewAPI.getInstance().forceRegister(player.getSingle(e), pass.getSingle(e)); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Multiverse/EffMVRemovePlayersFromWorld.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Multiverse; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.event.Event; 6 | 7 | import com.onarandombox.MultiverseCore.MultiverseCore; 8 | 9 | import ch.njol.skript.lang.Effect; 10 | import ch.njol.skript.lang.Expression; 11 | import ch.njol.skript.lang.SkriptParser; 12 | import ch.njol.util.Kleenean; 13 | 14 | public class EffMVRemovePlayersFromWorld extends Effect { 15 | 16 | private Expression w; 17 | 18 | @SuppressWarnings("unchecked") 19 | @Override 20 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 21 | SkriptParser.ParseResult paramParseResult) { 22 | w = (Expression) expr[0]; 23 | return true; 24 | } 25 | 26 | @Override 27 | public String toString(@Nullable Event arg0, boolean arg1) { 28 | return "mv delete world %string%"; 29 | } 30 | 31 | @Override 32 | protected void execute(Event e) { 33 | MultiverseCore mv = null; 34 | mv = MultiverseCore.getPlugin(MultiverseCore.class).getCore(); 35 | 36 | mv.getMVWorldManager().removePlayersFromWorld(w.getSingle(e)); 37 | 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/mcMMO/EffmcMMOAdminMsg.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.mcMMO; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.Bukkit; 6 | import org.bukkit.event.Event; 7 | 8 | import com.gmail.nossr50.api.ChatAPI; 9 | 10 | import ch.njol.skript.lang.Effect; 11 | import ch.njol.skript.lang.Expression; 12 | import ch.njol.skript.lang.SkriptParser; 13 | import ch.njol.util.Kleenean; 14 | 15 | public class EffmcMMOAdminMsg extends Effect { 16 | private Expression s; 17 | private Expression s2; 18 | 19 | @SuppressWarnings("unchecked") 20 | @Override 21 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 22 | SkriptParser.ParseResult paramParseResult) { 23 | s = (Expression) expr[0]; 24 | s2 = (Expression) expr[1]; 25 | return true; 26 | } 27 | 28 | @Override 29 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 30 | return "[mcmmo] send %string% to admin chat"; 31 | } 32 | 33 | @Override 34 | protected void execute(Event e) { 35 | ChatAPI.sendAdminChat(Bukkit.getPluginManager().getPlugin("SharpSK"), s2.getSingle(e), s.getSingle(e)); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/Conditions/CondEventNotCancelled.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.Conditions; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.event.Cancellable; 6 | import org.bukkit.event.Event; 7 | import org.bukkit.event.EventException; 8 | 9 | import ch.njol.skript.lang.Condition; 10 | import ch.njol.skript.lang.Expression; 11 | import ch.njol.skript.lang.SkriptParser.ParseResult; 12 | import ch.njol.util.Kleenean; 13 | 14 | public class CondEventNotCancelled extends Condition { 15 | 16 | @Override 17 | public boolean init(Expression[] arg0, int arg1, Kleenean arg2, ParseResult arg3) { 18 | return true; 19 | } 20 | 21 | @Override 22 | public String toString(@Nullable Event arg0, boolean arg1) { 23 | return "event is not cancelled"; 24 | } 25 | 26 | public boolean checkEvent(Event e) throws EventException { 27 | 28 | return false; 29 | 30 | } 31 | 32 | @Override 33 | public boolean check(Event e) { 34 | Boolean cancel = false; 35 | 36 | if (e instanceof Cancellable) { 37 | cancel = ((Cancellable) e).isCancelled(); 38 | } 39 | 40 | if (cancel == true) { 41 | return false; 42 | } else { 43 | return true; 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/JobsReborn/EffLeaveAllJobs.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.JobsReborn; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.entity.Player; 6 | import org.bukkit.event.Event; 7 | 8 | import com.gamingmesh.jobs.Jobs; 9 | import com.gamingmesh.jobs.container.JobsPlayer; 10 | 11 | import ch.njol.skript.lang.Effect; 12 | import ch.njol.skript.lang.Expression; 13 | import ch.njol.skript.lang.SkriptParser; 14 | import ch.njol.util.Kleenean; 15 | 16 | public class EffLeaveAllJobs extends Effect { 17 | private Expression player; 18 | 19 | @SuppressWarnings("unchecked") 20 | @Override 21 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 22 | SkriptParser.ParseResult paramParseResult) { 23 | player = (Expression) expr[0]; 24 | return true; 25 | } 26 | 27 | @Override 28 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 29 | return "make %player% leave all jobs "; 30 | } 31 | 32 | @Override 33 | protected void execute(Event e) { 34 | JobsPlayer p = Jobs.getPlayerManager().getJobsPlayer(player.getSingle(e)); 35 | Jobs.getPlayerManager().leaveAllJobs(p); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/PermissionsEx/EffPexAddPermGroup.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.PermissionsEx; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.event.Event; 6 | 7 | import ch.njol.skript.lang.Effect; 8 | import ch.njol.skript.lang.Expression; 9 | import ch.njol.skript.lang.SkriptParser; 10 | import ch.njol.util.Kleenean; 11 | import ru.tehkode.permissions.bukkit.PermissionsEx; 12 | 13 | public class EffPexAddPermGroup extends Effect { 14 | private Expression s; 15 | private Expression s2; 16 | 17 | @SuppressWarnings("unchecked") 18 | @Override 19 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 20 | SkriptParser.ParseResult paramParseResult) { 21 | s = (Expression) expr[0]; 22 | s2 = (Expression) expr[1]; 23 | 24 | return true; 25 | } 26 | 27 | @Override 28 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 29 | return "pex add permission %string% to group %string%"; 30 | } 31 | 32 | @Override 33 | protected void execute(Event e) { 34 | PermissionsEx.getPermissionManager().getGroup(s2.getSingle(e)).addPermission(s.getSingle(e).toString()); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/PermissionsEx/EffPexRemovePermGroup.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.PermissionsEx; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.event.Event; 6 | 7 | import ch.njol.skript.lang.Effect; 8 | import ch.njol.skript.lang.Expression; 9 | import ch.njol.skript.lang.SkriptParser; 10 | import ch.njol.util.Kleenean; 11 | import ru.tehkode.permissions.bukkit.PermissionsEx; 12 | 13 | public class EffPexRemovePermGroup extends Effect { 14 | private Expression s; 15 | private Expression s2; 16 | 17 | @SuppressWarnings("unchecked") 18 | @Override 19 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 20 | SkriptParser.ParseResult paramParseResult) { 21 | s = (Expression) expr[0]; 22 | s2 = (Expression) expr[1]; 23 | 24 | return true; 25 | } 26 | 27 | @Override 28 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 29 | return "pex remove permission %string% from group %string%"; 30 | } 31 | 32 | @Override 33 | protected void execute(Event e) { 34 | PermissionsEx.getPermissionManager().getGroup(s2.getSingle(e)).removePermission(s.getSingle(e)); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Kingdoms/CondKingdomsKingdomIsOnline.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Kingdoms; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.event.Event; 6 | import org.kingdoms.manager.game.GameManagement; 7 | 8 | import ch.njol.skript.lang.Condition; 9 | import ch.njol.skript.lang.Expression; 10 | import ch.njol.skript.lang.SkriptParser.ParseResult; 11 | import ch.njol.util.Kleenean; 12 | 13 | public class CondKingdomsKingdomIsOnline extends Condition { 14 | 15 | private Expression kingdom; 16 | 17 | @SuppressWarnings("unchecked") 18 | @Override 19 | public boolean init(Expression[] expr, int arg1, Kleenean arg2, ParseResult result) { 20 | kingdom = (Expression) expr[0]; 21 | setNegated(result.mark == 1); 22 | return true; 23 | } 24 | 25 | @Override 26 | public String toString(@Nullable Event arg0, boolean arg1) { 27 | return "kingdom %string% is [not] online"; 28 | } 29 | 30 | @Override 31 | public boolean check(Event e) { 32 | Boolean a = isNegated(); 33 | if (!a) { 34 | return GameManagement.getKingdomManager().isOnline(kingdom.getSingle(e)); 35 | } else { 36 | return !GameManagement.getKingdomManager().isOnline(kingdom.getSingle(e)); 37 | } 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/mcMMO/ExprmcMMOPowerLvlcap.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.mcMMO; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.event.Event; 6 | 7 | import com.gmail.nossr50.api.ExperienceAPI; 8 | 9 | import ch.njol.skript.lang.Expression; 10 | import ch.njol.skript.lang.SkriptParser; 11 | import ch.njol.skript.lang.util.SimpleExpression; 12 | import ch.njol.util.Kleenean; 13 | 14 | public class ExprmcMMOPowerLvlcap extends SimpleExpression { 15 | 16 | @Override 17 | public boolean isSingle() { 18 | return true; 19 | } 20 | 21 | @Override 22 | public Class getReturnType() { 23 | return Integer.class; 24 | } 25 | 26 | @SuppressWarnings("unchecked") 27 | @Override 28 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 29 | SkriptParser.ParseResult paramParseResult) { 30 | return true; 31 | } 32 | 33 | @Override 34 | public String toString(@Nullable Event e, boolean paramBoolean) { 35 | return "[mcmmo] power[]level cap"; 36 | } 37 | 38 | @Override 39 | @Nullable 40 | protected Integer[] get(Event e) { 41 | return new Integer[] { ExperienceAPI.getPowerLevelCap() }; 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Multiverse/CondMVUnloadedWorld.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Multiverse; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.event.Event; 6 | 7 | import com.onarandombox.MultiverseCore.MultiverseCore; 8 | 9 | import ch.njol.skript.lang.Condition; 10 | import ch.njol.skript.lang.Expression; 11 | import ch.njol.skript.lang.SkriptParser.ParseResult; 12 | import ch.njol.util.Kleenean; 13 | 14 | public class CondMVUnloadedWorld extends Condition { 15 | 16 | private Expression w; 17 | 18 | @SuppressWarnings("unchecked") 19 | @Override 20 | public boolean init(Expression[] expr, int arg1, Kleenean arg2, ParseResult arg3) { 21 | w = (Expression) expr[0]; 22 | return true; 23 | } 24 | 25 | @Override 26 | public String toString(@Nullable Event arg0, boolean arg1) { 27 | return "(mv|multiverse) world %string% is unloaded"; 28 | } 29 | 30 | @Override 31 | public boolean check(Event e) { 32 | MultiverseCore mv = null; 33 | mv = MultiverseCore.getPlugin(MultiverseCore.class); 34 | 35 | if (mv.getMVWorldManager().hasUnloadedWorld(w.getSingle(e), false)) { 36 | return true; 37 | } else { 38 | return false; 39 | } 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/PermissionsEx/EffPexRenameGroup.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.PermissionsEx; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.event.Event; 6 | 7 | import ch.njol.skript.lang.Effect; 8 | import ch.njol.skript.lang.Expression; 9 | import ch.njol.skript.lang.SkriptParser; 10 | import ch.njol.util.Kleenean; 11 | import ru.tehkode.permissions.bukkit.PermissionsEx; 12 | 13 | public class EffPexRenameGroup extends Effect { 14 | private Expression s; 15 | private Expression s2; 16 | 17 | @SuppressWarnings("unchecked") 18 | @Override 19 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 20 | SkriptParser.ParseResult paramParseResult) { 21 | s = (Expression) expr[0]; 22 | s2 = (Expression) expr[1]; 23 | 24 | return true; 25 | } 26 | 27 | @Override 28 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 29 | return "pex rename group %string% to %string%"; 30 | } 31 | 32 | @Override 33 | protected void execute(Event e) { 34 | PermissionsEx.getPermissionManager().getGroup(s.getSingle(e)).getName().replaceAll("\\^([0-9]+", 35 | s2.getSingle(e)); 36 | 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Multiverse/CondMVNotUnloadedWorld.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Multiverse; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.event.Event; 6 | 7 | import com.onarandombox.MultiverseCore.MultiverseCore; 8 | 9 | import ch.njol.skript.lang.Condition; 10 | import ch.njol.skript.lang.Expression; 11 | import ch.njol.skript.lang.SkriptParser.ParseResult; 12 | import ch.njol.util.Kleenean; 13 | 14 | public class CondMVNotUnloadedWorld extends Condition { 15 | 16 | private Expression w; 17 | 18 | @SuppressWarnings("unchecked") 19 | @Override 20 | public boolean init(Expression[] expr, int arg1, Kleenean arg2, ParseResult arg3) { 21 | w = (Expression) expr[0]; 22 | return true; 23 | } 24 | 25 | @Override 26 | public String toString(@Nullable Event arg0, boolean arg1) { 27 | return "(mv|multiverse) world %string% is unloaded"; 28 | } 29 | 30 | @Override 31 | public boolean check(Event e) { 32 | MultiverseCore mv = null; 33 | mv = MultiverseCore.getPlugin(MultiverseCore.class); 34 | 35 | if (mv.getMVWorldManager().hasUnloadedWorld(w.getSingle(e), false)) { 36 | return false; 37 | } else { 38 | return true; 39 | } 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/AuthmeReloaded/CondAuthIsNotAuth.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.AuthmeReloaded; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.entity.Player; 6 | import org.bukkit.event.Event; 7 | 8 | import ch.njol.skript.lang.Condition; 9 | import ch.njol.skript.lang.Expression; 10 | import ch.njol.skript.lang.SkriptParser; 11 | import ch.njol.util.Kleenean; 12 | import fr.xephi.authme.api.NewAPI; 13 | 14 | public class CondAuthIsNotAuth extends Condition { 15 | private Expression p; 16 | 17 | @SuppressWarnings("unchecked") 18 | @Override 19 | public boolean init(Expression[] expr, int matchedPattern, Kleenean arg2, SkriptParser.ParseResult arg3) { 20 | p = (Expression) expr[0]; 21 | return true; 22 | } 23 | 24 | @Override 25 | public String toString(@Nullable Event e, boolean debug) { 26 | return "%player% is not authenticated"; 27 | } 28 | 29 | @Override 30 | public boolean check(Event e) { 31 | Boolean a = false; 32 | try { 33 | if (NewAPI.getInstance().isAuthenticated(p.getSingle(e)) == false) { 34 | a = true; 35 | } else { 36 | a = false; 37 | } 38 | } catch (NullPointerException ex) { 39 | 40 | } 41 | return a; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/Conditions/CondNotleashed.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.Conditions; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.entity.Entity; 6 | import org.bukkit.entity.LivingEntity; 7 | import org.bukkit.event.Event; 8 | 9 | import ch.njol.skript.lang.Condition; 10 | import ch.njol.skript.lang.Expression; 11 | import ch.njol.skript.lang.SkriptParser; 12 | import ch.njol.util.Kleenean; 13 | 14 | public class CondNotleashed extends Condition { 15 | private Expression en; 16 | 17 | @SuppressWarnings("unchecked") 18 | @Override 19 | public boolean init(Expression[] expr, int matchedPattern, Kleenean arg2, SkriptParser.ParseResult arg3) { 20 | en = (Expression) expr[0]; 21 | return true; 22 | } 23 | 24 | @Override 25 | public String toString(@Nullable Event e, boolean debug) { 26 | return "%entity% is not leashed"; 27 | } 28 | 29 | @Override 30 | public boolean check(Event e) { 31 | Boolean check = false; 32 | try { 33 | LivingEntity en2 = (LivingEntity) en.getSingle(e); 34 | if (en2.isLeashed() == true) { 35 | check = false; 36 | } else { 37 | check = true; 38 | } 39 | } catch (NullPointerException ex) { 40 | } 41 | return check; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/Conditions/CondTimerActive.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.Conditions; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.event.Event; 6 | 7 | import ch.njol.skript.lang.Condition; 8 | import ch.njol.skript.lang.Expression; 9 | import ch.njol.skript.lang.SkriptParser.ParseResult; 10 | import ch.njol.util.Kleenean; 11 | import me.sharpjaws.sharpSK.Threads.CTimerThread; 12 | 13 | public class CondTimerActive extends Condition { 14 | private Expression timer; 15 | 16 | @SuppressWarnings("unchecked") 17 | @Override 18 | public boolean init(Expression[] exprs, int matchedPattern, Kleenean isDelayed, ParseResult parseResult) { 19 | timer = (Expression) exprs[0]; 20 | return true; 21 | } 22 | 23 | @Override 24 | public String toString(@Nullable Event e, boolean debug) { 25 | return "timer %string% is active"; 26 | } 27 | 28 | @Override 29 | public boolean check(Event e) { 30 | Boolean active = false; 31 | 32 | for (Thread t : Thread.getAllStackTraces().keySet()) { 33 | if (t instanceof CTimerThread) { 34 | if (t.getName().contains(timer.getSingle(e))) { 35 | active = t.isAlive(); 36 | 37 | } 38 | } 39 | } 40 | return active; 41 | } 42 | 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/Conditions/Condisleashed.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.Conditions; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.entity.Entity; 6 | import org.bukkit.entity.LivingEntity; 7 | import org.bukkit.event.Event; 8 | 9 | import ch.njol.skript.lang.Condition; 10 | import ch.njol.skript.lang.Expression; 11 | import ch.njol.skript.lang.SkriptParser; 12 | import ch.njol.util.Kleenean; 13 | 14 | public class Condisleashed extends Condition { 15 | private Expression en; 16 | 17 | @SuppressWarnings("unchecked") 18 | @Override 19 | public boolean init(Expression[] expr, int matchedPattern, Kleenean arg2, SkriptParser.ParseResult arg3) { 20 | en = (Expression) expr[0]; 21 | return true; 22 | } 23 | 24 | @Override 25 | public String toString(@Nullable Event e, boolean debug) { 26 | return "%entity% is leashed"; 27 | } 28 | 29 | @Override 30 | public boolean check(Event e) { 31 | 32 | Boolean check = false; 33 | try { 34 | LivingEntity en2 = (LivingEntity) en.getSingle(e); 35 | if (en2.isLeashed() == true) { 36 | check = true; 37 | } else { 38 | check = false; 39 | } 40 | } catch (NullPointerException ex) { 41 | } 42 | return check; 43 | } 44 | 45 | } 46 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Multiverse/EffMVCloneWorld.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Multiverse; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.event.Event; 6 | 7 | import com.onarandombox.MultiverseCore.MultiverseCore; 8 | 9 | import ch.njol.skript.lang.Effect; 10 | import ch.njol.skript.lang.Expression; 11 | import ch.njol.skript.lang.SkriptParser; 12 | import ch.njol.util.Kleenean; 13 | 14 | public class EffMVCloneWorld extends Effect { 15 | 16 | private Expression wn; 17 | private Expression wn2; 18 | 19 | @SuppressWarnings("unchecked") 20 | @Override 21 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 22 | SkriptParser.ParseResult paramParseResult) { 23 | wn = (Expression) expr[0]; 24 | wn2 = (Expression) expr[1]; 25 | return true; 26 | } 27 | 28 | @Override 29 | public String toString(@Nullable Event arg0, boolean arg1) { 30 | return "mv clone world %string% to %string%"; 31 | } 32 | 33 | @Override 34 | protected void execute(Event e) { 35 | 36 | MultiverseCore mv = null; 37 | mv = MultiverseCore.getPlugin(MultiverseCore.class); 38 | 39 | mv.getMVWorldManager().cloneWorld(wn.getSingle(e), wn2.getSingle(e)); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/JobsReborn/CondPlayerInJob.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.JobsReborn; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.entity.Player; 6 | import org.bukkit.event.Event; 7 | 8 | import com.gamingmesh.jobs.Jobs; 9 | import com.gamingmesh.jobs.container.Job; 10 | 11 | import ch.njol.skript.lang.Condition; 12 | import ch.njol.skript.lang.Expression; 13 | import ch.njol.skript.lang.SkriptParser; 14 | import ch.njol.util.Kleenean; 15 | 16 | public class CondPlayerInJob extends Condition { 17 | 18 | private Expression p; 19 | private Expression j; 20 | 21 | @SuppressWarnings("unchecked") 22 | @Override 23 | public boolean init(Expression[] expr, int matchedPattern, Kleenean arg2, SkriptParser.ParseResult arg3) { 24 | p = (Expression) expr[0]; 25 | j = (Expression) expr[1]; 26 | return true; 27 | } 28 | 29 | @Override 30 | public String toString(@Nullable Event e, boolean debug) { 31 | return "%player% is in job %job%"; 32 | } 33 | 34 | @Override 35 | public boolean check(Event e) { 36 | Boolean bool = Jobs.getPlayerManager().getJobsPlayer(p.getSingle(e)).isInJob(j.getSingle(e)); 37 | 38 | if (bool == true) { 39 | return true; 40 | } 41 | return false; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/Expressions/ExprInvType.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.Expressions; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.entity.Player; 6 | import org.bukkit.event.Event; 7 | 8 | import ch.njol.skript.lang.Expression; 9 | import ch.njol.skript.lang.SkriptParser; 10 | import ch.njol.skript.lang.util.SimpleExpression; 11 | import ch.njol.util.Kleenean; 12 | 13 | public class ExprInvType extends SimpleExpression { 14 | private Expression p; 15 | 16 | @Override 17 | public boolean isSingle() { 18 | return true; 19 | } 20 | 21 | @Override 22 | public Class getReturnType() { 23 | return String.class; 24 | } 25 | 26 | @SuppressWarnings("unchecked") 27 | @Override 28 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 29 | SkriptParser.ParseResult paramParseResult) { 30 | p = (Expression) expr[0]; 31 | return true; 32 | } 33 | 34 | @Override 35 | public String toString(@Nullable Event e, boolean paramBoolean) { 36 | return "%player%'s current inventory type"; 37 | } 38 | 39 | @Override 40 | @Nullable 41 | protected String[] get(Event e) { 42 | return new String[] { p.getSingle(e).getOpenInventory().getType().toString() }; 43 | } 44 | 45 | } 46 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/AuthmeReloaded/CondAuthIsAuth.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.AuthmeReloaded; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.entity.Player; 6 | import org.bukkit.event.Event; 7 | 8 | import ch.njol.skript.lang.Condition; 9 | import ch.njol.skript.lang.Expression; 10 | import ch.njol.skript.lang.SkriptParser; 11 | import ch.njol.util.Kleenean; 12 | import fr.xephi.authme.api.NewAPI; 13 | 14 | public class CondAuthIsAuth extends Condition { 15 | private Expression p; 16 | 17 | @SuppressWarnings("unchecked") 18 | @Override 19 | public boolean init(Expression[] expr, int matchedPattern, Kleenean arg2, SkriptParser.ParseResult arg3) { 20 | p = (Expression) expr[0]; 21 | return true; 22 | } 23 | 24 | @Override 25 | public String toString(@Nullable Event e, boolean debug) { 26 | return "%player% is authenticated"; 27 | } 28 | 29 | @Override 30 | public boolean check(Event e) { 31 | Boolean a = false; 32 | try { 33 | if (!(p.getSingle(e) instanceof Player)) { 34 | a = false; 35 | } else { 36 | a = NewAPI.getInstance().isAuthenticated(p.getSingle(e)); 37 | } 38 | 39 | } catch (NullPointerException ex) { 40 | return false; 41 | } 42 | return a; 43 | 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/Effects/EffLoadPlugin.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.Effects; 2 | 3 | import java.io.File; 4 | 5 | import org.bukkit.Bukkit; 6 | import org.bukkit.event.Event; 7 | import org.bukkit.plugin.InvalidDescriptionException; 8 | import org.bukkit.plugin.InvalidPluginException; 9 | import org.bukkit.plugin.UnknownDependencyException; 10 | 11 | import ch.njol.skript.lang.Effect; 12 | import ch.njol.skript.lang.Expression; 13 | import ch.njol.skript.lang.SkriptParser; 14 | import ch.njol.util.Kleenean; 15 | 16 | public class EffLoadPlugin extends Effect { 17 | private Expression plugin; 18 | 19 | public boolean init(Expression[] expresion, int i, Kleenean kleenean, SkriptParser.ParseResult parseResult) { 20 | this.plugin = expresion[0]; 21 | return true; 22 | } 23 | 24 | public String toString(Event e, boolean debug) { 25 | return "loads plugin"; 26 | } 27 | 28 | protected void execute(Event event) { 29 | String name = (String) this.plugin.getSingle(event); 30 | 31 | name = name.replaceAll("/", File.separator); 32 | 33 | File plugin = new File(name); 34 | try { 35 | Bukkit.getPluginManager().loadPlugin(plugin); 36 | } catch (UnknownDependencyException | InvalidPluginException | InvalidDescriptionException e) { 37 | e.printStackTrace(); 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/mcMMO/EffmcMMOResetAbilityCooldown.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.mcMMO; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.entity.Player; 6 | import org.bukkit.event.Event; 7 | 8 | import com.gmail.nossr50.datatypes.skills.AbilityType; 9 | import com.gmail.nossr50.util.player.UserManager; 10 | 11 | import ch.njol.skript.lang.Effect; 12 | import ch.njol.skript.lang.Expression; 13 | import ch.njol.skript.lang.SkriptParser; 14 | import ch.njol.util.Kleenean; 15 | 16 | public class EffmcMMOResetAbilityCooldown extends Effect { 17 | private Expression player; 18 | private Expression ab; 19 | 20 | @SuppressWarnings("unchecked") 21 | @Override 22 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 23 | SkriptParser.ParseResult paramParseResult) { 24 | player = (Expression) expr[0]; 25 | ab = (Expression) expr[1]; 26 | return true; 27 | } 28 | 29 | @Override 30 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 31 | return "[mcmmo] reset cooldown of %abilitytype% of %player%"; 32 | } 33 | 34 | @Override 35 | protected void execute(Event e) { 36 | UserManager.getPlayer(player.getSingle(e)).setAbilityDATS(ab.getSingle(e), 0); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/mcMMO/ExprmcMMOPartyAllyName.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.mcMMO; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.event.Event; 6 | 7 | import com.gmail.nossr50.api.PartyAPI; 8 | 9 | import ch.njol.skript.lang.Expression; 10 | import ch.njol.skript.lang.SkriptParser; 11 | import ch.njol.skript.lang.util.SimpleExpression; 12 | import ch.njol.util.Kleenean; 13 | 14 | public class ExprmcMMOPartyAllyName extends SimpleExpression { 15 | private Expression s; 16 | 17 | @Override 18 | public boolean isSingle() { 19 | return true; 20 | } 21 | 22 | @Override 23 | public Class getReturnType() { 24 | return String.class; 25 | } 26 | 27 | @SuppressWarnings("unchecked") 28 | @Override 29 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 30 | SkriptParser.ParseResult paramParseResult) { 31 | s = (Expression) expr[0]; 32 | return true; 33 | } 34 | 35 | @Override 36 | public String toString(@Nullable Event e, boolean paramBoolean) { 37 | return "[mcmmo] [party] ally of party %string%"; 38 | } 39 | 40 | @Override 41 | @Nullable 42 | protected String[] get(Event e) { 43 | return new String[] { PartyAPI.getAllyName(s.getSingle(e)) }; 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Multiverse/ExprUnloadedWorlds.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Multiverse; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.event.Event; 6 | 7 | import com.onarandombox.MultiverseCore.MultiverseCore; 8 | 9 | import ch.njol.skript.lang.Expression; 10 | import ch.njol.skript.lang.SkriptParser.ParseResult; 11 | import ch.njol.skript.lang.util.SimpleExpression; 12 | import ch.njol.util.Kleenean; 13 | 14 | public class ExprUnloadedWorlds extends SimpleExpression { 15 | 16 | @Override 17 | public Class getReturnType() { 18 | return String.class; 19 | } 20 | 21 | @Override 22 | public boolean isSingle() { 23 | return false; 24 | } 25 | 26 | @Override 27 | public boolean init(Expression[] arg0, int arg1, Kleenean arg2, ParseResult arg3) { 28 | return true; 29 | } 30 | 31 | @Override 32 | public String toString(@Nullable Event arg0, boolean arg1) { 33 | return null; 34 | } 35 | 36 | @Override 37 | @Nullable 38 | protected String[] get(Event arg0) { 39 | MultiverseCore mv = null; 40 | mv = MultiverseCore.getPlugin(MultiverseCore.class).getCore(); 41 | 42 | return mv.getMVWorldManager().getUnloadedWorlds() 43 | .toArray(new String[mv.getMVWorldManager().getUnloadedWorlds().size()]); 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Towny/ExprTownyTownAtLocation.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Towny; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.Location; 6 | import org.bukkit.event.Event; 7 | 8 | import com.palmergames.bukkit.towny.object.TownyUniverse; 9 | 10 | import ch.njol.skript.lang.Expression; 11 | import ch.njol.skript.lang.SkriptParser; 12 | import ch.njol.skript.lang.util.SimpleExpression; 13 | import ch.njol.util.Kleenean; 14 | 15 | public class ExprTownyTownAtLocation extends SimpleExpression { 16 | 17 | private Expression loc; 18 | 19 | @Override 20 | public Class getReturnType() { 21 | return String.class; 22 | } 23 | 24 | @SuppressWarnings("unchecked") 25 | @Override 26 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 27 | SkriptParser.ParseResult Result) { 28 | loc = (Expression) expr[0]; 29 | return true; 30 | } 31 | 32 | @Override 33 | public String toString(@Nullable Event e, boolean paramBoolean) { 34 | return "[sharpsk] [towny] town at %location%"; 35 | } 36 | 37 | @Override 38 | @Nullable 39 | protected String[] get(Event e) { 40 | return new String[] { TownyUniverse.getTownName(loc.getSingle(e)) }; 41 | } 42 | 43 | @Override 44 | public boolean isSingle() { 45 | return true; 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/Conditions/CondTimerNotActive.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.Conditions; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.event.Event; 6 | 7 | import ch.njol.skript.lang.Condition; 8 | import ch.njol.skript.lang.Expression; 9 | import ch.njol.skript.lang.SkriptParser.ParseResult; 10 | import ch.njol.util.Kleenean; 11 | import me.sharpjaws.sharpSK.Threads.CTimerThread; 12 | 13 | public class CondTimerNotActive extends Condition { 14 | private Expression timer; 15 | 16 | @SuppressWarnings("unchecked") 17 | @Override 18 | public boolean init(Expression[] exprs, int matchedPattern, Kleenean isDelayed, ParseResult parseResult) { 19 | timer = (Expression) exprs[0]; 20 | return true; 21 | } 22 | 23 | @Override 24 | public String toString(@Nullable Event e, boolean debug) { 25 | return "timer %string% is not active"; 26 | } 27 | 28 | @Override 29 | public boolean check(Event e) { 30 | Boolean active = false; 31 | 32 | for (Thread t : Thread.getAllStackTraces().keySet()) { 33 | if (t instanceof CTimerThread) { 34 | if (t.getName().contains(timer.getSingle(e))) { 35 | active = t.isAlive(); 36 | 37 | } 38 | } 39 | } 40 | if (active = false) { 41 | return true; 42 | } else { 43 | return false; 44 | } 45 | } 46 | 47 | } 48 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Kingdoms/EffKingdomsKingdomAddMember.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Kingdoms; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.OfflinePlayer; 6 | import org.bukkit.event.Event; 7 | import org.kingdoms.manager.game.GameManagement; 8 | 9 | import ch.njol.skript.lang.Effect; 10 | import ch.njol.skript.lang.Expression; 11 | import ch.njol.skript.lang.SkriptParser; 12 | import ch.njol.util.Kleenean; 13 | 14 | public class EffKingdomsKingdomAddMember extends Effect { 15 | private Expression k; 16 | private Expression p; 17 | 18 | @SuppressWarnings("unchecked") 19 | @Override 20 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 21 | SkriptParser.ParseResult paramParseResult) { 22 | k = (Expression) expr[0]; 23 | p = (Expression) expr[1]; 24 | return true; 25 | } 26 | 27 | @Override 28 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 29 | return "[sharpsk] [kingdoms] add member %offlineplayer% to kingdom %string%"; 30 | } 31 | 32 | @Override 33 | protected void execute(Event e) { 34 | try { 35 | GameManagement.getKingdomManager().getOrLoadKingdom(k.getSingle(e)).addMember(p.getSingle(e).getUniqueId()); 36 | } catch (NullPointerException ex) { 37 | return; 38 | 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Kingdoms/EffKingdomsKingdomMakeEnemy.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Kingdoms; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.event.Event; 6 | import org.kingdoms.manager.game.GameManagement; 7 | 8 | import ch.njol.skript.lang.Effect; 9 | import ch.njol.skript.lang.Expression; 10 | import ch.njol.skript.lang.SkriptParser; 11 | import ch.njol.util.Kleenean; 12 | 13 | public class EffKingdomsKingdomMakeEnemy extends Effect { 14 | private Expression k; 15 | private Expression k2; 16 | 17 | @SuppressWarnings("unchecked") 18 | @Override 19 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 20 | SkriptParser.ParseResult paramParseResult) { 21 | k = (Expression) expr[0]; 22 | k2 = (Expression) expr[1]; 23 | return true; 24 | } 25 | 26 | @Override 27 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 28 | return "[sharpsk] [kingdoms] make kingdom %string% enemy of kingdom %string%"; 29 | } 30 | 31 | @Override 32 | protected void execute(Event e) { 33 | try { 34 | GameManagement.getKingdomManager().getOrLoadKingdom(k.getSingle(e)) 35 | .enemyKingdom(GameManagement.getKingdomManager().getOrLoadKingdom(k2.getSingle(e))); 36 | } catch (NullPointerException ex) { 37 | return; 38 | 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Kingdoms/EffKingdomsKingdomMakeAlly.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Kingdoms; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.event.Event; 6 | import org.kingdoms.manager.game.GameManagement; 7 | 8 | import ch.njol.skript.lang.Effect; 9 | import ch.njol.skript.lang.Expression; 10 | import ch.njol.skript.lang.SkriptParser; 11 | import ch.njol.util.Kleenean; 12 | 13 | public class EffKingdomsKingdomMakeAlly extends Effect { 14 | private Expression k; 15 | private Expression k2; 16 | 17 | @SuppressWarnings("unchecked") 18 | @Override 19 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 20 | SkriptParser.ParseResult paramParseResult) { 21 | k = (Expression) expr[0]; 22 | k2 = (Expression) expr[1]; 23 | return true; 24 | } 25 | 26 | @Override 27 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 28 | return "[sharpsk] [kingdoms] make kingdom %string% ally of kingdom %string%"; 29 | } 30 | 31 | @Override 32 | protected void execute(Event e) { 33 | try { 34 | GameManagement.getKingdomManager().getOrLoadKingdom(k.getSingle(e)) 35 | .addAlly(GameManagement.getKingdomManager().getOrLoadKingdom(k2.getSingle(e)).getKingdomName()); 36 | } catch (NullPointerException ex) { 37 | return; 38 | 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/Expressions/ExprEventTimeLeft.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.Expressions; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.event.Event; 6 | 7 | import ch.njol.skript.ScriptLoader; 8 | import ch.njol.skript.lang.Expression; 9 | import ch.njol.skript.lang.SkriptParser.ParseResult; 10 | import ch.njol.skript.lang.util.SimpleExpression; 11 | import ch.njol.util.Kleenean; 12 | import me.sharpjaws.sharpSK.Events.EvtTimerTick; 13 | 14 | public class ExprEventTimeLeft extends SimpleExpression { 15 | 16 | @Override 17 | public Class getReturnType() { 18 | return Number.class; 19 | } 20 | 21 | @Override 22 | public boolean isSingle() { 23 | return true; 24 | } 25 | 26 | @Override 27 | public boolean init(Expression[] e, int arg1, Kleenean arg2, ParseResult arg3) { 28 | if (!ScriptLoader.isCurrentEvent(EvtTimerTick.class)) { 29 | return false; 30 | } else { 31 | return true; 32 | } 33 | } 34 | 35 | @Override 36 | public String toString(@Nullable Event arg0, boolean arg1) { 37 | return "event-time[left]"; 38 | } 39 | 40 | @Override 41 | @Nullable 42 | protected Number[] get(Event e) { 43 | try { 44 | EvtTimerTick a = ((EvtTimerTick) e); 45 | return new Number[] { a.getTimeLeft() }; 46 | } catch (NullPointerException ex) { 47 | return new Number[] { 0 }; 48 | } 49 | } 50 | 51 | } 52 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Slimefun/EffSlimefunUnlockResearch.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Slimefun; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.entity.Player; 6 | import org.bukkit.event.Event; 7 | 8 | import ch.njol.skript.lang.Effect; 9 | import ch.njol.skript.lang.Expression; 10 | import ch.njol.skript.lang.SkriptParser.ParseResult; 11 | import ch.njol.util.Kleenean; 12 | import me.mrCookieSlime.Slimefun.Objects.Research; 13 | 14 | public class EffSlimefunUnlockResearch extends Effect { 15 | private Expression rs; 16 | private Expression pl; 17 | 18 | @SuppressWarnings("unchecked") 19 | @Override 20 | public boolean init(Expression[] expr, int matchedPattern, Kleenean isDelayed, ParseResult parseResult) { 21 | rs = (Expression) expr[0]; 22 | pl = (Expression) expr[1]; 23 | return true; 24 | } 25 | 26 | @Override 27 | public String toString(@Nullable Event e, boolean debug) { 28 | return "[sharpsk] [(slimefun|sf)] unlock research %string%"; 29 | } 30 | 31 | @Override 32 | protected void execute(Event e) { 33 | for (Research res : Research.list()) { 34 | if (res.getName().replaceAll(" ", "_").equalsIgnoreCase(rs.getSingle(e))) { 35 | if (!res.hasUnlocked(pl.getSingle(e))) { 36 | res.unlock(pl.getSingle(e), true); 37 | } 38 | break; 39 | } 40 | 41 | } 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/WorldEdit/WorldEditRegistry.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.WorldEdit; 2 | 3 | import org.bukkit.Bukkit; 4 | 5 | import ch.njol.skript.Skript; 6 | 7 | public class WorldEditRegistry { 8 | public static void registerWorldEdit() { 9 | 10 | if (Bukkit.getServer().getPluginManager().getPlugin("WorldEdit") != null) { 11 | // PirateSK merged features 12 | if (Bukkit.getPluginManager().getPlugin("PirateSK") != null) { 13 | Skript.registerEffect(EffPasteSchematic.class, new String[] { 14 | "sharpsk [worldedit] paste schematic %string% at %location% [exclude air %-boolean%] [rotate [by] %-number% [degrees]]" }); 15 | } else { 16 | Skript.registerEffect(EffPasteSchematic.class, new String[] { 17 | "[sharpsk] [worldedit] paste schematic %string% at %location% [exclude air %-boolean%] [rotate [by] %-number% [degrees]]" }); 18 | } 19 | // ------------------------- 20 | Skript.registerEffect(EffSaveClipToSchematic.class, 21 | new String[] { "[sharpsk] [worldedit] save clipboard of %player% (to|as) [schem[atic]] %string%" }); 22 | Skript.registerEffect(EffSaveSelectionToClipboard.class, new String[] { 23 | "[sharpsk] [worldedit] save [selection] p[oint][ ]1 %location% p[oint][ ]2 %location% [with origin %-location%] to clip[board] of [player] %player%" }); 24 | 25 | } 26 | 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/Conditions/CondPlayerIsStandingOn.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.Conditions; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.block.Block; 6 | import org.bukkit.block.BlockFace; 7 | import org.bukkit.entity.Entity; 8 | import org.bukkit.event.Event; 9 | 10 | import ch.njol.skript.lang.Condition; 11 | import ch.njol.skript.lang.Expression; 12 | import ch.njol.skript.lang.SkriptParser; 13 | import ch.njol.util.Kleenean; 14 | 15 | public class CondPlayerIsStandingOn extends Condition { 16 | private Expression entity; 17 | private Expression block; 18 | 19 | @SuppressWarnings("unchecked") 20 | @Override 21 | public boolean init(Expression[] expr, int matchedPattern, Kleenean arg2, SkriptParser.ParseResult arg3) { 22 | entity = (Expression) expr[0]; 23 | block = (Expression) expr[1]; 24 | return true; 25 | } 26 | 27 | @Override 28 | public String toString(@Nullable Event e, boolean debug) { 29 | return "%entity% is standing on %itemstack%"; 30 | } 31 | 32 | @Override 33 | public boolean check(Event e) { 34 | Block mb = entity.getSingle(e).getLocation().getBlock().getRelative(BlockFace.DOWN); 35 | Boolean check; 36 | if (mb == block.getSingle(e)) { 37 | check = true; 38 | } else { 39 | check = false; 40 | } 41 | 42 | return true; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/LightAPI/ExprEvtLightLevel.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.LightAPI; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.event.Event; 6 | 7 | import ch.njol.skript.ScriptLoader; 8 | import ch.njol.skript.lang.Expression; 9 | import ch.njol.skript.lang.SkriptParser.ParseResult; 10 | import ch.njol.skript.lang.util.SimpleExpression; 11 | import ch.njol.util.Kleenean; 12 | import ru.beykerykt.lightapi.events.SetLightEvent; 13 | 14 | public class ExprEvtLightLevel extends SimpleExpression { 15 | 16 | @Override 17 | public Class getReturnType() { 18 | return Number.class; 19 | } 20 | 21 | @Override 22 | public boolean isSingle() { 23 | return true; 24 | } 25 | 26 | @Override 27 | public String toString(@Nullable Event e, boolean paramBoolean) { 28 | return "event-lightlevel"; 29 | } 30 | 31 | @Override 32 | public boolean init(Expression[] expr, int matchedPattern, Kleenean arg2, ParseResult result) { 33 | if (!ScriptLoader.isCurrentEvent(SetLightEvent.class)) { 34 | return false; 35 | } 36 | return true; 37 | } 38 | 39 | @Override 40 | @Nullable 41 | protected Number[] get(Event e) { 42 | if (e.getEventName().equals("SetLightEvent")) { 43 | return new Number[] { ((SetLightEvent) e).getLightLevel() }; 44 | } 45 | 46 | return null; 47 | } 48 | 49 | } 50 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/JobsReborn/EffJoinAllJobs.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.JobsReborn; 2 | 3 | import java.util.List; 4 | 5 | import javax.annotation.Nullable; 6 | 7 | import org.bukkit.entity.Player; 8 | import org.bukkit.event.Event; 9 | 10 | import com.gamingmesh.jobs.Jobs; 11 | import com.gamingmesh.jobs.container.Job; 12 | import com.gamingmesh.jobs.container.JobsPlayer; 13 | 14 | import ch.njol.skript.lang.Effect; 15 | import ch.njol.skript.lang.Expression; 16 | import ch.njol.skript.lang.SkriptParser; 17 | import ch.njol.util.Kleenean; 18 | 19 | public class EffJoinAllJobs extends Effect { 20 | private Expression player; 21 | 22 | @SuppressWarnings("unchecked") 23 | @Override 24 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 25 | SkriptParser.ParseResult paramParseResult) { 26 | player = (Expression) expr[0]; 27 | return true; 28 | } 29 | 30 | @Override 31 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 32 | return "make %player% join all jobs"; 33 | } 34 | 35 | @Override 36 | protected void execute(Event e) { 37 | JobsPlayer p = Jobs.getPlayerManager().getJobsPlayer(player.getSingle(e)); 38 | List l = Jobs.getJobs(); 39 | for (int i = 0; i < l.size(); i++) { 40 | Jobs.getPlayerManager().joinJob(p, l.get(i)); 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Kingdoms/EffKingdomsKingdomCreate.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Kingdoms; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.entity.Player; 6 | import org.bukkit.event.Event; 7 | import org.kingdoms.manager.game.GameManagement; 8 | 9 | import ch.njol.skript.lang.Effect; 10 | import ch.njol.skript.lang.Expression; 11 | import ch.njol.skript.lang.SkriptParser; 12 | import ch.njol.util.Kleenean; 13 | 14 | public class EffKingdomsKingdomCreate extends Effect { 15 | private Expression k; 16 | private Expression p; 17 | 18 | @SuppressWarnings("unchecked") 19 | @Override 20 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 21 | SkriptParser.ParseResult paramParseResult) { 22 | k = (Expression) expr[0]; 23 | p = (Expression) expr[1]; 24 | return true; 25 | } 26 | 27 | @Override 28 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 29 | return "[sharpsk] [kingdoms] create kingdom %string% [with] king %player%"; 30 | } 31 | 32 | @Override 33 | protected void execute(Event e) { 34 | 35 | try { 36 | GameManagement.getKingdomManager().createNewKingdom(k.getSingle(e), 37 | GameManagement.getPlayerManager().getOfflineKingdomPlayer(p.getSingle(e)).getKingdomPlayer()); 38 | } catch (NullPointerException ex) { 39 | return; 40 | 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Slimefun/ExprSlimefunAllResearches.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Slimefun; 2 | 3 | import java.util.ArrayList; 4 | 5 | import javax.annotation.Nullable; 6 | 7 | import org.bukkit.event.Event; 8 | 9 | import ch.njol.skript.lang.Expression; 10 | import ch.njol.skript.lang.SkriptParser.ParseResult; 11 | import ch.njol.skript.lang.util.SimpleExpression; 12 | import ch.njol.util.Kleenean; 13 | import me.mrCookieSlime.Slimefun.Objects.Research; 14 | 15 | public class ExprSlimefunAllResearches extends SimpleExpression { 16 | 17 | @Override 18 | public boolean isSingle() { 19 | return false; 20 | } 21 | 22 | @Override 23 | public Class getReturnType() { 24 | return String.class; 25 | } 26 | 27 | @Override 28 | public boolean init(Expression[] exprs, int matchedPattern, Kleenean isDelayed, ParseResult parseResult) { 29 | return true; 30 | } 31 | 32 | @Override 33 | public String toString(@Nullable Event e, boolean debug) { 34 | return "[sharpsk] [(slimefun|sf)] all [(of|the)] researches"; 35 | } 36 | 37 | @Override 38 | @Nullable 39 | protected String[] get(Event e) { 40 | ArrayList researches = new ArrayList<>(); 41 | for (Research res : Research.list()) { 42 | researches.add(res.getName().replaceAll(" ", "_").toLowerCase()); 43 | } 44 | return researches.toArray(new String[researches.size()]); 45 | } 46 | 47 | } 48 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/PermissionsEx/EffAddPexPerm.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.PermissionsEx; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.OfflinePlayer; 6 | import org.bukkit.event.Event; 7 | 8 | import ch.njol.skript.lang.Effect; 9 | import ch.njol.skript.lang.Expression; 10 | import ch.njol.skript.lang.SkriptParser; 11 | import ch.njol.util.Kleenean; 12 | import ru.tehkode.permissions.PermissionUser; 13 | import ru.tehkode.permissions.bukkit.PermissionsEx; 14 | 15 | public class EffAddPexPerm extends Effect { 16 | private Expression s; 17 | private Expression p; 18 | 19 | @SuppressWarnings("unchecked") 20 | @Override 21 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 22 | SkriptParser.ParseResult paramParseResult) { 23 | s = (Expression) expr[0]; 24 | p = (Expression) expr[1]; 25 | return true; 26 | } 27 | 28 | @Override 29 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 30 | return "pex add perm[ission] %string% to %offlineplayers%"; 31 | } 32 | 33 | @Override 34 | protected void execute(Event e) { 35 | for (OfflinePlayer op : p.getAll(e)) { 36 | PermissionUser permuser = PermissionsEx.getPermissionManager().getUser(op.getUniqueId()); 37 | permuser.addPermission(s.getSingle(e)); 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/PermissionsEx/EffPexAddgroup.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.PermissionsEx; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.OfflinePlayer; 6 | import org.bukkit.event.Event; 7 | 8 | import ch.njol.skript.lang.Effect; 9 | import ch.njol.skript.lang.Expression; 10 | import ch.njol.skript.lang.SkriptParser; 11 | import ch.njol.util.Kleenean; 12 | import ru.tehkode.permissions.PermissionUser; 13 | import ru.tehkode.permissions.bukkit.PermissionsEx; 14 | 15 | public class EffPexAddgroup extends Effect { 16 | private Expression s; 17 | private Expression p; 18 | 19 | @SuppressWarnings("unchecked") 20 | @Override 21 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 22 | SkriptParser.ParseResult paramParseResult) { 23 | s = (Expression) expr[0]; 24 | p = (Expression) expr[1]; 25 | 26 | return true; 27 | } 28 | 29 | @Override 30 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 31 | return "pex add group %string% to %offlineplayers%"; 32 | } 33 | 34 | @Override 35 | protected void execute(Event e) { 36 | for (OfflinePlayer op : p.getAll(e)) { 37 | PermissionUser permuser = PermissionsEx.getPermissionManager().getUser(op.getUniqueId()); 38 | permuser.addGroup(s.getSingle(e)); 39 | } 40 | 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/mcMMO/EffmcMMOPartyMsg.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.mcMMO; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.Bukkit; 6 | import org.bukkit.event.Event; 7 | 8 | import com.gmail.nossr50.api.ChatAPI; 9 | 10 | import ch.njol.skript.lang.Effect; 11 | import ch.njol.skript.lang.Expression; 12 | import ch.njol.skript.lang.SkriptParser; 13 | import ch.njol.util.Kleenean; 14 | 15 | public class EffmcMMOPartyMsg extends Effect { 16 | private Expression s; 17 | private Expression s2; 18 | private Expression s3; 19 | 20 | @SuppressWarnings("unchecked") 21 | @Override 22 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 23 | SkriptParser.ParseResult paramParseResult) { 24 | s = (Expression) expr[0]; 25 | s2 = (Expression) expr[1]; 26 | s3 = (Expression) expr[2]; 27 | return true; 28 | } 29 | 30 | @Override 31 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 32 | return "[mcmmo] send %string% to party %string%"; 33 | } 34 | 35 | @Override 36 | protected void execute(Event e) { 37 | try { 38 | ChatAPI.sendPartyChat(Bukkit.getPluginManager().getPlugin("SharpSK"), s3.getSingle(e), s2.getSingle(e), 39 | s.getSingle(e)); 40 | } catch (NullPointerException ex) { 41 | return; 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/Effects/EffDisablePlugin.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.Effects; 2 | 3 | import org.bukkit.Bukkit; 4 | import org.bukkit.event.Event; 5 | import org.bukkit.plugin.Plugin; 6 | 7 | import ch.njol.skript.doc.Description; 8 | import ch.njol.skript.doc.Examples; 9 | import ch.njol.skript.doc.Name; 10 | import ch.njol.skript.doc.Since; 11 | import ch.njol.skript.lang.Effect; 12 | import ch.njol.skript.lang.Expression; 13 | import ch.njol.skript.lang.SkriptParser; 14 | import ch.njol.util.Kleenean; 15 | 16 | @Name("Disable Plugoin") 17 | @Description("Disables a plugin") 18 | @Examples({ "command /disable:", "trigger:", "\topen brewer inventory to the player", " ", }) 19 | @Since("1.6, 1.6.4") 20 | public class EffDisablePlugin extends Effect { 21 | private Expression plugin; 22 | 23 | public boolean init(Expression[] expresion, int i, Kleenean kleenean, SkriptParser.ParseResult parseResult) { 24 | this.plugin = expresion[0]; 25 | return true; 26 | } 27 | 28 | public String toString(Event e, boolean debug) { 29 | return "disable plugin"; 30 | } 31 | 32 | protected void execute(Event event) { 33 | String name = (String) this.plugin.getSingle(event); 34 | 35 | Plugin plugin = Bukkit.getPluginManager().getPlugin(name); 36 | 37 | if ((plugin != null) && (plugin.isEnabled())) { 38 | Bukkit.getPluginManager().disablePlugin(plugin); 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/JobsReborn/CondPlayerNotInJob.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.JobsReborn; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.Location; 6 | import org.bukkit.entity.Player; 7 | import org.bukkit.event.Event; 8 | 9 | import com.gamingmesh.jobs.Jobs; 10 | import com.gamingmesh.jobs.container.Job; 11 | 12 | import ch.njol.skript.lang.Condition; 13 | import ch.njol.skript.lang.Expression; 14 | import ch.njol.skript.lang.SkriptParser; 15 | import ch.njol.util.Kleenean; 16 | 17 | public class CondPlayerNotInJob extends Condition { 18 | private Expression p; 19 | private Expression j; 20 | 21 | @SuppressWarnings("unused") 22 | private Expression loc; 23 | 24 | @SuppressWarnings("unchecked") 25 | @Override 26 | public boolean init(Expression[] expr, int matchedPattern, Kleenean arg2, SkriptParser.ParseResult arg3) { 27 | p = (Expression) expr[0]; 28 | j = (Expression) expr[1]; 29 | return true; 30 | } 31 | 32 | @Override 33 | public String toString(@Nullable Event e, boolean debug) { 34 | return "%player% is not in job %job%"; 35 | } 36 | 37 | @Override 38 | public boolean check(Event e) { 39 | Boolean bool = Jobs.getPlayerManager().getJobsPlayer(p.getSingle(e)).isInJob(j.getSingle(e)); 40 | 41 | if (bool == true) { 42 | return false; 43 | } 44 | return true; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/MythicMobs/CondIsMythicMob.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.MythicMobs; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.Location; 6 | import org.bukkit.entity.Entity; 7 | import org.bukkit.event.Event; 8 | 9 | import ch.njol.skript.lang.Condition; 10 | import ch.njol.skript.lang.Expression; 11 | import ch.njol.skript.lang.SkriptParser; 12 | import ch.njol.util.Kleenean; 13 | import io.lumine.xikage.mythicmobs.MythicMobs; 14 | 15 | public class CondIsMythicMob extends Condition { 16 | private Expression mythicmob; 17 | @SuppressWarnings("unused") 18 | private Expression loc; 19 | 20 | @SuppressWarnings("unchecked") 21 | @Override 22 | public boolean init(Expression[] expr, int matchedPattern, Kleenean arg2, SkriptParser.ParseResult arg3) { 23 | mythicmob = (Expression) expr[0]; 24 | return true; 25 | } 26 | 27 | @Override 28 | public String toString(@Nullable Event e, boolean debug) { 29 | return "%entity% is a mythicmob"; 30 | } 31 | 32 | @Override 33 | public boolean check(Event e) { 34 | Boolean result = Boolean.valueOf(false); 35 | try { 36 | result = Boolean 37 | .valueOf(MythicMobs.inst().getAPIHelper().isMythicMob(mythicmob.getSingle(e).getUniqueId())); 38 | } catch (NullPointerException ex) { 39 | return result.booleanValue(); 40 | } 41 | return result.booleanValue(); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Slimefun/SlimefunRegistry.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Slimefun; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.entity.Player; 6 | 7 | import ch.njol.skript.Skript; 8 | import ch.njol.skript.lang.ExpressionType; 9 | import ch.njol.skript.lang.util.SimpleEvent; 10 | import ch.njol.skript.registrations.EventValues; 11 | import ch.njol.skript.util.Getter; 12 | import me.mrCookieSlime.Slimefun.Events.ResearchUnlockEvent; 13 | 14 | public class SlimefunRegistry { 15 | public static void registerSlimefun() { 16 | Skript.registerEvent("On slimefun research", SimpleEvent.class, ResearchUnlockEvent.class, 17 | "[(slimefun|sf)] research [unlock]"); 18 | EventValues.registerEventValue(ResearchUnlockEvent.class, Player.class, 19 | new Getter() { 20 | @Override 21 | @Nullable 22 | public Player get(ResearchUnlockEvent e) { 23 | Player p = e.getPlayer(); 24 | return p; 25 | } 26 | }, 0); 27 | Skript.registerExpression(ExprSlimefunEvtResearch.class, String.class, ExpressionType.SIMPLE, "event-research"); 28 | 29 | Skript.registerEffect(EffSlimefunUnlockResearch.class, 30 | "[sharpsk] [(slimefun|sf)] unlock research %string% for %player%"); 31 | Skript.registerExpression(ExprSlimefunAllResearches.class, String.class, ExpressionType.SIMPLE, 32 | "[sharpsk] [(slimefun|sf)] all [(of|the)] researches"); 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/JobsReborn/EffMakeJoinJob.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.JobsReborn; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.entity.Player; 6 | import org.bukkit.event.Event; 7 | 8 | import com.gamingmesh.jobs.Jobs; 9 | import com.gamingmesh.jobs.container.Job; 10 | import com.gamingmesh.jobs.container.JobsPlayer; 11 | 12 | import ch.njol.skript.lang.Effect; 13 | import ch.njol.skript.lang.Expression; 14 | import ch.njol.skript.lang.SkriptParser; 15 | import ch.njol.util.Kleenean; 16 | 17 | public class EffMakeJoinJob extends Effect { 18 | private Expression player; 19 | private Expression j; 20 | 21 | @SuppressWarnings("unchecked") 22 | @Override 23 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 24 | SkriptParser.ParseResult paramParseResult) { 25 | player = (Expression) expr[0]; 26 | j = (Expression) expr[1]; 27 | return true; 28 | } 29 | 30 | @Override 31 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 32 | return "make %player% join job %job%"; 33 | } 34 | 35 | @Override 36 | protected void execute(Event e) { 37 | JobsPlayer p = Jobs.getPlayerManager().getJobsPlayer(player.getSingle(e)); 38 | try { 39 | Jobs.getPlayerManager().joinJob(p, j.getSingle(e)); 40 | } catch (NullPointerException localNullPointerException) { 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/JobsReborn/EffMakeLeaveJob.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.JobsReborn; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.entity.Player; 6 | import org.bukkit.event.Event; 7 | 8 | import com.gamingmesh.jobs.Jobs; 9 | import com.gamingmesh.jobs.container.Job; 10 | import com.gamingmesh.jobs.container.JobsPlayer; 11 | 12 | import ch.njol.skript.lang.Effect; 13 | import ch.njol.skript.lang.Expression; 14 | import ch.njol.skript.lang.SkriptParser; 15 | import ch.njol.util.Kleenean; 16 | 17 | public class EffMakeLeaveJob extends Effect { 18 | private Expression player; 19 | private Expression j; 20 | 21 | @SuppressWarnings("unchecked") 22 | @Override 23 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 24 | SkriptParser.ParseResult paramParseResult) { 25 | player = (Expression) expr[0]; 26 | j = (Expression) expr[1]; 27 | return true; 28 | } 29 | 30 | @Override 31 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 32 | return "make %player% leave job %job%"; 33 | } 34 | 35 | @Override 36 | protected void execute(Event e) { 37 | JobsPlayer p = Jobs.getPlayerManager().getJobsPlayer(player.getSingle(e)); 38 | try { 39 | Jobs.getPlayerManager().leaveJob(p, j.getSingle(e)); 40 | } catch (NullPointerException localNullPointerException) { 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/PermissionsEx/EffPexRemoveGroupFromPlayer.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.PermissionsEx; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.OfflinePlayer; 6 | import org.bukkit.event.Event; 7 | 8 | import ch.njol.skript.lang.Effect; 9 | import ch.njol.skript.lang.Expression; 10 | import ch.njol.skript.lang.SkriptParser; 11 | import ch.njol.util.Kleenean; 12 | import ru.tehkode.permissions.PermissionUser; 13 | import ru.tehkode.permissions.bukkit.PermissionsEx; 14 | 15 | public class EffPexRemoveGroupFromPlayer extends Effect { 16 | private Expression s; 17 | private Expression p; 18 | 19 | @SuppressWarnings("unchecked") 20 | @Override 21 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 22 | SkriptParser.ParseResult paramParseResult) { 23 | s = (Expression) expr[0]; 24 | p = (Expression) expr[1]; 25 | 26 | return true; 27 | } 28 | 29 | @Override 30 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 31 | return "pex remove group %string% from %offlineplayers%"; 32 | } 33 | 34 | @Override 35 | protected void execute(Event e) { 36 | for (OfflinePlayer op : p.getAll(e)) { 37 | PermissionUser permuser = PermissionsEx.getPermissionManager().getUser(op.getUniqueId()); 38 | permuser.removeGroup(s.getSingle(e)); 39 | } 40 | 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/MythicMobs/old/CondIsMythicMobOld.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.MythicMobs.old; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.Location; 6 | import org.bukkit.entity.Entity; 7 | import org.bukkit.event.Event; 8 | 9 | import ch.njol.skript.lang.Condition; 10 | import ch.njol.skript.lang.Expression; 11 | import ch.njol.skript.lang.SkriptParser; 12 | import ch.njol.util.Kleenean; 13 | import net.elseland.xikage.MythicMobs.MythicMobs; 14 | 15 | public class CondIsMythicMobOld extends Condition { 16 | private Expression mythicmob; 17 | @SuppressWarnings("unused") 18 | private Expression loc; 19 | 20 | @SuppressWarnings("unchecked") 21 | @Override 22 | public boolean init(Expression[] expr, int matchedPattern, Kleenean arg2, SkriptParser.ParseResult arg3) { 23 | mythicmob = (Expression) expr[0]; 24 | return true; 25 | } 26 | 27 | @Override 28 | public String toString(@Nullable Event e, boolean debug) { 29 | return "%entity% is a mythicmob"; 30 | } 31 | 32 | @Override 33 | public boolean check(Event e) { 34 | Boolean result = Boolean.valueOf(false); 35 | try { 36 | result = Boolean 37 | .valueOf(MythicMobs.inst().getAPI().getMobAPI().isMythicMob(mythicmob.getSingle(e).getUniqueId())); 38 | } catch (NullPointerException ex) { 39 | return result.booleanValue(); 40 | } 41 | return result.booleanValue(); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Towny/ExprTownyAllTowns.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Towny; 2 | 3 | import java.util.ArrayList; 4 | 5 | import javax.annotation.Nullable; 6 | 7 | import org.bukkit.event.Event; 8 | 9 | import com.palmergames.bukkit.towny.object.Town; 10 | import com.palmergames.bukkit.towny.object.TownyUniverse; 11 | 12 | import ch.njol.skript.lang.Expression; 13 | import ch.njol.skript.lang.SkriptParser; 14 | import ch.njol.skript.lang.util.SimpleExpression; 15 | import ch.njol.util.Kleenean; 16 | 17 | public class ExprTownyAllTowns extends SimpleExpression { 18 | 19 | @Override 20 | public Class getReturnType() { 21 | return String.class; 22 | } 23 | 24 | @SuppressWarnings("unchecked") 25 | @Override 26 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 27 | SkriptParser.ParseResult Result) { 28 | return true; 29 | } 30 | 31 | @Override 32 | public String toString(@Nullable Event e, boolean paramBoolean) { 33 | return "[towny] (all|the) towns"; 34 | } 35 | 36 | @Override 37 | @Nullable 38 | protected String[] get(Event e) { 39 | 40 | ArrayList narr = new ArrayList(); 41 | for (Town a1 : TownyUniverse.getDataSource().getTowns()) { 42 | 43 | narr.add(a1.getName()); 44 | } 45 | 46 | return narr.toArray(new String[narr.size()]); 47 | 48 | } 49 | 50 | @Override 51 | public boolean isSingle() { 52 | return false; 53 | } 54 | 55 | } 56 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/PermissionsEx/EffRemovePexPerm.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.PermissionsEx; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.OfflinePlayer; 6 | import org.bukkit.event.Event; 7 | 8 | import ch.njol.skript.lang.Effect; 9 | import ch.njol.skript.lang.Expression; 10 | import ch.njol.skript.lang.SkriptParser; 11 | import ch.njol.util.Kleenean; 12 | import ru.tehkode.permissions.PermissionUser; 13 | import ru.tehkode.permissions.bukkit.PermissionsEx; 14 | 15 | public class EffRemovePexPerm extends Effect { 16 | private Expression s; 17 | private Expression offplayers; 18 | 19 | @SuppressWarnings("unchecked") 20 | @Override 21 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 22 | SkriptParser.ParseResult paramParseResult) { 23 | s = (Expression) expr[0]; 24 | offplayers = (Expression) expr[1]; 25 | 26 | return true; 27 | } 28 | 29 | @Override 30 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 31 | return "pex (remove|delete) perm[ission] %string% from %offlineplayers%"; 32 | } 33 | 34 | @Override 35 | protected void execute(Event e) { 36 | for (OfflinePlayer op : offplayers.getAll(e)) { 37 | PermissionUser permuser = PermissionsEx.getPermissionManager().getUser(op.getUniqueId()); 38 | permuser.removePermission(s.getSingle(e)); 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Towny/ExprTownyAllNations.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Towny; 2 | 3 | import java.util.ArrayList; 4 | 5 | import javax.annotation.Nullable; 6 | 7 | import org.bukkit.event.Event; 8 | 9 | import com.palmergames.bukkit.towny.object.Nation; 10 | import com.palmergames.bukkit.towny.object.TownyUniverse; 11 | 12 | import ch.njol.skript.lang.Expression; 13 | import ch.njol.skript.lang.SkriptParser; 14 | import ch.njol.skript.lang.util.SimpleExpression; 15 | import ch.njol.util.Kleenean; 16 | 17 | public class ExprTownyAllNations extends SimpleExpression { 18 | 19 | @Override 20 | public Class getReturnType() { 21 | return String.class; 22 | } 23 | 24 | @SuppressWarnings("unchecked") 25 | @Override 26 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 27 | SkriptParser.ParseResult Result) { 28 | return true; 29 | } 30 | 31 | @Override 32 | public String toString(@Nullable Event e, boolean paramBoolean) { 33 | return "[towny] (all|the) nations"; 34 | } 35 | 36 | @Override 37 | @Nullable 38 | protected String[] get(Event e) { 39 | 40 | ArrayList narr = new ArrayList(); 41 | for (Nation a1 : TownyUniverse.getDataSource().getNations()) { 42 | 43 | narr.add(a1.getName()); 44 | } 45 | 46 | return narr.toArray(new String[narr.size()]); 47 | 48 | } 49 | 50 | @Override 51 | public boolean isSingle() { 52 | return false; 53 | } 54 | 55 | } 56 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/Conditions/CondNotPlayerStandingOn.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.Conditions; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.block.Block; 6 | import org.bukkit.block.BlockFace; 7 | import org.bukkit.entity.Entity; 8 | import org.bukkit.event.Event; 9 | import org.bukkit.inventory.ItemStack; 10 | 11 | import ch.njol.skript.lang.Condition; 12 | import ch.njol.skript.lang.Expression; 13 | import ch.njol.skript.lang.SkriptParser; 14 | import ch.njol.util.Kleenean; 15 | 16 | public class CondNotPlayerStandingOn extends Condition { 17 | private Expression entity; 18 | private Expression block; 19 | 20 | @SuppressWarnings("unchecked") 21 | @Override 22 | public boolean init(Expression[] expr, int matchedPattern, Kleenean arg2, SkriptParser.ParseResult arg3) { 23 | entity = (Expression) expr[0]; 24 | block = (Expression) expr[1]; 25 | return true; 26 | } 27 | 28 | @Override 29 | public String toString(@Nullable Event e, boolean debug) { 30 | return "%entity% is not standing on %itemstack%"; 31 | } 32 | 33 | @Override 34 | public boolean check(Event e) { 35 | Block mb = entity.getSingle(e).getLocation().getBlock().getRelative(BlockFace.DOWN); 36 | ItemStack block2 = block.getSingle(e); 37 | 38 | if ((block.getSingle(e).getType().isBlock()) && (mb.getType() == block2.getType())) { 39 | return true; 40 | } 41 | return false; 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Slimefun/ExprSlimefunEvtResearch.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Slimefun; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.event.Event; 6 | 7 | import ch.njol.skript.ScriptLoader; 8 | import ch.njol.skript.lang.Expression; 9 | import ch.njol.skript.lang.SkriptParser.ParseResult; 10 | import ch.njol.skript.lang.util.SimpleExpression; 11 | import ch.njol.util.Kleenean; 12 | import me.mrCookieSlime.Slimefun.Events.ResearchUnlockEvent; 13 | 14 | public class ExprSlimefunEvtResearch extends SimpleExpression { 15 | 16 | @Override 17 | public Class getReturnType() { 18 | return String.class; 19 | } 20 | 21 | @Override 22 | public boolean isSingle() { 23 | return true; 24 | } 25 | 26 | @Override 27 | public String toString(@Nullable Event e, boolean paramBoolean) { 28 | return "event-research"; 29 | } 30 | 31 | @Override 32 | public boolean init(Expression[] expr, int matchedPattern, Kleenean arg2, ParseResult result) { 33 | if (!ScriptLoader.isCurrentEvent(ResearchUnlockEvent.class)) { 34 | return false; 35 | } 36 | return true; 37 | } 38 | 39 | @Override 40 | @Nullable 41 | protected String[] get(Event e) { 42 | if (e.getEventName().equals("ResearchUnlockEvent")) { 43 | return new String[] { 44 | ((ResearchUnlockEvent) e).getResearch().getName().replaceAll(" ", "_").toLowerCase() }; 45 | } else { 46 | return null; 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/Expressions/ExprAllTimers.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.Expressions; 2 | 3 | import java.util.ArrayList; 4 | 5 | import javax.annotation.Nullable; 6 | 7 | import org.bukkit.event.Event; 8 | 9 | import ch.njol.skript.lang.Expression; 10 | import ch.njol.skript.lang.SkriptParser.ParseResult; 11 | import ch.njol.skript.lang.util.SimpleExpression; 12 | import ch.njol.util.Kleenean; 13 | import me.sharpjaws.sharpSK.Threads.CTickTimerThread; 14 | import me.sharpjaws.sharpSK.Threads.CTimerThread; 15 | 16 | public class ExprAllTimers extends SimpleExpression { 17 | 18 | @Override 19 | public boolean isSingle() { 20 | return false; 21 | } 22 | 23 | @Override 24 | public Class getReturnType() { 25 | return String.class; 26 | } 27 | 28 | @Override 29 | public boolean init(Expression[] exprs, int matchedPattern, Kleenean isDelayed, ParseResult parseResult) { 30 | return true; 31 | } 32 | 33 | @Override 34 | public String toString(@Nullable Event e, boolean debug) { 35 | return ""; 36 | } 37 | 38 | @Override 39 | @Nullable 40 | protected String[] get(Event e) { 41 | 42 | ArrayList timers = new ArrayList<>(); 43 | 44 | for (Thread t : Thread.getAllStackTraces().keySet()) { 45 | if (t instanceof CTimerThread || t instanceof CTickTimerThread) { 46 | timers.add(t.getName()); 47 | 48 | } 49 | } 50 | return timers.toArray(new String[timers.size()]); 51 | } 52 | 53 | } 54 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/MythicMobs/old/EffSpawnMMOld.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.MythicMobs.old; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.Location; 6 | import org.bukkit.event.Event; 7 | 8 | import ch.njol.skript.lang.Effect; 9 | import ch.njol.skript.lang.Expression; 10 | import ch.njol.skript.lang.SkriptParser.ParseResult; 11 | import ch.njol.util.Kleenean; 12 | import net.elseland.xikage.MythicMobs.MythicMobs; 13 | import net.elseland.xikage.MythicMobs.API.Exceptions.InvalidMobTypeException; 14 | 15 | public class EffSpawnMMOld extends Effect { 16 | 17 | private Expression mn; 18 | private Expression loc; 19 | private Expression level; 20 | 21 | @SuppressWarnings("unchecked") 22 | @Override 23 | public boolean init(Expression[] expr, int arg1, Kleenean arg2, ParseResult arg3) { 24 | mn = (Expression) expr[0]; 25 | loc = (Expression) expr[1]; 26 | level = (Expression) expr[2]; 27 | return true; 28 | } 29 | 30 | @Override 31 | public String toString(@Nullable Event arg0, boolean arg1) { 32 | return "spawn [a] mythicmob %string% at %location% with level %integer%"; 33 | } 34 | 35 | @Override 36 | protected void execute(Event e) { 37 | try { 38 | MythicMobs.inst().getAPI().getMobAPI().spawnMythicMob(mn.getSingle(e), loc.getSingle(e), 39 | level.getSingle(e)); 40 | } catch (InvalidMobTypeException e1) { 41 | 42 | } 43 | } 44 | 45 | } 46 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/Expressions/ExprEventAnvilCost.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.Expressions; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.event.Event; 6 | import org.bukkit.event.inventory.PrepareAnvilEvent; 7 | import org.bukkit.inventory.AnvilInventory; 8 | 9 | import ch.njol.skript.ScriptLoader; 10 | import ch.njol.skript.lang.Expression; 11 | import ch.njol.skript.lang.SkriptParser.ParseResult; 12 | import ch.njol.skript.lang.util.SimpleExpression; 13 | import ch.njol.util.Kleenean; 14 | 15 | public class ExprEventAnvilCost extends SimpleExpression { 16 | 17 | @Override 18 | public Class getReturnType() { 19 | return Number.class; 20 | } 21 | 22 | @Override 23 | public boolean isSingle() { 24 | return true; 25 | } 26 | 27 | @Override 28 | public boolean init(Expression[] e, int arg1, Kleenean arg2, ParseResult arg3) { 29 | if (!ScriptLoader.isCurrentEvent(PrepareAnvilEvent.class)) { 30 | return false; 31 | } else { 32 | return true; 33 | } 34 | } 35 | 36 | @Override 37 | public String toString(@Nullable Event arg0, boolean arg1) { 38 | return "anvil-cost"; 39 | } 40 | 41 | @Override 42 | @Nullable 43 | protected Number[] get(Event e) { 44 | try { 45 | AnvilInventory a = ((PrepareAnvilEvent) e).getInventory(); 46 | return new Number[] { a.getRepairCost() }; 47 | } catch (NullPointerException ex) { 48 | return new Number[] { 0 }; 49 | } 50 | } 51 | 52 | } 53 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Towny/EffTownyDeleteTown.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Towny; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.Bukkit; 6 | import org.bukkit.event.Event; 7 | 8 | import com.palmergames.bukkit.towny.exceptions.NotRegisteredException; 9 | import com.palmergames.bukkit.towny.object.TownyUniverse; 10 | 11 | import ch.njol.skript.lang.Effect; 12 | import ch.njol.skript.lang.Expression; 13 | import ch.njol.skript.lang.SkriptParser; 14 | import ch.njol.util.Kleenean; 15 | import me.sharpjaws.sharpSK.main;; 16 | 17 | public class EffTownyDeleteTown extends Effect { 18 | private Expression s; 19 | 20 | @SuppressWarnings("unchecked") 21 | @Override 22 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 23 | SkriptParser.ParseResult paramParseResult) { 24 | s = (Expression) expr[0]; 25 | 26 | return true; 27 | } 28 | 29 | @Override 30 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 31 | return "[towny] delete town %string%"; 32 | } 33 | 34 | @Override 35 | protected void execute(Event e) { 36 | main core = (main) Bukkit.getPluginManager().getPlugin("SharpSK"); 37 | 38 | try { 39 | TownyUniverse.getDataSource().removeTown(TownyUniverse.getDataSource().getTown(s.getSingle(e))); 40 | } catch (NotRegisteredException e1) { 41 | core.getLogger().warning("Could not delete town: " + "\"" + s.getSingle(e) + "\"" + " Town does not exist"); 42 | return; 43 | } 44 | 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/mcMMO/CondmcMMOAbilityEnabled.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.mcMMO; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.OfflinePlayer; 6 | import org.bukkit.event.Event; 7 | 8 | import com.gmail.nossr50.datatypes.skills.AbilityType; 9 | import com.gmail.nossr50.util.player.UserManager; 10 | 11 | import ch.njol.skript.lang.Condition; 12 | import ch.njol.skript.lang.Expression; 13 | import ch.njol.skript.lang.SkriptParser; 14 | import ch.njol.util.Kleenean; 15 | 16 | public class CondmcMMOAbilityEnabled extends Condition { 17 | private Expression p; 18 | private Expression ability; 19 | 20 | @SuppressWarnings("unchecked") 21 | @Override 22 | public boolean init(Expression[] expr, int matchedPattern, Kleenean arg2, SkriptParser.ParseResult arg3) { 23 | p = (Expression) expr[0]; 24 | ability = (Expression) expr[1]; 25 | return true; 26 | } 27 | 28 | @Override 29 | public String toString(@Nullable Event e, boolean debug) { 30 | return "%abilitytype% is enabled"; 31 | } 32 | 33 | @Override 34 | public boolean check(Event e) { 35 | if (p == null) { 36 | return false; 37 | } 38 | ; 39 | if (p.getSingle(e).isOnline()) { 40 | return UserManager.getPlayer(p.getSingle(e).getPlayer()).getAbilityMode(ability.getSingle(e)); 41 | } else { 42 | return UserManager.getOfflinePlayer(p.getSingle(e)).getAbilityMode(ability.getSingle(e)); 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/LuckPerms/EffLuckPermsDeleteGroup.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.LuckPerms; 2 | 3 | import java.util.Optional; 4 | 5 | import javax.annotation.Nullable; 6 | 7 | import org.bukkit.event.Event; 8 | 9 | import ch.njol.skript.lang.Effect; 10 | import ch.njol.skript.lang.Expression; 11 | import ch.njol.skript.lang.SkriptParser.ParseResult; 12 | import ch.njol.util.Kleenean; 13 | import me.lucko.luckperms.LuckPerms; 14 | import me.lucko.luckperms.api.Group; 15 | import me.lucko.luckperms.api.LuckPermsApi; 16 | 17 | public class EffLuckPermsDeleteGroup extends Effect { 18 | private Expression group; 19 | 20 | @SuppressWarnings("unchecked") 21 | @Override 22 | public boolean init(Expression[] expr, int arg1, Kleenean arg2, ParseResult arg3) { 23 | group = (Expression) expr[0]; 24 | return true; 25 | } 26 | 27 | @Override 28 | public String toString(@Nullable Event e, boolean arg1) { 29 | return "[sharpsk] luckperms delete group %string%"; 30 | } 31 | 32 | @Override 33 | protected void execute(Event e) { 34 | Optional api = LuckPerms.getApiSafe(); 35 | for (Group g : api.get().getGroups()) { 36 | if (g.getName().equals(group.getSingle(e))) { 37 | api.get().getStorage().deleteGroup(g).thenAcceptAsync(wasSuccessful -> { 38 | if (!wasSuccessful) { 39 | return; 40 | } 41 | 42 | api.get().getStorage().loadAllGroups(); 43 | 44 | }, api.get().getStorage().getAsyncExecutor()); 45 | break; 46 | } 47 | } 48 | } 49 | 50 | } 51 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/MythicMobs/CondNotMythicMob.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.MythicMobs; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.Location; 6 | import org.bukkit.entity.Entity; 7 | import org.bukkit.event.Event; 8 | 9 | import ch.njol.skript.lang.Condition; 10 | import ch.njol.skript.lang.Expression; 11 | import ch.njol.skript.lang.SkriptParser; 12 | import ch.njol.util.Kleenean; 13 | import io.lumine.xikage.mythicmobs.MythicMobs; 14 | 15 | public class CondNotMythicMob extends Condition { 16 | private Expression mythicmob; 17 | @SuppressWarnings("unused") 18 | private Expression loc; 19 | 20 | @SuppressWarnings("unchecked") 21 | @Override 22 | public boolean init(Expression[] expr, int matchedPattern, Kleenean arg2, SkriptParser.ParseResult arg3) { 23 | mythicmob = (Expression) expr[0]; 24 | return true; 25 | } 26 | 27 | @Override 28 | public String toString(@Nullable Event e, boolean debug) { 29 | return "%entity% is a mythicmob"; 30 | } 31 | 32 | @Override 33 | public boolean check(Event e) { 34 | Boolean result = Boolean.valueOf(false); 35 | Boolean result2 = false; 36 | try { 37 | result = Boolean 38 | .valueOf(MythicMobs.inst().getAPIHelper().isMythicMob(mythicmob.getSingle(e).getUniqueId())); 39 | if (result.equals(false)) { 40 | result2 = true; 41 | } 42 | } catch (NullPointerException ex) { 43 | 44 | return false; 45 | } 46 | return result2; 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/mcMMO/ExprmcMMOAllParties.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.mcMMO; 2 | 3 | import java.util.ArrayList; 4 | 5 | import javax.annotation.Nullable; 6 | 7 | import org.bukkit.event.Event; 8 | 9 | import com.gmail.nossr50.api.PartyAPI; 10 | import com.gmail.nossr50.datatypes.party.Party; 11 | 12 | import ch.njol.skript.lang.Expression; 13 | import ch.njol.skript.lang.SkriptParser; 14 | import ch.njol.skript.lang.util.SimpleExpression; 15 | import ch.njol.util.Kleenean; 16 | 17 | public class ExprmcMMOAllParties extends SimpleExpression { 18 | 19 | @Override 20 | public boolean isSingle() { 21 | return false; 22 | } 23 | 24 | @Override 25 | public Class getReturnType() { 26 | return String.class; 27 | } 28 | 29 | @SuppressWarnings("unchecked") 30 | @Override 31 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 32 | SkriptParser.ParseResult paramParseResult) { 33 | return true; 34 | } 35 | 36 | @Override 37 | public String toString(@Nullable Event e, boolean paramBoolean) { 38 | return "[mcmmo] [(the|all)] [of] [the] party['s]"; 39 | } 40 | 41 | @Override 42 | @Nullable 43 | protected String[] get(Event e) { 44 | ArrayList parties = new ArrayList<>(); 45 | for (Party p : PartyAPI.getParties()) { 46 | if (p != null) { 47 | parties.add(p.getName()); 48 | } 49 | } 50 | return parties.toArray(new String[parties.size()]); 51 | } 52 | 53 | } 54 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Kingdoms/ExprKingdomsKingdomOfPlayer.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Kingdoms; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.OfflinePlayer; 6 | import org.bukkit.event.Event; 7 | import org.kingdoms.manager.game.GameManagement; 8 | 9 | import ch.njol.skript.lang.Expression; 10 | import ch.njol.skript.lang.SkriptParser.ParseResult; 11 | import ch.njol.skript.lang.util.SimpleExpression; 12 | import ch.njol.util.Kleenean; 13 | 14 | public class ExprKingdomsKingdomOfPlayer extends SimpleExpression { 15 | private Expression p; 16 | 17 | @Override 18 | public Class getReturnType() { 19 | return String.class; 20 | } 21 | 22 | @Override 23 | public boolean isSingle() { 24 | return true; 25 | } 26 | 27 | @SuppressWarnings("unchecked") 28 | @Override 29 | public boolean init(Expression[] expr, int arg1, Kleenean arg2, ParseResult arg3) { 30 | p = (Expression) expr[0]; 31 | return true; 32 | } 33 | 34 | @Override 35 | public String toString(@Nullable Event arg0, boolean arg1) { 36 | return "[sharpsk] [kingdoms] [kingdom] of %offlineplayer%"; 37 | } 38 | 39 | @Override 40 | @Nullable 41 | protected String[] get(Event e) { 42 | String kingdom = null; 43 | try { 44 | kingdom = GameManagement.getPlayerManager().getOfflineKingdomPlayer(p.getSingle(e)).getKingdomName(); 45 | } catch (NullPointerException ex) { 46 | return null; 47 | } 48 | 49 | return new String[] { kingdom }; 50 | } 51 | 52 | } 53 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/AuthmeReloaded/ExprHashedPasswordOf.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.AuthmeReloaded; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.entity.Player; 6 | import org.bukkit.event.Event; 7 | 8 | import ch.njol.skript.lang.Expression; 9 | import ch.njol.skript.lang.SkriptParser; 10 | import ch.njol.skript.lang.util.SimpleExpression; 11 | import ch.njol.util.Kleenean; 12 | import fr.xephi.authme.datasource.DataSource; 13 | 14 | public class ExprHashedPasswordOf extends SimpleExpression { 15 | private Expression a; 16 | private DataSource dataSource; 17 | 18 | @Override 19 | public Class getReturnType() { 20 | return String.class; 21 | } 22 | 23 | @Override 24 | public boolean isSingle() { 25 | return true; 26 | } 27 | 28 | @SuppressWarnings("unchecked") 29 | @Override 30 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 31 | SkriptParser.ParseResult paramParseResult) { 32 | a = (Expression) expr[0]; 33 | return true; 34 | } 35 | 36 | @Override 37 | public String toString(@Nullable Event arg0, boolean arg1) { 38 | return "[authme] hashed password of %player%"; 39 | } 40 | 41 | @Override 42 | @Nullable 43 | protected String[] get(Event e) { 44 | String pass = fr.xephi.authme.data.auth.PlayerCache.getInstance().getAuth(a.getSingle(e).getName()) 45 | .getPassword().getHash(); 46 | return new String[] { pass }; 47 | 48 | } 49 | 50 | } 51 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/LuckPerms/ExprLuckPermsAllGroups.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.LuckPerms; 2 | 3 | import java.util.ArrayList; 4 | import java.util.Optional; 5 | 6 | import javax.annotation.Nullable; 7 | 8 | import org.bukkit.event.Event; 9 | 10 | import ch.njol.skript.lang.Expression; 11 | import ch.njol.skript.lang.SkriptParser.ParseResult; 12 | import ch.njol.skript.lang.util.SimpleExpression; 13 | import ch.njol.util.Kleenean; 14 | import me.lucko.luckperms.LuckPerms; 15 | import me.lucko.luckperms.api.Group; 16 | import me.lucko.luckperms.api.LuckPermsApi; 17 | 18 | public class ExprLuckPermsAllGroups extends SimpleExpression { 19 | 20 | @Override 21 | public boolean isSingle() { 22 | return false; 23 | } 24 | 25 | @Override 26 | public Class getReturnType() { 27 | return String.class; 28 | } 29 | 30 | @SuppressWarnings("unchecked") 31 | @Override 32 | public boolean init(Expression[] expr, int matchedPattern, Kleenean isDelayed, ParseResult result) { 33 | return true; 34 | } 35 | 36 | @Override 37 | public String toString(@Nullable Event e, boolean debug) { 38 | return "[sharpsk] (luckperms|lp) [all] groups"; 39 | } 40 | 41 | @Override 42 | @Nullable 43 | protected String[] get(Event e) { 44 | Optional api = LuckPerms.getApiSafe(); 45 | ArrayList groups = new ArrayList<>(); 46 | 47 | for (Group g : api.get().getGroups()) { 48 | groups.add(g.getName()); 49 | } 50 | return groups.toArray(new String[groups.size()]); 51 | 52 | } 53 | 54 | } 55 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Kingdoms/ExprKingdomsAllKingdoms.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Kingdoms; 2 | 3 | import java.util.ArrayList; 4 | 5 | import javax.annotation.Nullable; 6 | 7 | import org.bukkit.event.Event; 8 | import org.kingdoms.constants.kingdom.OfflineKingdom; 9 | import org.kingdoms.manager.game.GameManagement; 10 | 11 | import ch.njol.skript.lang.Expression; 12 | import ch.njol.skript.lang.SkriptParser; 13 | import ch.njol.skript.lang.util.SimpleExpression; 14 | import ch.njol.util.Kleenean; 15 | 16 | public class ExprKingdomsAllKingdoms extends SimpleExpression { 17 | private GameManagement kman; 18 | 19 | @Override 20 | public Class getReturnType() { 21 | return String.class; 22 | } 23 | 24 | @SuppressWarnings("unchecked") 25 | @Override 26 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 27 | SkriptParser.ParseResult Result) { 28 | return true; 29 | } 30 | 31 | @Override 32 | public String toString(@Nullable Event e, boolean paramBoolean) { 33 | return "groups of %player%/%offlineplayer%"; 34 | } 35 | 36 | @Override 37 | @Nullable 38 | protected String[] get(Event e) { 39 | 40 | ArrayList narr = new ArrayList(); 41 | for (OfflineKingdom k : GameManagement.getKingdomManager().getKingdomList().values()) { 42 | 43 | narr.add(k.getKingdomName()); 44 | } 45 | 46 | return narr.toArray(new String[narr.size()]); 47 | 48 | } 49 | 50 | @Override 51 | public boolean isSingle() { 52 | return false; 53 | } 54 | 55 | } 56 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/MythicMobs/old/CondNotMythicMobOld.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.MythicMobs.old; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.Location; 6 | import org.bukkit.entity.Entity; 7 | import org.bukkit.event.Event; 8 | 9 | import ch.njol.skript.lang.Condition; 10 | import ch.njol.skript.lang.Expression; 11 | import ch.njol.skript.lang.SkriptParser; 12 | import ch.njol.util.Kleenean; 13 | import net.elseland.xikage.MythicMobs.MythicMobs; 14 | 15 | public class CondNotMythicMobOld extends Condition { 16 | private Expression mythicmob; 17 | @SuppressWarnings("unused") 18 | private Expression loc; 19 | 20 | @SuppressWarnings("unchecked") 21 | @Override 22 | public boolean init(Expression[] expr, int matchedPattern, Kleenean arg2, SkriptParser.ParseResult arg3) { 23 | mythicmob = (Expression) expr[0]; 24 | return true; 25 | } 26 | 27 | @Override 28 | public String toString(@Nullable Event e, boolean debug) { 29 | return "%entity% is a mythicmob"; 30 | } 31 | 32 | @Override 33 | public boolean check(Event e) { 34 | Boolean result = Boolean.valueOf(false); 35 | Boolean result2 = false; 36 | try { 37 | result = Boolean 38 | .valueOf(MythicMobs.inst().getAPI().getMobAPI().isMythicMob(mythicmob.getSingle(e).getUniqueId())); 39 | if (result.equals(false)) { 40 | result2 = true; 41 | } 42 | } catch (NullPointerException ex) { 43 | 44 | return false; 45 | } 46 | return result2; 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/Effects/EffHopperInv.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.Effects; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.Bukkit; 6 | import org.bukkit.entity.Player; 7 | import org.bukkit.event.Event; 8 | import org.bukkit.event.inventory.InventoryType; 9 | import org.bukkit.inventory.Inventory; 10 | 11 | import ch.njol.skript.lang.Effect; 12 | import ch.njol.skript.lang.Expression; 13 | import ch.njol.skript.lang.SkriptParser; 14 | import ch.njol.util.Kleenean; 15 | 16 | public class EffHopperInv extends Effect { 17 | private Expression p; 18 | private Expression s; 19 | 20 | @SuppressWarnings("unchecked") 21 | @Override 22 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 23 | SkriptParser.ParseResult paramParseResult) { 24 | p = (Expression) expr[0]; 25 | s = (Expression) expr[1]; 26 | return true; 27 | } 28 | 29 | @Override 30 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 31 | return "open hopper inventory"; 32 | } 33 | 34 | @Override 35 | protected void execute(Event e) { 36 | try { 37 | String invname = s.getSingle(e); 38 | Inventory brewing = Bukkit.createInventory(null, InventoryType.HOPPER, invname); 39 | p.getSingle(e).openInventory(brewing); 40 | } catch (NullPointerException ex) { 41 | Inventory brewing2 = Bukkit.createInventory(null, InventoryType.HOPPER, "Item Hopper"); 42 | p.getSingle(e).openInventory(brewing2); 43 | } 44 | 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Kingdoms/ExprKingdomsAlliesOfKingdom.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Kingdoms; 2 | 3 | import java.util.ArrayList; 4 | 5 | import javax.annotation.Nullable; 6 | 7 | import org.bukkit.event.Event; 8 | import org.kingdoms.manager.game.GameManagement; 9 | 10 | import ch.njol.skript.lang.Expression; 11 | import ch.njol.skript.lang.SkriptParser; 12 | import ch.njol.skript.lang.util.SimpleExpression; 13 | import ch.njol.util.Kleenean; 14 | 15 | public class ExprKingdomsAlliesOfKingdom extends SimpleExpression { 16 | private Expression kingdom; 17 | 18 | @Override 19 | public Class getReturnType() { 20 | return String.class; 21 | } 22 | 23 | @SuppressWarnings("unchecked") 24 | @Override 25 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 26 | SkriptParser.ParseResult Result) { 27 | kingdom = (Expression) expr[0]; 28 | return true; 29 | } 30 | 31 | @Override 32 | public String toString(@Nullable Event e, boolean paramBoolean) { 33 | return "[sharpsk] [kingdoms] allies of kingdom %string%"; 34 | } 35 | 36 | @Override 37 | @Nullable 38 | protected String[] get(Event e) { 39 | 40 | ArrayList narr = new ArrayList(); 41 | for (String en : GameManagement.getKingdomManager().getOfflineKingdom(kingdom.getSingle(e)).getAlliesList()) { 42 | 43 | narr.add(en); 44 | } 45 | 46 | return narr.toArray(new String[narr.size()]); 47 | 48 | } 49 | 50 | @Override 51 | public boolean isSingle() { 52 | return false; 53 | } 54 | 55 | } 56 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Kingdoms/ExprKingdomsEnemiesOfKingdom.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Kingdoms; 2 | 3 | import java.util.ArrayList; 4 | 5 | import javax.annotation.Nullable; 6 | 7 | import org.bukkit.event.Event; 8 | import org.kingdoms.manager.game.GameManagement; 9 | 10 | import ch.njol.skript.lang.Expression; 11 | import ch.njol.skript.lang.SkriptParser; 12 | import ch.njol.skript.lang.util.SimpleExpression; 13 | import ch.njol.util.Kleenean; 14 | 15 | public class ExprKingdomsEnemiesOfKingdom extends SimpleExpression { 16 | private Expression kingdom; 17 | 18 | @Override 19 | public Class getReturnType() { 20 | return String.class; 21 | } 22 | 23 | @SuppressWarnings("unchecked") 24 | @Override 25 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 26 | SkriptParser.ParseResult Result) { 27 | kingdom = (Expression) expr[0]; 28 | return true; 29 | } 30 | 31 | @Override 32 | public String toString(@Nullable Event e, boolean paramBoolean) { 33 | return "[sharpsk] [kingdoms] enemies of kingdom %string%"; 34 | } 35 | 36 | @Override 37 | @Nullable 38 | protected String[] get(Event e) { 39 | 40 | ArrayList narr = new ArrayList(); 41 | for (String en : GameManagement.getKingdomManager().getOfflineKingdom(kingdom.getSingle(e)).getEnemiesList()) { 42 | 43 | narr.add(en); 44 | } 45 | 46 | return narr.toArray(new String[narr.size()]); 47 | 48 | } 49 | 50 | @Override 51 | public boolean isSingle() { 52 | return false; 53 | } 54 | 55 | } 56 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/GlowAPI/GlowAPIRegistry.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.GlowAPI; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.inventivetalent.glow.GlowAPI; 6 | 7 | import ch.njol.skript.Skript; 8 | import ch.njol.skript.classes.ClassInfo; 9 | import ch.njol.skript.classes.Parser; 10 | import ch.njol.skript.lang.ExpressionType; 11 | import ch.njol.skript.lang.ParseContext; 12 | import ch.njol.skript.registrations.Classes; 13 | 14 | public class GlowAPIRegistry { 15 | public static void registerGlowAPI() { 16 | Classes.registerClass( 17 | new ClassInfo(GlowAPI.Color.class, "glowapicolor").parser(new Parser() { 18 | @Override 19 | public String getVariableNamePattern() { 20 | return ".+"; 21 | } 22 | 23 | @Override 24 | @Nullable 25 | public GlowAPI.Color parse(String s, ParseContext cont) { 26 | try { 27 | return GlowAPI.Color.valueOf(s.replace(" ", "_").trim().toUpperCase()); 28 | } catch (IllegalArgumentException e) { 29 | return null; 30 | } 31 | } 32 | 33 | @Override 34 | public String toString(GlowAPI.Color eff, int i) { 35 | return eff.name().replace("_", " ").toUpperCase(); 36 | } 37 | 38 | @Override 39 | public String toVariableNameString(GlowAPI.Color eff) { 40 | return eff.name().replace("_", " ").toUpperCase(); 41 | } 42 | 43 | })); 44 | Skript.registerExpression(ExprGlowingColorOf.class, GlowAPI.Color.class, ExpressionType.SIMPLE, 45 | "glow[ing] color of %entity%"); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/JobsReborn/ExprAllJobs.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.JobsReborn; 2 | 3 | import java.util.ArrayList; 4 | 5 | import javax.annotation.Nullable; 6 | 7 | import org.bukkit.event.Event; 8 | 9 | import com.gamingmesh.jobs.Jobs; 10 | import com.gamingmesh.jobs.container.Job; 11 | 12 | import ch.njol.skript.lang.Expression; 13 | import ch.njol.skript.lang.SkriptParser.ParseResult; 14 | import ch.njol.skript.lang.util.SimpleExpression; 15 | import ch.njol.util.Kleenean; 16 | 17 | public class ExprAllJobs extends SimpleExpression { 18 | 19 | boolean job; 20 | 21 | @Override 22 | public boolean isSingle() { 23 | return false; 24 | } 25 | 26 | @Override 27 | public Class getReturnType() { 28 | return Job.class; 29 | } 30 | 31 | @SuppressWarnings("unchecked") 32 | @Override 33 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 34 | final ParseResult parseResult) { 35 | job = parseResult.mark == 1 || matchedPattern == 1; 36 | return true; 37 | } 38 | 39 | @Override 40 | public String toString(@Nullable Event e, boolean paramBoolean) { 41 | return "all [of|the] jobs"; 42 | } 43 | 44 | @Override 45 | @Nullable 46 | protected Job[] get(Event e) { 47 | ArrayList jobs = new ArrayList<>(); 48 | for (Job p : Jobs.getJobs()) { 49 | if (p != null) { 50 | jobs.add(p); 51 | } 52 | } 53 | return jobs.toArray(new Job[jobs.size()]); 54 | } 55 | 56 | @Override 57 | public boolean isLoopOf(final String s) { 58 | return job && (s.equalsIgnoreCase("job")); 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/WorldGuard/EffDeleteRegion.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.WorldGuard; 2 | 3 | import org.bukkit.World; 4 | import org.bukkit.event.Event; 5 | 6 | import com.sk89q.worldguard.bukkit.WGBukkit; 7 | import com.sk89q.worldguard.protection.managers.RegionManager; 8 | import com.sk89q.worldguard.protection.managers.RemovalStrategy; 9 | 10 | import ch.njol.skript.Skript; 11 | import ch.njol.skript.lang.Effect; 12 | import ch.njol.skript.lang.Expression; 13 | import ch.njol.skript.lang.SkriptParser; 14 | import ch.njol.util.Kleenean; 15 | 16 | public class EffDeleteRegion extends Effect { 17 | private Expression name; 18 | private Expression world; 19 | 20 | public boolean init(Expression[] expressions, int i, Kleenean kleenean, SkriptParser.ParseResult parseResult) { 21 | this.name = expressions[0]; 22 | this.world = expressions[1]; 23 | 24 | return true; 25 | } 26 | 27 | protected void execute(Event event) { 28 | String name = (String) this.name.getSingle(event); 29 | World world = (World) this.world.getSingle(event); 30 | 31 | RegionManager regionManager = WGBukkit.getRegionManager(world); 32 | if (!regionManager.hasRegion(name)) { 33 | Skript.error("Region \"" + name + "\" in world \"" + world.getName() + "\" does not exists."); 34 | return; 35 | } 36 | 37 | regionManager.removeRegion(name, RemovalStrategy.REMOVE_CHILDREN); 38 | try { 39 | regionManager.save(); 40 | } catch (Exception e) { 41 | e.printStackTrace(); 42 | } 43 | } 44 | 45 | public String toString(Event e, boolean debug) { 46 | return getClass().getName(); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/mcMMO/ExprmcMMOAllPartyMembers.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.mcMMO; 2 | 3 | import java.util.ArrayList; 4 | import java.util.Map.Entry; 5 | import java.util.UUID; 6 | 7 | import javax.annotation.Nullable; 8 | 9 | import org.bukkit.event.Event; 10 | 11 | import com.gmail.nossr50.party.PartyManager; 12 | 13 | import ch.njol.skript.lang.Expression; 14 | import ch.njol.skript.lang.SkriptParser; 15 | import ch.njol.skript.lang.util.SimpleExpression; 16 | import ch.njol.util.Kleenean; 17 | 18 | public class ExprmcMMOAllPartyMembers extends SimpleExpression { 19 | private Expression s; 20 | 21 | @Override 22 | public boolean isSingle() { 23 | return false; 24 | } 25 | 26 | @Override 27 | public Class getReturnType() { 28 | return String.class; 29 | } 30 | 31 | @SuppressWarnings("unchecked") 32 | @Override 33 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 34 | SkriptParser.ParseResult paramParseResult) { 35 | s = (Expression) expr[0]; 36 | return true; 37 | } 38 | 39 | @Override 40 | public String toString(@Nullable Event e, boolean paramBoolean) { 41 | return "[mcmmo] [(the|all)] members of party %string%"; 42 | } 43 | 44 | @Override 45 | @Nullable 46 | protected String[] get(Event e) { 47 | ArrayList members = new ArrayList<>(); 48 | for (Entry user : PartyManager.getParty(s.getSingle(e)).getMembers().entrySet()) { 49 | members.add(user.getValue()); 50 | } 51 | return members.toArray(new String[members.size()]); 52 | 53 | } 54 | 55 | } 56 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/mcMMO/ExprmcMMOPowerLevel.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.mcMMO; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.OfflinePlayer; 6 | import org.bukkit.event.Event; 7 | 8 | import com.gmail.nossr50.api.ExperienceAPI; 9 | 10 | import ch.njol.skript.lang.Expression; 11 | import ch.njol.skript.lang.SkriptParser; 12 | import ch.njol.skript.lang.util.SimpleExpression; 13 | import ch.njol.util.Kleenean; 14 | 15 | public class ExprmcMMOPowerLevel extends SimpleExpression { 16 | private Expression p; 17 | 18 | @Override 19 | public boolean isSingle() { 20 | return true; 21 | } 22 | 23 | @Override 24 | public Class getReturnType() { 25 | return Integer.class; 26 | } 27 | 28 | @SuppressWarnings("unchecked") 29 | @Override 30 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 31 | SkriptParser.ParseResult paramParseResult) { 32 | p = (Expression) expr[0]; 33 | return true; 34 | } 35 | 36 | @Override 37 | public String toString(@Nullable Event e, boolean paramBoolean) { 38 | return "[mcmmo] %offlineplayer%'s power[]level"; 39 | } 40 | 41 | @Override 42 | @Nullable 43 | protected Integer[] get(Event e) { 44 | if (p == null) { 45 | return new Integer[] { 0 }; 46 | } 47 | ; 48 | if (p.getSingle(e).isOnline()) { 49 | return new Integer[] { ExperienceAPI.getPowerLevel(p.getSingle(e).getPlayer()) }; 50 | } else { 51 | return new Integer[] { ExperienceAPI.getPowerLevelOffline(p.getSingle(e).getUniqueId()) }; 52 | } 53 | } 54 | 55 | } 56 | -------------------------------------------------------------------------------- /src/main/java/com/codingforcookies/armorequip/ArmorType.java: -------------------------------------------------------------------------------- 1 | package com.codingforcookies.armorequip; 2 | 3 | import org.bukkit.inventory.ItemStack; 4 | 5 | /** 6 | * @Author Borlea 7 | * @Github https://github.com/borlea/ 8 | * @Website http://codingforcookies.com/ 9 | * @Since Jul 30, 2015 6:46:16 PM 10 | */ 11 | public enum ArmorType { 12 | HELMET(5), CHESTPLATE(6), LEGGINGS(7), BOOTS(8); 13 | 14 | private final int slot; 15 | 16 | ArmorType(int slot) { 17 | this.slot = slot; 18 | } 19 | 20 | /** 21 | * Attempts to match the ArmorType for the specified ItemStack. 22 | * 23 | * @param itemStack 24 | * The ItemStack to parse the type of. 25 | * @return The parsed ArmorType. (null if none were found.) 26 | */ 27 | public final static ArmorType matchType(final ItemStack itemStack) { 28 | if (itemStack == null) { 29 | return null; 30 | } 31 | switch (itemStack.getType()) { 32 | case DIAMOND_HELMET: 33 | case GOLD_HELMET: 34 | case IRON_HELMET: 35 | case CHAINMAIL_HELMET: 36 | case LEATHER_HELMET: 37 | case SKULL_ITEM: 38 | return HELMET; 39 | case DIAMOND_CHESTPLATE: 40 | case GOLD_CHESTPLATE: 41 | case IRON_CHESTPLATE: 42 | case CHAINMAIL_CHESTPLATE: 43 | case LEATHER_CHESTPLATE: 44 | return CHESTPLATE; 45 | case DIAMOND_LEGGINGS: 46 | case GOLD_LEGGINGS: 47 | case IRON_LEGGINGS: 48 | case CHAINMAIL_LEGGINGS: 49 | case LEATHER_LEGGINGS: 50 | return LEGGINGS; 51 | case DIAMOND_BOOTS: 52 | case GOLD_BOOTS: 53 | case IRON_BOOTS: 54 | case CHAINMAIL_BOOTS: 55 | case LEATHER_BOOTS: 56 | return BOOTS; 57 | default: 58 | return null; 59 | } 60 | } 61 | 62 | public int getSlot() { 63 | return slot; 64 | } 65 | } -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Towny/ExprTownyTownOfPlayer.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Towny; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.OfflinePlayer; 6 | import org.bukkit.event.Event; 7 | 8 | import com.palmergames.bukkit.towny.exceptions.NotRegisteredException; 9 | import com.palmergames.bukkit.towny.object.Resident; 10 | import com.palmergames.bukkit.towny.object.TownyUniverse; 11 | 12 | import ch.njol.skript.lang.Expression; 13 | import ch.njol.skript.lang.SkriptParser; 14 | import ch.njol.skript.lang.util.SimpleExpression; 15 | import ch.njol.util.Kleenean; 16 | 17 | public class ExprTownyTownOfPlayer extends SimpleExpression { 18 | 19 | private Expression resident; 20 | 21 | @Override 22 | public Class getReturnType() { 23 | return String.class; 24 | } 25 | 26 | @SuppressWarnings("unchecked") 27 | @Override 28 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 29 | SkriptParser.ParseResult Result) { 30 | resident = (Expression) expr[0]; 31 | return true; 32 | } 33 | 34 | @Override 35 | public String toString(@Nullable Event e, boolean paramBoolean) { 36 | return "[sharpsk] [towny] town of %player%"; 37 | } 38 | 39 | @Override 40 | @Nullable 41 | protected String[] get(Event e) { 42 | 43 | try { 44 | Resident a = TownyUniverse.getDataSource().getResident(resident.getSingle(e).getName()); 45 | return new String[] { a.getTown().getName() }; 46 | } catch (NotRegisteredException ex) { 47 | ex.printStackTrace(); 48 | } 49 | return new String[] {}; 50 | 51 | } 52 | 53 | @Override 54 | public boolean isSingle() { 55 | return true; 56 | } 57 | 58 | } 59 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Kingdoms/ExprKingdomsKingOfKingdom.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Kingdoms; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.Bukkit; 6 | import org.bukkit.OfflinePlayer; 7 | import org.bukkit.event.Event; 8 | import org.kingdoms.constants.kingdom.Kingdom; 9 | import org.kingdoms.manager.game.GameManagement; 10 | 11 | import ch.njol.skript.lang.Expression; 12 | import ch.njol.skript.lang.SkriptParser.ParseResult; 13 | import ch.njol.skript.lang.util.SimpleExpression; 14 | import ch.njol.util.Kleenean; 15 | 16 | public class ExprKingdomsKingOfKingdom extends SimpleExpression { 17 | 18 | private GameManagement kman; 19 | private Expression kingdom; 20 | 21 | @Override 22 | public Class getReturnType() { 23 | return OfflinePlayer.class; 24 | } 25 | 26 | @Override 27 | public boolean isSingle() { 28 | return true; 29 | } 30 | 31 | @SuppressWarnings("unchecked") 32 | @Override 33 | public boolean init(Expression[] expr, int arg1, Kleenean arg2, ParseResult arg3) { 34 | kingdom = (Expression) expr[0]; 35 | return true; 36 | } 37 | 38 | @Override 39 | public String toString(@Nullable Event arg0, boolean arg1) { 40 | return "[kingdoms] king of [kingdom] %string%"; 41 | } 42 | 43 | @Override 44 | @Nullable 45 | protected OfflinePlayer[] get(Event e) { 46 | OfflinePlayer king = null; 47 | try { 48 | Kingdom kdm = GameManagement.getKingdomManager().getOrLoadKingdom(kingdom.getSingle(e)); 49 | king = Bukkit.getOfflinePlayer(kdm.getKing()); 50 | } catch (NullPointerException ex) { 51 | return new OfflinePlayer[] {}; 52 | } 53 | 54 | return new OfflinePlayer[] { king }; 55 | } 56 | 57 | } 58 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/mcMMO/ExprmcMMOAllSkillTypes.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.mcMMO; 2 | 3 | import java.util.ArrayList; 4 | 5 | import javax.annotation.Nullable; 6 | 7 | import org.bukkit.event.Event; 8 | 9 | import com.gmail.nossr50.datatypes.skills.SkillType; 10 | 11 | import ch.njol.skript.lang.Expression; 12 | import ch.njol.skript.lang.SkriptParser.ParseResult; 13 | import ch.njol.skript.lang.util.SimpleExpression; 14 | import ch.njol.util.Kleenean; 15 | 16 | public class ExprmcMMOAllSkillTypes extends SimpleExpression { 17 | 18 | boolean skilltype; 19 | 20 | @Override 21 | public boolean isSingle() { 22 | return false; 23 | } 24 | 25 | @Override 26 | public Class getReturnType() { 27 | return SkillType.class; 28 | } 29 | 30 | @SuppressWarnings("unchecked") 31 | @Override 32 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 33 | final ParseResult parseResult) { 34 | skilltype = parseResult.mark == 1 || matchedPattern == 1; 35 | return true; 36 | } 37 | 38 | @Override 39 | public String toString(@Nullable Event e, boolean paramBoolean) { 40 | return "all [of|the] skill[]types"; 41 | } 42 | 43 | @Override 44 | @Nullable 45 | protected SkillType[] get(Event e) { 46 | ArrayList skilltypes = new ArrayList<>(); 47 | for (SkillType p : SkillType.values()) { 48 | if (p != null) { 49 | skilltypes.add(p); 50 | } 51 | } 52 | return skilltypes.toArray(new SkillType[skilltypes.size()]); 53 | } 54 | 55 | @Override 56 | public boolean isLoopOf(final String s) { 57 | return skilltype && (s.equalsIgnoreCase("skilltype")); 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Towny/ExprAllTownBlockTypes.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Towny; 2 | 3 | import java.util.ArrayList; 4 | 5 | import javax.annotation.Nullable; 6 | 7 | import org.bukkit.event.Event; 8 | 9 | import com.palmergames.bukkit.towny.object.TownBlockType; 10 | 11 | import ch.njol.skript.lang.Expression; 12 | import ch.njol.skript.lang.SkriptParser.ParseResult; 13 | import ch.njol.skript.lang.util.SimpleExpression; 14 | import ch.njol.util.Kleenean; 15 | 16 | public class ExprAllTownBlockTypes extends SimpleExpression { 17 | 18 | boolean townblocktype; 19 | 20 | @Override 21 | public boolean isSingle() { 22 | return false; 23 | } 24 | 25 | @Override 26 | public Class getReturnType() { 27 | return TownBlockType.class; 28 | } 29 | 30 | @SuppressWarnings("unchecked") 31 | @Override 32 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 33 | final ParseResult parseResult) { 34 | townblocktype = parseResult.mark == 1 || matchedPattern == 1; 35 | return true; 36 | } 37 | 38 | @Override 39 | public String toString(@Nullable Event e, boolean paramBoolean) { 40 | return "all [of|the] town[ ]blocktypes"; 41 | } 42 | 43 | @Override 44 | @Nullable 45 | protected TownBlockType[] get(Event e) { 46 | ArrayList townblocktypes = new ArrayList<>(); 47 | for (TownBlockType t : TownBlockType.values()) { 48 | if (t != null) { 49 | townblocktypes.add(t); 50 | } 51 | } 52 | return townblocktypes.toArray(new TownBlockType[townblocktypes.size()]); 53 | } 54 | 55 | @Override 56 | public boolean isLoopOf(final String s) { 57 | return townblocktype && (s.equalsIgnoreCase("townblocktype")); 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/mcMMO/CondmcMMOAbilityNotEnabled.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.mcMMO; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.OfflinePlayer; 6 | import org.bukkit.event.Event; 7 | 8 | import com.gmail.nossr50.datatypes.skills.AbilityType; 9 | import com.gmail.nossr50.util.player.UserManager; 10 | 11 | import ch.njol.skript.lang.Condition; 12 | import ch.njol.skript.lang.Expression; 13 | import ch.njol.skript.lang.SkriptParser; 14 | import ch.njol.util.Kleenean; 15 | 16 | public class CondmcMMOAbilityNotEnabled extends Condition { 17 | private Expression p; 18 | private Expression ability; 19 | 20 | @SuppressWarnings("unchecked") 21 | @Override 22 | public boolean init(Expression[] expr, int matchedPattern, Kleenean arg2, SkriptParser.ParseResult arg3) { 23 | p = (Expression) expr[0]; 24 | ability = (Expression) expr[1]; 25 | return true; 26 | } 27 | 28 | @Override 29 | public String toString(@Nullable Event e, boolean debug) { 30 | return "%abilitytype% is enabled"; 31 | } 32 | 33 | @Override 34 | public boolean check(Event e) { 35 | Boolean bool = false; 36 | if (p == null) { 37 | return true; 38 | } 39 | ; 40 | 41 | if (p.getSingle(e).isOnline()) { 42 | if (UserManager.getPlayer(p.getSingle(e).getPlayer()).getAbilityMode(ability.getSingle(e)) == true) { 43 | bool = false; 44 | } else { 45 | bool = true; 46 | } 47 | } else { 48 | if (UserManager.getOfflinePlayer(p.getSingle(e)).getAbilityMode(ability.getSingle(e)) == true) { 49 | bool = false; 50 | } else { 51 | bool = true; 52 | } 53 | } 54 | return bool; 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/MythicMobs/EffSpawnMM.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.MythicMobs; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.Location; 6 | import org.bukkit.event.Event; 7 | 8 | import ch.njol.skript.lang.Effect; 9 | import ch.njol.skript.lang.Expression; 10 | import ch.njol.skript.lang.SkriptParser.ParseResult; 11 | import ch.njol.util.Kleenean; 12 | import io.lumine.xikage.mythicmobs.MythicMobs; 13 | import io.lumine.xikage.mythicmobs.api.exceptions.InvalidMobTypeException; 14 | 15 | public class EffSpawnMM extends Effect { 16 | 17 | private Expression mn; 18 | private Expression loc; 19 | private Expression level; 20 | 21 | @SuppressWarnings("unchecked") 22 | @Override 23 | public boolean init(Expression[] expr, int arg1, Kleenean arg2, ParseResult arg3) { 24 | mn = (Expression) expr[0]; 25 | loc = (Expression) expr[1]; 26 | level = (Expression) expr[2]; 27 | return true; 28 | } 29 | 30 | @Override 31 | public String toString(@Nullable Event arg0, boolean arg1) { 32 | return "spawn [a] mythicmob %string% at %location% [with level %-number%]"; 33 | } 34 | 35 | @Override 36 | protected void execute(Event e) { 37 | try { 38 | try { 39 | if (level != null) { 40 | MythicMobs.inst().getAPIHelper().spawnMythicMob(mn.getSingle(e), loc.getSingle(e), 41 | Math.round(level.getSingle(e).intValue())); 42 | } else { 43 | MythicMobs.inst().getAPIHelper().spawnMythicMob(mn.getSingle(e), loc.getSingle(e), 1); 44 | } 45 | } catch (NullPointerException ex) { 46 | return; 47 | } 48 | } catch (InvalidMobTypeException e1) { 49 | return; 50 | } 51 | } 52 | 53 | } 54 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/mcMMO/ExprmcMMOAllAbilityTypes.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.mcMMO; 2 | 3 | import java.util.ArrayList; 4 | 5 | import javax.annotation.Nullable; 6 | 7 | import org.bukkit.event.Event; 8 | 9 | import com.gmail.nossr50.datatypes.skills.AbilityType; 10 | 11 | import ch.njol.skript.lang.Expression; 12 | import ch.njol.skript.lang.SkriptParser.ParseResult; 13 | import ch.njol.skript.lang.util.SimpleExpression; 14 | import ch.njol.util.Kleenean; 15 | 16 | public class ExprmcMMOAllAbilityTypes extends SimpleExpression { 17 | 18 | boolean abilitytype; 19 | 20 | @Override 21 | public boolean isSingle() { 22 | return false; 23 | } 24 | 25 | @Override 26 | public Class getReturnType() { 27 | return AbilityType.class; 28 | } 29 | 30 | @SuppressWarnings("unchecked") 31 | @Override 32 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 33 | final ParseResult parseResult) { 34 | abilitytype = parseResult.mark == 1 || matchedPattern == 1; 35 | return true; 36 | } 37 | 38 | @Override 39 | public String toString(@Nullable Event e, boolean paramBoolean) { 40 | return "all [of|the] ability[]types"; 41 | } 42 | 43 | @Override 44 | @Nullable 45 | protected AbilityType[] get(Event e) { 46 | ArrayList skilltypes = new ArrayList<>(); 47 | for (AbilityType p : AbilityType.values()) { 48 | if (p != null) { 49 | skilltypes.add(p); 50 | } 51 | } 52 | return skilltypes.toArray(new AbilityType[skilltypes.size()]); 53 | } 54 | 55 | @Override 56 | public boolean isLoopOf(final String s) { 57 | return abilitytype && (s.equalsIgnoreCase("abilitytype")); 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Kingdoms/ExprKingdomsMembersOfKingdom.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Kingdoms; 2 | 3 | import java.util.ArrayList; 4 | import java.util.UUID; 5 | 6 | import javax.annotation.Nullable; 7 | 8 | import org.bukkit.Bukkit; 9 | import org.bukkit.OfflinePlayer; 10 | import org.bukkit.event.Event; 11 | import org.kingdoms.manager.game.GameManagement; 12 | 13 | import ch.njol.skript.lang.Expression; 14 | import ch.njol.skript.lang.SkriptParser; 15 | import ch.njol.skript.lang.util.SimpleExpression; 16 | import ch.njol.util.Kleenean; 17 | 18 | public class ExprKingdomsMembersOfKingdom extends SimpleExpression { 19 | private Expression kingdom; 20 | private GameManagement kman; 21 | 22 | @Override 23 | public Class getReturnType() { 24 | return OfflinePlayer.class; 25 | } 26 | 27 | @SuppressWarnings("unchecked") 28 | @Override 29 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 30 | SkriptParser.ParseResult Result) { 31 | kingdom = (Expression) expr[0]; 32 | return true; 33 | } 34 | 35 | @Override 36 | public String toString(@Nullable Event e, boolean paramBoolean) { 37 | return "[sharpsk] [kingdoms] members (of|in) kingdom %string%"; 38 | } 39 | 40 | @Override 41 | @Nullable 42 | protected OfflinePlayer[] get(Event e) { 43 | 44 | ArrayList narr = new ArrayList(); 45 | for (UUID u : GameManagement.getKingdomManager().getOfflineKingdom(kingdom.getSingle(e)).getMembersList()) { 46 | 47 | narr.add(Bukkit.getOfflinePlayer(u)); 48 | } 49 | 50 | return narr.toArray(new OfflinePlayer[narr.size()]); 51 | 52 | } 53 | 54 | @Override 55 | public boolean isSingle() { 56 | return false; 57 | } 58 | 59 | } 60 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Towny/EffTownyAddPlayerToNation.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Towny; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.Bukkit; 6 | import org.bukkit.OfflinePlayer; 7 | import org.bukkit.event.Event; 8 | 9 | import com.palmergames.bukkit.towny.exceptions.NotRegisteredException; 10 | import com.palmergames.bukkit.towny.object.TownyUniverse; 11 | 12 | import ch.njol.skript.lang.Effect; 13 | import ch.njol.skript.lang.Expression; 14 | import ch.njol.skript.lang.SkriptParser; 15 | import ch.njol.util.Kleenean; 16 | import me.sharpjaws.sharpSK.main;; 17 | 18 | public class EffTownyAddPlayerToNation extends Effect { 19 | 20 | private Expression p; 21 | private Expression nat; 22 | 23 | @SuppressWarnings("unchecked") 24 | @Override 25 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 26 | SkriptParser.ParseResult paramParseResult) { 27 | p = (Expression) expr[0]; 28 | 29 | return true; 30 | } 31 | 32 | @Override 33 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 34 | return "[towny] add %offlineplayer% to nation %string%"; 35 | } 36 | 37 | @Override 38 | protected void execute(Event e) { 39 | main core = (main) Bukkit.getPluginManager().getPlugin("SharpSK"); 40 | 41 | try { 42 | TownyUniverse.getDataSource().getResident(p.getSingle(e).getName()).setName(nat.getSingle(e)); 43 | } catch (NotRegisteredException e1) { 44 | core.getLogger().warning("Could not add resident: " + "\"" + p.getSingle(e).getName() + "\"" + " to nation " 45 | + "\"" + nat.getSingle(e) + "\""); 46 | core.getLogger().warning("Nation was not found in town: " + "\"" + nat.getSingle(e) + "\""); 47 | return; 48 | } 49 | 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/mcMMO/ExprEvtSkillType.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.mcMMO; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.event.Event; 6 | 7 | import com.gmail.nossr50.datatypes.skills.SkillType; 8 | import com.gmail.nossr50.events.experience.McMMOPlayerLevelUpEvent; 9 | import com.gmail.nossr50.events.experience.McMMOPlayerXpGainEvent; 10 | 11 | import ch.njol.skript.ScriptLoader; 12 | import ch.njol.skript.lang.Expression; 13 | import ch.njol.skript.lang.SkriptParser.ParseResult; 14 | import ch.njol.skript.lang.util.SimpleExpression; 15 | import ch.njol.util.Kleenean; 16 | 17 | public class ExprEvtSkillType extends SimpleExpression { 18 | 19 | @Override 20 | public Class getReturnType() { 21 | return SkillType.class; 22 | } 23 | 24 | @Override 25 | public boolean isSingle() { 26 | return true; 27 | } 28 | 29 | @Override 30 | public String toString(@Nullable Event e, boolean paramBoolean) { 31 | return "event-skilltype"; 32 | } 33 | 34 | @Override 35 | public boolean init(Expression[] expr, int matchedPattern, Kleenean arg2, ParseResult result) { 36 | if (!ScriptLoader.isCurrentEvent(McMMOPlayerLevelUpEvent.class) 37 | && !ScriptLoader.isCurrentEvent(McMMOPlayerXpGainEvent.class)) { 38 | return false; 39 | } 40 | return true; 41 | } 42 | 43 | @Override 44 | @Nullable 45 | protected SkillType[] get(Event e) { 46 | if (e.getEventName().equals("McMMOPlayerLevelUpEvent")) { 47 | return new SkillType[] { ((McMMOPlayerLevelUpEvent) e).getSkill() }; 48 | } else if (e.getEventName().equals("McMMOPlayerXpGainEvent")) { 49 | return new SkillType[] { ((McMMOPlayerXpGainEvent) e).getSkill() }; 50 | } 51 | return null; 52 | } 53 | 54 | } 55 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/WorldGuard/ExprAllRegionsInWorld.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.WorldGuard; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | import java.util.Map; 6 | 7 | import org.bukkit.World; 8 | import org.bukkit.event.Event; 9 | 10 | import com.sk89q.worldguard.bukkit.WGBukkit; 11 | import com.sk89q.worldguard.protection.managers.RegionManager; 12 | import com.sk89q.worldguard.protection.regions.ProtectedRegion; 13 | 14 | import ch.njol.skript.classes.Changer; 15 | import ch.njol.skript.lang.Expression; 16 | import ch.njol.skript.lang.SkriptParser; 17 | import ch.njol.skript.lang.util.SimpleExpression; 18 | import ch.njol.util.Kleenean; 19 | 20 | public class ExprAllRegionsInWorld extends SimpleExpression { 21 | private Expression world; 22 | 23 | public boolean init(Expression[] expressions, int i, Kleenean kleenean, SkriptParser.ParseResult parseResult) { 24 | this.world = expressions[0]; 25 | return true; 26 | } 27 | 28 | protected String[] get(Event event) { 29 | World world = (World) this.world.getSingle(event); 30 | 31 | RegionManager set = WGBukkit.getRegionManager(world); 32 | Map regions = set.getRegions(); 33 | List list = new ArrayList(regions.keySet()); 34 | 35 | String[] s = new String[list.size()]; 36 | return (String[]) list.toArray(s); 37 | } 38 | 39 | public boolean isSingle() { 40 | return false; 41 | } 42 | 43 | public Class getReturnType() { 44 | return String.class; 45 | } 46 | 47 | public String toString(Event event, boolean b) { 48 | return "[sharpsk] [all] [worldguard] regions in %world%"; 49 | } 50 | 51 | public Class[] acceptChange(Changer.ChangeMode mode) { 52 | return null; 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/PermissionsEx/EffGiveTimedPexPerm.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.PermissionsEx; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.OfflinePlayer; 6 | import org.bukkit.event.Event; 7 | 8 | import ch.njol.skript.lang.Effect; 9 | import ch.njol.skript.lang.Expression; 10 | import ch.njol.skript.lang.SkriptParser; 11 | import ch.njol.skript.util.Timespan; 12 | import ch.njol.util.Kleenean; 13 | import ru.tehkode.permissions.PermissionUser; 14 | import ru.tehkode.permissions.bukkit.PermissionsEx; 15 | 16 | public class EffGiveTimedPexPerm extends Effect { 17 | private Expression perm; 18 | private Expression offplayers; 19 | private Expression time; 20 | 21 | @SuppressWarnings("unchecked") 22 | @Override 23 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 24 | SkriptParser.ParseResult paramParseResult) { 25 | perm = (Expression) expr[0]; 26 | offplayers = (Expression) expr[1]; 27 | time = (Expression) expr[2]; 28 | return true; 29 | } 30 | 31 | @Override 32 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 33 | return "pex add timed perm[ission] %string% to %offlineplayers% (duration|for) %timespan%"; 34 | } 35 | 36 | @Override 37 | protected void execute(Event e) { 38 | 39 | if (time.getSingle(e).getTicks_i() / 20 > 0) { 40 | for (OfflinePlayer op : offplayers.getAll(e)) { 41 | PermissionUser permuser = PermissionsEx.getPermissionManager().getUser(op.getUniqueId()); 42 | permuser.addTimedPermission(perm.getSingle(e), permuser.getPlayer().getWorld().getName(), 43 | (int) time.getSingle(e).getTicks_i() / 20); 44 | } 45 | } else { 46 | return; 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Towny/ExprTownyNationOfPlayer.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Towny; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.OfflinePlayer; 6 | import org.bukkit.event.Event; 7 | 8 | import com.palmergames.bukkit.towny.exceptions.NotRegisteredException; 9 | import com.palmergames.bukkit.towny.object.Nation; 10 | import com.palmergames.bukkit.towny.object.Resident; 11 | import com.palmergames.bukkit.towny.object.TownyUniverse; 12 | 13 | import ch.njol.skript.lang.Expression; 14 | import ch.njol.skript.lang.SkriptParser; 15 | import ch.njol.skript.lang.util.SimpleExpression; 16 | import ch.njol.util.Kleenean; 17 | 18 | public class ExprTownyNationOfPlayer extends SimpleExpression { 19 | 20 | private Expression resident; 21 | 22 | @Override 23 | public Class getReturnType() { 24 | return String.class; 25 | } 26 | 27 | @SuppressWarnings("unchecked") 28 | @Override 29 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 30 | SkriptParser.ParseResult Result) { 31 | resident = (Expression) expr[0]; 32 | return true; 33 | } 34 | 35 | @Override 36 | public String toString(@Nullable Event e, boolean paramBoolean) { 37 | return "[sharpsk] [towny] nation of %player%"; 38 | } 39 | 40 | @Override 41 | @Nullable 42 | protected String[] get(Event e) { 43 | 44 | String natname = null; 45 | Resident res; 46 | try { 47 | res = TownyUniverse.getDataSource().getResident(resident.getSingle(e).getName()); 48 | natname = res.getTown().getNation().getName(); 49 | 50 | } catch (NotRegisteredException ex) { 51 | ex.printStackTrace(); 52 | } 53 | 54 | return new String[] { natname }; 55 | } 56 | 57 | @Override 58 | public boolean isSingle() { 59 | return true; 60 | } 61 | 62 | } 63 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/WorldGuard/ExprRegionAt.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.WorldGuard; 2 | 3 | import org.bukkit.Bukkit; 4 | import org.bukkit.Location; 5 | import org.bukkit.event.Event; 6 | 7 | import com.sk89q.worldguard.bukkit.WorldGuardPlugin; 8 | import com.sk89q.worldguard.protection.managers.RegionManager; 9 | import com.sk89q.worldguard.protection.regions.ProtectedRegion; 10 | 11 | import ch.njol.skript.lang.Expression; 12 | import ch.njol.skript.lang.SkriptParser; 13 | import ch.njol.skript.lang.util.SimpleExpression; 14 | import ch.njol.util.Kleenean; 15 | 16 | public class ExprRegionAt extends SimpleExpression { 17 | private Expression loc; 18 | 19 | @SuppressWarnings("unchecked") 20 | public boolean init(Expression[] expressions, int i, Kleenean kleenean, SkriptParser.ParseResult parseResult) { 21 | this.loc = (Expression) expressions[0]; 22 | return true; 23 | } 24 | 25 | protected String[] get(Event event) { 26 | Location loc = this.loc.getSingle(event); 27 | String a = null; 28 | WorldGuardPlugin wg = (WorldGuardPlugin) Bukkit.getServer().getPluginManager().getPlugin("WorldGuard"); 29 | RegionManager regionManager = wg.getRegionContainer().get(loc.getWorld()); 30 | 31 | for (ProtectedRegion reg : regionManager.getApplicableRegions(loc)) { 32 | 33 | if (reg.contains(loc.getBlockX(), loc.getBlockY(), loc.getBlockZ())) { 34 | a = reg.getId().toString(); 35 | } 36 | } 37 | return new String[] { a }; 38 | 39 | } 40 | 41 | public boolean isSingle() { 42 | return true; 43 | } 44 | 45 | public Class getReturnType() { 46 | return String.class; 47 | } 48 | 49 | public String toString(Event event, boolean b) { 50 | return "wg region at" + this.loc.getSingle(event).toString(); 51 | } 52 | 53 | } 54 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/mcMMO/ExprmcMMOSkillLevelReXP.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.mcMMO; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.OfflinePlayer; 6 | import org.bukkit.event.Event; 7 | 8 | import com.gmail.nossr50.api.ExperienceAPI; 9 | import com.gmail.nossr50.datatypes.skills.SkillType; 10 | 11 | import ch.njol.skript.lang.Expression; 12 | import ch.njol.skript.lang.SkriptParser.ParseResult; 13 | import ch.njol.skript.lang.util.SimpleExpression; 14 | import ch.njol.util.Kleenean; 15 | 16 | public class ExprmcMMOSkillLevelReXP extends SimpleExpression { 17 | private Expression p; 18 | private Expression s; 19 | 20 | @Override 21 | public Class getReturnType() { 22 | return Integer.class; 23 | } 24 | 25 | @Override 26 | public boolean isSingle() { 27 | return true; 28 | } 29 | 30 | @SuppressWarnings("unchecked") 31 | @Override 32 | public boolean init(Expression[] expr, int arg1, Kleenean arg2, ParseResult arg3) { 33 | s = (Expression) expr[0]; 34 | p = (Expression) expr[1]; 35 | return true; 36 | } 37 | 38 | @Override 39 | public String toString(@Nullable Event arg0, boolean arg1) { 40 | return "[sharpsk] [mcmmo] remaining %skilltype% [e]xp[erience] of %offlineplayer%"; 41 | } 42 | 43 | @Override 44 | @Nullable 45 | protected Integer[] get(Event e) { 46 | if (p == null) { 47 | return new Integer[] { 0 }; 48 | } 49 | ; 50 | if (p.getSingle(e).isOnline()) { 51 | return new Integer[] { 52 | ExperienceAPI.getXPRemaining(p.getSingle(e).getPlayer(), s.getSingle(e).toString()) }; 53 | } else { 54 | return new Integer[] { (int) ExperienceAPI.getOfflineXPRemaining(p.getSingle(e).getUniqueId(), 55 | s.getSingle(e).toString()) }; 56 | } 57 | } 58 | 59 | } 60 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/JobsReborn/ExprJobLevel.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.JobsReborn; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.OfflinePlayer; 6 | import org.bukkit.event.Event; 7 | 8 | import com.gamingmesh.jobs.Jobs; 9 | import com.gamingmesh.jobs.container.Job; 10 | 11 | import ch.njol.skript.lang.Expression; 12 | import ch.njol.skript.lang.SkriptParser.ParseResult; 13 | import ch.njol.skript.lang.util.SimpleExpression; 14 | import ch.njol.util.Kleenean; 15 | 16 | public class ExprJobLevel extends SimpleExpression { 17 | 18 | private Expression p; 19 | private Expression j; 20 | 21 | @Override 22 | public Class getReturnType() { 23 | return Integer.class; 24 | } 25 | 26 | @Override 27 | public boolean isSingle() { 28 | return false; 29 | } 30 | 31 | @SuppressWarnings("unchecked") 32 | @Override 33 | public boolean init(Expression[] expr, int arg1, Kleenean arg2, ParseResult arg3) { 34 | j = (Expression) expr[0]; 35 | p = (Expression) expr[1]; 36 | return true; 37 | } 38 | 39 | @Override 40 | public String toString(@Nullable Event arg0, boolean arg1) { 41 | return "job level of %job% of player %offlineplayer%"; 42 | } 43 | 44 | @Override 45 | @Nullable 46 | protected Integer[] get(Event e) { 47 | 48 | int level = 0; 49 | try { 50 | if (!p.getSingle(e).isOnline()) { 51 | level = Jobs.getPlayerManager().getJobsPlayer(p.getSingle(e).getName()) 52 | .getJobProgression(j.getSingle(e)).getLevel(); 53 | } else { 54 | level = Jobs.getPlayerManager().getJobsPlayer(p.getSingle(e).getPlayer()) 55 | .getJobProgression(j.getSingle(e)).getLevel(); 56 | } 57 | } catch (NullPointerException ex) { 58 | level = 0; 59 | } 60 | return new Integer[] { level }; 61 | } 62 | 63 | } -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/mcMMO/ExprEvtAbilityType.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.mcMMO; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.event.Event; 6 | 7 | import com.gmail.nossr50.datatypes.skills.AbilityType; 8 | import com.gmail.nossr50.events.skills.abilities.McMMOPlayerAbilityActivateEvent; 9 | import com.gmail.nossr50.events.skills.abilities.McMMOPlayerAbilityDeactivateEvent; 10 | 11 | import ch.njol.skript.ScriptLoader; 12 | import ch.njol.skript.lang.Expression; 13 | import ch.njol.skript.lang.SkriptParser.ParseResult; 14 | import ch.njol.skript.lang.util.SimpleExpression; 15 | import ch.njol.util.Kleenean; 16 | 17 | public class ExprEvtAbilityType extends SimpleExpression { 18 | 19 | @Override 20 | public Class getReturnType() { 21 | return AbilityType.class; 22 | } 23 | 24 | @Override 25 | public boolean isSingle() { 26 | return true; 27 | } 28 | 29 | @Override 30 | public String toString(@Nullable Event e, boolean paramBoolean) { 31 | return "event-abilitytype"; 32 | } 33 | 34 | @Override 35 | public boolean init(Expression[] expr, int matchedPattern, Kleenean arg2, ParseResult result) { 36 | if (!ScriptLoader.isCurrentEvent(McMMOPlayerAbilityActivateEvent.class) 37 | && !ScriptLoader.isCurrentEvent(McMMOPlayerAbilityDeactivateEvent.class)) { 38 | return false; 39 | } 40 | return true; 41 | } 42 | 43 | @Override 44 | @Nullable 45 | protected AbilityType[] get(Event e) { 46 | if (e.getEventName().equals("McMMOPlayerAbilityActivateEvent")) { 47 | return new AbilityType[] { ((McMMOPlayerAbilityActivateEvent) e).getAbility() }; 48 | } else if (e.getEventName().equals("McMMOPlayerAbilityDeactivateEvent")) { 49 | return new AbilityType[] { ((McMMOPlayerAbilityDeactivateEvent) e).getAbility() }; 50 | } 51 | return null; 52 | } 53 | 54 | } 55 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/Towny/EffTownyRenameTown.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.Towny; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.Bukkit; 6 | import org.bukkit.event.Event; 7 | 8 | import com.palmergames.bukkit.towny.exceptions.AlreadyRegisteredException; 9 | import com.palmergames.bukkit.towny.exceptions.NotRegisteredException; 10 | import com.palmergames.bukkit.towny.object.TownyUniverse; 11 | 12 | import ch.njol.skript.lang.Effect; 13 | import ch.njol.skript.lang.Expression; 14 | import ch.njol.skript.lang.SkriptParser; 15 | import ch.njol.util.Kleenean; 16 | import me.sharpjaws.sharpSK.main;; 17 | 18 | public class EffTownyRenameTown extends Effect { 19 | private Expression s; 20 | private Expression s2; 21 | 22 | @SuppressWarnings("unchecked") 23 | @Override 24 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 25 | SkriptParser.ParseResult paramParseResult) { 26 | s = (Expression) expr[0]; 27 | s2 = (Expression) expr[1]; 28 | 29 | return true; 30 | } 31 | 32 | @Override 33 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 34 | return "[towny] rename town %string% to %string%"; 35 | } 36 | 37 | @Override 38 | protected void execute(Event e) { 39 | main core = (main) Bukkit.getPluginManager().getPlugin("SharpSK"); 40 | 41 | try { 42 | try { 43 | TownyUniverse.getDataSource().renameTown(TownyUniverse.getDataSource().getTown(s.getSingle(e)), 44 | s2.getSingle(e)); 45 | } catch (AlreadyRegisteredException e1) { 46 | core.getLogger().warning( 47 | "Could not rename town: " + "\"" + s.getSingle(e) + "\"" + " Town name already in use."); 48 | } 49 | } catch (NotRegisteredException ex) { 50 | core.getLogger().warning("Could not rename town: " + "\"" + s.getSingle(e) + "\"" + " Town does not exist"); 51 | return; 52 | } 53 | 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/LightAPI/EffDeleteLight.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.LightAPI; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.Bukkit; 6 | import org.bukkit.Location; 7 | import org.bukkit.event.Event; 8 | 9 | import ch.njol.skript.lang.Effect; 10 | import ch.njol.skript.lang.Expression; 11 | import ch.njol.skript.lang.SkriptParser; 12 | import ch.njol.util.Kleenean; 13 | import ru.beykerykt.lightapi.LightAPI; 14 | import ru.beykerykt.lightapi.chunks.ChunkInfo; 15 | 16 | public class EffDeleteLight extends Effect { 17 | private Expression loc; 18 | private Expression async; 19 | 20 | @SuppressWarnings("unchecked") 21 | @Override 22 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 23 | SkriptParser.ParseResult paramParseResult) { 24 | loc = (Expression) expr[0]; 25 | async = (Expression) expr[1]; 26 | return true; 27 | } 28 | 29 | @Override 30 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 31 | return "delete light at %location%"; 32 | } 33 | 34 | @Override 35 | protected void execute(Event e) { 36 | if (Bukkit.getPluginManager().getPlugin("LightAPI").getDescription().getVersion().matches("3.\\d.\\d")) { 37 | LightAPI.deleteLight(loc.getSingle(e), async.getSingle(e)); 38 | for (ChunkInfo info : LightAPI.collectChunks(loc.getSingle(e).getWorld(), loc.getSingle(e).getBlockX(), 39 | loc.getSingle(e).getBlockY(), loc.getSingle(e).getBlockZ())) { 40 | LightAPI.updateChunk(info); 41 | } 42 | } else { 43 | LightAPI.deleteLight(loc.getSingle(e), async.getSingle(e)); 44 | for (ChunkInfo info : LightAPI.collectChunks(loc.getSingle(e).getWorld(), loc.getSingle(e).getBlockX(), 45 | loc.getSingle(e).getBlockY(), loc.getSingle(e).getBlockZ())) { 46 | LightAPI.updateChunk(info); 47 | } 48 | } 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/PermissionsEx/PermissionsExRegistry.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.PermissionsEx; 2 | 3 | import ch.njol.skript.Skript; 4 | import ch.njol.skript.lang.ExpressionType; 5 | 6 | public class PermissionsExRegistry { 7 | 8 | public static void registerPermissionsEx() { 9 | Skript.registerEffect(EffRemovePexPerm.class, 10 | "pex (remove|delete) perm[ission] %string% from %offlineplayers%"); 11 | Skript.registerEffect(EffGiveTimedPexPerm.class, 12 | "pex add timed perm[ission] %string% to %offlineplayers% (duration|for) %timespan%"); 13 | Skript.registerEffect(EffAddPexPerm.class, "pex add perm[ission] %string% to %offlineplayers%"); 14 | Skript.registerEffect(EffPexAddgroup.class, "pex add group %string% to %offlineplayers%"); 15 | Skript.registerEffect(EffPexRemoveGroupFromPlayer.class, 16 | "pex (remove|delete) group %string% from %offlineplayers%"); 17 | Skript.registerEffect(EffPexAddPermGroup.class, "pex add perm[ission] %string% to group %string%"); 18 | Skript.registerEffect(EffPexRemovePermGroup.class, 19 | "pex (remove|delete) perm[ission] %string% from group %string%"); 20 | Skript.registerEffect(EffPexAddAGroup.class, 21 | "pex create group %string% default %boolean% [with prefix %-string% [and]] [with suffix %-string%]"); 22 | Skript.registerEffect(EffRemoveAGroup.class, "pex (remove|delete) group %string%"); 23 | Skript.registerEffect(EffPexRenameGroup.class, "pex rename group %string% to %string%"); 24 | Skript.registerExpression(ExprPexGroupRank.class, Number.class, ExpressionType.SIMPLE, 25 | "rank of [the] group %string%"); 26 | Skript.registerExpression(ExprPexGroupOf.class, String.class, ExpressionType.COMBINED, 27 | "[pex] groups of %offlineplayer%"); 28 | 29 | Skript.registerExpression(ExprPexGroupRankLadder.class, String.class, ExpressionType.SIMPLE, 30 | "rank[]ladder of [the] group %string%"); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/CoreProtect/EffCoreLog.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.CoreProtect; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.Bukkit; 6 | import org.bukkit.Location; 7 | import org.bukkit.OfflinePlayer; 8 | import org.bukkit.event.Event; 9 | import org.bukkit.plugin.Plugin; 10 | 11 | import ch.njol.skript.lang.Effect; 12 | import ch.njol.skript.lang.Expression; 13 | import ch.njol.skript.lang.SkriptParser; 14 | import ch.njol.util.Kleenean; 15 | import net.coreprotect.CoreProtect; 16 | import net.coreprotect.CoreProtectAPI; 17 | 18 | public class EffCoreLog extends Effect { 19 | private Expression l; 20 | private Expression pl; 21 | private int mark; 22 | 23 | @Override 24 | @SuppressWarnings("unchecked") 25 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 26 | SkriptParser.ParseResult result) { 27 | l = (Expression) expr[0]; 28 | pl = (Expression) expr[1]; 29 | mark = result.mark; 30 | return true; 31 | } 32 | 33 | @Override 34 | public String toString(@Nullable Event arg0, boolean arg1) { 35 | return "[(coreprotect|cp)] log block at %location%"; 36 | } 37 | 38 | @SuppressWarnings("deprecation") 39 | @Override 40 | protected void execute(final Event e) { 41 | Plugin plugin = Bukkit.getServer().getPluginManager().getPlugin("CoreProtect"); 42 | CoreProtectAPI api = ((CoreProtect) plugin).getAPI(); 43 | if (mark == 0) { 44 | api.logRemoval(pl.getSingle(e).getName(), l.getSingle(e), l.getSingle(e).getBlock().getType(), 45 | l.getSingle(e).getBlock().getData()); 46 | } else if (mark == 1) { 47 | api.logPlacement(pl.getSingle(e).getName(), l.getSingle(e), l.getSingle(e).getBlock().getType(), 48 | l.getSingle(e).getBlock().getData()); 49 | 50 | } else if (mark == 2) { 51 | api.logInteraction(pl.getSingle(e).getName(), l.getSingle(e)); 52 | 53 | } 54 | } 55 | 56 | } 57 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/Expressions/ExprGlowingStateEntity.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.Expressions; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.entity.Entity; 6 | import org.bukkit.event.Event; 7 | 8 | import ch.njol.skript.classes.Changer; 9 | import ch.njol.skript.lang.Expression; 10 | import ch.njol.skript.lang.SkriptParser; 11 | import ch.njol.skript.lang.util.SimpleExpression; 12 | import ch.njol.util.Kleenean; 13 | import ch.njol.util.coll.CollectionUtils; 14 | 15 | public class ExprGlowingStateEntity extends SimpleExpression { 16 | private Expression en; 17 | 18 | @Override 19 | public boolean isSingle() { 20 | return true; 21 | } 22 | 23 | @Override 24 | public Class getReturnType() { 25 | return Boolean.class; 26 | } 27 | 28 | @SuppressWarnings("unchecked") 29 | @Override 30 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 31 | SkriptParser.ParseResult paramParseResult) { 32 | en = (Expression) expr[0]; 33 | return true; 34 | } 35 | 36 | @Override 37 | public String toString(@Nullable Event e, boolean paramBoolean) { 38 | return "Glowing state of %entity%"; 39 | } 40 | 41 | @Override 42 | @Nullable 43 | protected Boolean[] get(Event e) { 44 | return new Boolean[] { Boolean.valueOf(this.en.getSingle(e).isGlowing()) }; 45 | } 46 | 47 | @Override 48 | public void change(Event e, Object[] delta, Changer.ChangeMode mode) { 49 | if (mode == Changer.ChangeMode.SET) { 50 | try { 51 | this.en.getSingle(e).setGlowing(((Boolean) delta[0]).booleanValue()); 52 | } catch (NullPointerException ex) { 53 | 54 | } 55 | } 56 | } 57 | 58 | @Override 59 | public Class[] acceptChange(Changer.ChangeMode mode) { 60 | if (mode == Changer.ChangeMode.SET) 61 | return CollectionUtils.array(new Class[] { Boolean.class }); 62 | return null; 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/mcMMO/ExprmcMMOParty.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.mcMMO; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.entity.Player; 6 | import org.bukkit.event.Event; 7 | 8 | import com.gmail.nossr50.api.PartyAPI; 9 | 10 | import ch.njol.skript.classes.Changer; 11 | import ch.njol.skript.lang.Expression; 12 | import ch.njol.skript.lang.SkriptParser; 13 | import ch.njol.skript.lang.util.SimpleExpression; 14 | import ch.njol.util.Kleenean; 15 | import ch.njol.util.coll.CollectionUtils; 16 | 17 | public class ExprmcMMOParty extends SimpleExpression { 18 | private Expression p; 19 | 20 | @Override 21 | public boolean isSingle() { 22 | return true; 23 | } 24 | 25 | @Override 26 | public Class getReturnType() { 27 | return String.class; 28 | } 29 | 30 | @SuppressWarnings("unchecked") 31 | @Override 32 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 33 | SkriptParser.ParseResult paramParseResult) { 34 | p = (Expression) expr[0]; 35 | return true; 36 | } 37 | 38 | @Override 39 | public String toString(@Nullable Event e, boolean paramBoolean) { 40 | return "%player%'s [mcmmo] party"; 41 | } 42 | 43 | @Override 44 | @Nullable 45 | protected String[] get(Event e) { 46 | return new String[] { PartyAPI.getPartyName(p.getSingle(e)) }; 47 | } 48 | 49 | @Override 50 | public void change(Event e, Object[] delta, Changer.ChangeMode mode) { 51 | try { 52 | if (mode == Changer.ChangeMode.SET) { 53 | PartyAPI.addToParty(p.getSingle(e), (String) delta[0]); 54 | } 55 | } catch (NullPointerException ex) { 56 | 57 | } 58 | } 59 | 60 | @Override 61 | public Class[] acceptChange(Changer.ChangeMode mode) { 62 | if (mode == Changer.ChangeMode.SET) 63 | return CollectionUtils.array(new Class[] { String.class }); 64 | return null; 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/Effects/EffBrewerInv.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.Effects; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.Bukkit; 6 | import org.bukkit.entity.Player; 7 | import org.bukkit.event.Event; 8 | import org.bukkit.event.inventory.InventoryType; 9 | import org.bukkit.inventory.Inventory; 10 | 11 | import ch.njol.skript.doc.Description; 12 | import ch.njol.skript.doc.Examples; 13 | import ch.njol.skript.doc.Name; 14 | import ch.njol.skript.doc.Since; 15 | import ch.njol.skript.lang.Effect; 16 | import ch.njol.skript.lang.Expression; 17 | import ch.njol.skript.lang.SkriptParser; 18 | import ch.njol.util.Kleenean; 19 | 20 | @Name("Open Brewing Inventory") 21 | @Description("Opens a brewing inventory for the player.") 22 | @Examples({ "command /inv:", "trigger:", "\topen brewer inventory to the player", " ", }) 23 | @Since("1.4, 1.6.4") 24 | public class EffBrewerInv extends Effect { 25 | private Expression p; 26 | private Expression s; 27 | 28 | @SuppressWarnings("unchecked") 29 | @Override 30 | public boolean init(Expression[] expr, int matchedPattern, Kleenean paramKleenean, 31 | SkriptParser.ParseResult paramParseResult) { 32 | p = (Expression) expr[0]; 33 | s = (Expression) expr[1]; 34 | return true; 35 | } 36 | 37 | @Override 38 | public String toString(@Nullable Event paramEvent, boolean paramBoolean) { 39 | return "open brewer inventory"; 40 | } 41 | 42 | @Override 43 | protected void execute(Event e) { 44 | try { 45 | String invname = s.getSingle(e); 46 | Inventory brewing = Bukkit.createInventory(p.getSingle(e), InventoryType.BREWING, invname); 47 | p.getSingle(e).openInventory(brewing); 48 | } catch (NullPointerException ex) { 49 | Inventory brewing2 = Bukkit.createInventory(p.getSingle(e), InventoryType.BREWING, "Brewing Stand"); 50 | p.getSingle(e).openInventory(brewing2); 51 | } 52 | 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/JobsReborn/old/ExprJobLevelOld.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.JobsReborn.old; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.OfflinePlayer; 6 | import org.bukkit.event.Event; 7 | 8 | import com.gamingmesh.jobs.Jobs; 9 | import com.gamingmesh.jobs.container.Job; 10 | 11 | import ch.njol.skript.lang.Expression; 12 | import ch.njol.skript.lang.SkriptParser.ParseResult; 13 | import ch.njol.skript.lang.util.SimpleExpression; 14 | import ch.njol.util.Kleenean; 15 | 16 | public class ExprJobLevelOld extends SimpleExpression { 17 | 18 | private Expression p; 19 | private Expression j; 20 | 21 | @Override 22 | public Class getReturnType() { 23 | return Integer.class; 24 | } 25 | 26 | @Override 27 | public boolean isSingle() { 28 | return false; 29 | } 30 | 31 | @SuppressWarnings("unchecked") 32 | @Override 33 | public boolean init(Expression[] expr, int arg1, Kleenean arg2, ParseResult arg3) { 34 | j = (Expression) expr[0]; 35 | p = (Expression) expr[1]; 36 | return true; 37 | } 38 | 39 | @Override 40 | public String toString(@Nullable Event arg0, boolean arg1) { 41 | return "job level of job %job% of player %offlineplayer%"; 42 | } 43 | 44 | @Override 45 | @Nullable 46 | protected Integer[] get(Event e) { 47 | 48 | int level = 0; 49 | try { 50 | if (!p.getSingle(e).isOnline()) { 51 | level = Jobs.getPlayerManager() 52 | .getJobsPlayerOffline(Jobs.getPlayerManager().getPlayerInfo(p.getSingle(e).getUniqueId())) 53 | .getJobProgression(j.getSingle(e)).getLevel(); 54 | } else { 55 | level = Jobs.getPlayerManager().getJobsPlayer(p.getSingle(e).getPlayer()) 56 | .getJobProgression(j.getSingle(e)).getLevel(); 57 | } 58 | 59 | } catch (NullPointerException ex) { 60 | level = 0; 61 | } 62 | return new Integer[] { level }; 63 | } 64 | 65 | } -------------------------------------------------------------------------------- /src/main/java/me/sharpjaws/sharpSK/hooks/mcMMO/ExprEvtParty.java: -------------------------------------------------------------------------------- 1 | package me.sharpjaws.sharpSK.hooks.mcMMO; 2 | 3 | import javax.annotation.Nullable; 4 | 5 | import org.bukkit.event.Event; 6 | 7 | import com.gmail.nossr50.events.chat.McMMOPartyChatEvent; 8 | import com.gmail.nossr50.events.party.McMMOPartyLevelUpEvent; 9 | import com.gmail.nossr50.events.party.McMMOPartyXpGainEvent; 10 | 11 | import ch.njol.skript.ScriptLoader; 12 | import ch.njol.skript.lang.Expression; 13 | import ch.njol.skript.lang.SkriptParser.ParseResult; 14 | import ch.njol.skript.lang.util.SimpleExpression; 15 | import ch.njol.util.Kleenean; 16 | 17 | public class ExprEvtParty extends SimpleExpression { 18 | 19 | @Override 20 | public Class getReturnType() { 21 | return String.class; 22 | } 23 | 24 | @Override 25 | public boolean isSingle() { 26 | return true; 27 | } 28 | 29 | @Override 30 | public String toString(@Nullable Event e, boolean paramBoolean) { 31 | return "event-[mcmmo]party"; 32 | } 33 | 34 | @Override 35 | public boolean init(Expression[] expr, int matchedPattern, Kleenean arg2, ParseResult result) { 36 | if (!ScriptLoader.isCurrentEvent(McMMOPartyChatEvent.class) 37 | && !ScriptLoader.isCurrentEvent(McMMOPartyLevelUpEvent.class) 38 | && !ScriptLoader.isCurrentEvent(McMMOPartyXpGainEvent.class)) { 39 | return false; 40 | } 41 | return true; 42 | } 43 | 44 | @Override 45 | @Nullable 46 | protected String[] get(Event e) { 47 | if (e.getEventName().equals("McMMOPartyChatEvent")) { 48 | return new String[] { ((McMMOPartyChatEvent) e).getParty() }; 49 | } else if (e.getEventName().equals("McMMOPartyLevelUpEvent")) { 50 | return new String[] { ((McMMOPartyLevelUpEvent) e).getParty().getName() }; 51 | } else if (e.getEventName().equals("McMMOPartyXpGainEvent")) { 52 | return new String[] { ((McMMOPartyXpGainEvent) e).getParty().getName() }; 53 | } 54 | return null; 55 | } 56 | 57 | } 58 | --------------------------------------------------------------------------------