├── .gitattributes
├── .gitignore
├── .idea
├── compiler.xml
├── discord.xml
├── encodings.xml
├── jarRepositories.xml
├── libraries
│ ├── Maven__com_google_code_findbugs_jsr305_1_3_9.xml
│ ├── Maven__com_google_code_gson_gson_2_2_4.xml
│ ├── Maven__com_google_guava_guava_17_0.xml
│ ├── Maven__com_googlecode_json_simple_json_simple_1_1_1.xml
│ ├── Maven__com_sk89q_dummypermscompat_1_8.xml
│ ├── Maven__com_sk89q_jchronic_0_2_4a.xml
│ ├── Maven__com_sk89q_lib_jlibnoise_1_0_0.xml
│ ├── Maven__com_sk89q_worldedit_worldedit_bukkit_6_1_4_SNAPSHOT.xml
│ ├── Maven__com_sk89q_worldedit_worldedit_core_6_1_4_SNAPSHOT.xml
│ ├── Maven__com_thoughtworks_paranamer_paranamer_2_6.xml
│ ├── Maven__commons_lang_commons_lang_2_6.xml
│ ├── Maven__de_schlichtherle_truezip_6_8_3.xml
│ ├── Maven__javax_persistence_persistence_api_1_0.xml
│ ├── Maven__junit_junit_4_10.xml
│ ├── Maven__net_citizensnpcs_citizens_2_0_27.xml
│ ├── Maven__net_md_5_bungeecord_chat_1_8_SNAPSHOT.xml
│ ├── Maven__org_avaje_ebean_2_8_1.xml
│ ├── Maven__org_bukkit_bukkit_1_9_4_R0_1_SNAPSHOT.xml
│ ├── Maven__org_bukkit_craftbukkit_1_8_8_R0_1_SNAPSHOT.xml
│ ├── Maven__org_hamcrest_hamcrest_core_1_1.xml
│ ├── Maven__org_projectlombok_lombok_1_18_16.xml
│ ├── Maven__org_spigotmc_spigot_api_1_8_8_R0_1_SNAPSHOT.xml
│ ├── Maven__org_xerial_sqlite_jdbc_3_32_3_2.xml
│ ├── Maven__org_yaml_snakeyaml_1_15.xml
│ └── Maven__rhino_js_1_7R2.xml
├── misc.xml
├── modules.xml
├── uiDesigner.xml
├── vcs.xml
└── workspace.xml
├── LICENSE
├── README.md
├── Spectaculation.iml
├── pom.xml
└── src
└── main
├── java
└── me
│ └── superischroma
│ └── spectaculation
│ ├── Repeater.java
│ ├── SkyBlockCalendar.java
│ ├── Spectaculation.java
│ ├── auction
│ ├── AuctionBid.java
│ ├── AuctionEscrow.java
│ └── AuctionItem.java
│ ├── collection
│ ├── ItemCollection.java
│ ├── ItemCollectionCategory.java
│ ├── ItemCollectionRecipeReward.java
│ ├── ItemCollectionReward.java
│ ├── ItemCollectionRewards.java
│ └── ItemCollectionUpgradeReward.java
│ ├── command
│ ├── AbsorptionCommand.java
│ ├── AuctionHouseCommand.java
│ ├── BatphoneCommand.java
│ ├── CoinsCommand.java
│ ├── CollectionsCommand.java
│ ├── CommandArgumentException.java
│ ├── CommandFailException.java
│ ├── CommandLoader.java
│ ├── CommandParameters.java
│ ├── CommandPermissionException.java
│ ├── CommandSource.java
│ ├── DataCommand.java
│ ├── EntitySpawnersCommand.java
│ ├── GUICommand.java
│ ├── IslandCommand.java
│ ├── ItemBrowseCommand.java
│ ├── ItemCommand.java
│ ├── ManaCommand.java
│ ├── MaterialDataCommand.java
│ ├── NBTCommand.java
│ ├── PlayEnumEffectCommand.java
│ ├── PlayEnumSoundCommand.java
│ ├── PlayerNotFoundException.java
│ ├── RecombobulateCommand.java
│ ├── RegionCommand.java
│ ├── SCommand.java
│ ├── SkillsCommand.java
│ ├── SoundSequenceCommand.java
│ ├── SpawnSpecCommand.java
│ ├── SpecEffectsCommand.java
│ ├── SpecEnchantmentCommand.java
│ ├── SpecPotionCommand.java
│ ├── SpecRarityCommand.java
│ ├── SpecReforgeCommand.java
│ ├── SpecTestCommand.java
│ └── SpectaculationCommand.java
│ ├── config
│ └── Config.java
│ ├── enchantment
│ ├── Enchantment.java
│ └── EnchantmentType.java
│ ├── entity
│ ├── Ageable.java
│ ├── EntityDrop.java
│ ├── EntityDropType.java
│ ├── EntityFunction.java
│ ├── EntityPopulator.java
│ ├── EntitySpawner.java
│ ├── EntityStatistics.java
│ ├── JockeyStatistics.java
│ ├── SEntity.java
│ ├── SEntityEquipment.java
│ ├── SEntityType.java
│ ├── SkeletonStatistics.java
│ ├── SlimeStatistics.java
│ ├── StaticDragonManager.java
│ ├── ZombieStatistics.java
│ ├── caverns
│ │ ├── CreeperFunction.java
│ │ ├── DiamondSkeleton.java
│ │ ├── DiamondZombie.java
│ │ ├── EnchantedDiamondSkeleton.java
│ │ ├── EnchantedDiamondZombie.java
│ │ ├── LapisZombie.java
│ │ ├── LargeSlime.java
│ │ ├── MediumSlime.java
│ │ ├── Pigman.java
│ │ └── SmallSlime.java
│ ├── den
│ │ ├── BaseSpider.java
│ │ ├── BroodMother.java
│ │ ├── CaveSpider.java
│ │ ├── DasherSpider.java
│ │ ├── MutantTarantula.java
│ │ ├── Silverfish.java
│ │ ├── SpiderJockey.java
│ │ ├── SpidersDenSkeleton.java
│ │ ├── SpidersDenSlime.java
│ │ ├── SplitterSpider.java
│ │ ├── TarantulaBeast.java
│ │ ├── TarantulaVermin.java
│ │ ├── VoraciousSpider.java
│ │ └── WeaverSpider.java
│ ├── end
│ │ ├── Enderman.java
│ │ ├── EndermanStatistics.java
│ │ ├── ObsidianDefender.java
│ │ ├── StrongEnderman.java
│ │ ├── Watcher.java
│ │ ├── WeakEnderman.java
│ │ └── Zealot.java
│ ├── insentient
│ │ ├── FloatingCrystal.java
│ │ └── WheatCrystal.java
│ ├── nether
│ │ ├── LargeMagmaCube.java
│ │ ├── MediumMagmaCube.java
│ │ ├── SmallMagmaCube.java
│ │ └── WitherSkeleton.java
│ ├── nms
│ │ ├── Dragon.java
│ │ ├── OldDragon.java
│ │ ├── ProtectorDragon.java
│ │ ├── RevenantHorror.java
│ │ ├── SNMSEntity.java
│ │ ├── SlayerBoss.java
│ │ ├── SneakyCreeper.java
│ │ ├── StrongDragon.java
│ │ ├── SuperiorDragon.java
│ │ ├── SvenPackmaster.java
│ │ ├── TarantulaBroodfather.java
│ │ ├── TieredValue.java
│ │ ├── UncollidableArmorStand.java
│ │ ├── UnstableDragon.java
│ │ ├── VelocityArmorStand.java
│ │ ├── WiseDragon.java
│ │ └── YoungDragon.java
│ ├── skeleton
│ │ └── HighLevelSkeleton.java
│ ├── wolf
│ │ ├── BaseWolf.java
│ │ ├── HowlingSpirit.java
│ │ ├── OldWolf.java
│ │ ├── PackEnforcer.java
│ │ ├── PackSpirit.java
│ │ ├── SoulOfTheAlpha.java
│ │ ├── SvenAlpha.java
│ │ ├── SvenFollower.java
│ │ ├── SvenPup.java
│ │ ├── Wolf.java
│ │ └── WolfStatistics.java
│ └── zombie
│ │ ├── BaseZombie.java
│ │ ├── CryptGhoul.java
│ │ ├── DeformedRevenant.java
│ │ ├── GoldenGhoul.java
│ │ ├── RevenantChampion.java
│ │ ├── RevenantSycophant.java
│ │ ├── Zombie.java
│ │ └── ZombieVillager.java
│ ├── event
│ └── CreeperIgniteEvent.java
│ ├── gui
│ ├── ActiveEffectsGUI.java
│ ├── AnvilGUI.java
│ ├── AuctionConfirmGUI.java
│ ├── AuctionDurationGUI.java
│ ├── AuctionHouseGUI.java
│ ├── AuctionViewGUI.java
│ ├── AuctionsBrowserGUI.java
│ ├── BankerGUI.java
│ ├── BlockBasedGUI.java
│ ├── CategoryCollectionGUI.java
│ ├── CollectionMenuGUI.java
│ ├── ConfirmBidGUI.java
│ ├── CraftingTableGUI.java
│ ├── CreateAuctionGUI.java
│ ├── DepositGUI.java
│ ├── FarmMerchantGUI.java
│ ├── GUI.java
│ ├── GUIClickableItem.java
│ ├── GUICloseEvent.java
│ ├── GUIItem.java
│ ├── GUIListener.java
│ ├── GUIOpenEvent.java
│ ├── GUIQueryItem.java
│ ├── GUIType.java
│ ├── ItemBrowserGUI.java
│ ├── ItemCollectionGUI.java
│ ├── LiftGUI.java
│ ├── ManageAuctionsGUI.java
│ ├── PetsGUI.java
│ ├── QuiverGUI.java
│ ├── ReforgeAnvilGUI.java
│ ├── RevenantHorrorGUI.java
│ ├── ShopGUI.java
│ ├── ShopTradingOptionsGUI.java
│ ├── SkillMenuGUI.java
│ ├── SkyBlockMenuGUI.java
│ ├── SkyBlockProfileGUI.java
│ ├── SlayerCancellationConfirmGUI.java
│ ├── SlayerConfirmGUI.java
│ ├── SlayerGUI.java
│ ├── SvenPackmasterGUI.java
│ ├── TarantulaBroodfatherGUI.java
│ ├── WithdrawalGUI.java
│ └── YourBidsGUI.java
│ ├── item
│ ├── Ability.java
│ ├── AbilityActivation.java
│ ├── Enchantable.java
│ ├── EventType.java
│ ├── ExperienceRewardStatistics.java
│ ├── FishingRodFunction.java
│ ├── FlightStatistics.java
│ ├── GenericItemType.java
│ ├── ItemCategory.java
│ ├── ItemData.java
│ ├── ItemListener.java
│ ├── ItemLore.java
│ ├── ItemOrigin.java
│ ├── LoreableMaterialStatistics.java
│ ├── MaterialFunction.java
│ ├── MaterialQuantifiable.java
│ ├── MaterialStatistics.java
│ ├── Ownable.java
│ ├── PlayerBoostStatistics.java
│ ├── Rarity.java
│ ├── RarityValue.java
│ ├── Recipe.java
│ ├── Reforgable.java
│ ├── Rune.java
│ ├── SBlock.java
│ ├── SItem.java
│ ├── SMaterial.java
│ ├── ShapedRecipe.java
│ ├── ShapelessRecipe.java
│ ├── SkullStatistics.java
│ ├── SpecificItemType.java
│ ├── TickingMaterial.java
│ ├── ToolStatistics.java
│ ├── accessory
│ │ ├── AccessoryFunction.java
│ │ ├── AccessoryStatistics.java
│ │ ├── AutoRecombobulator.java
│ │ ├── BlankTalisman.java
│ │ ├── BrokenPiggyBank.java
│ │ ├── CrackedPiggyBank.java
│ │ ├── FarmingTalisman.java
│ │ ├── InfiniteCritTalisman.java
│ │ ├── PerfectTalisman.java
│ │ ├── PiggyBank.java
│ │ ├── SuperspeedTalisman.java
│ │ └── TarantulaTalisman.java
│ ├── armor
│ │ ├── ArmorSet.java
│ │ ├── BigBounceBoots.java
│ │ ├── LeatherArmorStatistics.java
│ │ ├── ObsidianChestplate.java
│ │ ├── SpidersBoots.java
│ │ ├── TickingSet.java
│ │ ├── hardened
│ │ │ ├── HardenedDiamondBoots.java
│ │ │ ├── HardenedDiamondChestplate.java
│ │ │ ├── HardenedDiamondHelmet.java
│ │ │ └── HardenedDiamondLeggings.java
│ │ ├── lapis
│ │ │ ├── LapisArmorBoots.java
│ │ │ ├── LapisArmorChestplate.java
│ │ │ ├── LapisArmorHelmet.java
│ │ │ ├── LapisArmorLeggings.java
│ │ │ └── LapisArmorSet.java
│ │ ├── miner
│ │ │ ├── MinerBoots.java
│ │ │ ├── MinerChestplate.java
│ │ │ ├── MinerHelmet.java
│ │ │ ├── MinerLeggings.java
│ │ │ └── MinerSet.java
│ │ └── vanilla
│ │ │ ├── chainmail
│ │ │ ├── ChainmailBoots.java
│ │ │ ├── ChainmailChestplate.java
│ │ │ ├── ChainmailHelmet.java
│ │ │ └── ChainmailLeggings.java
│ │ │ ├── diamond
│ │ │ ├── DiamondBoots.java
│ │ │ ├── DiamondChestplate.java
│ │ │ ├── DiamondHelmet.java
│ │ │ └── DiamondLeggings.java
│ │ │ ├── golden
│ │ │ ├── GoldenBoots.java
│ │ │ ├── GoldenChestplate.java
│ │ │ ├── GoldenHelmet.java
│ │ │ └── GoldenLeggings.java
│ │ │ ├── iron
│ │ │ ├── IronBoots.java
│ │ │ ├── IronChestplate.java
│ │ │ ├── IronHelmet.java
│ │ │ └── IronLeggings.java
│ │ │ └── leather
│ │ │ ├── LeatherBoots.java
│ │ │ ├── LeatherChestplate.java
│ │ │ ├── LeatherHelmet.java
│ │ │ └── LeatherLeggings.java
│ ├── axe
│ │ └── vanilla
│ │ │ ├── DiamondAxe.java
│ │ │ ├── GoldenAxe.java
│ │ │ ├── IronAxe.java
│ │ │ ├── StoneAxe.java
│ │ │ └── WoodenAxe.java
│ ├── bow
│ │ ├── Bow.java
│ │ ├── BowFunction.java
│ │ ├── EndStoneBow.java
│ │ ├── HurricaneBow.java
│ │ └── MosquitoBow.java
│ ├── dragon
│ │ ├── old
│ │ │ ├── OldDragonBoots.java
│ │ │ ├── OldDragonChestplate.java
│ │ │ ├── OldDragonFragment.java
│ │ │ ├── OldDragonHelmet.java
│ │ │ ├── OldDragonLeggings.java
│ │ │ └── OldDragonSet.java
│ │ ├── protector
│ │ │ ├── ProtectorDragonBoots.java
│ │ │ ├── ProtectorDragonChestplate.java
│ │ │ ├── ProtectorDragonFragment.java
│ │ │ ├── ProtectorDragonHelmet.java
│ │ │ ├── ProtectorDragonLeggings.java
│ │ │ └── ProtectorDragonSet.java
│ │ ├── strong
│ │ │ ├── StrongDragonBoots.java
│ │ │ ├── StrongDragonChestplate.java
│ │ │ ├── StrongDragonFragment.java
│ │ │ ├── StrongDragonHelmet.java
│ │ │ ├── StrongDragonLeggings.java
│ │ │ └── StrongDragonSet.java
│ │ ├── superior
│ │ │ ├── SuperiorDragonBoots.java
│ │ │ ├── SuperiorDragonChestplate.java
│ │ │ ├── SuperiorDragonFragment.java
│ │ │ ├── SuperiorDragonHelmet.java
│ │ │ ├── SuperiorDragonLeggings.java
│ │ │ └── SuperiorDragonSet.java
│ │ ├── unstable
│ │ │ ├── UnstableDragonBoots.java
│ │ │ ├── UnstableDragonChestplate.java
│ │ │ ├── UnstableDragonFragment.java
│ │ │ ├── UnstableDragonHelmet.java
│ │ │ ├── UnstableDragonLeggings.java
│ │ │ └── UnstableDragonSet.java
│ │ ├── wise
│ │ │ ├── WiseDragonBoots.java
│ │ │ ├── WiseDragonChestplate.java
│ │ │ ├── WiseDragonFragment.java
│ │ │ ├── WiseDragonHelmet.java
│ │ │ ├── WiseDragonLeggings.java
│ │ │ └── WiseDragonSet.java
│ │ └── young
│ │ │ ├── YoungDragonBoots.java
│ │ │ ├── YoungDragonChestplate.java
│ │ │ ├── YoungDragonFragment.java
│ │ │ ├── YoungDragonHelmet.java
│ │ │ ├── YoungDragonLeggings.java
│ │ │ └── YoungDragonSet.java
│ ├── enchanted
│ │ ├── EnchantedAcaciaWood.java
│ │ ├── EnchantedBakedPotato.java
│ │ ├── EnchantedBirchWood.java
│ │ ├── EnchantedBone.java
│ │ ├── EnchantedCharcoal.java
│ │ ├── EnchantedCoal.java
│ │ ├── EnchantedDarkOakWood.java
│ │ ├── EnchantedDiamond.java
│ │ ├── EnchantedDiamondBlock.java
│ │ ├── EnchantedEndStone.java
│ │ ├── EnchantedEnderPearl.java
│ │ ├── EnchantedEyeOfEnder.java
│ │ ├── EnchantedJungleWood.java
│ │ ├── EnchantedMaterialStatistics.java
│ │ ├── EnchantedOakWood.java
│ │ ├── EnchantedObsidian.java
│ │ ├── EnchantedPotato.java
│ │ └── EnchantedSpruceWood.java
│ ├── enchanting
│ │ └── EnchantedBook.java
│ ├── entity
│ │ └── RevenantHorrorHead.java
│ ├── exclusive
│ │ ├── FloatingCrystal.java
│ │ ├── TestItem.java
│ │ └── WheatCrystal.java
│ ├── farming
│ │ ├── BrownMushroom.java
│ │ ├── Cactus.java
│ │ ├── Carrot.java
│ │ ├── CocoaBeans.java
│ │ ├── Melon.java
│ │ ├── Potato.java
│ │ ├── Pumpkin.java
│ │ ├── RedMushroom.java
│ │ ├── SugarCane.java
│ │ └── WheatSeeds.java
│ ├── foraging
│ │ ├── AcaciaWood.java
│ │ ├── BirchWood.java
│ │ ├── DarkOakWood.java
│ │ ├── JungleWood.java
│ │ ├── OakWood.java
│ │ └── SpruceWood.java
│ ├── hoe
│ │ └── vanilla
│ │ │ ├── DiamondHoe.java
│ │ │ ├── GoldenHoe.java
│ │ │ ├── IronHoe.java
│ │ │ ├── StoneHoe.java
│ │ │ └── WoodenHoe.java
│ ├── mining
│ │ ├── CoalOre.java
│ │ ├── Cobblestone.java
│ │ ├── DiamondBlock.java
│ │ ├── DiamondOre.java
│ │ ├── EmeraldOre.java
│ │ ├── EndStone.java
│ │ ├── Glowstone.java
│ │ ├── GoldOre.java
│ │ ├── Gravel.java
│ │ ├── Ice.java
│ │ ├── IronOre.java
│ │ ├── LapisLazuliOre.java
│ │ ├── NetherQuartzOre.java
│ │ ├── Netherrack.java
│ │ ├── Obsidian.java
│ │ ├── RedstoneOre.java
│ │ ├── Sand.java
│ │ └── Stone.java
│ ├── oddities
│ │ ├── BagOfCoins.java
│ │ ├── Bedrock.java
│ │ ├── Bouncer.java
│ │ ├── CrystalFragment.java
│ │ ├── GoldenPowder.java
│ │ ├── GrapplingHook.java
│ │ ├── Launcher.java
│ │ ├── MaddoxBatphone.java
│ │ ├── QuiverArrow.java
│ │ ├── Recombobulator3000.java
│ │ ├── RemnantOfTheEye.java
│ │ ├── SkyBlockMenu.java
│ │ ├── SleepingEye.java
│ │ ├── SummoningEye.java
│ │ ├── SummoningFrame.java
│ │ ├── TeleporterLauncher.java
│ │ ├── WaterBottle.java
│ │ └── WeakWolfCatalyst.java
│ ├── orb
│ │ ├── ManaFluxPowerOrb.java
│ │ ├── OrbBuff.java
│ │ ├── OverfluxPowerOrb.java
│ │ ├── PlasmafluxPowerOrb.java
│ │ ├── PowerOrb.java
│ │ └── RadiantPowerOrb.java
│ ├── pet
│ │ ├── EndermanPet.java
│ │ ├── GungaPet.java
│ │ ├── Pet.java
│ │ └── PetAbility.java
│ ├── pickaxe
│ │ └── vanilla
│ │ │ ├── DiamondPickaxe.java
│ │ │ ├── GoldenPickaxe.java
│ │ │ ├── IronPickaxe.java
│ │ │ ├── StonePickaxe.java
│ │ │ └── WoodenPickaxe.java
│ ├── revenant
│ │ ├── BeheadedHorror.java
│ │ ├── FoulFlesh.java
│ │ ├── RevenantCatalyst.java
│ │ ├── RevenantFlesh.java
│ │ ├── ScytheBlade.java
│ │ └── UndeadCatalyst.java
│ ├── rune
│ │ ├── BiteRune.java
│ │ ├── CoutureRune.java
│ │ ├── PestilenceRune.java
│ │ ├── SnakeRune.java
│ │ └── SpiritRune.java
│ ├── shovel
│ │ └── vanilla
│ │ │ ├── DiamondShovel.java
│ │ │ ├── GoldenShovel.java
│ │ │ ├── IronShovel.java
│ │ │ ├── StoneShovel.java
│ │ │ └── WoodenShovel.java
│ ├── storage
│ │ ├── GreaterBackpack.java
│ │ ├── JumboBackpack.java
│ │ ├── LargeBackpack.java
│ │ ├── MediumBackpack.java
│ │ ├── SmallBackpack.java
│ │ └── Storage.java
│ ├── sven
│ │ ├── GrizzlyBait.java
│ │ ├── HamsterWheel.java
│ │ ├── OverfluxCapacitor.java
│ │ ├── RedClawEgg.java
│ │ └── WolfTooth.java
│ ├── tarantula
│ │ ├── DigestedMosquito.java
│ │ ├── FlySwatter.java
│ │ ├── SpiderCatalyst.java
│ │ ├── TarantulaWeb.java
│ │ └── ToxicArrowPoison.java
│ └── weapon
│ │ ├── AspectOfTheDragons.java
│ │ ├── AspectOfTheEnd.java
│ │ ├── AspectOfTheJerry.java
│ │ ├── Dagger.java
│ │ ├── EmeraldBlade.java
│ │ ├── Exterminator.java
│ │ ├── LeapingSword.java
│ │ ├── RogueSword.java
│ │ └── vanilla
│ │ ├── DiamondSword.java
│ │ ├── GoldenSword.java
│ │ ├── IronSword.java
│ │ ├── StoneSword.java
│ │ └── WoodenSword.java
│ ├── listener
│ ├── BlockListener.java
│ ├── PListener.java
│ ├── PlayerListener.java
│ ├── ServerPingListener.java
│ └── WorldListener.java
│ ├── potion
│ ├── ActivePotionEffect.java
│ ├── PotionColor.java
│ ├── PotionEffect.java
│ └── PotionEffectType.java
│ ├── reforge
│ ├── FierceReforge.java
│ ├── HeroicReforge.java
│ ├── OddReforge.java
│ ├── OverpoweredReforge.java
│ ├── RapidReforge.java
│ ├── Reforge.java
│ ├── ReforgeType.java
│ ├── SpicyReforge.java
│ └── SupergeniusReforge.java
│ ├── region
│ ├── Region.java
│ ├── RegionGenerator.java
│ └── RegionType.java
│ ├── sequence
│ ├── AnimationSequence.java
│ ├── AnimationSequenceType.java
│ ├── Sequence.java
│ ├── SoundSequence.java
│ └── SoundSequenceType.java
│ ├── sidebar
│ └── Sidebar.java
│ ├── skill
│ ├── CombatSkill.java
│ ├── FarmingSkill.java
│ ├── ForagingSkill.java
│ ├── MiningSkill.java
│ └── Skill.java
│ ├── slayer
│ ├── SlayerBossType.java
│ └── SlayerQuest.java
│ ├── sql
│ ├── SQLDatabase.java
│ ├── SQLRegionData.java
│ └── SQLWorldData.java
│ ├── user
│ ├── AuctionSettings.java
│ ├── DoublePlayerStatistic.java
│ ├── IntegerPlayerStatistic.java
│ ├── PlayerStatistic.java
│ ├── PlayerStatistics.java
│ ├── PlayerUtils.java
│ └── User.java
│ └── util
│ ├── BlankWorldCreator.java
│ ├── DefenseReplacement.java
│ ├── Groups.java
│ ├── PaginationList.java
│ ├── SLog.java
│ ├── SUtil.java
│ ├── SerialNBTTagCompound.java
│ ├── StackArrayList.java
│ └── TriConsumer.java
└── resources
├── blocks.yml
├── config.yml
├── database.db
├── heads.yml
├── plugin.yml
├── spawners.yml
└── test.yml
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | target/
2 | pom.xml.tag
3 | pom.xml.releaseBackup
4 | pom.xml.versionsBackup
5 | pom.xml.next
6 | release.properties
7 | dependency-reduced-pom.xml
8 | buildNumber.properties
9 | .mvn/timing.properties
10 | # https://github.com/takari/maven-wrapper#usage-without-binary-jar
11 | .mvn/wrapper/maven-wrapper.jar
12 |
--------------------------------------------------------------------------------
/.idea/compiler.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/.idea/discord.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_google_code_findbugs_jsr305_1_3_9.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_google_code_gson_gson_2_2_4.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_google_guava_guava_17_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_googlecode_json_simple_json_simple_1_1_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_sk89q_dummypermscompat_1_8.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_sk89q_jchronic_0_2_4a.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_sk89q_lib_jlibnoise_1_0_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_sk89q_worldedit_worldedit_bukkit_6_1_4_SNAPSHOT.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_sk89q_worldedit_worldedit_core_6_1_4_SNAPSHOT.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__com_thoughtworks_paranamer_paranamer_2_6.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__commons_lang_commons_lang_2_6.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__de_schlichtherle_truezip_6_8_3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__javax_persistence_persistence_api_1_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__junit_junit_4_10.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__net_citizensnpcs_citizens_2_0_27.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__net_md_5_bungeecord_chat_1_8_SNAPSHOT.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_avaje_ebean_2_8_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_bukkit_bukkit_1_9_4_R0_1_SNAPSHOT.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_bukkit_craftbukkit_1_8_8_R0_1_SNAPSHOT.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_projectlombok_lombok_1_18_16.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_spigotmc_spigot_api_1_8_8_R0_1_SNAPSHOT.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_xerial_sqlite_jdbc_3_32_3_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__org_yaml_snakeyaml_1_15.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/libraries/Maven__rhino_js_1_7R2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Spectaculation
2 | hypixel skyblock remake
3 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/collection/ItemCollectionCategory.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.collection;
2 |
3 | public enum ItemCollectionCategory
4 | {
5 | FARMING,
6 | MINING,
7 | COMBAT,
8 | FORAGING,
9 | FISHING,
10 | BOSS;
11 |
12 | public String getName()
13 | {
14 | return name().charAt(0) + name().substring(1).toLowerCase();
15 | }
16 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/collection/ItemCollectionRecipeReward.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.collection;
2 |
3 | import me.superischroma.spectaculation.item.SMaterial;
4 | import org.bukkit.ChatColor;
5 | import org.bukkit.entity.Player;
6 |
7 | public class ItemCollectionRecipeReward extends ItemCollectionReward
8 | {
9 | private final SMaterial material;
10 |
11 | public ItemCollectionRecipeReward(SMaterial material)
12 | {
13 | super(Type.RECIPE);
14 | this.material = material;
15 | }
16 |
17 | @Override
18 | public void onAchieve(Player player)
19 | {
20 | // TODO
21 | }
22 |
23 | public String toRewardString()
24 | {
25 | return ChatColor.GRAY + material.getDisplayName(material.getData()) + ChatColor.GRAY + " Recipe";
26 | }
27 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/collection/ItemCollectionReward.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.collection;
2 |
3 | import org.bukkit.entity.Player;
4 |
5 | public abstract class ItemCollectionReward
6 | {
7 | private final Type type;
8 |
9 | protected ItemCollectionReward(Type type)
10 | {
11 | this.type = type;
12 | }
13 |
14 | public abstract void onAchieve(Player player);
15 | public abstract String toRewardString();
16 |
17 | protected enum Type
18 | {
19 | RECIPE,
20 | UPGRADE,
21 | EXPERIENCE
22 | }
23 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/collection/ItemCollectionRewards.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.collection;
2 |
3 | import lombok.Getter;
4 |
5 | import java.util.ArrayList;
6 | import java.util.Arrays;
7 |
8 | public class ItemCollectionRewards extends ArrayList
9 | {
10 | @Getter
11 | private final int requirement;
12 |
13 | public ItemCollectionRewards(int requirement, ItemCollectionReward... rewards)
14 | {
15 | super(Arrays.asList(rewards));
16 | this.requirement = requirement;
17 | }
18 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/collection/ItemCollectionUpgradeReward.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.collection;
2 |
3 | import org.bukkit.ChatColor;
4 | import org.bukkit.entity.Player;
5 |
6 | public class ItemCollectionUpgradeReward extends ItemCollectionReward
7 | {
8 | private final String name;
9 | private final ChatColor color;
10 |
11 | public ItemCollectionUpgradeReward(String name, ChatColor color)
12 | {
13 | super(Type.UPGRADE);
14 | this.name = name;
15 | this.color = color;
16 | }
17 |
18 | public String toRewardString()
19 | {
20 | return color + name + " Upgrade";
21 | }
22 |
23 | @Override
24 | public void onAchieve(Player player) {} // no immediate rewards
25 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/command/AbsorptionCommand.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.command;
2 |
3 | import net.minecraft.server.v1_8_R3.EntityHuman;
4 | import org.bukkit.command.ConsoleCommandSender;
5 | import org.bukkit.craftbukkit.v1_8_R3.entity.CraftHumanEntity;
6 | import org.bukkit.entity.Player;
7 |
8 | @CommandParameters(description = "Modify your absorption amount.", permission = "spt.player")
9 | public class AbsorptionCommand extends SCommand
10 | {
11 | @Override
12 | public void run(CommandSource sender, String[] args)
13 | {
14 | if (args.length != 1) throw new CommandArgumentException();
15 | if (sender instanceof ConsoleCommandSender) throw new CommandFailException("Console senders cannot use this command!");
16 | Player player = sender.getPlayer();
17 | EntityHuman human = ((CraftHumanEntity) player).getHandle();
18 | float f = Float.parseFloat(args[0]);
19 | human.setAbsorptionHearts(f);
20 | send("You now have " + f + " absorption hearts.");
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/command/CommandArgumentException.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.command;
2 |
3 | public class CommandArgumentException extends RuntimeException
4 | {
5 | public CommandArgumentException()
6 | {
7 | super("");
8 | }
9 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/command/CommandFailException.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.command;
2 |
3 | public class CommandFailException extends RuntimeException
4 | {
5 | public CommandFailException(String message)
6 | {
7 | super(message);
8 | }
9 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/command/CommandLoader.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.command;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 |
6 | public class CommandLoader
7 | {
8 | private final List commands;
9 |
10 | public CommandLoader()
11 | {
12 | this.commands = new ArrayList<>();
13 | }
14 |
15 | public void register(SCommand command)
16 | {
17 | commands.add(command);
18 | command.register();
19 | }
20 |
21 | public int getCommandAmount()
22 | {
23 | return commands.size();
24 | }
25 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/command/CommandParameters.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.command;
2 |
3 | import java.lang.annotation.Retention;
4 | import java.lang.annotation.RetentionPolicy;
5 |
6 | @Retention(RetentionPolicy.RUNTIME)
7 | public @interface CommandParameters
8 | {
9 | String description() default "";
10 | String usage() default "/";
11 | String aliases() default "";
12 | String permission() default "";
13 | }
14 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/command/CommandPermissionException.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.command;
2 |
3 | import org.bukkit.ChatColor;
4 |
5 | public class CommandPermissionException extends RuntimeException
6 | {
7 | public CommandPermissionException(String permission)
8 | {
9 | super(ChatColor.RED + "No permission. You need \"" + permission + "\"");
10 | }
11 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/command/CommandSource.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.command;
2 |
3 | import lombok.Getter;
4 | import me.superischroma.spectaculation.user.User;
5 | import org.bukkit.command.CommandSender;
6 | import org.bukkit.entity.Player;
7 |
8 | @Getter
9 | public class CommandSource
10 | {
11 | private final CommandSender sender;
12 | private final Player player;
13 | private final User user;
14 |
15 | public CommandSource(CommandSender sender)
16 | {
17 | this.sender = sender;
18 | this.player = sender instanceof Player ? (Player) sender : null;
19 | this.user = player != null ? User.getUser(player.getUniqueId()) : null;
20 | }
21 |
22 | public void send(String message)
23 | {
24 | sender.sendMessage(message);
25 | }
26 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/command/GUICommand.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.command;
2 |
3 | import me.superischroma.spectaculation.gui.GUI;
4 | import me.superischroma.spectaculation.gui.GUIType;
5 | import org.bukkit.command.ConsoleCommandSender;
6 | import org.bukkit.entity.Player;
7 |
8 | @CommandParameters(description = "Opens a GUI.", permission = "spt.gui.edit")
9 | public class GUICommand extends SCommand
10 | {
11 | @Override
12 | public void run(CommandSource sender, String[] args)
13 | {
14 | if (args.length != 1) throw new CommandArgumentException();
15 | if (sender instanceof ConsoleCommandSender) throw new CommandFailException("Console senders cannot use this command!");
16 | Player player = sender.getPlayer();
17 | GUI gui = GUIType.valueOf(args[0].toUpperCase()).getGUI();
18 | gui.open(player);
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/command/IslandCommand.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.command;
2 |
3 | import me.superischroma.spectaculation.user.PlayerUtils;
4 | import org.bukkit.command.ConsoleCommandSender;
5 | import org.bukkit.entity.Player;
6 |
7 | @CommandParameters(description = "go to or create your island", aliases = "is")
8 | public class IslandCommand extends SCommand
9 | {
10 | @Override
11 | public void run(CommandSource sender, String[] args)
12 | {
13 | if (sender instanceof ConsoleCommandSender) throw new CommandFailException("Console senders cannot use this command!");
14 | Player player = sender.getPlayer();
15 | PlayerUtils.sendToIsland(player);
16 | }
17 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/command/ItemBrowseCommand.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.command;
2 |
3 | import me.superischroma.spectaculation.gui.ItemBrowserGUI;
4 | import org.apache.commons.lang.StringUtils;
5 | import org.bukkit.command.ConsoleCommandSender;
6 | import org.bukkit.entity.Player;
7 |
8 | @CommandParameters(description = "Browse from a catalog of items.", aliases = "browseitem,browseitems,browsei,bi,ib", permission = "spt.item")
9 | public class ItemBrowseCommand extends SCommand
10 | {
11 | @Override
12 | public void run(CommandSource sender, String[] args)
13 | {
14 | if (sender instanceof ConsoleCommandSender) throw new CommandFailException("Console senders cannot use this command!");
15 | Player player = sender.getPlayer();
16 | String query = "";
17 | if (args.length >= 1)
18 | query = StringUtils.join(args);
19 | new ItemBrowserGUI(query).open(player);
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/command/ManaCommand.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.command;
2 |
3 | import me.superischroma.spectaculation.Repeater;
4 | import org.bukkit.command.ConsoleCommandSender;
5 | import org.bukkit.entity.Player;
6 |
7 | import java.util.UUID;
8 |
9 | @CommandParameters(description = "Modify your mana amount.", permission = "spt.item")
10 | public class ManaCommand extends SCommand
11 | {
12 | @Override
13 | public void run(CommandSource sender, String[] args)
14 | {
15 | if (args.length != 1) throw new CommandArgumentException();
16 | if (sender instanceof ConsoleCommandSender) throw new CommandFailException("Console senders cannot use this command!");
17 | Player player = sender.getPlayer();
18 | UUID uuid = player.getUniqueId();
19 | if (!Repeater.MANA_MAP.containsKey(uuid)) throw new CommandFailException("Something went wrong!");
20 | int set = Integer.parseInt(args[0]);
21 | Repeater.MANA_MAP.remove(uuid);
22 | Repeater.MANA_MAP.put(uuid, set);
23 | send("Your mana is now " + set + ".");
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/command/PlayerNotFoundException.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.command;
2 |
3 | import org.bukkit.ChatColor;
4 |
5 | public class PlayerNotFoundException extends RuntimeException
6 | {
7 | public PlayerNotFoundException()
8 | {
9 | super(ChatColor.GRAY + "Player not found!");
10 | }
11 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/command/SkillsCommand.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.command;
2 |
3 | import me.superischroma.spectaculation.skill.Skill;
4 | import org.bukkit.command.ConsoleCommandSender;
5 |
6 | @CommandParameters(description = "Shows your skills.", aliases = "skill", permission = "spt.skills")
7 | public class SkillsCommand extends SCommand
8 | {
9 | @Override
10 | public void run(CommandSource sender, String[] args)
11 | {
12 | if (args.length != 0) throw new CommandArgumentException();
13 | if (sender instanceof ConsoleCommandSender) throw new CommandFailException("Console senders cannot use this command!");
14 | send("Skills:");
15 | for (Skill skill : Skill.getSkills())
16 | send(" - " + skill.getName() + ": LVL " + Skill.getLevel(sender.getUser().getSkillXP(skill), skill.hasSixtyLevels()) + ", " + sender.getUser().getSkillXP(skill) + " XP");
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/command/SpecTestCommand.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.command;
2 |
3 | import org.bukkit.command.ConsoleCommandSender;
4 | import org.bukkit.entity.Player;
5 | import org.bukkit.util.Vector;
6 |
7 | @CommandParameters(description = "Spec test command.", aliases = "test")
8 | public class SpecTestCommand extends SCommand
9 | {
10 | @Override
11 | public void run(CommandSource sender, String[] args)
12 | {
13 | if (args.length != 0) throw new CommandArgumentException();
14 | if (sender instanceof ConsoleCommandSender) throw new CommandFailException("Console senders cannot use this command!");
15 | Player player = sender.getPlayer();
16 | player.setVelocity(new Vector(-670.5, 58.0, -275.5).multiply(-1.0).multiply(3.0).setY(100.0));
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/command/SpectaculationCommand.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.command;
2 |
3 | @CommandParameters(description = "The main command for Spectaculation.", aliases = "spt")
4 | public class SpectaculationCommand extends SCommand
5 | {
6 | @Override
7 | public void run(CommandSource sender, String[] args)
8 | {
9 | send("Spectaculation v" + plugin.getDescription().getVersion());
10 | }
11 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/Ageable.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity;
2 |
3 | public interface Ageable
4 | {
5 | default boolean isBaby()
6 | {
7 | return false;
8 | }
9 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/EntityDropType.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity;
2 |
3 | import lombok.Getter;
4 | import org.bukkit.ChatColor;
5 |
6 | public enum EntityDropType
7 | {
8 | GUARANTEED(ChatColor.GREEN),
9 | COMMON(ChatColor.GREEN),
10 | OCCASIONAL(ChatColor.BLUE),
11 | RARE(ChatColor.GOLD),
12 | VERY_RARE(ChatColor.AQUA),
13 | EXTRAORDINARILY_RARE(ChatColor.DARK_PURPLE),
14 | CRAZY_RARE(ChatColor.LIGHT_PURPLE);
15 |
16 | @Getter
17 | private final ChatColor color;
18 |
19 | EntityDropType(ChatColor color)
20 | {
21 | this.color = color;
22 | }
23 |
24 | public String getDisplay()
25 | {
26 | return "" + color + ChatColor.BOLD + name().replaceAll("_", " ");
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/EntityFunction.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity;
2 |
3 | import com.google.common.util.concurrent.AtomicDouble;
4 | import org.bukkit.entity.Entity;
5 | import org.bukkit.entity.LivingEntity;
6 | import org.bukkit.event.entity.EntityDamageByEntityEvent;
7 | import org.bukkit.event.entity.EntityTargetLivingEntityEvent;
8 |
9 | import java.util.ArrayList;
10 | import java.util.List;
11 |
12 | public interface EntityFunction
13 | {
14 | default void onDeath(SEntity sEntity, Entity killed, Entity damager) {}
15 | default void onDamage(SEntity sEntity, Entity damager, EntityDamageByEntityEvent e, AtomicDouble damage) {}
16 | default List drops()
17 | {
18 | return new ArrayList<>();
19 | }
20 | default boolean tick(LivingEntity entity)
21 | {
22 | return false;
23 | }
24 | default void onSpawn(LivingEntity entity, SEntity sEntity) {}
25 | default void onAttack(EntityDamageByEntityEvent e) {}
26 | default void onTarget(SEntity sEntity, EntityTargetLivingEntityEvent e) {}
27 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/EntityStatistics.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity;
2 |
3 | public interface EntityStatistics
4 | {
5 | String getEntityName();
6 | double getEntityMaxHealth();
7 | double getDamageDealt();
8 | double getXPDropped();
9 | default SEntityEquipment getEntityEquipment()
10 | {
11 | return null;
12 | }
13 | default double getMovementSpeed()
14 | {
15 | return -1.0;
16 | }
17 | default boolean dealsTrueDamage()
18 | {
19 | return false;
20 | }
21 | default boolean hasNameTag()
22 | {
23 | return true;
24 | }
25 | default boolean removeWhenFarAway()
26 | {
27 | return false;
28 | }
29 | default boolean isVisible()
30 | {
31 | return true;
32 | }
33 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/JockeyStatistics.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity;
2 |
3 | public interface JockeyStatistics extends EntityStatistics
4 | {
5 | SEntityType getPassenger();
6 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/SEntityEquipment.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity;
2 |
3 | import lombok.Getter;
4 | import lombok.Setter;
5 | import org.bukkit.inventory.ItemStack;
6 |
7 | @Getter
8 | @Setter
9 | public class SEntityEquipment
10 | {
11 | private ItemStack itemInHand;
12 | private ItemStack helmet;
13 | private ItemStack chestplate;
14 | private ItemStack leggings;
15 | private ItemStack boots;
16 |
17 | public SEntityEquipment(ItemStack itemInHand, ItemStack helmet, ItemStack chestplate,
18 | ItemStack leggings, ItemStack boots)
19 | {
20 | this.itemInHand = itemInHand;
21 | this.helmet = helmet;
22 | this.chestplate = chestplate;
23 | this.leggings = leggings;
24 | this.boots = boots;
25 | }
26 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/SkeletonStatistics.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity;
2 |
3 | public interface SkeletonStatistics extends EntityStatistics
4 | {
5 | default boolean isWither()
6 | {
7 | return false;
8 | }
9 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/SlimeStatistics.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity;
2 |
3 | public interface SlimeStatistics extends EntityStatistics
4 | {
5 | default int getSize()
6 | {
7 | return 1;
8 | }
9 |
10 | default boolean split()
11 | {
12 | return false;
13 | }
14 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/ZombieStatistics.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity;
2 |
3 | public interface ZombieStatistics extends EntityStatistics, Ageable
4 | {
5 | default boolean isVillager()
6 | {
7 | return false;
8 | }
9 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/caverns/CreeperFunction.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity.caverns;
2 |
3 | import me.superischroma.spectaculation.entity.EntityFunction;
4 | import me.superischroma.spectaculation.entity.SEntity;
5 | import me.superischroma.spectaculation.event.CreeperIgniteEvent;
6 |
7 | public interface CreeperFunction extends EntityFunction
8 | {
9 | default void onCreeperIgnite(CreeperIgniteEvent e, SEntity sEntity) {}
10 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/den/BroodMother.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity.den;
2 |
3 | import me.superischroma.spectaculation.entity.SEntity;
4 | import me.superischroma.spectaculation.entity.SEntityType;
5 | import me.superischroma.spectaculation.util.SUtil;
6 | import org.bukkit.entity.Entity;
7 |
8 | public class BroodMother extends BaseSpider
9 | {
10 | @Override
11 | public String getEntityName()
12 | {
13 | return "Brood Mother";
14 | }
15 |
16 | @Override
17 | public double getEntityMaxHealth()
18 | {
19 | return 6000.0;
20 | }
21 |
22 | @Override
23 | public double getDamageDealt()
24 | {
25 | return 100.0;
26 | }
27 |
28 | @Override
29 | public void onDeath(SEntity sEntity, Entity killed, Entity damager)
30 | {
31 | int am = SUtil.random(4, 5);
32 | for (int i = 0; i < am; i++)
33 | new SEntity(sEntity.getEntity(), SEntityType.CAVE_SPIDER);
34 | }
35 |
36 | @Override
37 | public double getXPDropped()
38 | {
39 | return 17.0;
40 | }
41 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/den/CaveSpider.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity.den;
2 |
3 | public class CaveSpider extends BaseSpider
4 | {
5 | @Override
6 | public String getEntityName()
7 | {
8 | return "Cave Spider";
9 | }
10 |
11 | @Override
12 | public double getEntityMaxHealth()
13 | {
14 | return 12.0;
15 | }
16 |
17 | @Override
18 | public double getDamageDealt()
19 | {
20 | return 5.0;
21 | }
22 |
23 | @Override
24 | public double getXPDropped()
25 | {
26 | return 5.7;
27 | }
28 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/den/DasherSpider.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity.den;
2 |
3 | public class DasherSpider extends BaseSpider
4 | {
5 | @Override
6 | public String getEntityName()
7 | {
8 | return "Dasher Spider";
9 | }
10 |
11 | @Override
12 | public double getEntityMaxHealth()
13 | {
14 | return 160.0;
15 | }
16 |
17 | @Override
18 | public double getDamageDealt()
19 | {
20 | return 55.0;
21 | }
22 |
23 | @Override
24 | public double getMovementSpeed()
25 | {
26 | return 0.4;
27 | }
28 |
29 | @Override
30 | public double getXPDropped()
31 | {
32 | return 10.8;
33 | }
34 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/den/Silverfish.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity.den;
2 |
3 | import me.superischroma.spectaculation.entity.EntityFunction;
4 | import me.superischroma.spectaculation.entity.EntityStatistics;
5 |
6 | public class Silverfish implements EntityStatistics, EntityFunction
7 | {
8 | @Override
9 | public String getEntityName()
10 | {
11 | return "Silverfish";
12 | }
13 |
14 | @Override
15 | public double getEntityMaxHealth()
16 | {
17 | return 50.0;
18 | }
19 |
20 | @Override
21 | public double getDamageDealt()
22 | {
23 | return 20.0;
24 | }
25 |
26 | @Override
27 | public double getXPDropped()
28 | {
29 | return 5.4;
30 | }
31 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/den/SplitterSpider.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity.den;
2 |
3 | import me.superischroma.spectaculation.entity.SEntity;
4 | import me.superischroma.spectaculation.entity.SEntityType;
5 | import org.bukkit.entity.Entity;
6 |
7 | public class SplitterSpider extends BaseSpider
8 | {
9 | @Override
10 | public String getEntityName()
11 | {
12 | return "Splitter Spider";
13 | }
14 |
15 | @Override
16 | public double getEntityMaxHealth()
17 | {
18 | return 180.0;
19 | }
20 |
21 | @Override
22 | public double getDamageDealt()
23 | {
24 | return 30.0;
25 | }
26 |
27 | @Override
28 | public double getXPDropped()
29 | {
30 | return 9.7;
31 | }
32 |
33 | @Override
34 | public void onDeath(SEntity sEntity, Entity killed, Entity damager)
35 | {
36 | super.onDeath(sEntity, killed, damager);
37 | for (int i = 0; i < 2; i++)
38 | new SEntity(sEntity.getEntity(), SEntityType.SILVERFISH);
39 | }
40 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/den/TarantulaVermin.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity.den;
2 |
3 | import me.superischroma.spectaculation.entity.EntityDrop;
4 | import me.superischroma.spectaculation.entity.EntityDropType;
5 | import me.superischroma.spectaculation.item.SMaterial;
6 |
7 | import java.util.Collections;
8 | import java.util.List;
9 |
10 | public class TarantulaVermin extends BaseSpider
11 | {
12 | @Override
13 | public String getEntityName()
14 | {
15 | return "Tarantula Vermin";
16 | }
17 |
18 | @Override
19 | public double getEntityMaxHealth()
20 | {
21 | return 54000;
22 | }
23 |
24 | @Override
25 | public double getDamageDealt()
26 | {
27 | return 900.0;
28 | }
29 |
30 | @Override
31 | public double getXPDropped()
32 | {
33 | return 150.0;
34 | }
35 |
36 | @Override
37 | public List drops()
38 | {
39 | return Collections.singletonList(new EntityDrop(SMaterial.TARANTULA_WEB, EntityDropType.GUARANTEED, 1.0));
40 | }
41 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/den/VoraciousSpider.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity.den;
2 |
3 | public class VoraciousSpider extends BaseSpider
4 | {
5 | @Override
6 | public String getEntityName()
7 | {
8 | return "Voracious Spider";
9 | }
10 |
11 | @Override
12 | public double getEntityMaxHealth()
13 | {
14 | return 1000.0;
15 | }
16 |
17 | @Override
18 | public double getDamageDealt()
19 | {
20 | return 100.0;
21 | }
22 |
23 | @Override
24 | public double getXPDropped()
25 | {
26 | return 10.8;
27 | }
28 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/end/Enderman.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity.end;
2 |
3 | import me.superischroma.spectaculation.entity.EntityFunction;
4 |
5 | public class Enderman implements EndermanStatistics, EntityFunction
6 | {
7 | @Override
8 | public String getEntityName()
9 | {
10 | return "Enderman";
11 | }
12 |
13 | @Override
14 | public double getEntityMaxHealth()
15 | {
16 | return 6000.0;
17 | }
18 |
19 | @Override
20 | public double getDamageDealt()
21 | {
22 | return 600.0;
23 | }
24 |
25 | @Override
26 | public double getXPDropped()
27 | {
28 | return 32.0;
29 | }
30 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/end/EndermanStatistics.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity.end;
2 |
3 | import me.superischroma.spectaculation.entity.EntityStatistics;
4 | import org.bukkit.material.MaterialData;
5 |
6 | public interface EndermanStatistics extends EntityStatistics
7 | {
8 | default MaterialData getCarriedMaterial()
9 | {
10 | return null;
11 | }
12 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/end/StrongEnderman.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity.end;
2 |
3 | import me.superischroma.spectaculation.entity.EntityFunction;
4 |
5 | public class StrongEnderman implements EndermanStatistics, EntityFunction
6 | {
7 | @Override
8 | public String getEntityName()
9 | {
10 | return "Enderman";
11 | }
12 |
13 | @Override
14 | public double getEntityMaxHealth()
15 | {
16 | return 9000.0;
17 | }
18 |
19 | @Override
20 | public double getDamageDealt()
21 | {
22 | return 700.0;
23 | }
24 |
25 | @Override
26 | public double getXPDropped()
27 | {
28 | return 36.0;
29 | }
30 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/end/WeakEnderman.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity.end;
2 |
3 | import me.superischroma.spectaculation.entity.EntityFunction;
4 |
5 | public class WeakEnderman implements EndermanStatistics, EntityFunction
6 | {
7 | @Override
8 | public String getEntityName()
9 | {
10 | return "Enderman";
11 | }
12 |
13 | @Override
14 | public double getEntityMaxHealth()
15 | {
16 | return 4500.0;
17 | }
18 |
19 | @Override
20 | public double getDamageDealt()
21 | {
22 | return 500.0;
23 | }
24 |
25 | @Override
26 | public double getXPDropped()
27 | {
28 | return 28.0;
29 | }
30 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/insentient/WheatCrystal.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity.insentient;
2 |
3 | public class WheatCrystal extends FloatingCrystal
4 | {
5 | @Override
6 | protected String getURL()
7 | {
8 | return "d7d30431c2945ced873c27575eeaac22adb28adac7fbd89b56eb9e93979ce0fd";
9 | }
10 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/nether/MediumMagmaCube.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity.nether;
2 |
3 | import me.superischroma.spectaculation.entity.EntityFunction;
4 | import me.superischroma.spectaculation.entity.SlimeStatistics;
5 |
6 | public class MediumMagmaCube implements SlimeStatistics, EntityFunction
7 | {
8 | @Override
9 | public String getEntityName()
10 | {
11 | return "Magma Cube";
12 | }
13 |
14 | @Override
15 | public double getEntityMaxHealth()
16 | {
17 | return 250.0;
18 | }
19 |
20 | @Override
21 | public double getDamageDealt()
22 | {
23 | return 120.0;
24 | }
25 |
26 | @Override
27 | public double getXPDropped()
28 | {
29 | return 4.0;
30 | }
31 |
32 | @Override
33 | public int getSize()
34 | {
35 | return 5;
36 | }
37 |
38 | @Override
39 | public boolean split()
40 | {
41 | return false;
42 | }
43 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/nether/SmallMagmaCube.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity.nether;
2 |
3 | import me.superischroma.spectaculation.entity.EntityFunction;
4 | import me.superischroma.spectaculation.entity.SlimeStatistics;
5 |
6 | public class SmallMagmaCube implements SlimeStatistics, EntityFunction
7 | {
8 | @Override
9 | public String getEntityName()
10 | {
11 | return "Magma Cube";
12 | }
13 |
14 | @Override
15 | public double getEntityMaxHealth()
16 | {
17 | return 200.0;
18 | }
19 |
20 | @Override
21 | public double getDamageDealt()
22 | {
23 | return 70.0;
24 | }
25 |
26 | @Override
27 | public double getXPDropped()
28 | {
29 | return 4.0;
30 | }
31 |
32 | @Override
33 | public int getSize()
34 | {
35 | return 4;
36 | }
37 |
38 | @Override
39 | public boolean split()
40 | {
41 | return false;
42 | }
43 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/nms/OldDragon.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity.nms;
2 |
3 | import net.minecraft.server.v1_8_R3.World;
4 | import org.bukkit.Bukkit;
5 | import org.bukkit.craftbukkit.v1_8_R3.CraftWorld;
6 |
7 | public class OldDragon extends Dragon
8 | {
9 | public OldDragon(World world)
10 | {
11 | super(world, 1.2, Dragon.DEFAULT_DAMAGE_DEGREE_RANGE, Dragon.DEFAULT_ATTACK_COOLDOWN);
12 | }
13 |
14 | public OldDragon()
15 | {
16 | this(((CraftWorld) Bukkit.getWorlds().get(0)).getHandle());
17 | }
18 |
19 | @Override
20 | public String getEntityName()
21 | {
22 | return "Old Dragon";
23 | }
24 |
25 | @Override
26 | public double getEntityMaxHealth()
27 | {
28 | return 15000000.0;
29 | }
30 |
31 | @Override
32 | public double getDamageDealt()
33 | {
34 | return 1400.0;
35 | }
36 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/nms/ProtectorDragon.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity.nms;
2 |
3 | import net.minecraft.server.v1_8_R3.World;
4 | import org.bukkit.Bukkit;
5 | import org.bukkit.craftbukkit.v1_8_R3.CraftWorld;
6 |
7 | public class ProtectorDragon extends Dragon
8 | {
9 | public ProtectorDragon(World world)
10 | {
11 | super(world, Dragon.DEFAULT_SPEED_MODIFIER, Dragon.DEFAULT_DAMAGE_DEGREE_RANGE, Dragon.DEFAULT_ATTACK_COOLDOWN);
12 | }
13 |
14 | public ProtectorDragon()
15 | {
16 | this(((CraftWorld) Bukkit.getWorlds().get(0)).getHandle());
17 | }
18 |
19 | @Override
20 | public String getEntityName()
21 | {
22 | return "Protector Dragon";
23 | }
24 |
25 | @Override
26 | public double getEntityMaxHealth()
27 | {
28 | return 9000000.0;
29 | }
30 |
31 | @Override
32 | public double getDamageDealt()
33 | {
34 | return 1300.0;
35 | }
36 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/nms/SNMSEntity.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity.nms;
2 |
3 | import org.bukkit.Location;
4 | import org.bukkit.entity.LivingEntity;
5 |
6 | public interface SNMSEntity
7 | {
8 | LivingEntity spawn(Location location);
9 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/nms/SlayerBoss.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity.nms;
2 |
3 | import java.util.UUID;
4 |
5 | public interface SlayerBoss
6 | {
7 | UUID getSpawnerUUID();
8 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/nms/StrongDragon.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity.nms;
2 |
3 | import net.minecraft.server.v1_8_R3.World;
4 | import org.apache.commons.lang3.Range;
5 | import org.bukkit.Bukkit;
6 | import org.bukkit.craftbukkit.v1_8_R3.CraftWorld;
7 |
8 | public class StrongDragon extends Dragon
9 | {
10 | public StrongDragon(World world)
11 | {
12 | super(world, Dragon.DEFAULT_SPEED_MODIFIER, Range.between(0.5, 0.8), Dragon.DEFAULT_ATTACK_COOLDOWN);
13 | }
14 |
15 | public StrongDragon()
16 | {
17 | this(((CraftWorld) Bukkit.getWorlds().get(0)).getHandle());
18 | }
19 |
20 | @Override
21 | public String getEntityName()
22 | {
23 | return "Strong Dragon";
24 | }
25 |
26 | @Override
27 | public double getEntityMaxHealth()
28 | {
29 | return 9000000.0;
30 | }
31 |
32 | @Override
33 | public double getDamageDealt()
34 | {
35 | return 1700.0;
36 | }
37 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/nms/SuperiorDragon.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity.nms;
2 |
3 | import net.minecraft.server.v1_8_R3.World;
4 | import org.bukkit.Bukkit;
5 | import org.bukkit.craftbukkit.v1_8_R3.CraftWorld;
6 |
7 | public class SuperiorDragon extends Dragon
8 | {
9 | public SuperiorDragon(World world)
10 | {
11 | super(world, 1.6, Dragon.DEFAULT_DAMAGE_DEGREE_RANGE, Dragon.DEFAULT_ATTACK_COOLDOWN);
12 | }
13 |
14 | public SuperiorDragon()
15 | {
16 | this(((CraftWorld) Bukkit.getWorlds().get(0)).getHandle());
17 | }
18 |
19 | @Override
20 | public String getEntityName()
21 | {
22 | return "Superior Dragon";
23 | }
24 |
25 | @Override
26 | public double getEntityMaxHealth()
27 | {
28 | return 12000000.0;
29 | }
30 |
31 | @Override
32 | public double getDamageDealt()
33 | {
34 | return 1600.0;
35 | }
36 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/nms/TieredValue.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity.nms;
2 |
3 | public class TieredValue
4 | {
5 | private final T i;
6 | private final T ii;
7 | private final T iii;
8 | private final T iv;
9 |
10 | public TieredValue(T i, T ii, T iii, T iv)
11 | {
12 | this.i = i;
13 | this.ii = ii;
14 | this.iii = iii;
15 | this.iv = iv;
16 | }
17 |
18 | public T getByNumber(int n)
19 | {
20 | switch (n)
21 | {
22 | case 2: return ii;
23 | case 3: return iii;
24 | case 4: return iv;
25 | default: return i;
26 | }
27 | }
28 |
29 | public T getTierI()
30 | {
31 | return i;
32 | }
33 |
34 | public T getTierII()
35 | {
36 | return ii;
37 | }
38 |
39 | public T getTierIII()
40 | {
41 | return iii;
42 | }
43 |
44 | public T getTierIV()
45 | {
46 | return iv;
47 | }
48 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/nms/UnstableDragon.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity.nms;
2 |
3 | import net.minecraft.server.v1_8_R3.World;
4 | import org.apache.commons.lang3.Range;
5 | import org.bukkit.Bukkit;
6 | import org.bukkit.craftbukkit.v1_8_R3.CraftWorld;
7 |
8 | public class UnstableDragon extends Dragon
9 | {
10 | public UnstableDragon(World world)
11 | {
12 | super(world, Dragon.DEFAULT_SPEED_MODIFIER, Range.between(0.6, 0.9), Dragon.DEFAULT_ATTACK_COOLDOWN);
13 | }
14 |
15 | public UnstableDragon()
16 | {
17 | this(((CraftWorld) Bukkit.getWorlds().get(0)).getHandle());
18 | }
19 |
20 | @Override
21 | public String getEntityName()
22 | {
23 | return "Unstable Dragon";
24 | }
25 |
26 | @Override
27 | public double getEntityMaxHealth()
28 | {
29 | return 9000000.0;
30 | }
31 |
32 | @Override
33 | public double getDamageDealt()
34 | {
35 | return 1400.0;
36 | }
37 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/nms/WiseDragon.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity.nms;
2 |
3 | import net.minecraft.server.v1_8_R3.World;
4 | import org.bukkit.Bukkit;
5 | import org.bukkit.craftbukkit.v1_8_R3.CraftWorld;
6 |
7 | public class WiseDragon extends Dragon
8 | {
9 | public WiseDragon(World world)
10 | {
11 | super(world, Dragon.DEFAULT_SPEED_MODIFIER, Dragon.DEFAULT_DAMAGE_DEGREE_RANGE, 200);
12 | }
13 |
14 | public WiseDragon()
15 | {
16 | this(((CraftWorld) Bukkit.getWorlds().get(0)).getHandle());
17 | }
18 |
19 | @Override
20 | public String getEntityName()
21 | {
22 | return "Wise Dragon";
23 | }
24 |
25 | @Override
26 | public double getEntityMaxHealth()
27 | {
28 | return 9000000.0;
29 | }
30 |
31 | @Override
32 | public double getDamageDealt()
33 | {
34 | return 1200.0;
35 | }
36 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/nms/YoungDragon.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity.nms;
2 |
3 | import net.minecraft.server.v1_8_R3.World;
4 | import org.apache.commons.lang3.Range;
5 | import org.bukkit.Bukkit;
6 | import org.bukkit.craftbukkit.v1_8_R3.CraftWorld;
7 |
8 | public class YoungDragon extends Dragon
9 | {
10 | public YoungDragon(World world)
11 | {
12 | super(world, 1.8, Dragon.DEFAULT_DAMAGE_DEGREE_RANGE, Dragon.DEFAULT_ATTACK_COOLDOWN);
13 | }
14 |
15 | public YoungDragon()
16 | {
17 | this(((CraftWorld) Bukkit.getWorlds().get(0)).getHandle());
18 | }
19 |
20 | @Override
21 | public String getEntityName()
22 | {
23 | return "Young Dragon";
24 | }
25 |
26 | @Override
27 | public double getEntityMaxHealth()
28 | {
29 | return 7500000.0;
30 | }
31 |
32 | @Override
33 | public double getDamageDealt()
34 | {
35 | return 1600.0;
36 | }
37 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/wolf/Wolf.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity.wolf;
2 |
3 | import me.superischroma.spectaculation.entity.*;
4 | import me.superischroma.spectaculation.item.SMaterial;
5 |
6 | import java.util.Collections;
7 | import java.util.List;
8 |
9 | public class Wolf extends BaseWolf
10 | {
11 | @Override
12 | public String getEntityName()
13 | {
14 | return "Wolf";
15 | }
16 |
17 | @Override
18 | public double getEntityMaxHealth()
19 | {
20 | return 250.0;
21 | }
22 |
23 | @Override
24 | public double getDamageDealt()
25 | {
26 | return 80.0;
27 | }
28 |
29 | @Override
30 | public List drops()
31 | {
32 | return Collections.singletonList(new EntityDrop(SMaterial.BONE, EntityDropType.GUARANTEED, 1.0));
33 | }
34 |
35 | public double getXPDropped()
36 | {
37 | return 10.0;
38 | }
39 |
40 | @Override
41 | public boolean isAngry()
42 | {
43 | return true;
44 | }
45 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/entity/wolf/WolfStatistics.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.entity.wolf;
2 |
3 | import me.superischroma.spectaculation.entity.Ageable;
4 | import me.superischroma.spectaculation.entity.EntityStatistics;
5 |
6 | public interface WolfStatistics extends EntityStatistics, Ageable
7 | {
8 | default boolean isAngry()
9 | {
10 | return false;
11 | }
12 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/gui/BlockBasedGUI.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.gui;
2 |
3 | import org.bukkit.Material;
4 |
5 | public interface BlockBasedGUI
6 | {
7 | Material getBlock();
8 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/gui/GUICloseEvent.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.gui;
2 |
3 | import lombok.Getter;
4 | import org.bukkit.entity.Player;
5 | import org.bukkit.event.Cancellable;
6 | import org.bukkit.event.HandlerList;
7 | import org.bukkit.event.player.PlayerEvent;
8 |
9 | public class GUICloseEvent extends PlayerEvent
10 | {
11 | private static final HandlerList handlers = new HandlerList();
12 | @Getter
13 | private final GUI closed;
14 |
15 | public GUICloseEvent(Player player, GUI opened)
16 | {
17 | super(player);
18 | this.closed = opened;
19 | }
20 |
21 | @Override
22 | public HandlerList getHandlers()
23 | {
24 | return handlers;
25 | }
26 |
27 | public static HandlerList getHandlerList()
28 | {
29 | return handlers;
30 | }
31 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/gui/GUIItem.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.gui;
2 |
3 | import me.superischroma.spectaculation.util.SUtil;
4 | import org.bukkit.ChatColor;
5 | import org.bukkit.Material;
6 | import org.bukkit.inventory.ItemStack;
7 |
8 | public interface GUIItem
9 | {
10 | int getSlot();
11 | default ItemStack getItem()
12 | {
13 | return new ItemStack(Material.AIR);
14 | }
15 | default boolean canPickup()
16 | {
17 | return false;
18 | }
19 |
20 | static GUIItem createLoadingItem(Material type, String name, int slot)
21 | {
22 | return new GUIItem()
23 | {
24 | @Override
25 | public int getSlot()
26 | {
27 | return slot;
28 | }
29 |
30 | @Override
31 | public ItemStack getItem()
32 | {
33 | return SUtil.getSingleLoreStack(name, type, (short) 0, 1, ChatColor.DARK_GRAY + "Loading...");
34 | }
35 | };
36 | }
37 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/gui/GUIQueryItem.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.gui;
2 |
3 | public interface GUIQueryItem extends GUIClickableItem
4 | {
5 | GUI onQueryFinish(String query);
6 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/Ability.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item;
2 |
3 | import org.bukkit.entity.Player;
4 |
5 | public interface Ability
6 | {
7 | String getAbilityName();
8 | String getAbilityDescription();
9 | default void onAbilityUse(Player player, SItem sItem) {}
10 | int getAbilityCooldownTicks();
11 | int getManaCost();
12 | default AbilityActivation getAbilityActivation()
13 | {
14 | return AbilityActivation.RIGHT_CLICK;
15 | }
16 | default boolean displayUsage()
17 | {
18 | return true;
19 | }
20 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/AbilityActivation.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item;
2 |
3 | public enum AbilityActivation
4 | {
5 | RIGHT_CLICK,
6 | LEFT_CLICK,
7 | FLIGHT,
8 | SHOOT,
9 | NO_ACTIVATION
10 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/Enchantable.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item;
2 |
3 | import net.minecraft.server.v1_8_R3.NBTTagCompound;
4 |
5 | public interface Enchantable extends ItemData
6 | {
7 | @Override
8 | default NBTTagCompound getData()
9 | {
10 | return new NBTTagCompound();
11 | }
12 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/EventType.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item;
2 |
3 | public enum EventType
4 | {
5 | KILL,
6 | DEATH
7 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/ExperienceRewardStatistics.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item;
2 |
3 | import me.superischroma.spectaculation.skill.Skill;
4 |
5 | public interface ExperienceRewardStatistics extends MaterialStatistics
6 | {
7 | double getRewardXP();
8 | Skill getRewardedSkill();
9 | }
10 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/FishingRodFunction.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item;
2 |
3 | import org.bukkit.event.player.PlayerFishEvent;
4 |
5 | public interface FishingRodFunction extends MaterialFunction
6 | {
7 | void onFish(SItem instance, PlayerFishEvent e);
8 | }
9 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/FlightStatistics.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item;
2 |
3 | public interface FlightStatistics extends MaterialStatistics
4 | {
5 | boolean enableFlight();
6 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/GenericItemType.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item;
2 |
3 | public enum GenericItemType
4 | {
5 | WEAPON,
6 | TOOL,
7 | RANGED_WEAPON,
8 | ARMOR,
9 | ACCESSORY,
10 | BLOCK,
11 | ITEM,
12 | PET
13 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/ItemData.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item;
2 |
3 | import net.minecraft.server.v1_8_R3.NBTTagCompound;
4 |
5 | import java.util.List;
6 |
7 | public interface ItemData
8 | {
9 | NBTTagCompound getData();
10 |
11 | default List getDataLore(String key, Object value)
12 | {
13 | return null;
14 | }
15 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/ItemOrigin.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item;
2 |
3 | public enum ItemOrigin
4 | {
5 | NATURAL_BLOCK,
6 | CRAFTING,
7 | MOB,
8 | UNKNOWN
9 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/LoreableMaterialStatistics.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item;
2 |
3 | import java.util.List;
4 |
5 | public interface LoreableMaterialStatistics extends MaterialStatistics
6 | {
7 | List getCustomLore(SItem instance);
8 | }
9 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/MaterialFunction.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item;
2 |
3 | import com.google.common.util.concurrent.AtomicDouble;
4 | import org.bukkit.entity.Entity;
5 | import org.bukkit.entity.Player;
6 | import org.bukkit.event.entity.EntityDamageByEntityEvent;
7 | import org.bukkit.event.inventory.InventoryClickEvent;
8 | import org.bukkit.event.player.PlayerInteractEvent;
9 |
10 | public interface MaterialFunction
11 | {
12 | default void onInteraction(PlayerInteractEvent e) {}
13 | default void onInventoryClick(SItem instance, InventoryClickEvent e) {}
14 | default void onDamage(Entity damaged, Player damager, AtomicDouble damage, SItem item) {}
15 | default void onKill(Entity damaged, Player damager, SItem item) {}
16 | default void whileHolding(Player holding) {}
17 | default void onInstanceUpdate(SItem instance) {}
18 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/Ownable.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item;
2 |
3 | import net.minecraft.server.v1_8_R3.NBTTagCompound;
4 |
5 | public interface Ownable extends ItemData
6 | {
7 | @Override
8 | default NBTTagCompound getData()
9 | {
10 | return new NBTTagCompound();
11 | }
12 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/PlayerBoostStatistics.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item;
2 |
3 | public interface PlayerBoostStatistics extends MaterialStatistics
4 | {
5 | default int getBaseDamage()
6 | {
7 | return 0;
8 | }
9 | default double getBaseStrength()
10 | {
11 | return 0;
12 | }
13 | default double getBaseCritChance()
14 | {
15 | return 0.0;
16 | }
17 | default double getBaseCritDamage()
18 | {
19 | return 0.0;
20 | }
21 | default double getBaseMagicFind()
22 | {
23 | return 0.0;
24 | }
25 | default double getBaseIntelligence()
26 | {
27 | return 0;
28 | }
29 | default double getBaseSpeed()
30 | {
31 | return 0.0;
32 | }
33 | default double getBaseHealth()
34 | {
35 | return 0;
36 | }
37 | default double getBaseDefense()
38 | {
39 | return 0;
40 | }
41 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/Reforgable.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item;
2 |
3 | import net.minecraft.server.v1_8_R3.NBTTagCompound;
4 |
5 | public interface Reforgable extends ItemData
6 | {
7 | @Override
8 | default NBTTagCompound getData()
9 | {
10 | return new NBTTagCompound();
11 | }
12 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/Rune.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item;
2 |
3 | import me.superischroma.spectaculation.util.SUtil;
4 | import net.minecraft.server.v1_8_R3.NBTTagCompound;
5 |
6 | public interface Rune extends SkullStatistics, MaterialFunction, ItemData
7 | {
8 | @Override
9 | default NBTTagCompound getData()
10 | {
11 | NBTTagCompound compound = new NBTTagCompound();
12 | compound.setByte("level", (byte) 1);
13 | return compound;
14 | }
15 |
16 | @Override
17 | default void onInstanceUpdate(SItem instance)
18 | {
19 | byte level = instance.getData().getByte("level");
20 | instance.setDisplayName(getDisplayName() + " " + SUtil.toRomanNumeral(level));
21 | }
22 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/SkullStatistics.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item;
2 |
3 | public interface SkullStatistics extends MaterialStatistics
4 | {
5 | String getURL();
6 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/SpecificItemType.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item;
2 |
3 | import lombok.Getter;
4 |
5 | public enum SpecificItemType
6 | {
7 | SWORD(false),
8 | HELMET(false),
9 | CHESTPLATE(false),
10 | LEGGINGS(false),
11 | BOOTS(false),
12 | BOW(false),
13 | COSMETIC(false),
14 | ACCESSORY(false),
15 | AXE(false),
16 | PICKAXE(false),
17 | SHOVEL(false),
18 | HOE(false),
19 | SHEARS(false),
20 | DUNGEON_ITEM,
21 | NONE,
22 | ROD(false),
23 | ARROW_POISON;
24 |
25 | @Getter
26 | private final boolean stackable;
27 |
28 | SpecificItemType(boolean stackable)
29 | {
30 | this.stackable = stackable;
31 | }
32 |
33 | SpecificItemType()
34 | {
35 | this(true);
36 | }
37 |
38 | public String getName()
39 | {
40 | return name().replaceAll("_", " ");
41 | }
42 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/TickingMaterial.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item;
2 |
3 | import org.bukkit.entity.Player;
4 |
5 | public interface TickingMaterial extends MaterialFunction
6 | {
7 | default void tick(SItem item, Player owner) {}
8 | default long getInterval()
9 | {
10 | return 2;
11 | }
12 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/ToolStatistics.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item;
2 |
3 | import net.minecraft.server.v1_8_R3.NBTTagCompound;
4 |
5 | public interface ToolStatistics extends PlayerBoostStatistics, Enchantable, Reforgable
6 | {
7 | @Override
8 | String getDisplayName();
9 |
10 | @Override
11 | Rarity getRarity();
12 |
13 | @Override
14 | GenericItemType getType();
15 |
16 | @Override
17 | default boolean isStackable()
18 | {
19 | return false;
20 | }
21 |
22 | @Override
23 | default NBTTagCompound getData()
24 | {
25 | return new NBTTagCompound();
26 | }
27 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/accessory/AccessoryFunction.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.accessory;
2 |
3 | import com.google.common.util.concurrent.AtomicDouble;
4 | import me.superischroma.spectaculation.item.MaterialFunction;
5 | import me.superischroma.spectaculation.item.SItem;
6 | import org.bukkit.entity.Entity;
7 | import org.bukkit.entity.Player;
8 |
9 | public interface AccessoryFunction extends MaterialFunction
10 | {
11 | default void onDamageInInventory(SItem weapon, Player damager, Entity damaged, SItem accessory, AtomicDouble damage) {}
12 | default void update(SItem instance, Player player, int accessorySlot) {}
13 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/accessory/AccessoryStatistics.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.accessory;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public interface AccessoryStatistics extends PlayerBoostStatistics, SkullStatistics, Reforgable
6 | {
7 | @Override
8 | default GenericItemType getType()
9 | {
10 | return GenericItemType.ACCESSORY;
11 | }
12 |
13 | @Override
14 | default SpecificItemType getSpecificType()
15 | {
16 | return SpecificItemType.ACCESSORY;
17 | }
18 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/accessory/BlankTalisman.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.accessory;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class BlankTalisman implements AccessoryStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Blank Talisman";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.EXCLUSIVE;
17 | }
18 |
19 | @Override
20 | public String getLore()
21 | {
22 | return "Apply reforges to this talisman to get effects.";
23 | }
24 |
25 | @Override
26 | public GenericItemType getType()
27 | {
28 | return GenericItemType.ACCESSORY;
29 | }
30 |
31 | @Override
32 | public SpecificItemType getSpecificType()
33 | {
34 | return SpecificItemType.ACCESSORY;
35 | }
36 |
37 | @Override
38 | public String getURL()
39 | {
40 | return "1ad6c81f899a785ecf26be1dc48eae2bcfe777a862390f5785e95bd83bd14d";
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/ArmorSet.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor;
2 |
3 | import me.superischroma.spectaculation.item.MaterialStatistics;
4 | import me.superischroma.spectaculation.item.PlayerBoostStatistics;
5 | import org.bukkit.entity.Player;
6 |
7 | public interface ArmorSet
8 | {
9 | String getName();
10 | String getDescription();
11 | Class extends MaterialStatistics> getHelmet();
12 | Class extends MaterialStatistics> getChestplate();
13 | Class extends MaterialStatistics> getLeggings();
14 | Class extends MaterialStatistics> getBoots();
15 | default PlayerBoostStatistics whileHasFullSet(Player player)
16 | {
17 | return null;
18 | }
19 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/LeatherArmorStatistics.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor;
2 |
3 | import me.superischroma.spectaculation.item.ToolStatistics;
4 |
5 | public interface LeatherArmorStatistics extends ToolStatistics
6 | {
7 | int getColor();
8 | }
9 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/TickingSet.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor;
2 |
3 | import me.superischroma.spectaculation.item.SItem;
4 | import org.bukkit.entity.Player;
5 |
6 | import java.util.List;
7 | import java.util.concurrent.atomic.AtomicInteger;
8 |
9 | public interface TickingSet extends ArmorSet
10 | {
11 | void tick(Player owner, SItem helmet, SItem chestplate, SItem leggings, SItem boots, List counters);
12 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/hardened/HardenedDiamondBoots.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor.hardened;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class HardenedDiamondBoots implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Hardened Diamond Boots";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.RARE;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ARMOR;
23 | }
24 |
25 | @Override
26 | public SpecificItemType getSpecificType()
27 | {
28 | return SpecificItemType.BOOTS;
29 | }
30 |
31 | @Override
32 | public double getBaseDefense()
33 | {
34 | return 55;
35 | }
36 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/hardened/HardenedDiamondChestplate.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor.hardened;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class HardenedDiamondChestplate implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Hardened Diamond Chestplate";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.RARE;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ARMOR;
23 | }
24 |
25 | @Override
26 | public SpecificItemType getSpecificType()
27 | {
28 | return SpecificItemType.CHESTPLATE;
29 | }
30 |
31 | @Override
32 | public double getBaseDefense()
33 | {
34 | return 120;
35 | }
36 |
37 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/hardened/HardenedDiamondHelmet.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor.hardened;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class HardenedDiamondHelmet implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Hardened Diamond Helmet";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.RARE;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ARMOR;
23 | }
24 |
25 | @Override
26 | public SpecificItemType getSpecificType()
27 | {
28 | return SpecificItemType.HELMET;
29 | }
30 |
31 | @Override
32 | public double getBaseDefense()
33 | {
34 | return 60;
35 | }
36 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/hardened/HardenedDiamondLeggings.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor.hardened;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class HardenedDiamondLeggings implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Hardened Diamond Leggings";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.RARE;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ARMOR;
23 | }
24 |
25 | @Override
26 | public SpecificItemType getSpecificType()
27 | {
28 | return SpecificItemType.LEGGINGS;
29 | }
30 |
31 | @Override
32 | public double getBaseDefense()
33 | {
34 | return 95;
35 | }
36 |
37 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/lapis/LapisArmorBoots.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor.lapis;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 | import me.superischroma.spectaculation.item.armor.LeatherArmorStatistics;
5 |
6 | public class LapisArmorBoots implements LeatherArmorStatistics, MaterialFunction
7 | {
8 | @Override
9 | public String getDisplayName()
10 | {
11 | return "Lapis Armor Boots";
12 | }
13 |
14 | @Override
15 | public Rarity getRarity()
16 | {
17 | return Rarity.UNCOMMON;
18 | }
19 |
20 | @Override
21 | public GenericItemType getType()
22 | {
23 | return GenericItemType.ARMOR;
24 | }
25 |
26 | @Override
27 | public SpecificItemType getSpecificType()
28 | {
29 | return SpecificItemType.BOOTS;
30 | }
31 |
32 | @Override
33 | public double getBaseDefense()
34 | {
35 | return 20;
36 | }
37 |
38 | @Override
39 | public int getColor()
40 | {
41 | return 0x0000FF;
42 | }
43 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/lapis/LapisArmorChestplate.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor.lapis;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 | import me.superischroma.spectaculation.item.armor.LeatherArmorStatistics;
5 |
6 | public class LapisArmorChestplate implements LeatherArmorStatistics, MaterialFunction
7 | {
8 | @Override
9 | public String getDisplayName()
10 | {
11 | return "Lapis Armor Chestplate";
12 | }
13 |
14 | @Override
15 | public Rarity getRarity()
16 | {
17 | return Rarity.UNCOMMON;
18 | }
19 |
20 | @Override
21 | public GenericItemType getType()
22 | {
23 | return GenericItemType.ARMOR;
24 | }
25 |
26 | @Override
27 | public SpecificItemType getSpecificType()
28 | {
29 | return SpecificItemType.CHESTPLATE;
30 | }
31 |
32 | @Override
33 | public double getBaseDefense()
34 | {
35 | return 40;
36 | }
37 |
38 | @Override
39 | public int getColor()
40 | {
41 | return 0x0000FF;
42 | }
43 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/lapis/LapisArmorHelmet.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor.lapis;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class LapisArmorHelmet implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Lapis Armor Helmet";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.UNCOMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ARMOR;
23 | }
24 |
25 | @Override
26 | public SpecificItemType getSpecificType()
27 | {
28 | return SpecificItemType.HELMET;
29 | }
30 |
31 | @Override
32 | public double getBaseDefense()
33 | {
34 | return 25;
35 | }
36 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/lapis/LapisArmorLeggings.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor.lapis;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 | import me.superischroma.spectaculation.item.armor.LeatherArmorStatistics;
5 |
6 | public class LapisArmorLeggings implements LeatherArmorStatistics, MaterialFunction
7 | {
8 | @Override
9 | public String getDisplayName()
10 | {
11 | return "Lapis Armor Leggings";
12 | }
13 |
14 | @Override
15 | public Rarity getRarity()
16 | {
17 | return Rarity.UNCOMMON;
18 | }
19 |
20 | @Override
21 | public GenericItemType getType()
22 | {
23 | return GenericItemType.ARMOR;
24 | }
25 |
26 | @Override
27 | public SpecificItemType getSpecificType()
28 | {
29 | return SpecificItemType.LEGGINGS;
30 | }
31 |
32 | @Override
33 | public double getBaseDefense()
34 | {
35 | return 35;
36 | }
37 |
38 | @Override
39 | public int getColor()
40 | {
41 | return 0x0000FF;
42 | }
43 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/miner/MinerBoots.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor.miner;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 | import me.superischroma.spectaculation.item.armor.LeatherArmorStatistics;
5 |
6 | public class MinerBoots implements LeatherArmorStatistics, MaterialFunction
7 | {
8 | @Override
9 | public String getDisplayName()
10 | {
11 | return "Miner Boots";
12 | }
13 |
14 | @Override
15 | public Rarity getRarity()
16 | {
17 | return Rarity.RARE;
18 | }
19 |
20 | @Override
21 | public GenericItemType getType()
22 | {
23 | return GenericItemType.ARMOR;
24 | }
25 |
26 | @Override
27 | public SpecificItemType getSpecificType()
28 | {
29 | return SpecificItemType.BOOTS;
30 | }
31 |
32 | @Override
33 | public double getBaseDefense()
34 | {
35 | return 5;
36 | }
37 |
38 | @Override
39 | public int getColor()
40 | {
41 | return 0x0000FF;
42 | }
43 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/miner/MinerChestplate.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor.miner;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 | import me.superischroma.spectaculation.item.armor.LeatherArmorStatistics;
5 |
6 | public class MinerChestplate implements LeatherArmorStatistics, MaterialFunction
7 | {
8 | @Override
9 | public String getDisplayName()
10 | {
11 | return "Miner Chestplate";
12 | }
13 |
14 | @Override
15 | public Rarity getRarity()
16 | {
17 | return Rarity.RARE;
18 | }
19 |
20 | @Override
21 | public GenericItemType getType()
22 | {
23 | return GenericItemType.ARMOR;
24 | }
25 |
26 | @Override
27 | public SpecificItemType getSpecificType()
28 | {
29 | return SpecificItemType.CHESTPLATE;
30 | }
31 |
32 | @Override
33 | public double getBaseDefense()
34 | {
35 | return 5;
36 | }
37 |
38 | @Override
39 | public int getColor()
40 | {
41 | return 0x0000FF;
42 | }
43 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/miner/MinerHelmet.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor.miner;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class MinerHelmet implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Miner Helmet";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.RARE;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ARMOR;
23 | }
24 |
25 | @Override
26 | public SpecificItemType getSpecificType()
27 | {
28 | return SpecificItemType.HELMET;
29 | }
30 |
31 | @Override
32 | public double getBaseDefense()
33 | {
34 | return 5;
35 | }
36 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/miner/MinerLeggings.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor.miner;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 | import me.superischroma.spectaculation.item.armor.LeatherArmorStatistics;
5 |
6 | public class MinerLeggings implements LeatherArmorStatistics, MaterialFunction
7 | {
8 | @Override
9 | public String getDisplayName()
10 | {
11 | return "Miner Leggings";
12 | }
13 |
14 | @Override
15 | public Rarity getRarity()
16 | {
17 | return Rarity.RARE;
18 | }
19 |
20 | @Override
21 | public GenericItemType getType()
22 | {
23 | return GenericItemType.ARMOR;
24 | }
25 |
26 | @Override
27 | public SpecificItemType getSpecificType()
28 | {
29 | return SpecificItemType.LEGGINGS;
30 | }
31 |
32 | @Override
33 | public double getBaseDefense()
34 | {
35 | return 5;
36 | }
37 |
38 | @Override
39 | public int getColor()
40 | {
41 | return 0x0000FF;
42 | }
43 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/vanilla/chainmail/ChainmailBoots.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor.vanilla.chainmail;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class ChainmailBoots implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Chainmail Boots";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ARMOR;
23 | }
24 |
25 | @Override
26 | public SpecificItemType getSpecificType()
27 | {
28 | return SpecificItemType.BOOTS;
29 | }
30 |
31 | @Override
32 | public double getBaseDefense()
33 | {
34 | return 7;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/vanilla/chainmail/ChainmailChestplate.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor.vanilla.chainmail;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class ChainmailChestplate implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Chainmail Chestplate";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ARMOR;
23 | }
24 |
25 | @Override
26 | public SpecificItemType getSpecificType()
27 | {
28 | return SpecificItemType.CHESTPLATE;
29 | }
30 |
31 | @Override
32 | public double getBaseDefense()
33 | {
34 | return 30;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/vanilla/chainmail/ChainmailHelmet.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor.vanilla.chainmail;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class ChainmailHelmet implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Chainmail Helmet";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ARMOR;
23 | }
24 | @Override
25 | public SpecificItemType getSpecificType()
26 | {
27 | return SpecificItemType.HELMET;
28 | }
29 |
30 | @Override
31 | public double getBaseDefense()
32 | {
33 | return 12;
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/vanilla/chainmail/ChainmailLeggings.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor.vanilla.chainmail;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class ChainmailLeggings implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Chainmail Chestplate";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ARMOR;
23 | }
24 |
25 | @Override
26 | public SpecificItemType getSpecificType()
27 | {
28 | return SpecificItemType.LEGGINGS;
29 | }
30 |
31 | @Override
32 | public double getBaseDefense()
33 | {
34 | return 20;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/vanilla/diamond/DiamondBoots.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor.vanilla.diamond;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class DiamondBoots implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Diamond Boots";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.UNCOMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ARMOR;
23 | }
24 |
25 | @Override
26 | public SpecificItemType getSpecificType()
27 | {
28 | return SpecificItemType.BOOTS;
29 | }
30 |
31 | @Override
32 | public double getBaseDefense()
33 | {
34 | return 15;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/vanilla/diamond/DiamondChestplate.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor.vanilla.diamond;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class DiamondChestplate implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Diamond Chestplate";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.UNCOMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ARMOR;
23 | }
24 |
25 | @Override
26 | public SpecificItemType getSpecificType()
27 | {
28 | return SpecificItemType.CHESTPLATE;
29 | }
30 |
31 | @Override
32 | public double getBaseDefense()
33 | {
34 | return 40;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/vanilla/diamond/DiamondHelmet.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor.vanilla.diamond;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class DiamondHelmet implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Diamond Helmet";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.UNCOMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ARMOR;
23 | }
24 |
25 | @Override
26 | public SpecificItemType getSpecificType()
27 | {
28 | return SpecificItemType.HELMET;
29 | }
30 |
31 | @Override
32 | public double getBaseDefense()
33 | {
34 | return 15;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/vanilla/diamond/DiamondLeggings.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor.vanilla.diamond;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class DiamondLeggings implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Diamond Chestplate";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.UNCOMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ARMOR;
23 | }
24 |
25 | @Override
26 | public SpecificItemType getSpecificType()
27 | {
28 | return SpecificItemType.LEGGINGS;
29 | }
30 |
31 | @Override
32 | public double getBaseDefense()
33 | {
34 | return 30;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/vanilla/golden/GoldenBoots.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor.vanilla.golden;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class GoldenBoots implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Golden Boots";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ARMOR;
23 | }
24 |
25 | @Override
26 | public SpecificItemType getSpecificType()
27 | {
28 | return SpecificItemType.BOOTS;
29 | }
30 |
31 | @Override
32 | public double getBaseDefense()
33 | {
34 | return 5;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/vanilla/golden/GoldenChestplate.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor.vanilla.golden;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class GoldenChestplate implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Golden Chestplate";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ARMOR;
23 | }
24 |
25 | @Override
26 | public SpecificItemType getSpecificType()
27 | {
28 | return SpecificItemType.CHESTPLATE;
29 | }
30 |
31 | @Override
32 | public double getBaseDefense()
33 | {
34 | return 25;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/vanilla/golden/GoldenHelmet.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor.vanilla.golden;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class GoldenHelmet implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Golden Helmet";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ARMOR;
23 | }
24 |
25 | @Override
26 | public SpecificItemType getSpecificType()
27 | {
28 | return SpecificItemType.HELMET;
29 | }
30 |
31 | @Override
32 | public double getBaseDefense()
33 | {
34 | return 10;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/vanilla/golden/GoldenLeggings.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor.vanilla.golden;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class GoldenLeggings implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Golden Chestplate";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ARMOR;
23 | }
24 |
25 | @Override
26 | public SpecificItemType getSpecificType()
27 | {
28 | return SpecificItemType.LEGGINGS;
29 | }
30 |
31 | @Override
32 | public double getBaseDefense()
33 | {
34 | return 15;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/vanilla/iron/IronBoots.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor.vanilla.iron;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class IronBoots implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Iron Boots";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ARMOR;
23 | }
24 |
25 | @Override
26 | public SpecificItemType getSpecificType()
27 | {
28 | return SpecificItemType.BOOTS;
29 | }
30 |
31 | @Override
32 | public double getBaseDefense()
33 | {
34 | return 10;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/vanilla/iron/IronChestplate.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor.vanilla.iron;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class IronChestplate implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Iron Chestplate";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ARMOR;
23 | }
24 |
25 | @Override
26 | public SpecificItemType getSpecificType()
27 | {
28 | return SpecificItemType.CHESTPLATE;
29 | }
30 |
31 | @Override
32 | public double getBaseDefense()
33 | {
34 | return 30;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/vanilla/iron/IronHelmet.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor.vanilla.iron;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class IronHelmet implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Iron Helmet";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ARMOR;
23 | }
24 |
25 | @Override
26 | public SpecificItemType getSpecificType()
27 | {
28 | return SpecificItemType.HELMET;
29 | }
30 |
31 | @Override
32 | public double getBaseDefense()
33 | {
34 | return 10;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/vanilla/iron/IronLeggings.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor.vanilla.iron;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class IronLeggings implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Iron Chestplate";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ARMOR;
23 | }
24 |
25 | @Override
26 | public SpecificItemType getSpecificType()
27 | {
28 | return SpecificItemType.LEGGINGS;
29 | }
30 |
31 | @Override
32 | public double getBaseDefense()
33 | {
34 | return 25;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/vanilla/leather/LeatherBoots.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor.vanilla.leather;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class LeatherBoots implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Leather Boots";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ARMOR;
23 | }
24 |
25 | @Override
26 | public SpecificItemType getSpecificType()
27 | {
28 | return SpecificItemType.BOOTS;
29 | }
30 |
31 | @Override
32 | public double getBaseDefense()
33 | {
34 | return 5;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/vanilla/leather/LeatherChestplate.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor.vanilla.leather;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class LeatherChestplate implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Leather Chestplate";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ARMOR;
23 | }
24 |
25 | @Override
26 | public SpecificItemType getSpecificType()
27 | {
28 | return SpecificItemType.CHESTPLATE;
29 | }
30 |
31 | @Override
32 | public double getBaseDefense()
33 | {
34 | return 15;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/vanilla/leather/LeatherHelmet.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor.vanilla.leather;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class LeatherHelmet implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Leather Helmet";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ARMOR;
23 | }
24 |
25 | @Override
26 | public SpecificItemType getSpecificType()
27 | {
28 | return SpecificItemType.HELMET;
29 | }
30 |
31 | @Override
32 | public double getBaseDefense()
33 | {
34 | return 5;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/armor/vanilla/leather/LeatherLeggings.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.armor.vanilla.leather;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class LeatherLeggings implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Leather Chestplate";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ARMOR;
23 | }
24 |
25 | @Override
26 | public SpecificItemType getSpecificType()
27 | {
28 | return SpecificItemType.LEGGINGS;
29 | }
30 |
31 | @Override
32 | public double getBaseDefense()
33 | {
34 | return 10;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/axe/vanilla/DiamondAxe.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.axe.vanilla;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class DiamondAxe implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Diamond Axe";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.UNCOMMON;
17 | }
18 |
19 | @Override
20 | public int getBaseDamage()
21 | {
22 | return 30;
23 | }
24 |
25 | @Override
26 | public GenericItemType getType()
27 | {
28 | return GenericItemType.TOOL;
29 | }
30 |
31 | @Override
32 | public SpecificItemType getSpecificType()
33 | {
34 | return SpecificItemType.AXE;
35 | }
36 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/axe/vanilla/GoldenAxe.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.axe.vanilla;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class GoldenAxe implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Golden Axe";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public int getBaseDamage()
21 | {
22 | return 20;
23 | }
24 |
25 | @Override
26 | public GenericItemType getType()
27 | {
28 | return GenericItemType.TOOL;
29 | }
30 |
31 | @Override
32 | public SpecificItemType getSpecificType()
33 | {
34 | return SpecificItemType.AXE;
35 | }
36 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/axe/vanilla/IronAxe.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.axe.vanilla;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class IronAxe implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Iron Axe";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public int getBaseDamage()
21 | {
22 | return 25;
23 | }
24 |
25 | @Override
26 | public GenericItemType getType()
27 | {
28 | return GenericItemType.TOOL;
29 | }
30 |
31 | @Override
32 | public SpecificItemType getSpecificType()
33 | {
34 | return SpecificItemType.AXE;
35 | }
36 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/axe/vanilla/StoneAxe.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.axe.vanilla;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class StoneAxe implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Stone Axe";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public int getBaseDamage()
21 | {
22 | return 15;
23 | }
24 |
25 | @Override
26 | public GenericItemType getType()
27 | {
28 | return GenericItemType.TOOL;
29 | }
30 |
31 | @Override
32 | public SpecificItemType getSpecificType()
33 | {
34 | return SpecificItemType.AXE;
35 | }
36 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/axe/vanilla/WoodenAxe.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.axe.vanilla;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class WoodenAxe implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Wooden Axe";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public int getBaseDamage()
21 | {
22 | return 10;
23 | }
24 |
25 | @Override
26 | public GenericItemType getType()
27 | {
28 | return GenericItemType.TOOL;
29 | }
30 |
31 | @Override
32 | public SpecificItemType getSpecificType()
33 | {
34 | return SpecificItemType.AXE;
35 | }
36 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/bow/Bow.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.bow;
2 |
3 | import me.superischroma.spectaculation.item.GenericItemType;
4 | import me.superischroma.spectaculation.item.Rarity;
5 | import me.superischroma.spectaculation.item.SpecificItemType;
6 | import me.superischroma.spectaculation.item.ToolStatistics;
7 |
8 | public class Bow implements ToolStatistics, BowFunction
9 | {
10 | @Override
11 | public String getDisplayName()
12 | {
13 | return "Bow";
14 | }
15 |
16 | @Override
17 | public Rarity getRarity()
18 | {
19 | return Rarity.COMMON;
20 | }
21 |
22 | @Override
23 | public int getBaseDamage()
24 | {
25 | return 30;
26 | }
27 |
28 | @Override
29 | public GenericItemType getType()
30 | {
31 | return GenericItemType.RANGED_WEAPON;
32 | }
33 |
34 | @Override
35 | public SpecificItemType getSpecificType()
36 | {
37 | return SpecificItemType.BOW;
38 | }
39 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/bow/BowFunction.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.bow;
2 |
3 | import com.google.common.util.concurrent.AtomicDouble;
4 | import me.superischroma.spectaculation.item.MaterialFunction;
5 | import me.superischroma.spectaculation.item.SItem;
6 | import org.bukkit.entity.Arrow;
7 | import org.bukkit.entity.Entity;
8 | import org.bukkit.entity.Player;
9 | import org.bukkit.event.entity.EntityDamageByEntityEvent;
10 | import org.bukkit.event.entity.EntityShootBowEvent;
11 |
12 | public interface BowFunction extends MaterialFunction
13 | {
14 | default void onBowShoot(SItem bow, EntityShootBowEvent e) {}
15 | default void onBowHit(Entity hit, Player shooter, Arrow arrow, SItem weapon, AtomicDouble damage) {}
16 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/dragon/old/OldDragonFragment.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.dragon.old;
2 |
3 | import me.superischroma.spectaculation.item.MaterialFunction;
4 | import me.superischroma.spectaculation.item.Rarity;
5 | import me.superischroma.spectaculation.item.GenericItemType;
6 | import me.superischroma.spectaculation.item.SkullStatistics;
7 |
8 | public class OldDragonFragment implements SkullStatistics, MaterialFunction
9 | {
10 | @Override
11 | public String getURL()
12 | {
13 | return "7aa09ad177fbccc53fa316cc04bdd2c9366baed889df76c5a29defea8170def5";
14 | }
15 |
16 | @Override
17 | public String getDisplayName()
18 | {
19 | return "Old Dragon Fragment";
20 | }
21 |
22 | @Override
23 | public Rarity getRarity()
24 | {
25 | return Rarity.EPIC;
26 | }
27 |
28 | @Override
29 | public GenericItemType getType()
30 | {
31 | return GenericItemType.ITEM;
32 | }
33 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/dragon/protector/ProtectorDragonFragment.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.dragon.protector;
2 |
3 | import me.superischroma.spectaculation.item.MaterialFunction;
4 | import me.superischroma.spectaculation.item.Rarity;
5 | import me.superischroma.spectaculation.item.GenericItemType;
6 | import me.superischroma.spectaculation.item.SkullStatistics;
7 |
8 | public class ProtectorDragonFragment implements SkullStatistics, MaterialFunction
9 | {
10 | @Override
11 | public String getURL()
12 | {
13 | return "48de339af63a229c9238d027e47f53eeb56141a419f51b35c31ea1494b435dd3";
14 | }
15 |
16 | @Override
17 | public String getDisplayName()
18 | {
19 | return "Protector Dragon Fragment";
20 | }
21 |
22 | @Override
23 | public Rarity getRarity()
24 | {
25 | return Rarity.EPIC;
26 | }
27 |
28 | @Override
29 | public GenericItemType getType()
30 | {
31 | return GenericItemType.ITEM;
32 | }
33 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/dragon/strong/StrongDragonFragment.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.dragon.strong;
2 |
3 | import me.superischroma.spectaculation.item.MaterialFunction;
4 | import me.superischroma.spectaculation.item.Rarity;
5 | import me.superischroma.spectaculation.item.GenericItemType;
6 | import me.superischroma.spectaculation.item.SkullStatistics;
7 |
8 | public class StrongDragonFragment implements SkullStatistics, MaterialFunction
9 | {
10 | @Override
11 | public String getURL()
12 | {
13 | return "6ee32fbd4c7b03b869078aa1f493a390e6e13b461d613707eafb326dbcd2b4b5";
14 | }
15 |
16 | @Override
17 | public String getDisplayName()
18 | {
19 | return "Strong Dragon Fragment";
20 | }
21 |
22 | @Override
23 | public Rarity getRarity()
24 | {
25 | return Rarity.EPIC;
26 | }
27 |
28 | @Override
29 | public GenericItemType getType()
30 | {
31 | return GenericItemType.ITEM;
32 | }
33 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/dragon/superior/SuperiorDragonFragment.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.dragon.superior;
2 |
3 | import me.superischroma.spectaculation.item.MaterialFunction;
4 | import me.superischroma.spectaculation.item.Rarity;
5 | import me.superischroma.spectaculation.item.GenericItemType;
6 | import me.superischroma.spectaculation.item.SkullStatistics;
7 |
8 | public class SuperiorDragonFragment implements SkullStatistics, MaterialFunction
9 | {
10 | @Override
11 | public String getURL()
12 | {
13 | return "6f89b150be9c4c5249f355f68ea0c4391300a9be1f260d750fc35a1817ad796e";
14 | }
15 |
16 | @Override
17 | public String getDisplayName()
18 | {
19 | return "Superior Dragon Fragment";
20 | }
21 |
22 | @Override
23 | public Rarity getRarity()
24 | {
25 | return Rarity.EPIC;
26 | }
27 |
28 | @Override
29 | public GenericItemType getType()
30 | {
31 | return GenericItemType.ITEM;
32 | }
33 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/dragon/unstable/UnstableDragonFragment.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.dragon.unstable;
2 |
3 | import me.superischroma.spectaculation.item.MaterialFunction;
4 | import me.superischroma.spectaculation.item.Rarity;
5 | import me.superischroma.spectaculation.item.GenericItemType;
6 | import me.superischroma.spectaculation.item.SkullStatistics;
7 |
8 | public class UnstableDragonFragment implements SkullStatistics, MaterialFunction
9 | {
10 | @Override
11 | public String getURL()
12 | {
13 | return "98228c234c3903c512a5a0aa45260e7b567e0e20eefc7d561ccec97b295871af";
14 | }
15 |
16 | @Override
17 | public String getDisplayName()
18 | {
19 | return "Unstable Dragon Fragment";
20 | }
21 |
22 | @Override
23 | public Rarity getRarity()
24 | {
25 | return Rarity.EPIC;
26 | }
27 |
28 | @Override
29 | public GenericItemType getType()
30 | {
31 | return GenericItemType.ITEM;
32 | }
33 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/dragon/wise/WiseDragonFragment.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.dragon.wise;
2 |
3 | import me.superischroma.spectaculation.item.MaterialFunction;
4 | import me.superischroma.spectaculation.item.Rarity;
5 | import me.superischroma.spectaculation.item.GenericItemType;
6 | import me.superischroma.spectaculation.item.SkullStatistics;
7 |
8 | public class WiseDragonFragment implements SkullStatistics, MaterialFunction
9 | {
10 | @Override
11 | public String getURL()
12 | {
13 | return "1d7620b2e4934963bb12508310d05494c067dc33e008cecf2cd7b4549654fab3";
14 | }
15 |
16 | @Override
17 | public String getDisplayName()
18 | {
19 | return "Wise Dragon Fragment";
20 | }
21 |
22 | @Override
23 | public Rarity getRarity()
24 | {
25 | return Rarity.EPIC;
26 | }
27 |
28 | @Override
29 | public GenericItemType getType()
30 | {
31 | return GenericItemType.ITEM;
32 | }
33 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/dragon/young/YoungDragonFragment.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.dragon.young;
2 |
3 | import me.superischroma.spectaculation.item.MaterialFunction;
4 | import me.superischroma.spectaculation.item.Rarity;
5 | import me.superischroma.spectaculation.item.GenericItemType;
6 | import me.superischroma.spectaculation.item.SkullStatistics;
7 |
8 | public class YoungDragonFragment implements SkullStatistics, MaterialFunction
9 | {
10 | @Override
11 | public String getURL()
12 | {
13 | return "4b5bd6b64e8bd6c58f5cd1e79a5502d4448bafc006d2fe0568f6a0d6b86d449e";
14 | }
15 |
16 | @Override
17 | public String getDisplayName()
18 | {
19 | return "Young Dragon Fragment";
20 | }
21 |
22 | @Override
23 | public Rarity getRarity()
24 | {
25 | return Rarity.EPIC;
26 | }
27 |
28 | @Override
29 | public GenericItemType getType()
30 | {
31 | return GenericItemType.ITEM;
32 | }
33 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/enchanted/EnchantedAcaciaWood.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.enchanted;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class EnchantedAcaciaWood implements EnchantedMaterialStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Enchanted Acacia Wood";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.UNCOMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ITEM;
23 | }
24 |
25 | @Override
26 | public boolean isEnchanted()
27 | {
28 | return true;
29 | }
30 |
31 | @Override
32 | public SMaterial getCraftingMaterial()
33 | {
34 | return SMaterial.ACACIA_WOOD;
35 | }
36 |
37 | @Override
38 | public MaterialQuantifiable getResult()
39 | {
40 | return new MaterialQuantifiable(SMaterial.ENCHANTED_ACACIA_WOOD);
41 | }
42 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/enchanted/EnchantedBakedPotato.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.enchanted;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class EnchantedBakedPotato implements EnchantedMaterialStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Enchanted Baked Potato";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.UNCOMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ITEM;
23 | }
24 |
25 | @Override
26 | public boolean isEnchanted()
27 | {
28 | return true;
29 | }
30 |
31 | @Override
32 | public SMaterial getCraftingMaterial()
33 | {
34 | return SMaterial.ENCHANTED_POTATO;
35 | }
36 |
37 | @Override
38 | public MaterialQuantifiable getResult()
39 | {
40 | return new MaterialQuantifiable(SMaterial.ENCHANTED_BAKED_POTATO);
41 | }
42 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/enchanted/EnchantedBirchWood.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.enchanted;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class EnchantedBirchWood implements EnchantedMaterialStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Enchanted Birch Wood";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.UNCOMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ITEM;
23 | }
24 |
25 | @Override
26 | public boolean isEnchanted()
27 | {
28 | return true;
29 | }
30 |
31 | @Override
32 | public SMaterial getCraftingMaterial()
33 | {
34 | return SMaterial.BIRCH_WOOD;
35 | }
36 |
37 | @Override
38 | public MaterialQuantifiable getResult()
39 | {
40 | return new MaterialQuantifiable(SMaterial.ENCHANTED_BIRCH_WOOD);
41 | }
42 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/enchanted/EnchantedBone.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.enchanted;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class EnchantedBone implements EnchantedMaterialStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Enchanted Bone";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ITEM;
23 | }
24 |
25 | @Override
26 | public boolean isEnchanted()
27 | {
28 | return true;
29 | }
30 |
31 | @Override
32 | public SMaterial getCraftingMaterial()
33 | {
34 | return SMaterial.BONE;
35 | }
36 |
37 | @Override
38 | public MaterialQuantifiable getResult()
39 | {
40 | return new MaterialQuantifiable(SMaterial.ENCHANTED_BONE);
41 | }
42 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/enchanted/EnchantedCharcoal.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.enchanted;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | import java.util.ArrayList;
6 | import java.util.List;
7 |
8 | public class EnchantedCharcoal implements MaterialStatistics, MaterialFunction
9 | {
10 | @Override
11 | public String getDisplayName()
12 | {
13 | return "Enchanted Charcoal";
14 | }
15 |
16 | @Override
17 | public Rarity getRarity()
18 | {
19 | return Rarity.UNCOMMON;
20 | }
21 |
22 | @Override
23 | public GenericItemType getType()
24 | {
25 | return GenericItemType.ITEM;
26 | }
27 |
28 | @Override
29 | public boolean isEnchanted()
30 | {
31 | return true;
32 | }
33 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/enchanted/EnchantedDarkOakWood.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.enchanted;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class EnchantedDarkOakWood implements EnchantedMaterialStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Enchanted Dark Oak Wood";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.UNCOMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ITEM;
23 | }
24 |
25 | @Override
26 | public boolean isEnchanted()
27 | {
28 | return true;
29 | }
30 |
31 | @Override
32 | public MaterialQuantifiable getResult()
33 | {
34 | return new MaterialQuantifiable(SMaterial.ENCHANTED_DARK_OAK_WOOD);
35 | }
36 |
37 | @Override
38 | public SMaterial getCraftingMaterial()
39 | {
40 | return SMaterial.DARK_OAK_WOOD;
41 | }
42 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/enchanted/EnchantedDiamondBlock.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.enchanted;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class EnchantedDiamondBlock implements EnchantedMaterialStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Enchanted Diamond Block";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.RARE;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ITEM;
23 | }
24 |
25 | @Override
26 | public boolean isEnchanted()
27 | {
28 | return true;
29 | }
30 |
31 | @Override
32 | public SMaterial getCraftingMaterial()
33 | {
34 | return SMaterial.ENCHANTED_DIAMOND;
35 | }
36 |
37 | @Override
38 | public MaterialQuantifiable getResult()
39 | {
40 | return new MaterialQuantifiable(SMaterial.ENCHANTED_DIAMOND_BLOCK);
41 | }
42 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/enchanted/EnchantedEndStone.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.enchanted;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class EnchantedEndStone implements EnchantedMaterialStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Enchanted End Stone";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.UNCOMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ITEM;
23 | }
24 |
25 | @Override
26 | public boolean isEnchanted()
27 | {
28 | return true;
29 | }
30 |
31 | @Override
32 | public SMaterial getCraftingMaterial()
33 | {
34 | return SMaterial.END_STONE;
35 | }
36 |
37 | @Override
38 | public MaterialQuantifiable getResult()
39 | {
40 | return new MaterialQuantifiable(SMaterial.ENCHANTED_END_STONE);
41 | }
42 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/enchanted/EnchantedEyeOfEnder.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.enchanted;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class EnchantedEyeOfEnder implements MaterialStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Enchanted Eye of Ender";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.UNCOMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ITEM;
23 | }
24 |
25 | @Override
26 | public boolean isEnchanted()
27 | {
28 | return true;
29 | }
30 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/enchanted/EnchantedJungleWood.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.enchanted;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class EnchantedJungleWood implements EnchantedMaterialStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Enchanted Jungle Wood";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.UNCOMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ITEM;
23 | }
24 |
25 | @Override
26 | public boolean isEnchanted()
27 | {
28 | return true;
29 | }
30 |
31 | @Override
32 | public SMaterial getCraftingMaterial()
33 | {
34 | return SMaterial.JUNGLE_WOOD;
35 | }
36 |
37 | @Override
38 | public MaterialQuantifiable getResult()
39 | {
40 | return new MaterialQuantifiable(SMaterial.ENCHANTED_JUNGLE_WOOD);
41 | }
42 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/enchanted/EnchantedOakWood.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.enchanted;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class EnchantedOakWood implements EnchantedMaterialStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Enchanted Oak Wood";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.UNCOMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ITEM;
23 | }
24 |
25 | @Override
26 | public boolean isEnchanted()
27 | {
28 | return true;
29 | }
30 |
31 | @Override
32 | public SMaterial getCraftingMaterial()
33 | {
34 | return SMaterial.OAK_WOOD;
35 | }
36 |
37 | @Override
38 | public MaterialQuantifiable getResult()
39 | {
40 | return new MaterialQuantifiable(SMaterial.ENCHANTED_OAK_WOOD);
41 | }
42 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/enchanted/EnchantedObsidian.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.enchanted;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class EnchantedObsidian implements EnchantedMaterialStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Enchanted Obsidian";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.UNCOMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ITEM;
23 | }
24 |
25 | @Override
26 | public boolean isEnchanted()
27 | {
28 | return true;
29 | }
30 |
31 | @Override
32 | public SMaterial getCraftingMaterial()
33 | {
34 | return SMaterial.OBSIDIAN;
35 | }
36 |
37 | @Override
38 | public MaterialQuantifiable getResult()
39 | {
40 | return new MaterialQuantifiable(SMaterial.ENCHANTED_OBSIDIAN);
41 | }
42 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/enchanted/EnchantedPotato.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.enchanted;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class EnchantedPotato implements EnchantedMaterialStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Enchanted Potato";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.UNCOMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ITEM;
23 | }
24 |
25 | @Override
26 | public boolean isEnchanted()
27 | {
28 | return true;
29 | }
30 |
31 | @Override
32 | public SMaterial getCraftingMaterial()
33 | {
34 | return SMaterial.POTATO_ITEM;
35 | }
36 |
37 | @Override
38 | public MaterialQuantifiable getResult()
39 | {
40 | return new MaterialQuantifiable(SMaterial.ENCHANTED_POTATO);
41 | }
42 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/enchanted/EnchantedSpruceWood.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.enchanted;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class EnchantedSpruceWood implements EnchantedMaterialStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Enchanted Spruce Wood";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.UNCOMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ITEM;
23 | }
24 |
25 | @Override
26 | public boolean isEnchanted()
27 | {
28 | return true;
29 | }
30 |
31 | @Override
32 | public SMaterial getCraftingMaterial()
33 | {
34 | return SMaterial.SPRUCE_WOOD;
35 | }
36 |
37 | @Override
38 | public MaterialQuantifiable getResult()
39 | {
40 | return new MaterialQuantifiable(SMaterial.ENCHANTED_SPRUCE_WOOD);
41 | }
42 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/entity/RevenantHorrorHead.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.entity;
2 |
3 | import me.superischroma.spectaculation.item.MaterialFunction;
4 | import me.superischroma.spectaculation.item.Rarity;
5 | import me.superischroma.spectaculation.item.GenericItemType;
6 | import me.superischroma.spectaculation.item.SkullStatistics;
7 |
8 | public class RevenantHorrorHead implements SkullStatistics, MaterialFunction
9 | {
10 | @Override
11 | public String getURL()
12 | {
13 | return "d8bee23b5c726ae8e3d021e8b4f7525619ab102a4e04be983b61414349aaac67";
14 | }
15 |
16 | @Override
17 | public String getDisplayName()
18 | {
19 | return "Revenant Horror Head";
20 | }
21 |
22 | @Override
23 | public Rarity getRarity()
24 | {
25 | return Rarity.EXCLUSIVE;
26 | }
27 |
28 | @Override
29 | public GenericItemType getType()
30 | {
31 | return GenericItemType.ARMOR;
32 | }
33 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/exclusive/TestItem.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.exclusive;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class TestItem implements SkullStatistics, MaterialFunction, Enchantable
6 | {
7 | @Override
8 | public String getURL()
9 | {
10 | return "c0340923a6de4825a176813d133503eff186db0896e32b6704928c2a2bf68422";
11 | }
12 |
13 | @Override
14 | public String getDisplayName()
15 | {
16 | return "Test Item";
17 | }
18 |
19 | @Override
20 | public Rarity getRarity()
21 | {
22 | return Rarity.EXCLUSIVE;
23 | }
24 |
25 | @Override
26 | public GenericItemType getType()
27 | {
28 | return GenericItemType.ITEM;
29 | }
30 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/exclusive/WheatCrystal.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.exclusive;
2 |
3 | import me.superischroma.spectaculation.entity.SEntityType;
4 |
5 | public class WheatCrystal extends FloatingCrystal
6 | {
7 | @Override
8 | protected SEntityType getCrystalType()
9 | {
10 | return SEntityType.WHEAT_CRYSTAL;
11 | }
12 |
13 | @Override
14 | public String getURL()
15 | {
16 | return "d7d30431c2945ced873c27575eeaac22adb28adac7fbd89b56eb9e93979ce0fd";
17 | }
18 |
19 | @Override
20 | public String getDisplayName()
21 | {
22 | return "Wheat Crystal";
23 | }
24 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/hoe/vanilla/DiamondHoe.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.hoe.vanilla;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class DiamondHoe implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Diamond Hoe";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.UNCOMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.TOOL;
23 | }
24 |
25 | @Override
26 | public SpecificItemType getSpecificType()
27 | {
28 | return SpecificItemType.HOE;
29 | }
30 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/hoe/vanilla/GoldenHoe.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.hoe.vanilla;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class GoldenHoe implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Golden Hoe";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.TOOL;
23 | }
24 |
25 | @Override
26 | public SpecificItemType getSpecificType()
27 | {
28 | return SpecificItemType.HOE;
29 | }
30 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/hoe/vanilla/IronHoe.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.hoe.vanilla;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class IronHoe implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Iron Hoe";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.TOOL;
23 | }
24 |
25 | @Override
26 | public SpecificItemType getSpecificType()
27 | {
28 | return SpecificItemType.HOE;
29 | }
30 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/hoe/vanilla/StoneHoe.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.hoe.vanilla;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class StoneHoe implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Stone Hoe";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.TOOL;
23 | }
24 |
25 | @Override
26 | public SpecificItemType getSpecificType()
27 | {
28 | return SpecificItemType.HOE;
29 | }
30 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/hoe/vanilla/WoodenHoe.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.hoe.vanilla;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class WoodenHoe implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Wooden Hoe";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.TOOL;
23 | }
24 |
25 | @Override
26 | public SpecificItemType getSpecificType()
27 | {
28 | return SpecificItemType.HOE;
29 | }
30 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/mining/Stone.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.mining;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 | import me.superischroma.spectaculation.skill.MiningSkill;
5 | import me.superischroma.spectaculation.skill.Skill;
6 |
7 | public class Stone implements ExperienceRewardStatistics, MaterialFunction
8 | {
9 | @Override
10 | public double getRewardXP()
11 | {
12 | return 1.0;
13 | }
14 |
15 | @Override
16 | public Skill getRewardedSkill()
17 | {
18 | return MiningSkill.INSTANCE;
19 | }
20 |
21 | @Override
22 | public String getDisplayName()
23 | {
24 | return "Stone";
25 | }
26 |
27 | @Override
28 | public Rarity getRarity()
29 | {
30 | return Rarity.COMMON;
31 | }
32 |
33 | @Override
34 | public GenericItemType getType()
35 | {
36 | return GenericItemType.ITEM;
37 | }
38 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/oddities/Bedrock.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.oddities;
2 |
3 | import me.superischroma.spectaculation.item.GenericItemType;
4 | import me.superischroma.spectaculation.item.MaterialFunction;
5 | import me.superischroma.spectaculation.item.MaterialStatistics;
6 | import me.superischroma.spectaculation.item.Rarity;
7 |
8 | public class Bedrock implements MaterialStatistics, MaterialFunction
9 | {
10 | @Override
11 | public String getDisplayName()
12 | {
13 | return "Bedrock";
14 | }
15 |
16 | @Override
17 | public Rarity getRarity()
18 | {
19 | return Rarity.LEGENDARY;
20 | }
21 |
22 | @Override
23 | public GenericItemType getType()
24 | {
25 | return GenericItemType.BLOCK;
26 | }
27 |
28 | @Override
29 | public String getLore()
30 | {
31 | return "How do you have this??";
32 | }
33 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/oddities/Bouncer.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.oddities;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 | import net.minecraft.server.v1_8_R3.NBTTagCompound;
5 |
6 | public class Bouncer implements MaterialStatistics, MaterialFunction, ItemData
7 | {
8 | @Override
9 | public String getDisplayName()
10 | {
11 | return "Bouncer";
12 | }
13 |
14 | @Override
15 | public Rarity getRarity()
16 | {
17 | return Rarity.EXCLUSIVE;
18 | }
19 |
20 | @Override
21 | public GenericItemType getType()
22 | {
23 | return GenericItemType.BLOCK;
24 | }
25 |
26 | @Override
27 | public NBTTagCompound getData()
28 | {
29 | NBTTagCompound compound = new NBTTagCompound();
30 | compound.setFloat("bounce", 1f);
31 | compound.setLong("delay", 20L);
32 | compound.setFloat("velX", 1f);
33 | compound.setFloat("velY", 1f);
34 | compound.setFloat("velZ", 1f);
35 | return compound;
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/oddities/CrystalFragment.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.oddities;
2 |
3 | import me.superischroma.spectaculation.item.GenericItemType;
4 | import me.superischroma.spectaculation.item.MaterialFunction;
5 | import me.superischroma.spectaculation.item.MaterialStatistics;
6 | import me.superischroma.spectaculation.item.Rarity;
7 |
8 | public class CrystalFragment implements MaterialStatistics, MaterialFunction
9 | {
10 | @Override
11 | public String getDisplayName()
12 | {
13 | return "Crystal Fragment";
14 | }
15 |
16 | @Override
17 | public Rarity getRarity()
18 | {
19 | return Rarity.EPIC;
20 | }
21 |
22 | @Override
23 | public GenericItemType getType()
24 | {
25 | return GenericItemType.ITEM;
26 | }
27 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/oddities/GoldenPowder.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.oddities;
2 |
3 | import me.superischroma.spectaculation.item.GenericItemType;
4 | import me.superischroma.spectaculation.item.MaterialFunction;
5 | import me.superischroma.spectaculation.item.MaterialStatistics;
6 | import me.superischroma.spectaculation.item.Rarity;
7 |
8 | public class GoldenPowder implements MaterialStatistics, MaterialFunction
9 | {
10 | @Override
11 | public String getDisplayName()
12 | {
13 | return "Golden Powder";
14 | }
15 |
16 | @Override
17 | public Rarity getRarity()
18 | {
19 | return Rarity.EPIC;
20 | }
21 |
22 | @Override
23 | public GenericItemType getType()
24 | {
25 | return GenericItemType.ITEM;
26 | }
27 |
28 | @Override
29 | public boolean isEnchanted()
30 | {
31 | return true;
32 | }
33 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/oddities/Launcher.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.oddities;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 | import net.minecraft.server.v1_8_R3.NBTTagCompound;
5 |
6 | public class Launcher implements MaterialStatistics, MaterialFunction, ItemData
7 | {
8 | @Override
9 | public String getDisplayName()
10 | {
11 | return "Launcher";
12 | }
13 |
14 | @Override
15 | public Rarity getRarity()
16 | {
17 | return Rarity.LEGENDARY;
18 | }
19 |
20 | @Override
21 | public GenericItemType getType()
22 | {
23 | return GenericItemType.BLOCK;
24 | }
25 |
26 | @Override
27 | public NBTTagCompound getData()
28 | {
29 | NBTTagCompound compound = new NBTTagCompound();
30 | compound.setFloat("velX", 1f);
31 | compound.setFloat("velY", 1f);
32 | compound.setFloat("velZ", 1f);
33 | return compound;
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/oddities/Recombobulator3000.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.oddities;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class Recombobulator3000 implements SkullStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getURL()
9 | {
10 | return "57ccd36dc8f72adcb1f8c8e61ee82cd96ead140cf2a16a1366be9b5a8e3cc3fc";
11 | }
12 |
13 | @Override
14 | public String getDisplayName()
15 | {
16 | return "Recombobulator 3000";
17 | }
18 |
19 | @Override
20 | public Rarity getRarity()
21 | {
22 | return Rarity.LEGENDARY;
23 | }
24 |
25 | @Override
26 | public GenericItemType getType()
27 | {
28 | return GenericItemType.ITEM;
29 | }
30 |
31 | @Override
32 | public SpecificItemType getSpecificType()
33 | {
34 | return SpecificItemType.DUNGEON_ITEM;
35 | }
36 |
37 | @Override
38 | public boolean isStackable()
39 | {
40 | return false;
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/oddities/SummoningFrame.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.oddities;
2 |
3 | import me.superischroma.spectaculation.item.MaterialFunction;
4 | import me.superischroma.spectaculation.item.MaterialStatistics;
5 | import me.superischroma.spectaculation.item.Rarity;
6 | import me.superischroma.spectaculation.item.GenericItemType;
7 |
8 | public class SummoningFrame implements MaterialFunction, MaterialStatistics
9 | {
10 | @Override
11 | public String getDisplayName()
12 | {
13 | return "Summoning Frame";
14 | }
15 |
16 | @Override
17 | public Rarity getRarity()
18 | {
19 | return Rarity.EXCLUSIVE;
20 | }
21 |
22 | @Override
23 | public GenericItemType getType()
24 | {
25 | return GenericItemType.BLOCK;
26 | }
27 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/oddities/WeakWolfCatalyst.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.oddities;
2 |
3 | import me.superischroma.spectaculation.item.GenericItemType;
4 | import me.superischroma.spectaculation.item.MaterialFunction;
5 | import me.superischroma.spectaculation.item.MaterialStatistics;
6 | import me.superischroma.spectaculation.item.Rarity;
7 |
8 | public class WeakWolfCatalyst implements MaterialStatistics, MaterialFunction
9 | {
10 | @Override
11 | public String getDisplayName()
12 | {
13 | return "Weak Wolf Catalyst";
14 | }
15 |
16 | @Override
17 | public Rarity getRarity()
18 | {
19 | return Rarity.RARE;
20 | }
21 |
22 | @Override
23 | public GenericItemType getType()
24 | {
25 | return GenericItemType.ITEM;
26 | }
27 |
28 | @Override
29 | public boolean isEnchanted()
30 | {
31 | return true;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/orb/OrbBuff.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.orb;
2 |
3 | public interface OrbBuff
4 | {
5 | String getBuffName();
6 | String getBuffDescription();
7 | default String getCustomOrbName()
8 | {
9 | return null;
10 | }
11 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/pet/PetAbility.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.pet;
2 |
3 | import com.google.common.util.concurrent.AtomicDouble;
4 | import me.superischroma.spectaculation.item.SItem;
5 | import org.bukkit.entity.Entity;
6 | import org.bukkit.event.entity.EntityDamageByEntityEvent;
7 |
8 | import java.util.List;
9 |
10 | public interface PetAbility
11 | {
12 | String getName();
13 | List getDescription(SItem instance);
14 | default void onHurt(EntityDamageByEntityEvent e, Entity damager) {}
15 | default void onDamage(EntityDamageByEntityEvent e) {}
16 | default void onZealotAttempt(AtomicDouble chance) {}
17 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/pickaxe/vanilla/DiamondPickaxe.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.pickaxe.vanilla;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class DiamondPickaxe implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Diamond Pickaxe";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.UNCOMMON;
17 | }
18 |
19 | @Override
20 | public int getBaseDamage()
21 | {
22 | return 30;
23 | }
24 |
25 | @Override
26 | public GenericItemType getType()
27 | {
28 | return GenericItemType.TOOL;
29 | }
30 |
31 | @Override
32 | public SpecificItemType getSpecificType()
33 | {
34 | return SpecificItemType.PICKAXE;
35 | }
36 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/pickaxe/vanilla/GoldenPickaxe.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.pickaxe.vanilla;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class GoldenPickaxe implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Golden Pickaxe";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public int getBaseDamage()
21 | {
22 | return 15;
23 | }
24 |
25 | @Override
26 | public GenericItemType getType()
27 | {
28 | return GenericItemType.TOOL;
29 | }
30 |
31 | @Override
32 | public SpecificItemType getSpecificType()
33 | {
34 | return SpecificItemType.PICKAXE;
35 | }
36 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/pickaxe/vanilla/IronPickaxe.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.pickaxe.vanilla;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class IronPickaxe implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Iron Pickaxe";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public int getBaseDamage()
21 | {
22 | return 25;
23 | }
24 |
25 | @Override
26 | public GenericItemType getType()
27 | {
28 | return GenericItemType.TOOL;
29 | }
30 |
31 | @Override
32 | public SpecificItemType getSpecificType()
33 | {
34 | return SpecificItemType.PICKAXE;
35 | }
36 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/pickaxe/vanilla/StonePickaxe.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.pickaxe.vanilla;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class StonePickaxe implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Stone Pickaxe";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public int getBaseDamage()
21 | {
22 | return 20;
23 | }
24 |
25 | @Override
26 | public GenericItemType getType()
27 | {
28 | return GenericItemType.TOOL;
29 | }
30 |
31 | @Override
32 | public SpecificItemType getSpecificType()
33 | {
34 | return SpecificItemType.PICKAXE;
35 | }
36 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/pickaxe/vanilla/WoodenPickaxe.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.pickaxe.vanilla;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class WoodenPickaxe implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Wooden Pickaxe";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public int getBaseDamage()
21 | {
22 | return 20;
23 | }
24 |
25 | @Override
26 | public GenericItemType getType()
27 | {
28 | return GenericItemType.TOOL;
29 | }
30 |
31 | @Override
32 | public SpecificItemType getSpecificType()
33 | {
34 | return SpecificItemType.PICKAXE;
35 | }
36 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/revenant/BeheadedHorror.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.revenant;
2 |
3 | import me.superischroma.spectaculation.item.GenericItemType;
4 | import me.superischroma.spectaculation.item.MaterialFunction;
5 | import me.superischroma.spectaculation.item.Rarity;
6 | import me.superischroma.spectaculation.item.SkullStatistics;
7 |
8 | public class BeheadedHorror implements SkullStatistics, MaterialFunction
9 | {
10 | @Override
11 | public String getDisplayName()
12 | {
13 | return "Beheaded Horror";
14 | }
15 |
16 | @Override
17 | public Rarity getRarity()
18 | {
19 | return Rarity.EPIC;
20 | }
21 |
22 | @Override
23 | public GenericItemType getType()
24 | {
25 | return GenericItemType.ITEM;
26 | }
27 |
28 | @Override
29 | public String getURL()
30 | {
31 | return "dbad99ed3c820b7978190ad08a934a68dfa90d9986825da1c97f6f21f49ad626";
32 | }
33 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/revenant/FoulFlesh.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.revenant;
2 |
3 | import me.superischroma.spectaculation.item.GenericItemType;
4 | import me.superischroma.spectaculation.item.MaterialFunction;
5 | import me.superischroma.spectaculation.item.MaterialStatistics;
6 | import me.superischroma.spectaculation.item.Rarity;
7 |
8 | public class FoulFlesh implements MaterialStatistics, MaterialFunction
9 | {
10 | @Override
11 | public String getDisplayName()
12 | {
13 | return "Foul Flesh";
14 | }
15 |
16 | @Override
17 | public Rarity getRarity()
18 | {
19 | return Rarity.RARE;
20 | }
21 |
22 | @Override
23 | public GenericItemType getType()
24 | {
25 | return GenericItemType.ITEM;
26 | }
27 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/revenant/RevenantCatalyst.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.revenant;
2 |
3 | import me.superischroma.spectaculation.item.GenericItemType;
4 | import me.superischroma.spectaculation.item.MaterialFunction;
5 | import me.superischroma.spectaculation.item.Rarity;
6 | import me.superischroma.spectaculation.item.SkullStatistics;
7 |
8 | public class RevenantCatalyst implements SkullStatistics, MaterialFunction
9 | {
10 | @Override
11 | public String getDisplayName()
12 | {
13 | return "Revenant Catalyst";
14 | }
15 |
16 | @Override
17 | public Rarity getRarity()
18 | {
19 | return Rarity.EPIC;
20 | }
21 |
22 | @Override
23 | public GenericItemType getType()
24 | {
25 | return GenericItemType.ITEM;
26 | }
27 |
28 | @Override
29 | public String getURL()
30 | {
31 | return "b88cfafa5f03f8aef042a143799e964342df76b7c1eb461f618e398f84a99a63";
32 | }
33 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/revenant/RevenantFlesh.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.revenant;
2 |
3 | import me.superischroma.spectaculation.item.GenericItemType;
4 | import me.superischroma.spectaculation.item.MaterialFunction;
5 | import me.superischroma.spectaculation.item.MaterialStatistics;
6 | import me.superischroma.spectaculation.item.Rarity;
7 |
8 | public class RevenantFlesh implements MaterialStatistics, MaterialFunction
9 | {
10 | @Override
11 | public String getDisplayName()
12 | {
13 | return "Revenant Flesh";
14 | }
15 |
16 | @Override
17 | public Rarity getRarity()
18 | {
19 | return Rarity.UNCOMMON;
20 | }
21 |
22 | @Override
23 | public GenericItemType getType()
24 | {
25 | return GenericItemType.ITEM;
26 | }
27 |
28 | @Override
29 | public boolean isEnchanted()
30 | {
31 | return true;
32 | }
33 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/revenant/ScytheBlade.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.revenant;
2 |
3 | import me.superischroma.spectaculation.item.GenericItemType;
4 | import me.superischroma.spectaculation.item.MaterialFunction;
5 | import me.superischroma.spectaculation.item.MaterialStatistics;
6 | import me.superischroma.spectaculation.item.Rarity;
7 |
8 | public class ScytheBlade implements MaterialStatistics, MaterialFunction
9 | {
10 | @Override
11 | public String getDisplayName()
12 | {
13 | return "Scythe Blade";
14 | }
15 |
16 | @Override
17 | public Rarity getRarity()
18 | {
19 | return Rarity.LEGENDARY;
20 | }
21 |
22 | @Override
23 | public GenericItemType getType()
24 | {
25 | return GenericItemType.ITEM;
26 | }
27 |
28 | @Override
29 | public boolean isEnchanted()
30 | {
31 | return true;
32 | }
33 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/revenant/UndeadCatalyst.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.revenant;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class UndeadCatalyst implements SkullStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Undead Catalyst";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.RARE;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ITEM;
23 | }
24 |
25 | @Override
26 | public String getURL()
27 | {
28 | return "80625369b0a7b052632db6b926a87670219539922836ac5940be26d34bf14e10";
29 | }
30 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/rune/BiteRune.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.rune;
2 |
3 | import me.superischroma.spectaculation.item.GenericItemType;
4 | import me.superischroma.spectaculation.item.Rarity;
5 | import me.superischroma.spectaculation.item.Rune;
6 | import me.superischroma.spectaculation.item.SpecificItemType;
7 | import org.bukkit.ChatColor;
8 |
9 | public class BiteRune implements Rune
10 | {
11 | @Override
12 | public String getDisplayName()
13 | {
14 | return ChatColor.GREEN + "◆ Bite Rune";
15 | }
16 |
17 | @Override
18 | public Rarity getRarity()
19 | {
20 | return Rarity.EPIC;
21 | }
22 |
23 | @Override
24 | public GenericItemType getType()
25 | {
26 | return GenericItemType.ITEM;
27 | }
28 |
29 | @Override
30 | public SpecificItemType getSpecificType()
31 | {
32 | return SpecificItemType.COSMETIC;
33 | }
34 |
35 | @Override
36 | public String getURL()
37 | {
38 | return "43a1ad4fcc42fb63c681328e42d63c83ca193b333af2a426728a25a8cc600692";
39 | }
40 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/rune/CoutureRune.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.rune;
2 |
3 | import me.superischroma.spectaculation.item.GenericItemType;
4 | import me.superischroma.spectaculation.item.Rarity;
5 | import me.superischroma.spectaculation.item.Rune;
6 | import me.superischroma.spectaculation.item.SpecificItemType;
7 | import org.bukkit.ChatColor;
8 |
9 | public class CoutureRune implements Rune
10 | {
11 | @Override
12 | public String getDisplayName()
13 | {
14 | return ChatColor.AQUA + "◆ Couture Rune";
15 | }
16 |
17 | @Override
18 | public Rarity getRarity()
19 | {
20 | return Rarity.LEGENDARY;
21 | }
22 |
23 | @Override
24 | public GenericItemType getType()
25 | {
26 | return GenericItemType.ITEM;
27 | }
28 |
29 | @Override
30 | public SpecificItemType getSpecificType()
31 | {
32 | return SpecificItemType.COSMETIC;
33 | }
34 |
35 | @Override
36 | public String getURL()
37 | {
38 | return "734fb3203233efbae82628bd4fca7348cd071e5b7b52407f1d1d2794e31799ff";
39 | }
40 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/rune/SnakeRune.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.rune;
2 |
3 | import me.superischroma.spectaculation.item.GenericItemType;
4 | import me.superischroma.spectaculation.item.Rarity;
5 | import me.superischroma.spectaculation.item.Rune;
6 | import me.superischroma.spectaculation.item.SpecificItemType;
7 | import org.bukkit.ChatColor;
8 |
9 | public class SnakeRune implements Rune
10 | {
11 | @Override
12 | public String getDisplayName()
13 | {
14 | return ChatColor.GREEN + "◆ Snake Rune";
15 | }
16 |
17 | @Override
18 | public Rarity getRarity()
19 | {
20 | return Rarity.LEGENDARY;
21 | }
22 |
23 | @Override
24 | public GenericItemType getType()
25 | {
26 | return GenericItemType.ITEM;
27 | }
28 |
29 | @Override
30 | public SpecificItemType getSpecificType()
31 | {
32 | return SpecificItemType.COSMETIC;
33 | }
34 |
35 | @Override
36 | public String getURL()
37 | {
38 | return "2c4a65c689b2d36409100a60c2ab8d3d0a67ce94eea3c1f7ac974fd893568b5d";
39 | }
40 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/rune/SpiritRune.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.rune;
2 |
3 | import me.superischroma.spectaculation.item.GenericItemType;
4 | import me.superischroma.spectaculation.item.Rarity;
5 | import me.superischroma.spectaculation.item.Rune;
6 | import me.superischroma.spectaculation.item.SpecificItemType;
7 | import org.bukkit.ChatColor;
8 |
9 | public class SpiritRune implements Rune
10 | {
11 | @Override
12 | public String getDisplayName()
13 | {
14 | return ChatColor.AQUA + "◆ Spirit Rune";
15 | }
16 |
17 | @Override
18 | public Rarity getRarity()
19 | {
20 | return Rarity.RARE;
21 | }
22 |
23 | @Override
24 | public GenericItemType getType()
25 | {
26 | return GenericItemType.ITEM;
27 | }
28 |
29 | @Override
30 | public SpecificItemType getSpecificType()
31 | {
32 | return SpecificItemType.COSMETIC;
33 | }
34 |
35 | @Override
36 | public String getURL()
37 | {
38 | return "c738b8af8d7ce1a26dc6d40180b3589403e11ef36a66d7c4590037732829542e";
39 | }
40 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/shovel/vanilla/DiamondShovel.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.shovel.vanilla;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class DiamondShovel implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Diamond Shovel";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.UNCOMMON;
17 | }
18 |
19 | @Override
20 | public int getBaseDamage()
21 | {
22 | return 30;
23 | }
24 |
25 | @Override
26 | public GenericItemType getType()
27 | {
28 | return GenericItemType.TOOL;
29 | }
30 |
31 | @Override
32 | public SpecificItemType getSpecificType()
33 | {
34 | return SpecificItemType.SHOVEL;
35 | }
36 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/shovel/vanilla/GoldenShovel.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.shovel.vanilla;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class GoldenShovel implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Golden Shovel";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public int getBaseDamage()
21 | {
22 | return 15;
23 | }
24 |
25 | @Override
26 | public GenericItemType getType()
27 | {
28 | return GenericItemType.TOOL;
29 | }
30 |
31 | @Override
32 | public SpecificItemType getSpecificType()
33 | {
34 | return SpecificItemType.SHOVEL;
35 | }
36 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/shovel/vanilla/IronShovel.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.shovel.vanilla;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class IronShovel implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Iron Shovel";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public int getBaseDamage()
21 | {
22 | return 25;
23 | }
24 |
25 | @Override
26 | public GenericItemType getType()
27 | {
28 | return GenericItemType.TOOL;
29 | }
30 |
31 | @Override
32 | public SpecificItemType getSpecificType()
33 | {
34 | return SpecificItemType.SHOVEL;
35 | }
36 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/shovel/vanilla/StoneShovel.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.shovel.vanilla;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class StoneShovel implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Stone Shovel";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public int getBaseDamage()
21 | {
22 | return 20;
23 | }
24 |
25 | @Override
26 | public GenericItemType getType()
27 | {
28 | return GenericItemType.TOOL;
29 | }
30 |
31 | @Override
32 | public SpecificItemType getSpecificType()
33 | {
34 | return SpecificItemType.SHOVEL;
35 | }
36 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/shovel/vanilla/WoodenShovel.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.shovel.vanilla;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class WoodenShovel implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Wooden Shovel";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public int getBaseDamage()
21 | {
22 | return 15;
23 | }
24 |
25 | @Override
26 | public GenericItemType getType()
27 | {
28 | return GenericItemType.TOOL;
29 | }
30 |
31 | @Override
32 | public SpecificItemType getSpecificType()
33 | {
34 | return SpecificItemType.SHOVEL;
35 | }
36 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/storage/GreaterBackpack.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.storage;
2 |
3 | import me.superischroma.spectaculation.item.Rarity;
4 | import me.superischroma.spectaculation.item.SkullStatistics;
5 |
6 | public class GreaterBackpack extends Storage implements SkullStatistics
7 | {
8 | @Override
9 | public int getSlots()
10 | {
11 | return 36;
12 | }
13 |
14 | @Override
15 | public String getDisplayName()
16 | {
17 | return "Greater Backpack";
18 | }
19 |
20 | @Override
21 | public Rarity getRarity()
22 | {
23 | return Rarity.EPIC;
24 | }
25 |
26 | @Override
27 | public String getURL()
28 | {
29 | return "62f3b3a05481cde77240005c0ddcee1c069e5504a62ce0977879f55a39396146";
30 | }
31 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/storage/JumboBackpack.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.storage;
2 |
3 | import me.superischroma.spectaculation.item.Rarity;
4 | import me.superischroma.spectaculation.item.SkullStatistics;
5 |
6 | public class JumboBackpack extends Storage implements SkullStatistics
7 | {
8 | @Override
9 | public int getSlots()
10 | {
11 | return 54;
12 | }
13 |
14 | @Override
15 | public String getDisplayName()
16 | {
17 | return "Jumbo Backpack";
18 | }
19 |
20 | @Override
21 | public Rarity getRarity()
22 | {
23 | return Rarity.LEGENDARY;
24 | }
25 |
26 | @Override
27 | public String getURL()
28 | {
29 | return "1f8405116c1daa7ce2f012591458d50246d0a467bcb95a5a2c033aefd6008b63";
30 | }
31 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/storage/LargeBackpack.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.storage;
2 |
3 | import me.superischroma.spectaculation.item.Rarity;
4 | import me.superischroma.spectaculation.item.SkullStatistics;
5 |
6 | public class LargeBackpack extends Storage implements SkullStatistics
7 | {
8 | @Override
9 | public int getSlots()
10 | {
11 | return 27;
12 | }
13 |
14 | @Override
15 | public String getDisplayName()
16 | {
17 | return "Large Backpack";
18 | }
19 |
20 | @Override
21 | public Rarity getRarity()
22 | {
23 | return Rarity.EPIC;
24 | }
25 |
26 | @Override
27 | public String getURL()
28 | {
29 | return "62f3b3a05481cde77240005c0ddcee1c069e5504a62ce0977879f55a39396146";
30 | }
31 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/storage/MediumBackpack.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.storage;
2 |
3 | import me.superischroma.spectaculation.item.Rarity;
4 | import me.superischroma.spectaculation.item.SkullStatistics;
5 |
6 | public class MediumBackpack extends Storage implements SkullStatistics
7 | {
8 | @Override
9 | public int getSlots()
10 | {
11 | return 18;
12 | }
13 |
14 | @Override
15 | public String getDisplayName()
16 | {
17 | return "Medium Backpack";
18 | }
19 |
20 | @Override
21 | public Rarity getRarity()
22 | {
23 | return Rarity.RARE;
24 | }
25 |
26 | @Override
27 | public String getURL()
28 | {
29 | return "62f3b3a05481cde77240005c0ddcee1c069e5504a62ce0977879f55a39396146";
30 | }
31 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/storage/SmallBackpack.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.storage;
2 |
3 | import me.superischroma.spectaculation.item.Rarity;
4 | import me.superischroma.spectaculation.item.SkullStatistics;
5 |
6 | public class SmallBackpack extends Storage implements SkullStatistics
7 | {
8 | @Override
9 | public int getSlots()
10 | {
11 | return 9;
12 | }
13 |
14 | @Override
15 | public String getDisplayName()
16 | {
17 | return "Small Backpack";
18 | }
19 |
20 | @Override
21 | public Rarity getRarity()
22 | {
23 | return Rarity.UNCOMMON;
24 | }
25 |
26 | @Override
27 | public String getURL()
28 | {
29 | return "21d837ca222cbc0bc12426f5da018c3a931b406008800960a9df112a596e7d62";
30 | }
31 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/sven/GrizzlyBait.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.sven;
2 |
3 | import me.superischroma.spectaculation.item.GenericItemType;
4 | import me.superischroma.spectaculation.item.MaterialFunction;
5 | import me.superischroma.spectaculation.item.MaterialStatistics;
6 | import me.superischroma.spectaculation.item.Rarity;
7 |
8 | public class GrizzlyBait implements MaterialStatistics, MaterialFunction
9 | {
10 | @Override
11 | public String getDisplayName()
12 | {
13 | return "Grizzly Bait";
14 | }
15 |
16 | @Override
17 | public Rarity getRarity()
18 | {
19 | return Rarity.RARE;
20 | }
21 |
22 | @Override
23 | public GenericItemType getType()
24 | {
25 | return GenericItemType.ITEM;
26 | }
27 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/sven/HamsterWheel.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.sven;
2 |
3 | import me.superischroma.spectaculation.item.GenericItemType;
4 | import me.superischroma.spectaculation.item.MaterialFunction;
5 | import me.superischroma.spectaculation.item.MaterialStatistics;
6 | import me.superischroma.spectaculation.item.Rarity;
7 |
8 | public class HamsterWheel implements MaterialStatistics, MaterialFunction
9 | {
10 | @Override
11 | public String getDisplayName()
12 | {
13 | return "Hamster Wheel";
14 | }
15 |
16 | @Override
17 | public Rarity getRarity()
18 | {
19 | return Rarity.RARE;
20 | }
21 |
22 | @Override
23 | public GenericItemType getType()
24 | {
25 | return GenericItemType.ITEM;
26 | }
27 |
28 | @Override
29 | public boolean isEnchanted()
30 | {
31 | return true;
32 | }
33 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/sven/OverfluxCapacitor.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.sven;
2 |
3 | import me.superischroma.spectaculation.item.GenericItemType;
4 | import me.superischroma.spectaculation.item.MaterialFunction;
5 | import me.superischroma.spectaculation.item.MaterialStatistics;
6 | import me.superischroma.spectaculation.item.Rarity;
7 |
8 | public class OverfluxCapacitor implements MaterialStatistics, MaterialFunction
9 | {
10 | @Override
11 | public String getDisplayName()
12 | {
13 | return "Overflux Capacitor";
14 | }
15 |
16 | @Override
17 | public Rarity getRarity()
18 | {
19 | return Rarity.EPIC;
20 | }
21 |
22 | @Override
23 | public GenericItemType getType()
24 | {
25 | return GenericItemType.ITEM;
26 | }
27 |
28 | @Override
29 | public boolean isEnchanted()
30 | {
31 | return true;
32 | }
33 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/sven/RedClawEgg.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.sven;
2 |
3 | import me.superischroma.spectaculation.item.GenericItemType;
4 | import me.superischroma.spectaculation.item.MaterialFunction;
5 | import me.superischroma.spectaculation.item.MaterialStatistics;
6 | import me.superischroma.spectaculation.item.Rarity;
7 |
8 | public class RedClawEgg implements MaterialStatistics, MaterialFunction
9 | {
10 | @Override
11 | public String getDisplayName()
12 | {
13 | return "Red Claw Egg";
14 | }
15 |
16 | @Override
17 | public Rarity getRarity()
18 | {
19 | return Rarity.EPIC;
20 | }
21 |
22 | @Override
23 | public GenericItemType getType()
24 | {
25 | return GenericItemType.ITEM;
26 | }
27 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/sven/WolfTooth.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.sven;
2 |
3 | import me.superischroma.spectaculation.item.GenericItemType;
4 | import me.superischroma.spectaculation.item.MaterialFunction;
5 | import me.superischroma.spectaculation.item.MaterialStatistics;
6 | import me.superischroma.spectaculation.item.Rarity;
7 |
8 | public class WolfTooth implements MaterialStatistics, MaterialFunction
9 | {
10 | @Override
11 | public String getDisplayName()
12 | {
13 | return "Wolf Tooth";
14 | }
15 |
16 | @Override
17 | public Rarity getRarity()
18 | {
19 | return Rarity.UNCOMMON;
20 | }
21 |
22 | @Override
23 | public GenericItemType getType()
24 | {
25 | return GenericItemType.ITEM;
26 | }
27 |
28 | @Override
29 | public boolean isEnchanted()
30 | {
31 | return true;
32 | }
33 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/tarantula/DigestedMosquito.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.tarantula;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class DigestedMosquito implements MaterialStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Digested Mosquito";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.LEGENDARY;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ITEM;
23 | }
24 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/tarantula/FlySwatter.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.tarantula;
2 |
3 | import me.superischroma.spectaculation.item.GenericItemType;
4 | import me.superischroma.spectaculation.item.MaterialFunction;
5 | import me.superischroma.spectaculation.item.MaterialStatistics;
6 | import me.superischroma.spectaculation.item.Rarity;
7 |
8 | public class FlySwatter implements MaterialStatistics, MaterialFunction
9 | {
10 | @Override
11 | public String getDisplayName()
12 | {
13 | return "Fly Swatter";
14 | }
15 |
16 | @Override
17 | public Rarity getRarity()
18 | {
19 | return Rarity.EPIC;
20 | }
21 |
22 | @Override
23 | public GenericItemType getType()
24 | {
25 | return GenericItemType.ITEM;
26 | }
27 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/tarantula/SpiderCatalyst.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.tarantula;
2 |
3 | import me.superischroma.spectaculation.item.GenericItemType;
4 | import me.superischroma.spectaculation.item.MaterialFunction;
5 | import me.superischroma.spectaculation.item.Rarity;
6 | import me.superischroma.spectaculation.item.SkullStatistics;
7 |
8 | public class SpiderCatalyst implements SkullStatistics, MaterialFunction
9 | {
10 | @Override
11 | public String getDisplayName()
12 | {
13 | return "Spider Catalyst";
14 | }
15 |
16 | @Override
17 | public Rarity getRarity()
18 | {
19 | return Rarity.RARE;
20 | }
21 |
22 | @Override
23 | public GenericItemType getType()
24 | {
25 | return GenericItemType.ITEM;
26 | }
27 |
28 | @Override
29 | public String getURL()
30 | {
31 | return "983b30e9d135b05190eea2c3ac61e2ab55a2d81e1a58dbb26983a14082664";
32 | }
33 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/tarantula/TarantulaWeb.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.tarantula;
2 |
3 | import me.superischroma.spectaculation.item.GenericItemType;
4 | import me.superischroma.spectaculation.item.MaterialFunction;
5 | import me.superischroma.spectaculation.item.MaterialStatistics;
6 | import me.superischroma.spectaculation.item.Rarity;
7 |
8 | public class TarantulaWeb implements MaterialStatistics, MaterialFunction
9 | {
10 | @Override
11 | public String getDisplayName()
12 | {
13 | return "Tarantula Web";
14 | }
15 |
16 | @Override
17 | public Rarity getRarity()
18 | {
19 | return Rarity.UNCOMMON;
20 | }
21 |
22 | @Override
23 | public GenericItemType getType()
24 | {
25 | return GenericItemType.ITEM;
26 | }
27 |
28 | @Override
29 | public boolean isEnchanted()
30 | {
31 | return true;
32 | }
33 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/tarantula/ToxicArrowPoison.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.tarantula;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class ToxicArrowPoison implements MaterialStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Toxic Arrow Poison";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.UNCOMMON;
17 | }
18 |
19 | @Override
20 | public GenericItemType getType()
21 | {
22 | return GenericItemType.ITEM;
23 | }
24 |
25 | @Override
26 | public SpecificItemType getSpecificType()
27 | {
28 | return SpecificItemType.ARROW_POISON;
29 | }
30 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/weapon/vanilla/DiamondSword.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.weapon.vanilla;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class DiamondSword implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Diamond Sword";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.UNCOMMON;
17 | }
18 |
19 | @Override
20 | public int getBaseDamage()
21 | {
22 | return 35;
23 | }
24 |
25 | @Override
26 | public GenericItemType getType()
27 | {
28 | return GenericItemType.WEAPON;
29 | }
30 |
31 | @Override
32 | public SpecificItemType getSpecificType()
33 | {
34 | return SpecificItemType.SWORD;
35 | }
36 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/weapon/vanilla/GoldenSword.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.weapon.vanilla;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class GoldenSword implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Golden Sword";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public int getBaseDamage()
21 | {
22 | return 20;
23 | }
24 |
25 | @Override
26 | public GenericItemType getType()
27 | {
28 | return GenericItemType.WEAPON;
29 | }
30 |
31 | @Override
32 | public SpecificItemType getSpecificType()
33 | {
34 | return SpecificItemType.SWORD;
35 | }
36 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/weapon/vanilla/IronSword.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.weapon.vanilla;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class IronSword implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Iron Sword";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public int getBaseDamage()
21 | {
22 | return 30;
23 | }
24 |
25 | @Override
26 | public GenericItemType getType()
27 | {
28 | return GenericItemType.WEAPON;
29 | }
30 |
31 | @Override
32 | public SpecificItemType getSpecificType()
33 | {
34 | return SpecificItemType.SWORD;
35 | }
36 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/weapon/vanilla/StoneSword.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.weapon.vanilla;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class StoneSword implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Stone Sword";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public int getBaseDamage()
21 | {
22 | return 25;
23 | }
24 |
25 | @Override
26 | public GenericItemType getType()
27 | {
28 | return GenericItemType.WEAPON;
29 | }
30 |
31 | @Override
32 | public SpecificItemType getSpecificType()
33 | {
34 | return SpecificItemType.SWORD;
35 | }
36 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/item/weapon/vanilla/WoodenSword.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.item.weapon.vanilla;
2 |
3 | import me.superischroma.spectaculation.item.*;
4 |
5 | public class WoodenSword implements ToolStatistics, MaterialFunction
6 | {
7 | @Override
8 | public String getDisplayName()
9 | {
10 | return "Wooden Sword";
11 | }
12 |
13 | @Override
14 | public Rarity getRarity()
15 | {
16 | return Rarity.COMMON;
17 | }
18 |
19 | @Override
20 | public int getBaseDamage()
21 | {
22 | return 20;
23 | }
24 |
25 | @Override
26 | public GenericItemType getType()
27 | {
28 | return GenericItemType.WEAPON;
29 | }
30 |
31 | @Override
32 | public SpecificItemType getSpecificType()
33 | {
34 | return SpecificItemType.SWORD;
35 | }
36 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/listener/PListener.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.listener;
2 |
3 | import me.superischroma.spectaculation.Spectaculation;
4 | import org.bukkit.event.Listener;
5 |
6 | public class PListener implements Listener
7 | {
8 | private static int amount = 0;
9 |
10 | protected Spectaculation plugin;
11 |
12 | protected PListener()
13 | {
14 | this.plugin = Spectaculation.getPlugin();
15 | this.plugin.getServer().getPluginManager().registerEvents(this, plugin);
16 | amount++;
17 | }
18 |
19 | public static int getAmount()
20 | {
21 | return amount;
22 | }
23 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/listener/ServerPingListener.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.listener;
2 |
3 | import me.superischroma.spectaculation.util.SUtil;
4 | import org.bukkit.ChatColor;
5 | import org.bukkit.event.EventHandler;
6 | import org.bukkit.event.server.ServerListPingEvent;
7 |
8 | public class ServerPingListener extends PListener
9 | {
10 | @EventHandler
11 | public void onServerPing(ServerListPingEvent e)
12 | {
13 | e.setMotd(ChatColor.GREEN + " Gunga Server " + ChatColor.RED + "[1.8-1.16]\n " + SUtil.getRandomVisibleColor() + ChatColor.BOLD + "SKYBLOCK STUFF");
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/potion/ActivePotionEffect.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.potion;
2 |
3 | import lombok.Getter;
4 | import lombok.Setter;
5 | import me.superischroma.spectaculation.util.SUtil;
6 |
7 | @Getter
8 | public class ActivePotionEffect
9 | {
10 | private final PotionEffect effect;
11 | @Setter
12 | private long remaining;
13 |
14 | public ActivePotionEffect(PotionEffect effect, long remaining)
15 | {
16 | this.effect = effect;
17 | this.remaining = remaining;
18 | }
19 |
20 | public String getRemainingDisplay()
21 | {
22 | return SUtil.getFormattedTime(remaining);
23 | }
24 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/potion/PotionColor.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.potion;
2 |
3 | import lombok.Getter;
4 |
5 | public enum PotionColor
6 | {
7 | BLUE((short) 0),
8 | PURPLE((short) 1),
9 | LIGHT_BLUE((short) 2),
10 | ORANGE((short) 3),
11 | DARK_GREEN((short) 4),
12 | RED((short) 5),
13 | DARK_BLUE((short) 6),
14 | GRAY((short) 8),
15 | DARK_RED((short) 9),
16 | DARK_GRAY((short) 10),
17 | GREEN((short) 11),
18 | BLOOD_RED((short) 12),
19 | TWILIGHT_BLUE((short) 13),
20 | LIGHT_GRAY((short) 14);
21 |
22 | public static final short SPLASH = 16384;
23 |
24 | @Getter
25 | private final short data;
26 |
27 | PotionColor(short data)
28 | {
29 | this.data = data;
30 | }
31 |
32 | public short getSplashData()
33 | {
34 | return (short) (data + SPLASH);
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/reforge/HeroicReforge.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.reforge;
2 |
3 | import me.superischroma.spectaculation.item.GenericItemType;
4 | import me.superischroma.spectaculation.item.RarityValue;
5 |
6 | import java.util.Collections;
7 | import java.util.List;
8 |
9 | public class HeroicReforge implements Reforge
10 | {
11 | @Override
12 | public String getName()
13 | {
14 | return "Heroic";
15 | }
16 |
17 | @Override
18 | public RarityValue getStrength()
19 | {
20 | return new RarityValue<>(15.0, 20.0, 25.0, 32.0, 40.0, 50.0);
21 | }
22 |
23 | @Override
24 | public RarityValue getIntelligence()
25 | {
26 | return new RarityValue<>(40.0, 50.0, 65.0, 80.0, 100.0, 125.0);
27 | }
28 |
29 | @Override
30 | public List getCompatibleTypes()
31 | {
32 | return Collections.singletonList(GenericItemType.WEAPON);
33 | }
34 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/reforge/OverpoweredReforge.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.reforge;
2 |
3 | import me.superischroma.spectaculation.item.RarityValue;
4 |
5 | // sort of a test reforge
6 | public class OverpoweredReforge implements Reforge
7 | {
8 | @Override
9 | public String getName()
10 | {
11 | return "Overpowered";
12 | }
13 |
14 | @Override
15 | public RarityValue getStrength()
16 | {
17 | return RarityValue.singleDouble(1000.0);
18 | }
19 |
20 | @Override
21 | public RarityValue getCritChance()
22 | {
23 | return RarityValue.singleDouble(0.5);
24 | }
25 |
26 | @Override
27 | public RarityValue getCritDamage()
28 | {
29 | return RarityValue.singleDouble(2.0);
30 | }
31 |
32 | @Override
33 | public RarityValue getIntelligence()
34 | {
35 | return RarityValue.singleDouble(500.0);
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/reforge/RapidReforge.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.reforge;
2 |
3 | import me.superischroma.spectaculation.item.GenericItemType;
4 | import me.superischroma.spectaculation.item.RarityValue;
5 |
6 | import java.util.Collections;
7 | import java.util.List;
8 |
9 | public class RapidReforge implements Reforge
10 | {
11 | @Override
12 | public String getName()
13 | {
14 | return "Rapid";
15 | }
16 |
17 | @Override
18 | public RarityValue getStrength()
19 | {
20 | return new RarityValue<>(2.0, 3.0, 4.0, 7.0, 10.0, 15.0);
21 | }
22 |
23 | @Override
24 | public RarityValue getCritDamage()
25 | {
26 | return new RarityValue<>(0.35, 0.45, 0.55, 0.65, 0.75, 0.9);
27 | }
28 |
29 | @Override
30 | public List getCompatibleTypes()
31 | {
32 | return Collections.singletonList(GenericItemType.RANGED_WEAPON);
33 | }
34 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/reforge/Reforge.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.reforge;
2 |
3 | import me.superischroma.spectaculation.item.GenericItemType;
4 | import me.superischroma.spectaculation.item.RarityValue;
5 |
6 | import java.util.Arrays;
7 | import java.util.List;
8 |
9 | public interface Reforge
10 | {
11 | String getName();
12 |
13 | default RarityValue getStrength()
14 | {
15 | return RarityValue.zeroDouble();
16 | }
17 |
18 | default RarityValue getCritChance()
19 | {
20 | return RarityValue.zeroDouble();
21 | }
22 |
23 | default RarityValue getCritDamage()
24 | {
25 | return RarityValue.zeroDouble();
26 | }
27 |
28 | default RarityValue getIntelligence()
29 | {
30 | return RarityValue.zeroDouble();
31 | }
32 |
33 | default List getCompatibleTypes()
34 | {
35 | return Arrays.asList(GenericItemType.values());
36 | }
37 |
38 | static Reforge blank()
39 | {
40 | return () -> "Blank";
41 | }
42 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/reforge/SpicyReforge.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.reforge;
2 |
3 | import me.superischroma.spectaculation.item.GenericItemType;
4 | import me.superischroma.spectaculation.item.RarityValue;
5 |
6 | import java.util.Collections;
7 | import java.util.List;
8 |
9 | public class SpicyReforge implements Reforge
10 | {
11 | @Override
12 | public String getName()
13 | {
14 | return "Spicy";
15 | }
16 |
17 | @Override
18 | public RarityValue getStrength()
19 | {
20 | return new RarityValue<>(2.0, 3.0, 4.0, 7.0, 10.0, 12.0);
21 | }
22 |
23 | @Override
24 | public RarityValue getCritChance()
25 | {
26 | return RarityValue.singleDouble(0.01);
27 | }
28 |
29 | @Override
30 | public RarityValue getCritDamage()
31 | {
32 | return new RarityValue<>(0.25, 0.35, 0.45, 0.6, 0.8, 1.0);
33 | }
34 |
35 | @Override
36 | public List getCompatibleTypes()
37 | {
38 | return Collections.singletonList(GenericItemType.WEAPON);
39 | }
40 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/reforge/SupergeniusReforge.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.reforge;
2 |
3 | import me.superischroma.spectaculation.item.RarityValue;
4 |
5 | public class SupergeniusReforge implements Reforge
6 | {
7 | @Override
8 | public String getName()
9 | {
10 | return "Supergenius";
11 | }
12 |
13 | @Override
14 | public RarityValue getIntelligence()
15 | {
16 | return RarityValue.singleDouble(1000000.0);
17 | }
18 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/region/RegionGenerator.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.region;
2 |
3 | import lombok.Getter;
4 | import lombok.Setter;
5 | import org.bukkit.Location;
6 |
7 | @Getter
8 | public class RegionGenerator
9 | {
10 | private final String modificationType;
11 | @Setter
12 | private String name;
13 | @Setter
14 | private Location firstLocation;
15 | @Setter
16 | private Location secondLocation;
17 | @Setter
18 | private RegionType type;
19 | @Setter
20 | private int phase;
21 |
22 | public RegionGenerator(String modificationType, String name, RegionType type)
23 | {
24 | this.modificationType = modificationType;
25 | this.name = name;
26 | this.type = type;
27 | this.phase = 1;
28 | }
29 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/sequence/Sequence.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.sequence;
2 |
3 | import org.bukkit.Location;
4 | import org.bukkit.entity.Entity;
5 |
6 | public interface Sequence
7 | {
8 | void play(Location location);
9 | void play(Entity entity);
10 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/user/PlayerStatistic.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.user;
2 |
3 | public interface PlayerStatistic
4 | {
5 | int HELMET = 0, CHESTPLATE = 1, LEGGINGS = 2, BOOTS = 3, HAND = 4, SET = 5, BOOST = 6, PET = 7, MINER_BUFF = 8, OBSIDIAN_CHESTPLATE = 9,
6 | FARMING = 10, MINING = 11, COMBAT = 12, FORAGING = 13, ADD_FOR_INVENTORY = 14, ADD_FOR_POTION_EFFECTS = 51;
7 |
8 | T addAll();
9 | void add(int slot, T t);
10 | void sub(int slot, T t);
11 | void zero(int slot);
12 | boolean contains(int slot);
13 | T safeGet(int index);
14 | void set(int slot, T t);
15 | int next();
16 | T getFor(int slot);
17 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/util/DefenseReplacement.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.util;
2 |
3 | public interface DefenseReplacement
4 | {
5 | String getReplacement();
6 | long getEnd();
7 | }
8 |
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/util/SLog.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.util;
2 |
3 | import java.util.logging.Level;
4 | import java.util.logging.Logger;
5 |
6 | public class SLog
7 | {
8 | private static final Logger LOGGER = Logger.getLogger("Minecraft");
9 | private static final String PREFIX = "[Spectaculation]";
10 |
11 | private static void log(Object o, Level l)
12 | {
13 | LOGGER.log(l, PREFIX + " " + o);
14 | }
15 |
16 | public static void info(Object o)
17 | {
18 | log(o, Level.INFO);
19 | }
20 |
21 | public static void warn(Object o)
22 | {
23 | log(o, Level.WARNING);
24 | }
25 |
26 | public static void severe(Object o)
27 | {
28 | log(o, Level.SEVERE);
29 | }
30 | }
--------------------------------------------------------------------------------
/src/main/java/me/superischroma/spectaculation/util/TriConsumer.java:
--------------------------------------------------------------------------------
1 | package me.superischroma.spectaculation.util;
2 |
3 | public interface TriConsumer
4 | {
5 | void accept(T t, U u, V v);
6 | default TriConsumer andThen(TriConsumer super T, ? super U, ? super V> after)
7 | {
8 | return null;
9 | }
10 | }
--------------------------------------------------------------------------------
/src/main/resources/blocks.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajaxvp/Spectaculation/05ad51d7141c9fe892209bc1ada77e3e8cc86290/src/main/resources/blocks.yml
--------------------------------------------------------------------------------
/src/main/resources/config.yml:
--------------------------------------------------------------------------------
1 | hub_world: ''
2 | islands:
3 | x: 0
4 | z: 0
5 | schematic: ''
--------------------------------------------------------------------------------
/src/main/resources/database.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajaxvp/Spectaculation/05ad51d7141c9fe892209bc1ada77e3e8cc86290/src/main/resources/database.db
--------------------------------------------------------------------------------
/src/main/resources/heads.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajaxvp/Spectaculation/05ad51d7141c9fe892209bc1ada77e3e8cc86290/src/main/resources/heads.yml
--------------------------------------------------------------------------------
/src/main/resources/plugin.yml:
--------------------------------------------------------------------------------
1 | name: Spectaculation
2 | version: ${project.version}
3 | main: me.superischroma.spectaculation.Spectaculation
4 | authors: [ super ]
5 | description: ridiculousness
6 |
--------------------------------------------------------------------------------
/src/main/resources/spawners.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajaxvp/Spectaculation/05ad51d7141c9fe892209bc1ada77e3e8cc86290/src/main/resources/spawners.yml
--------------------------------------------------------------------------------
/src/main/resources/test.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajaxvp/Spectaculation/05ad51d7141c9fe892209bc1ada77e3e8cc86290/src/main/resources/test.yml
--------------------------------------------------------------------------------