Craftable Backpacks
Craftable Backpacks
This plugin adds a craftable backpack with 18 slots by default. The size can be changed. The client doesn't need any mods. Everything is manged by the server.
Crafting
This is the default crafting recipe:
You can change it in the crafting.txt file.
Update Annotation
If you are a new user of this plugin you can skip this point.
Configuration Changes
You need to put the following lines into you config.yml file, if they are not already there:
BackPackMaterial: LEATHER
DropBackpackContentOnDeath: true
You can do this by copying this line into the config if you have individual settings or by deleting the old config to get a new one.
UniqueId instead of Name
In the Minecraft News you can read: "We have pushed out an update that supports name changes, however we will not allow name changes until a future date."
That means plugin developers new have to use UUIDs (=UniqueId), because Name won't be static anymore. I changed the way the plugin saves the backpacks from the player's name to the player's UUID. As a result of this the plugin versions 1.2 and below wont be able to open Backpacks from the versions 1.3 (and higher). Of course the verison 1.3 will translate the old backpacks into the new format.
Features
- Craftable Backpack
- Resizable
- Can be opened by command(needs OP) or by rightclicking with the backpack
- Can be disabled in specific worlds.
- Crafting recipe can be changed.
- Saves automatically
- Backpacks can be grouped.
- Changeable item and durability
- If wished, drops content on death
Commands and Permissions
Command | Function | Permission |
---|---|---|
/backpack | Opens your backpack. | backpack.open.command.own |
/backpack <Owner> | Opens the backpack of the given player. | backpack.open.command.other |
/giveBackpack | Gives you a backpack. | backpack.give.self |
/giveBackpack <Player> | Gives the given player a backpack. | backpack.give.other |
/reloadBackpack | Reloads the plugin. | backpack.reload |
Configuration
The plugin automatically creates a config with the default settings. You can edit this file if you want (the old backpacks might not work with the new settings). If you want to reset your config simply delete it.
Permissions
Here are all permissions you can use:
Permission | Default |
---|---|
backpack.craft | true |
backpack.open.item | true |
backpack.open.command.own | OP |
backpack.open.command.other | OP |
backpack.give.self | OP |
backpack.give.other | OP |
backpack.reload | OP |
backpack.size.X (1 <= X <= 6) | false |
More information to backpack.size.X can be found in the next paragraph.
Resizing the Backpack
You can change the size of the backpack:
Minimum: 1 row
Maximum: 6 rows
If you want specific groups to have different backpack sizes you can give them permissions from backpack.size.1 to backpack.size.6.
If a player has more than one backpack.size.X permission the highest will be used. If a player has no such permission the size definded in the config will be used. Whenever I say size I mean the size of the backpack in rows.
Changing the Crafting Recipe
You can edit the crafting recipe of the backpack in the crafting.txt file.
It looks like this by default:
L=LEATHER
C=CHEST
LLL
LCL
LLL
If you want to change it pay attention to these points:
- Dont write more than one "information" in one line.
- In the recipe space acts like air.
- You dont need a 3x3 recipe like here, it can be everything between 1x1 and 3x3. The width and the height don't need to be the same.
- If you don't know the exact name of a item, you can also use the ID.
- Use only one character in front of each "=".
- Don't put empty lines in the file.
If you want to disable the crafting for a user set the permission backpack.craft to false for him.
Changing the Item Material
You can change the item material of the backpack, but all backpacks created with another(the old) Material will still be usable.
If you dont want previous backpacks to be usable you have to change the durability in the config.
You can use (placeable) blocks as item, they wont be places when the user opens the backpack, but you should pay attention to the durability: Blocks only can use a few numbers for durabilitys, most only allow zero, but e.g. the skull-block's durability can be higher than 0 and changes the skull-type.
Banning Worlds
If you want to disable using the backpack in a world, put the name of the world in the bannedWorlds.txt file. You can get the name of the world, by reading the name of the folder in which the world data is saved. Don't put more than one name in one line.
Grouping Backpacks
You can group backpacks by creating a file with the group name as file name(you can add ".txt") in the "groups" directory. In this file you can put as many world names as you want, but don't put more than one name in one line. If you don't know the name of the world, read the previous paragraph. The backpacks saved in a group are bound to the group name, so don't change it, if you don't want to reset the backpacks. Every world, that is not in a group or banned, uses the same backpacks as all worlds that are not in group. Don't put a world in more than one group.
Usage
This can be used e.g. if you have a skyblock world, and you don't want your players to transport items via backpack into this world from the normal world.
Attention
If editing the folder in which you are running the server needs admin rights, the plugin can't work, as it has to create a own folder in the "/plugins" Folder, where it saves important data as the config and the backpacks. Prevent using special characters in the config, otherwise the plugin could not be able to load.
Support
Please write a comment if you have any problems with the plugin or detected a bug. Please send me your server.log file if there was a exception. Your log file could be very big if you often use your bukkit server. If this is the case please send me only parts, which are similar to this picture, because they're interesting for me.
Please Update the plugin to the new versions of Minecraft. He is in truth an excellent and it is no substitute
Hi! Do you plan to update to version 1.9 and 1.10? Your plugin is really great, I hope it will be update :)
i craft one for me but the players can't even me ican't craft more then one
@willis1030
I'll see what I can do when I got some time
@TimTheTimeLord
The backpacks actually work like enderchests ;)
Can you retrieve old backpacks by making your new backpack back to say backpack-1 to see the items in your other backpack-1 so they work like enderchests and hold the items in the void?
Open other player's backpack when they are offline! please! (I'm an op).
Will be totally awesome to customize the name and lore of this item as other lenguages :) Nice plugin!
@Cldfire
I'm glad you like it, thanks for your feedback! :)
Currently using this plugin on Spigot 1.8.8. I've been using it since 1.7.2. Absolutely love it! Best backpack plugin in my opinion.
Thanks Karabin!
@PolskiRiko
First of all sorry for responding so late, I've been busy for a while. With the help of the protocol I could figgure out a mistake in the code and I'll fix it, but it could take up to a few days until the new version is approved and can be downloaded. Please tell me if problem wen't away with the new version or if something else does no work :)
@Karabin10203 J have a problem: (spigot 1.7 - 1.8 protocol hack)
[17:35:48 ERROR]: Could not pass event PrepareItemCraftEvent to Backpack v1.9 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:509) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:494) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at net.dzikoysk.wildskript.objects.recipe.ResultEvent.onInventoryClick(ResultEvent.java:49) [WildSkript.jar:?] at sun.reflect.GeneratedMethodAccessor518.invoke(Unknown Source) [?:?] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:1.7.0_79] at java.lang.reflect.Method.invoke(Method.java:606) [?:1.7.0_79] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:298) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:509) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:494) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at net.minecraft.server.v1_7_R4.PlayerConnection.a(PlayerConnection.java:1477) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at net.minecraft.server.v1_7_R4.PacketPlayInWindowClick.a(PacketPlayInWindowClick.java:15) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at net.minecraft.server.v1_7_R4.PacketPlayInWindowClick.handle(PacketPlayInWindowClick.java:65) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at net.minecraft.server.v1_7_R4.NetworkManager.a(NetworkManager.java:186) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at net.minecraft.server.v1_7_R4.ServerConnection.c(ServerConnection.java:81) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:734) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [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] Caused by: java.lang.NullPointerException at karabin.backpack.EventListener.onPreItemCraft(EventListener.java:283) [?:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [?:1.7.0_79] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [?:1.7.0_79] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:1.7.0_79] at java.lang.reflect.Method.invoke(Method.java:606) [?:1.7.0_79] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:298) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] ... 21 more [17:35:49 ERROR]: Could not pass event PrepareItemCraftEvent to Backpack v1.9 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:509) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:494) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at net.dzikoysk.wildskript.objects.recipe.ResultEvent.onInventoryClick(ResultEvent.java:49) [WildSkript.jar:?] at sun.reflect.GeneratedMethodAccessor518.invoke(Unknown Source) [?:?] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:1.7.0_79] at java.lang.reflect.Method.invoke(Method.java:606) [?:1.7.0_79] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:298) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:509) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:494) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at net.minecraft.server.v1_7_R4.PlayerConnection.a(PlayerConnection.java:1477) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at net.minecraft.server.v1_7_R4.PacketPlayInWindowClick.a(PacketPlayInWindowClick.java:15) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at net.minecraft.server.v1_7_R4.PacketPlayInWindowClick.handle(PacketPlayInWindowClick.java:65) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at net.minecraft.server.v1_7_R4.NetworkManager.a(NetworkManager.java:186) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at net.minecraft.server.v1_7_R4.ServerConnection.c(ServerConnection.java:81) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:734) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [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] Caused by: java.lang.NullPointerException at karabin.backpack.EventListener.onPreItemCraft(EventListener.java:283) [?:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [?:1.7.0_79] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [?:1.7.0_79] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:1.7.0_79] at java.lang.reflect.Method.invoke(Method.java:606) [?:1.7.0_79] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:298) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] ... 21 more
Please fix this error :/
@madprofessor83
Actually I have no idea how this plugin could be causing that problem. What is the exact version of your server? Maybe the plugin is not compatible with it.
So I have a strange bug. And I have verified it is this plugin. I went a while without it and didn't see this then when I added it back, it came back. I get a glitch where the nether dragon will appear in the overworld sitting in one position flapping. It can't be damaged and it changes location but the same position. It's not just me, it's others on my server. What could be causing this?
@Ciryond
Merci :D Je comprends un peu de français mais pas tout ;)
Hello, I have make a video in french : https://www.youtube.com/watch?v=YEmUFE2la9Y
@TheFalconPunch123
Oh wait nevermind i figured it out
How do we change the leather to a leather chestplate? do i need to add any hyphens or underscores in the config?
@z65703071
I'll give my best, but I dont think I will be able to to this instantly ;)
Please add support for region.