Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Плагин [ADMN] ShoppingCart Reloaded 1.2 - плагин для выдачи предметов из БД [1.4.7 - 1.7.2R-0.3]

ShoppingCartReloaded 1.1
http://www.mediafire.com/download/ubzh0m3w6z7gxkt/shopping-cart-reloaded-1.1.jar

Добавлено:
- /cart load (аналог /cart put, только отнимает вещь у игрока)
- Выдача регионов WG и групп пермов (как в 1.5.3)
- Новые пермы: cartr.user.get, cartr.user.list, cartr.useradv.load, cartr.admin.put
- Автоматическое создание таблиц
- Исправлена мультисерверность
- Автоматическая загрузка билиотек: scala library больше не нужен
- NBT для всех версий Minecraft от 1.4.7 до 1.7. Нужен только PowerNBT 0.7.1 Beta

Исходники: https://github.com/limito/ShoppingCartReloaded

При сообщении об ошибках не забывайте прикладывать лог.
это для танкистов.
 
limito, у SCR есть темка или еще что-то, чтоб по всему топику в поисках возможностей не лазить?
 
2014-05-06 14:49:00 [WARNING] [ShoppingCartReloaded] Error setting up DB
java.util.NoSuchElementException: key not found: id
> at scala.collection.MapLike$class.default(MapLike.scala:228)
> at scala.collection.AbstractMap.default(Map.scala:58)
> at scala.collection.MapLike$class.apply(MapLike.scala:141)
> at scala.collection.AbstractMap.apply(Map.scala:58)
> at me.limito.bukkit.shopcart.database.CartItemInfoDao.setupTableAndStatements(CartItemInfoDao.scala:17)
> at me.limito.bukkit.shopcart.ShoppingCartReloaded.initDatabase(ShoppingCartReloaded.scala:96)
> at me.limito.bukkit.shopcart.ShoppingCartReloaded.reload(ShoppingCartReloaded.scala:48)
> at me.limito.bukkit.shopcart.ShoppingCartReloaded.onCommand(ShoppingCartReloaded.scala:123)
> at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44)
> at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:192)
> at org.bukkit.craftbukkit.v1_6_R3.CraftServer.dispatchCommand(CraftServer.java:533)
> at net.minecraft.network.NetServerHandler.func_72566_d(NetServerHandler.java:1405)
> at net.minecraft.network.NetServerHandler.chat(NetServerHandler.java:1269)
> at net.minecraft.network.NetServerHandler.func_72481_a(NetServerHandler.java:1201)
> at net.minecraft.network.packet.Packet3Chat.func_73279_a(Packet3Chat.java:68)
> at net.minecraft.network.TcpConnection.func_74428_b(TcpConnection.java:470)
> at net.minecraft.network.NetServerHandler.func_72570_d(NetServerHandler.java:233)
> at net.minecraft.network.NetworkListenThread.func_71747_b(NetworkListenThread.java:54)
> at net.minecraft.server.dedicated.DedicatedServerListenThread.func_71747_b(DedicatedServerListenThread.java:34)
> at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:910)
> at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:330)
> at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:777)
> at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:659)
> at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16)

ммм , это при cart reload . Все команды просто напросто не работают...
 
2014-05-06 14:49:00 [WARNING] [ShoppingCartReloaded] Error setting up DB
java.util.NoSuchElementException: key not found: id
> at scala.collection.MapLike$class.default(MapLike.scala:228)
> at scala.collection.AbstractMap.default(Map.scala:58)
> at scala.collection.MapLike$class.apply(MapLike.scala:141)
> at scala.collection.AbstractMap.apply(Map.scala:58)
> at me.limito.bukkit.shopcart.database.CartItemInfoDao.setupTableAndStatements(CartItemInfoDao.scala:17)
> at me.limito.bukkit.shopcart.ShoppingCartReloaded.initDatabase(ShoppingCartReloaded.scala:96)
> at me.limito.bukkit.shopcart.ShoppingCartReloaded.reload(ShoppingCartReloaded.scala:48)
> at me.limito.bukkit.shopcart.ShoppingCartReloaded.onCommand(ShoppingCartReloaded.scala:123)
> at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44)
> at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:192)
> at org.bukkit.craftbukkit.v1_6_R3.CraftServer.dispatchCommand(CraftServer.java:533)
> at net.minecraft.network.NetServerHandler.func_72566_d(NetServerHandler.java:1405)
> at net.minecraft.network.NetServerHandler.chat(NetServerHandler.java:1269)
> at net.minecraft.network.NetServerHandler.func_72481_a(NetServerHandler.java:1201)
> at net.minecraft.network.packet.Packet3Chat.func_73279_a(Packet3Chat.java:68)
> at net.minecraft.network.TcpConnection.func_74428_b(TcpConnection.java:470)
> at net.minecraft.network.NetServerHandler.func_72570_d(NetServerHandler.java:233)
> at net.minecraft.network.NetworkListenThread.func_71747_b(NetworkListenThread.java:54)
> at net.minecraft.server.dedicated.DedicatedServerListenThread.func_71747_b(DedicatedServerListenThread.java:34)
> at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:910)
> at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:330)
> at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:777)
> at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:659)
> at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16)

ммм , это при cart reload . Все команды просто напросто не работают...
ммм, у кого-то руки кривые и глаз нет
 
ммм, у кого-то руки кривые и глаз нет
ммм , проблема в том что я просто поставил плагин.Если смотреть пару страниц назад , то увидем что есть автоматическая установка.Еще - это при использывании старой таблицы , от простого шоп карта(таже ошибка).Т.е. он и не ставит таблицу , и не может использывать старую.В итоге он как то захотел вообще работать , но ему нужно было ставить дефаулт ID как авто добовление , а не как просто нулл , или же не будет работать команда put.И это ошибка не при чем ко мне - я просто установил плагин , не более чем.
 
ммм , проблема в том что я просто поставил плагин.Если смотреть пару страниц назад , то увидем что есть автоматическая установка.Еще - это при использывании старой таблицы , от простого шоп карта(таже ошибка).Т.е. он и не ставит таблицу , и не может использывать старую.В итоге он как то захотел вообще работать , но ему нужно было ставить дефаулт ID как авто добовление , а не как просто нулл , или же не будет работать команда put.И это ошибка не при чем ко мне - я просто установил плагин , не более чем.
Код:
CREATE TABLE `shopcart` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `type` varchar(255) NOT NULL DEFAULT 'item',
  `item` varchar(255) NOT NULL,
  `player` varchar(255) NOT NULL,
  `amount` int(11) NOT NULL,
  `extra` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `shopcart_player_idx` (`player`)
);
 
Код:
CREATE TABLE `shopcart` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `type` varchar(255) NOT NULL DEFAULT 'item',
  `item` varchar(255) NOT NULL,
  `player` varchar(255) NOT NULL,
  `amount` int(11) NOT NULL,
  `extra` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `shopcart_player_idx` (`player`)
);
....он должен это сам делать
 
smayl_49804657_orig_.jpeg
Смотрим несколько страниц назад. 17 страница , цитата: "- Автоматическое создание таблиц".Мне кажетса это было не в тему , модяра вызывать?
 
image.png

/cart gui | cartr.user.gui
UPD: исправлен дюп, исправление тут
UPD2: исправлен еще дюп, ссылка на загрузку в шапке темы
// На заметку: в инвентаре можно нажать Alt+1 и предмет под курсором перенесется в первый слот пояса.
 
Последнее редактирование:
Код:
2014-05-11 14:08:17 [INFO] BestMark issued server command: /cart

2014-05-11 14:08:17 [SEVERE] [ShoppingCartReloaded] Error completing request class me.limito.bukkit.shopcart.request.RequestItemsList
me.limito.bukkit.shopcart.database.DaoException: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'player' in 'where clause'
at me.limito.bukkit.shopcart.database.DaoHelper$class.withExceptionHandling(DaoHelper.scala:33)
at me.limito.bukkit.shopcart.database.CartItemInfoDao.withExceptionHandling(CartItemInfoDao.scala:10)
at me.limito.bukkit.shopcart.database.CartItemInfoDao.getItemInfos(CartItemInfoDao.scala:46)
at me.limito.bukkit.shopcart.request.RequestItemsList.handle(RequestItemsList.scala:13)
at me.limito.bukkit.shopcart.request.RequestManager$$anonfun$handleRequest$1$$anon$1$$anonfun$run$1.apply$mcV$sp(RequestManager.scala:23)
at me.limito.bukkit.shopcart.request.RequestManager.withExceptionHandling(RequestManager.scala:37)
at me.limito.bukkit.shopcart.request.RequestManager$$anonfun$handleRequest$1$$anon$1.run(RequestManager.scala:22)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'player' in 'where clause'
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
at com.mysql.jdbc.Util.getInstance(Util.java:382)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2111)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2273)
at com.j256.ormlite.jdbc.JdbcCompiledStatement.runQuery(JdbcCompiledStatement.java:55)
at com.j256.ormlite.stmt.SelectIterator.<init>(SelectIterator.java:55)
at com.j256.ormlite.stmt.StatementExecutor.buildIterator(StatementExecutor.java:247)
at com.j256.ormlite.stmt.StatementExecutor.query(StatementExecutor.java:196)
at com.j256.ormlite.dao.BaseDaoImpl.query(BaseDaoImpl.java:265)
at me.limito.bukkit.shopcart.database.CartItemInfoDao$$anonfun$getItemInfos$1.apply(CartItemInfoDao.scala:54)
at me.limito.bukkit.shopcart.database.CartItemInfoDao$$anonfun$getItemInfos$1.apply(CartItemInfoDao.scala:46)
at me.limito.bukkit.shopcart.database.DaoHelper$class.withExceptionHandling(DaoHelper.scala:31)
... 11 more
Плагин не работает. Версия: 1.6.4.
 
Код:
2014-05-11 14:08:17 [INFO] BestMark issued server command: /cart

2014-05-11 14:08:17 [SEVERE] [ShoppingCartReloaded] Error completing request class me.limito.bukkit.shopcart.request.RequestItemsList
me.limito.bukkit.shopcart.database.DaoException: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'player' in 'where clause'
at me.limito.bukkit.shopcart.database.DaoHelper$class.withExceptionHandling(DaoHelper.scala:33)
at me.limito.bukkit.shopcart.database.CartItemInfoDao.withExceptionHandling(CartItemInfoDao.scala:10)
at me.limito.bukkit.shopcart.database.CartItemInfoDao.getItemInfos(CartItemInfoDao.scala:46)
at me.limito.bukkit.shopcart.request.RequestItemsList.handle(RequestItemsList.scala:13)
at me.limito.bukkit.shopcart.request.RequestManager$$anonfun$handleRequest$1$$anon$1$$anonfun$run$1.apply$mcV$sp(RequestManager.scala:23)
at me.limito.bukkit.shopcart.request.RequestManager.withExceptionHandling(RequestManager.scala:37)
at me.limito.bukkit.shopcart.request.RequestManager$$anonfun$handleRequest$1$$anon$1.run(RequestManager.scala:22)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'player' in 'where clause'
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
at com.mysql.jdbc.Util.getInstance(Util.java:382)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2111)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2273)
at com.j256.ormlite.jdbc.JdbcCompiledStatement.runQuery(JdbcCompiledStatement.java:55)
at com.j256.ormlite.stmt.SelectIterator.<init>(SelectIterator.java:55)
at com.j256.ormlite.stmt.StatementExecutor.buildIterator(StatementExecutor.java:247)
at com.j256.ormlite.stmt.StatementExecutor.query(StatementExecutor.java:196)
at com.j256.ormlite.dao.BaseDaoImpl.query(BaseDaoImpl.java:265)
at me.limito.bukkit.shopcart.database.CartItemInfoDao$$anonfun$getItemInfos$1.apply(CartItemInfoDao.scala:54)
at me.limito.bukkit.shopcart.database.CartItemInfoDao$$anonfun$getItemInfos$1.apply(CartItemInfoDao.scala:46)
at me.limito.bukkit.shopcart.database.DaoHelper$class.withExceptionHandling(DaoHelper.scala:31)
... 11 more
Плагин не работает. Версия: 1.6.4.
Криворукость.
Код:
Unknown column 'player' in 'where clause'
 
> Unknown column 'player' in 'where clause'
Это ответ базы данных, значит, столбца player действительно нет.
Посмотрите plugins/ShoppingCartReloaded/ormlite.log, там будет написано, какие запросы к базе выполнялись. Попробуйте их выполнить вручную и посмотрите, в чем ошибка.
P.S. В таблице нет type и extra, в конфиге следует поставить type: "-", extra: "-".
 
ShoppingCartReloaded 1.2u6
Положил зачарованные вещи в корзину. В таблице появились вот такие записи:
image.png

Вроде всё хорошо, но при попытке получить предметы получаю сообщение "Вы ничего не получили" (не мешало бы ещё само сообщение изменить, если произошла ошибка). В консоли такие дела:
Код:
15:23:32 [WARNING] [ShoppingCartReloaded] Error giving item
net.minecraft.util.ReportedException: Reading NBT data
        at net.minecraft.nbt.NBTTagCompound.func_74765_d(NBTTagCompound.java:222)
        at org.bukkit.craftbukkit.v1_6_R3.inventory.CraftItemStack.addUnsafeEnchantment(CraftItemStack.java:182)
        at me.limito.bukkit.shopcart.items.CartItemItem$$anonfun$stackToGive$1.apply(CartItemItem.scala:27)
        at me.limito.bukkit.shopcart.items.CartItemItem$$anonfun$stackToGive$1.apply(CartItemItem.scala:27)
        at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
        at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:108)
        at me.limito.bukkit.shopcart.items.CartItemItem.stackToGive(CartItemItem.scala:27)
        at me.limito.bukkit.shopcart.items.CartItemItem.giveToPlayer(CartItemItem.scala:18)
        at me.limito.bukkit.shopcart.items.CartItemItem.giveToPlayer(CartItemItem.scala:15)
        at me.limito.bukkit.shopcart.request.RequestGiveAll.me$limito$bukkit$shopcart$request$RequestGiveAll$$giveItem(RequestGiveAll.scala:51)
        at me.limito.bukkit.shopcart.request.RequestGiveAll$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply(RequestGiveAll.scala:31)
        at me.limito.bukkit.shopcart.request.RequestGiveAll$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply(RequestGiveAll.scala:29)
        at scala.collection.immutable.List.foreach(List.scala:318)
        at me.limito.bukkit.shopcart.request.RequestGiveAll$$anonfun$handle$1.apply$mcV$sp(RequestGiveAll.scala:29)
        at me.limito.bukkit.shopcart.request.Request$$anon$1.run(Request.scala:27)
        at org.bukkit.craftbukkit.v1_6_R3.scheduler.CraftTask.run(CraftTask.java:58)
        at org.bukkit.craftbukkit.v1_6_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:345)
        at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:822)
        at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:330)
        at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:777)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:659)
Caused by: java.lang.ClassCastException: net.minecraft.nbt.NBTTagString cannot be cast to net.minecraft.nbt.NBTTagShort
   at net.minecraft.nbt.NBTTagCompound.func_74765_d(NBTTagCompound.java:218)
   ... 21 more
- Если удалить чары из колонки с ID предмета - предмет выдаётся, но от этого вылетает клиент.
- Если очистить extra - предмет выдаётся без каких-либо проблем
- Зачарованные книги помещаются в корзину корректно, но выдаются без зачаровываний (ошибок при этом никаких нет).

@DPOH-VAR
 
Последнее редактирование:

Поделиться этой страницей

Назад
Верх