Giter Site home page Giter Site logo

stackstrage's People

Contributors

daisukedaisuke avatar poggit-bot avatar ree-jp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

stackstrage's Issues

suggestion

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

Crash

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) {

スタックストレージ内のアイテムを素早く移動/連打する事による、アイテム増殖バグ

素早いアイテム移動による増殖バグ

再現手順

  • スタックストレージに64個(128個)未満のアイテムを格納します。
  • 素早く、複数回にわたり、アイテムを別スロットに移動します。
  • 一時的ではないアイテムの増殖を確認します。
    https://youtu.be/GRLxcjIlbn8

アイテムの連打による増殖バグ

再現手順
(おそらく、インベントリトランザクション失敗によるバグだと思います...)

  • スタックストレージに64個(128個)未満のアイテムを格納します
  • 素早くアイテムを連打します。
  • インベントリトランザクション関連のログ表示、一時的ではないアイテムの増殖を確認します。
 Actions: [{"sourceType":0,"windowId":124,"sourceFlags":0,"inventorySlot":0,"oldItem":{},"newItem":{}},{"sourceType":0,"windowId":25,"sourceFlags":0,"inventorySlot":0,"oldItem":{},"newItem":{}}]

https://youtu.be/PMl-JkInNHw

Bug

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….

suggestion

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

crash

English

Client crashes when selecting and closing a book from storage

Japanese

ストレージから本を選択して閉じたときクライアントがクラッシュします

Commands do not implement PluginIdentifiableCommand

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 🙃

API to get the number of items in the stack storage or please add simple api document

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();
日本語 - Japanese

スタックストレージ内に存在するアイテム数を取得するAPI、または簡単なapiドキュメントを追加していただく事は可能でしょうか...?

現在、スタックストレージ内のアイテム状況を取得する事に関しては、困難です。
つきましては、以下のapi等を追加していただく事は可能でしょうか...?

StackStorageAPI::getCount();

連続したアイテムを収納/取り出しによる、アイテム増殖/消滅バグ

再現方法

  • /stackstorageを実行し、スタックストレージguiを開きます
  • シフトキーを長押しした状態にて、データーベース書き込みより素早くアイテムの収納、取り出しを実施します。
  • 操作完了後、アイテムの増殖/消滅を確認します。
    https://youtu.be/mPfdNM255Ek

取り出し(アイテム一時消滅)
素早くアイテムを取り出す事により、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==

error

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

Suggestion

Player can't open stackstorage if player is in creative

Request

If you can add permission per page of items exemple:
stackstorage.max.1 = Max 1 page
stackstorage.max.1 = Max 2 page

Not loaded

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)

Bug

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

https://youtu.be/7mANDUHpN8U

PiggyCustomEnchants support pls

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

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.