This plugin supports every version 1.8+ Please stop telling me to update it when a new version of Minecraft gets released. Unless there's some major API changes, this plugin will work by default on all new versions
This plugin introduces a dynamic reward system involving the Ender Dragon egg in Minecraft. When a player places an Ender Dragon egg, a timer starts, requiring the player to remain close and shift near the egg to reset the timer, ensuring they retain ownership and prevent the egg from being lost. If the player successfully maintains proximity until the reward timer expires, they receive rewards.
Key Features:
Egg Ownership: Upon placing the Ender Dragon egg, the player becomes its owner, gaining the exclusive ability to refresh its timers or pick it up.
Timed Rewards: A separate timer determines when rewards are dispensed. Staying close to the egg and shifting resets this timer, leading to rewards when it reaches zero.
Egg Teleportation: Neglecting the egg by not shifting nearby within a set time causes the egg to teleport randomly across the map, losing its owner. It then broadcasts its new location, allowing any player to claim it.
Egg Interaction: Players can pick up the egg with a left-click. Owners can right-click to view details like remaining time and reward time.
Egg Stealing: If configured, other players can attempt to steal the egg by shifting near it, adding a competitive element to the gameplay.
For additional customization, players are encouraged to explore the configuration options, which offer more ways to tailor the egg's behavior and rewards to their liking.
Command:
/edep - Permission: enderdragoneggplus.admin - Reloads the config.
Players with the permission enderdragoneggplus.admin can pick up/inspect every egg.
Players with the permission enderdragoneggplus.skipcooldown can skip the place cooldown if it is enabled in the config
All messages, times, settings, and rewards can be changed within the config.yml after installing the plugin.
Config:
Code (Text):
reloadConfig: '&aYou have reloaded the config'
noPermission: '&4You do not have the permission to execute this command'
# Every time the reload config command is run, if this setting is set to true, it will reset all the egg timers to the value in the config.
# If left on false, the egg will continue with the timer it already had and will adopt the new value once its current timer ends.
forceTimerChangeOnReload: false
# Same as the above setting, but it will restart the timer for eggs on server restart.
forceTimerChangeOnRestart: false
eggTeleportBroadcastEnabled: true
eggTeleportBroadcastMessage: '&aAn ender dragon egg has lost its owner and has teleported: {world}, {x}, {y}, {z}'
eggTeleportWarnOwnerEnabled: true
eggTeleportWarnOwner: '&aYour egg has teleported away. Be cautious, as other players have been notified of its location: {world}, {x}, {y}, {z}'
notYourEgg: '&4This is not your egg. Owner: {player}'
placedEgg: '&aYou have placed an ender dragon egg. You must take care of it. Right-click on it for more info'
shiftedNearEgg: '&aYou have shifted near your egg. The egg is very happy. Right-click it to check details'
# A cooldown in seconds preventing the player from picking up the egg after it's been placed or after someone attempted to steal it.
# Set to 0 to disable.
pickupEggCooldown: 60
pickupMessage: '&cCannot be picked up at the moment. Please wait: {cooldownRemain}'
# If true, the cooldown on all eggs will be set to pickupEggCooldown again on server start/config reload.
# If false, the cooldown will be lost just on server restart.
cooldownResetOnReload: false
#The container setting will be ignored if the player is in creative
allowPlayerStoreEggInContainers: true
allowPlayerDropEgg: true
allowPlayerDropEggOnDeath: true
# Place any eggs the player has in their inventory on the ground when they quit the game.
forcePlaceEggOnQuit: false
# Teleports any eggs remaining in the inventory, for any reason, on quit
# As if the egg was placed down and neglected
teleportEggsInventoryOnQuit: false
# Can a non-owner crouch (shift) near an egg to steal it within a certain amount of time?
# You may use {world} {x} {y} {z} for stealEggOwnerMessage and broadcastStealMessage.
canPlayersStealEgg: false
stealEggTime: 7
stealEggOwnerMessage: '&cOne of your eggs is being stolen.'
startSteal: '&cYou are now stealing an egg. You need to wait {eggTime} seconds without taking damage.'
stopSteal: '&cStopped the stealing process.'
needOwnerOnlineToSteal: false
cannotSteal: '&cThe owner of this egg is not online. The egg cannot be stolen.'
broadcastSteal: false
broadcastStealMessage: '&a{player} is stealing an egg at {world} {x} {y} {z}.'
stoleEggsMessage: '&aYou have stolen {amount} egg(s).'
gotStolen: '&c{player} has stolen {amount} egg(s) from you.'
# The minimum distance a player needs to be within to shift near the egg.
# Must be greater than 0.
shiftBlockRadius: 5
# In seconds.
# Defines the time after which the egg will teleport randomly on the map if the owner has not shifted near it within this duration.
# 43200 seconds = 12 hours.
eggLastTime: 43200
# The number of blocks away that the egg can teleport if the owner has not pressed shift near it for 'eggLastTime'.
teleportRange: 10000
rewards: true
# In seconds.
# Defines the cooldown time for shifting near the egg to get rewards from it.
# Must be shorter than eggLastTime.
# 21600 seconds = 6 hours.
# If rewards are enabled and this value is more than eggLastTime, it will default to eggLastTime - 1.
eggRewardTime: 21600
# The number of rewards a player will get if they shift near the egg at the correct eggRewardTime.
# Randomized based on each reward's chance.
# A player can receive the same reward more than once.
amountOfRewards: 3
# The chance does not have a maximum value; it can be 1 or 100000.
# The higher the chance value, the greater the likelihood it will be chosen.
# You can name the reward however you like; this will not affect anything but there still needs to be a name and it can't be left empty.
# Remove the '' before adding rewards.
RewardsEgg: ''
# r1:
# chance: 100
# commands:
# - 'give {player} stone 10'
# - 'give {player} dirt 32'
# message: '&aCongratulations, you received 10 stone and 32 dirt!'
# reward2:
# chance: 100
# commands:
# - 'give {player} dirt 1'
# Do not touch, or you risk causing the plugin, config, and save files to completely break.
config-settings: 0.0
For anyone wondering, forcePlaceEggOnQuit works fine, however, the player needs to have build permission in the location they disconnect to actually place the eggs. And you also must not be in creative mode
This plugin uses bStats, if you wish to disable bStats go to /plugins/bStats/config.yml and set enabled to false
If you encounter any bugs or have suggestions you want implemented, contact me on Discord: balustrada
I only log into my Spigot account once every couple of months, so you'll receive a much faster response there.