├── src └── main │ └── java │ └── gg │ └── projecteden │ └── nexus │ ├── features │ ├── events │ │ ├── y2021 │ │ │ └── bearfair21 │ │ │ │ ├── README.md │ │ │ │ ├── islands │ │ │ │ └── BearFair21Island.java │ │ │ │ └── quests │ │ │ │ ├── clientside │ │ │ │ └── BearFair21NPCNameTag.java │ │ │ │ └── BearFair21PathfinderHelper.java │ │ ├── aeveonproject │ │ │ └── sets │ │ │ │ ├── vespyr │ │ │ │ └── Particles.java │ │ │ │ └── APSet.java │ │ ├── y2026 │ │ │ └── halloween26 │ │ │ │ └── README.md │ │ ├── EdenEventGameConfig.java │ │ ├── y2020 │ │ │ └── halloween20 │ │ │ │ └── models │ │ │ │ └── QuestStage.java │ │ ├── annotations │ │ │ └── Region.java │ │ ├── models │ │ │ ├── Quest.java │ │ │ └── QuestProgress.java │ │ ├── NullEventEffects.java │ │ ├── waypoints │ │ │ ├── CustomWaypoint.java │ │ │ └── IWaypoint.java │ │ ├── y2022 │ │ │ ├── pride22 │ │ │ │ └── quests │ │ │ │ │ ├── Pride22QuestReward.java │ │ │ │ │ ├── Pride22Quest.java │ │ │ │ │ ├── Pride22QuestItem.java │ │ │ │ │ └── Pride22QuestTask.java │ │ │ ├── halloween22 │ │ │ │ └── quests │ │ │ │ │ ├── Halloween22QuestReward.java │ │ │ │ │ ├── Halloween22Quest.java │ │ │ │ │ ├── Halloween22QuestItem.java │ │ │ │ │ └── Halloween22QuestTask.java │ │ │ └── easter22 │ │ │ │ └── quests │ │ │ │ └── Easter22Quest.java │ │ ├── EventSounds.java │ │ └── README.md │ ├── hub │ │ └── README.md │ ├── radio │ │ └── README.md │ ├── titan │ │ ├── models │ │ │ ├── Message.java │ │ │ ├── Serverbound.java │ │ │ └── Clientbound.java │ │ └── clientbound │ │ │ ├── ResetMinigame.java │ │ │ ├── SaturnUpdate.java │ │ │ ├── CustomBlocks.java │ │ │ ├── Decorations.java │ │ │ └── UpdateState.java │ ├── ambience │ │ ├── old │ │ │ ├── BlockScanner.java │ │ │ └── AmbienceUserOld.java │ │ ├── effects │ │ │ ├── common │ │ │ │ └── AmbientEffectConfig.java │ │ │ ├── birds │ │ │ │ └── common │ │ │ │ │ └── annotations │ │ │ │ │ ├── Birdhouse.java │ │ │ │ │ └── Biomes.java │ │ │ └── sounds │ │ │ │ └── common │ │ │ │ └── SoundEffectType.java │ │ └── managers │ │ │ └── common │ │ │ └── AmbienceManager.java │ ├── listeners │ │ ├── events │ │ │ └── fake │ │ │ │ ├── FakeEvent.java │ │ │ │ └── FakeBlockBreakEvent.java │ │ ├── common │ │ │ └── TemporaryListener.java │ │ └── Listeners.java │ ├── itemtags │ │ └── ITag.java │ ├── resourcepack │ │ ├── decoration │ │ │ ├── common │ │ │ │ └── interfaces │ │ │ │ │ ├── Interactable.java │ │ │ │ │ ├── ICouch.java │ │ │ │ │ ├── Structure.java │ │ │ │ │ ├── TickableDecoration.java │ │ │ │ │ ├── HasVirtualInventory.java │ │ │ │ │ └── MultiState.java │ │ │ ├── events │ │ │ │ └── DecorationRotateEvent.java │ │ │ └── types │ │ │ │ ├── Fireplace.java │ │ │ │ └── special │ │ │ │ └── MobPlushie.java │ │ ├── customblocks │ │ │ ├── models │ │ │ │ ├── common │ │ │ │ │ ├── IDirectional.java │ │ │ │ │ ├── IPistonActions.java │ │ │ │ │ ├── Unobtainable.java │ │ │ │ │ ├── IReDyeable.java │ │ │ │ │ └── CustomBlockConfig.java │ │ │ │ ├── tripwire │ │ │ │ │ ├── tripwire │ │ │ │ │ │ └── IActualTripwire.java │ │ │ │ │ ├── common │ │ │ │ │ │ └── ICraftableTripwire.java │ │ │ │ │ └── cover │ │ │ │ │ │ └── ICover.java │ │ │ │ └── noteblocks │ │ │ │ │ ├── common │ │ │ │ │ ├── ICraftableNoteBlock.java │ │ │ │ │ └── DirectionalConfig.java │ │ │ │ │ ├── genericcrate │ │ │ │ │ └── IGenericCrate.java │ │ │ │ │ └── shulker │ │ │ │ │ └── IShulkerBlock.java │ │ │ └── events │ │ │ │ ├── NoteBlockPlayEvent.java │ │ │ │ └── NoteBlockChangePitchEvent.java │ │ ├── models │ │ │ ├── events │ │ │ │ ├── ResourcePackUpdateStartEvent.java │ │ │ │ ├── ResourcePackUpdateCompleteEvent.java │ │ │ │ └── ResourcePackEvent.java │ │ │ └── annotations │ │ │ │ ├── HasCustomModelData.java │ │ │ │ ├── AllowInVanillaRecipes.java │ │ │ │ └── Name.java │ │ └── playerplushies │ │ │ └── Tier.java │ ├── skyblock │ │ └── README.md │ ├── tournament │ │ └── TournamentFeature.java │ ├── minigames │ │ ├── models │ │ │ ├── mechanics │ │ │ │ ├── MechanicGroup.java │ │ │ │ └── custom │ │ │ │ │ └── bingo │ │ │ │ │ └── challenge │ │ │ │ │ └── common │ │ │ │ │ ├── IItemChallenge.java │ │ │ │ │ ├── IEntityChallenge.java │ │ │ │ │ └── ProgressClass.java │ │ │ ├── IHasSpawnpoints.java │ │ │ ├── exceptions │ │ │ │ ├── NotYourTurnException.java │ │ │ │ ├── YourTurnIsOverException.java │ │ │ │ └── MinigameException.java │ │ │ ├── annotations │ │ │ │ ├── AntiCamp.java │ │ │ │ ├── TeamGlowing.java │ │ │ │ ├── Regenerating.java │ │ │ │ ├── MatchDataFor.java │ │ │ │ ├── Railgun.java │ │ │ │ ├── MatchStatisticsClass.java │ │ │ │ └── Scoreboard.java │ │ │ ├── statistics │ │ │ │ └── models │ │ │ │ │ └── generics │ │ │ │ │ ├── KillsStat.java │ │ │ │ │ ├── DeathsStat.java │ │ │ │ │ └── RailgunStatistics.java │ │ │ ├── events │ │ │ │ ├── lobby │ │ │ │ │ └── MinigamerLobbyEvent.java │ │ │ │ ├── matches │ │ │ │ │ ├── MatchEvent.java │ │ │ │ │ ├── teams │ │ │ │ │ │ └── TeamEvent.java │ │ │ │ │ ├── lobbies │ │ │ │ │ │ └── LobbyEvent.java │ │ │ │ │ └── minigamers │ │ │ │ │ │ └── MinigamerMatchEvent.java │ │ │ │ └── MinigameEvent.java │ │ │ ├── perks │ │ │ │ ├── common │ │ │ │ │ ├── HatMaterialPerk.java │ │ │ │ │ └── IParticlePerk.java │ │ │ │ └── IHasPerkCategory.java │ │ │ ├── MinigameMessageType.java │ │ │ └── matchdata │ │ │ │ └── CheckpointMatchData.java │ │ ├── menus │ │ │ ├── annotations │ │ │ │ ├── Scroll.java │ │ │ │ └── CustomMechanicSettings.java │ │ │ └── custom │ │ │ │ └── ICustomMechanicMenu.java │ │ ├── modifiers │ │ │ ├── NoJumping.java │ │ │ ├── NoModifier.java │ │ │ ├── BulletArrows.java │ │ │ ├── BingoBlackout.java │ │ │ └── BingoLockout.java │ │ └── mechanics │ │ │ ├── XRun.java │ │ │ └── Maze.java │ ├── recipes │ │ ├── functionals │ │ │ └── backpacks │ │ │ │ └── IBackpack.java │ │ └── models │ │ │ └── RecipeGroup.java │ ├── menus │ │ └── api │ │ │ └── annotations │ │ │ ├── Title.java │ │ │ ├── Uncloseable.java │ │ │ └── Rows.java │ ├── survival │ │ ├── difficulty │ │ │ └── ForDifficulty.java │ │ ├── models │ │ │ └── annotations │ │ │ │ ├── JobNPC.java │ │ │ │ └── NPCConfig.java │ │ └── structures │ │ │ ├── EditEntityProvider.java │ │ │ └── SpawnerCustomizerProvider.java │ ├── godmode │ │ └── events │ │ │ ├── GodmodeActivatedEvent.java │ │ │ └── GodmodeDeactivatedEvent.java │ ├── achievements │ │ └── events │ │ │ └── social │ │ │ └── poof │ │ │ ├── PoofToEvent.java │ │ │ └── PoofHereEvent.java │ ├── statistics │ │ └── StatisticsMenu.java │ ├── documentation │ │ └── Documentation.java │ ├── fakenpc │ │ ├── DefaultTrait.java │ │ └── events │ │ │ ├── FakeNPCLeftClickEvent.java │ │ │ └── FakeNPCRightClickEvent.java │ ├── virtualinventories │ │ ├── models │ │ │ ├── tiles │ │ │ │ ├── VirtualChunkKey.java │ │ │ │ └── impl │ │ │ │ │ ├── ChestTile.java │ │ │ │ │ └── BarrelTile.java │ │ │ ├── inventories │ │ │ │ └── VirtualPersonalInventory.java │ │ │ └── properties │ │ │ │ ├── VirtualInventoryProperties.java │ │ │ │ └── impl │ │ │ │ ├── BarrelProperties.java │ │ │ │ └── ChestProperties.java │ │ └── events │ │ │ ├── VirtualInventoryConstructEvent.java │ │ │ └── furnace │ │ │ ├── VirtualFurnaceEndEvent.java │ │ │ ├── VirtualFurnaceStartEvent.java │ │ │ └── VirtualFurnaceTickEvent.java │ ├── quests │ │ ├── interactable │ │ │ ├── InteractableEntity.java │ │ │ └── Inanimate.java │ │ ├── tasks │ │ │ └── common │ │ │ │ └── IQuestTask.java │ │ └── QuestShopMenu.java │ ├── minigolf │ │ └── models │ │ │ ├── Purchasable.java │ │ │ ├── Unlockable.java │ │ │ └── events │ │ │ ├── MiniGolfUserEvent.java │ │ │ ├── MiniGolfBallEvent.java │ │ │ ├── MiniGolfUserQuitEvent.java │ │ │ ├── MiniGolfBallBounceEvent.java │ │ │ └── MiniGolfBallModifierBlockEvent.java │ ├── wiki │ │ ├── WikiCommand.java │ │ └── MCWikiCommand.java │ ├── api │ │ └── annotations │ │ │ ├── Get.java │ │ │ └── Post.java │ ├── store │ │ ├── annotations │ │ │ ├── Id.java │ │ │ ├── World.java │ │ │ ├── ExpirationDays.java │ │ │ ├── PermissionGroup.java │ │ │ ├── Display.java │ │ │ ├── Commands.java │ │ │ └── Permissions.java │ │ └── gallery │ │ │ └── annotations │ │ │ ├── StorePackage.java │ │ │ └── RealCategory.java │ ├── discord │ │ └── commands │ │ │ ├── common │ │ │ └── annotations │ │ │ │ └── Verify.java │ │ │ └── justice │ │ │ ├── activate │ │ │ ├── BanAppCommand.java │ │ │ ├── KickAppCommand.java │ │ │ ├── MuteAppCommand.java │ │ │ ├── WarnAppCommand.java │ │ │ ├── AltBanAppCommand.java │ │ │ ├── FreezeAppCommand.java │ │ │ └── WatchlistAppCommand.java │ │ │ └── deactivate │ │ │ ├── UnBanAppCommand.java │ │ │ ├── UnMuteAppCommand.java │ │ │ ├── UnAltBanAppCommand.java │ │ │ └── UnFreezeAppCommand.java │ ├── votes │ │ └── party │ │ │ └── VotePartyResetJob.java │ ├── customenchants │ │ └── enchants │ │ │ └── BeheadingEnchant.java │ ├── regionapi │ │ └── MovementType.java │ ├── economy │ │ └── events │ │ │ └── NexusEconomyEvent.java │ ├── nameplates │ │ └── TeamAssigner.java │ ├── mcmmo │ │ └── reset │ │ │ └── annotations │ │ │ └── Reward.java │ ├── test │ │ └── pathfinder │ │ │ └── Pathfinder.java │ ├── workbenches │ │ └── ICraftableCustomBench.java │ ├── mobheads │ │ └── common │ │ │ └── HeadConfig.java │ ├── blockmechanics │ │ └── BlockMechanics.java │ ├── commands │ │ └── DoNothingCommand.java │ └── justice │ │ └── misc │ │ └── _JusticeCommand.java │ ├── lombok.config │ ├── models │ ├── checkpoint │ │ └── Pace.java │ ├── playerplushie │ │ └── PlayerPlushieVoucher.java │ ├── afk │ │ ├── events │ │ │ ├── NotAFKEvent.java │ │ │ └── NowAFKEvent.java │ │ └── AFKUserService.java │ ├── particle │ │ └── ParticleTask.java │ ├── chat │ │ ├── Channel.java │ │ └── ChatterService.java │ ├── crate │ │ └── CrateDisplay.java │ ├── quests │ │ ├── QuestTaskStepProgress.java │ │ └── QuesterService.java │ ├── tip │ │ └── TipService.java │ ├── pvp │ │ └── PVPService.java │ ├── queup │ │ └── QueUpService.java │ ├── warps │ │ └── WarpsService.java │ ├── alerts │ │ └── AlertsService.java │ ├── dnd │ │ └── DNDUserService.java │ ├── freeze │ │ └── FreezeService.java │ ├── push │ │ └── PushService.java │ ├── boost │ │ ├── BoosterService.java │ │ └── BoostConfigService.java │ ├── mode │ │ └── ModeUserService.java │ ├── ticket │ │ └── TicketsService.java │ ├── compass │ │ └── CompassService.java │ ├── plot │ │ └── PlotUserService.java │ ├── webs │ │ └── WebConfigService.java │ ├── whereis │ │ └── WhereIsService.java │ ├── badge │ │ └── BadgeUserService.java │ ├── dumpster │ │ └── DumpsterService.java │ ├── emoji │ │ └── EmojiUserService.java │ ├── referral │ │ └── ReferralService.java │ ├── perkowner │ │ └── PerkOwnerService.java │ ├── curiosity │ │ └── CuriosityService.java │ ├── friends │ │ └── FriendsUserService.java │ ├── legacy │ │ ├── LegacyUserService.java │ │ ├── shops │ │ │ └── LegacyShopService.java │ │ └── mail │ │ │ └── LegacyMailerService.java │ ├── modreview │ │ └── ModReviewService.java │ ├── profile │ │ └── ProfileUserService.java │ ├── recipes │ │ └── RecipeUserService.java │ ├── skincache │ │ └── SkinCacheService.java │ ├── statusbar │ │ └── StatusBarService.java │ ├── striplogs │ │ └── StripLogsService.java │ ├── trust │ │ └── TrustsUserService.java │ ├── vanish │ │ └── VanishUserService.java │ ├── wordle │ │ └── WordleUserService.java │ ├── jigsawjam │ │ └── JigsawJamService.java │ ├── party │ │ └── PartyUserService.java │ ├── pride21 │ │ └── Pride21UserService.java │ ├── radio │ │ └── RadioUserService.java │ ├── rule │ │ └── HasReadRulesService.java │ ├── skullhunt │ │ └── SkullHuntService.java │ ├── snoweffect │ │ └── SnowEffectService.java │ ├── socialmedia │ │ ├── TwitterService.java │ │ └── InstagramService.java │ ├── sudoku │ │ └── SudokuConfigService.java │ ├── trophy │ │ └── TrophyHolderService.java │ ├── voter │ │ └── VotePartyService.java │ ├── vulan24 │ │ ├── VuLan24UserService.java │ │ └── VuLan24ConfigService.java │ ├── autotorch │ │ └── AutoTorchService.java │ ├── creative │ │ └── CreativeUserService.java │ ├── easter21 │ │ └── Easter21UserService.java │ ├── honeypot │ │ ├── HoneyPotBansService.java │ │ └── HoneyPotGrieferService.java │ ├── minigolf │ │ ├── MiniGolfUserService.java │ │ └── MiniGolfConfigService.java │ ├── pugmas21 │ │ ├── Pugmas21UserService.java │ │ └── Advent21ConfigService.java │ ├── teleport │ │ └── TeleportUserService.java │ ├── discord │ │ └── DiscordConfigService.java │ ├── fakenpcs │ │ ├── users │ │ │ └── FakeNPCUserService.java │ │ └── config │ │ │ └── FakeNPCConfigService.java │ ├── mutemenu │ │ └── MuteMenuService.java │ ├── statuehunt │ │ └── StatueHuntService.java │ ├── ambience │ │ ├── AmbienceUserService.java │ │ └── AmbienceConfigService.java │ ├── birthday21 │ │ └── Birthday21UserService.java │ ├── bossfight │ │ └── BossFightUserService.java │ ├── buildcontest │ │ └── BuildContestService.java │ ├── decoration │ │ └── DecorationUserService.java │ ├── difficulty │ │ └── DifficultyUserService.java │ ├── extraplots │ │ └── ExtraPlotUserService.java │ ├── forcefield │ │ └── ForceFieldUserService.java │ ├── nameplates │ │ └── NameplateUserService.java │ ├── objective │ │ └── ObjectiveUserService.java │ ├── rainbowarmor │ │ └── RainbowArmorService.java │ ├── clientside │ │ └── ClientSideUserService.java │ ├── doublejump │ │ └── DoubleJumpUserService.java │ ├── newrankcolors │ │ └── NewRankColorsService.java │ ├── pugmas20 │ │ └── Pugmas20UserService.java │ ├── pugmas25 │ │ ├── Pugmas25ConfigService.java │ │ └── Advent25ConfigService.java │ ├── punishments │ │ ├── NameBanConfigService.java │ │ └── SkinBanConfigService.java │ ├── rainbowbeacon │ │ └── RainbowBeaconService.java │ ├── serializetest │ │ └── SerializeTestService.java │ ├── testquestuser │ │ └── TestQuestUserService.java │ ├── chatgames │ │ └── ChatGamesConfigService.java │ ├── hub │ │ └── HubTreasureHunterService.java │ ├── offline │ │ └── OfflineMessageService.java │ └── staffhall │ │ └── StaffHallConfigService.java │ ├── hooks │ ├── IHook.java │ └── viaversion │ │ └── ViaVersionHook.java │ ├── utils │ ├── UncheckedConsumer.java │ ├── nms │ │ └── packet │ │ │ ├── EdenPacket.java │ │ │ └── EntityDestroyPacket.java │ └── BiomeUtils.java │ └── framework │ ├── features │ ├── Unreleased.java │ └── Depends.java │ ├── annotations │ ├── Icon.java │ └── Date.java │ ├── persistence │ ├── mongodb │ │ └── MongoEntityService.java │ ├── mysql │ │ └── MySQLDatabase.java │ └── serializer │ │ └── mysql │ │ ├── LocationSerializer.java │ │ └── StringSetSerializer.java │ ├── exceptions │ ├── preconfigured │ │ ├── MissingArgumentException.java │ │ ├── MustBeConsoleException.java │ │ ├── NegativeBalanceException.java │ │ ├── MustBeIngameException.java │ │ ├── NotEnoughMoneyException.java │ │ ├── MustBeCommandBlockException.java │ │ ├── PreConfiguredException.java │ │ └── NoPermissionException.java │ └── postconfigured │ │ ├── PlayerNotFoundException.java │ │ ├── CrateOpeningException.java │ │ ├── PlayerNotOnlineException.java │ │ └── InvalidInputException.java │ ├── interfaces │ ├── HasDescription.java │ ├── IsColored.java │ └── impl │ │ └── ColoredImpl.java │ └── commands │ └── models │ └── annotations │ ├── HideFromHelp.java │ ├── Aliases.java │ ├── HideFromWiki.java │ ├── Switch.java │ ├── DoubleSlash.java │ ├── WikiConfig.java │ ├── Path.java │ ├── Description.java │ └── Cooldown.java ├── libs ├── GlowAPI.jar ├── BuycraftX.jar └── nuvotifier-universal-2.3.4.jar ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .editorconfig ├── .gitignore ├── settings.gradle.kts └── README.md /src/main/java/gg/projecteden/nexus/features/events/y2021/bearfair21/README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /libs/GlowAPI.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectEdenGG/Nexus/HEAD/libs/GlowAPI.jar -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | parchmentVersion=1.21.8-R0.1-SNAPSHOT 2 | edenApiVersion=2.3.13-SNAPSHOT -------------------------------------------------------------------------------- /libs/BuycraftX.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectEdenGG/Nexus/HEAD/libs/BuycraftX.jar -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/lombok.config: -------------------------------------------------------------------------------- 1 | config.stopBubbling=true 2 | lombok.equalsAndHashCode.callSuper=call -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectEdenGG/Nexus/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /libs/nuvotifier-universal-2.3.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectEdenGG/Nexus/HEAD/libs/nuvotifier-universal-2.3.4.jar -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | [*.java] 2 | charset=utf-8 3 | end_of_line=lf 4 | insert_final_newline=true 5 | indent_style=tab 6 | indent_size=4 7 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/hub/README.md: -------------------------------------------------------------------------------- 1 | # TODO 2 | - Hotbar compass to /warps 3 | - Walls of Grace 4 | - New name -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/radio/README.md: -------------------------------------------------------------------------------- 1 | TODO 2 | - playlist shows which song is current playing 3 | - multiple locations for radius radios 4 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/titan/models/Message.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.titan.models; 2 | 3 | public interface Message { 4 | } 5 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/ambience/old/BlockScanner.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.ambience.old; 2 | 3 | public class BlockScanner { 4 | } 5 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/checkpoint/Pace.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.checkpoint; 2 | 3 | public record Pace(String header, String body) { 4 | } 5 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/listeners/events/fake/FakeEvent.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.listeners.events.fake; 2 | 3 | public interface FakeEvent { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/itemtags/ITag.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.itemtags; 2 | 3 | public interface ITag { 4 | String name(); 5 | 6 | String getTag(); 7 | } 8 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .settings 2 | .idea/ 3 | *.iml 4 | bin/ 5 | target/ 6 | build/ 7 | .class 8 | .DS_Store 9 | .classpath 10 | .project 11 | dependency-reduced-pom.xml 12 | logs/ 13 | javac.*.args 14 | .gradle/ 15 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/hooks/IHook.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.hooks; 2 | 3 | import org.bukkit.event.Listener; 4 | 5 | public abstract class IHook> implements Listener { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/utils/UncheckedConsumer.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.utils; 2 | 3 | @FunctionalInterface 4 | public interface UncheckedConsumer { 5 | void accept(T var1) throws Exception; 6 | } 7 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/resourcepack/decoration/common/interfaces/Interactable.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.resourcepack.decoration.common.interfaces; 2 | 3 | public interface Interactable { 4 | } 5 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/events/aeveonproject/sets/vespyr/Particles.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.events.aeveonproject.sets.vespyr; 2 | 3 | public class Particles { 4 | public Particles() { 5 | 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/ambience/effects/common/AmbientEffectConfig.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.ambience.effects.common; 2 | 3 | public interface AmbientEffectConfig { 4 | 5 | T getEffectType(); 6 | 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/resourcepack/customblocks/models/common/IDirectional.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.resourcepack.customblocks.models.common; 2 | 3 | public interface IDirectional extends ICustomBlock { 4 | } 5 | -------------------------------------------------------------------------------- /settings.gradle.kts: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | gradlePluginPortal() 4 | mavenLocal() 5 | maven("https://repo.papermc.io/repository/maven-public/") 6 | } 7 | } 8 | 9 | rootProject.name = "Nexus" 10 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/skyblock/README.md: -------------------------------------------------------------------------------- 1 | Ideas to make it more interesting or harder: 2 | - XX hour speedrun contest 3 | - Point is to get them to reset and keep them interested 4 | - Tark: disable some default crafting recipes 5 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/tournament/TournamentFeature.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.tournament; 2 | 3 | import gg.projecteden.nexus.framework.features.Feature; 4 | 5 | public class TournamentFeature extends Feature { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/events/y2026/halloween26/README.md: -------------------------------------------------------------------------------- 1 | BlockParty song suggestions: 2 | - [ ] Dragula 3 | - [ ] Scooby-Doo 4 | - [ ] Surfin' Spooks 5 | - [ ] No one lives forever 6 | - [ ] Rock Lobster 7 | - [ ] Psycho Killer 8 | - [ ] Pet Sematary - Ramones -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/models/mechanics/MechanicGroup.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.models.mechanics; 2 | 3 | public enum MechanicGroup { 4 | 5 | ARCADE, 6 | PVP, 7 | SURVIVAL, 8 | TIMED, 9 | CLASSIC, 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/playerplushie/PlayerPlushieVoucher.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.playerplushie; 2 | 3 | import gg.projecteden.nexus.features.resourcepack.playerplushies.Tier; 4 | 5 | public class PlayerPlushieVoucher { 6 | private Tier tier; 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/recipes/functionals/backpacks/IBackpack.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.recipes.functionals.backpacks; 2 | 3 | import org.bukkit.inventory.ItemStack; 4 | 5 | public interface IBackpack { 6 | 7 | ItemStack getItem(); 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/models/IHasSpawnpoints.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.models; 2 | 3 | import org.bukkit.Location; 4 | 5 | import java.util.List; 6 | 7 | public interface IHasSpawnpoints { 8 | List getSpawnpoints(); 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/titan/models/Serverbound.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.titan.models; 2 | 3 | import org.bukkit.entity.Player; 4 | 5 | public abstract class Serverbound implements Message { 6 | 7 | public void onReceive(Player player) {} 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/framework/features/Unreleased.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.framework.features; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface Unreleased { 8 | } 9 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/afk/events/NotAFKEvent.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.afk.events; 2 | 3 | import gg.projecteden.nexus.models.afk.AFKUser; 4 | 5 | public class NotAFKEvent extends AFKEvent { 6 | 7 | public NotAFKEvent(AFKUser user) { 8 | super(user); 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/afk/events/NowAFKEvent.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.afk.events; 2 | 3 | import gg.projecteden.nexus.models.afk.AFKUser; 4 | 5 | public class NowAFKEvent extends AFKEvent { 6 | 7 | public NowAFKEvent(AFKUser user) { 8 | super(user); 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/menus/annotations/Scroll.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.menus.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface Scroll { 8 | } 9 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/models/exceptions/NotYourTurnException.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.models.exceptions; 2 | 3 | public class NotYourTurnException extends MinigameException { 4 | public NotYourTurnException() { 5 | super("Please wait until your turn"); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/resourcepack/models/events/ResourcePackUpdateStartEvent.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.resourcepack.models.events; 2 | 3 | import lombok.NoArgsConstructor; 4 | 5 | @NoArgsConstructor 6 | public class ResourcePackUpdateStartEvent extends ResourcePackEvent { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/framework/annotations/Icon.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.framework.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface Icon { 8 | String value(); 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/resourcepack/models/events/ResourcePackUpdateCompleteEvent.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.resourcepack.models.events; 2 | 3 | import lombok.NoArgsConstructor; 4 | 5 | @NoArgsConstructor 6 | public class ResourcePackUpdateCompleteEvent extends ResourcePackEvent { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/models/annotations/AntiCamp.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.models.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface AntiCamp { 8 | } 9 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/models/exceptions/YourTurnIsOverException.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.models.exceptions; 2 | 3 | public class YourTurnIsOverException extends MinigameException { 4 | public YourTurnIsOverException() { 5 | super("Your turn is already over"); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/models/annotations/TeamGlowing.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.models.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface TeamGlowing { 8 | } 9 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/particle/ParticleTask.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.particle; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | 6 | @Data 7 | @AllArgsConstructor 8 | public class ParticleTask { 9 | private ParticleType particleType; 10 | private int taskId; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/menus/api/annotations/Title.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.menus.api.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface Title { 8 | String value(); 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/framework/annotations/Date.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.framework.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface Date { 8 | int m(); 9 | int d(); 10 | int y(); 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/framework/persistence/mongodb/MongoEntityService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.framework.persistence.mongodb; 2 | 3 | import gg.projecteden.nexus.framework.interfaces.EntityOwnedObject; 4 | 5 | public abstract class MongoEntityService extends MongoBukkitService { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/resourcepack/decoration/common/interfaces/ICouch.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.resourcepack.decoration.common.interfaces; 2 | 3 | public interface ICouch { 4 | 5 | CouchPart getCouchPart(); 6 | 7 | enum CouchPart { 8 | STRAIGHT, 9 | END, 10 | CORNER, 11 | ; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/resourcepack/playerplushies/Tier.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.resourcepack.playerplushies; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Getter; 5 | 6 | @Getter 7 | @AllArgsConstructor 8 | public enum Tier { 9 | TIER_1, 10 | TIER_2, 11 | TIER_3, 12 | SERVER, 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/framework/exceptions/preconfigured/MissingArgumentException.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.framework.exceptions.preconfigured; 2 | 3 | public class MissingArgumentException extends PreConfiguredException { 4 | 5 | public MissingArgumentException() { 6 | super("Missing argument"); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/framework/exceptions/preconfigured/MustBeConsoleException.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.framework.exceptions.preconfigured; 2 | 3 | public class MustBeConsoleException extends PreConfiguredException { 4 | 5 | public MustBeConsoleException() { 6 | super("You must be console to use this command"); 7 | } 8 | 9 | } -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/resourcepack/models/annotations/HasCustomModelData.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.resourcepack.models.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface HasCustomModelData {} 8 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/resourcepack/models/annotations/AllowInVanillaRecipes.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.resourcepack.models.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface AllowInVanillaRecipes {} 8 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/resourcepack/models/annotations/Name.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.resourcepack.models.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface Name { 8 | String value(); 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/survival/difficulty/ForDifficulty.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.survival.difficulty; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface ForDifficulty { 8 | Difficulty[] value(); 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/survival/models/annotations/JobNPC.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.survival.models.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface JobNPC { 8 | // TODO: JOB TYPE ? 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/framework/exceptions/preconfigured/NegativeBalanceException.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.framework.exceptions.preconfigured; 2 | 3 | public class NegativeBalanceException extends PreConfiguredException { 4 | 5 | public NegativeBalanceException() { 6 | super("Balances cannot be negative"); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/survival/structures/EditEntityProvider.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.survival.structures; 2 | 3 | import gg.projecteden.nexus.features.menus.api.content.InventoryProvider; 4 | 5 | public class EditEntityProvider extends InventoryProvider { 6 | @Override 7 | public void init() { 8 | 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/framework/exceptions/preconfigured/MustBeIngameException.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.framework.exceptions.preconfigured; 2 | 3 | public class MustBeIngameException extends PreConfiguredException { 4 | 5 | public MustBeIngameException() { 6 | super("You must be in-game to use this command"); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/godmode/events/GodmodeActivatedEvent.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.godmode.events; 2 | 3 | import gg.projecteden.nexus.models.godmode.Godmode; 4 | 5 | public class GodmodeActivatedEvent extends GodmodeEvent { 6 | 7 | public GodmodeActivatedEvent(Godmode user) { 8 | super(user); 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/godmode/events/GodmodeDeactivatedEvent.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.godmode.events; 2 | 3 | import gg.projecteden.nexus.models.godmode.Godmode; 4 | 5 | public class GodmodeDeactivatedEvent extends GodmodeEvent { 6 | 7 | public GodmodeDeactivatedEvent(Godmode user) { 8 | super(user); 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/achievements/events/social/poof/PoofToEvent.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.achievements.events.social.poof; 2 | 3 | import org.bukkit.entity.Player; 4 | 5 | public class PoofToEvent extends PoofEvent { 6 | 7 | public PoofToEvent(Player initiator, Player acceptor) { 8 | super(initiator, acceptor); 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/models/annotations/Regenerating.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.models.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface Regenerating { 8 | String[] value() default ""; 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/survival/structures/SpawnerCustomizerProvider.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.survival.structures; 2 | 3 | import gg.projecteden.nexus.features.menus.api.content.InventoryProvider; 4 | 5 | public class SpawnerCustomizerProvider extends InventoryProvider { 6 | 7 | @Override 8 | public void init() { 9 | 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/framework/exceptions/preconfigured/NotEnoughMoneyException.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.framework.exceptions.preconfigured; 2 | 3 | public class NotEnoughMoneyException extends PreConfiguredException { 4 | 5 | public NotEnoughMoneyException() { 6 | super("You do not have enough money to complete this transaction"); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/resourcepack/customblocks/models/tripwire/tripwire/IActualTripwire.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.resourcepack.customblocks.models.tripwire.tripwire; 2 | 3 | import gg.projecteden.nexus.features.resourcepack.customblocks.models.tripwire.common.ICustomTripwire; 4 | 5 | public interface IActualTripwire extends ICustomTripwire { 6 | } 7 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/survival/models/annotations/NPCConfig.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.survival.models.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface NPCConfig { 8 | int npcId(); 9 | 10 | String skinId(); 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/framework/exceptions/preconfigured/MustBeCommandBlockException.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.framework.exceptions.preconfigured; 2 | 3 | public class MustBeCommandBlockException extends PreConfiguredException { 4 | 5 | public MustBeCommandBlockException() { 6 | super("You must be a command block to use this command"); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/achievements/events/social/poof/PoofHereEvent.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.achievements.events.social.poof; 2 | 3 | import org.bukkit.entity.Player; 4 | 5 | public class PoofHereEvent extends PoofEvent { 6 | 7 | public PoofHereEvent(Player initiator, Player acceptor) { 8 | super(initiator, acceptor); 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/models/exceptions/MinigameException.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.models.exceptions; 2 | 3 | import gg.projecteden.nexus.framework.exceptions.NexusException; 4 | 5 | public class MinigameException extends NexusException { 6 | public MinigameException(String message) { 7 | super(message); 8 | } 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/resourcepack/customblocks/models/tripwire/common/ICraftableTripwire.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.resourcepack.customblocks.models.tripwire.common; 2 | 3 | import gg.projecteden.nexus.features.resourcepack.customblocks.models.common.ICraftable; 4 | 5 | public interface ICraftableTripwire extends ICraftable, ICustomTripwire { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/resourcepack/customblocks/models/noteblocks/common/ICraftableNoteBlock.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.resourcepack.customblocks.models.noteblocks.common; 2 | 3 | import gg.projecteden.nexus.features.resourcepack.customblocks.models.common.ICraftable; 4 | 5 | public interface ICraftableNoteBlock extends ICraftable, ICustomNoteBlock { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/events/EdenEventGameConfig.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.events; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface EdenEventGameConfig { 8 | String prefix(); 9 | 10 | String world(); 11 | 12 | String playRegion(); 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/statistics/StatisticsMenu.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.statistics; 2 | 3 | public class StatisticsMenu { 4 | 5 | public enum StatsMenus { 6 | MAIN, 7 | GENERAL, 8 | BLOCKS, 9 | ITEMS, 10 | MOBS; 11 | 12 | public int getSize() { 13 | if (this.equals(MAIN)) 14 | return 3; 15 | return 6; 16 | } 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/hooks/viaversion/ViaVersionHook.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.hooks.viaversion; 2 | 3 | import gg.projecteden.nexus.hooks.IHook; 4 | import org.bukkit.entity.Player; 5 | 6 | public class ViaVersionHook extends IHook { 7 | 8 | public String getPlayerVersion(Player player) { 9 | return "Unknown (ViaVersion not loaded)"; 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/documentation/Documentation.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.documentation; 2 | 3 | import gg.projecteden.nexus.framework.features.Feature; 4 | import gg.projecteden.nexus.utils.Tasks; 5 | 6 | public class Documentation extends Feature { 7 | 8 | @Override 9 | public void onStart() { 10 | Tasks.async(DocumentCommands::new); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/resourcepack/customblocks/models/common/IPistonActions.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.resourcepack.customblocks.models.common; 2 | 3 | public interface IPistonActions { 4 | 5 | PistonAction getPistonPushAction(); 6 | 7 | PistonAction getPistonPullAction(); 8 | 9 | enum PistonAction { 10 | MOVE, 11 | PREVENT, 12 | BREAK; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/framework/exceptions/postconfigured/PlayerNotFoundException.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.framework.exceptions.postconfigured; 2 | 3 | public class PlayerNotFoundException extends gg.projecteden.api.common.exceptions.postconfigured.PlayerNotFoundException { 4 | 5 | public PlayerNotFoundException(String input) { 6 | super("&e" + input + "&c"); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/fakenpc/DefaultTrait.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.fakenpc; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Target(ElementType.TYPE) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface DefaultTrait {} 11 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/models/statistics/models/generics/KillsStat.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.models.statistics.models.generics; 2 | 3 | import gg.projecteden.nexus.features.minigames.models.statistics.models.MinigameStatistic; 4 | 5 | public interface KillsStat { 6 | 7 | MinigameStatistic KILLS = new MinigameStatistic("kills", "Kills"); 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/virtualinventories/models/tiles/VirtualChunkKey.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.virtualinventories.models.tiles; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.EqualsAndHashCode; 5 | import lombok.Getter; 6 | 7 | @Getter 8 | @AllArgsConstructor 9 | @EqualsAndHashCode 10 | public class VirtualChunkKey { 11 | 12 | final int x, z; 13 | 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/events/y2020/halloween20/models/QuestStage.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.events.y2020.halloween20.models; 2 | 3 | public class QuestStage { 4 | 5 | public enum LostPumpkins { 6 | NOT_STARTED, 7 | STARTED, 8 | FOUND_ALL, 9 | COMPLETE 10 | } 11 | 12 | public enum Combination { 13 | NOT_STARTED, 14 | STARTED, 15 | COMPLETE 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/models/statistics/models/generics/DeathsStat.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.models.statistics.models.generics; 2 | 3 | import gg.projecteden.nexus.features.minigames.models.statistics.models.MinigameStatistic; 4 | 5 | public interface DeathsStat { 6 | 7 | MinigameStatistic DEATHS = new MinigameStatistic("deaths", "Deaths"); 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/quests/interactable/InteractableEntity.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.quests.interactable; 2 | 3 | import org.bukkit.entity.Entity; 4 | 5 | import java.util.UUID; 6 | import java.util.function.Predicate; 7 | 8 | public interface InteractableEntity extends Interactable { 9 | 10 | UUID getUuid(); 11 | 12 | Predicate getPredicate(); 13 | 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/listeners/common/TemporaryListener.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.listeners.common; 2 | 3 | import gg.projecteden.parchment.HasPlayer; 4 | import org.bukkit.entity.Player; 5 | import org.bukkit.event.Listener; 6 | 7 | public interface TemporaryListener extends Listener, HasPlayer { 8 | 9 | Player getPlayer(); 10 | 11 | default void unregister() {} 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigolf/models/Purchasable.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigolf.models; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Target(ElementType.FIELD) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface Purchasable {} 11 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigolf/models/Unlockable.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigolf.models; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Target(ElementType.FIELD) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface Unlockable {} 11 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/chat/Channel.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.chat; 2 | 3 | import net.md_5.bungee.api.ChatColor; 4 | 5 | import java.util.Set; 6 | 7 | public interface Channel { 8 | 9 | Set getRecipients(Chatter chatter); 10 | 11 | String getAssignMessage(Chatter chatter); 12 | 13 | default ChatColor getMessageColor() { 14 | return ChatColor.WHITE; 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/virtualinventories/models/inventories/VirtualPersonalInventory.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.virtualinventories.models.inventories; 2 | 3 | import org.bukkit.Location; 4 | import org.bukkit.entity.Player; 5 | 6 | import java.util.UUID; 7 | 8 | public interface VirtualPersonalInventory { 9 | UUID getOwner(); 10 | Player getPlayer(); 11 | Location getLocation(); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/fakenpc/events/FakeNPCLeftClickEvent.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.fakenpc.events; 2 | 3 | import gg.projecteden.nexus.models.fakenpcs.npcs.FakeNPC; 4 | import org.bukkit.entity.Player; 5 | 6 | public class FakeNPCLeftClickEvent extends FakeNPCClickEvent { 7 | 8 | public FakeNPCLeftClickEvent(FakeNPC npc, Player leftClicker) { 9 | super(npc, leftClicker); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/quests/interactable/Inanimate.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.quests.interactable; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Target(ElementType.FIELD) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface Inanimate { 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/wiki/WikiCommand.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.wiki; 2 | 3 | import gg.projecteden.nexus.framework.commands.models.events.CommandEvent; 4 | 5 | public class WikiCommand extends _WikiSearchCommand { 6 | 7 | public WikiCommand(CommandEvent event) { 8 | super(event); 9 | } 10 | 11 | @Override 12 | WikiType getWikiType() { 13 | return WikiType.SERVER; 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/framework/interfaces/HasDescription.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.framework.interfaces; 2 | 3 | import org.jetbrains.annotations.NotNull; 4 | 5 | /** 6 | * Represents an object that can be described 7 | */ 8 | public interface HasDescription { 9 | /** 10 | * Gets the description of this object 11 | * @return a human-readable string 12 | */ 13 | @NotNull String getDescription(); 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/api/annotations/Get.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.api.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Target(ElementType.METHOD) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface Get { 11 | String value(); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/api/annotations/Post.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.api.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Target(ElementType.METHOD) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface Post { 11 | String value(); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/fakenpc/events/FakeNPCRightClickEvent.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.fakenpc.events; 2 | 3 | import gg.projecteden.nexus.models.fakenpcs.npcs.FakeNPC; 4 | import org.bukkit.entity.Player; 5 | 6 | public class FakeNPCRightClickEvent extends FakeNPCClickEvent { 7 | 8 | public FakeNPCRightClickEvent(FakeNPC npc, Player rightClicker) { 9 | super(npc, rightClicker); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/menus/api/annotations/Uncloseable.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.menus.api.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Target(ElementType.TYPE) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface Uncloseable { 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/store/annotations/Id.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.store.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Target(ElementType.FIELD) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface Id { 11 | String value(); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/framework/persistence/mysql/MySQLDatabase.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.framework.persistence.mysql; 2 | 3 | public enum MySQLDatabase { 4 | BEARNATION, 5 | LITEBANS, 6 | NAMELESS, 7 | SMP_LWC; 8 | 9 | public String getDatabase() { 10 | String name = name().toLowerCase(); 11 | 12 | if ("bearnation".equals(name)) 13 | return name; 14 | 15 | return "bearnation_" + name; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/menus/api/annotations/Rows.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.menus.api.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Target(ElementType.TYPE) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface Rows { 11 | int value(); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/models/statistics/models/generics/RailgunStatistics.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.models.statistics.models.generics; 2 | 3 | import gg.projecteden.nexus.features.minigames.models.statistics.models.MinigameStatistic; 4 | 5 | public interface RailgunStatistics { 6 | 7 | MinigameStatistic SHOTS_FIRED = new MinigameStatistic("shots_fired", "Shots Fired"); 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/store/annotations/World.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.store.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Target(ElementType.FIELD) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface World { 11 | String value(); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/titan/clientbound/ResetMinigame.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.titan.clientbound; 2 | 3 | import gg.projecteden.nexus.features.titan.models.Clientbound; 4 | import gg.projecteden.nexus.features.titan.models.PluginMessage; 5 | 6 | public class ResetMinigame extends Clientbound { 7 | @Override 8 | public PluginMessage getType() { 9 | return PluginMessage.RESET_MINIGAME; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/events/annotations/Region.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.events.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Target(ElementType.TYPE) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface Region { 11 | String value(); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/titan/clientbound/SaturnUpdate.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.titan.clientbound; 2 | 3 | import gg.projecteden.nexus.features.titan.models.Clientbound; 4 | import gg.projecteden.nexus.features.titan.models.PluginMessage; 5 | 6 | public class SaturnUpdate extends Clientbound { 7 | 8 | @Override 9 | public PluginMessage getType() { 10 | return PluginMessage.SATURN_UPDATE; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/framework/features/Depends.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.framework.features; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Target(ElementType.TYPE) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface Depends { 11 | Class[] value(); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/framework/interfaces/IsColored.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.framework.interfaces; 2 | 3 | import org.jetbrains.annotations.NotNull; 4 | 5 | /** 6 | * Represents an object that has a {@link Colored} object. 7 | */ 8 | public interface IsColored { 9 | /** 10 | * Gets the {@link Colored} object associated with this object 11 | * @return colored object 12 | */ 13 | @NotNull Colored colored(); 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/events/models/Quest.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.events.models; 2 | 3 | import java.util.Map; 4 | import java.util.function.Function; 5 | 6 | public interface Quest { 7 | 8 | Function> getInstructions(); 9 | 10 | default String getInstructions(T user, QuestStage stage) { 11 | return getInstructions().apply(user).getOrDefault(stage, null); 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigolf/models/events/MiniGolfUserEvent.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigolf.models.events; 2 | 3 | import gg.projecteden.nexus.models.minigolf.MiniGolfUser; 4 | import lombok.Getter; 5 | 6 | public class MiniGolfUserEvent extends MiniGolfEvent { 7 | @Getter 8 | protected MiniGolfUser user; 9 | 10 | public MiniGolfUserEvent(final MiniGolfUser user) { 11 | this.user = user; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/titan/clientbound/CustomBlocks.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.titan.clientbound; 2 | 3 | import gg.projecteden.nexus.features.titan.models.Clientbound; 4 | import gg.projecteden.nexus.features.titan.models.PluginMessage; 5 | 6 | public class CustomBlocks extends Clientbound { 7 | 8 | @Override 9 | public PluginMessage getType() { 10 | return PluginMessage.CUSTOM_BLOCKS; 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/titan/clientbound/Decorations.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.titan.clientbound; 2 | 3 | import gg.projecteden.nexus.features.titan.models.Clientbound; 4 | import gg.projecteden.nexus.features.titan.models.PluginMessage; 5 | 6 | public class Decorations extends Clientbound { 7 | 8 | @Override 9 | public PluginMessage getType() { 10 | return PluginMessage.DECORATIONS; 11 | } 12 | 13 | 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/framework/exceptions/preconfigured/PreConfiguredException.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.framework.exceptions.preconfigured; 2 | 3 | import gg.projecteden.nexus.framework.exceptions.NexusException; 4 | import net.md_5.bungee.api.ChatColor; 5 | 6 | public class PreConfiguredException extends NexusException { 7 | 8 | public PreConfiguredException(String message) { 9 | super(ChatColor.RED + message); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/resourcepack/customblocks/models/tripwire/cover/ICover.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.resourcepack.customblocks.models.tripwire.cover; 2 | 3 | import gg.projecteden.nexus.features.resourcepack.customblocks.models.tripwire.common.IRequireSupport; 4 | 5 | public interface ICover extends IRequireSupport { 6 | @Override 7 | default boolean requiresCorrectToolForDrops() { 8 | return false; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/store/annotations/ExpirationDays.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.store.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Target(ElementType.FIELD) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface ExpirationDays { 11 | int value(); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/events/NullEventEffects.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.events; 2 | 3 | import gg.projecteden.nexus.features.effects.Effects; 4 | import lombok.NoArgsConstructor; 5 | 6 | @NoArgsConstructor 7 | public class NullEventEffects extends Effects { 8 | 9 | @Override 10 | public void onStart() { 11 | super.onStart(); 12 | } 13 | 14 | @Override 15 | public void onStop() { 16 | super.onStop(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/store/annotations/PermissionGroup.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.store.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Target(ElementType.FIELD) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface PermissionGroup { 11 | String value(); 12 | } 13 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Nexus 2 | [Project Eden](https://projecteden.gg)'s main java plugin 3 | 4 | ## Building 5 | We use Gradle for dependency management and build instructions. After cloning the project, run `./gradlew[.bat] build` in the root of the project. The jar will be inside the `/build/libs` folder. 6 | 7 | ## Contact 8 | [](https://discord.projecteden.gg) 9 | 10 | or Griffin#2387 11 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/models/annotations/MatchDataFor.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.models.annotations; 2 | 3 | import gg.projecteden.nexus.features.minigames.models.mechanics.Mechanic; 4 | 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.RetentionPolicy; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | public @interface MatchDataFor { 10 | Class[] value(); 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/ambience/effects/birds/common/annotations/Birdhouse.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.ambience.effects.birds.common.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Target(ElementType.FIELD) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface Birdhouse {} 11 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/models/annotations/Railgun.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.models.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface Railgun { 8 | int cooldownTicks() default 24; 9 | 10 | boolean damageWithConsole() default false; 11 | 12 | boolean mustBeGliding() default false; 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/quests/tasks/common/IQuestTask.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.quests.tasks.common; 2 | 3 | import gg.projecteden.nexus.features.quests.tasks.common.QuestTask.TaskBuilder; 4 | 5 | public interface IQuestTask { 6 | 7 | String name(); 8 | 9 | default QuestTask get() { 10 | return QuestTask.CACHE.computeIfAbsent(this, $ -> builder().build()); 11 | } 12 | 13 | TaskBuilder builder(); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/models/events/lobby/MinigamerLobbyEvent.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.models.events.lobby; 2 | 3 | import gg.projecteden.nexus.features.minigames.models.Minigamer; 4 | import gg.projecteden.nexus.features.minigames.models.events.MinigameEvent; 5 | import lombok.Data; 6 | 7 | @Data 8 | public abstract class MinigamerLobbyEvent extends MinigameEvent { 9 | private final Minigamer minigamer; 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/resourcepack/customblocks/models/common/Unobtainable.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.resourcepack.customblocks.models.common; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Target(ElementType.TYPE) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface Unobtainable { 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/resourcepack/decoration/common/interfaces/Structure.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.resourcepack.decoration.common.interfaces; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Target(ElementType.TYPE) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface Structure { 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/virtualinventories/events/VirtualInventoryConstructEvent.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.virtualinventories.events; 2 | 3 | import gg.projecteden.nexus.features.virtualinventories.models.inventories.VirtualInventory; 4 | 5 | public class VirtualInventoryConstructEvent extends VirtualInventoryEvent { 6 | 7 | public VirtualInventoryConstructEvent(VirtualInventory inventory) { 8 | super(inventory); 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/crate/CrateDisplay.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.crate; 2 | 3 | import org.bukkit.entity.Player; 4 | import org.bukkit.inventory.ItemStack; 5 | 6 | public interface CrateDisplay { 7 | 8 | String getDisplayName(); 9 | 10 | ItemStack getDisplayItem(); 11 | 12 | double getWeight(); 13 | 14 | default double getWeightForPlayer(Player player) { 15 | return getWeight(); 16 | } 17 | 18 | boolean isActive(); 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/ambience/managers/common/AmbienceManager.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.ambience.managers.common; 2 | 3 | import gg.projecteden.nexus.models.ambience.AmbienceUser; 4 | 5 | public abstract class AmbienceManager { 6 | 7 | public void tick() {} 8 | 9 | public void update(AmbienceUser user) {} 10 | 11 | public void init(AmbienceUser user) {} 12 | 13 | public void onStart() {} 14 | 15 | public void onStop() {} 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/menus/annotations/CustomMechanicSettings.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.menus.annotations; 2 | 3 | import gg.projecteden.nexus.features.minigames.models.mechanics.Mechanic; 4 | 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.RetentionPolicy; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | public @interface CustomMechanicSettings { 10 | Class[] value(); 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/models/annotations/MatchStatisticsClass.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.models.annotations; 2 | 3 | import gg.projecteden.nexus.features.minigames.models.MatchStatistics; 4 | 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.RetentionPolicy; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | public @interface MatchStatisticsClass { 10 | Class value(); 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/virtualinventories/models/properties/VirtualInventoryProperties.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.virtualinventories.models.properties; 2 | 3 | import lombok.Data; 4 | import lombok.experimental.Accessors; 5 | import org.bukkit.event.inventory.InventoryType; 6 | 7 | @Data 8 | @Accessors(fluent = true, chain = true) 9 | public abstract class VirtualInventoryProperties { 10 | public abstract InventoryType inventoryType(); 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/discord/commands/common/annotations/Verify.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.discord.commands.common.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Target({ElementType.TYPE, ElementType.METHOD}) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface Verify { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/resourcepack/decoration/common/interfaces/TickableDecoration.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.resourcepack.decoration.common.interfaces; 2 | 3 | import gg.projecteden.nexus.features.resourcepack.decoration.Decorations; 4 | import org.bukkit.Location; 5 | 6 | public interface TickableDecoration { 7 | void tick(Location location); 8 | 9 | default boolean shouldTick() { 10 | return !Decorations.isServerReloading(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/events/models/QuestProgress.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.events.models; 2 | 3 | import lombok.Data; 4 | import lombok.NoArgsConstructor; 5 | import lombok.NonNull; 6 | import lombok.RequiredArgsConstructor; 7 | 8 | // TODO Needs better name 9 | 10 | @Data 11 | @NoArgsConstructor 12 | @RequiredArgsConstructor 13 | public class QuestProgress { 14 | @NonNull 15 | private Quest quest; 16 | private QuestStage questStage; 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/framework/exceptions/postconfigured/CrateOpeningException.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.framework.exceptions.postconfigured; 2 | 3 | public class CrateOpeningException extends PostConfiguredException { 4 | 5 | /** 6 | * Used to full stop a crate process at any point and reset it. 7 | * 8 | * @param message The message to send to the player 9 | */ 10 | public CrateOpeningException(String message) { 11 | super(message); 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/models/events/matches/MatchEvent.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.models.events.matches; 2 | 3 | import gg.projecteden.nexus.features.minigames.models.Match; 4 | import gg.projecteden.nexus.features.minigames.models.events.MinigameEvent; 5 | import lombok.Data; 6 | import lombok.NonNull; 7 | 8 | @Data 9 | public abstract class MatchEvent extends MinigameEvent { 10 | @NonNull 11 | protected final Match match; 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/models/perks/common/HatMaterialPerk.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.models.perks.common; 2 | 3 | import org.bukkit.Material; 4 | import org.bukkit.inventory.ItemStack; 5 | import org.jetbrains.annotations.NotNull; 6 | 7 | public interface HatMaterialPerk extends HatPerk { 8 | Material getMaterial(); 9 | 10 | @Override 11 | default @NotNull ItemStack getItem() { 12 | return new ItemStack(getMaterial()); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/resourcepack/decoration/common/interfaces/HasVirtualInventory.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.resourcepack.decoration.common.interfaces; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Target(ElementType.TYPE) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface HasVirtualInventory { 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/models/MinigameMessageType.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.models; 2 | 3 | /** 4 | * Different types of messages sent in chat during minigames. 5 | */ 6 | public enum MinigameMessageType { 7 | /** 8 | * Sent when a player joins a minigame. 9 | */ 10 | JOIN, 11 | /** 12 | * Sent when a player leaves a minigame. 13 | */ 14 | QUIT, 15 | /** 16 | * Sent when a player dies in a minigame. 17 | */ 18 | DEATH 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/recipes/models/RecipeGroup.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.recipes.models; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.EqualsAndHashCode; 5 | import lombok.Getter; 6 | import org.bukkit.inventory.ItemStack; 7 | 8 | @Getter 9 | @AllArgsConstructor 10 | @EqualsAndHashCode 11 | public class RecipeGroup { 12 | @EqualsAndHashCode.Include 13 | final int id; 14 | final String displayName; 15 | final ItemStack displayItem; 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/titan/models/Clientbound.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.titan.models; 2 | 3 | import gg.projecteden.nexus.features.titan.ServerClientMessaging; 4 | import org.bukkit.entity.Player; 5 | 6 | public abstract class Clientbound implements Message { 7 | 8 | public void onSend(Player player) {} 9 | 10 | public String getJson() { 11 | return ServerClientMessaging.GSON.toJson(this); 12 | } 13 | 14 | public abstract PluginMessage getType(); 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/discord/commands/justice/activate/BanAppCommand.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.discord.commands.justice.activate; 2 | 3 | import gg.projecteden.api.discord.appcommands.AppCommandEvent; 4 | import gg.projecteden.api.discord.appcommands.annotations.Command; 5 | 6 | @Command("Ban a player") 7 | public class BanAppCommand extends _PunishmentActivateAppCommand { 8 | 9 | public BanAppCommand(AppCommandEvent event) { 10 | super(event); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/discord/commands/justice/activate/KickAppCommand.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.discord.commands.justice.activate; 2 | 3 | import gg.projecteden.api.discord.appcommands.AppCommandEvent; 4 | import gg.projecteden.api.discord.appcommands.annotations.Command; 5 | 6 | @Command("Kick a player") 7 | public class KickAppCommand extends _PunishmentActivateAppCommand { 8 | 9 | public KickAppCommand(AppCommandEvent event) { 10 | super(event); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/discord/commands/justice/activate/MuteAppCommand.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.discord.commands.justice.activate; 2 | 3 | import gg.projecteden.api.discord.appcommands.AppCommandEvent; 4 | import gg.projecteden.api.discord.appcommands.annotations.Command; 5 | 6 | @Command("Mute a player") 7 | public class MuteAppCommand extends _PunishmentActivateAppCommand { 8 | 9 | public MuteAppCommand(AppCommandEvent event) { 10 | super(event); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/discord/commands/justice/activate/WarnAppCommand.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.discord.commands.justice.activate; 2 | 3 | import gg.projecteden.api.discord.appcommands.AppCommandEvent; 4 | import gg.projecteden.api.discord.appcommands.annotations.Command; 5 | 6 | @Command("Warn a player") 7 | public class WarnAppCommand extends _PunishmentActivateAppCommand { 8 | 9 | public WarnAppCommand(AppCommandEvent event) { 10 | super(event); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/events/waypoints/CustomWaypoint.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.events.waypoints; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import org.bukkit.Color; 6 | import org.bukkit.Location; 7 | 8 | @Data 9 | @AllArgsConstructor 10 | public class CustomWaypoint implements IWaypoint { 11 | private WaypointIcon icon; 12 | private Color color; 13 | private Location location; 14 | private final boolean isQuestWaypoint = false; 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/menus/custom/ICustomMechanicMenu.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.menus.custom; 2 | 3 | import gg.projecteden.nexus.features.menus.api.annotations.Rows; 4 | import gg.projecteden.nexus.features.menus.api.annotations.Title; 5 | import gg.projecteden.nexus.features.menus.api.content.InventoryProvider; 6 | 7 | @Rows(3) 8 | @Title("Custom Settings Menu") 9 | public abstract class ICustomMechanicMenu extends InventoryProvider { 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/models/annotations/Scoreboard.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.models.annotations; 2 | 3 | import gg.projecteden.nexus.features.minigames.models.scoreboards.MinigameScoreboard.Type; 4 | 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.RetentionPolicy; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | public @interface Scoreboard { 10 | Type sidebarType() default Type.MATCH; 11 | boolean teams() default true; 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigolf/models/events/MiniGolfBallEvent.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigolf.models.events; 2 | 3 | import gg.projecteden.nexus.models.minigolf.GolfBall; 4 | import lombok.Getter; 5 | import lombok.NoArgsConstructor; 6 | 7 | @NoArgsConstructor 8 | public class MiniGolfBallEvent extends MiniGolfEvent { 9 | @Getter 10 | protected GolfBall golfBall; 11 | 12 | public MiniGolfBallEvent(final GolfBall golfBall) { 13 | this.golfBall = golfBall; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/store/gallery/annotations/StorePackage.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.store.gallery.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Target(ElementType.FIELD) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface StorePackage { 11 | gg.projecteden.nexus.features.store.Package value(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/votes/party/VotePartyResetJob.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.votes.party; 2 | 3 | import gg.projecteden.api.mongodb.models.scheduledjobs.common.AbstractJob; 4 | 5 | import java.util.concurrent.CompletableFuture; 6 | 7 | public class VotePartyResetJob extends AbstractJob { 8 | @Override 9 | protected CompletableFuture run() { 10 | VoteParty.setCompleted(false); 11 | return CompletableFuture.completedFuture(JobStatus.COMPLETED); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/discord/commands/justice/activate/AltBanAppCommand.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.discord.commands.justice.activate; 2 | 3 | import gg.projecteden.api.discord.appcommands.AppCommandEvent; 4 | import gg.projecteden.api.discord.appcommands.annotations.Command; 5 | 6 | @Command("Altban a player") 7 | public class AltBanAppCommand extends _PunishmentActivateAppCommand { 8 | 9 | public AltBanAppCommand(AppCommandEvent event) { 10 | super(event); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/discord/commands/justice/activate/FreezeAppCommand.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.discord.commands.justice.activate; 2 | 3 | import gg.projecteden.api.discord.appcommands.AppCommandEvent; 4 | import gg.projecteden.api.discord.appcommands.annotations.Command; 5 | 6 | @Command("Freeze a player") 7 | public class FreezeAppCommand extends _PunishmentActivateAppCommand { 8 | 9 | public FreezeAppCommand(AppCommandEvent event) { 10 | super(event); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/discord/commands/justice/deactivate/UnBanAppCommand.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.discord.commands.justice.deactivate; 2 | 3 | import gg.projecteden.api.discord.appcommands.AppCommandEvent; 4 | import gg.projecteden.api.discord.appcommands.annotations.Command; 5 | 6 | @Command("Unban a player") 7 | public class UnBanAppCommand extends _PunishmentDeactivateAppCommand { 8 | 9 | public UnBanAppCommand(AppCommandEvent event) { 10 | super(event); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/customenchants/enchants/BeheadingEnchant.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.customenchants.enchants; 2 | 3 | import gg.projecteden.nexus.features.customenchants.models.CustomEnchant; 4 | import org.bukkit.NamespacedKey; 5 | import org.jetbrains.annotations.NotNull; 6 | 7 | public class BeheadingEnchant extends CustomEnchant { 8 | 9 | public static final int LEVEL_MULTIPLIER = 2; 10 | 11 | @Override 12 | public int getMaxLevel() { 13 | return 3; 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/discord/commands/justice/deactivate/UnMuteAppCommand.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.discord.commands.justice.deactivate; 2 | 3 | import gg.projecteden.api.discord.appcommands.AppCommandEvent; 4 | import gg.projecteden.api.discord.appcommands.annotations.Command; 5 | 6 | @Command("Unmute a player") 7 | public class UnMuteAppCommand extends _PunishmentDeactivateAppCommand { 8 | 9 | public UnMuteAppCommand(AppCommandEvent event) { 10 | super(event); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/discord/commands/justice/activate/WatchlistAppCommand.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.discord.commands.justice.activate; 2 | 3 | import gg.projecteden.api.discord.appcommands.AppCommandEvent; 4 | import gg.projecteden.api.discord.appcommands.annotations.Command; 5 | 6 | @Command("Watchlist a player") 7 | public class WatchlistAppCommand extends _PunishmentActivateAppCommand { 8 | 9 | public WatchlistAppCommand(AppCommandEvent event) { 10 | super(event); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/listeners/events/fake/FakeBlockBreakEvent.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.listeners.events.fake; 2 | 3 | import com.gmail.nossr50.events.fake.FakeEvent; 4 | import org.bukkit.block.Block; 5 | import org.bukkit.entity.Player; 6 | import org.bukkit.event.block.BlockBreakEvent; 7 | 8 | public class FakeBlockBreakEvent extends BlockBreakEvent implements FakeEvent { 9 | 10 | public FakeBlockBreakEvent(Block block, Player player) { 11 | super(block, player); 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/regionapi/MovementType.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.regionapi; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Getter; 5 | 6 | /** 7 | * Describes the way how an entity left/entered a region 8 | */ 9 | @Getter 10 | @AllArgsConstructor 11 | public enum MovementType { 12 | MOVE, 13 | RIDE, 14 | TELEPORT, 15 | WORLD_CHANGE, 16 | ENTER_BED, 17 | ENTER_VEHICLE, 18 | SPAWN, 19 | RESPAWN, 20 | DESPAWN, 21 | CONNECT, 22 | DISCONNECT, 23 | ; 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/resourcepack/decoration/common/interfaces/MultiState.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.resourcepack.decoration.common.interfaces; 2 | 3 | import gg.projecteden.nexus.features.resourcepack.models.ItemModelType; 4 | 5 | // Decorations like bird houses, or curtains that have multiple states for player/internal use 6 | // Used for converting the internal item to the desired item on ItemSpawnEvent 7 | public interface MultiState { 8 | 9 | ItemModelType getBaseItemModel(); 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/discord/commands/justice/deactivate/UnAltBanAppCommand.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.discord.commands.justice.deactivate; 2 | 3 | import gg.projecteden.api.discord.appcommands.AppCommandEvent; 4 | import gg.projecteden.api.discord.appcommands.annotations.Command; 5 | 6 | @Command("Unaltban a player") 7 | public class UnAltBanAppCommand extends _PunishmentDeactivateAppCommand { 8 | 9 | public UnAltBanAppCommand(AppCommandEvent event) { 10 | super(event); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/discord/commands/justice/deactivate/UnFreezeAppCommand.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.discord.commands.justice.deactivate; 2 | 3 | import gg.projecteden.api.discord.appcommands.AppCommandEvent; 4 | import gg.projecteden.api.discord.appcommands.annotations.Command; 5 | 6 | @Command("Unfreeze a player") 7 | public class UnFreezeAppCommand extends _PunishmentDeactivateAppCommand { 8 | 9 | public UnFreezeAppCommand(AppCommandEvent event) { 10 | super(event); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/economy/events/NexusEconomyEvent.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.economy.events; 2 | 3 | import lombok.Getter; 4 | import org.bukkit.event.Event; 5 | import org.bukkit.event.HandlerList; 6 | import org.jetbrains.annotations.NotNull; 7 | 8 | public class NexusEconomyEvent extends Event { 9 | @Getter 10 | private static final HandlerList handlerList = new HandlerList(); 11 | 12 | @Override 13 | public @NotNull HandlerList getHandlers() { 14 | return handlerList; 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/virtualinventories/models/properties/impl/BarrelProperties.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.virtualinventories.models.properties.impl; 2 | 3 | import gg.projecteden.nexus.features.virtualinventories.models.properties.VirtualInventoryProperties; 4 | import org.bukkit.event.inventory.InventoryType; 5 | 6 | public class BarrelProperties extends VirtualInventoryProperties { 7 | 8 | @Override 9 | public InventoryType inventoryType() { 10 | return InventoryType.BARREL; 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/virtualinventories/models/properties/impl/ChestProperties.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.virtualinventories.models.properties.impl; 2 | 3 | import gg.projecteden.nexus.features.virtualinventories.models.properties.VirtualInventoryProperties; 4 | import org.bukkit.event.inventory.InventoryType; 5 | 6 | public class ChestProperties extends VirtualInventoryProperties { 7 | 8 | @Override 9 | public InventoryType inventoryType() { 10 | return InventoryType.CHEST; 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/framework/exceptions/preconfigured/NoPermissionException.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.framework.exceptions.preconfigured; 2 | 3 | import gg.projecteden.nexus.utils.Nullables; 4 | 5 | public class NoPermissionException extends PreConfiguredException { 6 | 7 | public NoPermissionException() { 8 | this(null); 9 | } 10 | 11 | public NoPermissionException(String extra) { 12 | super("You don't have permission to do that!" + (Nullables.isNullOrEmpty(extra) ? "" : " " + extra)); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/events/y2021/bearfair21/islands/BearFair21Island.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.events.y2021.bearfair21.islands; 2 | 3 | import gg.projecteden.nexus.features.events.models.BearFairIsland; 4 | import gg.projecteden.nexus.features.events.y2021.bearfair21.BearFair21; 5 | import org.bukkit.event.Listener; 6 | 7 | public interface BearFair21Island extends BearFairIsland, Listener { 8 | @Override 9 | default String getEventRegion() { 10 | return BearFair21.getRegion(); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/events/y2022/pride22/quests/Pride22QuestReward.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.events.y2022.pride22.quests; 2 | 3 | import gg.projecteden.nexus.features.quests.QuestReward; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Getter; 6 | 7 | import java.util.UUID; 8 | import java.util.function.BiConsumer; 9 | 10 | @Getter 11 | @AllArgsConstructor 12 | public enum Pride22QuestReward implements QuestReward { 13 | ; 14 | 15 | private final BiConsumer consumer; 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/resourcepack/customblocks/events/NoteBlockPlayEvent.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.resourcepack.customblocks.events; 2 | 3 | import lombok.Getter; 4 | import lombok.Setter; 5 | import org.bukkit.block.Block; 6 | import org.bukkit.event.Cancellable; 7 | 8 | public class NoteBlockPlayEvent extends NoteBlockEvent implements Cancellable { 9 | @Getter 10 | @Setter 11 | protected boolean cancelled = false; 12 | 13 | public NoteBlockPlayEvent(Block block) { 14 | super(block); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/wiki/MCWikiCommand.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.wiki; 2 | 3 | import gg.projecteden.nexus.framework.commands.models.annotations.Aliases; 4 | import gg.projecteden.nexus.framework.commands.models.events.CommandEvent; 5 | 6 | @Aliases("minecraftwiki") 7 | public class MCWikiCommand extends _WikiSearchCommand { 8 | 9 | MCWikiCommand(CommandEvent event) { 10 | super(event); 11 | } 12 | 13 | @Override 14 | WikiType getWikiType() { 15 | return WikiType.MINECRAFT; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/framework/commands/models/annotations/HideFromHelp.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.framework.commands.models.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * Hides a subcommand from /<parent> help 10 | */ 11 | @Target(ElementType.METHOD) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | public @interface HideFromHelp { 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/modifiers/NoJumping.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.modifiers; 2 | 3 | import gg.projecteden.nexus.features.minigames.models.modifiers.MinigameModifier; 4 | import org.jetbrains.annotations.NotNull; 5 | 6 | public class NoJumping implements MinigameModifier { 7 | 8 | @Override 9 | public @NotNull String getName() { 10 | return "No Jumping"; 11 | } 12 | 13 | @Override 14 | public @NotNull String getDescription() { 15 | return "Disables jumping"; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/modifiers/NoModifier.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.modifiers; 2 | 3 | import gg.projecteden.nexus.features.minigames.models.modifiers.MinigameModifier; 4 | import org.jetbrains.annotations.NotNull; 5 | 6 | public class NoModifier implements MinigameModifier { 7 | 8 | @Override 9 | public @NotNull String getName() { 10 | return "No Modifier"; 11 | } 12 | 13 | @Override 14 | public @NotNull String getDescription() { 15 | return "Does nothing"; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/resourcepack/customblocks/models/noteblocks/common/DirectionalConfig.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.resourcepack.customblocks.models.noteblocks.common; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Target(ElementType.TYPE) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface DirectionalConfig { 11 | int step_NS(); 12 | int step_EW(); 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/utils/nms/packet/EdenPacket.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.utils.nms.packet; 2 | 3 | import gg.projecteden.nexus.utils.nms.PacketUtils; 4 | import net.minecraft.network.protocol.Packet; 5 | import net.minecraft.network.protocol.game.ClientGamePacketListener; 6 | import org.bukkit.entity.Player; 7 | 8 | public abstract class EdenPacket { 9 | 10 | protected abstract Packet build(); 11 | 12 | public void send(Player viewer) { 13 | PacketUtils.sendPacket(viewer, build()); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/ambience/effects/birds/common/annotations/Biomes.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.ambience.effects.birds.common.annotations; 2 | 3 | import gg.projecteden.nexus.utils.BiomeTag; 4 | 5 | import java.lang.annotation.ElementType; 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.RetentionPolicy; 8 | import java.lang.annotation.Target; 9 | 10 | @Target(ElementType.FIELD) 11 | @Retention(RetentionPolicy.RUNTIME) 12 | public @interface Biomes { 13 | BiomeTag[] value(); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/ambience/old/AmbienceUserOld.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.ambience.old; 2 | 3 | import gg.projecteden.nexus.features.ambience.old.sound.SoundPlayer; 4 | import lombok.Data; 5 | import lombok.NonNull; 6 | import lombok.RequiredArgsConstructor; 7 | import org.bukkit.entity.Player; 8 | 9 | @Data 10 | @RequiredArgsConstructor 11 | public class AmbienceUserOld { 12 | @NonNull 13 | Player player; 14 | BlockScanner blockScanner; 15 | SoundPlayer soundPlayer; 16 | VariablesOld variables; 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/virtualinventories/events/furnace/VirtualFurnaceEndEvent.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.virtualinventories.events.furnace; 2 | 3 | import gg.projecteden.nexus.features.virtualinventories.events.VirtualInventoryEvent; 4 | import gg.projecteden.nexus.features.virtualinventories.models.inventories.impl.VirtualFurnace; 5 | 6 | public class VirtualFurnaceEndEvent extends VirtualInventoryEvent { 7 | 8 | public VirtualFurnaceEndEvent(VirtualFurnace inventory) { 9 | super(inventory); 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/framework/commands/models/annotations/Aliases.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.framework.commands.models.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * Specify a list of aliases that may be used for a command. 10 | */ 11 | @Target(ElementType.TYPE) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | public @interface Aliases { 14 | String[] value(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/framework/commands/models/annotations/HideFromWiki.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.framework.commands.models.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * Hides a command from the wiki 10 | */ 11 | @Target({ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER}) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | public @interface HideFromWiki { 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/framework/commands/models/annotations/Switch.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.framework.commands.models.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | // TODO Support quotations with regex "(?:[^"\\]|\\.)*" 9 | 10 | @Target(ElementType.PARAMETER) 11 | @Retention(RetentionPolicy.RUNTIME) 12 | public @interface Switch { 13 | char shorthand() default '-'; 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/events/y2022/halloween22/quests/Halloween22QuestReward.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.events.y2022.halloween22.quests; 2 | 3 | import gg.projecteden.nexus.features.quests.QuestReward; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Getter; 6 | 7 | import java.util.UUID; 8 | import java.util.function.BiConsumer; 9 | 10 | @Getter 11 | @AllArgsConstructor 12 | public enum Halloween22QuestReward implements QuestReward { 13 | ; 14 | 15 | private final BiConsumer consumer; 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/listeners/Listeners.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.listeners; 2 | 3 | import gg.projecteden.nexus.features.nameplates.Nameplates; 4 | import gg.projecteden.nexus.framework.features.Depends; 5 | import gg.projecteden.nexus.framework.features.Feature; 6 | import gg.projecteden.nexus.utils.Utils; 7 | 8 | @Depends(Nameplates.class) 9 | public class Listeners extends Feature { 10 | 11 | @Override 12 | public void onStart() { 13 | Utils.registerListeners(getClass().getPackageName()); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/nameplates/TeamAssigner.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.nameplates; 2 | 3 | import org.bukkit.Bukkit; 4 | import org.bukkit.entity.Entity; 5 | import org.bukkit.scoreboard.Scoreboard; 6 | import org.bukkit.scoreboard.Team; 7 | import org.jetbrains.annotations.NotNull; 8 | 9 | @FunctionalInterface 10 | public interface TeamAssigner { 11 | static @NotNull Scoreboard scoreboard() { 12 | return Bukkit.getScoreboardManager().getMainScoreboard(); 13 | } 14 | 15 | @NotNull Team teamFor(Entity player); 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/virtualinventories/events/furnace/VirtualFurnaceStartEvent.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.virtualinventories.events.furnace; 2 | 3 | import gg.projecteden.nexus.features.virtualinventories.events.VirtualInventoryEvent; 4 | import gg.projecteden.nexus.features.virtualinventories.models.inventories.impl.VirtualFurnace; 5 | 6 | public class VirtualFurnaceStartEvent extends VirtualInventoryEvent { 7 | 8 | public VirtualFurnaceStartEvent(VirtualFurnace inventory) { 9 | super(inventory); 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/virtualinventories/events/furnace/VirtualFurnaceTickEvent.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.virtualinventories.events.furnace; 2 | 3 | import gg.projecteden.nexus.features.virtualinventories.events.VirtualInventoryEvent; 4 | import gg.projecteden.nexus.features.virtualinventories.models.inventories.impl.VirtualFurnace; 5 | 6 | public class VirtualFurnaceTickEvent extends VirtualInventoryEvent { 7 | 8 | public VirtualFurnaceTickEvent(VirtualFurnace inventory) { 9 | super(inventory); 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/events/waypoints/IWaypoint.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.events.waypoints; 2 | 3 | import org.bukkit.Color; 4 | import org.bukkit.Location; 5 | 6 | public interface IWaypoint { 7 | WaypointIcon getIcon(); 8 | Color getColor(); 9 | Location getLocation(); 10 | boolean isQuestWaypoint(); 11 | 12 | default boolean equals(IWaypoint other) { 13 | return getLocation().equals(other.getLocation()) && 14 | getColor().equals(other.getColor()) && 15 | getIcon().equals(other.getIcon()); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/resourcepack/customblocks/models/common/IReDyeable.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.resourcepack.customblocks.models.common; 2 | 3 | import gg.projecteden.nexus.features.resourcepack.customblocks.models.CustomBlockTag; 4 | 5 | /* 6 | Only use this interface if the crafting recipe is different from the re-dye recipe, 7 | otherwise add it into the crafting recipe, see IColoredPlanks#getCraftRecipe 8 | */ 9 | public interface IReDyeable extends ICustomBlock { 10 | 11 | CustomBlockTag getReDyeTag(); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/framework/interfaces/impl/ColoredImpl.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.framework.interfaces.impl; 2 | 3 | import gg.projecteden.nexus.framework.interfaces.Colored; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Getter; 6 | import org.jetbrains.annotations.NotNull; 7 | 8 | import java.awt.*; 9 | 10 | @AllArgsConstructor 11 | public class ColoredImpl implements Colored { 12 | @Getter 13 | private final int value; 14 | 15 | @Override 16 | public @NotNull Color getColor() { 17 | return new Color(value); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigolf/models/events/MiniGolfUserQuitEvent.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigolf.models.events; 2 | 3 | import gg.projecteden.nexus.models.minigolf.MiniGolfUser; 4 | import lombok.Getter; 5 | import lombok.Setter; 6 | import org.bukkit.event.Cancellable; 7 | 8 | public class MiniGolfUserQuitEvent extends MiniGolfUserEvent implements Cancellable { 9 | @Getter 10 | @Setter 11 | protected boolean cancelled = false; 12 | 13 | public MiniGolfUserQuitEvent(MiniGolfUser user) { 14 | super(user); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/store/gallery/annotations/RealCategory.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.store.gallery.annotations; 2 | 3 | import gg.projecteden.nexus.features.store.annotations.Category; 4 | 5 | import java.lang.annotation.ElementType; 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.RetentionPolicy; 8 | import java.lang.annotation.Target; 9 | 10 | @Target(ElementType.FIELD) 11 | @Retention(RetentionPolicy.RUNTIME) 12 | public @interface RealCategory { 13 | Category.StoreCategory value(); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/utils/BiomeUtils.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.utils; 2 | 3 | import com.google.common.collect.Lists; 4 | import net.kyori.adventure.text.Component; 5 | import org.bukkit.Registry; 6 | import org.bukkit.block.Biome; 7 | 8 | public class BiomeUtils { 9 | 10 | public static Biome[] values() { 11 | return Lists.newArrayList(Registry.BIOME).toArray(new Biome[0]); 12 | } 13 | 14 | public static String name(Biome biome) { 15 | return AdventureUtils.asPlainText(Component.translatable(biome.translationKey())); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/mcmmo/reset/annotations/Reward.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.mcmmo.reset.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Target(ElementType.FIELD) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface Reward { 11 | @Target(ElementType.FIELD) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @interface Permission { 14 | String value(); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/resourcepack/decoration/events/DecorationRotateEvent.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.resourcepack.decoration.events; 2 | 3 | import gg.projecteden.nexus.features.resourcepack.decoration.common.Decoration; 4 | import org.bukkit.block.Block; 5 | import org.bukkit.entity.Player; 6 | 7 | public class DecorationRotateEvent extends DecorationInteractEvent { 8 | 9 | public DecorationRotateEvent(Player player, Block block, Decoration decoration, InteractType type) { 10 | super(player, block, decoration, type); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/events/y2021/bearfair21/quests/clientside/BearFair21NPCNameTag.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.events.y2021.bearfair21.quests.clientside; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NonNull; 6 | import net.minecraft.world.entity.decoration.ArmorStand; 7 | 8 | import java.util.List; 9 | import java.util.UUID; 10 | 11 | @Data 12 | @AllArgsConstructor 13 | public class BearFair21NPCNameTag { 14 | int npcId; 15 | @NonNull UUID playerUuid; 16 | List armorStands; 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/events/aeveonproject/sets/APSet.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.events.aeveonproject.sets; 2 | 3 | import gg.projecteden.nexus.features.events.annotations.Region; 4 | 5 | import java.util.List; 6 | 7 | public interface APSet { 8 | 9 | default String getRegion() { 10 | try { 11 | return getClass().getAnnotation(Region.class).value(); 12 | } catch (Exception ignored) { 13 | } 14 | return null; 15 | } 16 | 17 | List getUpdateRegions(); 18 | 19 | boolean isActive(); 20 | 21 | void setActive(boolean bool); 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/modifiers/BulletArrows.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.modifiers; 2 | 3 | import gg.projecteden.nexus.features.minigames.models.modifiers.MinigameModifier; 4 | import org.jetbrains.annotations.NotNull; 5 | 6 | public class BulletArrows implements MinigameModifier { 7 | 8 | @Override 9 | public @NotNull String getName() { 10 | return "Bullet Arrows"; 11 | } 12 | 13 | @Override 14 | public @NotNull String getDescription() { 15 | return "Projectiles fire straight forwards like bullets"; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/resourcepack/customblocks/models/noteblocks/genericcrate/IGenericCrate.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.resourcepack.customblocks.models.noteblocks.genericcrate; 2 | 3 | import gg.projecteden.nexus.features.resourcepack.customblocks.models.noteblocks.common.ICustomNoteBlock; 4 | 5 | public interface IGenericCrate extends ICustomNoteBlock { 6 | @Override 7 | default double getBlockHardness() { 8 | return 2.0; 9 | } 10 | 11 | @Override 12 | default boolean requiresCorrectToolForDrops() { 13 | return false; 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/framework/commands/models/annotations/DoubleSlash.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.framework.commands.models.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * Used on a parent command to make it look like a WorldEdit command by requiring two slashes to run instead of one 10 | */ 11 | @Target(ElementType.TYPE) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | public @interface DoubleSlash { 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/quests/QuestTaskStepProgress.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.quests; 2 | 3 | import gg.projecteden.nexus.framework.interfaces.PlayerOwnedObject; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import lombok.NonNull; 7 | import lombok.RequiredArgsConstructor; 8 | 9 | import java.util.UUID; 10 | 11 | @Data 12 | @NoArgsConstructor 13 | @RequiredArgsConstructor 14 | public class QuestTaskStepProgress implements PlayerOwnedObject { 15 | @NonNull 16 | private UUID uuid; 17 | private boolean firstInteraction = true; 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/models/matchdata/CheckpointMatchData.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.models.matchdata; 2 | 3 | import gg.projecteden.nexus.features.minigames.mechanics.common.CheckpointMechanic; 4 | import gg.projecteden.nexus.features.minigames.models.Match; 5 | import gg.projecteden.nexus.features.minigames.models.annotations.MatchDataFor; 6 | 7 | @MatchDataFor(CheckpointMechanic.class) 8 | public class CheckpointMatchData extends CheckpointData { 9 | 10 | public CheckpointMatchData(Match match) { 11 | super(match); 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/models/mechanics/custom/bingo/challenge/common/IItemChallenge.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.models.mechanics.custom.bingo.challenge.common; 2 | 3 | import gg.projecteden.nexus.utils.FuzzyItemStack; 4 | import org.bukkit.Material; 5 | 6 | import java.util.Set; 7 | 8 | public interface IItemChallenge extends IChallenge { 9 | 10 | Set getItems(); 11 | 12 | @Override 13 | default Material getDisplayMaterial() { 14 | return getItems().iterator().next().getMaterials().iterator().next(); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/modifiers/BingoBlackout.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.modifiers; 2 | 3 | import gg.projecteden.nexus.features.minigames.models.modifiers.MinigameModifier; 4 | import org.jetbrains.annotations.NotNull; 5 | 6 | public class BingoBlackout implements MinigameModifier { 7 | 8 | @Override 9 | public @NotNull String getName() { 10 | return "Bingo Blackout"; 11 | } 12 | 13 | @Override 14 | public @NotNull String getDescription() { 15 | return "Time limit removed, first to complete entire board wins"; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/modifiers/BingoLockout.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.modifiers; 2 | 3 | import gg.projecteden.nexus.features.minigames.models.modifiers.MinigameModifier; 4 | import org.jetbrains.annotations.NotNull; 5 | 6 | public class BingoLockout implements MinigameModifier { 7 | 8 | @Override 9 | public @NotNull String getName() { 10 | return "Bingo Lockout"; 11 | } 12 | 13 | @Override 14 | public @NotNull String getDescription() { 15 | return "Completing a challenge prevents others from completing it"; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/tip/TipService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.tip; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(Tip.class) 11 | public class TipService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/events/y2022/pride22/quests/Pride22Quest.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.events.y2022.pride22.quests; 2 | 3 | import gg.projecteden.nexus.features.quests.tasks.common.IQuest; 4 | import gg.projecteden.nexus.features.quests.tasks.common.IQuestTask; 5 | import lombok.Getter; 6 | 7 | import java.util.Arrays; 8 | import java.util.List; 9 | 10 | @Getter 11 | public enum Pride22Quest implements IQuest { 12 | ; 13 | 14 | private final List tasks; 15 | 16 | Pride22Quest(IQuestTask... tasks) { 17 | this.tasks = Arrays.asList(tasks); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/utils/nms/packet/EntityDestroyPacket.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.utils.nms.packet; 2 | 3 | import lombok.Data; 4 | import net.minecraft.network.protocol.Packet; 5 | import net.minecraft.network.protocol.game.ClientGamePacketListener; 6 | import net.minecraft.network.protocol.game.ClientboundRemoveEntitiesPacket; 7 | 8 | @Data 9 | public class EntityDestroyPacket extends EdenPacket { 10 | private final int entityId; 11 | 12 | @Override 13 | protected Packet build() { 14 | return new ClientboundRemoveEntitiesPacket(entityId); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/models/perks/common/IParticlePerk.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.models.perks.common; 2 | 3 | import gg.projecteden.nexus.features.minigames.models.perks.IHasPerkCategory; 4 | import gg.projecteden.nexus.features.minigames.models.perks.Perk; 5 | import org.bukkit.Particle; 6 | 7 | public interface IParticlePerk extends IHasPerkCategory, Perk { 8 | 9 | int getCount(); 10 | 11 | Particle getParticle(); 12 | 13 | default double getSpeed() { 14 | return 0.01d; 15 | } 16 | 17 | double getOffsetH(); 18 | 19 | double getOffsetV(); 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/resourcepack/customblocks/models/noteblocks/shulker/IShulkerBlock.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.resourcepack.customblocks.models.noteblocks.shulker; 2 | 3 | import gg.projecteden.nexus.features.resourcepack.customblocks.models.noteblocks.common.ICustomNoteBlock; 4 | import org.bukkit.Material; 5 | 6 | public interface IShulkerBlock extends ICustomNoteBlock { 7 | 8 | @Override 9 | default double getBlockHardness() { 10 | return 1.5; 11 | } 12 | 13 | @Override 14 | default Material getMinimumPreferredTool() { 15 | return Material.WOODEN_PICKAXE; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/framework/commands/models/annotations/WikiConfig.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.framework.commands.models.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * Defines a command's wiki category 10 | */ 11 | @Target({ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER}) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | public @interface WikiConfig { 14 | String rank() default ""; 15 | String feature() default ""; 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/pvp/PVPService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.pvp; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(PVP.class) 11 | public class PVPService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | @Override 15 | public Map getCache() { 16 | return cache; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/models/events/MinigameEvent.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.models.events; 2 | 3 | import lombok.Getter; 4 | import lombok.RequiredArgsConstructor; 5 | import org.bukkit.event.Event; 6 | import org.bukkit.event.HandlerList; 7 | import org.jetbrains.annotations.NotNull; 8 | 9 | @RequiredArgsConstructor 10 | public abstract class MinigameEvent extends Event { 11 | @Getter 12 | protected static final HandlerList handlerList = new HandlerList(); 13 | 14 | @Override 15 | public @NotNull HandlerList getHandlers() { 16 | return handlerList; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/resourcepack/customblocks/models/common/CustomBlockConfig.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.resourcepack.customblocks.models.common; 2 | 3 | import gg.projecteden.nexus.features.resourcepack.models.ItemModelType; 4 | 5 | import java.lang.annotation.ElementType; 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.RetentionPolicy; 8 | import java.lang.annotation.Target; 9 | 10 | @Target(ElementType.TYPE) 11 | @Retention(RetentionPolicy.RUNTIME) 12 | public @interface CustomBlockConfig { 13 | String name(); 14 | 15 | ItemModelType itemModel(); 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/framework/commands/models/annotations/Path.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.framework.commands.models.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * Indicates that a method is a (sub)command and sets the syntax used to execute it 10 | * @see #value() 11 | */ 12 | @Target(ElementType.METHOD) 13 | @Retention(RetentionPolicy.RUNTIME) 14 | public @interface Path { 15 | // TODO: javadoc 16 | String value() default ""; 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/events/EventSounds.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.events; 2 | 3 | import gg.projecteden.nexus.utils.SoundBuilder; 4 | import gg.projecteden.parchment.OptionalPlayer; 5 | import lombok.Getter; 6 | import lombok.RequiredArgsConstructor; 7 | import org.bukkit.Sound; 8 | 9 | @Getter 10 | @RequiredArgsConstructor 11 | public enum EventSounds { 12 | VILLAGER_NO(new SoundBuilder(Sound.ENTITY_VILLAGER_NO).volume(0.5)); 13 | 14 | private final SoundBuilder sound; 15 | 16 | public void play(OptionalPlayer player) { 17 | sound.clone().receiver(player).play(); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/virtualinventories/models/tiles/impl/ChestTile.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.virtualinventories.models.tiles.impl; 2 | 3 | import gg.projecteden.nexus.features.virtualinventories.models.inventories.impl.VirtualChest; 4 | import gg.projecteden.nexus.features.virtualinventories.models.tiles.Tile; 5 | import org.bukkit.Location; 6 | import org.jetbrains.annotations.NotNull; 7 | 8 | public class ChestTile extends Tile { 9 | 10 | public ChestTile(@NotNull VirtualChest virtualInv, @NotNull Location location) { 11 | super(virtualInv, location); 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/queup/QueUpService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.queup; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(QueUp.class) 11 | public class QueUpService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/warps/WarpsService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.warps; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(Warps.class) 11 | public class WarpsService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/events/y2022/halloween22/quests/Halloween22Quest.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.events.y2022.halloween22.quests; 2 | 3 | import gg.projecteden.nexus.features.quests.tasks.common.IQuest; 4 | import gg.projecteden.nexus.features.quests.tasks.common.IQuestTask; 5 | import lombok.Getter; 6 | 7 | import java.util.Arrays; 8 | import java.util.List; 9 | 10 | @Getter 11 | public enum Halloween22Quest implements IQuest { 12 | ; 13 | 14 | private final List tasks; 15 | 16 | Halloween22Quest(IQuestTask... tasks) { 17 | this.tasks = Arrays.asList(tasks); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/events/y2022/pride22/quests/Pride22QuestItem.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.events.y2022.pride22.quests; 2 | 3 | import gg.projecteden.nexus.features.quests.QuestItem; 4 | import gg.projecteden.nexus.utils.ItemBuilder; 5 | import lombok.AllArgsConstructor; 6 | import lombok.Getter; 7 | import org.bukkit.inventory.ItemStack; 8 | 9 | @Getter 10 | @AllArgsConstructor 11 | public enum Pride22QuestItem implements QuestItem { 12 | ; 13 | 14 | private final ItemBuilder itemBuilder; 15 | 16 | @Override 17 | public ItemStack get() { 18 | return itemBuilder.build(); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/events/y2022/pride22/quests/Pride22QuestTask.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.events.y2022.pride22.quests; 2 | 3 | import gg.projecteden.nexus.features.quests.tasks.common.IQuestTask; 4 | import gg.projecteden.nexus.features.quests.tasks.common.QuestTask.TaskBuilder; 5 | import lombok.AllArgsConstructor; 6 | import lombok.Getter; 7 | 8 | @Getter 9 | @AllArgsConstructor 10 | public enum Pride22QuestTask implements IQuestTask { 11 | ; 12 | 13 | private final TaskBuilder task; 14 | 15 | @Override 16 | public TaskBuilder builder() { 17 | return task; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/models/events/matches/teams/TeamEvent.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.models.events.matches.teams; 2 | 3 | import gg.projecteden.nexus.features.minigames.models.Match; 4 | import gg.projecteden.nexus.features.minigames.models.Team; 5 | import gg.projecteden.nexus.features.minigames.models.events.matches.MatchEvent; 6 | import lombok.Getter; 7 | 8 | public abstract class TeamEvent extends MatchEvent { 9 | @Getter 10 | private final Team team; 11 | 12 | public TeamEvent(Match match, Team team) { 13 | super(match); 14 | this.team = team; 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/test/pathfinder/Pathfinder.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.test.pathfinder; 2 | 3 | import lombok.Getter; 4 | import lombok.Setter; 5 | import org.bukkit.Location; 6 | 7 | //TODO: 8 | // give nodes a class enum value: low, medium, high, castle 9 | // when an NPC is pathfinding, they can only pathfind on their level node, or lower 10 | public class Pathfinder { 11 | @Getter 12 | @Setter 13 | private static Location selectedLoc; 14 | @Getter 15 | @Setter 16 | private static Location targetA = null; 17 | @Getter 18 | @Setter 19 | private static Location targetB = null; 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/titan/clientbound/UpdateState.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.titan.clientbound; 2 | 3 | import gg.projecteden.nexus.features.titan.models.Clientbound; 4 | import gg.projecteden.nexus.features.titan.models.PluginMessage; 5 | import lombok.Builder; 6 | 7 | @Builder 8 | public class UpdateState extends Clientbound { 9 | 10 | String mode; 11 | String worldGroup; 12 | String arena; 13 | String mechanic; 14 | Boolean vanished; 15 | Boolean afk; 16 | String channel; 17 | 18 | @Override 19 | public PluginMessage getType() { 20 | return PluginMessage.UPDATE_STATE; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/virtualinventories/models/tiles/impl/BarrelTile.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.virtualinventories.models.tiles.impl; 2 | 3 | import gg.projecteden.nexus.features.virtualinventories.models.inventories.impl.VirtualBarrel; 4 | import gg.projecteden.nexus.features.virtualinventories.models.tiles.Tile; 5 | import org.bukkit.Location; 6 | import org.jetbrains.annotations.NotNull; 7 | 8 | public class BarrelTile extends Tile { 9 | 10 | public BarrelTile(@NotNull VirtualBarrel virtualInv, @NotNull Location location) { 11 | super(virtualInv, location); 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/afk/AFKUserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.afk; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(AFKUser.class) 11 | public class AFKUserService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/alerts/AlertsService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.alerts; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(Alerts.class) 11 | public class AlertsService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/dnd/DNDUserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.dnd; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(DNDUser.class) 11 | public class DNDUserService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/freeze/FreezeService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.freeze; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(Freeze.class) 11 | public class FreezeService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/push/PushService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.push; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoBukkitService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(PushUser.class) 11 | public class PushService extends MongoBukkitService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/workbenches/ICraftableCustomBench.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.workbenches; 2 | 3 | import gg.projecteden.nexus.features.recipes.models.RecipeType; 4 | import gg.projecteden.nexus.features.recipes.models.builders.RecipeBuilder; 5 | 6 | import java.util.List; 7 | 8 | public interface ICraftableCustomBench { 9 | 10 | default RecipeBuilder getBenchRecipe() { 11 | return null; 12 | } 13 | 14 | default List> getAdditionRecipes() { 15 | return null; 16 | } 17 | 18 | default RecipeType getRecipeType() { 19 | return RecipeType.FUNCTIONAL; 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/framework/exceptions/postconfigured/PlayerNotOnlineException.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.framework.exceptions.postconfigured; 2 | 3 | import gg.projecteden.api.interfaces.HasUniqueId; 4 | import gg.projecteden.nexus.models.nickname.Nickname; 5 | 6 | import java.util.UUID; 7 | 8 | public class PlayerNotOnlineException extends PostConfiguredException { 9 | 10 | public PlayerNotOnlineException(UUID uuid) { 11 | super(Nickname.of(uuid) + " is not online"); 12 | } 13 | 14 | public PlayerNotOnlineException(HasUniqueId player) { 15 | super(Nickname.of(player) + " is not online"); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/framework/persistence/serializer/mysql/LocationSerializer.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.framework.persistence.serializer.mysql; 2 | 3 | import com.dieselpoint.norm.serialize.DbSerializable; 4 | import gg.projecteden.nexus.utils.SerializationUtils.Json; 5 | import org.bukkit.Location; 6 | 7 | public class LocationSerializer implements DbSerializable { 8 | 9 | @Override 10 | public String serialize(Object in) { 11 | return Json.serializeLocation((Location) in); 12 | } 13 | 14 | @Override 15 | public Location deserialize(String in) { 16 | return Json.deserializeLocation(in); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/boost/BoosterService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.boost; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(Booster.class) 11 | public class BoosterService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/chat/ChatterService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.chat; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(Chatter.class) 11 | public class ChatterService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/mode/ModeUserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.mode; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(ModeUser.class) 11 | public class ModeUserService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/quests/QuesterService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.quests; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(Quester.class) 11 | public class QuesterService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/ticket/TicketsService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.ticket; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(Tickets.class) 11 | public class TicketsService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/mechanics/XRun.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.mechanics; 2 | 3 | import org.bukkit.Material; 4 | import org.bukkit.inventory.ItemStack; 5 | import org.jetbrains.annotations.NotNull; 6 | 7 | public class XRun extends Parkour { 8 | 9 | @Override 10 | public @NotNull String getName() { 11 | return "X-Run"; 12 | } 13 | 14 | @Override 15 | public @NotNull String getDescription() { 16 | return "Race your way to the finish line"; 17 | } 18 | 19 | @Override 20 | public @NotNull ItemStack getMenuItem() { 21 | return new ItemStack(Material.SUGAR); 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/mobheads/common/HeadConfig.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.mobheads.common; 2 | 3 | import org.bukkit.Material; 4 | 5 | import java.lang.annotation.ElementType; 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.RetentionPolicy; 8 | import java.lang.annotation.Target; 9 | 10 | @Target(ElementType.FIELD) 11 | @Retention(RetentionPolicy.RUNTIME) 12 | public @interface HeadConfig { 13 | 14 | String headId() default ""; 15 | 16 | Material headType() default Material.AIR; 17 | 18 | Class variantClass() default MobHeadVariant.class; 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/resourcepack/decoration/types/Fireplace.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.resourcepack.decoration.types; 2 | 3 | import gg.projecteden.nexus.features.resourcepack.decoration.common.HitboxEnums.HitboxUnique; 4 | import gg.projecteden.nexus.features.resourcepack.decoration.types.surfaces.FloorThing; 5 | import gg.projecteden.nexus.features.resourcepack.models.ItemModelType; 6 | 7 | public class Fireplace extends FloorThing { 8 | 9 | public Fireplace(boolean multiblock, String name, ItemModelType itemModelType) { 10 | super(multiblock, name, itemModelType, HitboxUnique.FIREPLACE); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/framework/persistence/serializer/mysql/StringSetSerializer.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.framework.persistence.serializer.mysql; 2 | 3 | import com.dieselpoint.norm.serialize.DbSerializable; 4 | 5 | import java.util.Arrays; 6 | import java.util.HashSet; 7 | import java.util.Set; 8 | 9 | public class StringSetSerializer implements DbSerializable { 10 | @Override 11 | public String serialize(Object in) { 12 | return String.join(",", ((Set) in)); 13 | } 14 | 15 | @Override 16 | public Set deserialize(String in) { 17 | return new HashSet<>(Arrays.asList(in.split(","))); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/compass/CompassService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.compass; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(Compass.class) 11 | public class CompassService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/plot/PlotUserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.plot; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(PlotUser.class) 11 | public class PlotUserService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/webs/WebConfigService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.webs; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(WebConfig.class) 11 | public class WebConfigService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/whereis/WhereIsService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.whereis; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(WhereIs.class) 11 | public class WhereIsService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/events/y2021/bearfair21/quests/BearFair21PathfinderHelper.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.events.y2021.bearfair21.quests; 2 | 3 | import lombok.Getter; 4 | import lombok.Setter; 5 | import org.bukkit.Location; 6 | import org.bukkit.entity.Entity; 7 | 8 | import java.util.ArrayList; 9 | import java.util.List; 10 | 11 | public class BearFair21PathfinderHelper { 12 | @Getter 13 | @Setter 14 | private static Location selectedLoc; 15 | @Getter 16 | @Setter 17 | private static List lineTasks = new ArrayList<>(); 18 | @Getter 19 | @Setter 20 | private static Entity selectedEntity; 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/events/y2022/easter22/quests/Easter22Quest.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.events.y2022.easter22.quests; 2 | 3 | import gg.projecteden.nexus.features.quests.tasks.common.IQuest; 4 | import gg.projecteden.nexus.features.quests.tasks.common.IQuestTask; 5 | import lombok.Getter; 6 | 7 | import java.util.Arrays; 8 | import java.util.List; 9 | 10 | @Getter 11 | public enum Easter22Quest implements IQuest { 12 | MAIN(Easter22QuestTask.MAIN); 13 | 14 | private final List tasks; 15 | 16 | Easter22Quest(IQuestTask... tasks) { 17 | this.tasks = Arrays.asList(tasks); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/resourcepack/models/events/ResourcePackEvent.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.resourcepack.models.events; 2 | 3 | import lombok.Getter; 4 | import org.bukkit.event.Event; 5 | import org.bukkit.event.HandlerList; 6 | import org.jetbrains.annotations.NotNull; 7 | 8 | @Getter 9 | public abstract class ResourcePackEvent extends Event { 10 | @Getter 11 | private static final HandlerList handlerList = new HandlerList(); 12 | 13 | public ResourcePackEvent() { 14 | super(true); 15 | } 16 | 17 | @Override 18 | public @NotNull HandlerList getHandlers() { 19 | return handlerList; 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/badge/BadgeUserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.badge; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(BadgeUser.class) 11 | public class BadgeUserService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/dumpster/DumpsterService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.dumpster; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(Dumpster.class) 11 | public class DumpsterService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/emoji/EmojiUserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.emoji; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(EmojiUser.class) 11 | public class EmojiUserService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/referral/ReferralService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.referral; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(Referral.class) 11 | public class ReferralService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/blockmechanics/BlockMechanics.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.blockmechanics; 2 | 3 | import gg.projecteden.nexus.features.blockmechanics.mechanics.BlockFireToggle; 4 | import gg.projecteden.nexus.features.blockmechanics.mechanics.FurnaceExperience; 5 | import gg.projecteden.nexus.features.blockmechanics.mechanics.JackOLanternToggle; 6 | import gg.projecteden.nexus.framework.features.Feature; 7 | 8 | public class BlockMechanics extends Feature { 9 | 10 | @Override 11 | public void onStart() { 12 | new JackOLanternToggle(); 13 | new BlockFireToggle(); 14 | new FurnaceExperience(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/commands/DoNothingCommand.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.commands; 2 | 3 | import gg.projecteden.nexus.framework.commands.models.CustomCommand; 4 | import gg.projecteden.nexus.framework.commands.models.annotations.HideFromWiki; 5 | import gg.projecteden.nexus.framework.commands.models.annotations.Path; 6 | import gg.projecteden.nexus.framework.commands.models.events.CommandEvent; 7 | 8 | @HideFromWiki 9 | public class DoNothingCommand extends CustomCommand { 10 | 11 | public DoNothingCommand(CommandEvent event) { 12 | super(event); 13 | } 14 | 15 | @Path 16 | void nothing() { 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/events/y2022/halloween22/quests/Halloween22QuestItem.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.events.y2022.halloween22.quests; 2 | 3 | import gg.projecteden.nexus.features.quests.QuestItem; 4 | import gg.projecteden.nexus.utils.ItemBuilder; 5 | import lombok.AllArgsConstructor; 6 | import lombok.Getter; 7 | import org.bukkit.inventory.ItemStack; 8 | 9 | @Getter 10 | @AllArgsConstructor 11 | public enum Halloween22QuestItem implements QuestItem { 12 | ; 13 | 14 | private final ItemBuilder itemBuilder; 15 | 16 | @Override 17 | public ItemStack get() { 18 | return itemBuilder.build(); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/events/y2022/halloween22/quests/Halloween22QuestTask.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.events.y2022.halloween22.quests; 2 | 3 | import gg.projecteden.nexus.features.quests.tasks.common.IQuestTask; 4 | import gg.projecteden.nexus.features.quests.tasks.common.QuestTask.TaskBuilder; 5 | import lombok.AllArgsConstructor; 6 | import lombok.Getter; 7 | 8 | @Getter 9 | @AllArgsConstructor 10 | public enum Halloween22QuestTask implements IQuestTask { 11 | ; 12 | 13 | private final TaskBuilder task; 14 | 15 | @Override 16 | public TaskBuilder builder() { 17 | return task; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigolf/models/events/MiniGolfBallBounceEvent.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigolf.models.events; 2 | 3 | import gg.projecteden.nexus.models.minigolf.GolfBall; 4 | import lombok.Getter; 5 | import lombok.Setter; 6 | import org.bukkit.Material; 7 | import org.bukkit.event.Cancellable; 8 | 9 | public class MiniGolfBallBounceEvent extends MiniGolfBallMoveEvent implements Cancellable { 10 | @Getter 11 | @Setter 12 | protected boolean cancelled = false; 13 | 14 | @Getter 15 | Material material; 16 | 17 | public MiniGolfBallBounceEvent(GolfBall golfBall) { 18 | super(golfBall); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/resourcepack/decoration/types/special/MobPlushie.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.resourcepack.decoration.types.special; 2 | 3 | import gg.projecteden.nexus.features.resourcepack.decoration.types.surfaces.FloorThing; 4 | import gg.projecteden.nexus.features.resourcepack.models.ItemModelType; 5 | import lombok.Getter; 6 | 7 | public class MobPlushie extends FloorThing { 8 | @Getter 9 | private final double dropChance; 10 | 11 | public MobPlushie(String name, ItemModelType itemModelType, double dropChance) { 12 | super(false, name, itemModelType); 13 | this.dropChance = dropChance; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/framework/commands/models/annotations/Description.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.framework.commands.models.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * Adds a description to a command which can be seen via the in-game command /<command> help 10 | */ 11 | @Target({ElementType.METHOD, ElementType.TYPE, ElementType.FIELD}) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | public @interface Description { 14 | String value(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/perkowner/PerkOwnerService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.perkowner; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(PerkOwner.class) 11 | public class PerkOwnerService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/models/perks/IHasPerkCategory.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.models.perks; 2 | 3 | import org.jetbrains.annotations.NotNull; 4 | 5 | public interface IHasPerkCategory { 6 | 7 | @NotNull PerkCategory getPerkCategory(); 8 | 9 | /** 10 | * Determines if this perk prevents another perk from being enabled. 11 | * @return true if this perk blocks the other, else false 12 | */ 13 | default boolean excludes(IHasPerkCategory other) { 14 | return getPerkCategory().isExclusive() && getPerkCategory().getExclusionGroup() == other.getPerkCategory().getExclusionGroup(); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/framework/commands/models/annotations/Cooldown.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.framework.commands.models.annotations; 2 | 3 | import gg.projecteden.api.common.utils.TimeUtils.TickTime; 4 | 5 | import java.lang.annotation.ElementType; 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.RetentionPolicy; 8 | import java.lang.annotation.Target; 9 | 10 | @Target({ElementType.TYPE, ElementType.METHOD}) 11 | @Retention(RetentionPolicy.RUNTIME) 12 | public @interface Cooldown { 13 | TickTime value(); 14 | double x() default 1; 15 | boolean global() default false; 16 | String bypass() default ""; 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/framework/exceptions/postconfigured/InvalidInputException.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.framework.exceptions.postconfigured; 2 | 3 | import gg.projecteden.nexus.utils.JsonBuilder; 4 | import net.kyori.adventure.text.ComponentLike; 5 | 6 | public class InvalidInputException extends PostConfiguredException { 7 | 8 | public InvalidInputException(JsonBuilder json) { 9 | super(json); 10 | } 11 | 12 | public InvalidInputException(ComponentLike component) { 13 | this(new JsonBuilder(component)); 14 | } 15 | 16 | public InvalidInputException(String message) { 17 | this(new JsonBuilder(message)); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/curiosity/CuriosityService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.curiosity; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(Curiosity.class) 11 | public class CuriosityService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/friends/FriendsUserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.friends; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(FriendsUser.class) 11 | public class FriendsUserService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/legacy/LegacyUserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.legacy; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(LegacyUser.class) 11 | public class LegacyUserService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/modreview/ModReviewService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.modreview; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(ModReview.class) 11 | public class ModReviewService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/profile/ProfileUserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.profile; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(ProfileUser.class) 11 | public class ProfileUserService extends MongoPlayerService { 12 | private static final Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/recipes/RecipeUserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.recipes; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(RecipeUser.class) 11 | public class RecipeUserService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/skincache/SkinCacheService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.skincache; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(SkinCache.class) 11 | public class SkinCacheService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/statusbar/StatusBarService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.statusbar; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(StatusBar.class) 11 | public class StatusBarService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/striplogs/StripLogsService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.striplogs; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(StripLogs.class) 11 | public class StripLogsService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/trust/TrustsUserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.trust; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(TrustsUser.class) 11 | public class TrustsUserService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/vanish/VanishUserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.vanish; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(VanishUser.class) 11 | public class VanishUserService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/wordle/WordleUserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.wordle; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(WordleUser.class) 11 | public class WordleUserService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/resourcepack/customblocks/events/NoteBlockChangePitchEvent.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.resourcepack.customblocks.events; 2 | 3 | import lombok.Getter; 4 | import lombok.Setter; 5 | import org.bukkit.block.Block; 6 | import org.bukkit.entity.Player; 7 | import org.bukkit.event.Cancellable; 8 | 9 | public class NoteBlockChangePitchEvent extends NoteBlockEvent implements Cancellable { 10 | @Getter 11 | @Setter 12 | protected boolean cancelled = false; 13 | @Getter 14 | protected Player player; 15 | 16 | 17 | public NoteBlockChangePitchEvent(Player player, Block block) { 18 | super(block); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/boost/BoostConfigService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.boost; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(BoostConfig.class) 11 | public class BoostConfigService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/jigsawjam/JigsawJamService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.jigsawjam; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(JigsawJammer.class) 11 | public class JigsawJamService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/legacy/shops/LegacyShopService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.legacy.shops; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(LegacyShop.class) 11 | public class LegacyShopService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/party/PartyUserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.party; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(PartyUser.class) 11 | public class PartyUserService extends MongoPlayerService { 12 | 13 | private final static Map cache = new ConcurrentHashMap<>(); 14 | 15 | @Override 16 | public Map getCache() { 17 | return cache; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/pride21/Pride21UserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.pride21; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(Pride21User.class) 11 | public class Pride21UserService extends MongoPlayerService { 12 | private static final Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/radio/RadioUserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.radio; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(RadioUser.class) 11 | public class RadioUserService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | @Override 15 | public Map getCache() { 16 | return cache; 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/rule/HasReadRulesService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.rule; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(HasReadRules.class) 11 | public class HasReadRulesService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/skullhunt/SkullHuntService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.skullhunt; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(SkullHunter.class) 11 | public class SkullHuntService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/snoweffect/SnowEffectService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.snoweffect; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(SnowEffect.class) 11 | public class SnowEffectService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/socialmedia/TwitterService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.socialmedia; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(TwitterData.class) 11 | public class TwitterService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/sudoku/SudokuConfigService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.sudoku; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoBukkitService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(SudokuConfig.class) 11 | public class SudokuConfigService extends MongoBukkitService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/trophy/TrophyHolderService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.trophy; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(TrophyHolder.class) 11 | public class TrophyHolderService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/voter/VotePartyService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.voter; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(VotePartyData.class) 11 | public class VotePartyService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/vulan24/VuLan24UserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.vulan24; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(VuLan24User.class) 11 | public class VuLan24UserService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/mechanics/Maze.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.mechanics; 2 | 3 | import org.bukkit.Material; 4 | import org.bukkit.inventory.ItemStack; 5 | import org.jetbrains.annotations.NotNull; 6 | 7 | public class Maze extends Parkour { 8 | 9 | @Override 10 | public @NotNull String getName() { 11 | return "Maze"; 12 | } 13 | 14 | @Override 15 | public @NotNull String getDescription() { 16 | return "Navigate your way to the end of these twisting tunnels"; 17 | } 18 | 19 | @Override 20 | public @NotNull ItemStack getMenuItem() { 21 | return new ItemStack(Material.OAK_LEAVES); 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigolf/models/events/MiniGolfBallModifierBlockEvent.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigolf.models.events; 2 | 3 | import gg.projecteden.nexus.features.minigolf.models.blocks.ModifierBlockType; 4 | import gg.projecteden.nexus.models.minigolf.GolfBall; 5 | import lombok.Getter; 6 | 7 | public class MiniGolfBallModifierBlockEvent extends MiniGolfBallMoveEvent { 8 | @Getter 9 | private final ModifierBlockType modifierBlockType; 10 | 11 | public MiniGolfBallModifierBlockEvent(GolfBall golfBall, ModifierBlockType modifierBlockType) { 12 | super(golfBall); 13 | this.modifierBlockType = modifierBlockType; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/store/annotations/Display.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.store.annotations; 2 | 3 | import gg.projecteden.nexus.features.resourcepack.models.ItemModelType; 4 | import org.bukkit.Material; 5 | 6 | import java.lang.annotation.ElementType; 7 | import java.lang.annotation.Retention; 8 | import java.lang.annotation.RetentionPolicy; 9 | import java.lang.annotation.Target; 10 | 11 | @Target(ElementType.FIELD) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | public @interface Display { 14 | Material value() default Material.AIR; 15 | ItemModelType model() default ItemModelType.INVISIBLE; 16 | int amount() default 1; 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/autotorch/AutoTorchService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.autotorch; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(AutoTorchUser.class) 11 | public class AutoTorchService extends MongoPlayerService { 12 | private static final Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/creative/CreativeUserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.creative; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(CreativeUser.class) 11 | public class CreativeUserService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/easter21/Easter21UserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.easter21; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(Easter21User.class) 11 | public class Easter21UserService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/honeypot/HoneyPotBansService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.honeypot; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(HoneyPotBans.class) 11 | public class HoneyPotBansService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/minigolf/MiniGolfUserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.minigolf; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(MiniGolfUser.class) 11 | public class MiniGolfUserService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/pugmas21/Pugmas21UserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.pugmas21; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(Pugmas21User.class) 11 | public class Pugmas21UserService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/teleport/TeleportUserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.teleport; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(TeleportUser.class) 11 | public class TeleportUserService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/justice/misc/_JusticeCommand.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.justice.misc; 2 | 3 | import gg.projecteden.nexus.features.justice.Justice; 4 | import gg.projecteden.nexus.framework.commands.models.CustomCommand; 5 | import gg.projecteden.nexus.framework.commands.models.events.CommandEvent; 6 | import lombok.NoArgsConstructor; 7 | import lombok.NonNull; 8 | 9 | @NoArgsConstructor 10 | public abstract class _JusticeCommand extends CustomCommand { 11 | 12 | public _JusticeCommand(@NonNull CommandEvent event) { 13 | super(event); 14 | PREFIX = Justice.PREFIX; 15 | DISCORD_PREFIX = Justice.DISCORD_PREFIX; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/quests/QuestShopMenu.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.quests; 2 | 3 | import gg.projecteden.nexus.features.menus.MenuUtils.NPCShopMenu.NPCShopMenuBuilder; 4 | import gg.projecteden.nexus.features.quests.interactable.InteractableNPC; 5 | import org.bukkit.entity.Player; 6 | 7 | public interface QuestShopMenu { 8 | 9 | InteractableNPC getNPC(); 10 | 11 | NPCShopMenuBuilder getShopBuilder(); 12 | 13 | default NPCShopMenuBuilder getShopMenu() { 14 | return getShopBuilder().npcId(getNPC().getNpcId()).shopGroup(null); 15 | } 16 | 17 | default void open(Player player) { 18 | getShopMenu().open(player); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/store/annotations/Commands.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.store.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Repeatable; 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.RetentionPolicy; 7 | import java.lang.annotation.Target; 8 | 9 | @Target(ElementType.FIELD) 10 | @Retention(RetentionPolicy.RUNTIME) 11 | public @interface Commands { 12 | Command[] value() default {}; 13 | 14 | @Target(ElementType.FIELD) 15 | @Retention(RetentionPolicy.RUNTIME) 16 | @Repeatable(value = Commands.class) 17 | @interface Command { 18 | String value(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/discord/DiscordConfigService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.discord; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoBukkitService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(DiscordConfig.class) 11 | public class DiscordConfigService extends MongoBukkitService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/fakenpcs/users/FakeNPCUserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.fakenpcs.users; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(FakeNPCUser.class) 11 | public class FakeNPCUserService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/legacy/mail/LegacyMailerService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.legacy.mail; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(LegacyMailer.class) 11 | public class LegacyMailerService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/mutemenu/MuteMenuService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.mutemenu; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(MuteMenuUser.class) 11 | public class MuteMenuService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | @Override 15 | public Map getCache() { 16 | return cache; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/socialmedia/InstagramService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.socialmedia; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoBukkitService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(InstagramData.class) 11 | public class InstagramService extends MongoBukkitService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/statuehunt/StatueHuntService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.statuehunt; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(StatueHunt.class) 11 | public class StatueHuntService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | @Override 15 | public Map getCache() { 16 | return cache; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/vulan24/VuLan24ConfigService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.vulan24; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoBukkitService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(VuLan24Config.class) 11 | public class VuLan24ConfigService extends MongoBukkitService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/models/events/matches/lobbies/LobbyEvent.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.models.events.matches.lobbies; 2 | 3 | import gg.projecteden.nexus.features.minigames.models.Lobby; 4 | import gg.projecteden.nexus.features.minigames.models.Match; 5 | import gg.projecteden.nexus.features.minigames.models.events.matches.MatchEvent; 6 | import lombok.Getter; 7 | import lombok.NonNull; 8 | 9 | public abstract class LobbyEvent extends MatchEvent { 10 | @NonNull 11 | @Getter 12 | private Lobby lobby; 13 | 14 | public LobbyEvent(Match match, Lobby lobby) { 15 | super(match); 16 | this.lobby = lobby; 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/models/mechanics/custom/bingo/challenge/common/IEntityChallenge.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.models.mechanics.custom.bingo.challenge.common; 2 | 3 | import gg.projecteden.nexus.utils.ItemBuilder; 4 | import org.bukkit.Material; 5 | import org.bukkit.entity.EntityType; 6 | 7 | import java.util.Set; 8 | 9 | public interface IEntityChallenge extends IChallenge { 10 | 11 | Set getTypes(); 12 | 13 | int getAmount(); 14 | 15 | @Override 16 | default Material getDisplayMaterial() { 17 | return new ItemBuilder(Material.BARRIER).spawnEgg(getTypes().iterator().next()).material(); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/ambience/AmbienceUserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.ambience; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(AmbienceUser.class) 11 | public class AmbienceUserService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | @Override 15 | public Map getCache() { 16 | return cache; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/birthday21/Birthday21UserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.birthday21; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(Birthday21User.class) 11 | public class Birthday21UserService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/bossfight/BossFightUserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.bossfight; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(BossFightUser.class) 11 | public class BossFightUserService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/buildcontest/BuildContestService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.buildcontest; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(BuildContest.class) 11 | public class BuildContestService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/decoration/DecorationUserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.decoration; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(DecorationUser.class) 11 | public class DecorationUserService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/difficulty/DifficultyUserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.difficulty; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(DifficultyUser.class) 11 | public class DifficultyUserService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/extraplots/ExtraPlotUserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.extraplots; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(ExtraPlotUser.class) 11 | public class ExtraPlotUserService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/forcefield/ForceFieldUserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.forcefield; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(ForceFieldUser.class) 11 | public class ForceFieldUserService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/nameplates/NameplateUserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.nameplates; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(NameplateUser.class) 11 | public class NameplateUserService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/objective/ObjectiveUserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.objective; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(ObjectiveUser.class) 11 | public class ObjectiveUserService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/rainbowarmor/RainbowArmorService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.rainbowarmor; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(RainbowArmor.class) 11 | public class RainbowArmorService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/ambience/effects/sounds/common/SoundEffectType.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.ambience.effects.sounds.common; 2 | 3 | import gg.projecteden.nexus.features.ambience.effects.common.ConditionalEffect; 4 | import gg.projecteden.nexus.models.ambience.AmbienceUser; 5 | import lombok.AllArgsConstructor; 6 | 7 | @AllArgsConstructor 8 | public enum SoundEffectType implements ConditionalEffect { 9 | THING { 10 | @Override 11 | public boolean conditionsMet(AmbienceUser user, SoundEffectConfig config) { 12 | return false; 13 | } 14 | }; 15 | 16 | abstract public boolean conditionsMet(AmbienceUser user, SoundEffectConfig config); 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/models/events/matches/minigamers/MinigamerMatchEvent.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.models.events.matches.minigamers; 2 | 3 | import gg.projecteden.nexus.features.minigames.models.Minigamer; 4 | import gg.projecteden.nexus.features.minigames.models.events.matches.MatchEvent; 5 | import lombok.Getter; 6 | import lombok.NonNull; 7 | 8 | public abstract class MinigamerMatchEvent extends MatchEvent { 9 | @Getter 10 | @NonNull 11 | protected final Minigamer minigamer; 12 | 13 | public MinigamerMatchEvent(Minigamer minigamer) { 14 | super(minigamer.getMatch()); 15 | this.minigamer = minigamer; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/ambience/AmbienceConfigService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.ambience; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(AmbienceConfig.class) 11 | public class AmbienceConfigService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/clientside/ClientSideUserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.clientside; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(ClientSideUser.class) 11 | public class ClientSideUserService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/doublejump/DoubleJumpUserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.doublejump; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(DoubleJumpUser.class) 11 | public class DoubleJumpUserService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/minigolf/MiniGolfConfigService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.minigolf; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(MiniGolfConfig.class) 11 | public class MiniGolfConfigService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/newrankcolors/NewRankColorsService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.newrankcolors; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(NewRankColors.class) 11 | public class NewRankColorsService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/pugmas20/Pugmas20UserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.pugmas20; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(Pugmas20User.class) 11 | public class Pugmas20UserService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | @Override 15 | public Map getCache() { 16 | return cache; 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/pugmas21/Advent21ConfigService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.pugmas21; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(Advent21Config.class) 11 | public class Advent21ConfigService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/pugmas25/Pugmas25ConfigService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.pugmas25; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoBukkitService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(Pugmas25Config.class) 11 | public class Pugmas25ConfigService extends MongoBukkitService { 12 | 13 | private final static Map cache = new ConcurrentHashMap<>(); 14 | 15 | public Map getCache() { 16 | return cache; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/punishments/NameBanConfigService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.punishments; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(NameBanConfig.class) 11 | public class NameBanConfigService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/punishments/SkinBanConfigService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.punishments; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoBukkitService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(SkinBanConfig.class) 11 | public class SkinBanConfigService extends MongoBukkitService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/rainbowbeacon/RainbowBeaconService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.rainbowbeacon; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(RainbowBeacon.class) 11 | public class RainbowBeaconService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/serializetest/SerializeTestService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.serializetest; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(SerializeTest.class) 11 | public class SerializeTestService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/testquestuser/TestQuestUserService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.testquestuser; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(TestQuestUser.class) 11 | public class TestQuestUserService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/minigames/models/mechanics/custom/bingo/challenge/common/ProgressClass.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.minigames.models.mechanics.custom.bingo.challenge.common; 2 | 3 | import gg.projecteden.nexus.features.minigames.models.mechanics.custom.bingo.progress.common.IChallengeProgress; 4 | 5 | import java.lang.annotation.ElementType; 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.RetentionPolicy; 8 | import java.lang.annotation.Target; 9 | 10 | @Target(ElementType.TYPE) 11 | @Retention(RetentionPolicy.RUNTIME) 12 | public @interface ProgressClass { 13 | 14 | Class> value(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/store/annotations/Permissions.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.features.store.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Repeatable; 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.RetentionPolicy; 7 | import java.lang.annotation.Target; 8 | 9 | @Target(ElementType.FIELD) 10 | @Retention(RetentionPolicy.RUNTIME) 11 | public @interface Permissions { 12 | Permission[] value() default {}; 13 | 14 | @Target(ElementType.FIELD) 15 | @Retention(RetentionPolicy.RUNTIME) 16 | @Repeatable(value = Permissions.class) 17 | @interface Permission { 18 | String value(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/chatgames/ChatGamesConfigService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.chatgames; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(ChatGamesConfig.class) 11 | public class ChatGamesConfigService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/fakenpcs/config/FakeNPCConfigService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.fakenpcs.config; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoBukkitService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(FakeNPCConfig.class) 11 | public class FakeNPCConfigService extends MongoBukkitService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/honeypot/HoneyPotGrieferService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.honeypot; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(HoneyPotGriefer.class) 11 | public class HoneyPotGrieferService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/hub/HubTreasureHunterService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.hub; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(HubTreasureHunter.class) 11 | public class HubTreasureHunterService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/offline/OfflineMessageService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.offline; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(OfflineMessageUser.class) 11 | public class OfflineMessageService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/pugmas25/Advent25ConfigService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.pugmas25; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoBukkitService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(Advent25Config.class) 11 | public class Advent25ConfigService extends MongoBukkitService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | 20 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/models/staffhall/StaffHallConfigService.java: -------------------------------------------------------------------------------- 1 | package gg.projecteden.nexus.models.staffhall; 2 | 3 | import gg.projecteden.api.mongodb.annotations.ObjectClass; 4 | import gg.projecteden.nexus.framework.persistence.mongodb.MongoPlayerService; 5 | 6 | import java.util.Map; 7 | import java.util.UUID; 8 | import java.util.concurrent.ConcurrentHashMap; 9 | 10 | @ObjectClass(StaffHallConfig.class) 11 | public class StaffHallConfigService extends MongoPlayerService { 12 | private final static Map cache = new ConcurrentHashMap<>(); 13 | 14 | public Map getCache() { 15 | return cache; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/gg/projecteden/nexus/features/events/README.md: -------------------------------------------------------------------------------- 1 | ## Future Event Ideas 2 | - Bear Fair 2021 3 | - Bingo 4 | - Pugmas 2021 5 | - Radio tower "broadcasting" the server radio 6 | - radio heads in houses playing the radio station using Radio plugin, would need to make radius radios able to have multiple locations 7 | - Workshop underground massive factory 8 | - Cave with player ridable minecart track from coal mine to factory 9 | - Conveyor Belts -- Armorstands 10 | - Client side falling block entity train 11 | - Custom hand held map for pugmas 12 | 13 | - Event portal in spawn 14 | - In mine corner hole? 15 | - Fall through to event lobby 16 | - Launch pad to get back --------------------------------------------------------------------------------