zSpigot | Timings V2 | Knockback Profiles | Async Operations | Entity Hider | 1.2.7

Status
This thread has been locked.

Allen Zhang

Not Developer
Banned
Feedback score
18
Posts
16
Reactions
178
Resources
0
Nu12xn3.png

chmEnzt.png

JyxeHFb.png

KqnLfWV.png


5QpnupT.png

zSpigot is a 1.7.10 Paper Spigot Fork which I worked up on a time. I was added so much features and optimization on this product.

As Developer, if you guys want the most stable version and you guys bought the plugin, download 1.2.1 Version is your best choice.

Cannot pay that much? or think price is unfair? Click here for discuss.

Welcome to join my Discord Server for more services: https://discord.gg/3xHvC6H

If you guys want to buy source, 45$ with no updates and 70$ with updates. If you bought this resource also I will subtract the price by the price you bought on this resource. Anyways, contact me via PM.

Rd8D49D.png

  • Pearl cross through String and Fence Gate
  • iHCF Support
  • Option to disable Mob-AI & Entity Activation
  • Options for do not tick non-player entities & do not spawn non-player entities when there is no player
  • Options for do not make redstone applying physics.
  • Enhanced Falling Block with Client-Sided FPS Enhancements
  • TNT Explosion with Client-Sided FPS Enhance
  • Knockback & Fast Pot Command in Game
  • TCPNoDelay Enabled (Better Ping & Connection)
  • Implemented Fast-Math Library & Applying it to nearly everything in minecraft server and craftbukkit used Math (Replacing Java Original Math and Improve Performances)
  • Implemented Common-Utils Library
  • Custom Knockback & Smooth Default Edition
  • Knockback Friction Support & Friction Values
  • Toggle-able Knockback Friction
  • Multi-Knockback Profiles Support
  • Multi-Threaded for some unimportant functions (Reduce Lag)
  • Timings V2 in 1.7.10.
  • Packet Listener & Interceptor Implemented
  • Fancy Message & Google Gson Implemented (Json Message)
  • Options to Remove /plugin Command Entirely
  • Non-Flicker Scoreboard + 48 Characters Support (NFScoreboard.class)
  • Block Hit Glitch Fixed
  • Extended Events (PlayerGainOperatorEvent + PlayerLostOperatorEvent, PlayerFlyEvent, ServerReloadEvent)
  • ServerListPingEvent is cancellable (Player will not able to ping the server if event was cancelled)
  • Custom TPS Message + Custom Help Message
  • Fast Block Settler + Easy Tab Header & Footer API
  • API to verify player is using premium client (Not Stable)
  • Player Instance Extended More Method. (Ex. player.getPing(), player.getProtocolVersion()... etc.)
  • Async Potion Throwing.
  • Option to Optimize the Server (In Option.yml)
  • Custom Timing System, Create Simple Countdown Timer without Wasting Bukkit Thread!
  • Dangerous Enderman Options.
  • Developer Friendly (API Integrated)
LJ73dLD.png

  1. Buy the product.
  2. Drag it into your server folder and start it for once. (Until you see the options.yml was generated)
  3. PM me to get one license key (Otherwise the server won't start). Insert your key into Options.yml and restart the server.
  4. (Optional) I recommend to use the script I wrote in the zip file for best performance and garbage collector.
  5. (Optional) Replace your original paper.yml, spigot.yml and bukkit.yml to the file that was included in zip file. [Better Game Performance]
  6. Everything was settled up!
1JaYxqw.png
/knockback | bukkit.command.knockback
  • create <name> | Create a knockback profile
  • remove <name> | Remove a knockback profile
  • setdefault <name> <boolean> | Set a Knockback Profile as default value when player knocked each other
  • setallowfriction <name> <boolean> | Set allowed to have friction when player knocked each other
  • setfrictionvalue <name> <double> | Set knockback profile friction
  • sethorizontal <name> <double> | Set knockback multiplier on ground with horizontal.
  • setvertical <name> <double> | Set knockback multiplier on ground with vertical.
  • setairhorizontal <name> <double> | Set knockback multiplier on air with horizontal.
  • setairvertical <name> <double> | Set knockback multiplier on air with vertical.
  • getloaded | Get loaded knockback profiles by server
  • info <name> | Get knockback profile info
  • test <name> | Test the Knockback Profile
  • bindprofile <name> <player> | Bind the specific profile to specific player through command.
/ip | bukkit.command.ip
  • <player> | Check player's ip address
/setmotdimage | bukkit.command.setmotdimage
  • <url> | Set server's motd image to specific image with url [64 x 64 Pixel]
/benchmark | bukkit.command.benchmark
  • Check your server's bench mark.
/ping | bukkit.command.ping
  • <player> | Check <player>'s ping.
  • Check your ping.
/fastpot | bukkit.command.fastpot
  • setspeed <double> | Set Fastpot Potion Speed
  • setdistance <double> | Set Fastpot Distance
  • setoffy <double> | Set Fastpot Off Y

CB8cSar.png

Code:
# This is the main extra messages file for zSpigot
config-version: 1
HelpMessages:
- '&b&l----------'
- '&bHelp Here'
- '&b&l----------'
TPSMessages:
- '&b&l&m------------------------------'
- '&bTPS from last 1m, 5m, 15m: %tps%'
- '&b&l&m------------------------------'
PingMessages:
- '&b&l&m------------------------------'
- '&b%player%''s Ping: %ping%'
- '&b&l&m------------------------------'
Code:
# This is the main extra options file for zSpigot
config-version: 1
settings:
  optimizer:
    #Select it to false to disable redstone applying physics
    disable-physics-for-red-stone: false
    #Select it to true to get Client Sided TNT (Improve FPS Performance)
    optimizetnt: true
    #Select it to false to prevent BlockPhysicsEvent from being fired (Improve Performance)
    apply-physics: true
    #Select it to true to disable any other mob AI
    disable-mob-ai: false
    #Select it to true to prevent glitch of player movement. Select it to false to get better server performance.
    better-move: false
    #Select it to true to get Async Scoreboard Creation & Update
    async-scoreboard-update: false
    #Select it to true to disable Entity Activation
    disable-mob-tracking: false
    #Select it to true to make Unsafe Async Warning not reporting
    avoid-async-catcher: false
    #Select it to true to make furnace not loading chunks if it's empty
    prevent-furnace-loading-chunks: true
    #Select it to true to prevent PlayerMoveEvent from being fired (Improve Performance)
    disable-player-movement: false
    #Select it to true to make falling block Client-Sided (Improve FPS Performance)
    optimize-falling-block: false
    #Select it to true to make entity not spawning in world if the world has no player (Optimize World)
    disable-non-player-entity-spawning-when-no-player: true
    #Select it to true to make Chest & Hoppers won't be ticked in World (Improve TPS)
    dont-tick-chest-and-hoppers: true
  #The max walk speed allowed in server
  max-walk-speed: 1.0
  #The enderman target searching range
  enderman-target-searching-range: 64.0
  #Select it to false to make attack also sprinting (Better PVP)
  attack-cancel-sprint: true
  #Select it to false to make enderman still can attack you even you wearing pumpkin
  pumpkin-hide-from-enderman: true
  #Select it to true to remove /plugins command entirely
  disablepluginscommand: false
  #Coming Sooon
  disablevanishactions: false
  #Fast Pot
  potion:
    #Potion Speed
    speed: 1.0
    #Potion Off Y
    offY: -20.0
    #Potion Distance
    distance: 0.5
  inittps: 20
#Your License Key
License-Key: 'License Key Here'
Code:
# This is the knockback configuration file for zSpigot.

knockbacks:
  Test:
    name: Test
    horizontal: 1.0
    vertical: 1.0
    airHorizontal: 1.0
    airVertical: 1.1
    default: false
    friction: false
    frictionvalue: 1.0
  Test2:
    name: Test2
    horizontal: 1.0
    vertical: 1.0
    airHorizontal: 1.0
    airVertical: 1.1
    default: false
    friction: false
    frictionvalue: 1.0
  Test3:
    name: Test3
    horizontal: 1.0
    vertical: 1.0
    airHorizontal: 1.0
    airVertical: 1.1
    default: false
    friction: false
    frictionvalue: 1.0

5tJgxiS.png

dIurB7R.png

(Bench Mark Command)

x3XeyPq.png

(Knockback Command)

4A4i7CG.png

(Version Command)


a19r7ed.png

(TNT Explosion TPS Screenshot [I Put 29000+ TNT Blocks and Fire it, my client crashed during explosion but console works fine and I checked TPS, none was lower than 19.7, when I relogin there is also some tnt is still exploding but tps also suspend at 19.92-19.95.)

Fc75byD.png

(1.7.10 zSpigot | Timings V2 System. I opened up the timings during exploding TNT Sphere within Radius of 10)
q6F1Zfk.png

(Ping Command)
x7jkRdi.png

  • Packet Wrapper (Send Packet Simply) | Progess - 10%
  • More Optimizations
  • 1.8.8 Taco Spigot Fork
  • Your Ideas..


kTkiQCX.png

Code:
package top.potl.examples;

import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitRunnable;
import org.bukkit.scoreboard.DisplaySlot;
import org.junit.Test;

import top.potl.events.PlayerFlyEvent;
import top.potl.events.PlayerGainOperatorEvent;
import top.potl.events.PlayerLostOperatorEvent;
import top.potl.knockback.Knockback;
import top.potl.packet.PacketType;
import top.potl.packet.event.PacketHandleEvent;
import top.potl.scoreboard.NFScoreboard;
import top.potl.timer.CountdownTimer;
import top.potl.timer.ManualTimer;

public class Example {

    @Test
    public void Legacy(Player player) {

        if (player.isLegacyClient()) {
            player.sendMessage("Legacy Client.");
        } else {
            player.sendMessage("Non-Legacy Client.");
        }
    }

    @Test
    public void Ping(Player player) {
        player.sendMessage("Your Ping: " + player.getPing());
    }

    @Test
    public void setKnockbackProfile(Player player, String profile) {
        Knockback knockback = Bukkit.getKnockbackManager().getKnockbackProfiles().get(profile);

        player.setKnockback(knockback);
        player.sendMessage("Your knockback status: " + knockback.getX() + "," + knockback.getY() + "," + knockback.getZ());
    }

    @Test
    public void sendKnockbackName(Player player) {
        try {
            player.sendMessage(player.getKnockback().getName());
        } catch (NullPointerException notfound) {
            player.sendMessage("Undefined.");
        }
    }

    @Test
    public void clearKnockbackProfile(Player player) {
        player.setKnockback(null);
    }

    @Test //This method maybe have a little blink when player's ping is little bit high or server tps is too low.
    public void sendNonFlickerScoreboard(final Player player) {
        final NFScoreboard board = new NFScoreboard(Bukkit.getScoreboardManager().getNewScoreboard());
        new BukkitRunnable() {
            public void run() {
                board.setTitle(player.getName());
                board.setDisplaySlot(DisplaySlot.SIDEBAR);
                board.setValue(15, "&bScoreboard");
                board.setValue(14, "&748 Entries");
            }
        }.runTaskTimerAsynchronously(JavaPlugin.getPlugin(JavaPlugin.class), 0L, 1L); //JavaPlugin.getPlugin(JavaPlugin.class) replace to your plugin instance.
        player.setScoreboard(board.getScoreboard());
    }

    @Test
    public void setBlock(Location loc) {
        long before = System.currentTimeMillis();
        Bukkit.getFastBlockSettler().setBlockFast(loc, Material.AIR);
        long after = System.currentTimeMillis();
        System.out.println("Settled Block in " + (after - before) + "ms.");
    }

    @Test
    public void onPacket(PacketHandleEvent event) {
        System.out.println("Receiver: " + event.getPlayer().getName());
        System.out.println("Packet Class: " + event.getPacket().getClass().getName());
        System.out.println("Channel: " + event.getChannel().getClass().getName());
        System.out.println("Packet Type: " + (event.getType() == PacketType.SERVER_BOUND ? "Server" : "Client")); //Server Bound is Packet In, Client Bound is Packet Out.
        //event.setCancelled(true) will cancel this packet.
    }

    @Test
    public void onGainOp(PlayerGainOperatorEvent event) {
        System.out.println("Player " + event.getPlayer() + " received OP!");
        event.setCancelled(true); //Makes player no longer op when they gained op.
    }

    @Test
    public void onLostOp(PlayerLostOperatorEvent event) {
        System.out.println("Player " + event.getPlayer() + " lost OP!");
        event.setCancelled(true); //Makes player still have op when they lost op.
    }

    @Test
    public void onMove(PlayerMoveEvent event) {
        System.out.println("Cancelling PlayerMoveEvent...");
        event.setCancelled(true); // This effected as same as event.setTo(event.getFrom());
    }

    @Test
    public void onFly(PlayerFlyEvent event) {
        System.out.println("Player " + event.getPlayer().getName() + "is trying to fly!");
        event.setCancelled(true); //Cancel the fly and make player fall down.
    }

    @Test
    public void sendTabHeaderAndFooter(Player player, String header, String footer) {
        Bukkit.getTabHandler().setFooter(player, footer);
        Bukkit.getTabHandler().setHeader(player, header);
    }

    @Test
    public void setCountdownTimer(long end) {
        ManualTimer timer = new ManualTimer(false);

        timer.setTimerEnd(end);
        System.out.println(timer.toString(true));
    }

    public void sendBedPacket(Player player) {
        WrapperPacketOutBed bed = new WrapperPacketOutBed();
        EntityPlayer ep = ((CraftPlayer) player).getHandle();

        bed.setEntityId(ep.getBukkitEntity().getEntityId());
        bed.setEntity(ep);
        bed.setX((int) player.getLocation().getX());
        bed.setY((int) player.getLocation().getY());
        bed.setZ((int) player.getLocation().getZ());

        bed.send(player);
    }
}

jZvVGNK.png



YRRoYA7.png

mitw.rip (Taiwan Server)
mc.ecuacraft.com (Spanish Server)




Mile Stone:
5 Purchases √
10 Purchases √
20 Purchases √

40 Purchases × - Publish for ySpigot (1.8.8 PaperSpigot Fork)
80 Purchases ×
100 Purchases ×


Proof of Owner Ship:
uDDo1ze.png

x68qdDC.png


You guys can purchase right here -> https://www.mc-market.org/resources/7198/
 
Last edited:
PebbleHost
High performance, consistent uptime and fast support. Minecraft hosting that just works.

Allen Zhang

Not Developer
Banned
Feedback score
18
Posts
16
Reactions
178
Resources
0
A friend sent me this spigot to take a look around to see if it was actually worth it.
Not going to be a complete cunt but,
  • Knockback friction isn't multiplying the vanilla slowdown by a "frictionvalue"
  • You aren't even doing async functions correctly
  • Using a FastMath Library won't improve performance much, if anything it'll probably drop performance on certain systems
  • It drops to 19tps on a flatworld with 2 people fighting
  • Most of the "fixes" could be done by a plugin
  • You need better protection, any random skid could remove it in 5 minutes
Who send you this
1.) Did you enabled the friction option? Nevermind, so would you like to give me suggestion, i used formula from joeleoli's thread.
2.) How, if i did wrong, would you like to give me suggestion.
3.) Maybe Fast Math Library won't improve performance much, but it will not drop performance
4.) Tested with 4G Ram with FreshUHC on 50 Players with 20.00 TPS
Recently tested with UHCMeetup, 8 Players with
tzsiS19.png

5.) Yes, that's true.
6.) Thanks for suggestion, I have the IPLogging so I can see who send you this copy.
 
Last edited:
Banned forever. Reason: Leaking user products

JAC0B

Feedback score
0
Posts
14
Reactions
4
Resources
0
Who send you this
1.) Did you enabled the friction option? Nevermind, so would you like to give me suggestion, i used formula from joeleoli's thread.
2.) How, if i did wrong, would you like to give me suggestion.
3.) Maybe Fast Math Library won't improve performance much, but it will not drop performance
4.) Tested with 4G Ram with FreshUHC on 50 Players with 20.00 TPS
Recently tested with UHCMeetup, 8 Players with
tzsiS19.png

5.) Yes, that's true.
6.) Thanks for suggestion, I have the IPLogging so I can see who send you this copy.

Replying to your thing about Joeliskid here: No obviously it isn't going to be correct if you copied it from him.
What is being referred to is actually something known as W-Tap or Sprint slowdown which is a bug which gives an advantage to players higher in the tick order.
Friction is the amount that the player's actual velocity is reduced when they take knockback i.e higher friction = more 1.7ing and less knockback.
Here is dewgs to explain:

IKrMSO2oT8aMJE1iPL6RMg.png
 

Allen Zhang

Not Developer
Banned
Feedback score
18
Posts
16
Reactions
178
Resources
0
Replying to your thing about Joeliskid here: No obviously it isn't going to be correct if you copied it from him.
What is being referred to is actually something known as W-Tap or Sprint slowdown which is a bug which gives an advantage to players higher in the tick order.
Friction is the amount that the player's actual velocity is reduced when they take knockback i.e higher friction = more 1.7ing and less knockback.
Here is dewgs to explain:

IKrMSO2oT8aMJE1iPL6RMg.png
I had realized that, and i just modified the knockback friction one month ago.
and also, the original knockback friction is not from his ragespigot. it's from the youtube video in his thread.
Anyways, thanks for explanation.
 
Banned forever. Reason: Leaking user products
Status
This thread has been locked.
Top