bees.sk

Created by Zeldaboy111

Just so you know, we don't know the file format for every file. If it's just a bunch of random characters, it's probably a .zip or .jar.

#©
#- Reselling/Reuploading while claiming that it is yours or made by you is disallowed
#- Do not edit it and upload it as your own
#- While using it in a video, please feature everything under "Video"
#©
#
#Video:
#Skript made by Zeldaboy111
#More content of the creator: https://forums.skunity.com/search/26443679/

options:
	logo: &eBees+ &8:&7

function updateMeter(p: Player, loc: Location, type: String, dif1: String, dif2: String, dif3: String, dif4: String):
	if difference between {hive.%{_loc}%.%{_type}%.lastUpdate} and now >= "%{_dif4}% minutes" parsed as a timespan:
		while {hive.%{_loc}%.%{_type}%} < 4:
			add 1 to {hive.%{_loc}%.%{_type}%}
					
	else if difference between {hive.%{_loc}%.%{_type}%.lastUpdate} and now >= "%{_dif3}% minutes" parsed as a timespan:
		loop 3 times:
			if {hive.%{_loc}%.%{_type}%} < 4:
				add 1 to {hive.%{_loc}%.%{_type}%}
		

	else if difference between {hive.%{_loc}%.%{_type}%.lastUpdate} and now >= "%{_dif2}% minutes" parsed as a timespan:
		loop 2 times:
			if {hive.%{_loc}%.%{_type}%} < 4:
				add 1 to {hive.%{_loc}%.%{_type}%}

	else if difference between {hive.%{_loc}%.%{_type}%.lastUpdate} and now >= "%{_dif1}% minutes" parsed as a timespan:
		loop 1 times:
			if {hive.%{_loc}%.%{_type}%} < 4:
				add 1 to {hive.%{_loc}%.%{_type}%}

function formatOutline(p: Player, size: Number, color: String, color2: String, color3: String, color4: String):
	loop 9 times:
		set slot -1+loop-value of {_p}'s current inventory to ("%{_color}% glass pane" parsed as an item) named "&k"

	loop {_size}-2 times:
		set slot 9*loop-value of {_p}'s current inventory to ("%{_color2}% glass pane" parsed as an item) named "&k"
		set slot 8+9*loop-value of {_p}'s current inventory to ("%{_color4}% glass pane" parsed as an item) named "&k"

	loop 9 times:
		set slot ({_size}-1)*9-1+loop-value of {_p}'s current inventory to ("%{_color3}% glass pane" parsed as an item) named "&k"


function meter(p: Player, loc: Location, name: String, slot1: Integer, slot2: Integer, variableName: String):
	loop 4-{hive.%{_loc}%.%{_variableName}%} times:
		set slot {_slot1}+9*loop-value of {_p}'s current inventory to white stained glass named "&f%{_name}% Meter" with lore "" and "&8• &7Honey&8: &70%%"
	
	loop {hive.%{_loc}%.%{_variableName}%} times:
		set slot {_slot2}-9*loop-value of {_p}'s current inventory to orange stained glass named "&f%{_name}% Meter" with lore "" and "&8• &7Honey&8: &7%25*loop-value%%%"


function openHive(p: Player, loc: Location):
	wait 2 ticks
	open chest with 6 rows named "&8&lBeehive" to {_p}
	wait 2 ticks
	formatOutline({_p}, 6, "dark gray", "white", "dark gray", "white")
	meter({_p}, {_loc}, "Honey", 3, 48, "honeyMeter")
	meter({_p}, {_loc}, "Comb", 5, 50, "combMeter")
	if {hive.%{_loc}%.honeyMeter} >= 4:
		set slot 38 of {_p}'s current inventory to honey bottle named "&eCollect Honey" with lore "" and "&8• &7Click to Collect"

	if {hive.%{_loc}%.combMeter} >= 4:
		set slot 42 of {_p}'s current inventory to shears named "&eCollect Honeycomb" with lore "" and "&8• &7Click to Collect"


command /bees [<text>]:
	trigger:
		if arg-1 is set:
			if arg-1 is "help" or "/h":
				send "&7&m                   &8[ &eBees+ &8]&7&m                   "
				send "<ttp:&7Get the help page><cmd:/bees help>&6/bees help"
				send "<ttp:&7Get information about &eBees+><cmd:/bees info>&6/bees info"
				send "&7&oTry hovering over and clicking them."
				send "&7&m                   &8[ &eBees+ &8]&7&m                   "

			else if arg-1 is "info" or "information":
				send "&7&m                   &8[ &eBees+ &8]&7&m                   "
				send "&7Creator: &eZeldaboy111"
				send "&7Version: &e1.0"
				send "&7Description: &eA Skript made for extra bees fun!"
				send "&7&m                   &8[ &eBees+ &8]&7&m                   "

			else:
				send "{@logo} Do &e/bees help &7for more info."

		else:
			send "{@logo} Do &e/bees help &7for more info."

on rightclick on beehive:
	if player is not sneaking:
		cancel event
		set {hive.opened.%player%} to location of event-block
		if {hive.%location of event-block%.honeyMeter} is not set:
			set {hive.%location of event-block%.honeyMeter} to 0
		if {hive.%location of event-block%.combMeter} is not set:
			set {hive.%location of event-block%.combMeter} to 0
		
		if {hive.%location of event-block%.honeyMeter.lastUpdate} is not set:
			set {hive.%location of event-block%.honeyMeter.lastUpdate} to now
		else:
			updateMeter(player, location of event-block, "honeyMeter", "6", "6", "6.2", "5.6")
		
		if {hive.%location of event-block%.combMeter.lastUpdate} is not set:
			set {hive.%location of event-block%.combMeter.lastUpdate} to now
		else:
			updateMeter(player, location of event-block, "combMeter", "6.2", "6", "6.1", "5.7")
		
		openHive(player, location)
		
on break of beehive:
	delete {hive.%location of event-block%.honeyMeter}
	delete {hive.%location of event-block%.combMeter}
	delete {hive.%location of event-block%.honeyMeter.lastUpdate}
	delete {hive.%location of event-block%.combMeter.lastUpdate}


on inventory click:
	if type of clicked inventory is chest inventory:
		if inventory name of player's current inventory is "&8&lBeehive":
			cancel event

			if clicked item is honey bottle:
				give player 1 honey bottle
				set {hive.%{hive.opened.%player%}%.honeyMeter} to 0
				set {hive.%{hive.opened.%player%}%.honeyMeter.lastUpdate} to now
				meter(player, {hive.opened.%player%}, "Honey", 3, 48, "honeyMeter")
				set slot 38 of player's current inventory to air

			else if clicked item is shears:
				give player 1 honeycomb
				set {hive.%{hive.opened.%player%}%.combMeter} to 0
				set {hive.%{hive.opened.%player%}%.combMeter.lastUpdate} to now
				meter(player, {hive.opened.%player%}, "Comb", 5, 50, "combMeter")
				set slot 42 of player's current inventory to air

on inventory close:
	if {hive.opened.%player%} is set:
		set {hive.closed.%player%.%{hive.opened.%player%}%} to true
		delete {hive.opened.%player%}