Rename Dialog (#113)

Add a rename dialog for longer possible rename text
Also has a rename fix
This commit is contained in:
alexcrea 2026-06-02 17:16:28 +02:00 committed by GitHub
commit f0d53a6ffa
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
16 changed files with 485 additions and 27 deletions

View file

@ -61,6 +61,13 @@ object ConfigOptions {
const val ENCHANT_LIMIT_ROOT = "enchant_limits"
const val ENCHANT_VALUES_ROOT = "enchant_values"
// Dialog menu rename
const val DIALOG_RENAME_ENABLED = "enable_dialog_rename"
const val DIALOG_MAX_SIZE = "dialog_rename_max_size"
const val DIALOG_RENAME_USE_PERMISSION = "permission_needed_for_dialog_rename"
const val DIALOG_KEEP_USER_TEXT = "dialog_rename_keep_user_text"
// Others
const val DISABLE_MERGE_OVER_ROOT = "disable-merge-over"
const val IMMUTABLE_ENCHANTMENT_LIST = "immutable_enchantments"
@ -107,6 +114,12 @@ object ConfigOptions {
private const val DEFAULT_DEBUG_LOG = false
private const val DEFAULT_VERBOSE_DEBUG_LOG = false
// Dialog menu rename
const val DEFAULT_DIALOG_RENAME_ENABLED = false
const val DEFAULT_DIALOG_MAX_SIZE = 256
const val DEFAULT_DIALOG_RENAME_USE_PERMISSION = false
const val DEFAULT_DIALOG_KEEP_USER_TEXT = true
// -------------
// Config Ranges
// -------------
@ -131,6 +144,9 @@ object ConfigOptions {
@JvmField
val USE_OF_COLOR_COST_RANGE = 0..1000
@JvmField
val DIALOG_MAX_SIZE_RANGE = 0..Int.MAX_VALUE
// Valid range for an enchantment limit
const val ENCHANT_LIMIT = 255
@ -416,6 +432,48 @@ object ConfigOptions {
.getBoolean(VERBOSE_DEBUG_LOGGING, DEFAULT_VERBOSE_DEBUG_LOG)
}
/**
* Is the dialog menu for rename enabled
*/
val doRenameDialog: Boolean
get() {
return ConfigHolder.DEFAULT_CONFIG
.config
.getBoolean(DIALOG_RENAME_ENABLED, DEFAULT_DIALOG_RENAME_ENABLED)
}
/**
* Do the dialog menu require permission
*/
val doRenameDialogUsePermission: Boolean
get() {
return ConfigHolder.DEFAULT_CONFIG
.config
.getBoolean(DIALOG_RENAME_USE_PERMISSION, DEFAULT_DIALOG_RENAME_USE_PERMISSION)
}
/**
* Do the dialog menu require permission
*/
val renameDialogMaxSize: Int
get() {
return ConfigHolder.DEFAULT_CONFIG
.config
.getInt(DIALOG_MAX_SIZE, DEFAULT_DIALOG_MAX_SIZE)
.takeIf { it in DIALOG_MAX_SIZE_RANGE }
?: Int.MAX_VALUE
}
/**
* Should the text used for rename should be kept in the item's pdc
*/
val shouldKeepRenameText: Boolean
get() {
return ConfigHolder.DEFAULT_CONFIG
.config
.getBoolean(DIALOG_KEEP_USER_TEXT, DEFAULT_DIALOG_KEEP_USER_TEXT)
}
/**
* Get the given [enchantment]'s limit
*/