Spigot KickFromClaim

Kick unwanted intruders out of your GriefPrevention Claim

  1. This would be easier through discord honestly.

    Multiple types of pets
    Non admin claim
    Owner was online
  2. Hi,

    Is this still working for 1.16.4 using the latest Grief Prevention?

    Also is there a way to set where the kicked players end up? Like a location, ideally I'd just like them to be kicked to my worlds spawn location.

  3. This was already proposed like 8 months ago, @MrJeza actually even said he had the version ready, but just had to build or upload it, and we're still waiting ._.
  4. Believe me, I truly am annoyed with myself for not maintaining my plugins as much as they require.
    It usually comes down to lack of energy, not lack of effort. Normally after work I cook dinner, have a shower and get ready for the next day. I work ~12 hour days, so usually I try to get to bed as soon as I can, which most of the time means cutting plugin development time short, if not completely. I work most Saturdays, and I'm gone the whole day on Sundays.

    On the Saturdays that I'm not working, I usually like to relax. I don't get many days off, and prioritising plugin development isn't a consideration on those days.

    If you read that spoiler, please don't think any different of me. It's there to be informative, not persuasive (or anything else related).

    @analogged Would you prefer forcing the kicked player to run a command? Or would you like to actually set a location for players to be kicked to? Maybe something else??

    @Mithrandir The "Ready Version" doesn't have working "Random Location" or "Claim Aware" mechanics. I was testing out new methods to randomly kick players instead of just systematically picking the first available proposed location around the Claim (i.e. "Claim Aware").

    I removed the "Claim Aware" stuff because a proper random system is in my opinion, better. So we have a build that can kick players (and pets) to a (hard coded, not configurable at this point) predefined location which is great, but isn't worthy of replacing the current release here on Spigot. GriefPrevention has been updated since then, and I've still not settled on Random Mechanics. If all you intend to do is kick players (and pets) to a single location, I can provide a build of the plugin that does just that, let me know.

    For now, my focus is this:
    1. Deal with the Bug pointed out by @Skizzles (Btw, my Discord is: TheMrJezza#5312)
    2. Ensure the latest version of GriefPrevention/Spigot is fully compatible.
    3. I'm really not happy with PetKick, I won't get caught up on this too much, but if someone can suggest a better, more 'natural' and less tedious way to kick pets, let me know.
    4. Make a system to define the kick behaviour. A /setkickpoint command maybe, or even a config that lets you define a command for players to run (so, if playerA is kicked, they'll be forced to execute /<defined command here>) I'm taking suggestions on this one. FYI, the first option is easier because it doesn't require a human editable config file, but don't let that bother you, I'm open to anything.
    I've probably missed a few points, but I'll figure those out as I go.

    Why haven't I settled on Random Mechanics?
    Good question. To work well, the plugin needs to kick the player away from the claim they're in. Like really far away. If I kick you, I don't want you walking back anytime soon. This one seems easy to figure out, but different servers have different world sizes/borders/limits (i.e. "world limits").

    Different servers also have various ways to enforce those world limits, therefore figuring out the limit for any given server is it's own hassle. However, this also seems easy to overcome, just make the world limit configurable. Easy as, and that's what I've done so far.

    The issue now comes down to the absolute gigantic amount of locations to iterate over. The process is as follows:

    Generate Random xyz coordinates within world limits > Check if coordinates are safe > Check if coordinates are away from inaccessible claims (including the Kicked Claim) > If location is suitable, teleport player/pet.

    Even this perfect system has a flaw, if I kick multiple pets belonging to the same owner, those pets are going to wind up separated all over the world. Of course if the player is online, we'll just teleport the pet to the owner (as long as it's safe), but if the owner is offline, then what? Without tedious tracking of previous pet kicks from various claims, and tracking when a player finds their kicked pet, this isn't viable.

    I haven't actually gotten this far with randomness anyway. I don't see a great way to finish it, so for now, it's on hold. I didn't progress on the Random Mechanics and by extension, the whole plugin.
    • Friendly Friendly x 1
  5. Please consider just pushing a build that optionally sends player to spawn on kick (or other command), as was mentioned.

    Also, don't sweat it. It's understandable.
  6. I think being able to set a location in a config file would be the best. This way I can just set my spawn area so any players that get kicked from other peoples claims just end up at spawn which is still safe.

  7. Does the current 1.15 version work for 1.16 or must we wait for a 1.16 version?
  8. @analogged There isn't anything preventing the 1.15 version working on 1.16.

    Also this is how I was intending to handle the "KickPoint". What do you think?

    Code (YAML):
    # Set the Kick Point here then reload KFC with /kfcreload.
    # OR use /setkickpoint in-game to set this to your player location.

    ## WARNING: Using /setkickpoint *might* delete these Comments!
      # STRING # example: "world"
    : null
      # DOUBLE # example: 100.123456789012345
    : null
      # DOUBLE
    : null
      # DOUBLE
    : null
      # FLOAT # example: 10.1234567
    : null
      # FLOAT
    : null
  9. Okay great thanks! Then for the time being Ill just try out the 1.15 version.

    Also yeah that looks great, I also like how you can just set the kick position from in the game with a command.
  10. Please update to 1.17 and 1.18 okssss