CrazyCrates 4.2.1
on Nov 22, 2024Update
- Added 2 new toggles in the config.yml which allow you to switch what right/left do when interacting with physical or virtual crates.
- Added the ability to migrate user data with ExcellentCrates by adding -data to the command which ignores migrating crates.
crazycrates migrate ExcellentCrates -d
- Updated the migration command format
crazycrates migrate -mt <migration_type> -c <crate_name> -d
-d
/--data
is used for migrating from user data from other crate plugins.- If you wish to migrate from a crates plugin like ExcellentCrates, Do not use
-d
- If you wish to migrate from a crates plugin like ExcellentCrates, Do not use
-mt
/--migration_type
is used to specify what migration type you want to use.-c
/--crate
is used for supplying a crate name.
- Fixed multiple issues with the ExcellentCrates Migrator.
- Fixed an issue where sometimes fireworks would spawn double stacked or triple stacked.
- This is because in the sections handling giving the prizes, we forgot how many times we actually spawned fireworks.
- Fixed a similar issue where the PlayerPrizeEvent was called multiple times, sometimes even 3 times.
- This is a similar reason to above, we forgot where we used it, or method stacking.
- No longer spawns a firework when a prize is picked before opening the re-spin menu as the idea of the fireworks is only when the prize is actually given to the player.
CrazyCrates 4.2.0
on Nov 21, 2024Changes:
- Allow mass-open to be used on the following crate types:
- QuadCrates
- CasinoCrate
- CosmicCrate
- FireCracker
- QuickCrate
- Updated logging messages for tiers in CasinoCrate
- Only checking if a tier is null, rather than if the config option is empty, then checking if a tier is null.
- Moved calling the player prize event, and spawning fireworks to the method which gives the prize.
Fixed:
- The migrator for
ExcellentCrates
was setting toChance
notWeight
in our crate configs during migration.
CrazyCrates 4.1.1
on Nov 17, 2024Fixed:
- Fixed an issue with the broadcast toggle.
CrazyCrates 4.1.0
on Nov 12, 2024Changes:
- Bumped to 1.21.3
Additions:
- Added a feature to turn off the glass border in CSGO, RouletteCrate, WheelCrate, and WonderCrate #800
Crate:
# Global Settings
Settings:
# Handles settings related to the border
Border:
# Settings related to the glass border
Glass-Border:
Toggle: true # Should the glass border be enabled?
Fixed:
- No longer ignore items with a -1 weight when building the preview, this prevented prizes being able to be used as filler items.
CrazyCrates 4.0.6
on Nov 3, 2024Fixed:
- An issue with the max pull lore being appended, despite the config option being set to -1 for max pulls.
CrazyCrates 4.0.5
on Nov 3, 2024Changes:
- Updated global crate broadcast, and per prize broadcast which overrides crate broadcasts
CrazyCrates 4.0.4
on Nov 3, 2024Fixed:
- No longer ignore items with a -1 weight when building the preview, this prevented prizes being able to be used as filler items.
CrazyCrates 4.0.3
on Oct 31, 2024Changes:
- Added <reset> after the
key name
orcrate name
when logging crate/key events to console. - Strip colors when logging to the crates.log/keys.log file.
CrazyCrates 4.0.2
on Oct 12, 2024Changes:
- Updated
use-different-random
comment inconfig.yml
. - Add more verbose logging, and an extra safety net to Casino Crate.
- This requires
is_verbose
set to true invital.yml
- This requires
Fixed:
- Properly including calculate the total weight of the tiers for casino crate.
- Properly calculate the per tier prize pools total weight, for things like Casino or Cosmic Crate.
CrazyCrates 4.0.1
on Oct 10, 2024Fixed:
- Fixed an issue with infinite re-spins on join due to using temporary cache.
- Fixed case-sensitive issue with /crazycrates claim
CrazyCrates 4.0
on Oct 7, 2024Breaking Changes:
- The weight system has been merged in, which effectively replaces the Chance/Max Range system.
- You must run the command /crazycrates migrate WeightMigration, which will convert your configurations.
- https://docs.crazycrew.us/docs/plugins/crazycrates/guides/crates/weight-system
Additions:
- Added the ability to log the plugin actions to file i.e. crates.log and keys.log... A list of events currently tracked
- event_key_given
- event_key_sent
- event_key_received
- event_key_transferred
- event_key_removed
- event_key_taken
- event_key_taken_multiple
- event_crate_opened
- event_crate_force_opened
- event_crate_mass_opened
- If you notice anything not tracking right, or lacking tracking. Create an issue.
- The files will zip on /crazycrates reload, plugin shutdown, plugin startup.
- This avoids the files getting large, and leading to issues with crashing the server.
- It mimics how Paper handles their .log files...
- Added /crazycrates claim <prize> which claims prizes they didn't get from respins
Changes:
- Added config options, which allow you to configure slots 4 and 22 above the prize in
csgo
crate - Added the ability to run commands with the gui customizer.
- Added the ability to respin prizes to each crate file, if the option is enabled.
Crate:
# Global Settings
Settings:
# Settings related to rewards.
Rewards:
# Should a yes/no popup be made, to ask if they want to keep the prize?
Re-Roll-Spin: false
# Should there be a limit to how many times they can re-roll?
Permission:
# Should this be enabled?
Toggle: false
# Should this persist restarts? i.e. writes to disk the amount of respins, and reads the amount of respins.
Persist: false
# This will define how many permissions will be registered to the server per crate.
# i.e. crazycrates.respin.<crate_name>.1-20
# It will simply register multiple permissions, so it shows up in things like LuckPerms.
Max-Cap: 20
- You can view an example of this in
examples/crates/CrateExample.yml
- If
Permission.Persist
is set to true, we will write to disk, and the re-spins will be considered global- If the option is set to false, it will be cached... and allow re-spins for X amount every time they open a crate.
- You must have
Re-Roll-Spin
set to true to allow re-rolls. - You must have
Permission.Toggle
set to true, for it to be permission based.- The higher the permission, the more spins they have.
- Internally, we loop through a player's permissions.... and find the highest matching one with
crazycrates.respin.<crate_name>.<amount>
- The permissions will be registered on startup, and on /crates reload if not found.
- We also unregister on /crates reload, if you set
Permissions.Toggle
to false.
- We also unregister on /crates reload, if you set
<amount>
is theMax-Cap
, It will not go any higher... The higher that number is, the heavier the permission checks.
- Crate Types such as Cosmic Crate, Casino Crate, QuadCrate, and WarCrate do not have support for re-spins
- Casino Crate has 3 prizes, the gui currently only supports 1 prize.
- Cosmic Crate has 4 prizes that you pick, the gui currently only supports 1 prize.
- QuadCrate has 4 prizes, the gui currently only supports 1 prize.
- WarCrate is in a similar situation, where it's picked prizes.
- The complexity for these crate types above will take some time to add it in while it not being a train wreck.
CrazyCrates 3.8.3
on Sep 24, 2024Fixed:
- 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.
CrazyCrates 3.8.2
on Sep 18, 2024Fixed:
- 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.
CrazyCrates 3.8.1
on Sep 17, 2024Changes:
- No longer do hefty checks on PlayerMoveEvent if the player is not in the session for QuadCrate
CrazyCrates 3.8
on Sep 15, 2024Big 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 ofslot:1
- the customizer specifically the
- Similar tweaks have to be made with subtracting
1
from each option in thecrate
files- Specifically, related to the position of the crates in
/crates
and the position of the tiers in the tier previews
- Specifically, related to the position of the crates in
- Why did this change? Inventories naturally start from
0
, and the gui framework I switched to does start from0
- 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.
- %pulls%, %maxpulls% are 2 new placeholders which can be used in
- 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 allcrate
files.
- You can run /crazycrates migrate LegacyColorAll which should migrate all values in
Fixed:
- CSGO Crate animation was delayed by 1 tick, for some reason.
- Fixed https://github.com/Crazy-Crew/CrazyCrates/issues/788
- Fixed spacing in migrate command usage.
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
orItems
were all not found.- This would use the
DisplayItem
,DisplayName
,DisplayLore
,DisplayEnchantments
andDisplayAmount
as the prize.
- This would use the
- 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 touse-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.
CrazyCrates 3.7.4
on Aug 30, 2024Fixed:
- 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 thecrate
object.
- Please use
CrazyCrates 3.7.3
on Aug 24, 2024Fixed:
- Fixed a class cast exception with the ItemBuilder when using
Data:
orDisplayData:
CrazyCrates 3.7.2
on Aug 24, 2024Fixed:
- Fixed an issue with /crazycrates migrate ExcellentCrates
- Added a missing configuration option, that is required in our crate configs.
CrazyCrates 3.7.1
on Aug 23, 2024Changes:
- 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.
- This option is subject for removal however toggled like this for now,
CrazyCrates 3.7
on Aug 23, 2024Added:
- 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 #755use-required-keys
inconfig.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 byCrate.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 byCrate.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.
- The option was meant to always be under
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 returnCrate.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 nowCrate#getFileName()
whileCrate#getCrateInventoryName()
isCrate#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
, ifuse-old-editor
in theconfig.yml
is set tofalse
- A lot of other changes were internal clean up, I was merely being a Janitor. functionality should not change.
- Deprecated
use-minimessage
inconfig.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 isVital/crazycrates-config.yml
- Once the option
use-minimessage
is removed, settingis-legacy
to false will allow MiniMessage