Splegg Huge update
- Don't update on your server yet! Run the plugin offline to check.
- You don't need, but is recommended to you recreate your arenas.
- Everything added on this update will be auto-added in your arena file, but to work with less lines you can recreate the arena.
- You don't need, but is recommended to you delete the settings.yml.
- Everything added on this update will be auto-added in your settings.yml, but there's a lot of options that was deleted, renamed or changed in Section.
- By default, the sounds works only for 1.8, if your server is 1.9, 1.10, 1.11 or 1.11.2 you have to edit for the 1.9 sound enum.
- SQLite/MySQL don't wanna pick your data from YAML, you have to use the new command for that.
- There's no way to send MySQL data to YAML.
- SQLite is recommended if you aren't using BungeeCord.
- The plugin is basically recoded, you can now use without Storage issues, resetting issues or internal bugs.
- If you have/are a developer and want to add new Powerups, this should be possible soon.
Update highlights
- Powerup system fully reworked, now with Holograms and added new powerups!
- Added SQLITE support!
- Recoded the Storage System.
- New restore system - Fully recoded, with advanced log system and more!
- A LOT of bugfixes!
- API reworked!
- Config in-game change support!
- Shop reworked!
- Added JumpPads!
- You now can set the Double Jump Multiply, explosion radius from TNT or powerups and more! You can edit and translante almost 100% of the game.
- Added egg trails and player effects! (Cosmetic stuff)
Added
- Added Trails
- Particles on your eggs.
- Added trailEffects.yml file, you can create how many trails you want, with your particle, your price, your item type, your permission and more!
- Don't want to use? Don't worry! There's a option to disable.
- Added Effects
- Particles on you while you're playing splegg
- Added effects.yml file, you can create how many effects you want, with your particle, your price, your item type, your cosmetic item, your permission and more!
- Don't want to use? Don't worry! There's a option to disable.
- Added %state% and %capitalize_state% for Lobby Scoreboard:
- %state% returns the Game state -> WAITING
- %capitalize_state% returns the Game state -> Waiting
- Added a option to give the shovel permission for the Player - With this permission you don't have to buy a shovel for every game anymore.
- Added three new items to storage system.
- `shovelType` returns the player shovel name.
- `effect` returns the player Effect ID.
- `trail` returns the player Trail ID.
- Added SQLite support.
- Added lobby action bar.
- Added leave ite
- Added jump pads (Iron plate, Gold plate)
- Added Holograms to the Powerup. (Only if HolographicDisplays is installed)
- Added a command to spawn powerups. (/splegg spawnpowerup <game>)
- Added a negative coin system, you can remove player money using negative numbers.
- Added custom MOTD system for BungeeCord.
- Added a new powerup: Egg rain.
- Added Titles for:
- When player pick a powerup -> Placeholders: %type%, %player%
- When powerup spawn -> Placeholders: %type%
- When player has eliminated -> Placeholders: %player%, %aliveplayers%
- When grace-time is counting down -> Placeholders: %time%
- When powerup expires -> Placeholders: %type%
- Added sounds for:
- When double jump
- When grace-time is couting down
- When use jumppad
- Added a way to send all yaml data to MySQL or SQLITE:
- If there's any player online without the permission 'sr.transfer.data' this process will be cancelled. Kick all players from the server before start the process.
- If you want to work with leaderboards and don't want to lose the player data, just use /sp switch MySQL or /sp switch SQLITE.
- This process has not fully tested with a full database yet (I don't have a public server to test it), but if didn't work correctly just let me know, you don't wanna lose any data.
- This cannot be undone for now, there's no arguments to send the data from MySQL or SQLite to another location.
- If needed, I can made something to get the data between from MySQL/SQLITE and YAML.
- Remember, you can download or upload a .db file to MySQL.
Changes/Reworked
- Shop system was fully recoded - Be hope! There's a lot of things coming to the shop for the future!
- You now can customize the shop.
- You now can customize the shop item.
- You now can customize the Velocity of double jump.
- To avoid spectator blocking eggs and interacting with the game, we're now using the SPECTATOR gamemode.
- Arena reset system (Advanced-Restore: false) was fully recoded, smarter, faster and no lag!
- There's a log system that will print every action of this system, if you are getting issues, enable the system and watch everything.
- You now can safely disable Advanced-Restore, after so many issues, this system works perfectly.
- Command help page was fully recoded.
- Config commands was fully recoded, you now can made IN-GAME changes!
- Config has a lot of changes, I recommend you to delete your currently settings file.
- ActionBar is now fully customizable.
- Powerup system reworked.
- Now shows what powerup you will get.
- Now have hologram if HolographicDisplays is installed.
- FastShoot Powerup reworked.
- You can now edit the powerup name.
- Default Gun cooldown delay is now 7>5.
- Advanced-Restore now able to you create a map from existings worlds on your server folder.
Bugfixes
- Fixed scoreboard issues.
- Fixed Grace-Period issues.
- Fixed bugs with Powerups.
- Fixed triple shoot powerup not working.
- Fixed powerups spawning in the same location.
- Fixed players teleporting when Grace-Period and Game Start.
- Teleport only when Grace-Period starts.
- This was never a feature.
- Fixed spectators able to pick powerups.
- Fixed GamesPlayed is 0 in-game stats from MySQL.
- Fixed GamesPlayed saves with wrong name in MySQL.
- Fixed players can die in Grace-Period
- Fixed players can join the game while resetting process with join command.
- Fixed players can join in full games with join command.
- Fixed players can join in running games with join command.
Removed/Replaced
- Removed MySQL option:
- Replaced by StorageType.
- Storage Types: MYSQL, SQLITE, YAML
- e.g: StorageType: SQLITE
- Added log while loading storage system.
- All MySQL config options was renamed, please be sure to check this before update on your server!
- Removed all party messages.
- Removed EXTREME_SHOOT powerup.
- Replaced by EGG_PARTY powerup.
- Removed all Incoming Channels registers from the plugin.
API
Code (Text):
- Main class name renamed to "Splegg", if you're a developer and want to use the API, this should be useful for you.
- SpleggAPI replaced by a new Interface.
- Splegg.getAPI();
- Re-added SpleggAPI from SPAPI.
- GamePowerup.class is now Deprecated.
- Replaced by Powerup.class
- Added GameStartEvent.
- Added PlayerDoubleJumpEvent.
- Added PlayerJumpPadEvent.
- Added PowerupSpawnEvent.
- Added Storage Control methods.
- Removed methods.
- New methods.
Advanced Options
- Added a new Section in settings.yml - Advanced Options.
- Added Iterator-Delay option -> The delay (interval) of block placing on restore system.
- Added Restore-Log option -> Will send a message to players with the permission "splegg.advanced" ALL actions of the restore system.
- Options.Advanced-Restore moved to Advanced Section with a new name: Advanced.Restore
- Options.Reset-Blocks-Per-Tick moved to Advanced Section with a new name: Advanced.Blocks-Per-Iterator
How to
Code (Text):
Arena Restore system:
- Sometimes the System just place more blocks than the allowed value in blocks per second due the Iterator Delay and to prevent ConcurrentModificationException, this can reduce the value in 5-8 seconds.
- You can change the Iterator-Delay and Blocks-Per-Iterator values in config to have something faster.
- Yes, the restore system replace ALL blocks to prevent fails.
- If your restore system is low, use some Math to check if everything is ok:
First example (Big arena - 14k):
> I have 14k of blocks in an arena, with 5 Iterator delay and 50 blocks per iterator.
> 4 Iterators = 20 ticks (5 Iterator dealy * 4 Iterators = 20 ticks = 1 second)
> If 4 iterators = 1 second, I'm getting 200 blocks placed per second (4 iterators * 50 blocks)
> If I'm getting 200 blocks placed per second and my arena has 14.000 blocks, the calculated delay to reset the arena is 70 seconds. (14.000/200)
Second example (Normal arena - 3k):
> I have 3k of blocks in an arena, with 5 Iterator delay and 50 blocks per iterator.
> 4 Iterators = 20 ticks (5 Iterator dealy * 4 Iterators = 20 ticks = 1 second)
> If 4 iterators = 1 second, I'm getting 200 blocks placed per second (4 iterators * 50 blocks)
> If I'm getting 200 blocks placed per second and my arena has 3.0000 blocks, the calculated delay to reset the arena is 15 seconds. (3.000/200)
After this, if you're getting more delay than the calculated, check your server TPS or enable the Spigot Timing Test (/timings on) during the arena restore.
If your TPS is out of the default, reduce the values in config and teste again.
Sound system:
- To set a sound, use {SOUND_NAME}:{PITCH}
Switch database:
- To send the data from YAML to SQLITE or MYSQL use /sp switch MySQL or /sp switch SQLITE. [(Read more here)]
API:
- To access the new SPAPI use "API api Splegg.getAPI();" or just pick the method "Splegg.getAPI().yourmethod".
Config:
- To made in-game changes use /sp config set <path> <value> --> /sp config set Advanced.Restore-Log false
Shop system:
- buyPermission: The player needs to have this permission to buy an item (permission).
- permission: The item (permission) that the player with the buyPermission will purchase.
- So it's confuse but easy, if you want to add something to VIP Only you can add the buyPermission for the VIP group and players without this permission can't buy the permission to use item.
Examples:
I am a VIP member ->
The permission to buy the diamond shovel is splegg.buy.shovel.diamond. I'll buy because I have the buyPermission and I'll get the permission to use when I want.
I am normal member ->
I don't have the splegg.buy.shovel.diamond permission so I can't buy the item.
As you can see we are using permissions system instanceof saving everything in the Database, works with the same way and don't you can modify what you want.
Trails & Effects:
- The number is the ID and will be saved in Database.
- name: The display name in menu.
- buyPermission: The player needs to have this permission to buy an trail/effect.
- permission: The trail/effect that the player with the buyPermission will purchase.
- particles: The particle type, the list is on Main page. CLICK HERE TO GO
- menuItem: The display item in menu.
- lore: The item lore in menu.
- buyCommands: Commands to execute when player buy the trail/effect.
- price: The price
- slot: Slot in menu
- rotateParticles: For Effects Only, special/rotative particles around the player or normal particles.
- helmet: (Full armor set will be added soon) If player will get some hat with the effect.
Update Screenshots:
Enjoy! Main page will be fully updated later.
Excuse me and let me know about spelling mistakes, I'm writing another big update for another plugin now!