问题标签 [minecraft]
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.
java - Perl Pipe不重定向Java进程输出
我正在尝试控制游戏服务器并实时显示其输出。这是我到目前为止所拥有的:
它可以很好地启动进程,唯一的缺陷是它没有将 Java 进程的输出输出到套接字(它在启动 Perl 的终端窗口中显示输出)我已经用 ping 尝试过它并且它有效很好,有什么想法吗?
提前致谢!
3d - 3d 转换 n00b 需要开源 mod 的帮助
大家好。我需要一些 3d 旋转方面的帮助。我没有做太多的游戏开发,几乎不记得我在学术界学到了什么。我在 3d 世界(Minecraft)中渲染 2d 图像,并使玩家的目标坐标与图像的左下角对齐。
- XZ 的平面是游戏中可行走的表面
- Y 是垂直的
- 图像将始终呈 90 度角
问题是当我尝试水平渲染图像时,它大多不起作用。有时它是水平的,有时是垂直的。当我垂直渲染时,它工作得很好。我敢肯定它的数学不好。在大多数情况下,我反复试验并犯了错误。俯仰和偏航是相对于玩家的视角。这就是我试图用来设置图像位置和方向的东西。
这是一个开源的 Minecraft 服务器插件。随意看看:
https://bukkit-modders.googlecode.com/svn/trunk/
此外,如果您发现可以通过使用更多的矩阵/向量 voodoo 来减少逻辑,请随时发表评论。
}
c++ - 通过网络构建和发送二进制数据
我正在为我的世界创建一个命令行客户端。可以在此处找到有关该协议的完整规范:http: //mc.kev009.com/Protocol。要事先回答您的问题,是的,我有点 C++ 菜鸟。
我在实现这个协议时遇到了各种问题,其中每个问题都很关键。
- 该协议说所有类型都是大端的。我不知道应该如何检查我的数据是否为小端,如果是,如何转换为大端。
- 字符串数据类型有点奇怪。它是一个修改后的 UTF-8 字符串,前面有一个包含字符串长度的短字符串。我不知道我应该如何将它打包到一个简单的 char[] 数组中,也不知道如何将我的简单字符串转换为修改后的 UTF-8 字符串。
- 即使我知道如何将我的数据转换为大端并创建修改后的 UTF-8 字符串,我仍然不知道如何将其打包成一个 char[] 数组并将其作为一个包发送。我之前所做的只是简单的 ASCII 格式的 HTTP 网络。
非常感谢解释、链接、相关函数名称和简短片段!
编辑
现在回答1和3。1 由 user470379 在下面回答。3 由这个 AWESOME 线程回答,它解释了我想要做得很好:http ://cboard.cprogramming.com/networking-device-communication/68196-sending-non-char*-data.html我不确定不过,关于修改后的 UTF-8。
performance - 如何在 Minecraftian 世界中快速插入和移除方块?
我目前将世界的体积数据存储为布尔数组。然后我检查每个空块,如果它有非空邻居,则绘制面。这可以防止我使用 opengl 向显卡发送一堆面孔。
我现在正在插入和删除块,但我不知道如何快速做到这一点。更改体积数据很简单,但我不想每次有人插入或删除块时都从体积数据中重新计算所有顶点。我想到只是将块添加到现有顶点数据末尾的顶点缓冲区,但是我没有很好的方法来破坏它,因为我无法在体积和顶点缓冲区数据之间建立关联。
任何帮助表示赞赏。
ubuntu - Ubuntu Server init.d - 测试值是否大于 1
我正在编写一个 init.d 脚本并希望测试返回值是否大于 1。“大于”的正确语法是什么?
java - 如何为您的 Java 应用程序创建本机二进制文件?
我想知道如何将 Java 应用程序打包到 Windows、Linux 和 Mac OS X 的本机二进制文件中。
我知道 Minecraft 会这样做,但我不知道怎么做。这就是我想做的:
- 从 NetBeans(最好)或 Eclipse 中,自动构建这三个二进制文件。
- 包括用于 OpenGL 等的本机库。全部。
- 如果可能的话,混淆我的代码。
如果有某种方法可以模仿 Minecraft 自动更新功能,那将是非常棒的。
那么,是否有任何工具可以为您执行此操作,或者我是否需要编写大量 XML 来完成此操作?
c# - 标准输入没有被重定向 C#
所以我有一个隐藏的进程(java命令行应用程序),输出和输入被重定向。我可以很容易地读取输出并且可以正常工作,但是当我发送命令时它不起作用。
我认为我已经确定输入没有被重定向,因为:
(A) 当我发送WriteLine(//command here); Flush
没有命令被程序确认时
(B) 当我取消隐藏 cmd 窗口 ( StartInfo.CreateNoWindow = false;
) 时,我可以输入命令并运行它们(在 cmd 窗口中),即使 StandardInput 正在被重定向 ( StartInfo.RedirectStandardInput = true;
)
这是代码:
如何重定向输入以便发送命令?
谢谢,亚当
PS:如果这令人困惑,只需发表评论,我会很乐意澄清。
已回答
感谢 Tim,替换以下行:
和:
java - Java:Minecraft:有什么方法可以让 java 在运行时将其“大脑转储”到 fifo?
我正在使用以下命令运行一个小型 minecraft 服务器:/usr/lib/jvm/java-6-sun/bin/java -Xmx2048M -Xms2048M -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalPacing -XX:ParallelGCThreads=2 -XX :+AggressiveOpts -jar minecraft_server.jar
我发现自己希望从服务器上看到比作者有意写入控制台的更多信息。所以我来问你是否知道一种方法可以启用某种调试日志并将其输出到 fifo。然后,我将使用与正则表达式匹配的样本和触发事件来观察该先进先出。
有谁知道一种方法可以让java在运行时将它所做的一切转储到fifo?
service - 定制服务的制作和接口
我已经搜索了一段时间了,我不确定我是否只是没有使用正确的搜索词,或者答案是否真的很难找到。
我想做的是从批处理文件为游戏服务器创建一个新的 Windows 服务,然后让一个任务每 30 分钟或更长时间运行另一个批处理文件,该文件将在游戏服务器的命令行上运行两个命令并执行一些操作档案工作。
具体来说,我正在使用 Bukkit 为我帮助运行的游戏社区运行 Minecraft 服务器,并且我想确保事情始终处于运行状态,除非我明确告诉它停止(如服务)。Bukkit 直接从批处理文件运行,并在其上运行自己的命令行。
有人告诉我,您可以将这种类型的东西作为服务运行,但命令行将从视图和/或交互中隐藏。这是我查询的第二部分。我有一个方便的小备份.bat 文件,它将所有世界文件和用户数据文件复制到备份目录中,7zip 压缩它,然后删除该目录。唯一的问题是,Minecraft 喜欢始终打开并写入世界的区域文件,这意味着如果我直接运行它可能会导致地图损坏。作为补偿,我需要在服务器上运行命令“save-off”来暂时禁用文件挂钩,运行备份,一旦完成,运行“save-on”,这样游戏就可以继续而不会丢失数据.
关于第二个,我想知道的是,是否可以通过批处理文件与游戏服务交互,或者我是否需要创建一个应用程序来做到这一点?如果是后者,究竟是怎么做的呢?我有适度的 C++ 知识(通过我在大学的第二门 OO-C++ 课程),如果绝对必要的话,可以学习另一种语言。
因此,简而言之,有两个问题: 1. 是否可以以及如何将 BAT 文件作为 Windows 服务运行?2. 如何通过 BAT 文件与所述服务交互,如果不可能,我需要编写什么样的应用程序(重定向到或编写教程适合我)。
提前感谢您的任何帮助!
c++ - 帮助使用 perlin 噪声库 libnoise
当我使用 x、y 和 z 作为整数调用 libnoise 的 getvalue 函数时,结果总是返回 0。这是正常的吗?当我按照教程http://libnoise.sourceforge.net/tutorials/tutorial2.html尝试1.25、0.75、0.5 时,我得到了 0.686347 的预期结果。具体来说,我已经尝试过使用 20 以下的整数。我只是不明白它是如何工作的吗?
任何帮助是极大的赞赏。