CrateReloaded icon indicating copy to clipboard operation
CrateReloaded copied to clipboard

[enchancement] New CrateType ideas

Open Flavourized opened this issue 7 years ago • 1 comments

Hey!

So key crates are cool and all, but i wanted to know if we could get some more crate types, so here are the ideas.

Piñata Crate: This crate will spawn a [mob(s) || block(s)] attached to a floating fence post by a lead. The spawned mob/block can then be hit by players and drop items. The dropped items can actually fall to the ground and get picked up, or they will automatically go in the player's inventory, and just drop items that cant be picked up (for visual decoration).

Since this type of crate is really different from the other ones, there would be a lot of different features you could implement. I'll try and think of all the features that I would use.

  • Attach a mob (sheep, zombie, silverfish, minecart, w/e else, etc) to the lead & floating fence post
  • Attach a block (beacon, sponge, cauldron, etc etc) to the lead & floating fence post
  • Option to set max health
  • Option to set max hits
  • Option to replace health with time
  • option to name the mob
  • option to have particles around the mob
  • option to have multiple floating mobs (instead of 1 sheep spawn, you can spawn 3)
  • option to drop items each time pinata is hit
  • option to drop items when the health of the pinata hits 0
  • option to give a blindness effect when the player spawns the pinata crate
  • option to make a pinata public or private
  • worldblacklist where no pinatas can be used
  • regionBlacklist/whitelist (worldguard) Regions where pinatas cannot/can be spawned
  • Use a similar preview system that you can with crates.

Piñata Example config: ` Pinata1: type: PINATA displayName: '&aCool Pinata' pinataSettings: - timeout: 300 # Max amount of time a pinata can exist before being force despawned - pinataType: MOB # BLOCK or MOB. See note 1 - pinataLife: HEALTH # HEALTH, HITS, or TIMED. See note 2 - pinataSpawn: ZOMBIE # mob_name or block_name for the item that gets hit. see note 3 - pinataCount: 2 # number of spawns that get hit see note 4 - pinataName: "&4Jerry" # Name of the mob that gets hit see not 5 - pinataHealth: 20 # Amount of hearts the pinataSpawn has see note 6 - giveRewards: HIT # HIT or DEAD. See note 7 preview: enabled: true buy: enabled: false cost: 0 message: onOpen: '&7You spawned a &apinata&7!' broadcast: '%player% spawned a pinata&7!' key: item: 'paper' enchantment: '34:1' name: 'lvl1 Pinata Creation' lore: - 'Right click this paper while holding it to create a pinata!' - 'some more lore for the spawn item' effect: onOpenEffects: 'firework' reward: minimumRewards: 1 maximumRewards: 5 rewards: - 'item:(268 1 &3Sword_L1 &aBeginner_Kit! 16:1), chance:(7)'

more rewards here

`

Note 1:

  • pinataType: MOB
  • options: MOB or HEALTH This will allow us to set what is attached to the lead and fence post. If BLOCK, then we can define a blockname or blockID, and then it will spawn with a lead attached to it. This is the spawn that will get hit for rewards

Note 2:

  • pinataLife: HEALTH options: HEALTH or HITS or TIME Health will assign the pinata (the part that gets hit) a heart value. After these hearts are set to 0, the pinata will despawn and die.

HITS sets the maximum number of hits that the pinata will take before breaking/despawning. This will mean it would ignore enchantments, and the pinmata would be click X times.

TIME means that the pinata will never die, and will only despawn once the timer is up. This means players can hit the pinata as much as they want. If 'giveRewards' is set to HIT, then the players will get a random item from the loottable every time they hit the pinata. If 'giveRewards' is set to BREAK, players can hit the pinata, but it wont do anything, and the pinata will only drop it's rewards when the timer is over.

Note 3:

  • pinataSpawn: ZOMBIE Options are any valid mob_name or block_name. No items like flowers, torches, etc. Mob_type or block_name that will spawn on a lead & fence post. ZOMBIE will make a zombie spawn, or CHICKEN will make a chicken spawn. This needs to chjeck 'pinataType' to see if it is supposed to spawn a block or a mob. If 'pinataType' is set to BLOCK, then we could put BEACON or CHEST etc as the item that gets hit and is attached to the lead & fence post.

Note 4:

  • pinataCount: 2 Option is any valid int (obviously set a limit so 23000 cows cant be spawned) This will define how many items/mobs are attached to leads & fence post. If set to 1, the pinata will only despawn if it loses health, or hits max hits, or runs out of time. If set to 2 or more, the pianata will need to wait for all mobs/blocks attached to leads to break/get killed/run out of time.

Note 5:

  • pinataName: "&4Jerry" Not important feature, just gives a nametag on the mob when it is pointed to.

Note 6:

  • pinataHealth: 20 Option is any valid int. This setting is for the health of the pinata. This will need to check the 'pinataLife' variable to see if the pinata health should be in HEARTS, HITS, or timed. Hearts would be in hearts. Hits would mean the max amount of hits until the pinata breaks. TIMED means the amount of seconds before this pinata is force despawned.

Note 7:

  • giveRewards: HIT Options are HIT or BREAK This is the variable that will control how players get the loot from the pinata. If set to hit, this will check the 'rewards' section first. and then give a reward (making sure to use the min and max reward numbers). if set to BREAK, then the pinata wil.l only give rewards when it is supposed to despawn,

Flavourized avatar Dec 23 '17 01:12 Flavourized