Limited Creative
Limited Creative
prevents any way of creative player to pass items to survival-mode, without need of a separate creative-world.
Overview
Scenario: You're starting your first survival server, just finished the spawn, the first players join and one asks: "hey sup, g1v3 me cr3at1v3. i made u teh imba *whatever*-building". Well, if you really decide to say okay to that, 5 minutes later, that players has stacks of diamondblocks, -armor and -tools in there bags. Next step? Reset your world and completely start over, which is never fun!
But Limited Creative is here to save you.
So how does Limited Creative prevents players from abusing creative-mode within your world:
- Switching back to survival? previous survival-inventory restored
- Trying to put items in a chest? denied
- Trying to drop something on the ground or hopper? denied
- Trying to put items into storage-carts or sell to villagers or similar? denied
- Using commands not intended for creative players? denied
- Using economy to sell for plugins? denied
- Wants to go anywhere in creative mode? denied
- Trying to place expensive blocks somewhere? allowed, for sure, that's what creative is for, but the block won't drop anything if destroyed in survival!
The restrictions aren't only for restricted players. I also like to have some of them as the owner. For example separated inventories: No need to rearrange your quick-bar after switching back to survival mode. No more bother because you thrown away a stack of grilled steaks for a single wool-block on switching back ;)
Or building a minecart track as op. While breaking blocks often carts, rails torches, redstone and much more fall to ground... no longer! LC prevents all that drops, or just removes them when you walk over.
Features
- Inventories-Module
- Display configured armor on creative players for visual distinction
- Remember creative inventory or not
- Separate adventure from survival or not
- Limit-Module
- prevent dropping of items in creative mode (even on death)
- prevent access to all types of chests in creative mode
- prevent usage of interactive signs (to stop economy in creative)
- prevent dealing or retrieving damage to/from other players (that means: no PvP between creative and survival player)
- blacklisting the use/create of items/blocks as well as breaking blocks
- blacklisting the interaction with selected entities
- optional prevent pick up of items in creative mode or remove items on pick up
- WorldGuard Region-Module
- that means: enable automatic creative-mode for selected players in regions you want
- blocks in creative regions never drop anything (independent who placed it or which game mode the destroyer is in)
- prevents pistons from getting blocks out of creative areas
- optional: let player switch game mode in creative-area (/lc creative/survival) without permission
- Command Blocker-Module
- While in creative mode, certain commands can blocked for users via configuration
- Either blocks simple strings or complex regular expressions
- Bypass certain parameter commands via permission
- GameMode-Permissions-Module
- Adds players to a configured permission-group as long as they are in creative
- This allows you to negate all permissions that creative players shouldn't use, like economic features
- Requires Vault and a Permission-Plugin supported by Vault
- BlockState-Module Disabled by default in config.yml
- Remembers if blocks are set by creative players
- Prevents the drop of blocks created by creative players, even if it is not in a region
- Works with pistons, tnt, item frames, falling sand/gravel and attached items like redstone/torches
- Supports MySQL and SQLite (definition form bukkit.yml)
- A tool (wood pickaxe by default; right-click) tells an op who created the block in which gamemode.
- A command (/lc bs) to modify the saved state in the database, via WorldEdit-Selections
All features are optional and can be independent disabled in config.
Utilizing the only for LC developed library plib, LC provides easy usability for admins:
- Self explaining config.yml, with every setting documented
- Full configurable from commandline/ingame commands
- Detailed command explanation for every (sub-)command (
/lc help) - On the fly module enable- and disabling via configuration-commands
Documentation
While most of the plugin (config and commands) are self explaining, you can click on the features above for further description (incomplete). Also following some more references:
Commands
Configuration
Permissions
FAQ (Frequently Asked Questions)
Miscellaneous
Translation / Supporting the Plugin
Please help translating the plugin, by clicking on your Language at the Translation-Page. You can then enter the localized strings for you language. It should be easy to you to add some strings of your mother language. Improvements to English language is also welcome.
Also I would like to add some new Screenshots, maybe a Video. So feel free to send me what you imagine represents this Plugin.
Collecting Statistics
This plugin collects some basic statistics about the amount of servers using this plugin, as well as MCStats.
What is send: Server-Name, -Address and -Version, List of installed Plugins, LimitedCreative-Version, Count of players online. These Information aren't published and can only be seen by me, the Author (Possible).
The MCStats are complete anonymous and can be seen by everyone here.
You can disable all collection with /lc config metrics false and /lc config save
Before doing that I please you to read further about the Metrics.
Known Problems/Bypasses/Incompatibilities
Attention: WorldGuard has its own "game-mode" flag. That flag doesn't relate to LC in any way! Be sure to use "//region flag <id> gamemode creative" instead of /region ...; Otherwise the LC restrictions won't affect that region.
Currently no ways to bypass restrictions as a creative player are known
as of Nov 2, 2013 (some reports are currently under evaluation)
Links/Contact/Donation
- PayPal-Donation
- Free-of-cost-Donation: Register on Dropbox and unlock me additional storage
- IRC-Chat: #limitedcreative@irc.esper.net
- E-Mail / Jabber: jascha.starke@gmail.com
- Skype: jascha@ja-s.de / jascha.starke
- Suggestions/Bugs - How to Use debug for additional information
- Source on GitHub
- Development builds of this project can be acquired at the provided continuous integration server.
These builds have not been approved by the BukkitDev staff. Use them at your own risk.
http://ci.ja-s.de:8080/
Special thanks to all Donators:
90$ zeshan321
50$ http://www.cosmicmc.com/ (MinecraftAllen)
25$ Suzy
5$ Punkred
<sub>Timerange: Jan. 2012 till Dec. 2013</sub>
How to handle errors/problems
I will no longer bearing huge error msgs in the comments. Make a ticket for that if you want me to react on that. If there is an error message in the comments i may delete the comment without annotation.
-
View User Profile
-
Send Message
Posted May 17, 2013@Zilacon
You are an unenlightened, ungrateful, disrespectful pretentious shit. Find another plugin or don't use anything at all. Your bitching isn't going to fix the bugs. You child. Have some patience and respect. You didn't pay a dime for this software. Stop acting like you did.
-
View User Profile
-
Send Message
Posted May 17, 2013@eprimex
Says the person with a unsuccessful server without hundreds of players flooding my console with errors.
-
View User Profile
-
Send Message
Posted May 17, 2013also there is source code for a reason... fix the problems yourself if you cant wait for author to fix it
its called LEARN TO CODE JAVA LAZY PEOPLE
this may help
https://www.youtube.com/watch?v=KkMDCCdjyW8
-
View User Profile
-
Send Message
Posted May 16, 2013@Zilacon
Wow dude, you aren't going to be getting helped that way. Be considerate, you are the one using his plugin, he may be busy etc. If you aren't getting heard, pm him or move on.
-
View User Profile
-
Send Message
Posted May 14, 2013Another glorious error:
19:17:37 [SEVERE] Could not pass event PlayerGameModeChangeEvent to LimitedCreative v2.0-SNAPSHOT-328929fb3f org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:363) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:479) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:464) at org.bukkit.craftbukkit.v1_5_R2.entity.CraftPlayer.setGameMode(CraftPlayer.java:559) at com.earth2me.essentials.PlayerExtension.setGameMode(PlayerExtension.java) at com.earth2me.essentials.commands.Commandgamemode.run(Commandgamemode.java:76) at com.earth2me.essentials.commands.EssentialsCommand.run(EssentialsCommand.java:105) at com.earth2me.essentials.Essentials.onCommandEssentials(Essentials.java:432) at com.earth2me.essentials.Essentials.onCommand(Essentials.java:321) at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:189) at org.bukkit.craftbukkit.v1_5_R2.CraftServer.dispatchCommand(CraftServer.java:555) at net.minecraft.network.NetServerHandler.func_72566_d(NetServerHandler.java:1378) at net.minecraft.network.NetServerHandler.chat(NetServerHandler.java:1238) at net.minecraft.network.NetServerHandler.func_72481_a(NetServerHandler.java:1164) at net.minecraft.network.packet.Packet3Chat.func_73279_a(Packet3Chat.java:60) at org.spigotmc.netty.NettyNetworkManager.func_74428_b(NettyNetworkManager.java:189) at net.minecraft.network.NetServerHandler.func_72570_d(NetServerHandler.java:213) at net.minecraft.network.NetworkListenThread.func_71747_b(NetworkListenThread.java:53) at org.spigotmc.netty.NettyServerConnection.func_71747_b(NettyServerConnection.java:68) at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:925) at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:323) at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:793) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:677) at net.minecraft.server.ThreadMinecraftServer.run(SourceFile:573) Caused by: java.lang.ArrayIndexOutOfBoundsException: 676 at org.bukkit.craftbukkit.v1_5_R2.inventory.CraftItemFactory.getItemMeta(CraftItemFactory.java:48) at org.bukkit.craftbukkit.v1_5_R2.inventory.CraftItemFactory.getItemMeta(CraftItemFactory.java:44) at org.bukkit.craftbukkit.v1_5_R2.inventory.CraftItemStack.getItemMeta(CraftItemStack.java:300) at org.bukkit.craftbukkit.v1_5_R2.inventory.CraftItemStack.getItemMeta(CraftItemStack.java:295) at org.bukkit.inventory.ItemStack.serialize(ItemStack.java:481) at org.bukkit.configuration.file.YamlRepresenter$RepresentConfigurationSerializable.representData(YamlRepresenter.java:33) at org.yaml.snakeyaml.representer.BaseRepresenter.representData(BaseRepresenter.java:96) at org.yaml.snakeyaml.representer.BaseRepresenter.representMapping(BaseRepresenter.java:164) at org.yaml.snakeyaml.representer.SafeRepresenter$RepresentMap.representData(SafeRepresenter.java:201) at org.bukkit.configuration.file.YamlRepresenter$RepresentConfigurationSection.representData(YamlRepresenter.java:23) at org.yaml.snakeyaml.representer.BaseRepresenter.representData(BaseRepresenter.java:96) at org.yaml.snakeyaml.representer.BaseRepresenter.representMapping(BaseRepresenter.java:164) at org.yaml.snakeyaml.representer.SafeRepresenter$RepresentMap.representData(SafeRepresenter.java:201) at org.yaml.snakeyaml.representer.BaseRepresenter.representData(BaseRepresenter.java:96) at org.yaml.snakeyaml.representer.BaseRepresenter.represent(BaseRepresenter.java:66) at org.yaml.snakeyaml.Yaml.dumpAll(Yaml.java:270) at org.yaml.snakeyaml.Yaml.dumpAll(Yaml.java:261) at org.yaml.snakeyaml.Yaml.dumpAll(Yaml.java:233) at org.yaml.snakeyaml.Yaml.dump(Yaml.java:209) at org.bukkit.configuration.file.YamlConfiguration.saveToString(YamlConfiguration.java:38) at org.bukkit.configuration.file.FileConfiguration.save(FileConfiguration.java:54) at de.jaschastarke.minecraft.limitedcreative.inventories.store.InvYamlStorage.store(InvYamlStorage.java:55) at de.jaschastarke.minecraft.limitedcreative.inventories.Inventory.save(Inventory.java:57) at de.jaschastarke.minecraft.limitedcreative.ModInventories.onSetGameMode(ModInventories.java:97) at de.jaschastarke.minecraft.limitedcreative.inventories.PlayerListener.onPlayerGameModeChange(PlayerListener.java:48) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:361) ... 25 more
-
View User Profile
-
Send Message
Posted May 12, 2013Hello, I haven't understood correctly how to use the "CommandBlock" feature.
I'm using the last version from this plugin and using CB 1.5.2 and it doesn't work, Checked the permission and the group doesn't have the permission to bypass the cmdblock and they can still using it.
Greetings!
-
View User Profile
-
Send Message
Posted May 9, 2013No fix for this error yet? No i am not going to use pastebin, i did before and it still hasnt been fixed. So i will spam him the same way his plugin is spamming me.
19:19:24 [SEVERE] Could not pass event PlayerGameModeChangeEvent to LimitedCreative v2.0-SNAPSHOT-328929fb3f org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:363) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:39) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:479) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:464) at org.bukkit.craftbukkit.v1_5_R2.entity.CraftPlayer.setGameMode(CraftPlayer.java:559) at com.earth2me.essentials.PlayerExtension.setGameMode(PlayerExtension.java) at com.earth2me.essentials.commands.Commandgamemode.gamemodeOtherPlayers(Commandgamemode.java:99) at com.earth2me.essentials.commands.Commandgamemode.run(Commandgamemode.java:52) at com.earth2me.essentials.commands.EssentialsCommand.run(EssentialsCommand.java:105) at com.earth2me.essentials.Essentials.onCommandEssentials(Essentials.java:432) at com.earth2me.essentials.Essentials.onCommand(Essentials.java:321) at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:189) at org.bukkit.craftbukkit.v1_5_R2.CraftServer.dispatchCommand(CraftServer.java:555) at net.minecraft.network.NetServerHandler.func_72566_d(NetServerHandler.java:1378) at net.minecraft.network.NetServerHandler.chat(NetServerHandler.java:1238) at net.minecraft.network.NetServerHandler.func_72481_a(NetServerHandler.java:1164) at net.minecraft.network.packet.Packet3Chat.func_73279_a(Packet3Chat.java:60) at org.spigotmc.netty.NettyNetworkManager.func_74428_b(NettyNetworkManager.java:189) at net.minecraft.network.NetServerHandler.func_72570_d(NetServerHandler.java:213) at net.minecraft.network.NetworkListenThread.func_71747_b(NetworkListenThread.java:53) at org.spigotmc.netty.NettyServerConnection.func_71747_b(NettyServerConnection.java:68) at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:925) at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:323) at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:793) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:677) at net.minecraft.server.ThreadMinecraftServer.run(SourceFile:573) Caused by: java.lang.IllegalArgumentException: Invalid inventory size; expected 36 or less at org.bukkit.craftbukkit.v1_5_R2.inventory.CraftInventory.setContents(CraftInventory.java:54) at de.jaschastarke.minecraft.limitedcreative.inventories.store.InvConfStorage.load(InvConfStorage.java:50) at de.jaschastarke.minecraft.limitedcreative.inventories.store.InvYamlStorage.load(InvYamlStorage.java:46) at de.jaschastarke.minecraft.limitedcreative.inventories.Inventory.load(Inventory.java:70) at de.jaschastarke.minecraft.limitedcreative.ModInventories.onSetGameMode(ModInventories.java:101) at de.jaschastarke.minecraft.limitedcreative.inventories.PlayerListener.onPlayerGameModeChange(PlayerListener.java:48) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:361) ... 27 more
-
View User Profile
-
Send Message
Posted May 9, 2013Everything is a mess. My bug tester can find so many ways to keep creative inventory out of a zone. By logging out and logging in, by quickly tping away after logging in. It just goes on and on. It got to the point where I had to block every teleportation command. But it seems like there's a bug. Because people are keeping inventories regardless. CB 1.5.1-R0.2 Apr 27, 2013
I have creative down until fix. Creative Control sucks compared to this. It has the features I want but this actually WORKS.
-
View User Profile
-
Send Message
Posted May 6, 2013@Redstoner_Pro Nevermind, I installed a different version and no errors show anymore. I downloaded the wrong version!
-
View User Profile
-
Send Message
Posted May 6, 2013Please add back Preventing Drops + SNAPSHOTS... non of them doesn't work properly. Most of them Inventory switch doesn't even work
-
View User Profile
-
Send Message
Posted May 5, 2013@TheFuriousFire
Hmm, Errors huh. Maybe we can figure out what these errors you have given us mean. NM, It seems you didn't post the errors anywhere for us to see. Guess we cant help unless you help us help you.
-
View User Profile
-
Send Message
Posted May 4, 2013Hi, is it only per region or CAN I do it per WORLDS???? Thanks
-
View User Profile
-
Send Message
Posted May 3, 2013Nice plugin, but sometimes whenever I break some block, the server/console would output lots of errors and then it'll break the block. It just shows the same error but repeatedly show it. EDIT: I'm currently breaking a block, and then the console outputs dozens of errors, the block disappears, then it comes back.
-
View User Profile
-
Send Message
Posted May 1, 2013http://pastebin.com/Nj11DFzg I think this plugin is main reason for huge lag on server. I m not technical but if u compare total time 3105s its too much. even other event log plugins don't take much time. i.e. coreprotect (3s)
-
View User Profile
-
Send Message
Posted Apr 27, 2013Is there a way to prevent survival players in breaking creative blocks. Players placed diamond blocks, and of course, survival players broke it. I still want creative players to be able to place it, just not have survival be able to break it. Same goes for all blocks, or at least a list.
-
View User Profile
-
Send Message
Posted Apr 27, 2013v2.0-5 gives me errors
http://pastebin.com/aR2be2Eu
Had to remove the plugin for now, creative rank owners are not happy! Also it is really annoying that /gm 1 and /gm 0 are the same as /lc c and /lc s... Limited Creative also blocks the items etc. what ever i want to prevent from /lc c users are also gone from /gm 1 (moderators). Which is stupid ..but anyway the error is annoying. fix?
-
View User Profile
-
Send Message
Posted Apr 26, 2013I am interested in using the feature described under the worldgaurd section: optional: let player switch game mode in creative-area (/lc creative/survival) without permission
However, I was unable to find instructions on allowing this. Can anyone help me out?
-
View User Profile
-
Send Message
Posted Apr 26, 2013Remembers if blocks are set by creative players
this laggs my server even with a tps at 20 and 3 players on (tested with 2 more ops). As soon as i disabled it, even with 70 on, no lagg from the plugin
-
View User Profile
-
Send Message
Posted Apr 26, 2013@ljprevo
Give them the bypass nodes in the creative world :D
-
View User Profile
-
Send Message
Posted Apr 25, 2013I only want "Limited Creative" in my Survival worlds. i.e. when I put players in creative in a survival world to help with projects I don't want them to access chest, etc to stock up on stuff.
However, in our native creative world, we want them to be allowed to do anything.
I hope that makes sense. In short is there a setting to opt out certain worlds from the restriction?