[INACTIVE][SEC/FUN/INFO] Towny v0.59 - Resident/Town/Nation hierarchy + Grid Based Protection [531]

Discussion in 'Inactive/Unsupported Plugins' started by Shade, Feb 4, 2011.

Thread Status:
Not open for further replies.
     
  1. Offline

    Shade

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Towny
    Towny is a plugin for Bukkit (originally from but discontinued from hMod) that allows players to create towns and nations, along with simple alliance controls. The world is broken up into a grid using 16x16 grid cells as default (for those familiar it's broken up into chunks). Each town is given a certain number of these cells and gains more as the town holds more players. These cells can be controlled by a town's mayor to set build/destroy permissions, define the town as PvP zone, and put plots up for sale using iConomy. Once a town joins a nation, it's residents can then start building in it's allied towns, but joining a nation makes you susceptible to losing your towns protection when the world is at war.

    Sec: Block permissions + Allies can't attack each other. Mob removal within towns. World PvP options.
    Chat: Town + Nation chat.
    Econ: Extension for iConomy that has a daily upkeep for towns and nations.
    Fun: War event.
    Info: Remembers when player last logged in as well as when they first registered.
    Tp: Town spawns and teleportation as well as onDeath that uses the town spawn.


    ~ News (Read this; it's usually of your interests)
    Add the node 'towny.town.claim' if you're using permissions. No one can expand their towns without it.

    March 24: I added a filtering system on names. Some people were getting some serious breakage when people used special characters for town names. If you installed one of the versions before 58, you will need to make sure this config value is correct name_check_regex=^[a-zA-Z0-9]+[a-zA-Z0-9._-]*$ or you'll get errors or worse for anything with underscores, dashes and periods. If you want to add to this, brush up on regular expressions or try this ^[^\s]+$ expression (1 character or more of any character but space). Be forwarned, I'm not sure that'll work as I'm rather new to them myself. You might want to make sure of this before updating, as your town names should be filtered accordingly. I also changed how world names were calculated, any worlds with / in it (to represent a subfolder) will probably have their world data reset (actually it's just starting a new file with a new name, so you could probably copy over you data in Towny/data/worlds).

    I also updated my website, so some links will probably break. Pretty much all them actually. In other news, the configuration page documentation is pretty!

    Old News: http://www.xshade.ca/towny/news-archives


    ~ Required Plugins
    This plugin isn't 100% required for Towny to run, but it eliminates gaping imbalance.
    • Questioner: link - Used to give confirmation to things like adding a player to a town, or asking the town's mayor/assistants to join a town. Towny will also use the polling feature to create elections, opt in wars, and other such things that require confirmation from both parties to not cause crazy imbalance. (Not all features in this description have been added as of yet).
    ~ Optional Plugin Extensibility


    These plugins are NOT required to be installed, and Towny should be 100% functional without them. If you notice a bug with them installed, post it.

    Mechanics:
    • Essentials: link - Used to check teleport cooldown and costs when using the /town spawn command. Requires EssentialsTele to be installed as well.
    Permissions:

    • Permissions: link - Used to decipher if a player is a towny admin using the node 'towny.admin'. Otherwise, only operators will have the ability to use the admin commands.
    • Permissions 2.1 by Niji:link - No longer compiled against, but probably will continue to work.
    • GroupManager:link - Alternative to Permissions. Requires "fake" Permissions. Rename the fake plugin to "Permissions".


    • towny.admin : User is able to use /townyadmin, as well as the ability to build/destroy anywhere. User can also able to make towns or nations when set to admin only.
    • towny.town.new : User is able to create a town (only is use when TOWN_CREATION_ADMIN_ONLY is on)
    • towny.town.claim : User is able to expand his town with /town claim
    • towny.nation.new : User is able to create a nation (only is use when NATION_CREATION_ADMIN_ONLY is on)
    • towny.wild.* : User is able to build/destroy in wild regardless if the config says no.
    • towny.wild.build
    • towny.wild.destroy
    • towny.wild.switch
    • towny.wild.item_use
    • towny.wild.block.[block id] : User is able to edit [block id] in the wild.
    • towny.spawntp : Use /town spawn when allow_town_spawn=false
    • towny.publicspawntp : Use "/town spawn [town]" (teleport to other towns) when allow_town_spawn_travel=false.



    Economy:
    • iConomy: link - Used for a large amount of functionality like taxes, cost to start a town or nation, and selling plots. Towns and nations have their own bank account, used to deposit and withdraw during the daily upkeep. War brings in a another addition with stealing a bit of gold when you kill an opponent, and bankrupting towns in order to kick them from the event.


    Balance. The default install of Towny cannot and will not balance it perfectly for every single server. This is where you, the admin, comes in. Also, just because you can put a price on it, doesn't mean you should.

    USING_ICONOMY
    If you do not want to use iConomy with Towny, then turn this off.

    PRICE_NEW_TOWN
    PRICE_NEW_NATION
    These, a the building blocks towny. They are what separate a user from being a hobo in the street to a fine war vet puffing on a cigar in his manor's den. Set the town to be a reasonable price. Either set this price low, so anyone can start a town, or set it high forcing a band of players to group together the funds. Same with nation. If you desire each and every town to have it's own nation, then set it low. If you desire only two or three nations over the land, then set it high. Remember that nations are used to let people build in other cities, so it shouldn't be unreasonable. If you want only a set amount of nations, make the creation of nations admin only.

    PRICE_CLAIM_TOWNBLOCK
    Do not make this price unreasonable. It will prevent a town from expanding unreasonably, but in doing so, also makes towns a very hard thing to establish. Big areas, or projects because very hard for users to protect, and you shouldn't deterr people from big projects as they will make your server more interesting.
    This price should probably scale on the lower side if you plan for towns to claim very large areas (or lots of town plots). In fact, since there are other ways to limit the size of towns (max town blocks) you should even consider expanding to be free.

    PRICE_TOWN_UPKEEP
    PRICE_NATION_UPKEEP
    This is the server's own tax on the towns. It should kill off the inactive towns on your server.

    DEATH_PRICE
    WARTIME_DEATH_PRICE
    Makes dieing more fun, and more of a hassle even when your inventory is empty. The focus of the second, for during war, is to bankrupt a town. Since when a player runs out of funds, it's taken from his town, and when the town runs out of funds, the town is eliminated. Make the price zero if you do not wish for that.

    WARTIME_TOWN_BLOCK_LOSS_PRICE
    Same with the death price, but more direct towards the town.

    PRICE_NATION_NEUTRALITY
    Don't charge a fee for this unless you have to.



    ~ Useful Links
    New Website
    Old Website
    Other Links
    ~ FAQ (Read This If You Have Questions)

    I've answered some common questions in the second post of this thread. Be sure to check it out.


    ~ Bugs
    If you notice a bug. First make sure you are up to date with the latest version of Towny. You can find out the version with the command /version Towny.

    Before posting the bug, please check the last page or two to check for if others have posted it. If you have anything to add to it, then quote that particular post. Checking my posts is usually a good idea as I tend to answer 5+ posts at once.

    Also be sure to check my Known Bugs & To Do List.

    Things that are useful to add to you posts:
    • Describe what you did right before the bug appeared. Describe the situation.
    • Error in the console (ca.xshade.bukkit.towny...). Paste the entire thing, use code tags.
    • Most logic has debugging messages. If your skilled at problem solving, try turning on debug mode (/ta set debugmode on) and read the console output during the time of the bug. This might not always apply to every bug possible.
    • If you notice any bugs in block protection going awry. Post the cache messages shown in debug mode. They help tell what towny is thinking during.
    ~ Spread The Love

    Donate! Donating keeps me interested in the project and more susceptible to implementing your outrageous demands! I'll more 'n likely add them anyways though, but the love is appreciated!
    For those wonderful people donating 1 cent. Save your money. Paypal takes 5% of transactions, rounded up to the nearest cent. One cent of one cent is, well let Jayne give you the idea. Your thoughts are appreciated though.

    Awesome Peeps: Hawkheart, Nameless 1¢ donator, Dharrk! Cool guy from Germany. Legionarius. Another 1¢ donator... The Quezo Collective. Rockstar04! ShatteredBeam. KHobbits, ! Janb !

    ~ Latest Version - Download Here
    [Usually Tested with: http://ci.bukkit.org/job/dev-CraftBukkit/promotion/]
    • Install Notes:
      Place Towny.jar in the plugins folder that should be created when you launch the CraftBukkit server. Then run the server. If you're using permissions, be sure to add towny.town.claim or users will not be able to expand their towns. Check the other permission nodes as well. After getting Towny running, configure it. Towny has lots of options allowing it to run in many different ways. The default setup is doubtful to be perfect for your server.
    Remember, remember, to back up your members. (Make a backup when updating)

    Note: v0.17 onwards will automatically backup the data folder in "plugin/Towny/backup/" as the server boots, and each daily interval.


    ~ Old Versions



    ~ Change Log
    Change Log for past versions
    Code:
    v0.55:
    	Fixed reloading the towny config.
    	Added regex check for all names. Names must be alphanumeric with the exception of underscores in place of spaces. Old names with invalid characters will be filtered appropriately.
    	World names are now filtered like the other objects in the universe, worlds with / are no longer just using the last token.
    	Reworded errors when making new towns. "You" was hardcoded, and didn't take into account admins making towns for others. To clarify, money is taken from the new mayor's bank account.
    	Added new config option save_on_load. It's defaulted to off (which is opposite to what it was before). It will no longer to a giant save on startup which assured that what's in memory = saved in file. This should speed up startup of particular large db.
    	Files are deleted when the object is deleted. It will not delete existing files, so files deleted outside of towny's regular actions will remain.
    	Added allow_resident_plots to enable/disable plot commands, essentially freezing the plot system.
    	Fixed admin add command (you couldnt add if you werent a mayor/assistant of any town).
    	The admin set mayor command will now add the person to town if he/she isn't already. The npc part of this command now works as well.
    v0.56:
    	Fixed default setting for regex.
    v0.57:
    	Removed debug statements.
    v0.58:
    	Fixed default regex settings.
    
  2.  
  3. Offline

    fallarnon

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Not sure exactly what a townblock is but if townblock == plot then yes, it crosses the X-axis.
  4. Offline

    maxsteele

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I have had a second java error come up:

    Towny .45, CraftBukkit #450, Permissions 2.1:

    Code:
    16:32:04 [SEVERE] Could not pass event PLAYER_COMMAND_PREPROCESS to Towny
    java.lang.StringIndexOutOfBoundsException: String index out of range: -1
            at java.lang.String.substring(String.java:1949)
            at java.lang.String.substring(String.java:1916)
            at ca.xshade.bukkit.towny.event.TownyPlayerListener.onPlayerCommandPreprocess(TownyPlayerListener.java:319)
            at org.bukkit.plugin.java.JavaPluginLoader$6.execute(JavaPluginLoader.java:150)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:225)
            at net.minecraft.server.NetServerHandler.c(NetServerHandler.java:641)
            at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:612)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:606)
            at net.minecraft.server.Packet3Chat.a(SourceFile:24)
            at net.minecraft.server.NetworkManager.a(SourceFile:230)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:75)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:357)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:272)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    
  5. Offline

    Machete.Panda

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Hey Shade, Thanks for the help. The server in question was new and unpopulated so I removed everything and just left the minecraft server, bukkit, iconomy, and towny. It seems to have worked.
    I'm still baffled because I had not changed any permissions in towny.
  6. Offline

    Raspberry

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I'd like to see a minimum distance between town creation being able to be set by the config files and perhaps at the nation level...

    We've got an interesting situation on our test server where two (soon to be warring) nations have built their capitals about a half a dozen plots from each other.

    I can see it being a source of frustration to find a nice plot of land and start your city only to have somebody claim their "H" just 2 or 3 plots away...
  7. Offline

    sumTard

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    would it be possible to add the option to limit the amount of plots a resident can claim? And is there an option to remove a plot from someone? I noticed that even if they are kicked from a city, they still own and control their plot inside it, is this normal? Thanks!
  8. Offline

    mixxit

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    This is when a user does a /town unclaim all

    Build git-bukkit-0.0.0-483-gb7865d9-b480jnks

    2011-03-02 12:24:18 [SEVERE] Could not pass event PLAYER_COMMAND_PREPROCESS to Towny
    java.util.ConcurrentModificationException
    at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
    at java.util.AbstractList$Itr.next(AbstractList.java:343)
    at ca.xshade.bukkit.towny.object.TownyUniverse.removeTownBlocks(TownyUniverse.java:799)
    at ca.xshade.bukkit.towny.event.TownyPlayerListener.townUnclaimAll(TownyPlayerListener.java: 1613)
    at ca.xshade.bukkit.towny.event.TownyPlayerListener.parseTownUnclaimCommand(TownyPlayerListe ner.java:1430)
    at ca.xshade.bukkit.towny.event.TownyPlayerListener.parseTownCommand(TownyPlayerListener.jav a:885)
    at ca.xshade.bukkit.towny.event.TownyPlayerListener.onPlayerCommandPreprocess(TownyPlayerLis tener.java:301)
    at org.bukkit.plugin.java.JavaPluginLoader$5.execute(JavaPluginLoader.java:145)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:225)
    at net.minecraft.server.NetServerHandler.c(NetServerHandler.java:611)
    at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:582)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:576)
    at net.minecraft.server.Packet3Chat.a(SourceFile:24)
    at net.minecraft.server.NetworkManager.a(SourceFile:230)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:75)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:357)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:272)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
  9. Offline

    Will-ko

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Something in Towny appears to be mistaking every player as an Admin, thus they can enter everyones homes and edit all tarrain.
  10. Offline

    Novemberman

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    is there a way to let player place torchs in the wild ?
    on my server im not letting players work in the wild but we can gather minerals, but witout the use of torchs cave exploring is kinda hard.

    also gathering wood outside town wall would be usefull...


    nevermind figures it out :)
  11. Offline

    xondk

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    how did you do it novemberman? I'm having the same problem
  12. Offline

    ProjectInfinity

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Disabling wilderness PvP makes mobs invulnerable, my users are complaining :( Is this a known bug?
  13. Offline

    Sharlenwar

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    In the settings file you can allow the wilderness to do different things:

    Code:
    unclaimed_plot_name=Unowned
    unclaimed_zone_build=true
    unclaimed_zone_destroy=true
    unclaimed_zone_ignore=14,15,16,21,56,65,66,73,74,89
    unclaimed_zone_item_use=true
    unclaimed_zone_name=Wilderness
    unclaimed_zone_switch=true
    So you can do a few things here, anyone can now:
    • Build - Place blocks.
    • Destroy - Mine, harvest trees, etc.
    • Use Items - To open doors, open chests, forges, etc.
    • Use Switches - Turned on, as I allow people using switches and what not.
    Now, anyone can definitely correct me if I am wrong. I have just been messing around with Towny today as it works nicely with iConomy 4.1.

    Hope that helps.
  14. Offline

    NekoMikan

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    would it be possible to get claim toggle again? kinda miss only needing to hit the air to claim
  15. Offline

    Will-ko

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Code:
    [Towny] Debug: [playername] <co-ords> Cached Status: ADMIN
    
    [Towny] Debug: [playername] <co-ords> Cached Build: True
    
    
    The second one is either Cached Build/Destroy/Switch etc.
    Don't understand why it does this.
    Makes all permissions void.
  16. Offline

    sillyrosster

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    The commands work but I can't create a town! I do /town new sillytown sillyrosster and it doesn't say anything!
  17. Offline

    godiceman

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    permissions is not working and ive double checked this code and cant find anything wrong with it.
  18. Offline

    Shade

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    THat could be it. Try it with it disabled for a minute. Because that;s the default config. >.> also the extra , is from me try to fix stuff in v45 and forgetting something and doing something else, just delete the extras.

    Yours couldnt be answered at the time of writing. ?The others were simple querying.
    Why not add the block ids to unclaimed_zone_ignore?
    --- merged: Mar 3, 2011 5:32 AM ---
    Your looking for: TOWN_RESPAWN
    --- merged: Mar 3, 2011 5:34 AM ---
    Try /tw. Everythings green right?
    --- merged: Mar 3, 2011 5:37 AM ---
    check v46
    M1sT3rM4n likes this.
  19. Offline

    M1sT3rM4n

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I will do that and see what happens.
  20. Offline

    Shade

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    are other plots 16 in size? There's really nothing i can do right now to fix this. If i did, it would shift every townblock in the negative coords on every server. It's best just to deal with that one axis as a hiccup. sorry.
  21. Offline

    M1sT3rM4n

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    By the way did you just say you updated to v0.46?
  22. Offline

    Shade

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    The chat commands must be two characters in length. its just the way i did it for now. The way commands are parsed will be changing soon, so theres no point trying to hack a fix for this now.
    --- merged: Mar 3, 2011 5:56 AM ---
    I really need to test more with permissions enabled. All i ever test is towny.admin and opping myself to give me everything. >.> The only way for it to work though is if Permissions is installed and it says ok. Your not giving people towny.* or nonsense like that are you?
    --- merged: Mar 3, 2011 5:57 AM ---
    I added minimum distance from another homeblock (not from the edge of a town, its on my non-priorty todo list tho, dont expect soon). check v46
    --- merged: Mar 3, 2011 6:02 AM ---
    um, the entire plot system needs a rework. so uh, stay tuned. (btw thats a no)
    --- merged: Mar 3, 2011 6:03 AM ---
    Something like you giving towny.* to everyone, which would inlude towny.admin?
    --- merged: Mar 3, 2011 6:04 AM ---
    prob fixed in v46
    --- merged: Mar 3, 2011 6:06 AM ---
    /res set mode townclaim
    Claim as you freaking walk like a stuf adventurer. IMO it's better.
    --- merged: Mar 3, 2011 6:09 AM ---
    Unless your an admin doing it for a resident, you dont need to specify the mayors name (as itd be you).
    --- merged: Mar 3, 2011 6:12 AM ---
    yml is shit without indents, use the code tag next time.

    from what i can gather, you gave the group General the '*' permission which give every user including that group every permission for every plugin.

    General:
    default: false
    info:
    prefix: '&0'
    suffix: '&h'
    build: true
    inheritance:
    permissions:
    - '*'
    --- merged: Mar 3, 2011 6:14 AM ---
    i was waiting to read the page or two of posts to see if i should add in any last minute things before updating.
    M1sT3rM4n likes this.
  23. Offline

    M1sT3rM4n

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    great :)
    --- merged: Mar 3, 2011 7:03 AM ---
    Feedback about the Prefixes: After removing iChat, the prefixes still don't change. King still stays as prefix for nation creator. Not sure about mayor, but same thing for cities etc. That's the ONLY thing bugging me atm lol
    --- merged: Mar 3, 2011 7:07 AM ---
    Also, it no longer shows wilderness notification or notification entering a nation or city.
  24. Offline

    fallarnon

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Other plots are 16 yes. There is no need for you to apologize, I have not paid for this mod or anything that would give me even the most remote claim to demand it work as expected. ^^ Thanks for all of your work on this plugin, it's very useful.

    Just wondering, any explanation for why this happened? A matter of curiosity more than anything else.
  25. Offline

    godiceman

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    nvm it works
  26. Offline

    NekoMikan

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)

    I must have missed that, ty ♥
  27. Offline

    Shade

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    looks like i need to debug that >.>
    M1sT3rM4n likes this.
  28. Offline

    Will-ko

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Nope

    Code:
    groups:
        Default:
            default: true
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
            permissions:
                - 'BetterShop.user.*'
                - 'iConomy.list'
                - 'iConomy.rank'
                - 'iConomy.payment'
                - 'mobRider.command.goto'
                - 'mobRider.command.attack'
                - 'mobRider.command.go'
                - 'mobRider.command.stop'
                - 'mobRider.players'
                - 'mobRider.animals'
                - 'mobRider.monsters'
                - 'monstertamer.player.catch'
                - 'monstertamer.player.check'
                - 'monstertamer.player.befriend'
                - 'monstertamer.player.target'
                - 'monstertamer.player.release'
                - 'AutoRepair.warn'
                - 'AutoRepair.repair'
                - 'AutoRepair.info'
                - 'AutoRepair.access'
        Moderator:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
            permissions:
        Admins:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
            permissions:
                - '*'
  29. Offline

    Machete.Panda

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    God no. I had installed it by default. UPDATE: I installed Permissions AFTER it and everything is working thus far. Thanks
  30. Offline

    Shade

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    probably my bad math skills yo.

    It has to do with how Java does integer division. Basically, java does real math, read the spot on sign rules, vs how another lanuage like python will do what i intended by default (without even the need to offset!).

    Basically what i wanted to do was treat it as an unsigned (always positive, but the negative and positive range have unique points). Python treats it as taking some point to represent negative infinity, and treat that as zero. Then add the distance between our new zero and the value (ie if x = 5 it would be infinity+5. Infinity is a finite number for this]. In java, it would probably be the largest an integer can be (2^32-1). So it would be (2^32-1+4)/16. Which would make it in a grid of 16x16.

    In Java, it's treated differently, using fancy math skills.
    -15 / 16 = 0
    -1 / 16 = 0
    0 / 16 = 0
    1 / 16 = 0
    15 /16 = 0

    Here we have the area around origin being a full 31x31 area,with the blocks along the axis being 16x31. I noticed this long ago when i started towny. So i decided to subtract a full 16 to the value when it reaches into the negatives. My logic was actually were I took the number afterwards which represents one of the cell coordinates and subtracted one. This is the error.
    -16 / 16 = -1 - 1 = -2
    -15 / 16 = 0 - 1 = -1
    -1 / 16 = 0 - 1 =- 1
    0 / 16 = 0
    1 / 16 = 0
    15 /16 = 0

    See the -15 <-> -1 range is only 15 in size.

    What i should have done, after noticing this was to add one to the x,z coords before doing the division.
    -17+1 = -16 / 16 = -1 - 1 = -2
    -16+1 = -15 / 16 = 0 - 1 = -1
    -15+1 = -14 / 16 = 0 - 1 = -1
    -1+1 = 0 / 16 = 0 - 1 =- 1
    0 / 16 = 0
    1 / 16 = 0
    15 /16 = 0

    Thanks for asking me to explain it, as I would of just said, I think i know the problem, and just ignored it. By doing so, you forced me to be smart and look shit up to prove that I'm right (something I don't always do >.>).

    Full samples i made with java and python.

    Code:
    Java [current code](-17,-17) -> (2,2)
    (-2,-2)(-2,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)( 0,-2)( 0,-2)( 0,-2)
    (-2,-2)(-2,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)( 0,-2)( 0,-2)( 0,-2)
    (-2,-1)(-2,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)
    (-2,-1)(-2,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)
    (-2,-1)(-2,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)
    (-2,-1)(-2,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)
    (-2,-1)(-2,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)
    (-2,-1)(-2,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)
    (-2,-1)(-2,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)
    (-2,-1)(-2,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)
    (-2,-1)(-2,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)
    (-2,-1)(-2,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)
    (-2,-1)(-2,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)
    (-2,-1)(-2,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)
    (-2,-1)(-2,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)
    (-2,-1)(-2,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)
    (-2,-1)(-2,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)
    (-2, 0)(-2, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)
    (-2, 0)(-2, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)
    (-2, 0)(-2, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)
    
    Java [only integer division without the offset]
    (-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)
    (-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)
    (-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)
    (-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)
    (-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)
    (-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)
    (-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)
    (-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)
    (-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)
    (-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)
    (-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)
    (-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)
    (-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)
    (-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)
    (-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)
    (-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)
    (-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)
    (-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)
    (-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)
    (-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)
    
    
    Python [only integer division] (-17,-17) -> (2,2)
    (-2,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)(-1,-2)( 0,-2)( 0,-2)( 0,-2)
    (-2,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)
    (-2,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)
    (-2,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)
    (-2,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)
    (-2,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)
    (-2,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)
    (-2,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)
    (-2,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)
    (-2,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)
    (-2,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)
    (-2,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)
    (-2,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)
    (-2,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)
    (-2,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)
    (-2,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)
    (-2,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)
    (-2, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)
    (-2, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)
    (-2, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)
    
    Python (only integer division) (-3, -3) -> (16, 16)
    (-1,-1)(-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 1,-1)
    (-1,-1)(-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 1,-1)
    (-1,-1)(-1,-1)(-1,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 0,-1)( 1,-1)
    (-1, 0)(-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 1, 0)
    (-1, 0)(-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 1, 0)
    (-1, 0)(-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 1, 0)
    (-1, 0)(-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 1, 0)
    (-1, 0)(-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 1, 0)
    (-1, 0)(-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 1, 0)
    (-1, 0)(-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 1, 0)
    (-1, 0)(-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 1, 0)
    (-1, 0)(-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 1, 0)
    (-1, 0)(-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 1, 0)
    (-1, 0)(-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 1, 0)
    (-1, 0)(-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 1, 0)
    (-1, 0)(-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 1, 0)
    (-1, 0)(-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 1, 0)
    (-1, 0)(-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 1, 0)
    (-1, 0)(-1, 0)(-1, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 0, 0)( 1, 0)
    (-1, 1)(-1, 1)(-1, 1)( 0, 1)( 0, 1)( 0, 1)( 0, 1)( 0, 1)( 0, 1)( 0, 1)( 0, 1)( 0, 1)( 0, 1)( 0, 1)( 0, 1)( 0, 1)( 0, 1)( 0, 1)( 0, 1)( 1, 1)
    


    Btw, I wrote this last night when the forums were down. don't actually have time right now for q & a. I'll bbl.
  31. Offline

    link2110

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    using /tc with no message restarts our server. is this a known bug?
  32. Offline

    Skate

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    i have pvp on my server but it isnt working when i put towny on can you help
Thread Status:
Not open for further replies.

Share This Page