Code Monkey home page Code Monkey logo

buildingplanner's People

Contributors

cmdrdats avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

owexz

buildingplanner's Issues

Permissions not working

so i got the new 2.0 and tried it out but i didnt like how people can set up an area and build a large house and never set it as finish and actually going out and getting the things they need, so im trying to find alternatives to this but when i wanted to make sure permissions were working right so i set my player as a regular with no OP powers of any-kind and i set the permissions to actually use your plugin under Admin. i could still create them as well as build in them even tho i was not Admin or OP, not sure why this is as there is no error as far as the log is concern. are you setting this up to work with superperm or something else?

Owner based plans

By default, the creator of a plot should be the owner. Use spout and commands to invite collaborators or transfer ownership.

Implement lava and water bucket placement

Currently, lava and water placement doesn't get considered in the area and just gets wiped when the area is committed or uncommitted. This makes it not critical, but it does need to be addressed

Save using diffset

When saving, keep track of the actual blocks changed and only update those parts of the area data files.

Configuration options

Enable/disable plugin
Default plan area height (0 = fence height + ((width+length)/2))
Floor colour
GridLine colour

Only allows building on the base level regardless of defaultHeight setting (0.3.0)

Upgraded to the 0.3.0 version. When I started a building project, it all went well. Floor got marked, fence went into chest, quick response. When I started placing blocks however, it only treated blocks on the same level as the fence as being in the project. Anything above that level was a "normal" place. It was not replenished in my inventory, and removing it required multiple hits.

Exited server and set defaultHeight in the config file to 50, instead of the default 0. When I reloaded the server and tested again, it had the same result.

Ability to sell plots

With economy support, allow owner to set a purchase price for a plot/plan so that ownership can be transferred

Invite collaborators to edit area

use a /plan invite PlayerName [PlanArea], where PlanArea is optional (uses the area you're standing in if none specified)
use /plan uninvite PlayerName [PlanArea] to remove collaborators

Overlapping areas

When you create an area that overlaps with another, cancel area creation because behavior of overlapping areas is undefinable..

Add /plan report [planname] and /plan list commands

/plan report [planname] would give you a list of resources required for a named plan,

/plan list would give you list of all named plans on the server

/plan send playername [planname] - send a report of building materials for the named plan (or if ommitted, the plan you're in)

Torches pop off blocks when committing, and are not removed.

In the plan that I built, I had several torches placed throughout. When I committed the plan, all the torches popped off their blocks and fell to the ground, where I was able to pick them up. They did not get removed with the blocks.

They were still in the plan properly, it just didn't clear them when committing.

Basic economy support

Basic economy support by making plan areas cost to setup and cost to commit, either based off configurable material prices or flat

Test Cake

I have a feeling you can eat infinitely off one cake as of 0.2.0

Double slabs after commit stage.

When placing two slabs on top of each other during the planning stage, thus creating a double slab block, during the commit phase, the planner expects a double slab block in the supply chest to complete that block, instead of two single slabs. Double slabs are unobtainable without using admin commands.

Advanced economy support

On top of base prices, allow players to configure purchase prices for materials. The money will get stashed in the actual area until it gets spent, withdrawn or the area is cancelled.

Other players can then sell materials to the area for the configured buying price. This can happen even before the plan is finished and surplus materials will be available to the owner in the supply chest

Because this will be a fairly complex set of operations, implement this in spout first and then as a set of commands for clients without spout

Objects : Doors, tourches, signs, etc

Objects do not appear as if they are in your inventory after placing them down in planning mode, this is generally an issue with objects that do not stack such as doors. After planning mode it seems that it does not add those objects to the plan and therefore they will not be placed even after inserting them into the box.

Laggy response times, and Memory issue

The only issue that we've run into is that it gets laggy on large plans. I built a pyramid from it with a base size of 34x34. During the plan phase, I could only place 5-7 blocks at a time reliably, and it would take 10-15 seconds to "catch up" (the blocks I placed would disappear, and then reappear, and my inventory would update back to the starting quantity). If we placed more than 10 blocks at a time, we'd lose our connection and have to reconnect to the server. The "lag" from placing blocks affected everyone on the server, though the connection loss only happened to the player placing the blocks.

During the build phase, I put a bunch of the materials in the chest, and it started building fine, but when it started on the Sandstone (primary material for the pyramid sides), it took a long time to place each block (about 30 seconds for each one I think). The end project had about 1100 Sandstone blocks, so not sure if the number of blocks was causing the slowdown, but it didn't seem to affect the blocks that there were smaller totals for.

Logged out of the server for a while to let it do its thing. When I logged back into my server, it had stopped building, even though there were still materials in the chest. The plan was still all there (checked view). Server was throwing "Can't keep up" errors. Decided to restart the server, and the plugin crashed with an "OutOfMemory" error (have 2 gb set for server). Below is the log showing the error:

161 recipes
17 achievements
00:26:39 [INFO] Starting minecraft server version Beta 1.8.1
00:26:39 [INFO] Loading properties
00:26:39 [INFO] Starting Minecraft server on *:25565
00:26:39 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-1067
-g6301507-b1185jnks (MC: 1.8.1)
00:26:40 [INFO] CityWorld has been enabled
00:26:40 [INFO] [Safe Creeper] Safe Creeper V0.3.2 Enabled
00:26:40 [INFO] Spout 1.0.6.381 has been initialized
00:26:40 [INFO] Preparing level "myworld"
00:26:40 [INFO] Default game type: 0
00:26:40 [INFO] Preparing start region for level 0 (Seed: 2055055923)
00:26:41 [INFO] Preparing start region for level 1 (Seed: -8095254886256020997)
00:26:41 [INFO] Preparing spawn area: 0%
00:27:28 [SEVERE] Error occurred while enabling BuildingPlanner v0.2.0 (Is it up
to date?): Java heap space
java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOfRange(Unknown Source)
at java.lang.String.(Unknown Source)
at java.lang.StringBuilder.toString(Unknown Source)
at org.yaml.snakeyaml.reader.StreamReader.getMark(StreamReader.java:74)
at org.yaml.snakeyaml.scanner.ScannerImpl.fetchValue(ScannerImpl.java:76
7)
at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.ja
va:307)
at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:18
3)
at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingValue.produce(P
arserImpl.java:592)
at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:163)
at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:148)
at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:132)
at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java
:230)
at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java
:230)
at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
at org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:12
2)
at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:105)
at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseCons
tructor.java:124)
at org.yaml.snakeyaml.Yaml.load(Yaml.java:264)
at org.bukkit.util.config.Configuration.load(Configuration.java:82)
at za.dats.bukkit.buildingplanner.model.PlanArea.loadArea(PlanArea.java:
541)
at za.dats.bukkit.buildingplanner.PlanAreaManager.init(PlanAreaManager.j
ava:77)
at za.dats.bukkit.buildingplanner.BuildingPlanner.onEnable(BuildingPlann
er.java:45)
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:126)
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader
.java:920)
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage
r.java:278)
at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:173)
at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:156
)
at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:297)
at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:284)
at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:152)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:348)
00:27:28 [INFO] CraftBukkitUpToDate version 2.6.7 is enabled!
00:27:28 [INFO] CButD: Permission system not detected, defaulting to OP
00:27:28 [INFO] InventorySave by Master24 v0.5 enabled!
00:27:28 [INFO] [Multiverse-Core] - Version 2.0-b252 Enabled - By Rigby and fern
ferret
00:27:28 [INFO] [AllPay] - Version 1.0.3 - using only an item based economy for
Multiverse-Core v2.0-b252
00:27:28 [INFO] [Multiverse-Core] - Multiverse Config -- Loaded
00:27:28 [INFO] [Multiverse-Core] - World Config -- Loaded
00:27:28 [INFO] [Multiverse-Core] Loading World & Settings - 'myworld' - NORMAL
00:27:28 [INFO] Preparing start region for level 2 (Seed: -5243929129785998704)
00:27:29 [INFO] CButD: CraftBukkit is up to Date
00:27:29 [INFO] [Multiverse-Core] Loading World & Settings - 'Skylands' - SKYLAN
DS
00:27:29 [INFO] [Multiverse-Core] Loading World & Settings - 'myworld_nether' -
NETHER
00:27:29 [INFO] [Multiverse-Core] 3 - World(s) loaded.
00:27:29 [INFO] [MultiVerse-NetherPortals] - Version 2.0-b225 Enabled - By Rigby
and fernferret
00:27:29 [INFO] [MultiVerse-Portals] - Version 2.0-b254 Enabled - By Rigby and f
ernferret
00:27:30 [INFO] [MultiVerse-Portals] 6 - Portals(s) loaded
00:27:30 [INFO] [BukkitInventoryTools] PermissionsBukkit/Permissions3/Permission
sEx system not detected, defaulting to permissions in plugin.yml
00:27:30 [INFO] [BukkitInventoryTools] Spout is detected.
00:27:30 [INFO] [BukkitInventoryTools] SQLite Initializing
00:27:30 [INFO] [BukkitInventoryTools] SpoutBackpack is detected.
00:27:30 [INFO] [BukkitInventoryTools] BukkitInventoryTools version 2.3.4 is ena
bled!
00:27:30 [INFO] [mcMMO] Using Bukkit Permissions.
00:27:30 [INFO] Loading Config File...
00:27:32 [INFO] mcMMO version 1.1.15 is enabled!
00:27:32 [INFO] mcMMO is keeping usage stats an. To opt-out for whatever bizarre
reason, check plugins/stats.
00:27:32 [INFO] [AdminCmd] Plugin Enabled. (version 5.8.1 (BUILD 2011-09-01 13/5
4/17))
00:27:32 [INFO] [AdminCmd] 80 extra help entries loaded from files: AdminCmd(80)

00:27:32 [INFO] [AdminCmd] Disabled Alias(es) for bal_repair : repair,
00:27:32 [INFO] [AdminCmd] Disabled Alias(es) for bal_sp : sp,
00:27:33 [INFO] [AdminCmd] 0 blacklisted items loaded.
00:27:33 [INFO] [AdminCmd] 1655 alias loaded.
00:27:33 [INFO] [AdminCmd] 0 Banned players loaded.
00:27:33 [INFO] [AdminCmd] 0 Muted players loaded.
00:27:33 [INFO] [AdminCmd] 2 kits loaded.
00:27:33 [INFO] [SpoutBackpack] Payment method was disabled. No longer accepting
payments.
00:27:33 [INFO] [SpoutBackpack] Version 2.3.4 is now enabled.
00:27:33 [INFO] [SpoutBackpack] Inventories loaded.
00:27:33 [INFO] Server permissions file permissions.yml is empty, ignoring it
00:27:33 [INFO] Done (5.280s)! For help, type "help" or "?"
00:27:38 [INFO] CButD: Plugin-Update-Check started
00:27:40 [INFO] No source for InventorySave.jar ask the Author to add it to dev.
bukkit.org
00:27:41 [INFO] No source for Safe Creeper.jar ask the Author to add it to dev.b
ukkit.org
00:27:41 [INFO] CityWorld.jar changed, try to download the new
00:27:41 [INFO] CityWorld.jar updated, copy D:\Games\Adventure\MineCraft.craftb
ukkit\bukkit_update\plugins\CityWorld.jar to your Plugin-Folder
00:27:42 [INFO] Multiverse-Core.jar changed, try to download the new
00:27:43 [INFO] Multiverse-Core.jar updated, copy D:\Games\Adventure\MineCraft.
craftbukkit\bukkit_update\plugins\Multiverse-Core.jar to your Plugin-Folder
00:27:43 [INFO] CButD: 2 plugins were updated, please copy them into your plugin
s folder.
00:27:43 [INFO] CButD: Plugin-Update-Check finished

white list/black list

maybe in a config you can set up a White or black list of items that can be used in the plan area im thinking one way i can prevent people from just using the plan mode to build whatever they like and never completing it is to make it so things like beds and chest, crafting tables and so on cant be placed in those areas.

(side note) also another idea i had is make it so that only the person making the plan can actually see the buildings (besides OP or people with the right perm) that could also discourage people from leaving then in planing mode

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.