问题标签 [pocketmine]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 将多维数组显示为项目符号
我需要帮助设计一个递归函数:
- 递归显示多维数组
- 必须使用要点,例如
<ul>
和<li>
- 文本必须链接到文档。例如文本“1. Hi”将被重定向并保持其目录结构(数组结构)。但是文本必须递归显示。
将作为输入的数组将是目录层次结构的多维数组。输入:
第一个的输出将是
- 掌上矿
- 教程
- 一、简介
- 教程
但是“1. Introduction”必须链接到“whateverURL/pocketmine/tutorial/1.Introduction”
我需要将其显示为(例如)
提前感谢您的帮助。
ubuntu - Pocketmine 的 Ubuntu 服务器上未打开端口
我正在尝试运行PHP
服务器,用于Minecraft PE
. 服务器被调用Pocketmine
。此特定服务器的端口不会为我打开。我正在尝试在 port 上运行服务器19132
,但它始终处于关闭状态。为了确保端口在我的路由器中打开,我在该端口上运行了一个 Rails 服务器,一切正常。当我切换回 Pocketmine 服务器时,它会正常启动并说它正在侦听19132
,但我的端口仍然关闭。这是控制台输出。
python - 可以用 Python 制作 PocketMine 插件吗?
是否可以使用 Python 在 PocketMine 上创建插件?如果没有,有什么办法可以吗?
php - php - 存储包含对象的数组
我正在使用 PocketMine API(不适用于 Web),并且我运行了一个返回数组的函数,存储多个pocketmine\item\Item
数组。
这可以被认为是一个存储对象的数组。
基本上,我需要做的是存储这个数组,但不是按原样存储。(一个包含对象的数组。)我试过serialize()
和json_encode()
. 在我的情况下,这些都不起作用。
有什么办法我可以做到这一点?谢谢。
php - 如何在 PocketMine 插件中创建具有本地化描述的命令?
如何使用插件中的 PocketMine API 创建带有翻译描述或用法的命令?
%pocketmine.command.help.description
在 vanilla 命令中,传递了翻译代码的字符串,例如。它们是对原始 PocketMine 中 lang 文件的引用,插件无法修改它们。
当播放器执行/help
时,HelpCommand
该类将结果Command::getDescription()
与帮助客户端输出格式连接起来。然后,它被传递给Player::sendMessage
,将字符串传递给BaseLang::translateString
,然后BaseLang::parseTranslation
,然后在内部查找 出现的翻译/%[a-zA-Z0-9\.\-]+/
。在整个过程中,不可能添加任何东西,除非BaseLang
更换服务器。
php - 是否有可能真正限制对该私有财产的访问?
我在尝试中使用了三个技巧:
- 反射不能与动态类属性一起使用
- 访问动态类属性时必须调用 __get() 或 __set()
- debug_backtrace() 可以用来模拟类似的东西
private
对于Foo
具有私有非静态属性的类$bar
,我想禁止外部$this
的任何范围修改其值。因此我这样做:
这应该(未经测试)不受三种访问的影响:
- 直接访问
- debug_backtrace() 检查调用上下文是否来自 $this。$this 之外的直接访问将被禁止。
- 反射属性
- PHP 致命错误:未捕获的 ReflectionException:属性栏不存在
- 反射不适用于动态属性。它甚至没有通过
ReflectionClass::hasProperty()
:-)检测到它的存在
Closure::bind
- 未经测试,但我相信 debug_backtrace() 应该返回与FILE不同的“文件” ,而是定义闭包的文件。我只有正确的用法
Foo
,所以我不在乎只要加载了正确的代码。
- 未经测试,但我相信 debug_backtrace() 应该返回与FILE不同的“文件” ,而是定义闭包的文件。我只有正确的用法
假设没有写任何文件的权限,也没有重新定义类方法的扩展名,但是可以加载任意PHP代码,有没有办法改变这个Foo->bar
属性?
docker - 如何授予 docker 容器对映射卷的写入/chmod 权限?
我有一个支持 docker 的 Synology NAS,想在上面运行一些 docker 容器(我对 Docker 很陌生)。例如 pocketmine-pm (但我相信我也有其他容器的写入问题)。
我在主机上创建了一个卷并将其映射到容器设置中。(并且在卷映射的 Synology docker 设置中,我没有单击“只读”)。
根据 Dockerfile,在容器内创建了一个新用户“pocketmine”,该用户用于启动服务器。该用户的用户 ID 似乎为 1000(新 linux 用户的第一个 UID)。该容器还使用一个 Entrypoint.sh 脚本来启动服务器。
最初,容器无法将文件写入映射目录。我不得不通过 SSH 连接到主机“chown”UID 1000 的目录:
之后,可以下载和提取档案。
不幸的是,我无法从我的 iOS 设备连接到服务器。服务器被列为“在线”,但连接失败,没有任何特定消息。然后我检查了容器的日志并看到了以下条目(不确定这是否真的阻止了连接,但我会试一试):
显然,容器不能 chown 以前能够下载的文件。
有谁知道可以做些什么来解决这个问题?我需要chmod
映射卷吗?为什么我需要chown
UID 1000 的目录(主机上不存在的用户) - 没有更优雅的方法来修复权限吗?
php - 如何检查MySQL中是否设置了位
我在 MySQL 数据库中有一个表BIT(64)
,其中一行是 64 个标志的位掩码。
使用 PHP 和 mysqli,我有一个整数$n
,它在范围内[0, 64)
。我已经编写了一个函数(见附录 I)来设置字节数组的第 n位(即 PHP 中的字符串)。
将上述字节数组(字符串)传递给 MySQL 时,似乎bitmask & ?
, where ?
is mysqli::bind_param
ed 作为字节数组(参数类型为"s"
),并没有按预期比较位。
例如,使用此查询:
在这张桌子上:
如何解决这个问题?
我想通过 abin2hex
和UNHEX()
它,但这似乎并不能解决问题。
附录一
php - 如何获取scandir()的完整路径
当我 scandir() 它像这样在数组中返回
所以我希望它得到这样的文件的完整路径
我尝试使用但没有用的代码
docker - 如何修复 Docker 中的“standard_init_linux.go:187:exec 用户进程导致“exec 格式错误””?
我刚刚制作了我的第一个 Docker 映像,可以在 Docker 内部运行 pmmp/PocketMine-MP。当我尝试使用容器时,出现以下错误:
我也有一个 Dockerfile 设置:
我怎样才能解决这个问题?我很新,如果我已经让自己陷入失败的困境,请告诉我。