ree-jp-minecraft / stackstrage Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
add a staff permission to view inside other players storage and another permission for staff to be able to edit
i will not install this on my server unless it has a feature like this BECAUSE this would be a good way for players to hide banned or hacked items
PocketMine-MP Crash Dump Mon May 9 10:53:57 UTC 2022
PocketMine-MP version: 4.3.1 [Protocol 503]
Git commit: f7dce4af8802ce28a8286e1c8002af19cf986c62
PHP version: 8.0.17
OS: Linux, linux
THIS CRASH WAS CAUSED BY A PLUGIN
BAD PLUGIN: StackStorage
Error: Undefined array key "nbt_b64"
File: plugins/StackStorage_v1.3.3/src/ree_jp/stackstorage/api/StackStorageAPI
Line: 93
Type: ErrorException
Backtrace:
#0 plugins/StackStorage_v1.3.3/src/ree_jp/stackstorage/api/StackStorageAPI(93): pocketmine\errorhandler\ErrorToExceptionHandler::handle(integer 2, string[29] Undefined array key "nbt_b64", string[91] /home/container/plugins/StackStorage_v1.3.3/src/ree_jp/stackstorage/api/StackSto, integer 93)
#1 plugins/StackStorage_v1.3.3/src/ree_jp/stackstorage/StackStorageService(127): ree_jp\stackstorage\api\StackStorageAPI->add(string[16] 2535447776199012, object pocketmine\item\BlazeRod#243555)
#2 plugins/StackStorage_v1.3.3/src/ree_jp/stackstorage/libs/muqsit/invmenu/InvMenu(166): ree_jp\stackstorage\StackStorageService->onTransaction(object ree_jp\stackstorage\libs\muqsit\invmenu\transaction\SimpleInvMenuTransaction#245700)
#3 plugins/StackStorage_v1.3.3/src/ree_jp/stackstorage/libs/muqsit/invmenu/InvMenuEventHandler(105): ree_jp\stackstorage\libs\muqsit\invmenu\InvMenu->handleInventoryTransaction(object pocketmine\player\Player#245070, object pocketmine\item\ItemBlock#217835, object pocketmine\item\BlazeRod#242250, object pocketmine\inventory\transaction\action\SlotChangeAction#247431, object pocketmine\inventory\transaction\InventoryTransaction#138010)
#4 pmsrc/src/event/RegisteredListener(75): ree_jp\stackstorage\libs\muqsit\invmenu\InvMenuEventHandler->onInventoryTransaction(object pocketmine\event\inventory\InventoryTransactionEvent#211411)
#5 pmsrc/src/event/Event(62): pocketmine\event\RegisteredListener->callEvent(object pocketmine\event\inventory\InventoryTransactionEvent#211411)
#6 pmsrc/src/inventory/transaction/InventoryTransaction(294): pocketmine\event\Event->call()
#7 pmsrc/src/inventory/transaction/InventoryTransaction(312): pocketmine\inventory\transaction\InventoryTransaction->callExecuteEvent()
#8 pmsrc/src/network/mcpe/handler/InGamePacketHandler(403): pocketmine\inventory\transaction\InventoryTransaction->execute()
#9 pmsrc/src/network/mcpe/handler/InGamePacketHandler(298): pocketmine\network\mcpe\handler\InGamePacketHandler->handleNormalTransaction(object pocketmine\network\mcpe\protocol\types\inventory\NormalTransactionData#162322)
#10 plugins/VanillaX_v3.0.0/src/CLADevs/VanillaX/network/InGamePacketHandlerX(205): pocketmine\network\mcpe\handler\InGamePacketHandler->handleInventoryTransaction(object pocketmine\network\mcpe\protocol\InventoryTransactionPacket#161356)
#11 pmsrc/vendor/pocketmine/bedrock-protocol/src/InventoryTransactionPacket(105): CLADevs\VanillaX\network\InGamePacketHandlerX->handleInventoryTransaction(object pocketmine\network\mcpe\protocol\InventoryTransactionPacket#161356)
#12 pmsrc/src/network/mcpe/NetworkSession(398): pocketmine\network\mcpe\protocol\InventoryTransactionPacket->handle(object CLADevs\VanillaX\network\InGamePacketHandlerX#206569)
#13 pmsrc/src/network/mcpe/NetworkSession(361): pocketmine\network\mcpe\NetworkSession->handleDataPacket(object pocketmine\network\mcpe\protocol\InventoryTransactionPacket#161356, string[49] .................................................)
#14 pmsrc/src/network/mcpe/raklib/RakLibInterface(192): pocketmine\network\mcpe\NetworkSession->handleEncoded(string[24] 3.c``b...p..........<.a.)
#15 pmsrc/vendor/pocketmine/raklib-ipc/src/RakLibToUserThreadMessageReceiver(42): pocketmine\network\mcpe\raklib\RakLibInterface->onPacketReceive(integer 0, string[33] ..9..(.vB.....i..z.~.ow{..nzH`.a.)
#16 pmsrc/src/network/mcpe/raklib/RakLibInterface(122): raklib\server\ipc\RakLibToUserThreadMessageReceiver->handle(object pocketmine\network\mcpe\raklib\RakLibInterface#103271)
#17 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(123): pocketmine\network\mcpe\raklib\RakLibInterface->pocketmine\network\mcpe\raklib{closure}()
#18 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(82): pocketmine\snooze\SleeperHandler->processNotifications()
#19 pmsrc/src/Server(1661): pocketmine\snooze\SleeperHandler->sleepUntil(double 1652093637.9846)
#20 pmsrc/src/Server(1047): pocketmine\Server->tickProcessor()
#21 pmsrc/src/PocketMine(304): pocketmine\Server->__construct(object BaseClassLoader#2, object pocketmine\utils\MainLogger#3, string[16] /home/container/, string[24] /home/container/plugins/)
#22 pmsrc/src/PocketMine(327): pocketmine\server()
#23 pmsrc(11): require(string[60] phar:///home/container/PocketMine-MP.phar/src/PocketMine.php)
Code:
[84] */
[85] public function add(string $xuid, Item $item): void
[86] {
[87] $item = $this->setStoredNbtTag($item);
[88] if (!$item instanceof Item) return;
[89]
[90] $storage = $this->getStorage($xuid);
[91] if ($storage instanceof StackStorageService) {
[92] $has = false;
[93] $json = $item->jsonSerialize()["nbt_b64"] ?: null;
[94] foreach ($storage->items as $key => $storageItem) {
[95] if ($storageItem->equals($item)) {
[96] $storageJson = $storageItem->jsonSerialize()["nbt_b64"] ?: null;
[97] if ($json !== $storageJson) continue;
[98]
[99] $has = true;
[100] $storage->items[$key] = $storageItem->setCount($item->getCount() + $storageItem->getCount());
[101] }
[102] }
[103] if (!$has) {
I bro, i have found a biiig dupilication bug, i play on mobile idk if this occure on pc & consoles but you can see that on this private vidéo https://youtu.be/XcGoknSfo_c
再現手順
再現手順
(おそらく、インベントリトランザクション失敗によるバグだと思います...)
Actions: [{"sourceType":0,"windowId":124,"sourceFlags":0,"inventorySlot":0,"oldItem":{},"newItem":{}},{"sourceType":0,"windowId":25,"sourceFlags":0,"inventorySlot":0,"oldItem":{},"newItem":{}}]
Hi bro, i have the same problem with one chest i have one chest on top of my player, i can’t open the storage on Converted World but i can in pocketmine world….
add permissions for players to have a custom amount of pages, so if they have the perm node sstorage.pages.1 they can only use 1 page in the storage but if they have sstorage.pages.5 they can use up to 5 pages
Client crashes when selecting and closing a book from storage
ストレージから本を選択して閉じたときクライアントがクラッシュします
This prevents Poggit from detecting the command, and hence the plugin cannot be searched at https://poggit.pmmp.io/cmds
This is not a critical issue, so your plugin is not immediately rejected. However, please make sure this issue is resolved in your next update.
This issue was created via GitHub API automatically, but you are welcome to reply to this issue to contact me. Sorry about not reading the CONTRIBUTING.md in this repo 🙃
Currently, it is difficult to get the number of items in the stack storage.
Therefore, can you add the following api or something similar?
StackStorageAPI::getCount();
スタックストレージ内に存在するアイテム数を取得するAPI、または簡単なapiドキュメントを追加していただく事は可能でしょうか...?
現在、スタックストレージ内のアイテム状況を取得する事に関しては、困難です。
つきましては、以下のapi等を追加していただく事は可能でしょうか...?
StackStorageAPI::getCount();
再現方法
取り出し(アイテム一時消滅)
素早くアイテムを取り出す事により、pmmp側インベントリとクライアント側インベントリに相違は生じる為と推測します...
アイテム一時消滅時、デバックログ
Failed to execute inventory transaction from Radish12345a: Action pocketmine\inventory\transaction\action\CreativeInventoryAction is not valid in the current transaction
[21:45:01] [Server thread/DEBUG]: Actions: [{"sourceType":0,"windowId":0,"sourceFlags":0,"inventorySlot":26,"oldItem":{},"newItem":{}},{"sourceType":3,"windowId":null,"sourceFlags":0,"inventorySlot":1,"oldItem":{},"newItem":{}}]
[21:45:01] [Server thread/DEBUG]: Unhandled InventoryTransactionPacket received from Radish12345a: HgAAAgAAGgAKQAAAAMRaTf//AQoAAAoHAGRpc3BsYXkJBABMb3JlCAIAAAAFAENvdW50AwAxMjgACBYAc3RhY2tzdG9yYWdlX3N0b3JlX25idAAAAAAAAAAAAAAAAwEKQAAAAMRaTf//AQoAAAoHAGRpc3BsYXkJBABMb3JlCAIAAAAFAENvdW50AwAxMjgACBYAc3RhY2tzdG9yYWdlX3N0b3JlX25idAAAAAAAAAAAAAAAAA==
Stack storage error
Detail: Unknow nbt tag type 207 with iron armor enchant protection 1 i can upload a short ytb video if you need
Player can't open stackstorage if player is in creative
Internal servor error when i join, 25 error in console.
I have try in other world, my world and in my other world (converted java world) this working in normal world but the bug is in world converted https://youtu.be/Sj93X-jBhNk
If you can add permission per page of items exemple:
stackstorage.max.1 = Max 1 page
stackstorage.max.1 = Max 2 page
Hello,
I wanted to use your plugin in YAML version but as soon as I took an item in my inventory, the server crashed: /
223 | 2021-09-14 [00:21:24] [Server thread/CRITICAL]: ree_jp\stackStorage\libs\poggit\libasynql\ConfigException: "Config problem: Database settings are missing or incorrect" (EXCEPTION) in "plugins/StackStrage.phar/src/ree_jp/stackStorage/libs/poggit/libasynql/libasynql" at line 77
224 | 2021-09-14 [00:21:24] [Server thread/CRITICAL]: #0 plugins/StackStrage.phar/src/ree_jp/stackStorage/sql/StackStorageHelper(29): ree_jp\stackStorage\libs\poggit\libasynql\libasynql::create(object ree_jp\StackStorage\StackStoragePlugin, boolean , array[2])
225 | 2021-09-14 [00:21:24] [Server thread/CRITICAL]: #1 plugins/StackStrage.phar/src/ree_jp/stackStorage/StackStoragePlugin(30): ree_jp\stackStorage\sql\StackStorageHelper->__construct(object ree_jp\StackStorage\StackStoragePlugin, string[76] /home/gameserver/servers/serveur7/minecraftbedrock/plugin_data/StackStorage/)
226 | 2021-09-14 [00:21:24] [Server thread/CRITICAL]: #2 pmsrc/src/pocketmine/plugin/PluginBase(116): ree_jp\StackStorage\StackStoragePlugin->onEnable()
227 | 2021-09-14 [00:21:24] [Server thread/CRITICAL]: #3 pmsrc/src/pocketmine/plugin/PluginManager(552): pocketmine\plugin\PluginBase->setEnabled(boolean 1)
228 | 2021-09-14 [00:21:24] [Server thread/CRITICAL]: #4 pmsrc/src/pocketmine/Server(1785): pocketmine\plugin\PluginManager->enablePlugin(object ree_jp\StackStorage\StackStoragePlugin)
229 | 2021-09-14 [00:21:24] [Server thread/CRITICAL]: #5 pmsrc/src/pocketmine/Server(1771): pocketmine\Server->enablePlugin(object ree_jp\StackStorage\StackStoragePlugin)
230 | 2021-09-14 [00:21:24] [Server thread/CRITICAL]: #6 pmsrc/src/pocketmine/Server(1584): pocketmine\Server->enablePlugins(integer 1)
231 | 2021-09-14 [00:21:24] [Server thread/CRITICAL]: #7 pmsrc/src/pocketmine/PocketMine(314): pocketmine\Server->__construct(object BaseClassLoader, object pocketmine\utils\MainLogger, string[51] /home/gameserver/servers/serveur7/minecraftbedrock/, string[59] /home/gameserver/servers/serveur7/minecraftbedrock/plugins/)
232 | 2021-09-14 [00:21:24] [Server thread/CRITICAL]: #8 pmsrc/src/pocketmine/PocketMine(344): pocketmine\server()
233 | 2021-09-14 [00:21:24] [Server thread/CRITICAL]: #9 pmsrc(11): require(string[106] phar:///home/gameserver/servers/serveur7/minecraftbedrock/PocketMine-MP.phar/src)
| 1 line
235 | 2021-09-14 [00:21:24] [Server thread/CRITICAL]: Error: "Typed static property ree_jp\stackStorage\sql\StackStorageHelper::$instance must not be accessed before initialization" (EXCEPTION) in "plugins/StackStrage.phar/src/ree_jp/stackStorage/StackStoragePlugin" at line 52
236 | 2021-09-14 [00:21:24] [Server thread/CRITICAL]: #0 pmsrc/src/pocketmine/plugin/PluginBase(118): ree_jp\StackStorage\StackStoragePlugin->onDisable()
237 | 2021-09-14 [00:21:24] [Server thread/CRITICAL]: #1 pmsrc/src/pocketmine/plugin/PluginManager(639): pocketmine\plugin\PluginBase->setEnabled(boolean )
238 | 2021-09-14 [00:21:24] [Server thread/CRITICAL]: #2 pmsrc/src/pocketmine/plugin/PluginManager(559): pocketmine\plugin\PluginManager->disablePlugin(object ree_jp\StackStorage\StackStoragePlugin)
239 | 2021-09-14 [00:21:24] [Server thread/CRITICAL]: #3 pmsrc/src/pocketmine/Server(1785): pocketmine\plugin\PluginManager->enablePlugin(object ree_jp\StackStorage\StackStoragePlugin)
240 | 2021-09-14 [00:21:24] [Server thread/CRITICAL]: #4 pmsrc/src/pocketmine/Server(1771): pocketmine\Server->enablePlugin(object ree_jp\StackStorage\StackStoragePlugin)
241 | 2021-09-14 [00:21:24] [Server thread/CRITICAL]: #5 pmsrc/src/pocketmine/Server(1584): pocketmine\Server->enablePlugins(integer 1)
242 | 2021-09-14 [00:21:24] [Server thread/CRITICAL]: #6 pmsrc/src/pocketmine/PocketMine(314): pocketmine\Server->__construct(object BaseClassLoader, object pocketmine\utils\MainLogger, string[51] /home/gameserver/servers/serveur7/minecraftbedrock/, string[59] /home/gameserver/servers/serveur7/minecraftbedrock/plugins/)
243 | 2021-09-14 [00:21:24] [Server thread/CRITICAL]: #7 pmsrc/src/pocketmine/PocketMine(344): pocketmine\server()
244 | 2021-09-14 [00:21:24] [Server thread/CRITICAL]: #8 pmsrc(11): require(string[106] phar:///home/gameserver/servers/serveur7/minecraftbedrock/PocketMine-MP.phar/src)
If you want fix this little bug, when you place next page or back page in storage of double chest, you got this arrow with this name next/back page on your storrage and you can duplicate this
Little video for understand better
Pls i need help whit this:
07.05 15:00:58 [Server] Server thread/ERROR >> StackStorage error
07.05 15:00:58 [Server] Server thread/ERROR >> Details : enchant not found/plugins/StackStrage-master/src/ree_jp/stackStorage/sqlite/StackStorageHelper.php213
For some strange reason it stopped working for some users but it worked correctly before.
I think it is due to the enchantments of piggycustomenchants, please my users have disappeared the objects for those enchantments
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.