
Minecaching
A recreation of Geocaching, now in Minecraft
- Загрузки
- 98
- Подписчики
- 2
- Обновлён
- 12 мая 2024 г.
- Лицензия
- GPL-3.0-or-later
Опубликован 12 мая 2024 г.
Bring Geocaching to your Minecraft server!
This plugin allows players to hide and find Minecaches (or "Caches") around the server while allowing operators to manage it.
DEVELOPERS: After v0.3.1.0, the artifact id is now
minecaching, notMinecaching!
DEVELOPERS: Some API stuff has moved to a new plugin, RDSCommons!
RDSCommons is a new plugin for shared code across Minecaching and future plugins. See
For Developers / Transferring To RDSCommonsfor more information!
For Server Owners:
Installation
You can find the latest version of Minecaching here.
Minecaching also requires a dependency plugin, RDSCommons, which you can find here.
Server owners can control many things, such as restrictions on where the caches are placed, the types of allowed caches, and more in the config!
Operators have access to certain commands, such as /verify and can (by default) bypass /delete and /edit checks.
For non-english servers, you should change the language in plugins\Minecaching\config.yml.
In there you can also find many other options, such as changing the /mcstats scoring, configuring auto-updates, and more.
You can also change some config values in-game by using /mca conf
Permission Nodes
| Permission Node | Who has it by default? |
|---|---|
| minecaching.* | Nobody |
| minecaching.bypass.* | OP |
| minecaching.bypass.delete_others | OP |
| minecaching.bypass.edit_others | OP |
| minecaching.admin.* | OP |
| minecaching.admin.* | OP |
| minecaching.admin.config | OP |
| minecaching.admin.force_stat_update | OP |
| minecaching.admin.reload | OP |
| minecaching.admin.server_data | OP |
| minecaching.command.* | OP |
| minecaching.command.admin | OP |
| minecaching.command.archive | OP |
| minecaching.command.create | Everyone |
| minecaching.command.delete | Everyone |
| minecaching.command.disable | OP |
| minecaching.command.edit | Everyone |
| minecaching.command.hint | Everyone |
| minecaching.command.list | Everyone |
| minecaching.command.locate | Everyone |
| minecaching.command.log | Everyone |
| minecaching.command.logbook | Everyone |
| minecaching.command.maintainer | Everyone |
| minecaching.command.publish | OP |
| minecaching.command.stats | Everyone |
| minecaching.misc.* | OP |
For Developers:
You can use the Digitalunderworlds Maven to add Minecaching to your project
Adding as a dependency
Snapshots:
<repository>
<id>dumaven-snapshots</id>
<name>Digitalunderworlds Maven Snapshots</name>
<url>https://maven.digitalunderworlds.com/snapshots</url>
</repository>
Releases:
<repository>
<id>dumaven-releases</id>
<name>Digitalunderworlds Maven Releases</name>
<url>https://maven.digitalunderworlds.com/releases</url>
</repository>
Then,
<dependency>
<groupId>net.realdarkstudios</groupId>
<artifactId>minecaching</artifactId>
<version>0.4.0.0-snapshot-24w13a</version>
</dependency>
You can view versions here
NOTE: Only full version releases (such as 0.2.0.7) are available in the Releases maven. If you want to be able to use ANY version, including releases, pick the Snapshot repository!
Transferring to RDSCommons
With 0.4.0.0, a new plugin (RDSCommons) was created to hold shared code for Minecaching and future projects.To start using RDSCommons, you will need to update to version Snapshot 24w13a or above. Then, add this dependency, replacing (version) with the minimum version you require:
<dependency>
<groupId>net.realdarkstudios</groupId>
<artifactId>rdscommons</artifactId>
<version>[(version), 1.0.99999.0)</version>
<scope>provided</scope>
</dependency>
Changes Summary:
- PACKAGE net.realdarkstudios.minecaching.api.menu.impl -> net.realdarkstudios.commons.menu
- minecaching.api.misc.AutoUpdater -> commons.util.AutoUpdater
- minecaching.api.misc.AutoUpdater.Version -> commons.util.Version
- minecaching.api.misc.Localization -> commons.util.Localization
- minecaching.api.misc.LocalizationProvider -> commons.util.LocalizationProvider
- minecaching.api.util.LocalizedMessages -> commons.util.LocalizedMessages
- minecaching.api.util.TextComponentBuilder -> commons.util.TextComponentBuilder
- minecaching.api.util.MessagesKeys -> minecaching.api.util.MCMessageKeys (some keys are instead in commons.util.MessageKeys)
Registering A Localization:
import net.realdarkstudios.minecaching.api.Minecaching;
import net.realdarkstudios.minecaching.api.MinecachingAPI;
import net.realdarkstudios.minecaching.api.misc.Config;
// OLD IMPORTS
import net.realdarkstudios.minecaching.api.misc.LocalizationProvider;
import net.realdarkstudios.minecaching.api.misc.Localization;
// NEW IMPORTS
import net.realdarkstudios.commons.CommonsAPI;
import net.realdarkstudios.commons.util.LocalizationProvider;
import net.realdarkstudios.commons.util.Localization;
@Override
public void onEnable() {
Localization exampleLocalization;
// OLD
exampleLocalization = MinecachingAPI.getLocalizationProvider().load(Minecaching.getInstance());
// NEW
exampleLocalization = CommonsAPI.get().registerLocalization(Minecaching.getInstance(), Config.getInstance().getServerLocale());
}
MCMessages was also removed. Please switch over to LocalizedMessages.
You may also implement IRDSPlugin in your main plugin class to be compliant for any plugin requesting your Version information
You can see the full changelog message below:
Snapshot 24w13a Changelog
Added:
- MAVEN SOURCES + JAVADOCS to (hopefully) all future Minecaching releases
- MCMessageKeys.Command.Stats.NONE
- MinecachingAPI#getCommonsAPI
Removed:
- MinecachingAPI#getConfigDataVersion
- MinecachingAPI#getMinecacheDataVersion
- MinecachingAPI#getPlayerDataVersion
- MinecachingAPI#getLogbookDataVersion
- MinecachingAPI#tInfo(String, Object...)
- MinecachingAPI#tWarning(String, Object...)
- (ALL CLASSES BELOW ARE IN RDSCommons)
- AutoUpdater
- BaseEvent
- BooleanMenuItem
- CancellableBaseEvent
- CloseMenuItem
- ErrorMenuItem
- GoBackMenuItem
- Localization
- LocalizationProvider
- MCMenu
- MCMenuHolder
- MenuItem
- MenuItemClickEvent
- MenuItemState
- MultiStateMenuItem
- PaginationMenu
- PaginationMenuItem
- PaginationPageItem
- RefreshPaginationMenuItem
- SkullMenuItem
- TextComponentBuilder
Refactors:
- MessageKeys -> MCMessageKeys
Changes:
- (BUGFIX) Added checks if there are 0 caches (caused issues with adding caches and stats)
- Switched over to RDSCommons
- UUID check is now in PlayerDataObject#update
- RDSCommons dependency
- MinecachingAPI#getLogger now returns an RDSLogHelper
- And more
Ченджлог
0.4.0.0-snapshot-24w19aБета1.20.2, 1.20.3, 1.20.4 · 12 мая 2024 г.
It's been a few weeks, but I'm back with another snapshot for 0.4.0.0. This snapshot contains a number of upgrades pertaining to improved user experience and ironing out issues with the move to RDSCommons
Added:
- New aliases for /addcache: /create and /createc
- New 'hint' field to caches
- CreateCacheHintMenuItem
- HintCommand
- A full data report (/mca datafull)
- Reworked permissions. You can find the updated permission nodes in the README
- MCPermissions
- MCMessageKeys.INCORRECT_ARG_COUNT (shortcut to MessageKeys.Error.INCORRECT_ARG_COUNT
- MCMessageKeys.Error.Misc.NOT_LOCATING
- MCCommand#send
- MCCommand#info
- MCCommand#warning
- MCCommand#cacheCheckNoAlert
- MCCommand#hasPerm
- MCCommand#hasEitherPerm
- LogbookDataObject#getFilteredLogs
- LogbookDataObject#deleteLog
- PlayerDataObject#getLocatingCache
- PlayerDataObject#setLocating
Refactors:
- LogbookDataObject#getLogs -> LogbookDataObject#getAllKnownLogs
- LogbookDataObject#getLogsSorted -> LogbookDataObject#getSortedLogs
- LogbookDataObject#get -> LogbookDataObject#getLDO
- LogbookDataObject#attemptUpdate -> LogbookDataObject#updateData
- LogbookStorage#getLogbooks -> LogbookStorage#getAllKnownLDOs
- LogbookStorage#deleteLogbook -> LogbookStorage#deleteLDO
- LogbookStorage#getLogbook -> LogbookStorage#getLDO
- LogbookStorage#hasLogbook -> LogbookStorage#hasLDO
- LogbookStorage#getOrCreateLogbook -> LogbookStorage#getOrCreateLDO
- MCMessageKeys Changes:
- Error.Log.CODE -> Error.Log.INCORRECT_CODE
- Error.Misc.ARCHIVE_CANT_ARCHIVE -> Error.Misc.CANT_ARCHIVE
- Error.Misc.DISABLE_CANT_DISABLE -> Error.Misc.CANT_DISABLE
- Error.Misc.LOCATE_ALREADY_LOCATING -> Error.Misc.ALREADY_LOCATING
- Error.Misc.LOCATE_DIFFERENT_WORLD -> Error.Misc.DIFFERENT_WORLD
- Error.Misc.LOGBOOK_NO_SLOTS -> Error.Misc.NO_SLOTS
- Error.Misc.MCADMIN_CORRECTING_STATS -> Error.Misc.CORRECT_STATS
- Error.Misc.PUBLISH_CANT_PUBLISH -> Error.Misc.CANT_PUBLISH
- Error.ABOVE_COORD_LIMIT -> Error.Misc.ABOVE_COORD_LIMIT
- Error.BELOW_COORD_LIMIT -> Error.Misc.BELOW_COORD_LIMIT
- Error.INVALID_LOG_TYPE -> Error.Log.INVALID_TYPE
- Error.PLUGIN_CREATE_FILE -> Error.Misc.CREATE_FILE
- Error.PLUGIN_UPDATE_FILE -> Error.Misc.UPDATE_FILE
- Error.PLUGIN_PARSE_UUID -> Error.Misc.PARSE_UUID
- Error.PLAYER_LIST_EMPTY -> Error.Misc.PLAYER_LIST_EMPTY
- MOVED TO RDSCOMMONS:
- Error.GENERIC
- Error.NON_CONSOLE_COMMAND
- Error.INCORRECT_USAGE
- Error.INCORRECT_ARG_COUNT
- Error.FAILED_TO_PARSE_NUMBER
Changes:
- Changed all plugin.yml permission nodes
- COMPLETE overhaul of the language keys. The new keys more closely resemble the MCMessageKeys hierarchy. If you were using MCMessageKeys, take note of the Refactors section
- Minecache Data Version is now 6
- Started adopting a prefix for plugin messages
- The AUTO_UPDATE config is now false by default (bukkit was setting this anyways)
- Generates archive/disable reasons AFTER the event cancelled check
- CacheListOptionsMenu#styledName now uses key.translateComponentWithOtherStyle instead of creating a new style every time
- delete/edit other player caches now requires the minecaching.bypass.delete_others/edit_others permission in order to bypass the check. Previously only OPs could (and now ops without the permission cant)
- LocateCacheMenuItem now plays a different sound when the player and cache's worlds dont match
- Started updating date formats to be 'd MMM yyyy'
- Added server uptime and JAR last modified to /mca data
- (BUGFIX) CreateCacheMenu#cacheDistanceCheck and CreateCacheSaveMenuItem#cacheDistanceCheck should no longer error when there are no caches or none in the same world
- (BUGFIX) There would sometimes be an error when the plugin is disabling because it cant access RDSCommons classes. This has been resolved
Комментарии
Загружаем…