├── .adr-dir ├── .editorconfig ├── .git-hooks └── pre-commit ├── .gitattributes ├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── bug-report.yml │ ├── config.yml │ └── translation-report.yml ├── PULL_REQUEST_TEMPLATE.md ├── dependabot.yml ├── pull.yml └── workflows │ ├── build-ci.yml │ ├── dev-ci.yml │ ├── e2e-testing.yml │ └── pr-checker.yml ├── .gitignore ├── .mvn ├── extensions.xml ├── jvm.config ├── maven-git-versioning-extension.xml ├── settings.xml └── wrapper │ └── maven-wrapper.properties ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── docs ├── adr │ ├── 0001-storage-layer.md │ └── README.md └── sop │ └── update.md ├── jitpack.yml ├── mvnw ├── mvnw.cmd ├── pom.xml ├── renovate.json └── src └── main ├── java ├── city │ └── norain │ │ └── slimefun4 │ │ ├── EnvironmentChecker.java │ │ ├── SlimefunExtended.java │ │ ├── VaultIntegration.java │ │ ├── api │ │ └── menu │ │ │ ├── UniversalMenu.java │ │ │ └── UniversalMenuPreset.java │ │ ├── compatibillty │ │ ├── VersionedAttribute.java │ │ └── VersionedEvent.java │ │ ├── holder │ │ └── SlimefunInventoryHolder.java │ │ ├── listener │ │ └── SlimefunMigrateListener.java │ │ ├── timings │ │ ├── SQLProfiler.java │ │ └── entry │ │ │ ├── SQLEntry.java │ │ │ └── TimingEntry.java │ │ └── utils │ │ ├── EnvUtil.java │ │ ├── InventoryUtil.java │ │ ├── LangUtil.java │ │ ├── MathUtil.java │ │ ├── StringUtil.java │ │ ├── TaskTimer.java │ │ └── TaskUtil.java ├── com │ └── xzavier0722 │ │ └── mc │ │ └── plugin │ │ └── slimefun4 │ │ ├── autocrafter │ │ ├── ChestInventoryParser.java │ │ ├── CrafterInteractable.java │ │ ├── CrafterInteractorHandler.java │ │ ├── CrafterInteractorManager.java │ │ ├── CrafterSmartPort.java │ │ └── CrafterSmartPortParser.java │ │ ├── chat │ │ ├── PlayerChatCatcher.java │ │ └── listener │ │ │ └── PlayerChatListener.java │ │ └── storage │ │ ├── adapter │ │ ├── IDataSourceAdapter.java │ │ ├── mysql │ │ │ ├── MysqlAdapter.java │ │ │ └── MysqlConfig.java │ │ ├── postgresql │ │ │ ├── PostgreSqlAdapter.java │ │ │ └── PostgreSqlConfig.java │ │ ├── sqlcommon │ │ │ ├── ConnectionPool.java │ │ │ ├── ISqlCommonConfig.java │ │ │ ├── SqlCommonAdapter.java │ │ │ ├── SqlCommonConfig.java │ │ │ ├── SqlConstants.java │ │ │ └── SqlUtils.java │ │ └── sqlite │ │ │ ├── SqliteAdapter.java │ │ │ └── SqliteConfig.java │ │ ├── callback │ │ └── IAsyncReadCallback.java │ │ ├── common │ │ ├── DataScope.java │ │ ├── DataType.java │ │ ├── FieldKey.java │ │ ├── FieldMapper.java │ │ ├── RecordKey.java │ │ ├── RecordSet.java │ │ └── ScopeKey.java │ │ ├── controller │ │ ├── ADataContainer.java │ │ ├── ADataController.java │ │ ├── ASlimefunDataContainer.java │ │ ├── BackpackCache.java │ │ ├── BlockDataConfigWrapper.java │ │ ├── BlockDataController.java │ │ ├── ChunkDataLoadMode.java │ │ ├── ChunkKey.java │ │ ├── ControllerHolder.java │ │ ├── LinkedKey.java │ │ ├── LocationKey.java │ │ ├── ProfileDataController.java │ │ ├── ScopedLock.java │ │ ├── SlimefunBlockData.java │ │ ├── SlimefunChunkData.java │ │ ├── SlimefunUniversalBlockData.java │ │ ├── SlimefunUniversalData.java │ │ ├── StorageType.java │ │ ├── UUIDKey.java │ │ └── attributes │ │ │ ├── UniversalBlock.java │ │ │ └── UniversalDataTrait.java │ │ ├── event │ │ └── SlimefunChunkDataLoadEvent.java │ │ ├── listener │ │ ├── ChunkListener.java │ │ └── WorldListener.java │ │ ├── migrator │ │ ├── BlockStorageMigrator.java │ │ ├── IMigrator.java │ │ ├── MigrateStatus.java │ │ ├── MigratorUtil.java │ │ └── PlayerProfileMigrator.java │ │ ├── patch │ │ ├── DatabasePatch.java │ │ ├── DatabasePatchV1.java │ │ └── DatabasePatchV2.java │ │ ├── task │ │ ├── DatabaseThreadFactory.java │ │ ├── DelayedSavingLooperTask.java │ │ ├── DelayedTask.java │ │ └── QueuedWriteTask.java │ │ └── util │ │ ├── DataUtils.java │ │ ├── InvStorageUtils.java │ │ ├── LocationUtils.java │ │ ├── NumUtils.java │ │ └── StorageCacheUtils.java ├── io │ └── github │ │ └── thebusybiscuit │ │ └── slimefun4 │ │ ├── api │ │ ├── ErrorReport.java │ │ ├── MinecraftVersion.java │ │ ├── SlimefunAddon.java │ │ ├── SlimefunBranch.java │ │ ├── events │ │ │ ├── AncientAltarCraftEvent.java │ │ │ ├── AndroidFarmEvent.java │ │ │ ├── AndroidMineEvent.java │ │ │ ├── AsyncAutoEnchanterProcessEvent.java │ │ │ ├── AsyncMachineOperationFinishEvent.java │ │ │ ├── AsyncProfileLoadEvent.java │ │ │ ├── AutoDisenchantEvent.java │ │ │ ├── AutoEnchantEvent.java │ │ │ ├── BlockPlacerPlaceEvent.java │ │ │ ├── ClimbingPickLaunchEvent.java │ │ │ ├── CoolerFeedPlayerEvent.java │ │ │ ├── ExplosiveToolBreakBlocksEvent.java │ │ │ ├── GEOResourceGenerationEvent.java │ │ │ ├── MultiBlockCraftEvent.java │ │ │ ├── MultiBlockInteractEvent.java │ │ │ ├── PlayerLanguageChangeEvent.java │ │ │ ├── PlayerPreResearchEvent.java │ │ │ ├── PlayerRightClickEvent.java │ │ │ ├── ReactorExplodeEvent.java │ │ │ ├── ResearchUnlockEvent.java │ │ │ ├── SlimefunBlockBreakEvent.java │ │ │ ├── SlimefunBlockPlaceEvent.java │ │ │ ├── SlimefunGuideOpenEvent.java │ │ │ ├── SlimefunItemRegistryFinalizedEvent.java │ │ │ ├── SlimefunItemSpawnEvent.java │ │ │ ├── TalismanActivateEvent.java │ │ │ ├── WaypointCreateEvent.java │ │ │ └── package-info.java │ │ ├── exceptions │ │ │ ├── BiomeMapException.java │ │ │ ├── IdConflictException.java │ │ │ ├── IncompatibleItemHandlerException.java │ │ │ ├── MissingDependencyException.java │ │ │ ├── PrematureCodeException.java │ │ │ ├── TagMisconfigurationException.java │ │ │ ├── UnregisteredItemException.java │ │ │ ├── WrongItemStackException.java │ │ │ └── package-info.java │ │ ├── geo │ │ │ ├── GEOResource.java │ │ │ ├── ResourceManager.java │ │ │ └── package-info.java │ │ ├── gps │ │ │ ├── GPSNetwork.java │ │ │ ├── TeleportationManager.java │ │ │ ├── Waypoint.java │ │ │ └── package-info.java │ │ ├── items │ │ │ ├── HashedArmorpiece.java │ │ │ ├── ItemGroup.java │ │ │ ├── ItemHandler.java │ │ │ ├── ItemSetting.java │ │ │ ├── ItemSpawnReason.java │ │ │ ├── ItemState.java │ │ │ ├── SlimefunItem.java │ │ │ ├── SlimefunItemStack.java │ │ │ ├── groups │ │ │ │ ├── FlexItemGroup.java │ │ │ │ ├── LockedItemGroup.java │ │ │ │ ├── NestedItemGroup.java │ │ │ │ ├── SeasonalItemGroup.java │ │ │ │ ├── SubItemGroup.java │ │ │ │ └── package-info.java │ │ │ ├── package-info.java │ │ │ └── settings │ │ │ │ ├── DoubleRangeSetting.java │ │ │ │ ├── EnumSetting.java │ │ │ │ ├── IntRangeSetting.java │ │ │ │ ├── MaterialTagSetting.java │ │ │ │ └── package-info.java │ │ ├── network │ │ │ ├── Network.java │ │ │ ├── NetworkComponent.java │ │ │ ├── NetworkVisualizer.java │ │ │ └── package-info.java │ │ ├── package-info.java │ │ ├── player │ │ │ ├── PlayerBackpack.java │ │ │ ├── PlayerProfile.java │ │ │ ├── StatusEffect.java │ │ │ └── package-info.java │ │ ├── recipes │ │ │ ├── RecipeType.java │ │ │ └── package-info.java │ │ └── researches │ │ │ ├── PlayerResearchTask.java │ │ │ ├── Research.java │ │ │ └── package-info.java │ │ ├── core │ │ ├── SlimefunRegistry.java │ │ ├── attributes │ │ │ ├── DamageableItem.java │ │ │ ├── DistinctiveItem.java │ │ │ ├── EnergyNetComponent.java │ │ │ ├── EnergyNetProvider.java │ │ │ ├── ExternallyInteractable.java │ │ │ ├── HologramOwner.java │ │ │ ├── ItemAttribute.java │ │ │ ├── MachineProcessHolder.java │ │ │ ├── MachineTier.java │ │ │ ├── MachineType.java │ │ │ ├── NotConfigurable.java │ │ │ ├── NotHopperable.java │ │ │ ├── NotPlaceable.java │ │ │ ├── PiglinBarterDrop.java │ │ │ ├── Placeable.java │ │ │ ├── ProtectionType.java │ │ │ ├── ProtectiveArmor.java │ │ │ ├── RadiationSymptom.java │ │ │ ├── Radioactive.java │ │ │ ├── Radioactivity.java │ │ │ ├── RandomMobDrop.java │ │ │ ├── Rechargeable.java │ │ │ ├── RecipeDisplayItem.java │ │ │ ├── Soulbound.java │ │ │ ├── WitherProof.java │ │ │ ├── interactions │ │ │ │ ├── InteractionResult.java │ │ │ │ ├── ItemInteractionResult.java │ │ │ │ └── package-info.java │ │ │ ├── package-info.java │ │ │ └── rotations │ │ │ │ ├── NotCardinallyRotatable.java │ │ │ │ ├── NotDiagonallyRotatable.java │ │ │ │ └── NotRotatable.java │ │ ├── commands │ │ │ ├── SlimefunCommand.java │ │ │ ├── SlimefunTabCompleter.java │ │ │ ├── SubCommand.java │ │ │ ├── package-info.java │ │ │ └── subcommands │ │ │ │ ├── BackpackCommand.java │ │ │ │ ├── BanItemCommand.java │ │ │ │ ├── BlockDataCommand.java │ │ │ │ ├── ChargeCommand.java │ │ │ │ ├── CheatCommand.java │ │ │ │ ├── ClearDataCommand.java │ │ │ │ ├── DebugCommand.java │ │ │ │ ├── DebugFishCommand.java │ │ │ │ ├── GiveCommand.java │ │ │ │ ├── GuideCommand.java │ │ │ │ ├── HelpCommand.java │ │ │ │ ├── ItemIdCommand.java │ │ │ │ ├── MigrateCommand.java │ │ │ │ ├── OpenGuideCommand.java │ │ │ │ ├── ReloadCommand.java │ │ │ │ ├── ResearchCommand.java │ │ │ │ ├── SearchCommand.java │ │ │ │ ├── SlimefunSubCommands.java │ │ │ │ ├── StatsCommand.java │ │ │ │ ├── TeleporterCommand.java │ │ │ │ ├── TimingsCommand.java │ │ │ │ ├── UnbanItemCommand.java │ │ │ │ ├── VersionsCommand.java │ │ │ │ └── package-info.java │ │ ├── config │ │ │ ├── SlimefunConfigManager.java │ │ │ └── SlimefunDatabaseManager.java │ │ ├── debug │ │ │ ├── Debug.java │ │ │ ├── TestCase.java │ │ │ └── package-info.java │ │ ├── guide │ │ │ ├── GuideEntry.java │ │ │ ├── GuideHistory.java │ │ │ ├── SlimefunGuide.java │ │ │ ├── SlimefunGuideImplementation.java │ │ │ ├── SlimefunGuideMode.java │ │ │ ├── options │ │ │ │ ├── ContributorsMenu.java │ │ │ │ ├── FireworksOption.java │ │ │ │ ├── GuideModeOption.java │ │ │ │ ├── LearningAnimationOption.java │ │ │ │ ├── PlayerLanguageOption.java │ │ │ │ ├── SlimefunGuideOption.java │ │ │ │ ├── SlimefunGuideSettings.java │ │ │ │ └── package-info.java │ │ │ └── package-info.java │ │ ├── handlers │ │ │ ├── BlockBreakHandler.java │ │ │ ├── BlockDispenseHandler.java │ │ │ ├── BlockPlaceHandler.java │ │ │ ├── BlockUseHandler.java │ │ │ ├── BowShootHandler.java │ │ │ ├── EntityInteractHandler.java │ │ │ ├── EntityKillHandler.java │ │ │ ├── GlobalItemHandler.java │ │ │ ├── ItemConsumptionHandler.java │ │ │ ├── ItemDropHandler.java │ │ │ ├── ItemUseHandler.java │ │ │ ├── MultiBlockInteractionHandler.java │ │ │ ├── RainbowTickHandler.java │ │ │ ├── ToolUseHandler.java │ │ │ ├── WeaponUseHandler.java │ │ │ └── package-info.java │ │ ├── machines │ │ │ ├── MachineOperation.java │ │ │ ├── MachineProcessor.java │ │ │ └── package-info.java │ │ ├── multiblocks │ │ │ ├── MultiBlock.java │ │ │ ├── MultiBlockMachine.java │ │ │ └── package-info.java │ │ ├── networks │ │ │ ├── NetworkManager.java │ │ │ ├── cargo │ │ │ │ ├── AbstractItemNetwork.java │ │ │ │ ├── CargoNet.java │ │ │ │ ├── CargoNetworkTask.java │ │ │ │ ├── CargoUtils.java │ │ │ │ ├── ItemFilter.java │ │ │ │ ├── ItemStackAndInteger.java │ │ │ │ └── package-info.java │ │ │ ├── energy │ │ │ │ ├── EnergyNet.java │ │ │ │ ├── EnergyNetComponentType.java │ │ │ │ └── package-info.java │ │ │ └── package-info.java │ │ ├── package-info.java │ │ ├── services │ │ │ ├── AnalyticsService.java │ │ │ ├── AutoSavingService.java │ │ │ ├── BackupService.java │ │ │ ├── BlockDataService.java │ │ │ ├── CustomItemDataService.java │ │ │ ├── CustomTextureService.java │ │ │ ├── LocalizationService.java │ │ │ ├── MetricsService.java │ │ │ ├── MinecraftRecipeService.java │ │ │ ├── PerWorldSettingsService.java │ │ │ ├── PermissionsService.java │ │ │ ├── ThreadService.java │ │ │ ├── UpdaterService.java │ │ │ ├── github │ │ │ │ ├── ActivityCallback.java │ │ │ │ ├── ContributionsConnector.java │ │ │ │ ├── Contributor.java │ │ │ │ ├── ContributorRole.java │ │ │ │ ├── GitHubActivityConnector.java │ │ │ │ ├── GitHubConnector.java │ │ │ │ ├── GitHubIssuesConnector.java │ │ │ │ ├── GitHubService.java │ │ │ │ ├── GitHubTask.java │ │ │ │ ├── IssuesCallback.java │ │ │ │ ├── TranslatorsReader.java │ │ │ │ └── package-info.java │ │ │ ├── holograms │ │ │ │ ├── Hologram.java │ │ │ │ ├── HologramsService.java │ │ │ │ └── package-info.java │ │ │ ├── localization │ │ │ │ ├── Language.java │ │ │ │ ├── LanguageFile.java │ │ │ │ ├── LanguagePreset.java │ │ │ │ ├── SlimefunLocalization.java │ │ │ │ ├── TextDirection.java │ │ │ │ └── package-info.java │ │ │ ├── package-info.java │ │ │ ├── profiler │ │ │ │ ├── PerformanceInspector.java │ │ │ │ ├── PerformanceRating.java │ │ │ │ ├── PerformanceSummary.java │ │ │ │ ├── ProfiledBlock.java │ │ │ │ ├── SlimefunProfiler.java │ │ │ │ ├── SlimefunThreadFactory.java │ │ │ │ ├── SummaryOrderType.java │ │ │ │ ├── inspectors │ │ │ │ │ ├── ConsolePerformanceInspector.java │ │ │ │ │ ├── PlayerPerformanceInspector.java │ │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ └── sounds │ │ │ │ ├── SoundConfiguration.java │ │ │ │ ├── SoundEffect.java │ │ │ │ ├── SoundService.java │ │ │ │ └── package-info.java │ │ └── ticker │ │ │ └── TickLocation.java │ │ ├── implementation │ │ ├── Slimefun.java │ │ ├── SlimefunItems.java │ │ ├── StartupWarnings.java │ │ ├── guide │ │ │ ├── CheatSheetSlimefunGuide.java │ │ │ ├── SurvivalSlimefunGuide.java │ │ │ └── package-info.java │ │ ├── handlers │ │ │ ├── SimpleBlockBreakHandler.java │ │ │ ├── VanillaInventoryDropHandler.java │ │ │ └── package-info.java │ │ ├── items │ │ │ ├── EnchantedItem.java │ │ │ ├── HiddenItem.java │ │ │ ├── LimitedUseItem.java │ │ │ ├── RadioactiveItem.java │ │ │ ├── SimpleSlimefunItem.java │ │ │ ├── VanillaItem.java │ │ │ ├── altar │ │ │ │ ├── AltarRecipe.java │ │ │ │ ├── AncientAltar.java │ │ │ │ ├── AncientPedestal.java │ │ │ │ └── package-info.java │ │ │ ├── androids │ │ │ │ ├── AndroidAction.java │ │ │ │ ├── AndroidFuelSource.java │ │ │ │ ├── AndroidInstance.java │ │ │ │ ├── AndroidInterface.java │ │ │ │ ├── AndroidType.java │ │ │ │ ├── ButcherAndroid.java │ │ │ │ ├── FarmerAndroid.java │ │ │ │ ├── FishermanAndroid.java │ │ │ │ ├── Instruction.java │ │ │ │ ├── MinerAndroid.java │ │ │ │ ├── ProgrammableAndroid.java │ │ │ │ ├── Script.java │ │ │ │ ├── WoodcutterAndroid.java │ │ │ │ ├── menu │ │ │ │ │ └── AndroidShareMenu.java │ │ │ │ └── package-info.java │ │ │ ├── armor │ │ │ │ ├── ElytraCap.java │ │ │ │ ├── EnderBoots.java │ │ │ │ ├── FarmerShoes.java │ │ │ │ ├── HazmatArmorPiece.java │ │ │ │ ├── LongFallBoots.java │ │ │ │ ├── Parachute.java │ │ │ │ ├── RainbowArmorPiece.java │ │ │ │ ├── SlimefunArmorPiece.java │ │ │ │ ├── StomperBoots.java │ │ │ │ └── package-info.java │ │ │ ├── autocrafters │ │ │ │ ├── AbstractAutoCrafter.java │ │ │ │ ├── AbstractRecipe.java │ │ │ │ ├── ArmorAutoCrafter.java │ │ │ │ ├── EnhancedAutoCrafter.java │ │ │ │ ├── SlimefunAutoCrafter.java │ │ │ │ ├── SlimefunItemRecipe.java │ │ │ │ ├── VanillaAutoCrafter.java │ │ │ │ ├── VanillaRecipe.java │ │ │ │ └── package-info.java │ │ │ ├── backpacks │ │ │ │ ├── Cooler.java │ │ │ │ ├── EnderBackpack.java │ │ │ │ ├── RestoredBackpack.java │ │ │ │ ├── SlimefunBackpack.java │ │ │ │ ├── SoulboundBackpack.java │ │ │ │ └── package-info.java │ │ │ ├── blocks │ │ │ │ ├── AbstractMonsterSpawner.java │ │ │ │ ├── BlockPlacer.java │ │ │ │ ├── BrokenSpawner.java │ │ │ │ ├── Composter.java │ │ │ │ ├── Crucible.java │ │ │ │ ├── EnhancedFurnace.java │ │ │ │ ├── HardenedGlass.java │ │ │ │ ├── HologramProjector.java │ │ │ │ ├── IgnitionChamber.java │ │ │ │ ├── OutputChest.java │ │ │ │ ├── RainbowBlock.java │ │ │ │ ├── RepairedSpawner.java │ │ │ │ ├── UnplaceableBlock.java │ │ │ │ ├── WitherProofBlock.java │ │ │ │ └── package-info.java │ │ │ ├── cargo │ │ │ │ ├── AbstractCargoNode.java │ │ │ │ ├── AbstractFilterNode.java │ │ │ │ ├── AdvancedCargoOutputNode.java │ │ │ │ ├── CargoConnectorNode.java │ │ │ │ ├── CargoInputNode.java │ │ │ │ ├── CargoManager.java │ │ │ │ ├── CargoNode.java │ │ │ │ ├── CargoOutputNode.java │ │ │ │ ├── ReactorAccessPort.java │ │ │ │ ├── TrashCan.java │ │ │ │ └── package-info.java │ │ │ ├── electric │ │ │ │ ├── AbstractEnergyProvider.java │ │ │ │ ├── Capacitor.java │ │ │ │ ├── EnergyConnector.java │ │ │ │ ├── EnergyRegulator.java │ │ │ │ ├── gadgets │ │ │ │ │ ├── JetBoots.java │ │ │ │ │ ├── Jetpack.java │ │ │ │ │ ├── MultiTool.java │ │ │ │ │ ├── MultiToolMode.java │ │ │ │ │ ├── Multimeter.java │ │ │ │ │ ├── SolarHelmet.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── generators │ │ │ │ │ ├── BioGenerator.java │ │ │ │ │ ├── CoalGenerator.java │ │ │ │ │ ├── CombustionGenerator.java │ │ │ │ │ ├── LavaGenerator.java │ │ │ │ │ ├── MagnesiumGenerator.java │ │ │ │ │ ├── SolarGenerator.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── machines │ │ │ │ │ ├── AutoAnvil.java │ │ │ │ │ ├── AutoBrewer.java │ │ │ │ │ ├── AutoDrier.java │ │ │ │ │ ├── CarbonPress.java │ │ │ │ │ ├── ChargingBench.java │ │ │ │ │ ├── ElectricDustWasher.java │ │ │ │ │ ├── ElectricFurnace.java │ │ │ │ │ ├── ElectricGoldPan.java │ │ │ │ │ ├── ElectricIngotFactory.java │ │ │ │ │ ├── ElectricIngotPulverizer.java │ │ │ │ │ ├── ElectricOreGrinder.java │ │ │ │ │ ├── ElectricPress.java │ │ │ │ │ ├── ElectricSmeltery.java │ │ │ │ │ ├── ElectrifiedCrucible.java │ │ │ │ │ ├── FluidPump.java │ │ │ │ │ ├── FoodComposter.java │ │ │ │ │ ├── FoodFabricator.java │ │ │ │ │ ├── Freezer.java │ │ │ │ │ ├── HeatedPressureChamber.java │ │ │ │ │ ├── Refinery.java │ │ │ │ │ ├── accelerators │ │ │ │ │ │ ├── AbstractGrowthAccelerator.java │ │ │ │ │ │ ├── AnimalGrowthAccelerator.java │ │ │ │ │ │ ├── CropGrowthAccelerator.java │ │ │ │ │ │ ├── TreeGrowthAccelerator.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── enchanting │ │ │ │ │ │ ├── AbstractEnchantmentMachine.java │ │ │ │ │ │ ├── AutoDisenchanter.java │ │ │ │ │ │ ├── AutoEnchanter.java │ │ │ │ │ │ ├── BookBinder.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── entities │ │ │ │ │ │ ├── AbstractEntityAssembler.java │ │ │ │ │ │ ├── AnimalProduce.java │ │ │ │ │ │ ├── AutoBreeder.java │ │ │ │ │ │ ├── ExpCollector.java │ │ │ │ │ │ ├── IronGolemAssembler.java │ │ │ │ │ │ ├── ProduceCollector.java │ │ │ │ │ │ ├── WitherAssembler.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── package-info.java │ │ │ │ └── reactors │ │ │ │ │ ├── NetherStarReactor.java │ │ │ │ │ ├── NuclearReactor.java │ │ │ │ │ ├── Reactor.java │ │ │ │ │ ├── ReactorMode.java │ │ │ │ │ └── package-info.java │ │ │ ├── elevator │ │ │ │ ├── ElevatorFloor.java │ │ │ │ ├── ElevatorPlate.java │ │ │ │ └── package-info.java │ │ │ ├── food │ │ │ │ ├── BirthdayCake.java │ │ │ │ ├── DietCookie.java │ │ │ │ ├── FortuneCookie.java │ │ │ │ ├── HeavyCream.java │ │ │ │ ├── Juice.java │ │ │ │ ├── MagicSugar.java │ │ │ │ ├── MeatJerky.java │ │ │ │ ├── MonsterJerky.java │ │ │ │ └── package-info.java │ │ │ ├── geo │ │ │ │ ├── GEOMiner.java │ │ │ │ ├── GEOScanner.java │ │ │ │ ├── OilPump.java │ │ │ │ ├── PortableGEOScanner.java │ │ │ │ └── package-info.java │ │ │ ├── gps │ │ │ │ ├── GPSControlPanel.java │ │ │ │ ├── GPSMarkerTool.java │ │ │ │ ├── GPSTransmitter.java │ │ │ │ └── package-info.java │ │ │ ├── magical │ │ │ │ ├── BeeWings.java │ │ │ │ ├── InfernalBonemeal.java │ │ │ │ ├── InfusedHopper.java │ │ │ │ ├── InfusedMagnet.java │ │ │ │ ├── KnowledgeFlask.java │ │ │ │ ├── KnowledgeTome.java │ │ │ │ ├── MagicEyeOfEnder.java │ │ │ │ ├── MagicalZombiePills.java │ │ │ │ ├── SoulboundItem.java │ │ │ │ ├── TelepositionScroll.java │ │ │ │ ├── package-info.java │ │ │ │ ├── runes │ │ │ │ │ ├── ElementalRune.java │ │ │ │ │ ├── EnchantmentRune.java │ │ │ │ │ ├── SoulboundRune.java │ │ │ │ │ ├── VillagerRune.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── staves │ │ │ │ │ ├── StormStaff.java │ │ │ │ │ ├── WaterStaff.java │ │ │ │ │ ├── WindStaff.java │ │ │ │ │ └── package-info.java │ │ │ │ └── talismans │ │ │ │ │ ├── EnderTalisman.java │ │ │ │ │ ├── MagicianTalisman.java │ │ │ │ │ ├── Talisman.java │ │ │ │ │ └── package-info.java │ │ │ ├── medical │ │ │ │ ├── Bandage.java │ │ │ │ ├── MedicalSupply.java │ │ │ │ ├── Medicine.java │ │ │ │ ├── Splint.java │ │ │ │ ├── Vitamins.java │ │ │ │ └── package-info.java │ │ │ ├── misc │ │ │ │ ├── AlloyIngot.java │ │ │ │ ├── BasicCircuitBoard.java │ │ │ │ ├── CoolantCell.java │ │ │ │ ├── GoldIngot.java │ │ │ │ ├── OrganicFertilizer.java │ │ │ │ ├── OrganicFood.java │ │ │ │ ├── SteelThruster.java │ │ │ │ ├── StrangeNetherGoo.java │ │ │ │ ├── SyntheticEmerald.java │ │ │ │ └── package-info.java │ │ │ ├── multiblocks │ │ │ │ ├── AbstractCraftingTable.java │ │ │ │ ├── AbstractSmeltery.java │ │ │ │ ├── ArmorForge.java │ │ │ │ ├── AutomatedPanningMachine.java │ │ │ │ ├── Compressor.java │ │ │ │ ├── EnhancedCraftingTable.java │ │ │ │ ├── GrindStone.java │ │ │ │ ├── Juicer.java │ │ │ │ ├── MagicWorkbench.java │ │ │ │ ├── MakeshiftSmeltery.java │ │ │ │ ├── OreCrusher.java │ │ │ │ ├── OreWasher.java │ │ │ │ ├── PressureChamber.java │ │ │ │ ├── Smeltery.java │ │ │ │ ├── TableSaw.java │ │ │ │ ├── miner │ │ │ │ │ ├── AdvancedIndustrialMiner.java │ │ │ │ │ ├── IndustrialMiner.java │ │ │ │ │ ├── MinerStoppingReason.java │ │ │ │ │ ├── MiningTask.java │ │ │ │ │ ├── OreDictionary.java │ │ │ │ │ ├── OreDictionary16.java │ │ │ │ │ ├── OreDictionary17.java │ │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ ├── package-info.java │ │ │ ├── seasonal │ │ │ │ ├── ChristmasPresent.java │ │ │ │ ├── EasterEgg.java │ │ │ │ └── package-info.java │ │ │ ├── teleporter │ │ │ │ ├── AbstractTeleporterPlate.java │ │ │ │ ├── PersonalActivationPlate.java │ │ │ │ ├── PortableTeleporter.java │ │ │ │ ├── SharedActivationPlate.java │ │ │ │ ├── Teleporter.java │ │ │ │ ├── TeleporterPylon.java │ │ │ │ └── package-info.java │ │ │ ├── tools │ │ │ │ ├── ClimbingPick.java │ │ │ │ ├── ExplosivePickaxe.java │ │ │ │ ├── ExplosiveShovel.java │ │ │ │ ├── ExplosiveTool.java │ │ │ │ ├── GoldPan.java │ │ │ │ ├── GrapplingHook.java │ │ │ │ ├── LumberAxe.java │ │ │ │ ├── NetherGoldPan.java │ │ │ │ ├── PickaxeOfContainment.java │ │ │ │ ├── PickaxeOfTheSeeker.java │ │ │ │ ├── PickaxeOfVeinMining.java │ │ │ │ ├── PortableCrafter.java │ │ │ │ ├── PortableDustbin.java │ │ │ │ ├── SmeltersPickaxe.java │ │ │ │ ├── TapeMeasure.java │ │ │ │ └── package-info.java │ │ │ └── weapons │ │ │ │ ├── ExplosiveBow.java │ │ │ │ ├── IcyBow.java │ │ │ │ ├── SeismicAxe.java │ │ │ │ ├── SlimefunBow.java │ │ │ │ ├── SwordOfBeheading.java │ │ │ │ ├── VampireBlade.java │ │ │ │ └── package-info.java │ │ ├── listeners │ │ │ ├── AncientAltarListener.java │ │ │ ├── AutoCrafterListener.java │ │ │ ├── BackpackListener.java │ │ │ ├── BeeWingsListener.java │ │ │ ├── BlockListener.java │ │ │ ├── BlockPhysicsListener.java │ │ │ ├── ButcherAndroidListener.java │ │ │ ├── CargoNodeListener.java │ │ │ ├── CoolerListener.java │ │ │ ├── DeathpointListener.java │ │ │ ├── DebugFishListener.java │ │ │ ├── DispenserListener.java │ │ │ ├── ElytraImpactListener.java │ │ │ ├── EnhancedFurnaceListener.java │ │ │ ├── ExplosionsListener.java │ │ │ ├── GadgetsListener.java │ │ │ ├── GrapplingHookEntity.java │ │ │ ├── GrapplingHookListener.java │ │ │ ├── HopperListener.java │ │ │ ├── ItemDropListener.java │ │ │ ├── ItemPickupListener.java │ │ │ ├── JoinListener.java │ │ │ ├── MiddleClickListener.java │ │ │ ├── MiningAndroidListener.java │ │ │ ├── MultiBlockListener.java │ │ │ ├── NetworkListener.java │ │ │ ├── PlayerProfileListener.java │ │ │ ├── RadioactivityListener.java │ │ │ ├── SeismicAxeListener.java │ │ │ ├── SlimefunBootsListener.java │ │ │ ├── SlimefunBowListener.java │ │ │ ├── SlimefunGuideListener.java │ │ │ ├── SlimefunItemConsumeListener.java │ │ │ ├── SlimefunItemHitListener.java │ │ │ ├── SlimefunItemInteractListener.java │ │ │ ├── SoulboundListener.java │ │ │ ├── TalismanListener.java │ │ │ ├── TeleporterListener.java │ │ │ ├── VillagerTradingListener.java │ │ │ ├── crafting │ │ │ │ ├── AnvilListener.java │ │ │ │ ├── BrewingStandListener.java │ │ │ │ ├── CartographyTableListener.java │ │ │ │ ├── CauldronListener.java │ │ │ │ ├── CraftingTableListener.java │ │ │ │ ├── GrindstoneListener.java │ │ │ │ ├── SlimefunCraftingListener.java │ │ │ │ ├── SmithingTableListener.java │ │ │ │ ├── VanillaCrafterListener.java │ │ │ │ └── package-info.java │ │ │ ├── entity │ │ │ │ ├── BeeListener.java │ │ │ │ ├── EntityInteractionListener.java │ │ │ │ ├── FireworksListener.java │ │ │ │ ├── IronGolemListener.java │ │ │ │ ├── MobDropListener.java │ │ │ │ ├── PiglinListener.java │ │ │ │ ├── WitherListener.java │ │ │ │ └── package-info.java │ │ │ └── package-info.java │ │ ├── operations │ │ │ ├── CraftingOperation.java │ │ │ ├── FuelOperation.java │ │ │ ├── GEOMiningOperation.java │ │ │ ├── MiningOperation.java │ │ │ └── package-info.java │ │ ├── package-info.java │ │ ├── resources │ │ │ ├── AbstractResource.java │ │ │ ├── GEOResourcesSetup.java │ │ │ ├── NetherIceResource.java │ │ │ ├── OilResource.java │ │ │ ├── SaltResource.java │ │ │ ├── UraniumResource.java │ │ │ └── package-info.java │ │ ├── settings │ │ │ ├── ClimbableSurface.java │ │ │ ├── GoldPanDrop.java │ │ │ ├── TalismanEnchantment.java │ │ │ └── package-info.java │ │ ├── setup │ │ │ ├── DefaultItemGroups.java │ │ │ ├── PostSetup.java │ │ │ ├── ResearchSetup.java │ │ │ ├── RickFlexGroup.java │ │ │ ├── SlimefunItemSetup.java │ │ │ └── package-info.java │ │ └── tasks │ │ │ ├── AncientAltarTask.java │ │ │ ├── ArmorTask.java │ │ │ ├── AsyncRecipeChoiceTask.java │ │ │ ├── CapacitorTextureUpdateTask.java │ │ │ ├── SlimefunStartupTask.java │ │ │ ├── TickerTask.java │ │ │ ├── armor │ │ │ ├── AbstractArmorTask.java │ │ │ ├── RadiationTask.java │ │ │ ├── RainbowArmorTask.java │ │ │ ├── SlimefunArmorTask.java │ │ │ └── SolarHelmetTask.java │ │ │ ├── package-info.java │ │ │ └── player │ │ │ ├── AbstractPlayerTask.java │ │ │ ├── BeeWingsTask.java │ │ │ ├── InfusedMagnetTask.java │ │ │ ├── JetBootsTask.java │ │ │ ├── JetpackTask.java │ │ │ └── ParachuteTask.java │ │ ├── integrations │ │ ├── ClearLagIntegration.java │ │ ├── IntegrationsManager.java │ │ ├── McMMOIntegration.java │ │ ├── OrebfuscatorIntegration.java │ │ ├── PlaceholderAPIIntegration.java │ │ ├── WorldEditIntegration.java │ │ └── package-info.java │ │ ├── storage │ │ ├── Storage.java │ │ ├── backend │ │ │ └── legacy │ │ │ │ └── LegacyStorage.java │ │ └── data │ │ │ └── PlayerData.java │ │ └── utils │ │ ├── ArmorStandUtils.java │ │ ├── ChargeUtils.java │ │ ├── ChatUtils.java │ │ ├── ChestMenuUtils.java │ │ ├── ColoredMaterial.java │ │ ├── FileUtils.java │ │ ├── FireworkUtils.java │ │ ├── HeadTexture.java │ │ ├── InfiniteBlockGenerator.java │ │ ├── JsonUtils.java │ │ ├── LoreBuilder.java │ │ ├── NumberUtils.java │ │ ├── PatternUtils.java │ │ ├── RadiationUtils.java │ │ ├── SlimefunUtils.java │ │ ├── UnbreakingAlgorithm.java │ │ ├── biomes │ │ ├── BiomeDataConverter.java │ │ ├── BiomeMap.java │ │ ├── BiomeMapParser.java │ │ └── package-info.java │ │ ├── compatibility │ │ ├── VersionedEnchantment.java │ │ ├── VersionedEntityType.java │ │ ├── VersionedItemFlag.java │ │ ├── VersionedParticle.java │ │ ├── VersionedPotionEffectType.java │ │ └── VersionedPotionType.java │ │ ├── itemstack │ │ ├── ColoredFireworkStar.java │ │ ├── ItemStackWrapper.java │ │ ├── SlimefunGuideItem.java │ │ └── package-info.java │ │ ├── package-info.java │ │ └── tags │ │ ├── SlimefunTag.java │ │ ├── TagParser.java │ │ └── package-info.java ├── me │ └── mrCookieSlime │ │ ├── CSCoreLibPlugin │ │ ├── Configuration │ │ │ └── Config.java │ │ ├── general │ │ │ └── Inventory │ │ │ │ ├── ChestMenu.java │ │ │ │ ├── ClickAction.java │ │ │ │ └── MenuListener.java │ │ └── package-info.java │ │ ├── Slimefun │ │ ├── Objects │ │ │ ├── SlimefunBlockHandler.java │ │ │ ├── SlimefunItem │ │ │ │ ├── UnregisterReason.java │ │ │ │ ├── abstractItems │ │ │ │ │ ├── AContainer.java │ │ │ │ │ ├── AGenerator.java │ │ │ │ │ ├── MachineFuel.java │ │ │ │ │ └── MachineRecipe.java │ │ │ │ └── interfaces │ │ │ │ │ ├── DamageableItem.java │ │ │ │ │ └── InventoryBlock.java │ │ │ └── handlers │ │ │ │ └── BlockTicker.java │ │ ├── api │ │ │ ├── BlockInfoConfig.java │ │ │ ├── BlockStorage.java │ │ │ ├── EmptyBlockData.java │ │ │ ├── Slimefun.java │ │ │ ├── inventory │ │ │ │ ├── BlockMenu.java │ │ │ │ ├── BlockMenuPreset.java │ │ │ │ └── DirtyChestMenu.java │ │ │ └── item_transport │ │ │ │ └── ItemTransportFlow.java │ │ └── package-info.java │ │ └── package-info.java └── net │ └── guizhanss │ └── slimefun4 │ ├── updater │ └── AutoUpdateTask.java │ └── utils │ ├── ChatUtils.java │ └── WikiUtils.java └── resources ├── biome-maps ├── nether_ice_v1.16.json ├── oil_v1.16.json ├── oil_v1.18.json ├── salt_v1.16.json ├── salt_v1.18.json ├── uranium_v1.16.json ├── uranium_v1.17.json └── uranium_v1.18.json ├── block-storage.yml ├── config.yml ├── item-models.yml ├── languages ├── af │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── ar │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── be │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── bg │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── cs │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── da │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── de │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── el │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── en │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── es │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── fa │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── fi │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── fr │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── he │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── hi │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── hr │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── hu │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── id │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── it │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── ja │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── ko │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── lt │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── lv │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── mk │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── ms │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── nl │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── no │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── pl │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── pt-BR │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── pt │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── ro │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── ru │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── si │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── sk │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── sv │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── th │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── tl │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── tr │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── translators.json ├── uk │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── vi │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── zh-CN │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── zh-TW │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml └── zh │ ├── categories.yml │ ├── messages.yml │ ├── recipes.yml │ ├── researches.yml │ └── resources.yml ├── plugin.yml ├── profile-storage.yml ├── tags ├── auto_crafter_supported_storage_blocks.json ├── block_placer_ignored_materials.json ├── cargo_supported_storage_blocks.json ├── caveman_talisman_triggers.json ├── climbing_pick_strong_surfaces.json ├── climbing_pick_surfaces.json ├── climbing_pick_weak_surfaces.json ├── command_blocks.json ├── concrete_powders.json ├── crop_growth_accelerator_blocks.json ├── deepslate_ores.json ├── dirt_variants.json ├── enhanced_furnace_luck_materials.json ├── explosive_shovel_blocks.json ├── farmer_talisman_triggers.json ├── fluid_sensitive_materials.json ├── fungus_soil.json ├── glass.json ├── glass_blocks.json ├── glass_panes.json ├── gravity_affected_blocks.json ├── ice_variants.json ├── industrial_miner_ores.json ├── leather_armor.json ├── mangrove_base_blocks.json ├── miner_talisman_triggers.json ├── mushrooms.json ├── nether_ores.json ├── ores.json ├── pickaxe_of_the_seeker_blocks.json ├── pickaxe_of_vein_mining_blocks.json ├── pressure_plates.json ├── raw_metals.json ├── sensitive_materials.json ├── shulker_boxes.json ├── smelters_pickaxe_blocks.json ├── spawn_eggs.json ├── stone_ores.json ├── stone_variants.json ├── tall_flowers.json ├── terracotta.json ├── tile_entities.json ├── torches.json ├── unbreakable_materials.json └── wool_carpets.json └── wiki.json /.adr-dir: -------------------------------------------------------------------------------- 1 | docs/adr 2 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | end_of_line = lf 6 | 7 | [*.java] 8 | indent_style = space 9 | indent_size = 4 10 | max_line_length = 120 11 | ij_java_use_single_class_imports = true 12 | ij_java_class_count_to_use_import_on_demand = 2147483647 13 | ij_java_names_count_to_use_import_on_demand = 2147483647 14 | ij_java_insert_inner_class_imports = false 15 | ij_java_imports_layout = *, |, javax.**, java.**, |, $* 16 | ij_java_layout_static_imports_separately = true 17 | ij_java_doc_add_p_tag_on_empty_lines = false 18 | ij_java_doc_do_not_wrap_if_one_line = true 19 | ij_java_doc_keep_empty_parameter_tag = false 20 | ij_java_doc_keep_empty_throws_tag = false 21 | ij_java_doc_keep_empty_return_tag = false 22 | 23 | [*.json] 24 | indent_style = space 25 | indent_size = 2 -------------------------------------------------------------------------------- /.git-hooks/pre-commit: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | echo "[pre-commit check]" 4 | 5 | spotless() { 6 | if [ ! -e "./mvnw" ]; then 7 | return 0 8 | fi 9 | 10 | local CHANGED_FILES="$(git --no-pager diff --name-status --no-color --cached | awk '$1 != "D" && $NF ~ /\.java?$/ { print $NF }')" 11 | 12 | if [ -z "$CHANGED_FILES" ]; then 13 | echo "No staged files." 14 | return 0 15 | fi 16 | 17 | echo '[pre-commit] Executing spotlessCheck before commit' 18 | 19 | git stash --quiet --keep-index 20 | 21 | ./mvnw spotless:check -B 22 | 23 | local RESULT=$? 24 | 25 | git stash pop -q 26 | 27 | if [ "$RESULT" -ne "0" ]; then 28 | echo -e "spotless check failed..." 29 | echo -e 'You can try "./mvnw spotless:apply" to apply auto-fixes.' 30 | fi 31 | 32 | return $RESULT 33 | } 34 | 35 | if ! spotless; then 36 | exit 1 37 | fi -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Automatically normalize line endings (to LF) for all text-based files. 2 | * text=auto eol=lf 3 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: https://afdian.net/a/nora1ncity 13 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: true 2 | contact_links: 3 | - name: 没有 Github 账号? 不会使用 Github? 4 | url: https://docs.qq.com/form/page/DSlFOZmpTQ1JsZ2FD 5 | about: 单击此处使用腾讯文档填写 Bug 反馈 -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## 简介 4 | 5 | 6 | ## 相关的 Issues (没有可不填) 7 | 8 | 9 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # To get started with Dependabot version updates, you'll need to specify which 2 | # package ecosystems to update and where the package manifests are located. 3 | # Please see the documentation for all configuration options: 4 | # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates 5 | 6 | version: 2 7 | updates: 8 | - package-ecosystem: "maven" # See documentation for possible values 9 | directory: "/" # Location of package manifests 10 | target-branch: 'dev' 11 | schedule: 12 | interval: "daily" 13 | commit-message: 14 | prefix: "🔧" 15 | -------------------------------------------------------------------------------- /.github/pull.yml: -------------------------------------------------------------------------------- 1 | version: "1" 2 | rules: 3 | - base: master 4 | upstream: Slimefun:master 5 | mergeMethod: merge 6 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /plugins/ 3 | /sonar/ 4 | /.settings/ 5 | /target/ 6 | /.idea/ 7 | /.vscode/ 8 | /data-storage/ 9 | /javadocs/ 10 | /local-deps/ 11 | 12 | .classpath 13 | .factorypath 14 | .project 15 | *.iml 16 | *.bak 17 | .DS_Store 18 | 19 | dependency-reduced-pom.xml 20 | /src/test/implementation/items/autocrafters/TestAutoCrafter.java 21 | /.git-versioned-pom.xml 22 | 23 | *.db 24 | -------------------------------------------------------------------------------- /.mvn/extensions.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | me.qoomon 6 | maven-git-versioning-extension 7 | 9.8.1 8 | 9 | 10 | -------------------------------------------------------------------------------- /.mvn/jvm.config: -------------------------------------------------------------------------------- 1 | -Dfile.encoding=UTF8 -------------------------------------------------------------------------------- /.mvn/maven-git-versioning-extension.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | master 6 | ${commit.short}-Beta 7 | 8 | 9 | dev 10 | 11 | ${commit.short}-Insider 12 | 13 | 14 | 15 | ([0-9].*)> 16 | ${1} 17 | 18 | 19 | -------------------------------------------------------------------------------- /.mvn/settings.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | dough-downstream 8 | StarWishsama 9 | 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 10 | 11 | 12 | -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | wrapperVersion=3.3.2 18 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.8/apache-maven-3.9.8-bin.zip 19 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # 贡献指南 2 | 3 | 在对 Slimefun 汉化版进行代码前,必须先阅读此贡献指南。 4 | 5 | # 设置环境 6 | 7 | 我们提供了一个自动化格式检查系统,请使用 `mvn install` 进行初始化。 8 | 9 | 本项目已经提供 `.editorconfig` 用于控制代码样式。如果你有自己的代码样式风格,请在对本仓库进行贡献前切换为当前仓库的风格配置。 10 | 11 | # 提交信息规范 12 | 13 | 本项目**强制使用** [约定式提交](https://www.conventionalcommits.org/zh-hans/v1.0.0/) 的提交信息规范。 14 | 15 | > 简单来说, 你的提交信息需要包含以下内容: 16 | > 17 | > <类型>[可选 范围]: <描述> 18 | > 19 | > 例如一个添加了新功能的提交应为 feat(item): add new item to Slimefun 20 | 21 | 如果你提交的代码中解决或处理了 Issue 中的问题,请你在主提交消息外显式声明。 22 | 23 | > 如 resolves #114514, fix #114514 等 24 | 25 | 如果是修复请在主提交消息上声明,不必重复声明。 26 | 27 | 我们支持的类型前缀正则如下:`(feat(ure)?|fix|docs|style|refactor|ci|chore|perf|build|test|revert|trans)` 28 | 29 | 另外的, 如果是与翻译相关的提交,类型应为 trans。 30 | 31 | # 代码规范 32 | 33 | **!! 本项目使用 4 空格缩进 !!** 34 | 35 | 请不要过度缩减代码长度, 空格少了 Slimefun 也不会因此跑得更快. 36 | 37 | 我们使用了 Spotless 作为代码格式化工具,在提交前你**必须**使用 `mvn spotless:check spotless:apply` 来自动格式化你的代码,否则将会被格式检查器拦截 PR。 38 | 39 | # 提交代码类型 40 | 41 | 你提交的代码可以是修复、新增内容和 API。 42 | 43 | 下游代码现在支持提交 API 相关代码,开发者们可以通过 jitpack 依赖汉化版的 Slimefun。 -------------------------------------------------------------------------------- /docs/adr/README.md: -------------------------------------------------------------------------------- 1 | # ADR 2 | 3 | An ADR (Architecture Decision Record) is a document describing large changes, why we made them, etc. 4 | 5 | ## Making a new ADR 6 | 7 | If you're making a large change to Slimefun, we recommend creating an ADR 8 | in order to document why this is being made and how it works for future contributors. 9 | 10 | Please follow the general format of the former ADRs or use a tool 11 | such as [`adr-tools`](https://github.com/npryce/adr-tools) to generate a new document. -------------------------------------------------------------------------------- /jitpack.yml: -------------------------------------------------------------------------------- 1 | before_install: 2 | - sdk install java 17.0.15-zulu 3 | - sdk use java 17.0.15-zulu 4 | - sdk install maven 5 | 6 | install: 7 | - chmod 777 ./mvnw 8 | - ./mvnw -s .mvn/settings.xml install -DskipTests 9 | -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ 3 | "config:base", 4 | ":disableDependencyDashboard" 5 | ], 6 | "baseBranches": [ 7 | "dev" 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/city/norain/slimefun4/compatibillty/VersionedAttribute.java: -------------------------------------------------------------------------------- 1 | package city.norain.slimefun4.compatibillty; 2 | 3 | import city.norain.slimefun4.SlimefunExtended; 4 | import lombok.experimental.UtilityClass; 5 | import org.bukkit.attribute.Attribute; 6 | 7 | @UtilityClass 8 | public class VersionedAttribute { 9 | public static Attribute getMaxHealth() { 10 | if (SlimefunExtended.getMinecraftVersion().isAtLeast(1, 21, 3)) { 11 | return Attribute.valueOf("MAX_HEALTH"); 12 | } else { 13 | return Attribute.valueOf("GENERIC_MAX_HEALTH"); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/city/norain/slimefun4/holder/SlimefunInventoryHolder.java: -------------------------------------------------------------------------------- 1 | package city.norain.slimefun4.holder; 2 | 3 | import lombok.Getter; 4 | import lombok.Setter; 5 | import org.bukkit.inventory.Inventory; 6 | import org.bukkit.inventory.InventoryHolder; 7 | 8 | @Getter 9 | public class SlimefunInventoryHolder implements InventoryHolder { 10 | @Setter 11 | protected Inventory inventory; 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/city/norain/slimefun4/timings/entry/SQLEntry.java: -------------------------------------------------------------------------------- 1 | package city.norain.slimefun4.timings.entry; 2 | 3 | public class SQLEntry implements TimingEntry { 4 | private final String sql; 5 | 6 | public SQLEntry(String sql) { 7 | this.sql = sql; 8 | } 9 | 10 | @Override 11 | public String getIdentifier() { 12 | return sql.isBlank() ? null : sql.split(" ")[0]; 13 | } 14 | 15 | @Override 16 | public String normalize() { 17 | return sql; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/city/norain/slimefun4/timings/entry/TimingEntry.java: -------------------------------------------------------------------------------- 1 | package city.norain.slimefun4.timings.entry; 2 | 3 | public interface TimingEntry { 4 | String getIdentifier(); 5 | 6 | String normalize(); 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/city/norain/slimefun4/utils/MathUtil.java: -------------------------------------------------------------------------------- 1 | package city.norain.slimefun4.utils; 2 | 3 | public class MathUtil { 4 | public static int saturatedAdd(int x, int y) { 5 | int r = x + y; 6 | if (((r ^ x) & (r ^ y)) < 0) { 7 | return x < 0 ? Integer.MIN_VALUE : Integer.MAX_VALUE; 8 | } else { 9 | return r; 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/city/norain/slimefun4/utils/StringUtil.java: -------------------------------------------------------------------------------- 1 | package city.norain.slimefun4.utils; 2 | 3 | import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem; 4 | import org.bukkit.inventory.ItemStack; 5 | 6 | public class StringUtil { 7 | public static String itemStackToString(ItemStack item) { 8 | if (item == null) { 9 | return "null"; 10 | } 11 | 12 | var sfItem = SlimefunItem.getByItem(item); 13 | 14 | if (sfItem != null) { 15 | return String.format( 16 | "ItemStack [sfId=%s (Addon=%s)] (type=%s, amount=%d)", 17 | sfItem.getId(), sfItem.getAddon().getName(), item.getType(), item.getAmount()); 18 | } else { 19 | return String.format("ItemStack (type=%s, amount=%d)", item.getType(), item.getAmount()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/city/norain/slimefun4/utils/TaskTimer.java: -------------------------------------------------------------------------------- 1 | package city.norain.slimefun4.utils; 2 | 3 | public class TaskTimer { 4 | private volatile long sampleTime; 5 | 6 | public TaskTimer() { 7 | sampleTime = System.currentTimeMillis(); 8 | } 9 | 10 | public long peek() { 11 | return System.currentTimeMillis() - sampleTime; 12 | } 13 | 14 | public void reset() { 15 | sampleTime = System.currentTimeMillis(); 16 | } 17 | 18 | public long getDuration() { 19 | long duration = peek(); 20 | 21 | reset(); 22 | 23 | return duration; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/com/xzavier0722/mc/plugin/slimefun4/autocrafter/CrafterInteractorHandler.java: -------------------------------------------------------------------------------- 1 | package com.xzavier0722.mc.plugin.slimefun4.autocrafter; 2 | 3 | import me.mrCookieSlime.Slimefun.api.inventory.BlockMenu; 4 | 5 | /** 6 | * 7 | * This interface define how to get the implementation of {@link CrafterInteractable} from {@link BlockMenu}. 8 | * 9 | * @author Xzavier0722 10 | * 11 | */ 12 | public interface CrafterInteractorHandler { 13 | 14 | CrafterInteractable getInteractor(BlockMenu menu); 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/xzavier0722/mc/plugin/slimefun4/chat/PlayerChatCatcher.java: -------------------------------------------------------------------------------- 1 | package com.xzavier0722.mc.plugin.slimefun4.chat; 2 | 3 | import com.xzavier0722.mc.plugin.slimefun4.chat.listener.PlayerChatListener; 4 | import io.github.thebusybiscuit.slimefun4.implementation.Slimefun; 5 | import java.util.HashMap; 6 | import java.util.Map; 7 | import java.util.Optional; 8 | import java.util.UUID; 9 | import java.util.function.Consumer; 10 | import org.bukkit.Bukkit; 11 | 12 | public class PlayerChatCatcher { 13 | private final Map> catchers; 14 | 15 | public PlayerChatCatcher(Slimefun plugin) { 16 | catchers = new HashMap<>(); 17 | Bukkit.getPluginManager().registerEvents(new PlayerChatListener(), plugin); 18 | } 19 | 20 | public void scheduleCatcher(UUID pUuid, Consumer handler) { 21 | catchers.put(pUuid, handler); 22 | } 23 | 24 | public Optional> pollCatcher(UUID pUuid) { 25 | return Optional.ofNullable(catchers.remove(pUuid)); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/com/xzavier0722/mc/plugin/slimefun4/chat/listener/PlayerChatListener.java: -------------------------------------------------------------------------------- 1 | package com.xzavier0722.mc.plugin.slimefun4.chat.listener; 2 | 3 | import io.github.thebusybiscuit.slimefun4.implementation.Slimefun; 4 | import org.bukkit.event.EventHandler; 5 | import org.bukkit.event.EventPriority; 6 | import org.bukkit.event.Listener; 7 | import org.bukkit.event.player.AsyncPlayerChatEvent; 8 | import org.bukkit.event.player.PlayerQuitEvent; 9 | 10 | public class PlayerChatListener implements Listener { 11 | 12 | @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) 13 | public void onChat(AsyncPlayerChatEvent e) { 14 | Slimefun.getChatCatcher().pollCatcher(e.getPlayer().getUniqueId()).ifPresent(h -> { 15 | e.setCancelled(true); 16 | Slimefun.runSync(() -> h.accept(e.getMessage())); 17 | }); 18 | } 19 | 20 | @EventHandler(priority = EventPriority.MONITOR) 21 | public void onLeave(PlayerQuitEvent e) { 22 | Slimefun.getChatCatcher().pollCatcher(e.getPlayer().getUniqueId()); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/adapter/IDataSourceAdapter.java: -------------------------------------------------------------------------------- 1 | package com.xzavier0722.mc.plugin.slimefun4.storage.adapter; 2 | 3 | import com.xzavier0722.mc.plugin.slimefun4.storage.common.DataType; 4 | import com.xzavier0722.mc.plugin.slimefun4.storage.common.RecordKey; 5 | import com.xzavier0722.mc.plugin.slimefun4.storage.common.RecordSet; 6 | import java.util.List; 7 | 8 | public interface IDataSourceAdapter { 9 | /** 10 | * 当前数据库架构版本号 11 | * 在数据库结构有变动时更新 12 | */ 13 | int DATABASE_VERSION = 2; 14 | 15 | void prepare(T config); 16 | 17 | void initStorage(DataType type); 18 | 19 | void shutdown(); 20 | 21 | void setData(RecordKey key, RecordSet item); 22 | 23 | default List getData(RecordKey key) { 24 | return getData(key, false); 25 | } 26 | 27 | List getData(RecordKey key, boolean distinct); 28 | 29 | void deleteData(RecordKey key); 30 | 31 | void patch(); 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/adapter/mysql/MysqlConfig.java: -------------------------------------------------------------------------------- 1 | package com.xzavier0722.mc.plugin.slimefun4.storage.adapter.mysql; 2 | 3 | import com.xzavier0722.mc.plugin.slimefun4.storage.adapter.sqlcommon.SqlCommonConfig; 4 | 5 | public class MysqlConfig extends SqlCommonConfig { 6 | public MysqlConfig( 7 | String host, 8 | int port, 9 | String database, 10 | String tablePrefix, 11 | String user, 12 | String passwd, 13 | boolean useSsl, 14 | int maxConnection) { 15 | super(host, port, database, tablePrefix, user, passwd, useSsl, maxConnection); 16 | } 17 | 18 | @Override 19 | public String jdbcUrl() { 20 | return "jdbc:mysql://" + host + ":" + port + "/" + database + "?characterEncoding=utf8&useSSL=" + useSsl; 21 | } 22 | 23 | @Override 24 | public String driver() { 25 | return "com.mysql.cj.jdbc.Driver"; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/adapter/postgresql/PostgreSqlConfig.java: -------------------------------------------------------------------------------- 1 | package com.xzavier0722.mc.plugin.slimefun4.storage.adapter.postgresql; 2 | 3 | import com.xzavier0722.mc.plugin.slimefun4.storage.adapter.sqlcommon.SqlCommonConfig; 4 | 5 | public class PostgreSqlConfig extends SqlCommonConfig { 6 | public PostgreSqlConfig( 7 | String host, 8 | int port, 9 | String database, 10 | String tablePrefix, 11 | String user, 12 | String passwd, 13 | boolean useSsl, 14 | int maxConnection) { 15 | super(host, port, database, tablePrefix, user, passwd, useSsl, maxConnection); 16 | } 17 | 18 | @Override 19 | public String jdbcUrl() { 20 | return "jdbc:postgresql://" + host + ":" + port + "/" + database + "?ssl=" + useSsl; 21 | } 22 | 23 | @Override 24 | public String driver() { 25 | return "org.postgresql.Driver"; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/adapter/sqlcommon/ISqlCommonConfig.java: -------------------------------------------------------------------------------- 1 | package com.xzavier0722.mc.plugin.slimefun4.storage.adapter.sqlcommon; 2 | 3 | import com.zaxxer.hikari.HikariDataSource; 4 | 5 | public interface ISqlCommonConfig { 6 | String driver(); 7 | 8 | String jdbcUrl(); 9 | 10 | HikariDataSource createDataSource(); 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/callback/IAsyncReadCallback.java: -------------------------------------------------------------------------------- 1 | package com.xzavier0722.mc.plugin.slimefun4.storage.callback; 2 | 3 | public interface IAsyncReadCallback { 4 | default boolean runOnMainThread() { 5 | return false; 6 | } 7 | 8 | default void onResult(T result) {} 9 | 10 | default void onResultNotFound() {} 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/common/DataType.java: -------------------------------------------------------------------------------- 1 | package com.xzavier0722.mc.plugin.slimefun4.storage.common; 2 | 3 | public enum DataType { 4 | PLAYER_PROFILE, 5 | BLOCK_STORAGE 6 | } 7 | -------------------------------------------------------------------------------- /src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/common/FieldKey.java: -------------------------------------------------------------------------------- 1 | package com.xzavier0722.mc.plugin.slimefun4.storage.common; 2 | 3 | public enum FieldKey { 4 | PLAYER_UUID, 5 | PLAYER_NAME, 6 | PLAYER_BACKPACK_NUM(true), 7 | 8 | RESEARCH_ID, 9 | 10 | BACKPACK_ID, 11 | BACKPACK_NUMBER(true), 12 | BACKPACK_NAME, 13 | BACKPACK_SIZE(true), 14 | 15 | INVENTORY_SLOT, 16 | INVENTORY_ITEM, 17 | 18 | LOCATION, 19 | CHUNK, 20 | SLIMEFUN_ID, 21 | 22 | DATA_KEY, 23 | DATA_VALUE, 24 | 25 | /** 26 | * Represents uuid of universal inventory 27 | */ 28 | UNIVERSAL_UUID, 29 | 30 | UNIVERSAL_TRAITS, 31 | 32 | METADATA_KEY, 33 | METADATA_VALUE; 34 | 35 | private final boolean isNumType; 36 | 37 | FieldKey() { 38 | this(false); 39 | } 40 | 41 | FieldKey(boolean isNumType) { 42 | this.isNumType = isNumType; 43 | } 44 | 45 | public boolean isNumType() { 46 | return isNumType; 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/common/FieldMapper.java: -------------------------------------------------------------------------------- 1 | package com.xzavier0722.mc.plugin.slimefun4.storage.common; 2 | 3 | import java.util.HashMap; 4 | import java.util.Map; 5 | 6 | public class FieldMapper { 7 | 8 | private final Map map; 9 | private final Map inverseMap; 10 | 11 | public FieldMapper(Map map) { 12 | this.map = map; 13 | this.inverseMap = new HashMap<>(); 14 | map.forEach((k, v) -> inverseMap.put(v, k)); 15 | } 16 | 17 | public T get(FieldKey key) { 18 | return map.get(key); 19 | } 20 | 21 | public FieldKey get(T key) { 22 | return inverseMap.get(key); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/common/ScopeKey.java: -------------------------------------------------------------------------------- 1 | package com.xzavier0722.mc.plugin.slimefun4.storage.common; 2 | 3 | import javax.annotation.Nonnull; 4 | 5 | public class ScopeKey { 6 | protected final DataScope scope; 7 | 8 | public ScopeKey(DataScope scope) { 9 | this.scope = scope; 10 | } 11 | 12 | @Nonnull 13 | public DataScope getScope() { 14 | return scope; 15 | } 16 | 17 | protected String getKeyStr() { 18 | return scope.name(); 19 | } 20 | 21 | @Override 22 | public int hashCode() { 23 | return getKeyStr().hashCode(); 24 | } 25 | 26 | @Override 27 | public boolean equals(Object obj) { 28 | return obj instanceof ScopeKey other && scope == other.scope; 29 | } 30 | 31 | @Override 32 | public String toString() { 33 | return getKeyStr(); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/controller/ASlimefunDataContainer.java: -------------------------------------------------------------------------------- 1 | package com.xzavier0722.mc.plugin.slimefun4.storage.controller; 2 | 3 | import lombok.Getter; 4 | import lombok.Setter; 5 | 6 | public abstract class ASlimefunDataContainer extends ADataContainer { 7 | @Getter 8 | private final String sfId; 9 | 10 | @Setter 11 | @Getter 12 | private volatile boolean pendingRemove = false; 13 | 14 | public ASlimefunDataContainer(String key, String sfId) { 15 | super(key); 16 | this.sfId = sfId; 17 | } 18 | 19 | public ASlimefunDataContainer(String key, ADataContainer other, String sfId) { 20 | super(key, other); 21 | this.sfId = sfId; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/controller/ChunkDataLoadMode.java: -------------------------------------------------------------------------------- 1 | package com.xzavier0722.mc.plugin.slimefun4.storage.controller; 2 | 3 | public enum ChunkDataLoadMode { 4 | LOAD_WITH_CHUNK, 5 | LOAD_ON_STARTUP; 6 | 7 | public boolean readCacheOnly() { 8 | return this == ChunkDataLoadMode.LOAD_ON_STARTUP; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/controller/LinkedKey.java: -------------------------------------------------------------------------------- 1 | package com.xzavier0722.mc.plugin.slimefun4.storage.controller; 2 | 3 | import com.xzavier0722.mc.plugin.slimefun4.storage.common.ScopeKey; 4 | 5 | public class LinkedKey extends ScopeKey { 6 | private final ScopeKey self; 7 | private final int hash; 8 | private ScopeKey parent; 9 | 10 | public LinkedKey(ScopeKey self) { 11 | super(self.getScope()); 12 | this.self = self; 13 | this.hash = self.hashCode(); 14 | } 15 | 16 | public LinkedKey(ScopeKey parent, ScopeKey self) { 17 | this(self); 18 | this.parent = parent; 19 | } 20 | 21 | public void setParent(ScopeKey parent) { 22 | this.parent = parent; 23 | } 24 | 25 | public ScopeKey getParent() { 26 | return parent; 27 | } 28 | 29 | @Override 30 | public int hashCode() { 31 | return hash; 32 | } 33 | 34 | @Override 35 | public boolean equals(Object obj) { 36 | return self.equals(obj instanceof LinkedKey linked ? linked.self : obj); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/controller/ScopedLock.java: -------------------------------------------------------------------------------- 1 | package com.xzavier0722.mc.plugin.slimefun4.storage.controller; 2 | 3 | import com.xzavier0722.mc.plugin.slimefun4.storage.common.ScopeKey; 4 | import java.util.Map; 5 | import java.util.concurrent.ConcurrentHashMap; 6 | import java.util.concurrent.locks.ReentrantLock; 7 | 8 | class ScopedLock { 9 | private final Map locks; 10 | 11 | ScopedLock() { 12 | locks = new ConcurrentHashMap<>(); 13 | } 14 | 15 | void lock(ScopeKey scopeKey) { 16 | var lock = locks.computeIfAbsent(scopeKey, k -> new ReentrantLock()); 17 | lock.lock(); 18 | } 19 | 20 | void unlock(ScopeKey scopeKey) { 21 | var lock = locks.get(scopeKey); 22 | if (lock == null) { 23 | return; 24 | } 25 | 26 | lock.unlock(); 27 | if (!lock.isLocked()) { 28 | locks.remove(scopeKey); 29 | } 30 | } 31 | 32 | boolean hasLock(ScopeKey scopeKey) { 33 | return locks.containsKey(scopeKey); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/controller/StorageType.java: -------------------------------------------------------------------------------- 1 | package com.xzavier0722.mc.plugin.slimefun4.storage.controller; 2 | 3 | public enum StorageType { 4 | MYSQL, 5 | SQLITE, 6 | POSTGRESQL, 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/controller/UUIDKey.java: -------------------------------------------------------------------------------- 1 | package com.xzavier0722.mc.plugin.slimefun4.storage.controller; 2 | 3 | import com.xzavier0722.mc.plugin.slimefun4.storage.common.DataScope; 4 | import com.xzavier0722.mc.plugin.slimefun4.storage.common.ScopeKey; 5 | import java.util.UUID; 6 | 7 | class UUIDKey extends ScopeKey { 8 | private final UUID uuid; 9 | 10 | public UUIDKey(DataScope scope, String uuid) { 11 | this(scope, UUID.fromString(uuid)); 12 | } 13 | 14 | public UUIDKey(DataScope scope, UUID uuid) { 15 | super(scope); 16 | this.uuid = uuid; 17 | } 18 | 19 | @Override 20 | protected String getKeyStr() { 21 | return scope + "/" + uuid; 22 | } 23 | 24 | @Override 25 | public boolean equals(Object obj) { 26 | return obj == this || (obj instanceof UUIDKey other && scope == other.scope && uuid.equals(other.uuid)); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/controller/attributes/UniversalBlock.java: -------------------------------------------------------------------------------- 1 | package com.xzavier0722.mc.plugin.slimefun4.storage.controller.attributes; 2 | 3 | import com.xzavier0722.mc.plugin.slimefun4.storage.controller.SlimefunUniversalBlockData; 4 | import com.xzavier0722.mc.plugin.slimefun4.storage.controller.SlimefunUniversalData; 5 | import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem; 6 | 7 | /** 8 | * 这个属性用于声明 {@link SlimefunItem} 使用了 {@link SlimefunUniversalData} 9 | *

10 | * 当这个 {@link SlimefunItem} 作为机器时, 对应材质需要支持 11 | * 使用 PDC 存储容器 (用于识别 UUID). 12 | * 否则无法将这个物品/机器绑定到一个通用数据上. 13 | * 14 | * 查看此处了解支持 PDC 的物品材质: 15 | * Paper Doc 16 | * 17 | * @author NoRainCity 18 | * 19 | * @see SlimefunUniversalData 20 | * @see SlimefunUniversalBlockData 21 | */ 22 | public interface UniversalBlock {} 23 | -------------------------------------------------------------------------------- /src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/listener/ChunkListener.java: -------------------------------------------------------------------------------- 1 | package com.xzavier0722.mc.plugin.slimefun4.storage.listener; 2 | 3 | import io.github.thebusybiscuit.slimefun4.implementation.Slimefun; 4 | import org.bukkit.event.EventHandler; 5 | import org.bukkit.event.Listener; 6 | import org.bukkit.event.world.ChunkLoadEvent; 7 | 8 | public class ChunkListener implements Listener { 9 | 10 | @EventHandler 11 | public void onChunkLoad(ChunkLoadEvent e) { 12 | Slimefun.getDatabaseManager().getBlockDataController().loadChunk(e.getChunk(), e.isNewChunk()); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/listener/WorldListener.java: -------------------------------------------------------------------------------- 1 | package com.xzavier0722.mc.plugin.slimefun4.storage.listener; 2 | 3 | import io.github.thebusybiscuit.slimefun4.implementation.Slimefun; 4 | import org.bukkit.event.EventHandler; 5 | import org.bukkit.event.Listener; 6 | import org.bukkit.event.world.WorldLoadEvent; 7 | 8 | public class WorldListener implements Listener { 9 | 10 | @EventHandler 11 | public void onChunkLoad(WorldLoadEvent e) { 12 | Slimefun.getDatabaseManager().getBlockDataController().loadWorld(e.getWorld()); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/migrator/IMigrator.java: -------------------------------------------------------------------------------- 1 | package com.xzavier0722.mc.plugin.slimefun4.storage.migrator; 2 | 3 | public interface IMigrator { 4 | boolean hasOldData(); 5 | 6 | MigrateStatus migrateData(); 7 | 8 | default String getName() { 9 | return this.getClass().getSimpleName(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/migrator/MigrateStatus.java: -------------------------------------------------------------------------------- 1 | package com.xzavier0722.mc.plugin.slimefun4.storage.migrator; 2 | 3 | public enum MigrateStatus { 4 | SUCCESS, 5 | FAILED, 6 | MIGRATING, 7 | MIGRATED, 8 | } 9 | -------------------------------------------------------------------------------- /src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/patch/DatabasePatchV2.java: -------------------------------------------------------------------------------- 1 | package com.xzavier0722.mc.plugin.slimefun4.storage.patch; 2 | 3 | import com.xzavier0722.mc.plugin.slimefun4.storage.adapter.sqlcommon.ISqlCommonConfig; 4 | import com.xzavier0722.mc.plugin.slimefun4.storage.adapter.sqlcommon.SqlCommonConfig; 5 | import com.xzavier0722.mc.plugin.slimefun4.storage.adapter.sqlcommon.SqlConstants; 6 | import java.sql.SQLException; 7 | import java.sql.Statement; 8 | 9 | public class DatabasePatchV2 extends DatabasePatch { 10 | 11 | public DatabasePatchV2() { 12 | super(2); 13 | } 14 | 15 | @Override 16 | public void patch(Statement stmt, ISqlCommonConfig config) throws SQLException { 17 | var tablePrefix = config instanceof SqlCommonConfig scc ? scc.tablePrefix() : ""; 18 | stmt.execute("DROP TABLE IF EXISTS " + tablePrefix + SqlConstants.TABLE_NAME_TABLE_INFORMATION); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/task/DatabaseThreadFactory.java: -------------------------------------------------------------------------------- 1 | package com.xzavier0722.mc.plugin.slimefun4.storage.task; 2 | 3 | import io.github.thebusybiscuit.slimefun4.implementation.Slimefun; 4 | import java.util.concurrent.ThreadFactory; 5 | import java.util.concurrent.atomic.AtomicInteger; 6 | import java.util.logging.Level; 7 | import javax.annotation.Nonnull; 8 | 9 | public class DatabaseThreadFactory implements ThreadFactory { 10 | private final AtomicInteger threadCount = new AtomicInteger(0); 11 | 12 | @Override 13 | public Thread newThread(@Nonnull Runnable r) { 14 | Thread t = new Thread(r, "SF-Database-Thread #" + threadCount.getAndIncrement()); 15 | t.setUncaughtExceptionHandler((et, e) -> 16 | Slimefun.logger().log(Level.SEVERE, "A error occurred in database thread " + t.getName(), e)); 17 | 18 | return t; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/task/DelayedTask.java: -------------------------------------------------------------------------------- 1 | package com.xzavier0722.mc.plugin.slimefun4.storage.task; 2 | 3 | import java.util.concurrent.TimeUnit; 4 | 5 | public class DelayedTask { 6 | private final Runnable task; 7 | private long runAfter = 0; 8 | private boolean executed = false; 9 | 10 | public DelayedTask(long delay, TimeUnit unit, Runnable task) { 11 | this.task = task; 12 | setRunAfter(delay, unit); 13 | } 14 | 15 | public synchronized void setRunAfter(long delay, TimeUnit unit) { 16 | runAfter = System.currentTimeMillis() + unit.toMillis(delay); 17 | } 18 | 19 | public synchronized boolean tryRun() { 20 | if (System.currentTimeMillis() < runAfter) { 21 | return false; 22 | } 23 | 24 | executed = true; 25 | task.run(); 26 | return true; 27 | } 28 | 29 | public synchronized boolean isExecuted() { 30 | return executed; 31 | } 32 | 33 | public void runUnsafely() { 34 | executed = true; 35 | task.run(); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/util/NumUtils.java: -------------------------------------------------------------------------------- 1 | package com.xzavier0722.mc.plugin.slimefun4.storage.util; 2 | 3 | public class NumUtils { 4 | public static double parseDouble(String str) { 5 | try { 6 | return Double.parseDouble(str); 7 | } catch (NumberFormatException e) { 8 | return -1; 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/api/events/SlimefunItemRegistryFinalizedEvent.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.api.events; 2 | 3 | import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem; 4 | import io.github.thebusybiscuit.slimefun4.implementation.Slimefun; 5 | import javax.annotation.Nonnull; 6 | import org.bukkit.event.Event; 7 | import org.bukkit.event.HandlerList; 8 | 9 | /** 10 | * This {@link Event} is fired after {@link Slimefun} finishes loading the 11 | * {@link SlimefunItem} registry. We recommend listening to this event if you 12 | * want to register recipes using items from other addons. 13 | * 14 | * @author ProfElements 15 | */ 16 | public class SlimefunItemRegistryFinalizedEvent extends Event { 17 | 18 | private static final HandlerList handlers = new HandlerList(); 19 | 20 | public SlimefunItemRegistryFinalizedEvent() {} 21 | 22 | @Nonnull 23 | public static HandlerList getHandlerList() { 24 | return handlers; 25 | } 26 | 27 | @Nonnull 28 | @Override 29 | public HandlerList getHandlers() { 30 | return getHandlerList(); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/api/events/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains all extensions of {@link org.bukkit.event.Event} that Slimefun provides 3 | * and allows you to listen to. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.api.events; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/api/exceptions/IdConflictException.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.api.exceptions; 2 | 3 | import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem; 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | 6 | /** 7 | * An {@link IdConflictException} is thrown whenever two Addons try to add 8 | * a {@link SlimefunItem} with the same id. 9 | * 10 | * @author TheBusyBiscuit 11 | * 12 | */ 13 | public class IdConflictException extends RuntimeException { 14 | 15 | private static final long serialVersionUID = -733012666374895255L; 16 | 17 | /** 18 | * Constructs a new {@link IdConflictException} with the given items. 19 | * 20 | * @param item1 21 | * The first {@link SlimefunItem} with this id 22 | * @param item2 23 | * The second {@link SlimefunItem} with this id 24 | */ 25 | @ParametersAreNonnullByDefault 26 | public IdConflictException(SlimefunItem item1, SlimefunItem item2) { 27 | super("Two items have conflicting ids: " + item1.toString() + " and " + item2.toString()); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/api/exceptions/PrematureCodeException.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.api.exceptions; 2 | 3 | import io.github.thebusybiscuit.slimefun4.api.SlimefunAddon; 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | 6 | /** 7 | * A {@link PrematureCodeException} is thrown when a {@link SlimefunAddon} tried 8 | * to access Slimefun code before Slimefun was enabled. 9 | * Always let your code inside onEnable() or later, never on class initialization. 10 | * 11 | * @author TheBusyBiscuit 12 | */ 13 | public class PrematureCodeException extends RuntimeException { 14 | 15 | private static final long serialVersionUID = -7409054512888866955L; 16 | 17 | /** 18 | * This constructs a new {@link PrematureCodeException} with the given error context. 19 | * 20 | * @param message An error message to display 21 | */ 22 | @ParametersAreNonnullByDefault 23 | public PrematureCodeException(String message) { 24 | super("Slimefun code was invoked before Slimefun finished loading: " + message); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/api/exceptions/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains all different extensions of {@link java.lang.Exception} that Slimefun 3 | * uses internally. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.api.exceptions; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/api/geo/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains classes that are centered around the 3 | * {@link io.github.thebusybiscuit.slimefun4.api.geo.GEOResource} API. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.api.geo; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/api/gps/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package stores classes of the API that are related to the 3 | * {@link io.github.thebusybiscuit.slimefun4.api.gps.GPSNetwork}. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.api.gps; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/api/items/ItemState.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.api.items; 2 | 3 | import io.github.thebusybiscuit.slimefun4.implementation.items.VanillaItem; 4 | 5 | /** 6 | * Defines whether a SlimefunItem is enabled, disabled or fall-back to its vanilla behavior. 7 | * 8 | * @author Poslovitch 9 | * @see SlimefunItem 10 | */ 11 | public enum ItemState { 12 | 13 | /** 14 | * This {@link SlimefunItem} has not been registered (yet). 15 | */ 16 | UNREGISTERED, 17 | 18 | /** 19 | * This {@link SlimefunItem} is enabled. 20 | */ 21 | ENABLED, 22 | 23 | /** 24 | * This {@link SlimefunItem} is disabled and is not a {@link VanillaItem}. 25 | */ 26 | DISABLED, 27 | 28 | /** 29 | * This {@link SlimefunItem} has fallen back to its vanilla behavior, because it is disabled and an instance of 30 | * {@link VanillaItem}. 31 | */ 32 | VANILLA_FALLBACK; 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/api/items/groups/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains a few {@link io.github.thebusybiscuit.slimefun4.api.items.ItemGroup} variations. 3 | */ 4 | package io.github.thebusybiscuit.slimefun4.api.items.groups; 5 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/api/items/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains a few classes that revolve around the API for 3 | * {@link io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem}, such as 4 | * {@link io.github.thebusybiscuit.slimefun4.api.items.ItemSetting} 5 | */ 6 | package io.github.thebusybiscuit.slimefun4.api.items; 7 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/api/items/settings/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains various sub classes of {@link io.github.thebusybiscuit.slimefun4.api.items.ItemSetting}. 3 | */ 4 | package io.github.thebusybiscuit.slimefun4.api.items.settings; 5 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/api/network/NetworkComponent.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.api.network; 2 | 3 | import io.github.thebusybiscuit.slimefun4.core.networks.NetworkManager; 4 | 5 | /** 6 | * This enum holds the different types of components a {@link Network} can have. 7 | * It is used for classification of nodes inside the {@link Network}. 8 | * 9 | * @author meiamsome 10 | * @see Network 11 | * @see NetworkManager 12 | */ 13 | public enum NetworkComponent { 14 | CONNECTOR, 15 | REGULATOR, 16 | TERMINUS 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/api/network/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package provides the API infrastructure for networks, such as the Cargo- or Energy net. 3 | */ 4 | package io.github.thebusybiscuit.slimefun4.api.network; 5 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/api/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains a bunch of classes and sub-packages related to the interaction 3 | * with Slimefun via an API. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.api; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/api/player/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package stores API-related classes that are related to a {@link org.bukkit.entity.Player}, 3 | * such as the {@link io.github.thebusybiscuit.slimefun4.api.player.PlayerProfile} for example. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.api.player; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/api/recipes/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains all classes related to our recipe system. 3 | */ 4 | package io.github.thebusybiscuit.slimefun4.api.recipes; 5 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/api/researches/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds everything connected to the {@link io.github.thebusybiscuit.slimefun4.api.researches.Research} 3 | * class. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.api.researches; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/attributes/ItemAttribute.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.core.attributes; 2 | 3 | import io.github.thebusybiscuit.slimefun4.api.items.ItemHandler; 4 | import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem; 5 | import javax.annotation.Nonnull; 6 | 7 | /** 8 | * An empty interface that only serves the purpose of bundling together all 9 | * interfaces of that kind. 10 | * 11 | * An {@link ItemAttribute} must be attached to a {@link SlimefunItem}. 12 | * 13 | * @author TheBusyBiscuit 14 | * 15 | * @see SlimefunItem 16 | * @see ItemHandler 17 | * 18 | */ 19 | public interface ItemAttribute { 20 | 21 | /** 22 | * Returns the identifier of the associated {@link SlimefunItem}. 23 | * 24 | * @return the identifier of the {@link SlimefunItem} 25 | */ 26 | @Nonnull 27 | String getId(); 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/attributes/MachineTier.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.core.attributes; 2 | 3 | import javax.annotation.Nonnull; 4 | 5 | public enum MachineTier { 6 | BASIC("&e基础"), 7 | AVERAGE("&6普通"), 8 | MEDIUM("&a中型"), 9 | GOOD("&2优秀"), 10 | ADVANCED("&6高级"), 11 | END_GAME("&4终极"); 12 | 13 | private final String prefix; 14 | 15 | MachineTier(@Nonnull String prefix) { 16 | this.prefix = prefix; 17 | } 18 | 19 | @Override 20 | public String toString() { 21 | return prefix; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/attributes/MachineType.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.core.attributes; 2 | 3 | import javax.annotation.Nonnull; 4 | 5 | public enum MachineType { 6 | CAPACITOR("电容"), 7 | GENERATOR("发电机"), 8 | MACHINE("机器"); 9 | 10 | private final String suffix; 11 | 12 | MachineType(@Nonnull String suffix) { 13 | this.suffix = suffix; 14 | } 15 | 16 | @Override 17 | public String toString() { 18 | return suffix; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/attributes/NotConfigurable.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.core.attributes; 2 | 3 | import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem; 4 | 5 | /** 6 | * Implement this interface for any {@link SlimefunItem} to prevent 7 | * that {@link SlimefunItem} from showing up in the {@code Items.yml} config file. 8 | * 9 | * @author TheBusyBiscuit 10 | */ 11 | public interface NotConfigurable extends ItemAttribute {} 12 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/attributes/NotHopperable.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.core.attributes; 2 | 3 | import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.abstractItems.AContainer; 4 | 5 | /** 6 | * Implement this interface for any {@link AContainer} to prevent 7 | * that {@link AContainer} from being hopperable. 8 | * 9 | * @author CURVX 10 | */ 11 | public interface NotHopperable extends ItemAttribute {} 12 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/attributes/NotPlaceable.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.core.attributes; 2 | 3 | import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem; 4 | import org.bukkit.block.Block; 5 | import org.bukkit.event.block.BlockPlaceEvent; 6 | 7 | /** 8 | * Implement this interface for any {@link SlimefunItem} to prevent 9 | * that {@link SlimefunItem} from being placed. 10 | * 11 | * Important: This will not cancel any {@link BlockPlaceEvent}. 12 | * It will simply prevent Slimefun from ever registering this {@link SlimefunItem} 13 | * as a placed {@link Block}. 14 | * 15 | * @author TheBusyBiscuit 16 | * 17 | */ 18 | public interface NotPlaceable extends ItemAttribute {} 19 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/attributes/ProtectionType.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.core.attributes; 2 | 3 | import org.bukkit.entity.Bee; 4 | 5 | /** 6 | * Represents the {@link ProtectionType} that a {@link ProtectiveArmor} 7 | * prevents the damage from. 8 | * 9 | * @author Linox 10 | * @author Seggan 11 | * @see ProtectiveArmor 12 | */ 13 | public enum ProtectionType { 14 | 15 | /** 16 | * This damage type represents damage inflicted by {@link Radioactive} materials. 17 | */ 18 | RADIATION, 19 | 20 | /** 21 | * This damage type represents damage caused by a {@link Bee} 22 | */ 23 | BEES, 24 | 25 | /** 26 | * This damage type represents damage caused by flying into a wall with an elytra 27 | */ 28 | FLYING_INTO_WALL; 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/attributes/Radioactive.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.core.attributes; 2 | 3 | import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem; 4 | import javax.annotation.Nonnull; 5 | 6 | /** 7 | * This Interface, when attached to a class that inherits from {@link SlimefunItem}, marks 8 | * the Item as radioactive. 9 | * Carrying such an item will give the wearer the radiation effect. 10 | * 11 | * You can specify a level of {@link Radioactivity} for the severity of the effect. 12 | * 13 | * @author TheBusyBiscuit 14 | * 15 | */ 16 | public interface Radioactive extends ItemAttribute { 17 | 18 | /** 19 | * This method returns the level of {@link Radioactivity} for this {@link Radioactive} item. 20 | * Higher levels cause more severe radiation effects. 21 | * 22 | * @return The level of {@link Radioactivity} of this item. 23 | */ 24 | @Nonnull 25 | Radioactivity getRadioactivity(); 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/attributes/Soulbound.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.core.attributes; 2 | 3 | import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem; 4 | import io.github.thebusybiscuit.slimefun4.implementation.items.magical.SoulboundItem; 5 | 6 | /** 7 | * This Interface, when attached to a class that inherits from {@link SlimefunItem}, marks 8 | * the Item as soulbound. 9 | * This Item will then not be dropped upon death. 10 | * 11 | * @author TheBusyBiscuit 12 | * @see SoulboundItem 13 | */ 14 | public interface Soulbound extends ItemAttribute {} 15 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/attributes/interactions/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains the various possible {@link io.github.thebusybiscuit.slimefun4.core.attributes.interactions.InteractionResult}s 3 | * that can be returned by an {@link io.github.thebusybiscuit.slimefun4.core.attributes.ExternallyInteractable} object. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.core.attributes.interactions; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/attributes/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains all variations of {@link io.github.thebusybiscuit.slimefun4.core.attributes.ItemAttribute} that 3 | * can be assigned to a {@link io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem} 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.core.attributes; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/attributes/rotations/NotRotatable.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.core.attributes.rotations; 2 | 3 | import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem; 4 | import io.github.thebusybiscuit.slimefun4.core.attributes.ItemAttribute; 5 | import org.bukkit.block.BlockFace; 6 | 7 | /** 8 | * Implement this interface for any {@link SlimefunItem} to prevent 9 | * that {@link SlimefunItem} from being rotated. 10 | * 11 | * @author Ddggdd135 12 | * 13 | */ 14 | public interface NotRotatable extends ItemAttribute { 15 | default BlockFace getRotation() { 16 | return BlockFace.NORTH; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/commands/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains everything related to Slimefun's ingame command. 3 | */ 4 | package io.github.thebusybiscuit.slimefun4.core.commands; 5 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/commands/subcommands/HelpCommand.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.core.commands.subcommands; 2 | 3 | import io.github.thebusybiscuit.slimefun4.core.commands.SlimefunCommand; 4 | import io.github.thebusybiscuit.slimefun4.core.commands.SubCommand; 5 | import io.github.thebusybiscuit.slimefun4.implementation.Slimefun; 6 | import javax.annotation.ParametersAreNonnullByDefault; 7 | import org.bukkit.command.CommandSender; 8 | 9 | class HelpCommand extends SubCommand { 10 | 11 | @ParametersAreNonnullByDefault 12 | HelpCommand(Slimefun plugin, SlimefunCommand cmd) { 13 | super(plugin, cmd, "help", false); 14 | } 15 | 16 | @Override 17 | public void onExecute(CommandSender sender, String[] args) { 18 | cmd.sendHelp(sender); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/commands/subcommands/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds all implementations of {@link io.github.thebusybiscuit.slimefun4.core.commands.SubCommand}. 3 | * You can find all sub commands of Slimefun in here. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.core.commands.subcommands; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/debug/TestCase.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.core.debug; 2 | 3 | import java.util.Locale; 4 | import javax.annotation.Nonnull; 5 | 6 | /** 7 | * Test cases in Slimefun. These are very useful for debugging why behavior is happening. 8 | * Server owners can enable these with {@code /sf debug } 9 | * 10 | * @author WalshyDev 11 | */ 12 | public enum TestCase { 13 | 14 | /** 15 | * Cargo input testing. This will log what is going on with CARGO_INPUT_NODEs so that we can see what items are. 16 | * being checked and why it is comparing IDs or meta. 17 | * This is helpful for us to check into why input nodes are taking a while for servers. 18 | */ 19 | CARGO_INPUT_TESTING, 20 | 21 | DATABASE, 22 | 23 | BACKPACK, 24 | 25 | UTILS, 26 | 27 | ENERGYNET, 28 | 29 | ANALYTICS; 30 | 31 | TestCase() {} 32 | 33 | @Override 34 | public @Nonnull String toString() { 35 | return "slimefun_" + name().toLowerCase(Locale.ROOT); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/debug/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds the debug functionality of Slimefun, these can be used as addons but are mostly just 3 | * going to be used by Slimefun itself. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.core.debug; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/guide/GuideEntry.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.core.guide; 2 | 3 | import javax.annotation.Nonnull; 4 | 5 | class GuideEntry { 6 | 7 | private final T object; 8 | private int page; 9 | 10 | GuideEntry(@Nonnull T object, int page) { 11 | this.object = object; 12 | this.page = page; 13 | } 14 | 15 | @Nonnull 16 | public T getIndexedObject() { 17 | return object; 18 | } 19 | 20 | public int getPage() { 21 | return page; 22 | } 23 | 24 | public void setPage(int page) { 25 | this.page = page; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/guide/options/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains the Settings menu for the {@link io.github.thebusybiscuit.slimefun4.core.guide.SlimefunGuide} as 3 | * well as the interface {@link io.github.thebusybiscuit.slimefun4.core.guide.options.SlimefunGuideOption} for adding 4 | * your own options 5 | */ 6 | package io.github.thebusybiscuit.slimefun4.core.guide.options; 7 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/guide/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains the core system for the {@link io.github.thebusybiscuit.slimefun4.core.guide.SlimefunGuide}. 3 | * Note that you can find the individual implementations of the guide, in the implementation package 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.core.guide; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/handlers/GlobalItemHandler.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.core.handlers; 2 | 3 | import io.github.thebusybiscuit.slimefun4.api.items.ItemHandler; 4 | import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem; 5 | import org.bukkit.event.Event; 6 | import org.bukkit.event.Listener; 7 | 8 | /** 9 | * A {@link GlobalItemHandler} is a special type of {@link ItemHandler} 10 | * which is not associated with one particular {@link SlimefunItem} but rather 11 | * exists seperate from them, similar to an {@link Event} {@link Listener}. 12 | * 13 | * @author TheBusyBiscuit 14 | * 15 | * @see ItemDropHandler 16 | * 17 | */ 18 | public interface GlobalItemHandler extends ItemHandler {} 19 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/handlers/ItemDropHandler.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.core.handlers; 2 | 3 | import io.github.thebusybiscuit.slimefun4.api.items.ItemHandler; 4 | import javax.annotation.ParametersAreNonnullByDefault; 5 | import org.bukkit.entity.Item; 6 | import org.bukkit.entity.Player; 7 | import org.bukkit.event.player.PlayerDropItemEvent; 8 | 9 | /** 10 | * The {@link ItemDropHandler} is a {@link GlobalItemHandler} which listens to 11 | * an {@link Item} being dropped. 12 | * 13 | * @author Linox 14 | * @author TheBusyBiscuit 15 | * 16 | */ 17 | @FunctionalInterface 18 | public interface ItemDropHandler extends GlobalItemHandler { 19 | 20 | @ParametersAreNonnullByDefault 21 | boolean onItemDrop(PlayerDropItemEvent e, Player p, Item item); 22 | 23 | @Override 24 | default Class getIdentifier() { 25 | return ItemDropHandler.class; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/handlers/ItemUseHandler.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.core.handlers; 2 | 3 | import io.github.thebusybiscuit.slimefun4.api.events.PlayerRightClickEvent; 4 | import io.github.thebusybiscuit.slimefun4.api.items.ItemHandler; 5 | import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem; 6 | import io.github.thebusybiscuit.slimefun4.implementation.items.SimpleSlimefunItem; 7 | 8 | /** 9 | * This {@link ItemHandler} is triggered when the {@link SlimefunItem} it was assigned to 10 | * is right-clicked. 11 | * 12 | * @author TheBusyBiscuit 13 | * @see ItemHandler 14 | * @see SimpleSlimefunItem 15 | */ 16 | @FunctionalInterface 17 | public interface ItemUseHandler extends ItemHandler { 18 | 19 | void onRightClick(PlayerRightClickEvent e); 20 | 21 | @Override 22 | default Class getIdentifier() { 23 | return ItemUseHandler.class; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/handlers/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains all variations of {@link io.github.thebusybiscuit.slimefun4.api.items.ItemHandler} that 3 | * can be assigned to a {@link io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem} 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.core.handlers; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/machines/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains sources related to the 3 | * {@link io.github.thebusybiscuit.slimefun4.core.machines.MachineProcessor} 4 | * and any {@link io.github.thebusybiscuit.slimefun4.core.machines.MachineOperation}. 5 | */ 6 | package io.github.thebusybiscuit.slimefun4.core.machines; 7 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/multiblocks/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds all core mechanics related to a 3 | * {@link io.github.thebusybiscuit.slimefun4.core.multiblocks.MultiBlock}, like that class itself. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.core.multiblocks; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/networks/cargo/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds an implementation of {@link io.github.thebusybiscuit.slimefun4.api.network.Network} 3 | * that is responsible for item transportation. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.core.networks.cargo; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/networks/energy/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds an implementation of {@link io.github.thebusybiscuit.slimefun4.api.network.Network} 3 | * that is responsible for transmitting energy. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.core.networks.energy; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/networks/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package provides the core functionality for the {@link io.github.thebusybiscuit.slimefun4.api.network.Network} 3 | * class, such as the {@link io.github.thebusybiscuit.slimefun4.core.networks.NetworkManager} and also the subpackages 4 | * for actual implementations of the {@link io.github.thebusybiscuit.slimefun4.api.network.Network} class. 5 | */ 6 | package io.github.thebusybiscuit.slimefun4.core.networks; 7 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds the core systems of Slimefun, these are not necessarily used as an API 3 | * but rather provide the core functionality of this {@link org.bukkit.plugin.Plugin}. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.core; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/services/github/ActivityCallback.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.core.services.github; 2 | 3 | import java.time.LocalDateTime; 4 | import javax.annotation.Nonnull; 5 | 6 | @FunctionalInterface 7 | interface ActivityCallback { 8 | 9 | /** 10 | * This method is called when the {@link GitHubActivityConnector} finished loading. 11 | * 12 | * @param forks The amount of forks 13 | * @param stars The amount of stars 14 | * @param date The {@link LocalDateTime} of the last activity 15 | */ 16 | void accept(int forks, int stars, @Nonnull LocalDateTime date); 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/services/github/ContributorRole.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.core.services.github; 2 | 3 | import javax.annotation.Nonnull; 4 | 5 | /** 6 | * This enum holds the different roles a {@link Contributor} can have. 7 | * This is only used to store various {@link String} constants for these roles. 8 | * The actual {@link ContributorRole} type itself is not used anywhere. 9 | * 10 | * @author TheBusyBiscuit 11 | * 12 | * @see Contributor 13 | * @see GitHubService 14 | * 15 | */ 16 | enum ContributorRole { 17 | DEVELOPER("developer"), 18 | RESOURCEPACK_ARTIST("resourcepack"), 19 | TRANSLATOR("translator"), 20 | WIKI_EDITOR("wiki"); 21 | 22 | private final String id; 23 | 24 | ContributorRole(@Nonnull String id) { 25 | this.id = id; 26 | } 27 | 28 | @Nonnull 29 | String getId() { 30 | return id; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/services/github/IssuesCallback.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.core.services.github; 2 | 3 | @FunctionalInterface 4 | interface IssuesCallback { 5 | 6 | /** 7 | * This method is called when the {@link GitHubIssuesConnector} finished loading. 8 | * 9 | * @param issues The amount of open Issues 10 | * @param pullRequests The amount of open Pull Requests 11 | */ 12 | void accept(int issues, int pullRequests); 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/services/github/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains everything related to GitHub and contributors. 3 | */ 4 | package io.github.thebusybiscuit.slimefun4.core.services.github; 5 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/services/holograms/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains everything related to the 3 | * {@link io.github.thebusybiscuit.slimefun4.core.services.holograms.HologramsService}. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.core.services.holograms; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/services/localization/TextDirection.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.core.services.localization; 2 | 3 | /** 4 | * A simple enum to define the direction of text for a given {@link LanguagePreset} 5 | * 6 | * @author TheBusyBiscuit 7 | * 8 | */ 9 | public enum TextDirection { 10 | 11 | /** 12 | * The text flows from left to right. 13 | * This is true for most western languages, 14 | * such as English, Spanish, German, French and more. 15 | */ 16 | LEFT_TO_RIGHT, 17 | 18 | /** 19 | * The text flows from right to left. 20 | * Most common languages that use this direction 21 | * of text are Hebrew and Arabic. 22 | */ 23 | RIGHT_TO_LEFT 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/services/localization/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains everything related to translations and localization. 3 | */ 4 | package io.github.thebusybiscuit.slimefun4.core.services.localization; 5 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/services/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package provides a few "Services" that Slimefun uses. 3 | * These services can be considered like a black box, you put stuff in or just let them run, 4 | * they work independently. 5 | */ 6 | package io.github.thebusybiscuit.slimefun4.core.services; 7 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/services/profiler/inspectors/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds the different implementations of 3 | * {@link io.github.thebusybiscuit.slimefun4.core.services.profiler.PerformanceInspector}. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.core.services.profiler.inspectors; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/services/profiler/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds classes related to the 3 | * {@link io.github.thebusybiscuit.slimefun4.core.services.profiler.SlimefunProfiler}. 4 | * The {@link io.github.thebusybiscuit.slimefun4.core.services.profiler.SlimefunProfiler} is used to determine 5 | * {@link org.bukkit.block.Block Blocks}, {@link org.bukkit.Chunk Chunks} or 6 | * {@link io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem SlimefunItems} that cause lag or performance 7 | * drops. 8 | */ 9 | package io.github.thebusybiscuit.slimefun4.core.services.profiler; 10 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/services/sounds/SoundConfiguration.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.core.services.sounds; 2 | 3 | import javax.annotation.Nonnull; 4 | 5 | /** 6 | * This structure class holds configured values for a {@link SoundEffect}. 7 | * 8 | * @author TheBusyBiscuit 9 | * 10 | * @see SoundService 11 | * @see SoundEffect 12 | * 13 | */ 14 | public class SoundConfiguration { 15 | 16 | private final String sound; 17 | private final float volume; 18 | private final float pitch; 19 | 20 | protected SoundConfiguration(@Nonnull String sound, float volume, float pitch) { 21 | this.sound = sound; 22 | this.volume = volume; 23 | this.pitch = pitch; 24 | } 25 | 26 | public @Nonnull String getSoundId() { 27 | return sound; 28 | } 29 | 30 | public float getVolume() { 31 | return volume; 32 | } 33 | 34 | public float getPitch() { 35 | return pitch; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/services/sounds/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds classes related to the 3 | * {@link io.github.thebusybiscuit.slimefun4.core.services.sounds.SoundService}. 4 | * This service is responsible for our sound management and allowing server owners to fully customize 5 | * their sound experience. 6 | */ 7 | package io.github.thebusybiscuit.slimefun4.core.services.sounds; 8 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/core/ticker/TickLocation.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.core.ticker; 2 | 3 | import io.github.bakedlibs.dough.blocks.BlockPosition; 4 | import java.util.UUID; 5 | import lombok.Getter; 6 | import org.bukkit.Location; 7 | 8 | @Getter 9 | public class TickLocation { 10 | private final BlockPosition position; 11 | private final UUID uuid; 12 | 13 | public TickLocation(BlockPosition position) { 14 | this.position = position; 15 | uuid = null; 16 | } 17 | 18 | public TickLocation(BlockPosition position, UUID uuid) { 19 | this.position = position; 20 | this.uuid = uuid; 21 | } 22 | 23 | public boolean isUniversal() { 24 | return uuid != null; 25 | } 26 | 27 | public Location getLocation() { 28 | return position.toLocation(); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/guide/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package provides the different implementations of our 3 | * {@link io.github.thebusybiscuit.slimefun4.core.guide.SlimefunGuide} 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.implementation.guide; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/handlers/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds simple implementations of {@link io.github.thebusybiscuit.slimefun4.api.items.ItemHandler}. 3 | * These are just handlers that can be re-used frequently. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.implementation.handlers; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/EnchantedItem.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.implementation.items; 2 | 3 | import io.github.thebusybiscuit.slimefun4.api.items.ItemGroup; 4 | import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem; 5 | import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItemStack; 6 | import io.github.thebusybiscuit.slimefun4.api.recipes.RecipeType; 7 | import javax.annotation.ParametersAreNonnullByDefault; 8 | import org.bukkit.inventory.ItemStack; 9 | 10 | /** 11 | * The {@link EnchantedItem} is an enchanted {@link SlimefunItem}. 12 | * By default, this class sets items to be not disenchantable. 13 | * 14 | * @author Fury_Phoenix 15 | * 16 | */ 17 | public class EnchantedItem extends SlimefunItem { 18 | 19 | @ParametersAreNonnullByDefault 20 | public EnchantedItem(ItemGroup itemGroup, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe) { 21 | super(itemGroup, item, recipeType, recipe); 22 | disenchantable = false; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/HiddenItem.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.implementation.items; 2 | 3 | import io.github.thebusybiscuit.slimefun4.api.items.ItemGroup; 4 | import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem; 5 | import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItemStack; 6 | import io.github.thebusybiscuit.slimefun4.api.recipes.RecipeType; 7 | import io.github.thebusybiscuit.slimefun4.core.attributes.NotConfigurable; 8 | import javax.annotation.ParametersAreNonnullByDefault; 9 | import org.bukkit.inventory.ItemStack; 10 | 11 | /** 12 | * The {@link HiddenItem} is a {@link NotConfigurable} {@link SlimefunItem} 13 | * that is hidden from the Slimefun guide. 14 | * 15 | * @author char321 16 | * 17 | */ 18 | public class HiddenItem extends SlimefunItem implements NotConfigurable { 19 | 20 | @ParametersAreNonnullByDefault 21 | public HiddenItem(ItemGroup itemGroup, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe) { 22 | super(itemGroup, item, recipeType, recipe); 23 | this.setHidden(true); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/altar/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds the {@link io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem} implementations related to 3 | * the {@link io.github.thebusybiscuit.slimefun4.implementation.items.altar.AncientAltar}. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.implementation.items.altar; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/androids/AndroidAction.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.implementation.items.androids; 2 | 3 | import city.norain.slimefun4.api.menu.UniversalMenu; 4 | import org.bukkit.block.Block; 5 | import org.bukkit.block.BlockFace; 6 | 7 | @FunctionalInterface 8 | interface AndroidAction { 9 | 10 | void perform(ProgrammableAndroid android, Block b, UniversalMenu inventory, BlockFace face); 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/androids/AndroidInstance.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.implementation.items.androids; 2 | 3 | import org.bukkit.block.Block; 4 | 5 | public class AndroidInstance { 6 | 7 | private final ProgrammableAndroid android; 8 | private final Block b; 9 | 10 | public AndroidInstance(ProgrammableAndroid android, Block b) { 11 | this.android = android; 12 | this.b = b; 13 | } 14 | 15 | public ProgrammableAndroid getAndroid() { 16 | return android; 17 | } 18 | 19 | public Block getBlock() { 20 | return b; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/androids/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds implementations of {@link io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem} 3 | * that are related to the {@link io.github.thebusybiscuit.slimefun4.implementation.items.androids.ProgrammableAndroid}. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.implementation.items.androids; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/armor/EnderBoots.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.implementation.items.armor; 2 | 3 | import io.github.thebusybiscuit.slimefun4.api.items.ItemGroup; 4 | import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem; 5 | import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItemStack; 6 | import io.github.thebusybiscuit.slimefun4.api.recipes.RecipeType; 7 | import javax.annotation.ParametersAreNonnullByDefault; 8 | import org.bukkit.entity.EnderPearl; 9 | import org.bukkit.inventory.ItemStack; 10 | 11 | /** 12 | * {@link EnderBoots} are a pair of boots which negate damage caused 13 | * by throwing an {@link EnderPearl}. 14 | * 15 | * @author TheBusyBiscuit 16 | * 17 | */ 18 | public class EnderBoots extends SlimefunItem { 19 | 20 | @ParametersAreNonnullByDefault 21 | public EnderBoots(ItemGroup itemGroup, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe) { 22 | super(itemGroup, item, recipeType, recipe); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/armor/FarmerShoes.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.implementation.items.armor; 2 | 3 | import io.github.thebusybiscuit.slimefun4.api.items.ItemGroup; 4 | import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem; 5 | import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItemStack; 6 | import io.github.thebusybiscuit.slimefun4.api.recipes.RecipeType; 7 | import javax.annotation.ParametersAreNonnullByDefault; 8 | import org.bukkit.block.data.type.Farmland; 9 | import org.bukkit.entity.Player; 10 | import org.bukkit.inventory.ItemStack; 11 | 12 | /** 13 | * The {@link FarmerShoes} are just a simple pair of boots which allows a {@link Player} to walk 14 | * on {@link Farmland} without breaking it. 15 | * 16 | * @author TheBusyBiscuit 17 | * 18 | */ 19 | public class FarmerShoes extends SlimefunItem { 20 | 21 | @ParametersAreNonnullByDefault 22 | public FarmerShoes(ItemGroup itemGroup, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe) { 23 | super(itemGroup, item, recipeType, recipe); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/armor/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains implementations of {@link io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem} that are 3 | * related to armor, such as the expandable 4 | * {@link io.github.thebusybiscuit.slimefun4.implementation.items.armor.SlimefunArmorPiece} class for example. 5 | */ 6 | package io.github.thebusybiscuit.slimefun4.implementation.items.armor; 7 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/autocrafters/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains any electric machines related to auomatic crafting tables. 3 | */ 4 | package io.github.thebusybiscuit.slimefun4.implementation.items.autocrafters; 5 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/backpacks/SoulboundBackpack.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.implementation.items.backpacks; 2 | 3 | import io.github.thebusybiscuit.slimefun4.api.items.ItemGroup; 4 | import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItemStack; 5 | import io.github.thebusybiscuit.slimefun4.api.recipes.RecipeType; 6 | import io.github.thebusybiscuit.slimefun4.core.attributes.Soulbound; 7 | import javax.annotation.ParametersAreNonnullByDefault; 8 | import org.bukkit.inventory.ItemStack; 9 | 10 | /** 11 | * This implementation of {@link SlimefunBackpack} is also {@link Soulbound}. 12 | * 13 | * @author TheBusyBiscuit 14 | * 15 | */ 16 | public class SoulboundBackpack extends SlimefunBackpack implements Soulbound { 17 | 18 | @ParametersAreNonnullByDefault 19 | public SoulboundBackpack( 20 | int size, ItemGroup itemGroup, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe) { 21 | super(size, itemGroup, item, recipeType, recipe); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/backpacks/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds classes related to 3 | * {@link io.github.thebusybiscuit.slimefun4.implementation.items.backpacks.SlimefunBackpack}. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.implementation.items.backpacks; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/blocks/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains a few miscellaneous implementations of 3 | * {@link io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem} which are blocks. 4 | * Such as the {@link io.github.thebusybiscuit.slimefun4.implementation.items.blocks.BlockPlacer} for example. 5 | */ 6 | package io.github.thebusybiscuit.slimefun4.implementation.items.blocks; 7 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/cargo/CargoNode.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.implementation.items.cargo; 2 | 3 | import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem; 4 | import javax.annotation.Nonnull; 5 | import org.bukkit.block.Block; 6 | 7 | /** 8 | * This interface marks a {@link SlimefunItem} as a {@link CargoNode}. 9 | *

10 | * Do not implement this interface yourself, it will not have any effect. 11 | * 12 | * @author TheBusyBiscuit 13 | * 14 | */ 15 | public interface CargoNode { 16 | 17 | /** 18 | * This returns the selected channel for the given {@link Block}. 19 | * 20 | * @param b 21 | * The {@link Block} 22 | * 23 | * @return The channel which this {@link CargoNode} is currently on 24 | */ 25 | int getSelectedChannel(@Nonnull Block b); 26 | 27 | /** 28 | * This returns whether this {@link CargoNode} has item filtering capabilities. 29 | * 30 | * @return Whether this {@link CargoNode} can filter items 31 | */ 32 | boolean hasItemFilter(); 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/cargo/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package provides the different implementations of 3 | * {@link io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem} 4 | * that are related to the {@link io.github.thebusybiscuit.slimefun4.core.networks.cargo.CargoNet}, most 5 | * notably: Cargo Nodes. 6 | */ 7 | package io.github.thebusybiscuit.slimefun4.implementation.items.cargo; 8 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/gadgets/MultiToolMode.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.implementation.items.electric.gadgets; 2 | 3 | import io.github.thebusybiscuit.slimefun4.api.items.ItemSetting; 4 | import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem; 5 | import javax.annotation.Nonnull; 6 | import javax.annotation.Nullable; 7 | 8 | class MultiToolMode { 9 | 10 | private final ItemSetting item; 11 | private final ItemSetting enabled; 12 | 13 | MultiToolMode(@Nonnull MultiTool multiTool, int id, @Nonnull String itemId) { 14 | this.item = new ItemSetting<>(multiTool, "mode." + id + ".item", itemId); 15 | this.enabled = new ItemSetting<>(multiTool, "mode." + id + ".enabled", true); 16 | 17 | multiTool.addItemSetting(item, enabled); 18 | } 19 | 20 | @Nullable SlimefunItem getItem() { 21 | return SlimefunItem.getById(item.getValue()); 22 | } 23 | 24 | boolean isEnabled() { 25 | return enabled.getValue(); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/gadgets/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds implementations of {@link io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem} 3 | * that are used in combination with electricity, like the 4 | * {@link io.github.thebusybiscuit.slimefun4.implementation.items.electric.gadgets.Multimeter} or the 5 | * {@link io.github.thebusybiscuit.slimefun4.implementation.items.electric.gadgets.SolarHelmet} 6 | */ 7 | package io.github.thebusybiscuit.slimefun4.implementation.items.electric.gadgets; 8 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/generators/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains the different implementations of 3 | * {@link me.mrCookieSlime.Slimefun.Objects.SlimefunItem.abstractItems.AGenerator}. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.implementation.items.electric.generators; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/accelerators/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains any electric machines related to growth accelerations. 3 | * These growth accelerators speed up the growth of animals or plants. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.implementation.items.electric.machines.accelerators; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/enchanting/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains any electric machines related to enchanting. 3 | * Prominent examples are the 4 | * {@link io.github.thebusybiscuit.slimefun4.implementation.items.electric.machines.enchanting.AutoEnchanter} and 5 | * {@link io.github.thebusybiscuit.slimefun4.implementation.items.electric.machines.enchanting.AutoDisenchanter} 6 | */ 7 | package io.github.thebusybiscuit.slimefun4.implementation.items.electric.machines.enchanting; 8 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/entities/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains any electric machines related to {@link org.bukkit.entity.Entity} interactions, most notably 3 | * the 4 | * {@link io.github.thebusybiscuit.slimefun4.implementation.items.electric.machines.entities.AbstractEntityAssembler}. 5 | */ 6 | package io.github.thebusybiscuit.slimefun4.implementation.items.electric.machines.entities; 7 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains the different implementations of 3 | * {@link io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem} that are also an 4 | * {@link io.github.thebusybiscuit.slimefun4.core.attributes.EnergyNetComponent} with the type {@code CONSUMER}. 5 | * 6 | * Machines do not generate power, they consume it. 7 | */ 8 | package io.github.thebusybiscuit.slimefun4.implementation.items.electric.machines; 9 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains the different implementations of 3 | * {@link io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem} that also implement the interface 4 | * {@link io.github.thebusybiscuit.slimefun4.core.attributes.EnergyNetComponent} 5 | */ 6 | package io.github.thebusybiscuit.slimefun4.implementation.items.electric; 7 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/reactors/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains the different implementations of 3 | * {@link io.github.thebusybiscuit.slimefun4.implementation.items.electric.reactors.Reactor}. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.implementation.items.electric.reactors; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/elevator/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds the {@link io.github.thebusybiscuit.slimefun4.implementation.items.elevator.ElevatorPlate} and any 3 | * related classes to making the elevator work. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.implementation.items.elevator; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/food/BirthdayCake.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.implementation.items.food; 2 | 3 | import io.github.thebusybiscuit.slimefun4.api.items.ItemGroup; 4 | import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem; 5 | import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItemStack; 6 | import io.github.thebusybiscuit.slimefun4.api.recipes.RecipeType; 7 | import io.github.thebusybiscuit.slimefun4.core.attributes.NotPlaceable; 8 | import javax.annotation.ParametersAreNonnullByDefault; 9 | import org.bukkit.inventory.ItemStack; 10 | 11 | /** 12 | * The {@link BirthdayCake} is a seasonal item which only appears in october. 13 | * This is just a nod to me, TheBusyBiscuit, being born on October 26th. 14 | * 15 | * @author TheBusyBiscuit 16 | * 17 | */ 18 | public class BirthdayCake extends SlimefunItem implements NotPlaceable { 19 | 20 | @ParametersAreNonnullByDefault 21 | public BirthdayCake(ItemGroup itemGroup, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe) { 22 | super(itemGroup, item, recipeType, recipe); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/food/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds implementations of {@link io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem} 3 | * that are related to food. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.implementation.items.food; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/geo/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds implementations of any {@link io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem} that 3 | * deals with the {@link io.github.thebusybiscuit.slimefun4.api.geo.GEOResource} API. 4 | * The most prominent example of this being the 5 | * {@link io.github.thebusybiscuit.slimefun4.implementation.items.geo.GEOScanner} and the 6 | * {@link io.github.thebusybiscuit.slimefun4.implementation.items.geo.GEOMiner}. 7 | */ 8 | package io.github.thebusybiscuit.slimefun4.implementation.items.geo; 9 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/gps/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds implementations of {@link io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem} 3 | * that are related to the {@link io.github.thebusybiscuit.slimefun4.api.gps.GPSNetwork}. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.implementation.items.gps; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/magical/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds implementations of {@link io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem} 3 | * that are considered magical items. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.implementation.items.magical; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/magical/runes/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds any implementation of {@link io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem} 3 | * that is an ancient rune with functionality. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.implementation.items.magical.runes; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/magical/staves/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds any implementation of {@link io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem} that is 3 | * considered a "Magical Staff". 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.implementation.items.magical.staves; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/magical/talismans/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds any {@link io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem} related to the 3 | * {@link io.github.thebusybiscuit.slimefun4.implementation.items.magical.talismans.Talisman}. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.implementation.items.magical.talismans; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/medical/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds implementations of {@link io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem} that are 3 | * related to healing yourself. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.implementation.items.medical; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/misc/AlloyIngot.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.implementation.items.misc; 2 | 3 | import io.github.thebusybiscuit.slimefun4.api.items.ItemGroup; 4 | import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem; 5 | import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItemStack; 6 | import io.github.thebusybiscuit.slimefun4.api.recipes.RecipeType; 7 | import io.github.thebusybiscuit.slimefun4.implementation.items.multiblocks.Smeltery; 8 | import javax.annotation.ParametersAreNonnullByDefault; 9 | import org.bukkit.inventory.ItemStack; 10 | 11 | /** 12 | * An {@link AlloyIngot} is a blend of different metals and resources. 13 | * These ingots can be crafted using a {@link Smeltery}. 14 | * 15 | * @author TheBusyBiscuit 16 | * 17 | * @see Smeltery 18 | * 19 | */ 20 | public class AlloyIngot extends SlimefunItem { 21 | 22 | @ParametersAreNonnullByDefault 23 | public AlloyIngot(ItemGroup itemGroup, SlimefunItemStack item, ItemStack[] recipe) { 24 | super(itemGroup, item, RecipeType.SMELTERY, recipe); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/misc/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds any miscellaneous {@link io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem} 3 | * implementations. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.implementation.items.misc; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/multiblocks/miner/OreDictionary.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.implementation.items.multiblocks.miner; 2 | 3 | import io.github.thebusybiscuit.slimefun4.api.MinecraftVersion; 4 | import java.util.Random; 5 | import javax.annotation.Nonnull; 6 | import javax.annotation.ParametersAreNonnullByDefault; 7 | import org.bukkit.Material; 8 | import org.bukkit.inventory.ItemStack; 9 | 10 | /** 11 | * Simple interface to map ore blocks to their respective item(s). 12 | * 13 | * @author TheBusyBiscuit 14 | * 15 | */ 16 | interface OreDictionary { 17 | 18 | @Nonnull 19 | @ParametersAreNonnullByDefault 20 | ItemStack getDrops(Material material, Random random); 21 | 22 | static @Nonnull OreDictionary forVersion(@Nonnull MinecraftVersion version) { 23 | if (version.isAtLeast(MinecraftVersion.MINECRAFT_1_17)) { 24 | // MC 1.17 - 1.18 25 | return new OreDictionary17(); 26 | } else { 27 | // MC 1.16 28 | return new OreDictionary16(); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/multiblocks/miner/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds classes associated with the 3 | * {@link io.github.thebusybiscuit.slimefun4.implementation.items.multiblocks.miner.IndustrialMiner}. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.implementation.items.multiblocks.miner; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/multiblocks/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains all the different implementations of 3 | * {@link io.github.thebusybiscuit.slimefun4.core.multiblocks.MultiBlockMachine} 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.implementation.items.multiblocks; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains the different classes for each 3 | * {@link io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem} 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.implementation.items; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/seasonal/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds implementations of {@link io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem} 3 | * that can be encountered in a {@link io.github.thebusybiscuit.slimefun4.api.items.groups.SeasonalItemGroup}. 4 | * These items only show up at a certain time of the year. 5 | */ 6 | package io.github.thebusybiscuit.slimefun4.implementation.items.seasonal; 7 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/teleporter/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds implementations of {@link io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem} 3 | * that are related to the {@link io.github.thebusybiscuit.slimefun4.implementation.items.teleporter.Teleporter}. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.implementation.items.teleporter; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/tools/ExplosivePickaxe.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.implementation.items.tools; 2 | 3 | import io.github.thebusybiscuit.slimefun4.api.items.ItemGroup; 4 | import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItemStack; 5 | import io.github.thebusybiscuit.slimefun4.api.recipes.RecipeType; 6 | import javax.annotation.ParametersAreNonnullByDefault; 7 | import org.bukkit.block.Block; 8 | import org.bukkit.inventory.ItemStack; 9 | 10 | /** 11 | * The {@link ExplosivePickaxe} is a pickaxe which can destroy {@link Block}s 12 | * in a size of 3 by 3. It also creates a explosion animation. 13 | * 14 | * @author TheBusyBiscuit 15 | * 16 | * @see ExplosiveShovel 17 | * @see ExplosiveTool 18 | * 19 | */ 20 | public class ExplosivePickaxe extends ExplosiveTool { 21 | 22 | @ParametersAreNonnullByDefault 23 | public ExplosivePickaxe(ItemGroup itemGroup, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe) { 24 | super(itemGroup, item, recipeType, recipe); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/tools/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds implementations of {@link io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem} 3 | * that are tools. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.implementation.items.tools; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/weapons/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds implementations of {@link io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem} 3 | * that are weapons, implementations of 4 | * {@link io.github.thebusybiscuit.slimefun4.implementation.items.weapons.SlimefunBow} for example. 5 | */ 6 | package io.github.thebusybiscuit.slimefun4.implementation.items.weapons; 7 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/crafting/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds every {@link org.bukkit.event.Listener} which is responsible for preventing that a 3 | * {@link io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem} is used in an unallowed crafting operation 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.implementation.listeners.crafting; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/entity/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains any {@link org.bukkit.event.Listener} from Slimefun which is related to an 3 | * {@link org.bukkit.entity.Entity}. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.implementation.listeners.entity; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains all implementations of {@link org.bukkit.event.Listener} that Slimefun uses. 3 | */ 4 | package io.github.thebusybiscuit.slimefun4.implementation.listeners; 5 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/operations/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains implementations of {@link io.github.thebusybiscuit.slimefun4.core.machines.MachineOperation}. 3 | */ 4 | package io.github.thebusybiscuit.slimefun4.implementation.operations; 5 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds all classes that are related to the actual implementation of this plugin. 3 | * This includes implementations of {@link io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem} but also any 4 | * {@link org.bukkit.event.Listener}. 5 | */ 6 | package io.github.thebusybiscuit.slimefun4.implementation; 7 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/resources/GEOResourcesSetup.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.implementation.resources; 2 | 3 | import io.github.thebusybiscuit.slimefun4.api.geo.GEOResource; 4 | 5 | /** 6 | * This static setup class is used to register all default instances of 7 | * {@link GEOResource} that Slimefun includes out of the box. 8 | * 9 | * @author TheBusyBiscuit 10 | */ 11 | public final class GEOResourcesSetup { 12 | 13 | private GEOResourcesSetup() {} 14 | 15 | public static void setup() { 16 | new OilResource().register(); 17 | new NetherIceResource().register(); 18 | new UraniumResource().register(); 19 | new SaltResource().register(); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/resources/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains all implementations of {@link io.github.thebusybiscuit.slimefun4.api.geo.GEOResource}. 3 | */ 4 | package io.github.thebusybiscuit.slimefun4.implementation.resources; 5 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/settings/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds implementations of {@link io.github.thebusybiscuit.slimefun4.api.items.ItemSetting} that are for 3 | * very specific {@link io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem SlimefunItems} and generally not 4 | * very useful out of their context. 5 | */ 6 | package io.github.thebusybiscuit.slimefun4.implementation.settings; 7 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/setup/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * In this package we initialize our items, researches and stuff. 3 | */ 4 | package io.github.thebusybiscuit.slimefun4.implementation.setup; 5 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/tasks/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains several tasks that Slimefun runs regularly. 3 | */ 4 | package io.github.thebusybiscuit.slimefun4.implementation.tasks; 5 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/implementation/tasks/player/ParachuteTask.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.implementation.tasks.player; 2 | 3 | import javax.annotation.Nonnull; 4 | import org.bukkit.entity.Player; 5 | import org.bukkit.util.Vector; 6 | 7 | public class ParachuteTask extends AbstractPlayerTask { 8 | 9 | public ParachuteTask(@Nonnull Player p) { 10 | super(p); 11 | } 12 | 13 | @Override 14 | protected void executeTask() { 15 | Vector vector = new Vector(0, 1, 0); 16 | vector.multiply(-0.1); 17 | p.setVelocity(vector); 18 | p.setFallDistance(0F); 19 | 20 | if (!p.isSneaking()) { 21 | cancel(); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/integrations/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds classes which are related to integrations between Slimefun and Third-Party plugins. 3 | */ 4 | package io.github.thebusybiscuit.slimefun4.integrations; 5 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/storage/Storage.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.storage; 2 | 3 | import com.google.common.annotations.Beta; 4 | import io.github.thebusybiscuit.slimefun4.storage.data.PlayerData; 5 | import java.util.UUID; 6 | import javax.annotation.concurrent.ThreadSafe; 7 | 8 | /** 9 | * The {@link Storage} interface is the abstract layer on top of our storage backends. 10 | * Every backend has to implement this interface and has to implement it in a thread-safe way. 11 | * There will be no expectation of running functions in here within the main thread. 12 | * 13 | *

14 | * This API is still experimental, it may change without notice. 15 | */ 16 | @Beta 17 | @ThreadSafe 18 | public interface Storage { 19 | 20 | PlayerData loadPlayerData(UUID uuid); 21 | 22 | void savePlayerData(UUID uuid, PlayerData data); 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/utils/FileUtils.java: -------------------------------------------------------------------------------- 1 | package io.github.thebusybiscuit.slimefun4.utils; 2 | 3 | import java.io.File; 4 | 5 | public class FileUtils { 6 | 7 | public static boolean deleteDirectory(File folder) { 8 | if (folder.isDirectory()) { 9 | File[] files = folder.listFiles(); 10 | 11 | if (files != null) { 12 | for (File file : files) { 13 | // Recursive call to delete files and subfolders 14 | if (!deleteDirectory(file)) { 15 | return false; 16 | } 17 | } 18 | } 19 | } 20 | 21 | // Delete the folder itself 22 | return folder.delete(); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/utils/biomes/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains classes centered around our {@link io.github.thebusybiscuit.slimefun4.utils.biomes.BiomeMap} 3 | * utility. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.utils.biomes; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/utils/itemstack/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains some utility classes that revolve around the creation or handling of an 3 | * {@link org.bukkit.inventory.ItemStack}. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.utils.itemstack; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/utils/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package contains some utility classes that offer handy ways to do stuff. 3 | * They are often not directly related to Slimefun. 4 | */ 5 | package io.github.thebusybiscuit.slimefun4.utils; 6 | -------------------------------------------------------------------------------- /src/main/java/io/github/thebusybiscuit/slimefun4/utils/tags/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This package holds utilities related to the {@link io.github.thebusybiscuit.slimefun4.utils.tags.SlimefunTag} enum. 3 | */ 4 | package io.github.thebusybiscuit.slimefun4.utils.tags; 5 | -------------------------------------------------------------------------------- /src/main/java/me/mrCookieSlime/CSCoreLibPlugin/general/Inventory/ClickAction.java: -------------------------------------------------------------------------------- 1 | package me.mrCookieSlime.CSCoreLibPlugin.general.Inventory; 2 | 3 | /** 4 | * An old remnant of CS-CoreLib. 5 | * This will be removed once we updated everything. 6 | * Don't look at the code, it will be gone soon, don't worry. 7 | */ 8 | @Deprecated 9 | public class ClickAction { 10 | 11 | private boolean right; 12 | private boolean shift; 13 | 14 | public ClickAction(boolean rightClicked, boolean shiftClicked) { 15 | this.right = rightClicked; 16 | this.shift = shiftClicked; 17 | } 18 | 19 | public boolean isRightClicked() { 20 | return right; 21 | } 22 | 23 | public boolean isShiftClicked() { 24 | return shift; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/me/mrCookieSlime/CSCoreLibPlugin/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Old CS-CoreLib 1.X code. 3 | */ 4 | @java.lang.Deprecated 5 | package me.mrCookieSlime.CSCoreLibPlugin; 6 | -------------------------------------------------------------------------------- /src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/UnregisterReason.java: -------------------------------------------------------------------------------- 1 | package me.mrCookieSlime.Slimefun.Objects.SlimefunItem; 2 | 3 | import me.mrCookieSlime.Slimefun.Objects.SlimefunBlockHandler; 4 | 5 | /** 6 | * Defines how a block handled by Slimefun is being unregistered. 7 | *

8 | * It is notably used by 9 | * {@link me.mrCookieSlime.Slimefun.Objects.SlimefunBlockHandler#onBreak(org.bukkit.entity.Player, org.bukkit.block.Block, SlimefunItem, UnregisterReason)}. 10 | * 11 | * @author TheBusyBiscuit 12 | * 13 | * @deprecated This enum is no longer needed 14 | * 15 | * @see SlimefunBlockHandler 16 | */ 17 | @Deprecated 18 | public enum UnregisterReason { 19 | 20 | /** 21 | * An explosion destroys the block. 22 | */ 23 | EXPLODE, 24 | 25 | /** 26 | * A player breaks the block. 27 | */ 28 | PLAYER_BREAK, 29 | 30 | /** 31 | * An android miner breaks the block. 32 | */ 33 | ANDROID_DIG 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/abstractItems/MachineRecipe.java: -------------------------------------------------------------------------------- 1 | package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.abstractItems; 2 | 3 | import org.bukkit.inventory.ItemStack; 4 | 5 | // This class will be rewritten in the "Recipe Rewrite" 6 | public class MachineRecipe { 7 | 8 | private int ticks; 9 | private final ItemStack[] input; 10 | private final ItemStack[] output; 11 | 12 | public MachineRecipe(int seconds, ItemStack[] input, ItemStack[] output) { 13 | this.ticks = seconds * 2; 14 | this.input = input; 15 | this.output = output; 16 | } 17 | 18 | public ItemStack[] getInput() { 19 | return this.input; 20 | } 21 | 22 | public ItemStack[] getOutput() { 23 | return this.output; 24 | } 25 | 26 | public void setTicks(int ticks) { 27 | this.ticks = ticks; 28 | } 29 | 30 | public int getTicks() { 31 | return ticks; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/interfaces/DamageableItem.java: -------------------------------------------------------------------------------- 1 | package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.interfaces; 2 | 3 | /** 4 | * @deprecated Moved to {@code io.github.thebusybiscuit.slimefun4.core.attributes.DamageableItem} 5 | */ 6 | @Deprecated 7 | public interface DamageableItem extends io.github.thebusybiscuit.slimefun4.core.attributes.DamageableItem {} 8 | -------------------------------------------------------------------------------- /src/main/java/me/mrCookieSlime/Slimefun/api/EmptyBlockData.java: -------------------------------------------------------------------------------- 1 | package me.mrCookieSlime.Slimefun.api; 2 | 3 | /** 4 | * This package-private class is supposed to be used as a singleton fallback in places where a 5 | * {@link NullPointerException} should be avoided, like {@link BlockStorage#getLocationInfo(org.bukkit.Location)}. 6 | * 7 | * This object is a read-only variant of {@link BlockInfoConfig} and only serves the purpose of 8 | * performance and memory optimization. 9 | * 10 | * @author TheBusyBiscuit 11 | * 12 | */ 13 | class EmptyBlockData extends BlockInfoConfig { 14 | 15 | EmptyBlockData() { 16 | super(null); 17 | } 18 | 19 | @Override 20 | public void setValue(String path, Object value) { 21 | throw new UnsupportedOperationException( 22 | "Cannot store values (" + path + ':' + value + " on a read-only data object!"); 23 | } 24 | 25 | @Override 26 | public String getString(String path) { 27 | return null; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/me/mrCookieSlime/Slimefun/api/item_transport/ItemTransportFlow.java: -------------------------------------------------------------------------------- 1 | package me.mrCookieSlime.Slimefun.api.item_transport; 2 | 3 | import io.github.thebusybiscuit.slimefun4.core.networks.cargo.CargoNet; 4 | import me.mrCookieSlime.Slimefun.api.inventory.BlockMenuPreset; 5 | import org.bukkit.inventory.Inventory; 6 | import org.bukkit.inventory.ItemStack; 7 | 8 | /** 9 | * This enum represents the direction of an {@link ItemTransportFlow}. 10 | * This is used in cases to segregate between ingoing and outgoing flows. 11 | * At the moment there are just these two states. 12 | * 13 | * @author TheBusyBiscuit 14 | * @see CargoNet 15 | * @see BlockMenuPreset 16 | */ 17 | public enum ItemTransportFlow { 18 | 19 | /** 20 | * This state represents an {@link ItemStack} being inserted into 21 | * an {@link Inventory}. 22 | */ 23 | INSERT, 24 | 25 | /** 26 | * This state represents an {@link ItemStack} being withdrawn 27 | * from an {@link Inventory}. 28 | */ 29 | WITHDRAW 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/me/mrCookieSlime/Slimefun/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Old Slimefun 4.0 code. 3 | */ 4 | @java.lang.Deprecated 5 | package me.mrCookieSlime.Slimefun; 6 | -------------------------------------------------------------------------------- /src/main/java/me/mrCookieSlime/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * These are the old packages, the remnants of past versions that have not been rewritten yet. 3 | * Don't look too close at the code that lays here. It's horrible, believe me. 4 | * Once we updated everything, all of these classes will be removed. 5 | */ 6 | @java.lang.Deprecated 7 | package me.mrCookieSlime; 8 | -------------------------------------------------------------------------------- /src/main/resources/biome-maps/nether_ice_v1.16.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "value" : 32, 4 | "biomes" : [ 5 | "minecraft:nether_wastes", 6 | "minecraft:soul_sand_valley" 7 | ] 8 | }, 9 | { 10 | "value" : 48, 11 | "biomes" : [ 12 | "minecraft:crimson_forest", 13 | "minecraft:warped_forest" 14 | ] 15 | }, 16 | { 17 | "value" : 64, 18 | "biomes" : [ 19 | "minecraft:basalt_deltas" 20 | ] 21 | } 22 | ] 23 | -------------------------------------------------------------------------------- /src/main/resources/biome-maps/salt_v1.16.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "value" : 20, 4 | "biomes" : [ 5 | "minecraft:swamp", 6 | "minecraft:swamp_hills" 7 | ] 8 | }, 9 | { 10 | "value" : 40, 11 | "biomes" : [ 12 | "minecraft:beach", 13 | "minecraft:gravelly_mountains", 14 | "minecraft:stone_shore" 15 | ] 16 | }, 17 | { 18 | "value" : 60, 19 | "biomes" : [ 20 | "minecraft:ocean", 21 | "minecraft:cold_ocean", 22 | "minecraft:warm_ocean", 23 | "minecraft:lukewarm_ocean", 24 | "minecraft:deep_ocean", 25 | "minecraft:deep_cold_ocean", 26 | "minecraft:deep_warm_ocean", 27 | "minecraft:deep_lukewarm_ocean" 28 | ] 29 | } 30 | ] 31 | -------------------------------------------------------------------------------- /src/main/resources/biome-maps/salt_v1.18.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "value" : 20, 4 | "biomes" : [ 5 | "minecraft:swamp" 6 | ] 7 | }, 8 | { 9 | "value" : 40, 10 | "biomes" : [ 11 | "minecraft:beach", 12 | "minecraft:windswept_gravelly_hills", 13 | "minecraft:stony_shore", 14 | "minecraft:stony_peaks", 15 | "minecraft:dripstone_caves" 16 | ] 17 | }, 18 | { 19 | "value" : 60, 20 | "biomes" : [ 21 | "minecraft:ocean", 22 | "minecraft:cold_ocean", 23 | "minecraft:warm_ocean", 24 | "minecraft:lukewarm_ocean", 25 | "minecraft:deep_ocean", 26 | "minecraft:deep_cold_ocean", 27 | "minecraft:deep_lukewarm_ocean" 28 | ] 29 | } 30 | ] 31 | -------------------------------------------------------------------------------- /src/main/resources/biome-maps/uranium_v1.18.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "value" : 5, 4 | "biomes" : [ 5 | "minecraft:desert", 6 | "minecraft:beach", 7 | "minecraft:stony_shore" 8 | ] 9 | }, 10 | { 11 | "value" : 8, 12 | "biomes" : [ 13 | "minecraft:jagged_peaks", 14 | "minecraft:stony_peaks", 15 | "minecraft:windswept_hills", 16 | "minecraft:windswept_gravelly_hills" 17 | ] 18 | }, 19 | { 20 | "value" : 12, 21 | "biomes" : [ 22 | "minecraft:badlands", 23 | "minecraft:eroded_badlands", 24 | "minecraft:wooded_badlands", 25 | "minecraft:dripstone_caves" 26 | ] 27 | }, 28 | { 29 | "value" : 16, 30 | "biomes" : [ 31 | "minecraft:basalt_deltas" 32 | ] 33 | } 34 | ] 35 | -------------------------------------------------------------------------------- /src/main/resources/item-models.yml: -------------------------------------------------------------------------------- 1 | # Slimefun items that are not registered. 2 | SLIMEFUN_GUIDE: 0 3 | ENDER_TALISMAN: 0 4 | 5 | # UI elements also have their own id. 6 | _UI_BACKGROUND: 0 7 | _UI_NO_PERMISSION: 0 8 | _UI_NOT_RESEARCHED: 0 9 | _UI_INPUT_SLOT: 0 10 | _UI_OUTPUT_SLOT: 0 11 | _UI_BACK: 0 12 | _UI_MENU: 0 13 | _UI_SEARCH: 0 14 | _UI_WIKI: 0 15 | _UI_PREVIOUS_ACTIVE: 0 16 | _UI_PREVIOUS_INACTIVE: 0 17 | _UI_NEXT_ACTIVE: 0 18 | _UI_NEXT_INACTIVE: 0 19 | 20 | ## The rest of the file will be auto-populated with all registered Slimefun items. -------------------------------------------------------------------------------- /src/main/resources/languages/af/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/af/messages.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/af/recipes.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/af/researches.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/af/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/ar/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | slimefun: 3 | armor: الدروع 4 | basic_machines: آلات بدائية 5 | birthday: عيد ميلاد ذا بيزي بسكويت (26 أكتور) 6 | cargo: إدارة الشحن 7 | christmas: الكريسماس (ديسمبر) 8 | easter: عيد الفصح (أبريل) 9 | electricity: الطاقة والكهرباء 10 | ender_talismans: تعويذات الإندر (المستوى الثاني) 11 | food: طعام 12 | gps: أجهزة الملاحة 13 | halloween: الهالوين (31 أكتوبر) 14 | items: عناصر مفيدة 15 | magical_armor: الدروع السحرية 16 | magical_gadgets: الأدوات السحرية 17 | magical_items: العناصر السحرية 18 | misc: عناصر منوعة 19 | resources: موارد 20 | talismans: التعويذات (المستوى الأول) 21 | tech_misc: مكونات تقنية 22 | technical_gadgets: أدوات تقنية 23 | tools: الأدوات 24 | valentines_day: عيد الحب (14 فبراير) 25 | weapons: الأسلحة 26 | androids: الروبوتات المبرمجة 27 | -------------------------------------------------------------------------------- /src/main/resources/languages/ar/recipes.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/ar/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | tooltips: 3 | results: نتائج البحث الجغرافي 4 | chunk: قسم ممسوح 5 | world: العالم 6 | unit: وحدة 7 | units: وحدات 8 | resources: 9 | slimefun: 10 | oil: نفط 11 | nether_ice: جليد جهنمي 12 | salt: ملح 13 | uranium: يورانيوم 14 | slimefunorechunks: 15 | iron_ore_chunk: قسم ركاز حديد 16 | gold_ore_chunk: قسم ركاز ذهب 17 | copper_ore_chunk: قسم ركاز نحاس 18 | tin_ore_chunk: قسم ركاز قصدير 19 | silver_ore_chunk: قسم ركاز فضة 20 | aluminum_ore_chunk: قسم ركاز ألمنيوم 21 | lead_ore_chunk: قسم ركاز رصاص 22 | zinc_ore_chunk: قسم ركاز زنك 23 | nickel_ore_chunk: قسم ركاز نيكل 24 | cobalt_ore_chunk: قسم ركاز كوبالت 25 | -------------------------------------------------------------------------------- /src/main/resources/languages/be/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/be/messages.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/be/recipes.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/be/researches.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/be/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/bg/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | slimefun: 3 | weapons: Оръжия 4 | tools: Инструменти 5 | items: Полезни Предмети 6 | food: Храна 7 | basic_machines: Основни Машини 8 | electricity: Енергия и Eлектричество 9 | gps: GPS Машини 10 | armor: Брони 11 | magical_items: Магически Предмети 12 | magical_gadgets: Магически Джаджи 13 | misc: Разни Предмети 14 | technical_gadgets: Технически Джаджи 15 | resources: Ресурси 16 | cargo: Товарно Управление 17 | tech_misc: Технически Компоненти 18 | magical_armor: Магически Брони 19 | talismans: Талисмани (Ниво I) 20 | ender_talismans: Ендър Талисмани (Ниво II) 21 | christmas: Коледа (Декември) 22 | valentines_day: Свети Валентин (14ти Февруари) 23 | easter: Великден (Април) 24 | birthday: Рожденият Ден на TheBusyBiscuit (26ти Октомври) 25 | halloween: Хелоуин (31и Октомври) 26 | androids: Програмируеми Андроиди 27 | -------------------------------------------------------------------------------- /src/main/resources/languages/bg/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | tooltips: 3 | results: Резултати от ГЕО-сканиране 4 | chunk: Сканиран Чънк 5 | world: Свят 6 | unit: Единица 7 | units: Единици 8 | resources: 9 | slimefun: 10 | oil: Масло 11 | nether_ice: Лед от Недъра 12 | salt: Сол 13 | uranium: Уран 14 | slimefunorechunks: 15 | iron_ore_chunk: Чънк с Желязна Руда 16 | gold_ore_chunk: Чънк със Златна Руда 17 | copper_ore_chunk: Чънк с Медна Руда 18 | tin_ore_chunk: Чънк със Калаена Руда 19 | silver_ore_chunk: Чънк със Сребърна Руда 20 | aluminum_ore_chunk: Чънк с Алуминиева Руда 21 | lead_ore_chunk: Чънк с Олова Руда 22 | zinc_ore_chunk: Чънк с Цинкова Руда 23 | nickel_ore_chunk: Чънк с Никелова Руда 24 | cobalt_ore_chunk: Чънк с Кобалтова Руда 25 | -------------------------------------------------------------------------------- /src/main/resources/languages/cs/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | slimefun: 3 | weapons: Zbraně 4 | tools: Nástroje 5 | items: Užitečné předměty 6 | food: Jídlo 7 | basic_machines: Základní stroje 8 | electricity: Energie a elektrika 9 | gps: GPS stroje 10 | armor: Brnění 11 | magical_items: Magické předměty 12 | magical_gadgets: Magické pomůcky 13 | misc: Smíšené předměty 14 | technical_gadgets: Technické pomůcky 15 | resources: Materiály 16 | cargo: Cargo systém 17 | tech_misc: Technické komponenty 18 | magical_armor: Magická zbroj 19 | talismans: Talismany (Tier I) 20 | ender_talismans: Enderitové talismany (Tier II) 21 | christmas: Vánoce (prosinec) 22 | valentines_day: Svatého Valentýna (14. února) 23 | easter: Velikonoce (duben) 24 | birthday: TheBusyBiscuitovy narozeniny (26. říjen) 25 | halloween: Halloween (31. října) 26 | androids: Programovatelné androidy 27 | -------------------------------------------------------------------------------- /src/main/resources/languages/cs/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | resources: 3 | slimefun: 4 | oil: Olej 5 | salt: Sůl 6 | uranium: Uran 7 | nether_ice: Nether led 8 | slimefunorechunks: 9 | aluminum_ore_chunk: Kus hliníkové rudy 10 | cobalt_ore_chunk: Kus kobaltové rudy 11 | copper_ore_chunk: Kus měděné rudy 12 | gold_ore_chunk: Kus zlaté rudy 13 | iron_ore_chunk: Kus železné rudy 14 | lead_ore_chunk: Kus olovové rudy 15 | nickel_ore_chunk: Kus niklové rudy 16 | silver_ore_chunk: Kus stříbrné rudy 17 | tin_ore_chunk: Kus cínové rudy 18 | zinc_ore_chunk: Kus zinkové rudy 19 | tooltips: 20 | results: Výsledky GEO Skenu 21 | unit: Jednotka 22 | units: Jednotky 23 | world: Svět 24 | chunk: Naskenovaný chunk 25 | -------------------------------------------------------------------------------- /src/main/resources/languages/da/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | slimefun: 3 | weapons: våben 4 | tools: Værktøj 5 | items: Nyttige Items 6 | food: Mad 7 | basic_machines: Grundlæggende maskiner 8 | electricity: Energi og elektricitet 9 | gps: GPS-baserede maskiner 10 | armor: Rustning 11 | magical_items: Magiske genstande 12 | magical_gadgets: Magiske gadgets 13 | misc: Diverse Items 14 | technical_gadgets: Tekniske gadgets 15 | resources: Ressourcer 16 | cargo: Laststyring 17 | tech_misc: Tekniske komponenter 18 | magical_armor: Magisk rustning 19 | ender_talismans: Ender Talismans (Tier II) 20 | christmas: Jul (December) 21 | valentines_day: Valentinsdag (14. februar) 22 | easter: Påske (April) 23 | birthday: TheBusyBiscuit's fødselsdag (26. Oktober) 24 | halloween: Halloween (31. Oktober) 25 | talismans: Talismans (niveau I) 26 | -------------------------------------------------------------------------------- /src/main/resources/languages/da/recipes.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/da/researches.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/da/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/de/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | slimefun: 3 | armor: Rüstung 4 | basic_machines: Einfache Maschinen 5 | birthday: TheBusyBiscuit's Geburtstag (26. Oktober) 6 | cargo: Cargo-Management 7 | christmas: Weihnachtszeit (Dezember) 8 | easter: Ostern (April) 9 | electricity: Energie und Elektrizität 10 | ender_talismans: Ender-Talismane (Tier II) 11 | food: Essen 12 | gps: GPS-basierte Maschinen 13 | halloween: Halloween (31. Oktober) 14 | items: Nützliche Gegenstände 15 | magical_armor: Magische Rüstung 16 | magical_gadgets: Magische Gadgets 17 | magical_items: Magische Gegenstände 18 | misc: Sonstige Gegenstände 19 | resources: Ressourcen 20 | talismans: Talismane (Tier I) 21 | tech_misc: Technische Komponenten 22 | technical_gadgets: Technische Gadgets 23 | tools: Werkzeuge 24 | valentines_day: Valentinstag (14. Februar) 25 | weapons: Waffen 26 | androids: Programmierbare Roboter 27 | -------------------------------------------------------------------------------- /src/main/resources/languages/de/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | tooltips: 3 | results: GEO-Scan Ergebnisse 4 | chunk: Gescannter Chunk 5 | world: Welt 6 | unit: Einheit 7 | units: Einheiten 8 | resources: 9 | slimefun: 10 | oil: Öl 11 | nether_ice: Nether-Eis 12 | salt: Salz 13 | uranium: Uran 14 | slimefunorechunks: 15 | iron_ore_chunk: Eisenerzbrocken 16 | gold_ore_chunk: Golderzbrocken 17 | copper_ore_chunk: Kupfererzbrocken 18 | tin_ore_chunk: Zinnerzbrocken 19 | silver_ore_chunk: Silbererzbrocken 20 | aluminum_ore_chunk: Aluminiumerzbrocken 21 | lead_ore_chunk: Bleierzbrocken 22 | zinc_ore_chunk: Zinkerzbrocken 23 | nickel_ore_chunk: Nickelerzbrocken 24 | cobalt_ore_chunk: Kobalterzbrocken 25 | -------------------------------------------------------------------------------- /src/main/resources/languages/el/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/el/messages.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/el/recipes.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/el/researches.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/el/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/en/categories.yml: -------------------------------------------------------------------------------- 1 | slimefun: 2 | weapons: 'Weapons' 3 | tools: 'Tools' 4 | items: 'Useful Items' 5 | food: 'Food' 6 | basic_machines: 'Basic Machines' 7 | electricity: 'Energy and Electricity' 8 | androids: 'Programmable Androids' 9 | gps: 'GPS-based Machines' 10 | armor: 'Armor' 11 | magical_items: 'Magical Items' 12 | magical_gadgets: 'Magical Gadgets' 13 | misc: 'Miscellaneous Items' 14 | technical_gadgets: 'Technical Gadgets' 15 | resources: 'Resources' 16 | cargo: 'Cargo Management' 17 | tech_misc: 'Technical Components' 18 | magical_armor: 'Magical Armor' 19 | talismans: 'Talismans (Tier I)' 20 | ender_talismans: 'Ender Talismans (Tier II)' 21 | christmas: 'Christmas (December)' 22 | valentines_day: 'Valentine''s Day (14th February)' 23 | easter: 'Easter (April)' 24 | birthday: 'TheBusyBiscuit''s birthday (26th October)' 25 | halloween: 'Halloween (31st October)' 26 | -------------------------------------------------------------------------------- /src/main/resources/languages/en/resources.yml: -------------------------------------------------------------------------------- 1 | tooltips: 2 | results: 'GEO-Scan Results' 3 | chunk: 'Scanned Chunk' 4 | world: 'World' 5 | unit: 'Unit' 6 | units: 'Units' 7 | 8 | resources: 9 | slimefun: 10 | oil: 'Oil' 11 | nether_ice: 'Nether Ice' 12 | salt: 'Salt' 13 | uranium: 'Uranium' 14 | 15 | slimefunorechunks: 16 | iron_ore_chunk: 'Iron Ore Chunk' 17 | gold_ore_chunk: 'Gold Ore Chunk' 18 | copper_ore_chunk: 'Copper Ore Chunk' 19 | tin_ore_chunk: 'Tin Ore Chunk' 20 | silver_ore_chunk: 'Silver Ore Chunk' 21 | aluminum_ore_chunk: 'Aluminum Ore Chunk' 22 | lead_ore_chunk: 'Lead Ore Chunk' 23 | zinc_ore_chunk: 'Zinc Ore Chunk' 24 | nickel_ore_chunk: 'Nickel Ore Chunk' 25 | cobalt_ore_chunk: 'Cobalt Ore Chunk' 26 | -------------------------------------------------------------------------------- /src/main/resources/languages/es/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | slimefun: 3 | armor: Armadura 4 | basic_machines: Máquinas Básicas 5 | birthday: El cumpleaños de TheBusyBiscuit (26 de Octubre) 6 | cargo: Manejo de Cargo 7 | christmas: Navidad (Diciembre) 8 | easter: Pascuas (Abríl) 9 | electricity: Energía y Electricidad 10 | ender_talismans: Talismanes de Ender (Rango II) 11 | food: Comida 12 | gps: Máquinas basadas en GPS 13 | halloween: Halloween (31 de Octubre) 14 | items: Objetos Útiles 15 | magical_armor: Armadura Mágica 16 | magical_gadgets: Dispositivos Mágicos 17 | magical_items: Objetos Mágicos 18 | misc: Objetos Variados 19 | resources: Recursos 20 | talismans: Talismanes (Rango I) 21 | tech_misc: Componentes Técnicos 22 | technical_gadgets: Dispositivos Técnicos 23 | tools: Herramientas 24 | valentines_day: Día de San Valentín (14 de Febrero) 25 | weapons: Armas 26 | androids: Androides Programables 27 | -------------------------------------------------------------------------------- /src/main/resources/languages/es/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | resources: 3 | slimefun: 4 | oil: Petróleo 5 | salt: Sal 6 | uranium: Uranio 7 | nether_ice: Hielo del Nether 8 | slimefunorechunks: 9 | iron_ore_chunk: Pedazo de Mineral de Hierro 10 | gold_ore_chunk: Pedazo de Mineral de Oro 11 | copper_ore_chunk: Pedazo de Mineral de Cobre 12 | tin_ore_chunk: Pedazo de Mineral de Estaño 13 | silver_ore_chunk: Pedazo de Mineral de Plata 14 | aluminum_ore_chunk: Pedazo de Mineral de Aluminio 15 | lead_ore_chunk: Pedazo de Mineral de Plomo 16 | zinc_ore_chunk: Pedazo de Mineral de Zinc 17 | nickel_ore_chunk: Pedazo de Mineral de Nickel 18 | cobalt_ore_chunk: Pedazo de Mineral de Cobalto 19 | tooltips: 20 | chunk: Chunk Escaneado 21 | unit: Unidad 22 | units: Unidades 23 | world: Mundo 24 | results: 'Resultados del GEO-Scan ' 25 | -------------------------------------------------------------------------------- /src/main/resources/languages/fa/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/fa/recipes.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/fa/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | tooltips: 3 | results: 'نتایج GEO اسکنر' 4 | chunk: 'قطعه اسکن شده' 5 | world: 'جهان' 6 | unit: 'واحد' 7 | units: 'واحد ها' 8 | resources: 9 | slimefun: 10 | oil: 'نفت' 11 | nether_ice: 'یخ جهنمی' 12 | salt: 'نمک' 13 | uranium: 'اورانیوم' 14 | slimefunorechunks: 15 | iron_ore_chunk: 'قطعه سنگ آهن' 16 | gold_ore_chunk: 'قطعه سنگ طلا' 17 | copper_ore_chunk: 'قطعه سنگ مس' 18 | tin_ore_chunk: 'سنگ معدن قلع' 19 | silver_ore_chunk: 'سنگ معدن نقره' 20 | aluminum_ore_chunk: 'سنگ معدن آلمینیوم' 21 | lead_ore_chunk: 'سنگ معدن سرب' 22 | zinc_ore_chunk: 'سنگ معدن روی' 23 | nickel_ore_chunk: 'سنگ معدن نیکل' 24 | cobalt_ore_chunk: 'سنگ معدن کبالت' 25 | -------------------------------------------------------------------------------- /src/main/resources/languages/fi/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | slimefun: 3 | weapons: Aseet 4 | tools: Työkalut 5 | items: Hyödyllisiä Tuotteita 6 | food: Ruoka 7 | basic_machines: Peruskoneet 8 | electricity: Energia ja sähkö 9 | gps: GPS-pohjaiset koneet 10 | armor: Panssari 11 | magical_items: Maagiset esineet 12 | magical_gadgets: Maagiset gadgetit 13 | misc: Sekalaiset tuotteet 14 | technical_gadgets: Tekniset gadgetit 15 | resources: Resurssit 16 | cargo: Cargo Management 17 | tech_misc: Tekniset komponentit 18 | magical_armor: Maaginen panssari 19 | talismans: Talismanit (Taso I) 20 | ender_talismans: Ender Talismanit (Taso II) 21 | christmas: Joulu (joulukuu) 22 | valentines_day: Ystävänpäivä (14. helmikuuta) 23 | easter: Pääsiäinen (huhtikuu) 24 | birthday: TheBusyBiscuit syntymäpäivä (26. lokakuuta) 25 | halloween: Halloween (31. lokakuuta) 26 | androids: Ohjelmoitavat androidit 27 | -------------------------------------------------------------------------------- /src/main/resources/languages/fi/messages.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/fi/recipes.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/fi/researches.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/fi/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | tooltips: 3 | results: 'GEO-Skannauksen Tulokset' 4 | world: 'Maailma' 5 | unit: 'Yksikkö' 6 | units: 'Yksiköt' 7 | resources: 8 | slimefun: 9 | oil: 'Öljy' 10 | salt: 'Suola' 11 | uranium: 'Uraani' 12 | -------------------------------------------------------------------------------- /src/main/resources/languages/fr/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | slimefun: 3 | armor: Armures 4 | basic_machines: Machines basiques 5 | birthday: Anniversaire de TheBusyBiscuit (26 Octobre) 6 | cargo: Gestion de la cargaison 7 | christmas: Noël (Décembre) 8 | easter: Pâques (Avril) 9 | electricity: Énergie et électricité 10 | ender_talismans: Talismans (niveau 2) 11 | food: Nourriture 12 | gps: Machines GPS 13 | halloween: Halloween (31 Octobre) 14 | items: Objets utiles 15 | magical_armor: Armures magiques 16 | magical_gadgets: Gadgets magiques 17 | magical_items: Objets magiques 18 | misc: Objets divers 19 | resources: Ressources 20 | talismans: Talismans (niveau 1) 21 | tech_misc: Composants techniques 22 | technical_gadgets: Gadgets techniques 23 | tools: Outils 24 | valentines_day: Saint-Valentin (14 Février) 25 | weapons: Armes 26 | androids: Androïde programmable 27 | -------------------------------------------------------------------------------- /src/main/resources/languages/fr/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | tooltips: 3 | results: Résultats du GEO-scan 4 | chunk: Chunk scanné 5 | world: Monde 6 | unit: unité 7 | units: unités 8 | resources: 9 | slimefun: 10 | oil: Pétrole 11 | nether_ice: Glace du Nether 12 | salt: Sel 13 | uranium: Uranium 14 | slimefunorechunks: 15 | iron_ore_chunk: Morceau de minerai de fer 16 | gold_ore_chunk: Morceau de minerai d'or 17 | copper_ore_chunk: Morceau de minerai de cuivre 18 | tin_ore_chunk: Morceau de minerai d'étain 19 | silver_ore_chunk: Morceau de minerai d'argent 20 | aluminum_ore_chunk: Morceau de minerai d'aluminium 21 | lead_ore_chunk: Morceau de minerai de plomb 22 | zinc_ore_chunk: Morceau de minerai de zinc 23 | nickel_ore_chunk: Morceau de minerai de nickel 24 | cobalt_ore_chunk: Morceau de minerai de cobalt 25 | -------------------------------------------------------------------------------- /src/main/resources/languages/he/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | slimefun: 3 | weapons: נשק 4 | tools: כלים 5 | items: פריטים שימושיים 6 | food: מזון 7 | basic_machines: מכונות בסיסיות 8 | electricity: אנרגיה וחשמל 9 | gps: מכונות מבוססות GPS 10 | armor: שריון 11 | magical_items: פריטים קסומים 12 | magical_gadgets: גאדג'טים קסומים 13 | misc: שונות 14 | technical_gadgets: גאדג'טים טכניים 15 | resources: משאבים 16 | cargo: ניהול מטען 17 | tech_misc: רכיבים טכניים 18 | magical_armor: שריון קסום 19 | talismans: קמעות (דרגה I) 20 | ender_talismans: אנדר-קמעות (דרגה II) 21 | christmas: חג המולד (דצמבר) 22 | valentines_day: חג האהבה (14 בפברואר) 23 | easter: חג הפסחא (אפריל) 24 | birthday: יום הולדתו של TheBusyBiscuit (26 באוקטובר) 25 | halloween: ליל כל הקדושים (31 באוקטובר) 26 | androids: רובוטים ניתנים לתכנות 27 | -------------------------------------------------------------------------------- /src/main/resources/languages/he/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | tooltips: 3 | results: תוצאות סריקת - GEO 4 | chunk: חלקה סרוקה 5 | world: עולם 6 | unit: יחידה 7 | units: יחידות 8 | resources: 9 | slimefun: 10 | oil: שמן 11 | nether_ice: 'קרח גיהינום 12 | 13 | ' 14 | salt: מלח 15 | uranium: אורניום 16 | slimefunorechunks: 17 | iron_ore_chunk: נתח עפרת ברזל 18 | gold_ore_chunk: נתח עפרת זהב 19 | copper_ore_chunk: נתח עפרת נחושת 20 | tin_ore_chunk: נתח עפרת בדיל 21 | silver_ore_chunk: נתח עפרת כסף 22 | aluminum_ore_chunk: נתח עפרת אלומיניום 23 | lead_ore_chunk: נתח עופרת 24 | zinc_ore_chunk: נתח עפרת אבץ 25 | nickel_ore_chunk: נתח עפרת ניקל 26 | cobalt_ore_chunk: נתח עופרת קובלט 27 | -------------------------------------------------------------------------------- /src/main/resources/languages/hi/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/hi/messages.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/hi/recipes.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/hi/researches.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/hi/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/hr/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/hr/messages.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/hr/recipes.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/hr/researches.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/hr/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/hu/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | slimefun: 3 | weapons: Fegyverek 4 | tools: Eszközök 5 | items: Hasznos tárgyak 6 | food: Étel 7 | basic_machines: Alapvető gépek 8 | electricity: Energia és elektromosság 9 | gps: GPS-alapú gépek 10 | armor: Páncél 11 | magical_items: Varázslatos tárgyak 12 | magical_gadgets: Varázslatos kütyük 13 | misc: Egyéb tárgyak 14 | technical_gadgets: Technikai kütyük 15 | resources: Erőforrások 16 | cargo: Szállítmánykezelés 17 | tech_misc: Műszaki alkatrészek 18 | magical_armor: Varázslatos páncél 19 | talismans: Talizmánok (I. szint) 20 | ender_talismans: Ender talizmánok (II. szint) 21 | christmas: Karácsony (December) 22 | valentines_day: Valentin nap (Február 14.) 23 | easter: Húsvét (Április) 24 | birthday: TheBusyBiscuit születésnapja (Október 26.) 25 | halloween: Halloween (Október 31.) 26 | androids: Programozható androidok 27 | -------------------------------------------------------------------------------- /src/main/resources/languages/hu/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | tooltips: 3 | results: GEO-vizsgálat eredmények 4 | chunk: Vizsgált chunk 5 | world: Világ 6 | unit: egység 7 | units: egység 8 | resources: 9 | slimefun: 10 | oil: Olaj 11 | nether_ice: Nether jég 12 | salt: Só 13 | uranium: Uránium 14 | slimefunorechunks: 15 | iron_ore_chunk: Vasérctömb 16 | gold_ore_chunk: Aranyérc-tömb 17 | copper_ore_chunk: Rézérctömb 18 | tin_ore_chunk: Ónérctömb 19 | silver_ore_chunk: Ezüstérctömb 20 | aluminum_ore_chunk: Alumíniumérc-tömb 21 | lead_ore_chunk: Ólomérctömb 22 | zinc_ore_chunk: Cinkérctömb 23 | nickel_ore_chunk: Nikkelérctömb 24 | cobalt_ore_chunk: Kobaltérctömb 25 | -------------------------------------------------------------------------------- /src/main/resources/languages/id/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | slimefun: 3 | weapons: Senjata 4 | tools: Peralatan 5 | items: Barang yang Berguna 6 | food: Makanan 7 | basic_machines: Mesin Dasar 8 | electricity: Energi dan Listrik 9 | gps: Mesin - Mesin GPS 10 | armor: Baju Zirah 11 | magical_items: Benda Sihir 12 | magical_gadgets: Alat Sihir 13 | misc: Lain - Lain 14 | technical_gadgets: Alat Teknis 15 | resources: Sumber Daya 16 | cargo: Manajemen Kargo 17 | tech_misc: Komponen Teknis 18 | magical_armor: Pakaian Sihir 19 | talismans: Jimat (Tingkat I) 20 | ender_talismans: Jimat Ender (Tingkat II) 21 | christmas: Natal (Desember) 22 | valentines_day: Hari Valentine (14 Februari) 23 | easter: Paskah (April) 24 | birthday: Ulang Tahun TheBusyBiscuit (26 Oktober) 25 | halloween: Halloween (31 Oktober) 26 | androids: Mesin Berprogram 27 | -------------------------------------------------------------------------------- /src/main/resources/languages/id/recipes.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/id/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | tooltips: 3 | results: Hasil Peninjauan GEO 4 | chunk: Bingkah Yang Telah Di Tinjau 5 | world: Dunia 6 | unit: Unit 7 | units: Unit - Unit 8 | resources: 9 | slimefun: 10 | oil: Minyak 11 | nether_ice: Es Neraka 12 | salt: Garam 13 | uranium: Uranium 14 | slimefunorechunks: 15 | iron_ore_chunk: Bingkah Bijih Besi 16 | gold_ore_chunk: Bingkah Bijih Emas 17 | copper_ore_chunk: Bingkah Bijih Tembaga 18 | tin_ore_chunk: Bingkah Bijih Timah 19 | silver_ore_chunk: Bingkah Bijih Perak 20 | aluminum_ore_chunk: Bingkah Bijih Alumunium 21 | lead_ore_chunk: Bingkah Bijih Timah Hitam 22 | zinc_ore_chunk: Bingkah Bijih Seng 23 | nickel_ore_chunk: Bingkah Bijih Nikel 24 | cobalt_ore_chunk: Bingkah Bijih Kobalt 25 | -------------------------------------------------------------------------------- /src/main/resources/languages/it/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | slimefun: 3 | weapons: Armi 4 | tools: Utensili 5 | items: Oggetti Utili 6 | food: Cibo 7 | basic_machines: Macchinari Base 8 | electricity: Energia ed Elettricità 9 | gps: Macchine basate sul GPS 10 | armor: Armature 11 | magical_items: Oggetti Magici 12 | magical_gadgets: Gadget Magici 13 | misc: Oggetti Vari 14 | technical_gadgets: Gadget Tecnologici 15 | resources: Risorse 16 | cargo: Gestione Cargo 17 | tech_misc: Componenti Tecnologici 18 | magical_armor: Armature Magiche 19 | talismans: Talismani (Livello I) 20 | ender_talismans: Talismani dell'End (Livello II) 21 | christmas: Natale (dicembre) 22 | valentines_day: San Valentino (14 febbraio) 23 | easter: Pasqua (aprile) 24 | birthday: Compleanno di TheBusyBiscuit (26 ottobre) 25 | halloween: Halloween (31 ottobre) 26 | androids: Androidi Programmabili 27 | -------------------------------------------------------------------------------- /src/main/resources/languages/it/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | resources: 3 | slimefun: 4 | nether_ice: Ghiaccio del Nether 5 | oil: Petrolio 6 | salt: Sale 7 | uranium: Uranio 8 | slimefunorechunks: 9 | aluminum_ore_chunk: Pezzo di Minerale di Alluminio 10 | cobalt_ore_chunk: Pezzo di Minerale di Cobalto 11 | copper_ore_chunk: Pezzo di Minerale di Rame 12 | gold_ore_chunk: Pezzo di Minerale d'Oro 13 | iron_ore_chunk: Pezzo di Minerale di Ferro 14 | lead_ore_chunk: Pezzo di Minerale di Piombo 15 | nickel_ore_chunk: Pezzo di Minerale di Nichel 16 | silver_ore_chunk: Pezzo di Minerale d'Argento 17 | tin_ore_chunk: Pezzo di Minerale di Stagno 18 | zinc_ore_chunk: Pezzo di Minerale di Zinco 19 | tooltips: 20 | results: Risultati GEO-Scan 21 | unit: Unità 22 | units: Unità 23 | world: Mondo 24 | chunk: Chunk Scansionato 25 | -------------------------------------------------------------------------------- /src/main/resources/languages/ja/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | slimefun: 3 | weapons: 武器 4 | tools: ツール 5 | items: 便利アイテム 6 | food: 食料 7 | basic_machines: 基本機械 8 | electricity: エネルギー・電動機械 9 | gps: GPS関連機械 10 | armor: 防具 11 | magical_items: 魔法のアイテム 12 | magical_gadgets: 魔法の小道具 13 | misc: 雑貨 14 | technical_gadgets: 電子機器 15 | resources: 資源 16 | cargo: カーゴ輸送管理 17 | tech_misc: 電子部品 18 | magical_armor: 魔法の防具 19 | talismans: タリスマン(Tier Ⅰ) 20 | ender_talismans: エンダータリスマン(Tier Ⅱ) 21 | christmas: クリスマス(12月) 22 | valentines_day: バレンタインデー(2月14日) 23 | easter: 復活祭(4月) 24 | birthday: TheBusyBiscuit生誕祭(10月26日) 25 | halloween: ハロウィン(10月31日) 26 | androids: プログラム制御アンドロイド 27 | -------------------------------------------------------------------------------- /src/main/resources/languages/ja/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | tooltips: 3 | results: GEOスキャン結果 4 | chunk: スキャン対象チャンク 5 | world: ワールド 6 | unit: 塊 7 | units: 塊 8 | resources: 9 | slimefun: 10 | oil: 原油 11 | nether_ice: ネザーアイス 12 | salt: 塩 13 | uranium: ウラニウム 14 | slimefunorechunks: 15 | iron_ore_chunk: 鉄 16 | gold_ore_chunk: 金 17 | copper_ore_chunk: 銅 18 | tin_ore_chunk: 錫 19 | silver_ore_chunk: 銀 20 | aluminum_ore_chunk: アルミニウム 21 | lead_ore_chunk: 鉛 22 | zinc_ore_chunk: 亜鉛 23 | nickel_ore_chunk: ニッケル 24 | cobalt_ore_chunk: コバルト 25 | -------------------------------------------------------------------------------- /src/main/resources/languages/ko/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | slimefun: 3 | weapons: 무기 4 | tools: 도구 5 | items: 유용한 아이템 6 | food: 음식 7 | basic_machines: 기본 기계 8 | electricity: 에너지와 전기 9 | gps: 'GPS 기반 기계 10 | 11 | ' 12 | armor: 갑옷 13 | magical_items: '매직 아이템 14 | 15 | ' 16 | magical_gadgets: 마법 가젯 17 | misc: 기타 아이템 18 | technical_gadgets: '기술 가젯 19 | 20 | ' 21 | resources: 자원 22 | cargo: '화물 관리 23 | 24 | ' 25 | tech_misc: '기술 구성 요소 26 | 27 | ' 28 | magical_armor: 마법 갑옷 29 | talismans: 부적 (1티어) 30 | ender_talismans: 엔더 부적 (2티어) 31 | christmas: '크리스마스(12월) 32 | 33 | ' 34 | valentines_day: '발렌타인 데이 (2월 14일) 35 | 36 | ' 37 | easter: '부활절 (4월) 38 | 39 | ' 40 | birthday: 'The BusyBiscuit의 생일(10월 26일) 41 | 42 | ' 43 | halloween: '할로윈(10월 31일) 44 | 45 | ' 46 | androids: 프로그래밍 가능한 안드로이드 47 | -------------------------------------------------------------------------------- /src/main/resources/languages/ko/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | tooltips: 3 | results: GEO 스캔 결과 4 | chunk: 스캔 한 청크 5 | world: 월드 6 | unit: 단위 7 | units: 단위 8 | resources: 9 | slimefun: 10 | salt: 소금 11 | uranium: 우라늄 12 | oil: 오일 13 | nether_ice: 네더 얼음 14 | slimefunorechunks: 15 | iron_ore_chunk: 철광석 덩어리 16 | gold_ore_chunk: 금광석 덩어리 17 | copper_ore_chunk: 구리 광석 덩어리 18 | tin_ore_chunk: 주석 광석 덩어리 19 | silver_ore_chunk: 은 광석 덩어리 20 | aluminum_ore_chunk: 알루미늄 광석 덩어리 21 | lead_ore_chunk: 납 광석 덩어리 22 | zinc_ore_chunk: 아연 광석 덩어리 23 | nickel_ore_chunk: 니켈 광석 덩어리 24 | cobalt_ore_chunk: 코발트 광석 덩어리 25 | -------------------------------------------------------------------------------- /src/main/resources/languages/lt/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/lt/messages.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/lt/recipes.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/lt/researches.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/lt/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/lv/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/lv/recipes.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/lv/researches.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/lv/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/mk/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | slimefun: 3 | weapons: Оружја 4 | tools: Алатки 5 | items: Корисни Материјали 6 | food: Храна 7 | basic_machines: Основни Машини 8 | electricity: Енергија и Електрика 9 | gps: ГПС-Базирани Машини 10 | armor: Опрема 11 | magical_items: Магични Материјали 12 | magical_gadgets: Магијни Гаџет 13 | misc: Разни Материјали 14 | technical_gadgets: Технички Гаџит 15 | resources: Ствари 16 | cargo: Карго Менаџмент 17 | tech_misc: Технички Компоненти 18 | magical_armor: Магична Опрема 19 | talismans: Талисман (Ниво 1) 20 | ender_talismans: Ендер Талисман (Ниво 2) 21 | christmas: Божиќ (Деkември) 22 | valentines_day: Валентајн (14ти Февруари) 23 | easter: Велигден (Април) 24 | birthday: Роденден на TheBusyBiscuit (26ти Октомври) 25 | halloween: Денот на вештерките (31ви Октомври) 26 | -------------------------------------------------------------------------------- /src/main/resources/languages/mk/messages.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/mk/researches.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/mk/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | tooltips: 3 | results: ГЕО-Скенирање Резулати 4 | chunk: Скениран Дел 5 | world: Свет 6 | unit: Единица 7 | units: Единици 8 | resources: 9 | slimefun: 10 | oil: Нафта 11 | nether_ice: Nether Мраз 12 | salt: Сол 13 | uranium: Ураниум 14 | slimefunorechunks: 15 | iron_ore_chunk: Дел од Железна Руда 16 | gold_ore_chunk: Дел од Златна Руда 17 | copper_ore_chunk: Дел од Бакарна Руда 18 | tin_ore_chunk: Дел од Калај Руда 19 | silver_ore_chunk: Дел од Сребрена Руда 20 | aluminum_ore_chunk: Дел од Алуминум Руда 21 | lead_ore_chunk: Дел од Оловна Руда 22 | zinc_ore_chunk: Дел од Цинк Руда 23 | nickel_ore_chunk: Дел од Никел Руда 24 | cobalt_ore_chunk: Дел од Кобалт Руда 25 | -------------------------------------------------------------------------------- /src/main/resources/languages/ms/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/ms/messages.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/ms/recipes.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/ms/researches.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/ms/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/nl/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | slimefun: 3 | weapons: Wapens 4 | tools: Gereedschappen 5 | items: Handige Voorwerpen 6 | food: Eten 7 | basic_machines: Standaard machines 8 | electricity: Energie en Elektriciteit 9 | gps: GPS Machines 10 | armor: Bescherming 11 | magical_items: Magische Voorwerpen 12 | magical_gadgets: Magische Gadgets 13 | misc: Diverse Voorwerpen 14 | technical_gadgets: Technische Gadgets 15 | resources: Grondstoffen 16 | cargo: Opslagbehering 17 | tech_misc: Technische Componenten 18 | magical_armor: Magische Bescherming 19 | talismans: Amuletten (Niveau I) 20 | ender_talismans: Ender Amuletten (Niveau II) 21 | christmas: Kerstmis (December) 22 | valentines_day: Valentijnsdag (14 Februari) 23 | easter: Pasen (April) 24 | birthday: TheBusyBiscuit's Verjaardag (26 October) 25 | halloween: Halloween (31 October) 26 | androids: Programmeerbare Robots 27 | -------------------------------------------------------------------------------- /src/main/resources/languages/nl/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | tooltips: 3 | results: 'GEO-Scan Resultaten' 4 | chunk: 'Gescannen Chunk' 5 | world: 'Wereld' 6 | unit: 'Stuk' 7 | units: 'Stukken' 8 | resources: 9 | slimefun: 10 | oil: 'Olie' 11 | nether_ice: 'Netherijs' 12 | salt: 'Zout' 13 | uranium: 'Uranium' 14 | slimefunorechunks: 15 | iron_ore_chunk: 'Ijzer erts brok' 16 | gold_ore_chunk: 'Gouden erts brok' 17 | copper_ore_chunk: 'Koper erts brok' 18 | tin_ore_chunk: 'Tin erts brok' 19 | silver_ore_chunk: 'Zilver erts brok' 20 | aluminum_ore_chunk: 'Aluminium erts brok' 21 | lead_ore_chunk: 'Lood erts brok' 22 | zinc_ore_chunk: 'Zink erts brok' 23 | nickel_ore_chunk: 'Nikkel erts brok' 24 | cobalt_ore_chunk: 'Kobalt erts brok' 25 | -------------------------------------------------------------------------------- /src/main/resources/languages/no/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/no/messages.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/no/recipes.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/no/researches.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/no/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/pl/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | slimefun: 3 | weapons: Bronie 4 | tools: Narzędzia 5 | items: Przydatne Przedmioty 6 | food: Jedzenie 7 | basic_machines: Podstawowe Maszyny 8 | electricity: Energia i Elektryczność 9 | gps: Maszyny Oparte na GPS 10 | armor: Zbroja 11 | magical_items: Magiczne Przedmioty 12 | magical_gadgets: Magiczne Gadżety 13 | misc: Różne Przedmioty 14 | technical_gadgets: 'Techniczne Gadżety ' 15 | resources: Surowce 16 | cargo: Zarządzanie Ładunkami 17 | tech_misc: Komponenty Techniczne 18 | magical_armor: Magiczna Zbroja 19 | talismans: Talizmany (Poziom I) 20 | ender_talismans: Ender Talizmany (Poziom II) 21 | christmas: Święta Bożego Narodzenia (Grudzień) 22 | valentines_day: Walentynki (14 Lutego) 23 | easter: Wielkanoc (Kwiecień) 24 | birthday: Urodziny TheBusyBiscuit (26 Października) 25 | halloween: Halloween (31 Października) 26 | androids: Programowalne Androidy 27 | -------------------------------------------------------------------------------- /src/main/resources/languages/pl/recipes.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/pl/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | tooltips: 3 | results: GEO-Wyniki Skanowania 4 | chunk: Skaner Chunków 5 | world: Świat 6 | unit: Jednostka 7 | units: Jednostki 8 | resources: 9 | slimefun: 10 | oil: Ropa 11 | nether_ice: Netherowy Lód 12 | salt: Sól 13 | uranium: Uran 14 | slimefunorechunks: 15 | iron_ore_chunk: Kawałek Rudy Żelaza 16 | gold_ore_chunk: Kawałek Rudy Złota 17 | copper_ore_chunk: Kawałek Rudy Miedzi 18 | tin_ore_chunk: Kawałek Rudy Cyny 19 | silver_ore_chunk: Kawałek Rudy Srebra 20 | aluminum_ore_chunk: Kawałek Rudy Aluminium 21 | lead_ore_chunk: Kawałek Rudy Ołowiu 22 | zinc_ore_chunk: Kawałek Rudy Cynku 23 | nickel_ore_chunk: Kawał Rudy Niklu 24 | cobalt_ore_chunk: Kawałek Rudy Kobaltu 25 | -------------------------------------------------------------------------------- /src/main/resources/languages/pt-BR/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | slimefun: 3 | weapons: Armas 4 | tools: Ferramentas 5 | items: Itens úteis 6 | food: Comidas 7 | basic_machines: Máquinas Básicas 8 | electricity: Energia e Eletricidade 9 | gps: Máquinas Baseadas em GPS 10 | armor: Armaduras 11 | magical_items: Itens Mágicos 12 | magical_gadgets: Utensílios Mágicos 13 | misc: Itens Variados 14 | technical_gadgets: Utensílios Técnicos 15 | resources: Recursos 16 | cargo: Gerenciamento de Itens 17 | tech_misc: Componentes Técnicos 18 | magical_armor: Armaduras Mágicas 19 | talismans: Talismãs (Nível I) 20 | ender_talismans: Ender Talismãs (Nível II) 21 | christmas: Natal (dezembro) 22 | valentines_day: Dia dos Namorados (14 de fevereiro) 23 | easter: Páscoa (abril) 24 | birthday: Aniversário do TheBusyBiscuit (26 de outubro) 25 | halloween: Halloween (31 de outubro) 26 | androids: Robôs e programação 27 | -------------------------------------------------------------------------------- /src/main/resources/languages/pt-BR/recipes.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/pt-BR/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | tooltips: 3 | results: Resultados de GEO-Scan 4 | chunk: Pedaço Escaneado 5 | world: Mundo 6 | unit: Unidade 7 | units: Unidades 8 | resources: 9 | slimefun: 10 | oil: Óleo 11 | nether_ice: Gelo do Nether 12 | salt: Sal 13 | uranium: Urânio 14 | slimefunorechunks: 15 | iron_ore_chunk: Pedaço de Minério de Ferro 16 | gold_ore_chunk: Pedaço de Minério de Ouro 17 | copper_ore_chunk: Pedaço de Minério de Cobre 18 | tin_ore_chunk: Pedaço de Minério de Estanho 19 | silver_ore_chunk: Pedaço de Minério de Prata 20 | aluminum_ore_chunk: Pedaço de Minério de Alumínio 21 | lead_ore_chunk: Pedaço de Minério de Chumbo 22 | zinc_ore_chunk: Pedaço de Minério de Zinco 23 | nickel_ore_chunk: Pedaço de Minério de Níquel 24 | cobalt_ore_chunk: Pedaço de Minério de Cobalto 25 | -------------------------------------------------------------------------------- /src/main/resources/languages/pt/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | slimefun: 3 | weapons: Armas 4 | tools: Ferramentas 5 | items: Itens úteis 6 | food: Comida 7 | basic_machines: Máquinas básicas 8 | electricity: Energia e Eletricidade 9 | gps: Máquinas baseadas em GPS 10 | armor: Armaduras 11 | magical_items: Itens mágicos 12 | magical_gadgets: Acessórios Mágicos 13 | misc: Itens Variados 14 | technical_gadgets: Dispositivos Técnicos 15 | resources: Recursos 16 | cargo: Gestão de Carga 17 | tech_misc: Componentes Técnicos 18 | magical_armor: Armaduras Mágicas 19 | talismans: Talismãs (Tier I) 20 | ender_talismans: Ender Talismãs (Tier II) 21 | christmas: Natal (Dezembro) 22 | valentines_day: Dia dos Namorados (14 de Fevereiro) 23 | easter: Páscoa (Abril) 24 | birthday: Aniversário do TheBusyBiscuit (26 de Outubro) 25 | halloween: Dia das Bruxas (31 de Outubro) 26 | androids: Androids Programáveis 27 | -------------------------------------------------------------------------------- /src/main/resources/languages/pt/recipes.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/pt/researches.yml: -------------------------------------------------------------------------------- 1 | --- 2 | slimefun: 3 | fortune_cookie: Bolinho da sorte 4 | portable_dustbin: Caixote do Lixo Portátil 5 | meat_jerky: Jerky de Carne 6 | magic_sugar: Açúcar Mágico 7 | monster_jerky: Jerky de Monstro 8 | slime_armor: Armadura de Slime 9 | sword_of_beheading: Espada da Decapitação 10 | parachute: Pára-quedas 11 | grappling_hook: Gancho-arpão 12 | jetpacks: Jetpack 13 | slimefun_metals: Metais Novos 14 | carbonado: Diamantes Negros 15 | synthetic_emerald: Jóia Falsa 16 | chainmail_armor: Armadura de Malha 17 | uranium: Radioativo 18 | crushed_ore: Purificação de Minérios 19 | first_aid: Primeiros socorros 20 | gold_armor: Armadura Brilhante 21 | backpacks: Mochilas 22 | -------------------------------------------------------------------------------- /src/main/resources/languages/pt/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | tooltips: 3 | results: Resultados de Geo-Scan 4 | chunk: Pedaço Escaneado 5 | world: Mundo 6 | unit: Unidade 7 | units: Unidades 8 | resources: 9 | slimefun: 10 | oil: Óleo 11 | nether_ice: Gelo do Nether 12 | salt: Sal 13 | uranium: 'Urânio ' 14 | slimefunorechunks: 15 | iron_ore_chunk: Pedaço de Minério de Ferro 16 | gold_ore_chunk: Pedaço de Minério de Ouro 17 | copper_ore_chunk: Pedaço de Minério de Cobre 18 | tin_ore_chunk: Pedaço de Minério de Estanho 19 | silver_ore_chunk: Pedaço de Minério de Prata 20 | aluminum_ore_chunk: Pedaço de Minério de Alumínio 21 | lead_ore_chunk: Pedaço de Minério de Chumbo 22 | zinc_ore_chunk: Pedaço de Minério de Zinco 23 | nickel_ore_chunk: Pedaço de Minério de Níquel 24 | cobalt_ore_chunk: Pedaço de Minério de Cobalto 25 | -------------------------------------------------------------------------------- /src/main/resources/languages/ro/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | slimefun: 3 | weapons: 'Arme' 4 | food: 'Mâncare' 5 | basic_machines: 'Maşinarii de bază' 6 | electricity: 'Energie şi electricitate' 7 | androids: 'Androizi programabili' 8 | gps: 'Mașinarii GPS' 9 | armor: 'Armură' 10 | magical_items: 'Obiecte Magice' 11 | magical_gadgets: 'Gadget-uri Magice' 12 | misc: 'Obiecte Diverse' 13 | technical_gadgets: 'Gadget-uri Tehnice' 14 | resources: 'Resurse' 15 | tech_misc: 'Componente Tehnice' 16 | magical_armor: 'Armură Magică' 17 | talismans: 'Talismane (nivelul I)' 18 | ender_talismans: 'Talismane Ender (nivelul II)' 19 | christmas: 'Crăciun (decembrie)' 20 | valentines_day: 'Ziua Îndrăgostiților (14 februarie)' 21 | easter: 'Paște (Aprilie)' 22 | birthday: 'Ziua de naștere a lui TheBusyBiscuit (26 octombrie)' 23 | halloween: 'Halloween (31 octombrie)' 24 | -------------------------------------------------------------------------------- /src/main/resources/languages/ro/recipes.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/ro/researches.yml: -------------------------------------------------------------------------------- 1 | --- 2 | slimefun: 3 | walking_sticks: Baston 4 | portable_crafter: Masă de fabricare portabilă 5 | portable_dustbin: Dustbin portabil 6 | meat_jerky: Bucati de carne uscata 7 | armor_forge: Masa de fabricare Armuri 8 | -------------------------------------------------------------------------------- /src/main/resources/languages/ro/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/ru/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | slimefun: 3 | armor: Броня 4 | basic_machines: Основные машины 5 | birthday: День рождения TheBusyBiscuit (26 октября) 6 | cargo: Управление грузом 7 | christmas: Рождество (декабрь) 8 | easter: Пасха (апрель) 9 | electricity: Электричество 10 | ender_talismans: Эндер-талисманы 11 | food: Еда 12 | gps: Машины с применением GPS 13 | halloween: Хэллоуин (31 октября) 14 | items: Полезные предметы 15 | magical_armor: Магическая броня 16 | magical_gadgets: Магические приборы 17 | magical_items: Магические предметы 18 | misc: Разное 19 | resources: Ресурсы 20 | talismans: Талисманы 21 | tech_misc: Технические компоненты 22 | technical_gadgets: Технические приборы 23 | tools: Инструменты 24 | valentines_day: День святого Валентина (14 февраля) 25 | weapons: Оружие 26 | androids: Программируемые Андроиды 27 | -------------------------------------------------------------------------------- /src/main/resources/languages/ru/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | tooltips: 3 | results: Результаты сканирования 4 | chunk: Просканированный чанк 5 | world: Мир 6 | unit: Единица 7 | units: Единиц 8 | resources: 9 | slimefun: 10 | oil: Нефть 11 | salt: Соль 12 | uranium: Уран 13 | nether_ice: Незеритовый лёд 14 | slimefunorechunks: 15 | iron_ore_chunk: Кусочек железной руды 16 | gold_ore_chunk: Кусочек золотой руды 17 | copper_ore_chunk: Кусочек медной руды 18 | tin_ore_chunk: Кусочек оловянной руды 19 | silver_ore_chunk: Кусочек серебряной руды 20 | aluminum_ore_chunk: Кусочек алюминиевой руды 21 | lead_ore_chunk: Кусочек свинцовой руды 22 | zinc_ore_chunk: Кусочек цинковой руды 23 | nickel_ore_chunk: Кусочек никелевой руды 24 | cobalt_ore_chunk: Кусочек кобальтовой руды 25 | -------------------------------------------------------------------------------- /src/main/resources/languages/si/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/si/messages.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/si/recipes.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/si/researches.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/si/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/sk/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | slimefun: 3 | armor: Brnenie 4 | basic_machines: Základné stroje 5 | birthday: Narodeniny TheBusyBiscuit -a (26. október) 6 | christmas: Vianoce (December) 7 | easter: Veľká noc (Apríl) 8 | electricity: Energia a elektrina 9 | ender_talismans: Talizmany endu (Úroveň II) 10 | food: Jedlo 11 | gps: GPS stroje 12 | halloween: Halloween (31. október) 13 | items: Užitočné itemy 14 | magical_armor: Magické brnenie 15 | magical_gadgets: Magické komponenty 16 | magical_items: Magické itemy 17 | misc: Rôzne itemy 18 | talismans: Talizmany (Úroveň I) 19 | tech_misc: Technické komponenty 20 | technical_gadgets: Technické komponenty 21 | tools: Nástroje 22 | valentines_day: Valentín (14. február) 23 | weapons: Zbrane 24 | resources: Suroviny 25 | cargo: Cargo sieť 26 | -------------------------------------------------------------------------------- /src/main/resources/languages/sk/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | tooltips: 3 | results: Výsledky skenovania 4 | chunk: Skenovaný chunk 5 | world: Svet 6 | unit: Jednotka 7 | units: Jednotky 8 | resources: 9 | slimefun: 10 | oil: Olej 11 | nether_ice: Ľad z netheru 12 | salt: Soľ 13 | uranium: Urán 14 | slimefunorechunks: 15 | iron_ore_chunk: Kus železnej rudy 16 | gold_ore_chunk: Kus zlatej rudy 17 | copper_ore_chunk: Kus medenej rudy 18 | tin_ore_chunk: Kus cínovej rudy 19 | silver_ore_chunk: Kus striebornej rudy 20 | aluminum_ore_chunk: Kus hliníkovej rudy 21 | lead_ore_chunk: Kus olovenej rudy 22 | zinc_ore_chunk: Kus zinkovej rudy 23 | nickel_ore_chunk: Kus niklovej rudy 24 | cobalt_ore_chunk: Kus kobaltovej rudy 25 | -------------------------------------------------------------------------------- /src/main/resources/languages/sv/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | slimefun: 3 | weapons: Vapen 4 | tools: Verkyg 5 | items: Användbara Föremål 6 | food: Mat 7 | basic_machines: Grundläggande Maskiner 8 | electricity: Energi och El 9 | gps: GPS-baserade Maskiner 10 | armor: Rustning 11 | magical_items: Magiska Föremål 12 | magical_gadgets: Magiska Prylar 13 | misc: Diverse Föremål 14 | technical_gadgets: Tekniska Prylar 15 | resources: Resurser 16 | cargo: Lasthantering 17 | tech_misc: Tekniska komponenter 18 | magical_armor: Magiska Rustning 19 | talismans: Talismaner (Nivå I) 20 | ender_talismans: Ender Talismaner (Nivå II) 21 | christmas: Julen (December) 22 | valentines_day: Alla Hjärtans Dag (14:e Februari) 23 | easter: Påsken (April) 24 | birthday: TheBusyBiscuit's Födelsedag (26:e Oktober) 25 | halloween: Halloween (31:a Oktober) 26 | -------------------------------------------------------------------------------- /src/main/resources/languages/sv/recipes.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/sv/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | tooltips: 3 | results: GEO-Skannings Resultat 4 | chunk: Skannade Chunks 5 | world: Världen 6 | unit: Enhet 7 | units: Enheter 8 | resources: 9 | slimefun: 10 | oil: Olja 11 | nether_ice: Nether Is 12 | salt: Salt 13 | uranium: Uranium 14 | slimefunorechunks: 15 | iron_ore_chunk: Järnmalms Bit 16 | gold_ore_chunk: Guldmalms Bit 17 | copper_ore_chunk: Kopparmalm Bit 18 | tin_ore_chunk: Tennmalm Bit 19 | silver_ore_chunk: Silvermalm Bit 20 | aluminum_ore_chunk: Aluminiummalm Bit 21 | lead_ore_chunk: Blymalm Bit 22 | zinc_ore_chunk: Zinkmalm Bit 23 | nickel_ore_chunk: Nickelmalm Bit 24 | cobalt_ore_chunk: Koboltmalm Bit 25 | -------------------------------------------------------------------------------- /src/main/resources/languages/th/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | slimefun: 3 | weapons: อาวุธ 4 | tools: เครื่องมือ 5 | items: ไอเทมที่มีประโยชน์ 6 | food: อาหาร 7 | basic_machines: เครื่องจักรพื้นฐาน 8 | electricity: พลังงานและไฟฟ้า 9 | gps: อุปกรณ์ที่ใช้ GPS 10 | armor: เกราะ 11 | magical_items: ไอเทมที่มีเวทมนต์ 12 | magical_gadgets: อุปกรณ์เวทมนต์ 13 | misc: ไอเทมเบ็ดเตล็ด 14 | technical_gadgets: อุปกรณ์ทางเทคนิค 15 | resources: ทรัพยากร 16 | cargo: การจัดการขนส่งสินค้า 17 | tech_misc: องค์ประกอบทางเทคนิค 18 | magical_armor: เกราะเวทมนต์ 19 | talismans: เครื่องราง (ระดับ 1) 20 | ender_talismans: เครื่องราง Ender (ระดับ 2) 21 | christmas: Christmas (เดือนธันวาคม) 22 | valentines_day: วันวาเลนไทด์ (14 กุมภาพันธ์) 23 | easter: Easter (เมษายน) 24 | birthday: TheBusyBiscuit's birthday (26 ตุลาคม) 25 | halloween: Halloween (31 ตุลาคม) 26 | -------------------------------------------------------------------------------- /src/main/resources/languages/th/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | tooltips: 3 | results: ผลการสแกนจาก GEO-Scan 4 | chunk: สแกน Chunk แล้ว 5 | world: โลก 6 | unit: อัน 7 | units: อัน 8 | resources: 9 | slimefun: 10 | oil: น้ำมัน 11 | nether_ice: น้ำแข็งนรก 12 | salt: เกลือ 13 | uranium: ยูเรเนียม 14 | slimefunorechunks: 15 | iron_ore_chunk: ก้อนแร่เหล็ก 16 | gold_ore_chunk: ก้อนแร่ทอง 17 | copper_ore_chunk: ก้อนแร่ทองแดง 18 | tin_ore_chunk: ก้อนแร่ดีบุก 19 | silver_ore_chunk: ก้อนแร่เงิน 20 | aluminum_ore_chunk: ก้อนแร่อลูมิเนียม 21 | lead_ore_chunk: ก้อนแร่ตะกั่ว 22 | zinc_ore_chunk: ก้อนแร่สังกะสี 23 | nickel_ore_chunk: ก้อนแร่นิกเกิล 24 | cobalt_ore_chunk: ก้อนแร่โคบอลต์ 25 | -------------------------------------------------------------------------------- /src/main/resources/languages/tl/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | slimefun: 3 | weapons: Mga Armas 4 | tools: Mga Tools 5 | items: Mga Aytem 6 | food: Mga Pagkain 7 | basic_machines: Mga Pangunahing Makina 8 | electricity: Enerhiya at Elektrisidad 9 | gps: Mga Makinang GPS-Based 10 | armor: Mga Magkabaluti 11 | magical_items: Mga Mahiwagang Aytem 12 | magical_gadgets: Mga Mahiwagang Gadyet 13 | misc: Mga Samut-Saring Aytem 14 | technical_gadgets: Mga Teknikal Gadyet 15 | resources: Mga Mapagkukunan 16 | cargo: Pamamahala ng Kargamento 17 | tech_misc: Mga Komponent na Teknikal 18 | magical_armor: Mga Mahiwagang Magkabaluti 19 | talismans: Mga Anting-anting (Baitang I) 20 | ender_talismans: Mga Anting-anting na Ender (Baitang II) 21 | christmas: Pasko (Disyembre) 22 | valentines_day: Araw ng mga Puso (14th Pebrero) 23 | easter: Mahal na Araw (Abril) 24 | birthday: Ang Kaarawan ni TheBusyBiscuit (26th Oktubre) 25 | halloween: Undas (31st Oktubre) 26 | androids: Mga Programmable Androids 27 | -------------------------------------------------------------------------------- /src/main/resources/languages/tl/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | tooltips: 3 | results: Result ng GEO-Scan 4 | chunk: Scanned Chunk 5 | world: Mundo 6 | unit: Unit 7 | units: Units 8 | resources: 9 | slimefun: 10 | oil: Langis 11 | nether_ice: Nether Ice 12 | salt: Asin 13 | uranium: Uranium 14 | slimefunorechunks: 15 | iron_ore_chunk: Iron Ore Chunk 16 | gold_ore_chunk: Gold Ore Chunk 17 | copper_ore_chunk: Copper Ore Chunk 18 | tin_ore_chunk: Tin Ore Chunk 19 | silver_ore_chunk: Silver Ore Chunk 20 | aluminum_ore_chunk: Aluminum Ore Chunk 21 | lead_ore_chunk: Lead Ore Chunk 22 | zinc_ore_chunk: Zinc Ore Chunk 23 | nickel_ore_chunk: Nickel Ore Chunk 24 | cobalt_ore_chunk: Cobalt Ore Chunk 25 | -------------------------------------------------------------------------------- /src/main/resources/languages/tr/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | slimefun: 3 | weapons: Silahlar 4 | tools: Aletler 5 | items: Yararlı Eşyalar 6 | food: Yemek 7 | basic_machines: Temel Makineler 8 | electricity: Enerji ve Elektrik 9 | gps: GPS Tabanlı Makineler 10 | armor: Zırh 11 | magical_items: Büyülü Eşyalar 12 | magical_gadgets: Büyülü Cihazlar 13 | misc: Çeşitli Eşyalar 14 | technical_gadgets: Teknik Cihazlar 15 | resources: Kaynaklar 16 | cargo: Kargo Yönetimi 17 | tech_misc: Teknik Bileşenler 18 | magical_armor: Büyülü Zırh 19 | talismans: Tılsımlar (Seviye I) 20 | ender_talismans: Ender Tılsımları (Seviye II) 21 | christmas: Noel (Aralık) 22 | valentines_day: Sevgililer Günü (14 Şubat) 23 | easter: Paskalya (Nisan) 24 | birthday: TheBusyBiscuit'ün doğum günü (26 Ekim) 25 | halloween: Cadılar Bayramı (31 Ekim) 26 | androids: Programlanabilir Androidler 27 | -------------------------------------------------------------------------------- /src/main/resources/languages/tr/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | tooltips: 3 | results: GEO Tarama Sonuçları 4 | world: Dünya 5 | unit: Birim 6 | units: Birimler 7 | chunk: Taranan Bölge 8 | resources: 9 | slimefun: 10 | oil: Petrol 11 | nether_ice: Nether Buzu 12 | salt: Tuz 13 | uranium: Uranyum 14 | slimefunorechunks: 15 | iron_ore_chunk: Demir Madeni Bölgesi 16 | gold_ore_chunk: Altın Madeni Bölgesi 17 | copper_ore_chunk: Bakır Madeni Bölgesi 18 | tin_ore_chunk: Kalay Madeni Bölgesi 19 | silver_ore_chunk: Gümüş Madeni Bölgesi 20 | aluminum_ore_chunk: Alüminyum Madeni Bölgesi 21 | lead_ore_chunk: Kurşun Madeni Bölgesi 22 | zinc_ore_chunk: Çinko Madeni Bölgesi 23 | nickel_ore_chunk: Nikel Madeni Bölgesi 24 | cobalt_ore_chunk: Kobalt Madeni Bölgesi 25 | -------------------------------------------------------------------------------- /src/main/resources/languages/uk/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | slimefun: 3 | armor: Броня 4 | basic_machines: Основні машини 5 | birthday: День народження TheBusyBiscuit (26 жовтня) 6 | cargo: Управління грузом 7 | christmas: Різдво (грудень) 8 | easter: Великдень (квітень) 9 | electricity: Електрика 10 | ender_talismans: Ендер-талісмани 11 | food: Їжа 12 | gps: Машини з використанням GPS 13 | halloween: Хелловін (31 жовтня) 14 | items: Корисні предмети 15 | magical_armor: Магічна броня 16 | magical_gadgets: Магічні пристрої 17 | magical_items: Магічні предмети 18 | misc: Різне 19 | resources: Ресурси 20 | talismans: Талісмани 21 | tech_misc: Технічні компоненти 22 | technical_gadgets: Технічні пристрої 23 | tools: Інструменти 24 | valentines_day: День святого Валентина (14 лютого) 25 | weapons: Зброя 26 | androids: Програмовані Андроїди 27 | -------------------------------------------------------------------------------- /src/main/resources/languages/uk/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | tooltips: 3 | results: Результати сканування 4 | chunk: Просканований чанк 5 | world: Світ 6 | unit: Одиниця 7 | units: Одиниць 8 | resources: 9 | slimefun: 10 | oil: Нафта 11 | nether_ice: Пекельний лід 12 | salt: Сіль 13 | uranium: Уран 14 | slimefunorechunks: 15 | iron_ore_chunk: Кусочок залізної руди 16 | gold_ore_chunk: Кусочок золотої руди 17 | copper_ore_chunk: Кусочок мідної руди 18 | tin_ore_chunk: Кусочок олов’яної руди 19 | silver_ore_chunk: Кусочок срібної руди 20 | aluminum_ore_chunk: Кусочок алюмінієвої руди 21 | lead_ore_chunk: Кусочок свинцевої руди 22 | zinc_ore_chunk: Кусочок цинкової руди 23 | nickel_ore_chunk: Кусочок нікелевої руди 24 | cobalt_ore_chunk: Кусочок кобальтової руди 25 | -------------------------------------------------------------------------------- /src/main/resources/languages/vi/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | slimefun: 3 | weapons: Vũ Khí 4 | tools: Dụng Cụ 5 | items: Các Vật Phẩm Thường Dùng 6 | food: Thức Ăn 7 | basic_machines: Những Máy Móc Cơ Bản 8 | electricity: Năng Lượng Và Điện ( Điện Lực ) 9 | gps: Những Bộ Máy Dựa Trên Hệ Thống Định Vị 10 | armor: Giáp 11 | magical_items: Những Vật Phẩm Ma Thuật 12 | magical_gadgets: Những Đồ Dùng Ma Thuật 13 | misc: Những Vật Phẩm Linh Tinh 14 | technical_gadgets: Những Đồ Dùng Kỹ Thuật 15 | resources: Những Tài Nguyên 16 | cargo: Quản Lý Hàng Hoá 17 | tech_misc: Những Thành Phần Kỹ Thuật 18 | magical_armor: Giáp Ma Thuật 19 | talismans: Bùa Hộ Mệnh ( Loại I ) 20 | ender_talismans: Bùa Hộ Mệnh ( Loại II ) 21 | christmas: Lễ Giáng Sinh ( Tháng 12 ) 22 | valentines_day: Ngày Tình Nhân (14 Tháng 2) 23 | easter: Lệ Phục Sinh (Tháng Tư) 24 | birthday: Sinh Nhật TheBusyBiscuit (26 Tháng 10) 25 | halloween: Halloween (31 tháng 10) 26 | androids: Android lập trình 27 | -------------------------------------------------------------------------------- /src/main/resources/languages/vi/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | tooltips: 3 | results: Kết Quả Quét Tiếp Thị Phương Pháp Địa Lý 4 | chunk: Quét Vùng 5 | world: Thế Giới 6 | unit: Đơn Vị 7 | units: Các Đơn Vị 8 | resources: 9 | slimefun: 10 | oil: Dầu 11 | nether_ice: Băng Âm Phủ 12 | salt: Muối 13 | uranium: Uranium ( Urani,U:Atom=92 ) 14 | slimefunorechunks: 15 | iron_ore_chunk: Mảng Quặng Sắt 16 | gold_ore_chunk: Mảng Quặng Vàng 17 | copper_ore_chunk: Mảng Quặng Đồng 18 | tin_ore_chunk: Mảng Quằng Ôxit Thiếc 19 | silver_ore_chunk: Mảng Quặng Bạc 20 | aluminum_ore_chunk: Mảnh quặng nhôm 21 | lead_ore_chunk: Mảnh quăng chì 22 | zinc_ore_chunk: Mảnh quặng kẽm 23 | nickel_ore_chunk: Mảnh quặng ni-ken 24 | cobalt_ore_chunk: Mảnh quặng cô-ban 25 | -------------------------------------------------------------------------------- /src/main/resources/languages/zh-CN/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | slimefun: 3 | weapons: '武器' 4 | tools: '工具' 5 | items: '有用的物品' 6 | food: '食物' 7 | basic_machines: '基础机器' 8 | electricity: '能源与电力' 9 | androids: '可编程式机器人' 10 | gps: '基于 GPS 的机器' 11 | armor: '防具' 12 | magical_items: '魔法物品' 13 | magical_gadgets: '魔法道具' 14 | misc: '杂项用品' 15 | technical_gadgets: '科技工具' 16 | resources: '矿物资源' 17 | cargo: '货物管理' 18 | tech_misc: '科技零件' 19 | magical_armor: '魔法防具' 20 | talismans: '护身符 (I 级)' 21 | ender_talismans: '末影护身符 (II 级)' 22 | christmas: '圣诞节 (12 月)' 23 | valentines_day: '情人节 (2 月 14 日)' 24 | easter: '复活节 (4 月)' 25 | birthday: 'TheBusyBiscuit 的生日 (10 月 26 日)' 26 | halloween: '万圣节 (10 月 31 日)' -------------------------------------------------------------------------------- /src/main/resources/languages/zh-CN/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | tooltips: 3 | results: '区块中的自然资源扫描结果' 4 | chunk: '已扫描的区块' 5 | world: '世界' 6 | unit: '单位' 7 | units: '单位' 8 | resources: 9 | slimefun: 10 | oil: '原油' 11 | nether_ice: '下界冰' 12 | salt: '盐' 13 | uranium: '铀' 14 | slimefunorechunks: 15 | iron_ore_chunk: '铁矿区块' 16 | gold_ore_chunk: '金矿区块' 17 | copper_ore_chunk: '铜矿区块' 18 | tin_ore_chunk: '锡矿区块' 19 | silver_ore_chunk: '银矿区块' 20 | aluminum_ore_chunk: '铝矿区块' 21 | lead_ore_chunk: '铅矿区块' 22 | zinc_ore_chunk: '锌矿区块' 23 | nickel_ore_chunk: '镍矿区块' 24 | cobalt_ore_chunk: '钴矿区块' 25 | -------------------------------------------------------------------------------- /src/main/resources/languages/zh-TW/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | slimefun: 3 | weapons: 武器 4 | tools: 工具 5 | items: 實用物品 6 | food: 食物 7 | basic_machines: 基礎機器 8 | electricity: 電力與能源 9 | gps: GPS 機械 10 | armor: 盔甲 11 | magical_items: 魔法物品 12 | magical_gadgets: 魔法工具 13 | misc: 雜項 14 | technical_gadgets: 科技工具 15 | resources: 資源 16 | cargo: 物流管理 17 | tech_misc: 科技組件 18 | magical_armor: 魔法盔甲 19 | talismans: 護符(初級) 20 | ender_talismans: 護符(終界) 21 | christmas: 聖誕節 22 | valentines_day: 西洋情人節 23 | easter: 復活節 24 | birthday: TheBusyBiscuit 的生日(10 月 26 日) 25 | halloween: 萬聖節 26 | androids: 可編輯的機器人 27 | -------------------------------------------------------------------------------- /src/main/resources/languages/zh-TW/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | tooltips: 3 | results: 地質掃描結果 4 | chunk: 掃描的區塊 5 | world: 世界 6 | unit: 單位 7 | units: 單位 8 | resources: 9 | slimefun: 10 | oil: 油 11 | nether_ice: 地域冰 12 | salt: 鹽 13 | uranium: 鈾 14 | slimefunorechunks: 15 | iron_ore_chunk: 鐵石塊 16 | gold_ore_chunk: 金石塊 17 | copper_ore_chunk: 銅石塊 18 | tin_ore_chunk: 錫石塊 19 | silver_ore_chunk: 銀石塊 20 | aluminum_ore_chunk: 鋁石塊 21 | lead_ore_chunk: 鉛石塊 22 | zinc_ore_chunk: 鋅石塊 23 | nickel_ore_chunk: 鎳石塊 24 | cobalt_ore_chunk: 鈷石塊 25 | -------------------------------------------------------------------------------- /src/main/resources/languages/zh/categories.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/zh/messages.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/zh/recipes.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/zh/researches.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/languages/zh/resources.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /src/main/resources/tags/auto_crafter_supported_storage_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "#slimefun:shulker_boxes", 4 | "minecraft:chest", 5 | "minecraft:trapped_chest", 6 | "minecraft:barrel" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/tags/cargo_supported_storage_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "#slimefun:shulker_boxes", 4 | "minecraft:chest", 5 | "minecraft:trapped_chest", 6 | "minecraft:barrel", 7 | "minecraft:furnace", 8 | "minecraft:dispenser", 9 | "minecraft:dropper", 10 | "minecraft:hopper", 11 | "minecraft:brewing_stand", 12 | "minecraft:blast_furnace", 13 | "minecraft:smoker" 14 | ] 15 | } -------------------------------------------------------------------------------- /src/main/resources/tags/caveman_talisman_triggers.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "#slimefun:ores", 4 | { 5 | "id" : "minecraft:ancient_debris", 6 | "required" : false 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /src/main/resources/tags/climbing_pick_strong_surfaces.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "#slimefun:ice_variants", 4 | "#slimefun:terracotta", 5 | "#slimefun:stone_variants", 6 | "minecraft:netherrack", 7 | { 8 | "id" : "minecraft:blackstone", 9 | "required" : false 10 | }, 11 | { 12 | "id" : "minecraft:basalt", 13 | "required" : false 14 | }, 15 | { 16 | "id" : "minecraft:calcite", 17 | "required" : false 18 | }, 19 | { 20 | "id" : "minecraft:deepslate", 21 | "required" : false 22 | }, 23 | { 24 | "id" : "minecraft:dripstone_block", 25 | "required" : false 26 | }, 27 | { 28 | "id" : "minecraft:smooth_basalt", 29 | "required" : false 30 | }, 31 | { 32 | "id" : "minecraft:tuff", 33 | "required" : false 34 | } 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /src/main/resources/tags/climbing_pick_surfaces.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "#slimefun:climbing_pick_strong_surfaces", 4 | "#slimefun:climbing_pick_weak_surfaces" 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/tags/climbing_pick_weak_surfaces.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "#slimefun:concrete_powders", 4 | "#minecraft:sand", 5 | "minecraft:gravel", 6 | "minecraft:clay", 7 | { 8 | "id" : "minecraft:skulk", 9 | "required" : false 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /src/main/resources/tags/command_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "minecraft:command_block", 4 | "minecraft:chain_command_block", 5 | "minecraft:repeating_command_block" 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/tags/concrete_powders.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "minecraft:white_concrete_powder", 4 | "minecraft:orange_concrete_powder", 5 | "minecraft:magenta_concrete_powder", 6 | "minecraft:light_blue_concrete_powder", 7 | "minecraft:yellow_concrete_powder", 8 | "minecraft:lime_concrete_powder", 9 | "minecraft:pink_concrete_powder", 10 | "minecraft:gray_concrete_powder", 11 | "minecraft:light_gray_concrete_powder", 12 | "minecraft:cyan_concrete_powder", 13 | "minecraft:purple_concrete_powder", 14 | "minecraft:blue_concrete_powder", 15 | "minecraft:brown_concrete_powder", 16 | "minecraft:green_concrete_powder", 17 | "minecraft:red_concrete_powder", 18 | "minecraft:black_concrete_powder" 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /src/main/resources/tags/crop_growth_accelerator_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | { 4 | "id" : "#minecraft:crops", 5 | "required" : false 6 | }, 7 | "minecraft:beetroots", 8 | "minecraft:carrots", 9 | "minecraft:potatoes", 10 | "minecraft:wheat", 11 | "minecraft:melon_stem", 12 | "minecraft:pumpkin_stem", 13 | "minecraft:nether_wart", 14 | "minecraft:cocoa", 15 | "minecraft:sweet_berry_bush" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /src/main/resources/tags/deepslate_ores.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | { 4 | "id" : "minecraft:deepslate_coal_ore", 5 | "required" : false 6 | }, 7 | { 8 | "id" : "minecraft:deepslate_iron_ore", 9 | "required" : false 10 | }, 11 | { 12 | "id" : "minecraft:deepslate_copper_ore", 13 | "required" : false 14 | }, 15 | { 16 | "id" : "minecraft:deepslate_gold_ore", 17 | "required" : false 18 | }, 19 | { 20 | "id" : "minecraft:deepslate_redstone_ore", 21 | "required" : false 22 | }, 23 | { 24 | "id" : "minecraft:deepslate_emerald_ore", 25 | "required" : false 26 | }, 27 | { 28 | "id" : "minecraft:deepslate_lapis_ore", 29 | "required" : false 30 | }, 31 | { 32 | "id" : "minecraft:deepslate_diamond_ore", 33 | "required" : false 34 | } 35 | ] 36 | } -------------------------------------------------------------------------------- /src/main/resources/tags/dirt_variants.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "minecraft:dirt", 4 | "minecraft:coarse_dirt", 5 | "minecraft:grass_block", 6 | { 7 | "id": "minecraft:grass_path", 8 | "required": false 9 | }, 10 | { 11 | "id": "minecraft:dirt_path", 12 | "required": false 13 | }, 14 | { 15 | "id": "minecraft:rooted_dirt", 16 | "required": false 17 | }, 18 | { 19 | "id": "minecraft:mud", 20 | "required": false 21 | }, 22 | "minecraft:farmland", 23 | "minecraft:podzol", 24 | "minecraft:mycelium" 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /src/main/resources/tags/enhanced_furnace_luck_materials.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "#slimefun:ores", 4 | "#slimefun:raw_metals" 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/tags/explosive_shovel_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "#minecraft:sand", 4 | "#slimefun:concrete_powders", 5 | "#slimefun:dirt_variants", 6 | "minecraft:snow", 7 | "minecraft:snow_block", 8 | "minecraft:gravel", 9 | "minecraft:clay", 10 | "minecraft:soul_sand", 11 | { 12 | "id" : "minecraft:soul_soil", 13 | "required" : false 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /src/main/resources/tags/farmer_talisman_triggers.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | { 4 | "id" : "#minecraft:crops", 5 | "required" : false 6 | }, 7 | "minecraft:beetroots", 8 | "minecraft:carrots", 9 | "minecraft:potatoes", 10 | "minecraft:wheat", 11 | "minecraft:cocoa", 12 | "minecraft:sweet_berry_bush", 13 | "minecraft:melon" 14 | ] 15 | } -------------------------------------------------------------------------------- /src/main/resources/tags/fluid_sensitive_materials.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "#minecraft:saplings", 4 | "minecraft:player_head", 5 | "minecraft:player_wall_head" 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/tags/fungus_soil.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "#slimefun:dirt_variants", 4 | { 5 | "id" : "minecraft:soul_soil", 6 | "required" : false 7 | }, 8 | { 9 | "id" : "minecraft:crimson_nylium", 10 | "required" : false 11 | }, 12 | { 13 | "id" : "minecraft:warped_nylium", 14 | "required" : false 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /src/main/resources/tags/glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "#slimefun:glass_blocks", 4 | "#slimefun:glass_panes" 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/tags/glass_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "minecraft:glass", 4 | "minecraft:white_stained_glass", 5 | "minecraft:orange_stained_glass", 6 | "minecraft:magenta_stained_glass", 7 | "minecraft:light_blue_stained_glass", 8 | "minecraft:yellow_stained_glass", 9 | "minecraft:lime_stained_glass", 10 | "minecraft:pink_stained_glass", 11 | "minecraft:gray_stained_glass", 12 | "minecraft:light_gray_stained_glass", 13 | "minecraft:cyan_stained_glass", 14 | "minecraft:purple_stained_glass", 15 | "minecraft:blue_stained_glass", 16 | "minecraft:brown_stained_glass", 17 | "minecraft:green_stained_glass", 18 | "minecraft:red_stained_glass", 19 | "minecraft:black_stained_glass", 20 | { 21 | "id" : "minecraft:tinted_glass", 22 | "required" : false 23 | } 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /src/main/resources/tags/glass_panes.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "minecraft:glass_pane", 4 | "minecraft:white_stained_glass_pane", 5 | "minecraft:orange_stained_glass_pane", 6 | "minecraft:magenta_stained_glass_pane", 7 | "minecraft:light_blue_stained_glass_pane", 8 | "minecraft:yellow_stained_glass_pane", 9 | "minecraft:lime_stained_glass_pane", 10 | "minecraft:pink_stained_glass_pane", 11 | "minecraft:gray_stained_glass_pane", 12 | "minecraft:light_gray_stained_glass_pane", 13 | "minecraft:cyan_stained_glass_pane", 14 | "minecraft:purple_stained_glass_pane", 15 | "minecraft:blue_stained_glass_pane", 16 | "minecraft:brown_stained_glass_pane", 17 | "minecraft:green_stained_glass_pane", 18 | "minecraft:red_stained_glass_pane", 19 | "minecraft:black_stained_glass_pane" 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /src/main/resources/tags/gravity_affected_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "minecraft:dragon_egg", 4 | "minecraft:gravel", 5 | "minecraft:sand", 6 | "minecraft:red_sand", 7 | "minecraft:scaffolding", 8 | "#minecraft:anvil", 9 | "#slimefun:concrete_powders", 10 | { 11 | "id" : "minecraft:pointed_dripstone", 12 | "required" : false 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/tags/ice_variants.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "minecraft:ice", 4 | "minecraft:packed_ice", 5 | "minecraft:frosted_ice", 6 | "minecraft:blue_ice" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /src/main/resources/tags/industrial_miner_ores.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "#slimefun:ores", 4 | { 5 | "id" : "minecraft:gilded_blackstone", 6 | "required" : false 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /src/main/resources/tags/leather_armor.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "minecraft:leather_helmet", 4 | "minecraft:leather_chestplate", 5 | "minecraft:leather_leggings", 6 | "minecraft:leather_boots" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /src/main/resources/tags/mangrove_base_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "#slimefun:dirt_variants", 4 | "minecraft:clay", 5 | { 6 | "id": "minecraft:mud", 7 | "required": false 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/tags/miner_talisman_triggers.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "#slimefun:ores", 4 | { 5 | "id" : "minecraft:gilded_blackstone", 6 | "required" : false 7 | } 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/tags/mushrooms.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "minecraft:red_mushroom", 4 | "minecraft:brown_mushroom", 5 | { 6 | "id" : "minecraft:crimson_fungus", 7 | "required" : false 8 | }, 9 | { 10 | "id" : "minecraft:warped_fungus", 11 | "required" : false 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /src/main/resources/tags/nether_ores.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "minecraft:nether_quartz_ore", 4 | { 5 | "id" : "minecraft:nether_gold_ore", 6 | "required" : false 7 | } 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/tags/ores.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "#slimefun:stone_ores", 4 | "#slimefun:deepslate_ores", 5 | "#slimefun:nether_ores" 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/tags/pickaxe_of_the_seeker_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "#slimefun:ores", 4 | { 5 | "id" : "minecraft:ancient_debris", 6 | "required" : false 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /src/main/resources/tags/pickaxe_of_vein_mining_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "#slimefun:ores", 4 | { 5 | "id" : "minecraft:ancient_debris", 6 | "required" : false 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /src/main/resources/tags/pressure_plates.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "#minecraft:wooden_pressure_plates", 4 | "minecraft:stone_pressure_plate", 5 | "minecraft:light_weighted_pressure_plate", 6 | "minecraft:heavy_weighted_pressure_plate", 7 | { 8 | "id" : "#minecraft:pressure_plates", 9 | "required" : false 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /src/main/resources/tags/raw_metals.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | { 4 | "id" : "minecraft:raw_iron", 5 | "required" : false 6 | }, 7 | { 8 | "id" : "minecraft:raw_gold", 9 | "required" : false 10 | }, 11 | { 12 | "id" : "minecraft:raw_copper", 13 | "required" : false 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /src/main/resources/tags/sensitive_materials.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "#minecraft:saplings", 4 | "#slimefun:torches", 5 | "#slimefun:pressure_plates", 6 | "minecraft:cake" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /src/main/resources/tags/shulker_boxes.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "minecraft:shulker_box", 4 | "minecraft:white_shulker_box", 5 | "minecraft:orange_shulker_box", 6 | "minecraft:magenta_shulker_box", 7 | "minecraft:light_blue_shulker_box", 8 | "minecraft:yellow_shulker_box", 9 | "minecraft:lime_shulker_box", 10 | "minecraft:pink_shulker_box", 11 | "minecraft:gray_shulker_box", 12 | "minecraft:light_gray_shulker_box", 13 | "minecraft:cyan_shulker_box", 14 | "minecraft:purple_shulker_box", 15 | "minecraft:blue_shulker_box", 16 | "minecraft:brown_shulker_box", 17 | "minecraft:green_shulker_box", 18 | "minecraft:red_shulker_box", 19 | "minecraft:black_shulker_box" 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /src/main/resources/tags/smelters_pickaxe_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "#slimefun:ores", 4 | { 5 | "id" : "minecraft:ancient_debris", 6 | "required" : false 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /src/main/resources/tags/stone_ores.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "minecraft:coal_ore", 4 | "minecraft:iron_ore", 5 | { 6 | "id" : "minecraft:copper_ore", 7 | "required" : false 8 | }, 9 | "minecraft:gold_ore", 10 | "minecraft:redstone_ore", 11 | "minecraft:emerald_ore", 12 | "minecraft:lapis_ore", 13 | "minecraft:diamond_ore" 14 | ] 15 | } -------------------------------------------------------------------------------- /src/main/resources/tags/stone_variants.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "minecraft:stone", 4 | "minecraft:granite", 5 | "minecraft:andesite", 6 | "minecraft:diorite" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /src/main/resources/tags/tall_flowers.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "minecraft:lilac", 4 | "minecraft:rose_bush", 5 | "minecraft:peony", 6 | "minecraft:tall_grass", 7 | "minecraft:large_fern", 8 | "minecraft:sunflower" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/tags/terracotta.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "minecraft:terracotta", 4 | "minecraft:white_terracotta", 5 | "minecraft:orange_terracotta", 6 | "minecraft:magenta_terracotta", 7 | "minecraft:light_blue_terracotta", 8 | "minecraft:yellow_terracotta", 9 | "minecraft:lime_terracotta", 10 | "minecraft:pink_terracotta", 11 | "minecraft:gray_terracotta", 12 | "minecraft:light_gray_terracotta", 13 | "minecraft:cyan_terracotta", 14 | "minecraft:purple_terracotta", 15 | "minecraft:blue_terracotta", 16 | "minecraft:brown_terracotta", 17 | "minecraft:green_terracotta", 18 | "minecraft:red_terracotta", 19 | "minecraft:black_terracotta" 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /src/main/resources/tags/torches.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "minecraft:torch", 4 | "minecraft:redstone_torch", 5 | { 6 | "id" : "minecraft:soul_torch", 7 | "required" : false 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/tags/unbreakable_materials.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | "#slimefun:command_blocks", 4 | "minecraft:bedrock", 5 | "minecraft:barrier", 6 | "minecraft:nether_portal", 7 | "minecraft:end_portal", 8 | "minecraft:end_portal_frame", 9 | "minecraft:end_gateway", 10 | "minecraft:structure_block", 11 | "minecraft:structure_void", 12 | { 13 | "id" : "minecraft:jigsaw", 14 | "required" : false 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /src/main/resources/tags/wool_carpets.json: -------------------------------------------------------------------------------- 1 | { 2 | "values" : [ 3 | { 4 | "id" : "#minecraft:carpets", 5 | "required" : false 6 | }, 7 | { 8 | "id" : "#minecraft:wool_carpets", 9 | "required" : false 10 | } 11 | ] 12 | } 13 | --------------------------------------------------------------------------------