.github/workflows | ||
api | ||
assembly | ||
internal | ||
plugin | ||
scripts | ||
.gitignore | ||
LICENSE.txt | ||
pom.xml | ||
README.MD |
Notice
I am now maintaining OpenInv over at Jikoo/OpenInv because I needed higher levels of access to add secrets to the repository for Github Actions. It feels ruder to send an email saying what amounts to "pls op" than to redirect people to my fork, though neither option is polite. Existing issues will remain open here until resolved (you can't transfer issues across organizations/users), but any new issues in this repo will be closed without resolution.
About
OpenInv is a Bukkit plugin which allows users to open and edit anyone's inventory or ender chest - online or not!
Features
- OpenInv: Open anyone's inventory, even if they're offline.
- Read-only mode! No edits allowed! Don't grant the permission
OpenInv.editinv
- Cross-world support! Don't grant
OpenInv.crossworld
- No self-opening! Don't grant
OpenInv.openself
- Drop items as the player! Place items in the unused slots to the right of the armor to drop them
- Read-only mode! No edits allowed! Don't grant the permission
- OpenEnder: Open anyone's ender chest, even if they're offline.
- Read-only mode! No edits allowed! Don't grant
OpenInv.editender
- Cross-world support! Don't grant
OpenInv.crossworld
- No opening others! Don't grant
OpenInv.openenderall
- Read-only mode! No edits allowed! Don't grant
- SilentContainer: Open containers without displaying an animation or making sound.
- AnyContainer: Open containers, even if blocked by ocelots or blocks.
Commands
Command | Aliases | Description |
---|---|---|
/openinv [player] | oi, inv, open | Open a player's inventory. If unspecified, will select last player opened or own if none opened previously. |
/openender [player] | oe | Open a player's ender chest. If unspecified, will select last player opened or own if none opened previously. |
/searchinv <item> [minAmount] | si | Lists all online players that have a certain item in their inventory. |
/searchender <item> [minAmount] | se | Lists all online players that have a certain item in their ender chest. |
/searchenchant <[enchantment] [MinLevel]> | searchenchants | Lists all online players with a specific enchantment. |
/anycontainer [check] | ac, anychest | Check or toggle the AnyContainer function, allowing opening blocked containers. |
/silentcontainer [check] | sc, silentchest | Check or toggle the SilentContainer function, allowing opening containers silently. |
Permissions
Node | Description |
---|---|
OpenInv.* | Gives permission to use all of OpenInv. |
OpenInv.openinv | Required to use /openinv. |
OpenInv.openself | Required to open own inventory. |
OpenInv.editinv | Required to make changes to open inventories. |
OpenInv.openonline | Allows users to open online players' inventories. For compatibility reasons this is granted by the nodes OpenInv.openinv and OpenInv.openender. |
OpenInv.openoffline | Allows users to open offline players' inventories. For compatibility reasons this is granted by the nodes OpenInv.openinv and OpenInv.openender. |
OpenInv.openender | Required to use /openender. |
OpenInv.editender | Required to make changes to open ender chests. |
OpenInv.openenderall | Allows users to open others' ender chests. Without it, users can only open their own. |
OpenInv.exempt | Prevents the player's inventory being opened by others. |
OpenInv.override | Allows bypassing of the exempt permission. |
OpenInv.crossworld | Allows cross-world usage of /openinv and /openender. |
OpenInv.search | Required to use /searchinv and /searchender. |
OpenInv.searchenchant | Required to use /searchenchant. |
OpenInv.anychest | Required to use /anychest. |
OpenInv.any.default | Cause AnyContainer to be enabled by default. |
OpenInv.silent | Required to use /silentcontainer. |
OpenInv.silent.default | Cause SilentContainer to be enabled by default. |
OpenInv.spectate | Allows users in spectate gamemode to edit inventories. |
For Developers
To compile, the relevant Craftbukkit/Spigot jars must be installed in your local repository using the install plugin.
Ex: mvn install:install-file -Dpackaging=jar -Dfile=spigot-1.8-R0.1-SNAPSHOT.jar -DgroupId=org.spigotmc -DartifactId=spigot -Dversion=1.8-R0.1-SNAPSHOT
To compile for a single version, specify the NMS revision you are targeting: mvn -pl <NMS module> -am clean install
To compile for a set of versions, you'll need to use a profile. The only provided profile is all
. Select a profile using the -P
argument: mvn clean package -am -P all
For more information, check out the official Maven guide.
The final file is target/OpenInv.jar
License
Copyright (C) 2011-2020 lishid. All rights reserved.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, version 3.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.