Coder Social home page Coder Social logo

intellectualsites / plotsquared Goto Github PK

View Code? Open in Web Editor NEW
517.0 40.0 686.0 71.93 MB

PlotSquared - Reinventing the plotworld

License: GNU General Public License v3.0

Java 99.99% HTML 0.01%
gradle plot java minecraft-plugin bukkit-plugin bukkit spigot-plugin spigot sponge-plugin minecraft

plotsquared's Introduction


PlotSquared is a land and world management plugin for Minecraft. It includes several highly configurable world generators. You can create plots of land in existing worlds using plot clusters, or you can have a full world of plots.

For the end user, PlotSquared is packed with a tonne of cool features. It allows you to merge plots, and build together with your friends. You can also change a lot of plot specific settings in the form of flags. Such as: weather, time, game modes, pvp status.

Whilst we provide a whole load of unique features, the biggest focus is to provide a lag-free and smooth experience.

Links

Developer Resources

Official Addons

Edit The Code

Want to add new features to PlotSquared or fix bugs yourself? You can get the game running, with PlotSquared, from the code here:

For additional information about compiling PlotSquared, see CONTRIBUTING.md

Submitting Your Changes

PlotSquared is open source (specifically licensed under GPL v3), so note that your contributions will also be open source. The best way to submit a change is to create a fork on GitHub, put your changes there, and then create a "pull request" on our PlotSquared repository.

Thank you to YourKit for supporting our product by providing us with their innovative and intelligent tools for monitoring and profiling Java and .NET applications. YourKit is the creator of YourKit Java Profiler, YourKit .NET Profiler, and YourKit YouMonitor.

plotsquared's People

Contributors

aurelien30000 avatar blockythedev avatar boy0001 avatar byteflux avatar citymonstret avatar darbyjack avatar dependabot-preview[bot] avatar dordsor21 avatar evilolaf avatar ilyvion avatar laxwashere avatar manuelgu avatar mattbdev avatar mefisto94 avatar mindw0rm avatar mistererwin avatar notmyfault avatar opachl avatar pierreschwang avatar proximyst avatar redstonefuture avatar renovate[bot] avatar sgdc3 avatar sirywell avatar tamikaschu avatar themeinerlp avatar thisisipat avatar traksag avatar xaver106 avatar zombachu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

plotsquared's Issues

No Blockstates

Copy/Paste + Swap does not copy BlockStates (sign/chest are important ones)

SQLite not functional

*Several reports of SQLite not functioning properly
TODO: test SQLite with >5000 plots

Comments

  • Command to view all comments on your plots
  • Admin command to view all admin comments
  • Command to view all comments you have posted

Normal world plots

Console command to generate plots between two locations. The rest of the world is generated normally.
(Will require major restructuring)

This would be very useful for build competitions where you did not want the entire world to be turned into a plot world.

Can't create world on spigot 1.8

When I create world with these commands:
/plot setup plots PlotSquared
/mv create plots normal -g PlotSquared
It create world but its normal survival world.

Flag ideas

  • Spacing between key: value
    • PVP flag
    • PVE flag
    • Plot auto clearing (interval)

NPE on command ??

[07:35:08 INFO]: Empire92 issued server command: /plot h2
[07:35:08 ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'plot' in plugin PlotSquared v2.2.1
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot.jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:180) ~[spigot.jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
        at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchCommand(CraftServer.java:740) ~[spigot.jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
        at net.minecraft.server.v1_7_R4.PlayerConnection.handleCommand(PlayerConnection.java:957) [spigot.jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
        at net.minecraft.server.v1_7_R4.PlayerConnection.a(PlayerConnection.java:818) [spigot.jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
        at net.minecraft.server.v1_7_R4.PacketPlayInChat.a(PacketPlayInChat.java:28) [spigot.jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
        at net.minecraft.server.v1_7_R4.PacketPlayInChat.handle(PacketPlayInChat.java:47) [spigot.jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
        at net.minecraft.server.v1_7_R4.NetworkManager.a(NetworkManager.java:157) [spigot.jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
        at net.minecraft.server.v1_7_R4.ServerConnection.c(SourceFile:134) [spigot.jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
        at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:667) [spigot.jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
        at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:258) [spigot.jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
        at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:558) [spigot.jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
        at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:469) [spigot.jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
        at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [spigot.jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
Caused by: java.lang.NullPointerException: replacement
        at java.util.regex.Matcher.replaceFirst(Unknown Source) ~[?:1.7.0_51]
        at java.lang.String.replaceFirst(Unknown Source) ~[?:1.7.0_51]
        at com.intellectualcrafters.plot.PlayerFunctions.sendMessage(PlayerFunctions.java:289) ~[?:?]
        at com.intellectualcrafters.plot.commands.MainCommand.onCommand(MainCommand.java:142) ~[?:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot.jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
        ... 13 more

Startup error

[11:33:58 INFO]: [Plot] Detected world load for 'Plots'
[11:33:58 INFO]: [Plot]  - generator: com.intellectualcrafters.plot.generator.WorldGenerator
[11:33:58 INFO]: [Plot]  - plotworld: com.intellectualcrafters.plot.generator.DefaultPlotWorld
[11:33:58 INFO]: [Plot]  - manager: com.intellectualcrafters.plot.generator.DefaultPlotManager
[11:33:58 ERROR]: [PlotSquared] Could not set generator for default world 'Plots': Plugin 'PlotSquared v2.3.0
java.lang.NullPointerException
        at com.intellectualcrafters.plot.PlotMain.addPlotWorld(PlotMain.java:1240) ~[?:?]
        at com.intellectualcrafters.plot.PlotMain.loadWorld(PlotMain.java:973) ~[?:?]
        at com.intellectualcrafters.plot.PlotGenerator.<init>(PlotGenerator.java:29) ~[?:?]
        at com.intellectualcrafters.plot.generator.WorldGenerator.<init>(WorldGenerator.java:179) ~[?:?]
        at com.intellectualcrafters.plot.PlotMain.getDefaultWorldGenerator(PlotMain.java:1269) ~[?:?]
        at org.bukkit.craftbukkit.v1_7_R4.CraftServer.getGenerator(CraftServer.java:1335) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at org.bukkit.craftbukkit.v1_7_R4.CraftServer.createWorld(CraftServer.java:969) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at org.bukkit.Bukkit.createWorld(Bukkit.java:250) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at multiworld.data.WorldManager.loadWorld(WorldManager.java:347) [multiworld.jar:?]
        at multiworld.data.WorldManager.loadWorlds(WorldManager.java:658) [multiworld.jar:?]
        at multiworld.data.DataHandler.load(DataHandler.java:242) [multiworld.jar:?]
        at multiworld.data.DataHandler.<init>(DataHandler.java:61) [multiworld.jar:?]
        at multiworld.MultiWorldPlugin.onEnable(MultiWorldPlugin.java:256) [multiworld.jar:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:316) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:332) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:412) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at org.bukkit.craftbukkit.v1_7_R4.CraftServer.loadPlugin(CraftServer.java:476) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at org.bukkit.craftbukkit.v1_7_R4.CraftServer.enablePlugins(CraftServer.java:394) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.MinecraftServer.n(MinecraftServer.java:360) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.MinecraftServer.g(MinecraftServer.java:334) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.MinecraftServer.a(MinecraftServer.java:290) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.DedicatedServer.init(DedicatedServer.java:210) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:458) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]

Natural plots

Claim a plot and generate natural (or close to natural) terrain on it.
/plot generatenatural

Generate ores for survival mode plots

  • Proper ore generation (config option) (less control over percentages)

Memory usage

Not really an issue, but the plugin could end up using a decent amount of memory if there are a lot of plots.

PlotMe converter cannot switch generator for the default world

This is a safety measure bukkit has in place so you don't unload ALL of your worlds.
(You currently need to switch the generator for the default world while the server is stopped)

TODO: Figure out either how to disable this precaution, or figure out how to switch the generator in a loaded world.

Implement entity pathfinding

EntityCreature creature = ((CraftEntity) entity).getHandle();
PathEntity path = entity.world.findPath(getEntity(), creature, getPathfindingRadius(), true, false, false, true);
creature.setPathEntity(path);
double speed = 0.4D;
creature.getNavigation().a(path, speed);

Entity pathfinding would ideally prevent mobs from leaving the plot.

Improved plot home

Set plot home anywhere in the plot, rather than just two locations.

  • Also able to configure default plot home location in the same manner

Flat file support

Not a high priority, as there is SQLite already.

Weaknesses of flat file:

  • Longer startup time

Strengths:

  • Better readability and easier editing for simple minded server owners
  • Slightly easier installation

Economy

Renting plots for an amount of time
Renting helper/trusted status of a plot
Selling helper/trusted status for a plot
Plot tax

Piston bug

pistons allow pushing blocks outside your plot if ticking "fast enough"

(This is an issue with bukkit itself, but there might be a hacky solution to this)

/plots delete glitch

I found a glitch. I cleared a plot using /plot delete and a portion of the road area where I built an entry place got deleted 1/4 of the building is missing a picture is attached.

2014-12-04_23 45 25

Inventory menu to teleport to a player plot Example /plot menu

If you can add a menu GUI to click a player head and you would teleport to his or her plot.

  • when you do the command /plot menu it would bring up a inventory of player head that currently own a plot.
  • You click on a head it would open up another inventory where there paper for w.e many plot they have with the chunk cord and/or plot alias.
  • Also in the main inventory (player heads), There should be a arrow on bottom left and right for next page.
  • There should also be a item at the bottom some where to search for a player head name. If they do a partial of a name then it would show couple of player head to select from. So if i type D then it would show me all the player with a plot with the name begin with D.
  • Also your player head at the bottom to teleport to your own plots

Related plugins:

Sub Plots

(This is possible using the API, so we may do this as an addon rather than hardcode it into the plugin)
Break apart a plot into smaller pieces which users can have permission for.

E.g.
prison cell plot is broken into smaller pieces
Marketplace plot is broken into multiple shops

Configure fire spread and lighter

Seems PlotSquared disables fire spread and you can't use a lighter unless you have plots.admin or OP. It even disabled fire spread and lighter even if it isn't a plot world. A simple opinion to be able to configure both of these opinions and not check for either when the world is not a plot world.

Plot undo command

Undo plot clearing up to 20s after you accidentally cleared you plot
OR
Add a confirm command for plot clearing (config option)

(Please comment to let us know your preference)

Bug

No Player Can build without the Permissions '*' and plots.admin

Plot commenting

Add DB table to house comments.

  • We could possibly not load comments until they are needed
  • Add an async command class which we can use for fetching comments, and executing the result on the main thread as soon as the query is finished.

/plot list all

We probably shouldn't even have the command usable by players, as it can lag quite a lot, and they won't be able to see much but the last few plots.
Either than or we should make it use pages...

PlotManager converter

QUOTE:

Is it possible to make a converter for those of us trying to switch over from plot manager?

Add something to change slab on claim

To show which is a claim plot on sight. And if you ever get to economy plot for selling and another setting to change what the slab look like for sale plot

nations

This is kind of a big idea (or several). The main concept is to have a system of alliance,war etc with people having their plots join a nation or group of other player's plots.

This is mostly a survival oriented idea, and as such a natural world generator would be required.

  • Possibly claiming a plot will place roads around it (so it can look like a civilized nation)
  • Plot merging would still be a thing, and it would be per player.

So what would you get from having your plot being part of a nation?

  • Protection, so your plot is less likely to be taken over by enemy nations or barbarians (need to work out war system)
  • You won't get attacked by other players in your nation, or it's allies.
  • get some bonuses from nation powers (still need to figure this thing out as well)
  • Nations can set default flags which all member plots must have
  • Nations can set what plot group all nation members would be added as to other plots
    (e.g. nation members are automatically trusted for all plots in the nation)
  • Nations can have a tax per plot, or just a single up front fee to join your plot/s with the nation

Economy system:

  • Cost for nation to build defenses and expand land
  • Nations have a creation cost and an upkeep cost
  • This upkeep must be paid or the nation falls apart (usually they will want a bank)
  • People can simply donate to the nation, or the nation can set a set tax per member or per plot
  • Nations could also have an upfront joining fee and survive on enough people continually joining/leaving the nation

Nation hierarchy:

  • President (total control)
  • Elected leaders (if the majority members are dissatisfied with the leader they can attempt to overthrow the leader?)
  • Councilor (can add/remove people from the nation, and can also build everywhere, can do stuff with the nation's money like withdraw, deposit, spend. Admins can also change the nations diplomacy shit. CANNOT appoint titles)
  • Member (has a plot in the nation, pays taxes to nation bank)
  • Peasant (is a helper/trusted in one of the plots in the nation, may pay tax to landlord. Has no rights within the actual nation)

Nation powers:

  • We could have a bunch "technologies" which can be "researched" in a nation. Researching something will unlock new tools for attack/defence/building/trading within and with other nations.
  • We could also have a skill system in which all nation members get maybe certain attack bonuses, or mining bonuses etc based on the nations chosen skill

War system:

  • Mostly unsure about this

We would want to have something fair which makes it difficult to actually take over someone's plot, but also not impossible even if they are offline.

BARBARIANS:

  • We don't want to force people into joining a nation, so people could be barbarians which attack the gigantic nations.
  • Can still build without being in a nation
  • Barbarians wouldn't have any defend-able land as they would most likely be hard to defend against large nations
  • Steal money from opponents treasury by killing players if not part of a nation

We also don't want an entire nation to suddenly fall overnight while some players have been offline. That wouldn't be any fun.

  • Force invasions to only take place on the outer plots (so anything exposed to the wilderness can be attacked)

Economy based war system:

  • Nations could spend money in the bank to generate defenses like walls (more money = stronger walls)
  • Other nations could spend money on (imaginary) siege to try to destroy this wall
  • Players could brute force the defences by mining it (each block you destroy takes down the health of the wall)
  • Money can be spent every day to rebuild the wall (every real day) however it should be costly to do a partial repair.
  • Alternatively blocks could be used to build/repair a wall (through some command interface)
  • The plot should also have it's own default health (which should be much smaller than a full wall, but still decent enough to stop something)
  • Nations must pay a price to finally claim a plot once they breach the defences

PVP system:

  • Killing players lowers a nations power (like factions)
  • If power has decreased by a certain number of units any enemy can take advantage of this and instantly destroy all the defenses for a plot.
  • This system would be useful for barbarians who want to raid a single plot, however PVP alone shouldn't allow an inferior band of barbarians (who have no power to loose) from taking over an entire nation.

Self balancing war system:
We don't want a runaway effect in which a nation that is ahead, continuously becomes more and more powerful than it's enemies. Some mechanics need to be in place to make small nation competitive against stronger ones.

  • Technology stealing if opponent has researched something
  • Money is generated from alliances (from automatic trade). The amount received will depend on the size of the other nation. I.e. the smaller nation will receive more income from automatic trading than the bigger one.

Intra-nation contracts:

  • A nation may create contracts e.g. 10 stacks of cobble is needed for a new section of wall. People who help complete this contract in exchange for money.

Money generation:

  • Selling to server economy system (stock essentials shop would work)
  • Certain buildings will generate money
  • Selling to other players
  • Users are given the money generated from alliances
  • killing players / capturing plots

========== Would you be able to help me make this at some point Citymonstret?

TL;DR - sorta like towny mixed with factions but scales better, and will have a better designed war system.

Possible ticking entity caused by PlotSquared

[20:42:39] [Server thread/ERROR]: Encountered an unexpected exception
net.minecraft.server.v1_7_R3.ReportedException: Exception ticking world entities
        at net.minecraft.server.v1_7_R3.MinecraftServer.v(MinecraftServer.java:714) ~[spigot-1.7.9-R0.3.jar:git-Spigot-1543]
        at net.minecraft.server.v1_7_R3.DedicatedServer.v(DedicatedServer.java:284) ~[spigot-1.7.9-R0.3.jar:git-Spigot-1543]
        at net.minecraft.server.v1_7_R3.MinecraftServer.u(MinecraftServer.java:584) ~[spigot-1.7.9-R0.3.jar:git-Spigot-1543]
        at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java:490) [spigot-1.7.9-R0.3.jar:git-Spigot-1543]
        at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:628) [spigot-1.7.9-R0.3.jar:git-Spigot-1543]
Caused by: java.util.NoSuchElementException
        at org.bukkit.craftbukkit.v1_7_R3.util.UnsafeList$Itr.next(UnsafeList.java:247) ~[spigot-1.7.9-R0.3.jar:git-Spigot-1543]
        at org.spigotmc.ActivationRange.activateChunkEntities(ActivationRange.java:165) ~[spigot-1.7.9-R0.3.jar:git-Spigot-1543]
        at org.spigotmc.ActivationRange.activateEntities(ActivationRange.java:148) ~[spigot-1.7.9-R0.3.jar:git-Spigot-1543]
        at net.minecraft.server.v1_7_R3.World.tickEntities(World.java:1423) ~[spigot-1.7.9-R0.3.jar:git-Spigot-1543]
        at net.minecraft.server.v1_7_R3.WorldServer.tickEntities(WorldServer.java:516) ~[spigot-1.7.9-R0.3.jar:git-Spigot-1543]
        at net.minecraft.server.v1_7_R3.MinecraftServer.v(MinecraftServer.java:703) ~[spigot-1.7.9-R0.3.jar:git-Spigot-1543]
        ... 4 more
[20:42:39] [Server thread/ERROR]:       Cause of unexpected exception was
java.util.NoSuchElementException
        at org.bukkit.craftbukkit.v1_7_R3.util.UnsafeList$Itr.next(UnsafeList.java:247) ~[spigot-1.7.9-R0.3.jar:git-Spigot-1543]
        at org.spigotmc.ActivationRange.activateChunkEntities(ActivationRange.java:165) ~[spigot-1.7.9-R0.3.jar:git-Spigot-1543]
        at org.spigotmc.ActivationRange.activateEntities(ActivationRange.java:148) ~[spigot-1.7.9-R0.3.jar:git-Spigot-1543]
        at net.minecraft.server.v1_7_R3.World.tickEntities(World.java:1423) ~[spigot-1.7.9-R0.3.jar:git-Spigot-1543]
        at net.minecraft.server.v1_7_R3.WorldServer.tickEntities(WorldServer.java:516) ~[spigot-1.7.9-R0.3.jar:git-Spigot-1543]
        at net.minecraft.server.v1_7_R3.MinecraftServer.v(MinecraftServer.java:703) ~[spigot-1.7.9-R0.3.jar:git-Spigot-1543]
        at net.minecraft.server.v1_7_R3.DedicatedServer.v(DedicatedServer.java:284) ~[spigot-1.7.9-R0.3.jar:git-Spigot-1543]
        at net.minecraft.server.v1_7_R3.MinecraftServer.u(MinecraftServer.java:584) ~[spigot-1.7.9-R0.3.jar:git-Spigot-1543]
        at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java:490) [spigot-1.7.9-R0.3.jar:git-Spigot-1543]
        at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:628) [spigot-1.7.9-R0.3.jar:git-Spigot-1543]

Auto

Plot auto algorithm only claims along x > 0, y=0

  • redo auto claim algorithm

NPE on material lookup + No block update is sent

To call a block update:

if (PlotHelper.canSetFast) {
  PlotHelper.update(plr);
}

Here is the stacktrace

[17:31:45 INFO]: Empire92 issued server command: /plot set wall 321
[17:31:45 ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'plot' in plugin PlotSquared v2.2.1
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot.jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:180) ~[spigot.jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
        at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchCommand(CraftServer.java:740) ~[spigot.jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
        at net.minecraft.server.v1_7_R4.PlayerConnection.handleCommand(PlayerConnection.java:957) [spigot.jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
        at net.minecraft.server.v1_7_R4.PlayerConnection.a(PlayerConnection.java:818) [spigot.jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
        at net.minecraft.server.v1_7_R4.PacketPlayInChat.a(PacketPlayInChat.java:28) [spigot.jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
        at net.minecraft.server.v1_7_R4.PacketPlayInChat.handle(PacketPlayInChat.java:47) [spigot.jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
        at net.minecraft.server.v1_7_R4.NetworkManager.a(NetworkManager.java:157) [spigot.jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
        at net.minecraft.server.v1_7_R4.ServerConnection.c(SourceFile:134) [spigot.jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
        at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:667) [spigot.jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
        at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:258) [spigot.jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
        at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:558) [spigot.jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
        at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:469) [spigot.jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
        at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [spigot.jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
Caused by: java.lang.NullPointerException: Name is null
        at java.lang.Enum.valueOf(Unknown Source) ~[?:1.7.0_51]
        at org.bukkit.Material.valueOf(Material.java:64) ~[spigot.jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
        at com.intellectualcrafters.plot.commands.Set.getMaterial(Set.java:450) ~[?:?]
        at com.intellectualcrafters.plot.commands.Set.execute(Set.java:265) ~[?:?]
        at com.intellectualcrafters.plot.commands.MainCommand.onCommand(MainCommand.java:123) ~[?:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot.jar:git-Bukkit-1.7.9-R0.2-16-g37c7969-b3105jnks]
        ... 13 more

[Web interface] View plot info

Search for a plot, and view it's info:

  • owner
  • rating
  • helpers
  • flags
  • biome
    etc

Uses a MySQL hook (most servers wanting a web interface would use MySQL anyway)

YAMLConfiguration commenting

Function to add a comment right above a specific config node in a YAMLConfiguration file:

  • will need to do this every time the config gets saved as the Bukkit API removes basically anything except the top comment.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.