标签: minecraft

通过 localhost 连接到 Minecraft 服务器

我尝试为您连接的 Minecraft 服务器创建一个代理服务器,这样您就可以修改 Minecraft 协议和/或其他内容。

我尝试做一个像这样的 TCP 代理服务器,它将套接字重定向到给定的地址:

var net = require("net");

process.on("uncaughtException", function(error) {
  console.error(error);
});

if (process.argv.length != 5) {
  console.log("usage: %s <localport> <remotehost> <remoteport>", process.argv[1]);
  process.exit();
}

var localport = process.argv[2];
var remotehost = process.argv[3];
var remoteport = process.argv[4];

var server = net.createServer(function (localsocket) {
  var remotesocket = new net.Socket();

  remotesocket.connect(remoteport, remotehost);

  localsocket.on('connect', function (data) {
    console.log(">>> connection #%d from %s:%d",
      server.connections,
      localsocket.remoteAddress,
      localsocket.remotePort
    );
  });

  localsocket.on('data', function (data) {
    console.log("%s:%d - writing data to remote",
      localsocket.remoteAddress, …
Run Code Online (Sandbox Code Playgroud)

javascript proxy tcp node.js minecraft

4
推荐指数
1
解决办法
1093
查看次数

Java - 多次从ArrayList中删除时出错.(IllegalStateException异常)

我一直在谷歌搜索,似乎无法找到解决方案.我在这做错了什么?我的问题在标题中.这是我得到的例外:

java.lang.IllegalStateException
at java.util.ArrayList$Itr.remove(Unknown Source)
at me.herp.derp.client.Config.updateItem(Config.java:24)
at me.herp.derp.client.Commands.parseCommand(Commands.java:23)
at me.herp.derp.client.ChatCommands.handleChatcommand(ChatCommands.java:29)
at net.minecraft.src.EntityClientPlayerMP.sendChatMessage(EntityClientPlayerMP.java:171)
at net.minecraft.src.GuiChat.keyTyped(GuiChat.java:104)
at net.minecraft.src.GuiScreen.handleKeyboardInput(GuiScreen.java:227)
at net.minecraft.src.GuiScreen.handleInput(GuiScreen.java:176)
at net.minecraft.client.Minecraft.runTick(Minecraft.java:1494)
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:843)
at net.minecraft.client.Minecraft.run(Minecraft.java:768)
at java.lang.Thread.run(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

public static void updateItem(String item, String value)
{
    if (!hasValue(item))
    {
        addItem(item, value);
        return;
    }
    for (ConfigItem c : configItems)
    {
        if (c.ITEM.equals(item))
        {
            configItems.iterator().remove();
            break;
        }
    }
    ConfigFile.saveConfig();
}
Run Code Online (Sandbox Code Playgroud)

java exception arraylist minecraft

3
推荐指数
1
解决办法
1万
查看次数

是否有可能使用Bukkit for Minecraft来定义一种新的暴徒?

我想写一个Minecraft mod,它增加了一种新型的暴徒.那可能吗?我看到,在Bukkit中,它EntityType是一个预定义的枚举,这使我相信可能没有办法添加新类型的实体.我希望这是错的.

minecraft bukkit

3
推荐指数
1
解决办法
5141
查看次数

有没有办法将数据附加到Bukkit ItemStack?

好的,我正在尝试将数据附加到Minecraft Bukkit ItemStack.我想它,所以它丢弃的实体也会有它,但这是可选的.如果我不能直接这样做,是否有其他方式我可以保留一个数据(java int,java string)与项目,因为它通过玩家和他们的库存插槽?谢谢!

编辑:这是一个代码示例.

package path.to.the.package;

import org.bukkit.event.*;
import org.bukkit.event.PlayerInteractEvent;
import org.bukkit.plugin.java.JavaPlugin;

public ExamplePlugin extends JavaPlugin
{
  public List<ItemStack> stacks = new ArrayList<ItemStack>();
  public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
  {
    if(cmd.getName().equalsIgnoreCase("tester123"))
    {
      ItemStack stack = new ItemStack(272, 0, (byte)0);
      Player p = (Player)sender;
      stacks.add(stack);
      p.getLocation().getWorld().dropItem(player.getLocation(), stack);
    }
    return true;
  }

  @EventHandler(priority = EventPriority.HIGHEST)
  public void onItemStackRightClick(PlayerInteractEvent e)
  {
    Player player = e.getPlayer();
    for(ItemStack item : items)
    {
      if(player.getItemInHand() == item)
      {
        //What I DO …
Run Code Online (Sandbox Code Playgroud)

java module minecraft bukkit

3
推荐指数
1
解决办法
1万
查看次数

Php套接字,Apache和CentOS 6.3给出了权限被拒绝

我想要做的是运行一个简单的PHP脚本,检查游戏服务器是否在线并从中获取一些信息.我在WAMP服务器的本地机器上运行完全相同的脚本,我只是取消注释php_openssl.dll和php_sockets.dll和 - 瞧 - 它按预期工作.

但后来我们的生产环境!我通常和Debian一起工​​作,但是我们的主机决定在我们的专用服务器上安装CentOS,因为NIC在Debian中失败了,而且从那以后它就变成了麻烦.

我克服了一些问题,并留下了这个问题:如何修复PHP套接字?我读到我需要php-common,所以我安装了这个:

# yum install php-common
Run Code Online (Sandbox Code Playgroud)

然后我检查了phpinfo(),我得到了这个

'./configure'  '--with-openssl' '--enable-sockets' ...
Run Code Online (Sandbox Code Playgroud)

所以如果你问我这个看起来不错,openssl和socket都已安装并应该正常工作,但事实并非如此.我在Stack Overflow上找到了这个脚本:

<?php
//just in case
if (!extension_loaded('sockets')) {
die('The sockets extension is not loaded.');
}
echo '<p><strong>Establishing connection...</strong></p>';
$socket = socket_create(AF_INET,SOCK_STREAM,0);
if (!socket_connect($socket, "stackoverflow.com", 80))
{
die('Socket error : '.socket_strerror(socket_last_error()));
}

echo '<p><strong>Connection successful!</strong></p>';

$request = join("\n",array(
"GET / HTTP/1.1",
"Connection: close",
"Host: stackoverflow.com",
"User-Agent: Mozilla/5.0 (Windows NT 6.1)",
"Accept: text/html,*/*;q=0.8",
""));
socket_write($socket,$request,strlen($request));

$response = socket_read($socket,2048);


echo "<p><strong>This is the received …
Run Code Online (Sandbox Code Playgroud)

php sockets apache centos minecraft

3
推荐指数
1
解决办法
7272
查看次数

PHP 查询一条 SRV 记录

我运行一个 Minecraft 网站,目前在使用查询协议时,它无法处理 SRV 记录。

我只是想知道有没有办法获取 SRV 记录指向的 ip 和端口。

E.g: mc.lunarphase.co.uk => 192.198.91.238:64759
Run Code Online (Sandbox Code Playgroud)

php dns srv minecraft

3
推荐指数
1
解决办法
1990
查看次数

如何在不编辑源文件的情况下将方法添加到源文件?

我正在尝试向Minecraft源文件添加一个方法,但我必须弄清楚如何在不实际编辑源文件的情况下进行,因为重新分发源文件是非法的,这些源文件必须包含在我正在创建的mod中.我需要将方法添加setInPortalZub()到文件"EntityPlayer中net.minecraft.entity.player.我正在使用MCP/Minecraft Forge API.我已经尝试创建一个实例EntityPlayer,但我不确定这是如何工作的.

java minecraft minecraft-forge

3
推荐指数
1
解决办法
2079
查看次数

如何正确地将染料设置为ItemStack?

我正在尝试将Dye颜色应用到现有的ItemStack中,如何在不使用弃用方法和创建新堆栈的情况下执行此操作?

我尝试了以下代码,但这导致了正常的墨水袋.

ps:我只在第一行创建一个堆栈作为示例.

final ItemStack stack = new ItemStack(Material.INK_SACK);
Dye dye = new Dye();
dye.setColor(DyeColor.LIME);
stack.setData(dye);
Run Code Online (Sandbox Code Playgroud)

编辑:添加最终到堆栈变量以显示它不能被新堆栈替换.

java minecraft bukkit

3
推荐指数
1
解决办法
7469
查看次数

嵌套的For-Loop不能使用Java

我不知道我是不是就在这里,所以如果没有,请随时删除这个问题.

我想在用Java编写的Minecraft插件中迭代块的二维平面.因此,我想要遍历每一行中的每个街区.以下是我的代码.(显然缩短了)

package mainiterator;

public class MainIterator {

  public static void main(String[] args) {
    int currentX = -2;
    int currentZ = -2;
    for (; currentX < 2; currentX++) {
        for (; currentZ < 2; currentZ++) {
            //The following should normally be outputted 4*4 Times. (16)
            System.out.println("currentX:" + currentX + " currentZ:" + currentZ);
        }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

但这只输出以下内容:

currentX:-2 currentZ:-2
currentX:-2 currentZ:-1
currentX:-2 currentZ:0
currentX:-2 currentZ:1
Run Code Online (Sandbox Code Playgroud)

所以有什么问题?请随意尝试.提前致谢!

问候,

Max来自德国

java for-loop nested-loops minecraft

3
推荐指数
1
解决办法
1183
查看次数

如果没有META-INF文件夹,Minecraft如何运行?

我真的不明白这是如何工作的.我正在努力建立一个.jar权利.它由两个类组成:Test.classSayer.class.如果我Test.class直接访问或正确打包它可以正常工作Test.jar,但是我可以获得jar执行的唯一方法是使用manifest(jar cfm Test.jar manifest Test.class Sayer.class)打包它.

如果我不这样做,我在尝试运行jar时会出错:Error: Invalid or corrupt jarfile Test.jar.如果我构建"好"jar并且删除,也会发生这种情况META-INF/

这完全有道理.毕竟,你需要一些方法告诉Java在哪里寻找入口点......对吗?但是你有了Minecraft的modding社区,它通常建议删除META-INF以进行给定的mod工作.

但是,Minecraft如何在没有META-INF文件夹的情况下运行?根据我的实验,这甚至不可能.这不应该腐败 minecraft.jar我的腐败Test.jar吗?

java minecraft

3
推荐指数
1
解决办法
502
查看次数