Host your Minecraft server on BisectHosting - get 25% off your first month with code MODRINTH.
Filter loader...
Filter versions...
Filter channels...

Fixed:

  • Fixed an issue, where if the border was toggled off. and you didn't have a second page, a glass pane would be there.
    • It will simply be air now until the border is on.

Fixed:

  • Fixed an issue with pagination on prizes.
  • Fixed an issue with the next/main/back buttons being static not dynamic.
    • They would not re-size with the gui if you changed the row size.

Changes:

  • No longer do hefty checks on PlayerMoveEvent if the player is not in the session for QuadCrate

Big Changes: ( only for existing configurations )

If you DO not change this, all your previews will look weird.

  • config.yml has had a change that cannot be automatically done.
    • the customizer specifically the slot option, due to recent inventory changes.
    • you must subtract 1 from each option, and start from slot:0 instead of slot:1
  • Similar tweaks have to be made with subtracting 1 from each option in the crate files
    • Specifically, related to the position of the crates in /crates and the position of the tiers in the tier previews
  • Why did this change? Inventories naturally start from 0, and the gui framework I switched to does start from 0
    • This change allows for much easier inventory management and future features.

Added:

  • Added a new feature to prizes, The ability to set a limit on prizes.
    • If a prize has Max-Pulls set to any number i.e. 1 or higher.
    • That is limit globally for any player to claim it.
    • Once that limit is reached, It will no longer be winnable.
      • %pulls%, %maxpulls% are 2 new placeholders which can be used in DisplayLore, DisplayName, Messages, Commands and the global/per prize broadcast.
    • A lore will be added to any prize that meets the criteria.
      • This message can be edited in messages.yml, and set to empty if you don't want it appended.

An example of what a prize would look like with the Max-Pulls option

    '6':
      # The name of the item to display in the gui.
      DisplayName: "<green>Fancy Shield <gray>| <red>%pulls%<gray>/<red>%maxpulls%"
      # The enchants to display in the gui.
      DisplayItem: "shield"
      # A list of patterns: https://jd.papermc.io/paper/1.21/org/bukkit/block/banner/PatternType.html
      # The patterns don't need to be uppercased. you can type them lowercased along with the colors.
      # Patterns have to be laid out in a specific order, otherwise it won't look right.
      # This also applies to the Items section.
      DisplayPatterns:
        - "base:white"
        - "gradient_up:light_gray"
        - "straight_cross:light_blue"
        - "flower:light_blue"
      # Prize settings
      Settings:
        # The custom model data of the item, -1 is disabled.
        Custom-Model-Data: -1
        # The amount of times this item can be pulled.
        Max-Pulls: 10
  • Added the ability to have per prize broadcasts and global broadcast for prizes.
    • The permissions used to filter out who can see the broadcast are registered as proper permissions, so they show up in LuckPerms
    • They do get removed when you turn off the per prize broadcast or the global broadcast.

Removed:

  • All legacy color codes are removed, I do not want to maintain it anymore as I've figured out ways around needing it.
    • You can run /crazycrates migrate LegacyColorAll which should migrate all values in config.yml, messages.yml and all crate files.

Fixed:

Changes:

  • Improved /crazycrates migrate internally.
    • ExcellentCrates Migrator has changed significantly, report any bugs you might find. It will convert legacy color codes to MiniMessage.
    • Properly warn the player/sender if the inputted migration type is not valid.
  • Removed sections of code related to giving a prize if Editor-Items, Commands or Items were all not found.
    • This would use the DisplayItem, DisplayName, DisplayLore, DisplayEnchantments and DisplayAmount as the prize.
  • Updated the /crazycrates additem command
    • CrazyCrates additem command now supports MiniMessage, regardless of the item format used.
    • This is only happening, as legacy colors have been removed and I did some research to improve things.
  • Updated the config option use-old-editor, It is now migrated to use-new-editor
    • true uses the new editor, false uses the old one which is more readable. The option should be migrated on startup.
  • Updated Vital API.

Fixed:

  • Fixed an issue with some commands not properly validating virtual keys

Deprecation

  • Deprecated PlayerPrizeEvent(player, crate, crateName, prize)
    • Please use PlayerPrizeEvent(player, crate, prize) as the crateName is already passed through via the crate object.

Fixed:

  • Fixed a class cast exception with the ItemBuilder when using Data: or DisplayData:

Fixed:

  • Fixed an issue with /crazycrates migrate ExcellentCrates
    • Added a missing configuration option, that is required in our crate configs.

Changes:

  • Removed all getItemMeta/hasItemMeta calls for checking PersistentDataContainer
    • We now check ItemStack#PersistentDataContainerView which no longer relies on ItemStack#getItemMeta
    • TLDR: stonks

Added:

  • Added a toggle, which allows you to revert the chance made previously.
    • crazycrates.open.<crate_name> -> crazycrates.deny.open.<crate_name>
  • The configuration option can be found in the config.yml i.e. root.use-new-permission-system which defaults to false
    • This option is subject for removal however toggled like this for now, false means the old system i.e. crazycrates.open.<crate_name> is back.
    • The new way i.e. crazycrates.deny.open.<crate_name> will be removed in the next version of Minecraft!
    • All further experiments will be behind toggles like this one going forward.

Added:

  • Ability to migrate crate configurations from ExcellentCrates.
    • active locations from ExcellentCrates are also migrated!
  • Added a new feature where the RequiredKeys can also take that amount of keys #755
    • use-required-keys in config.yml has to be true for that to take effect.
  • Added %chance% placeholders to prizes and tiers

Crate Config Changes:

  • Crate.CrateName is deprecated, and has been replaced by Crate.Name
    • The options were duplicate, and one wasn't used which annoyed me.
    • Crate.CrateName will be removed in the next version of Minecraft!
    • You can run /crazycrates migrate CratesDeprecated to migrate deprecated options.
Crate:
  # https://docs.crazycrew.us/docs/plugins/crazycrates/misc/crate-types

  # Make sure to check out the wiki for anything not explained here.
  # https://docs.crazycrew.us/docs/category/crazycrates

  # See CosmicCrate.yml to see how the Cosmic CrateType works.
  CrateType: Casino
  # Name of the Inventory if a GUI crate.
  CrateName: "<dark_blue>Casino Crate" # Deprecated, but will still work
  # Name of the item in the GUI.
  Name: "<bold><dark_blue>Casino Crate</bold>" # This is what is used now if CrateName isn't found
  # The lore of the item in the GUI.
  Lore:
  - "<gray>This crate contains strange objects."
  - "<gray>You have <gold>%keys% keys <gray>to open this crate with."
  - "<gray>You have opened this crate: <gold>%crate_opened% times"
  - "<gray>(<yellow>!<gray>) Right click to view rewards."
  • Crate.Preview-Name is deprecated, and has been replaced by Crate.Preview.Name
    • The option was meant to always be under Crate.Preview
    • Crate.Preview-Name will be removed in the next version of Minecraft!
    • You can run /crazycrates migrate CratesDeprecated to migrate deprecated options.
  Preview:
    # The name of the inventory for the preview menu.
    Name: "<green>Basic Crate Preview" # moved it under Preview
    # Turn on and off the preview for this crate.
    Toggle: true
    # How many lines the Crate Preview should have. Including Header and Bottom (Between 3 and 6)
    ChestLines: 6
    Glass:
      # Turn the glass border in the preview on and off.
      Toggle: true
      # The name of the border item.
      Name: " "
      # The item that shows in the border. Can be glass or any other item.
      Item: "gray_stained_glass_pane"
      # The custom model data of the item, -1 is disabled.
      Custom-Model-Data: -1 

Fixes:

  • Fixed a rare issue where you weren't able to open QuickCrate
  • Fixed a duplication issue with CosmicCrate
  • Fixed an issue where CMI likely wouldn't be detected

Changes:

  • Right click now opens the crate menu as well.
  • Checked location strings instead of object ids
  • Simplified multiple location getters, don't need to get the same location 3 times if we aren't changing it.
  • {crate} in messages will now return Crate.Name instead of the file name
    • Cleaned up internals related to sometimes, the file name being used along with bad naming schemes.
    • Crate#getName() is now Crate#getFileName() while Crate#getCrateInventoryName() is Crate#getCrateName()
  • Check if the prizes section is empty before opening a crate, prevents unneeded chance calculation.
  • Overhauled the /crazycrates migrate command, sends a more detailed message of what was migrated.
    • files that show up red failed to migrate while files that are green succeeded,
    • it also tells you the migration type you picked when running the command, while also reloading the plugin!
    • Only saving to file, if we find anything that needs to be migrated with CratesDeprecated option
    • Only migrate Editor-Items, if use-old-editor in the config.yml is set to false
  • A lot of other changes were internal clean up, I was merely being a Janitor. functionality should not change.
  • Deprecated use-minimessage in config.yml, it will be removed in the next major version of minecraft
    • The library (made by me), now has its own directory much like bStats. Each plugin using it will get a config generated inside it.
    • You simply after use-minimessage is removed will have to edit that file instead which is Vital/crazycrates-config.yml
    • Once the option use-minimessage is removed, setting is-legacy to false will allow MiniMessage

Added:

  • Bumped minecraft version to 1.21.1
    • You should update to 1.21.1 as soon as possible, there is no changes to prevent any plugins from being used on 1.21.1
    • This version of Minecraft is a minor version fixing bugs, it's plug and play unless the plugin developer is insane and has some hardcoded restrictions.

Changes:

  • Properly relocate the command framework
  • CsgoCrate now when the task is finished, sets an item below and above the prize you won.
    • In the future, this will be configurable. I just don't know what to call it.
  • Updated permission description
  • Updated exclude.give-all to default to FALSE, #774
  • Bumped CMI dependencies

Fixed:

  • Typo in config options
  • Adventure api issue #770
  • CsgoCrate was missing 2 glass panes #772
  • CsgoCrate was not animating the glass panes

Added:

  • Added missing configurable messages to places around the plugin, all messages should now be configurable.
  • Added a new config option where you can decide to send messages in chat or in the actionbar.
    • Messages that send a list to chat will by default never be sent to actionbar as it would not look pretty.
  • Added a new placeholder, {required_amount} to crates.requirements.not-enough-keys
  • Added another new placeholder, {key} to crates.requirements.not-enough-keys, #756
    • This placeholder returns the name of the key.
  • Added a new migration type which converts deprecated fields in the crate files.
  • Added 2 new toggles to the config.yml which you can find at the top of the file.
    • The use-old-editor requires use-minimessage to be false as it's uses legacy color codes.
  • Added per prize broadcast, this will send a message to every player on the server.
    '5':
      # The display name of the item.
      DisplayName: "<yellow>$1,000"
      # The item to display in the gui.
      # The enchanted book will function with the enchants properly in an anvil.
      DisplayItem: "sunflower"
      # Prize settings
      Settings:
        # The custom model data of the item, -1 is disabled.
        Custom-Model-Data: -1
        # Broadcast a message to the server
        Broadcast:
          # If the messages should be sent.
          Toggle: false
          # The messages to broadcast.
          Messages:
            - '<red>%player% won the prize <yellow>%reward%.'
          # If the player has this permission, they don't get the broadcast.
          Permission: 'your_permission' 
  • Added optional arg for Player with crazycrates debug, so you can use it in console.
  • Added missing message notifying an item was added using /crates additem

Changes:

  • The permission check for whether a player can open a crate has been changed.
    • crazycrates.open.<crate_name> is now crazycrates.deny.open.<crate_name>
    • The crate name is case-sensitive, so it must match exactly the crate name in the crates folder
    • If the file name is CrateBeans.yml, it must be crazycrates.deny.open.CrateBeans
  • If a message in the messages.yml is blank, it will not send the message.
  • Update default message for crates.crate-no-permission
  • Update some comments because of grammar.
  • Update logger message when the CrateOpenEvent is cancelled to be more verbose.

Fixed:

  • Wheel Crate animation now spins properly. #764
  • Roulette Crate inventory size is now normal. #765
  • Don't give 2 prizes if the editor items isn't empty.
  • Casino/Cosmic crate tier previews would share total items causing pagination to appear despite the inventory not being full.

Deprecations:

  • Deprecated {key_amount} and replaced it with {required_amount} in crates.requirements.not-enough-keys
    • {key_amount} will stop working in the next major version of Minecraft.

Added:

  • Ability the ability to make items glow in Items
Items:
  - 'Item:spawner, Glowing:true'

Fixed:

  • The config option for verbose-logging was not applied to some parts of the plugin.

Changes:

  • No longer add the contents of DisplayData to the Items section on /crazycrates reload
  • Lowercase shield pattern types and colors which also fixed a display issue, so previous shield pattern/color configs work. They no longer need to be typed like GRADIENT_UP:LIGHT_GRAY, you can simply type gradient_up:light_gray
  • Deprecated Patterns in favor of DisplayPatterns, it will be removed in the next major version of Minecraft.
    '6':
      # The name of the item to display in the gui.
      DisplayName: "<green>Fancy Shield"
      # The enchants to display in the gui.
      DisplayItem: "shield"
      # A list of patterns: https://jd.papermc.io/paper/1.21/org/bukkit/block/banner/PatternType.html
      # The patterns don't need to be uppercased. you can type them lowercased along with the colors.
      # Patterns have to be laid out in a specific order, otherwise it won't look right.
      # This also applies to the Items section.
      DisplayPatterns:
        - "base:white"
        - "gradient_up:light_gray"
        - "straight_cross:light_blue"
        - "flower:light_blue" 

Added:

  • Ability to define spawner type in prizes
    '1':
      # The name of the item to display in the gui.
      DisplayName: "<green>Creeper Spawner"
      # The enchants to display in the gui.
      DisplayItem: "spawner"
      # Prize settings
      Settings:
        # The custom model data of the item, -1 is disabled.
        Custom-Model-Data: -1
        # The type of mob for the spawner.
        Mob-Type: creeper
      # The amount to display in the gui.
      DisplayAmount: 1
      # The max range i.e. 15/100 = 15% chance to win.
      MaxRange: 100
      # The chance to win i.e. 15%
      Chance: 23
      Items:
        - 'Item:spawner, Mob:creeper'

Changes:

  • Play knockback/sounds if they don't have the required keys.
  • Removed runtime dependency loader.

Cosmic Crate:

  • Cosmic Crate was changed back in March for the calculation of tiers to be handled when you open the inventory, so that when picking a mystery crate. The choice would actually matter!
  • It has been brought to my attention of being able to skimp it using client side mods. this has been addressed, the mods will no longer be able to skimp it by seeing item differences.
  • The calculation still happens but, the picks are stored internally to the player's uuid in a cache which clears when the player quits, the inventory closes or the crate task ends for X reason.

Fixed:

  • Issue with file not found on first install.
  • Issue where examples folder wasn't being created properly.
  • Issue with shields not getting color or patterns.
  • Wonder crate type never playing the cycle sound.
  • Wheel crate type playing the stop sound twice.
  • Wheel crate type not playing the cycle sound as most people have the client music muted.
  • War crate type played the cycle sound a bit early.

Fixed:

  • Issue with /crazycrates migrate.
  • Multiple null checks in commands.
  • Issue with invalid argument output not outputting the proper syntax.

Changes:

  • Updated migrator command format.
  • Updated invalid argument output to just describe it better.

Fixed:

  • Re-worked how display names are handled for items/previews, This format now works properly and stacks with vanilla items.
    '1':
      # The item to display/give in the gui.
      DisplayItem: "diamond"
      # The amount to display/give
      DisplayAmount: 3
      # The max range i.e. 25/100 = 15% chance to win.
      MaxRange: 100
      # The chance to win i.e. 25%
      Chance: 25
  • Applied a bandaid to quadcrates
  • Use correct crate name for {crate} when a crate location already exists in /crazycrates set <crate>
  • Fixed npe with /keys view, player name wasn't supplied, so it freaked out.
  • Fixed npe with placeholder parsing in messages.

Changes:

  • Optimize display reward above quad/quick crate

Fixed:

  • Issue with ItemBuilder not allowing further modification of the Oraxen items.
Previous Update

Changes:

  • When interacting with a crate previously, it would check both virtual and physical keys, but it was a coin flip on what it would use, the interaction functions the same now as /crates in terms of hierarchy... physical keys are checked first then virtual keys.
  • If you hold a key that can't open the crate you are looking at, it will instead default to checking your virtual keys if the config option is enabled, if a key is found... it will open the crate using virtual keys. as always, please report any bugs.

Fixed:

  • Cancel the key check event if the checks find a player does not have enough keys.
  • Simplify key checks so virtual keys can work, this removes an unneeded physical key check as we were checking it twice? why...
  • Config comments for physical-crate-accepts-physical-keys and virtual-crate-accepts-physical-keys in config.yml were incorrect.

Changes:

  • When interacting with a crate previously, it would check both virtual and physical keys, but it was a coin flip on what it would use, the interaction functions the same now as /crates in terms of hierarchy... physical keys are checked first then virtual keys.
  • If you hold a key that can't open the crate you are looking at, it will instead default to checking your virtual keys if the config option is enabled, if a key is found... it will open the crate using virtual keys. as always, please report any bugs.

Fixed:

  • Cancel the key check event if the checks find a player does not have enough keys.
  • Simplify key checks so virtual keys can work, this removes an unneeded physical key check as we were checking it twice? why...
  • Config comments for physical-crate-accepts-physical-keys and virtual-crate-accepts-physical-keys in config.yml were incorrect.
Previous Update

Changes:

  • The fix below required preview to be only opened through left click so right click can function as for only opening the crate.

Fixed:

  • The key check on right-clicking a crate was working, however we didn't inform the player they had no key.

Changes:

  • The fix below required preview to be only opened through left click so right click can function as for only opening the crate.

Fixed:

  • The key check on right-clicking a crate was working, however we didn't inform the player they had no key.

Fixed:

  • Issue with file manager not properly loading/reloading files.

Fixed:

  • Apply MaxStackSize to the player's inventory when using Player#addItem, so now instead of 99 items popping up in the inventory if giving 99 keys or any items, it'll split 64/35
    • Spigot for some odd reason made Player#addItem use the max stack size for the inventories. #hardforkwhen

Changes:

  • Simplified parsing messages internally with placeholders

Project members

CrazyCrew

CrazyCrew

Organization

Details

Licensed MIT
Published 2 years ago
Updated 12 days ago