Bug提示:注意,请不要在将个人物品放入任意槽位后选择交易。可能会导致个人物品消失。具体原因仍在排查中
文件位置:config/imyvm_villagershop.conf
core {
# 指定显示语言
language="zh_cn"
tax {
# 玩家补货时的税率
restock=0.01
}
# 数据库相关设置
database {
# 数据库类型,支持 "POSTGRESQL" , "MYSQL" , "ORACLE" 以及 "SQLSERVER"
# 只有 POSTGRESQL 确认可用,其余理论可行
database=POSTGRESQL
# 数据库地址,默认为 POSTGRESQL
# mysql相关地址 : jdbc:mysql://localhost:3306/imyvmvillagershop
# 或 Oracle : jdbc:oracle:thin:@//localhost:1521/imyvmvillagershop
# 或 SQL Server : jdbc:sqlserver://localhost:32768;databaseName=imyvmvillagershop
# 如果均不可用,插件会在world文件夹下自动生成Sqlite数据库文件
url="jdbc:pgsql://localhost:5432/imyvmvillagershop"
# 数据库用户名
username=root
# 数据库密码
password="1145141919810"
# 仅在MySQL数据库生效,用来调整Hikari池的大小
maximumPoolSize=10
}
}
管理员可以使用/villagershop config reload
来重载配置,使用/villagershop taxrate set <taxrate>
来设置税率。
玩家可以使用指令/villagershop create shop <shopname> <x y z> <item> <count> <price>
1创建商店,并扣除一定的货币。
货币的花费会随着玩家拥有商店数量的增加而增加,函数表达式为:
注意
- 商店刚创建或商品刚添加时默认会使用背包内所有(无法选择是否添加)已有物品进行免费补货,你也在创建完成后额外使用
/villagershop item addstock <shopname> <item> [count]
来对商店中存在的商品进行“补货”,count
是一个可选参数,若不填则默认消耗背包内所有特定物品。
同时,补货需要消耗一定的货币,计算公式如下:
$$p为设置价格,c为补货数量,t为税率,默认为0.1\%$$
- 同一玩家创建的商店不允许名称相同,当个商店的商品数量上限为7个物品,价格下限不低于服务器设置的物价或系统商店物价。
- 创建商店时的
count
参数代表用price
的钱可以买到count
个数的物品
举个栗子,比如我使用/villagershop create shop DreamRain 0 0 0 minecraft:cherry_leaves 2 100
创建了一个名为DreamRain
并出售樱花树叶
的商店。那么,我可以使用100
货币买到2
个樱花树叶
。而不是商店中樱花树叶
的库存为2
。 - 所有商店都有一个唯一的
shopnumber
标识符,并且永远不可能重复。 - 目前商品暂不支持保存NBT(未经测试),可能会导致无法获取到指定的物品,无法保留自定义NBT等问题。
管理员可以使用指令/villagershop create adminshop <shopname> <x y z> <type> <item1> <count>:<price> <item2> <count>:<price> ... <item_n> <count>:<price>
来创建系统商店。
系统商店库存无限,但是可以使用玩家商店中的stock
参数来限制单个玩家的购买数量2。
在商店创建成功后,玩家可以使用/villagershop item add <shopname> <item> <count> <price>
来添加商品,使用/villagershop item change <shopname> <item> <count> <price>
来修改已有商品的价格以及出售数量,使用/villagershop item delete <shopname> <item>
1来删除已有的商品,该操作会返还该商品的所有库存。
玩家可以使用/villagershop manager info set {shopname,id} {shopnamenew,x y z}
来修改商店的名称或者位置。当你不想要该商店时,可以使用/villagershop delete {shopname,shopnumber}
1来删除该商店,管理员可以使用shopnumber
删除任意不符合规定的商店,无需提前通知拥有者。删除商店会返还所有的库存,但是并不会返还创建时消耗的货币。同时,被管理员删除的商店并不会返还库存。
同时,管理员可以使用/villagershop manager search {shopname:shopname, location:location, owner:owner, range:range}
,owner参数可以使用玩家创建商店时的ID。可以使用/villagershop manager inquire <shopnumber>
获取特定商店的详细信息。
管理员在征得玩家以及管理组同意的情况下,可以使用/villagershop setAdmin <shopnumber>
1来将该商店转化为系统商店。注意,该操作也不会返还库存。
仅管理员可创建收购商店,在创建时将<type>
参数设置为1即可创建无限收购指定物品的商店。
收购价格由使用者自行设定。
- 商店创建或物品添加时即消耗背包内的物品补货
- 删除商店或商品时返还库存
- 补货时可以从玩家身上的潜影盒中获取所需物品
- 系统商店限制单个玩家购买数量
- 支持范围搜索商店,以及通过玩家名称搜索商店,不输出重复结果。
- 完成商店的实体创建
- 完成GUI呈现以及操作监听
- 支持保存物品NBT
- 将计算公式独立进配置文件