Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # variables
- # {RandomItems::*} - all loaded random items
- # commands
- # /ri <number> <number>
- # /ri give <player>/*
- # /ri reset
- options:
- DisabledItems: air, bed block, any piston extension, block 36, inactive wire, freshly planted wheat, sign post, wooden door block, wall sign, iron door block, active redstone ore, redstone torch off, sugar cane block, cake block, redstone repeater block off, redstone repeater block on, pumpkin stem, melon stem, freshly planted nether wart, empty brewing stand, empty cauldron, active redstone lamp, tripwire, flower pot with nothing, mob head block, redstone comparator block, active redstone comparator
- Permission: skript.randomitems
- Prefix: §f[§7RI§f]§r
- Help.Gen: §e/ri <items> <range> &9- &7Generate items in range
- Help.Give: §e/ri give <player> / * &9- &7Give items to player/all
- Help.Reset: §e/ri reset &9- &7Delete data
- Give.Error.Specify: Specify a player, or use * for all players.
- Give.Error.NotOnline: Player §e%arg 2% §ris not online.
- Give.Error.Console: You cannot give the console items.
- Give.Error.NotSet: There are no items set.
- Give.Self: §3%command sender%§r: Gave items to himself
- Give.Other: §3%command sender%§r: Gave items to %{_Player}%
- Give.All: §6Random Starter Items §agiven out!
- Give.All.OP: §3%command sender%§r: §6Random Starter Items §agiven out!
- Reset: §3%command sender%§r: Items reset
- Gen.Start: §3%command sender%§r: §c%arg 1% §ritems up to range §9%arg 2%§r...
- Gen.Status: §4Status Update: §a%(size of {_ThisSet::*})%§r/§c%arg 1% §ritems generated
- Gen.Finish: §aGeneration completed §r(§6%{_Time}%§r)
- command /ri [<text>] [<text>]:
- permission: {@Permission}
- trigger:
- if arg 1 is not set:
- message "{@Prefix} {@Help.Gen}"
- message "{@Prefix} {@Help.Give}"
- message "{@Prefix} {@Help.Reset}"
- else if arg 1 is equal to "give":
- if {RandomItems::*} is not set:
- message "{@Prefix} {@Give.Error.NotSet}"
- else if arg 2 is not set:
- #code for giving items to himself
- if command sender is console:
- message "{@Prefix} {@Give.Error.Console}"
- else:
- loop {RandomItems::*}:
- if (size of (items in the player's inventory)) is smaller than 36:
- give (1 of dirt:15) to player
- loop items in the player's inventory:
- loop-item is equal to dirt:15
- set loop-item to loop-value-1
- else:
- drop loop-value-1 at player
- loop all players:
- loop-player has the permission "{@Permission}"
- message "{@Prefix} {@Give.Self}" to loop-player
- else if arg 2 is equal to "*":
- #code for giving items to all players
- loop all players:
- loop {RandomItems::*}:
- if (size of (items in the loop-player's inventory)) is smaller than 36:
- give (1 of dirt:15) to loop-player
- loop items in the loop-player's inventory:
- loop-item is equal to dirt:15
- set loop-item to loop-value
- else:
- drop loop-value at loop-player
- loop all players:
- command "/playsound random.explode %loop-player%"
- if loop-player has the permission "{@Permission}":
- message "{@Prefix} {@Give.All.OP}" to loop-player
- else:
- message "{@Prefix} {@Give.All}" to loop-player
- else:
- set {_Player} to ("%arg 2%" parsed as offlineplayer)
- if {_Player} is not online:
- message "{@Prefix} {@Give.Error.NotOnline}"
- else:
- # code for giving items to {_Player}
- loop {RandomItems::*}:
- if (size of (items in {_Player}'s inventory)) is smaller than 36:
- give (1 of dirt:15) to {_Player}
- loop items in {_Player}'s inventory:
- loop-item is equal to dirt:15
- set loop-item to loop-value
- else:
- drop loop-value-1 at {_Player}
- loop all players:
- loop-player has the permission "{@Permission}"
- message "{@Prefix} {@Give.Other}" to loop-player
- else if arg 1 is equal to "reset":
- # code for resetting items
- delete {RandomItems::*}
- loop all players:
- loop-player has the permission "{@Permission}"
- message "{@Prefix} {@Reset}" to loop-player
- else:
- set {_ItemAmount} to ("%arg 1%" parsed as integer)
- if {_ItemAmount} is not set:
- message "{@Prefix} {@Help.Gen}"
- message "{@Prefix} {@Help.Give}"
- message "{@Prefix} {@Help.Reset}"
- else:
- set {_ItemRange} to ("%arg 2%" parsed as integer)
- if {_ItemRange} is not set:
- message "{@Prefix} {@Help.Gen}"
- else if {_ItemAmount} is less than 1:
- message "{@Prefix} {@Help.Gen}"
- else if {_ItemRange} is less than 2:
- message "{@Prefix} {@Help.Gen}"
- else if {_ItemAmount} is more than 100:
- message "{@Prefix} §4No."
- else:
- # code for generating items
- loop all players:
- loop-player has the permission "{@Permission}"
- message "{@Prefix} {@Gen.Start}" to loop-player
- set {_Time} to now
- set {_StatusTime} to {_Time}
- set {_TickTime} to {_Time}
- loop {_ItemAmount} times:
- set {_ThisItem} to (random item out of all items)
- while {_ThisItem} is equal to {@DisabledItems}:
- set {_ThisItem} to (random item out of all items)
- set {_ThisSet::%loop-number%} to ((random integer between 1 and {_ItemRange}) of {_ThisItem})
- if {_TickTime} was more than 0.05 seconds ago:
- wait 1 tick
- set {_TickTime} to now
- if {_StatusTime} was more than 2 seconds ago:
- set {_StatusTime} to now
- loop all players:
- loop-player has the permission "{@Permission}"
- message "{@Prefix} {@Gen.Status}" to loop-player
- set {RandomItems::*} to {_ThisSet::*}
- set {_Time} to (difference between now and {_Time})
- loop all players:
- loop-player has the permission "{@Permission}"
- message "{@Prefix} {@Gen.Finish}" to loop-player
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement