From a973f9f2ab9cba979c66eae7375b1803940e6850 Mon Sep 17 00:00:00 2001 From: FliegendeWurst <2012gdwu@web.de> Date: Thu, 2 Feb 2017 18:28:25 +0100 Subject: [PATCH 1/4] Add clicking and fishing API, fix warnings --- .gitignore | 28 ++++++++ .../raspberryjammod/APIHandler.java | 69 ++++++++++++++----- .../raspberryjammod/APIHandlerClientOnly.java | 5 +- .../raspberryjammod/APIServer.java | 27 -------- .../AddLocalPythonExternalCommand.java | 4 +- .../AddPythonExternalCommand.java | 4 +- .../raspberryjammod/CameraCommand.java | 20 +----- .../raspberryjammod/ClientEventHandler.java | 34 --------- .../LocalPythonExternalCommand.java | 2 +- .../raspberryjammod/MCEventHandler.java | 36 +--------- .../MCEventHandlerClientOnly.java | 6 -- .../raspberryjammod/MCEventHandlerServer.java | 1 - .../NightVisionExternalCommand.java | 17 +---- .../PythonExternalCommand.java | 3 +- .../raspberryjammod/RaspberryJamMod.java | 34 ++------- .../ScriptExternalCommand.java | 10 +-- .../raspberryjammod/ServerAction.java | 2 - .../raspberryjammod/SetBlockNBT.java | 7 -- .../raspberryjammod/SetBlockState.java | 7 -- .../raspberryjammod/SetBlocksNBT.java | 1 - .../raspberryjammod/SetDimension.java | 5 -- .../raspberryjammod/WSServer.java | 10 --- mcpipy/mcpi/minecraft.py | 8 +++ 23 files changed, 109 insertions(+), 231 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4242696 --- /dev/null +++ b/.gitignore @@ -0,0 +1,28 @@ +.classpath +.gradle/ +.metadata/ +.project +.settings/ +110/.gradle/ +110/build/ +110/src/ +111/.gradle/ +111/.idea/ +111/.metadata/ +111/.project +111/.settings/ +111/build/ +111/src/ +19/.classpath +19/.gradle/ +19/.project +19/.settings/ +19/19_Client.launch +19/19_Server.launch +19/bin/ +19/build/ +194/.gradle/ +194/build/ +194/src/ +eclipse/ + diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/APIHandler.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/APIHandler.java index b78b9f5..2fe76e1 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/APIHandler.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/APIHandler.java @@ -3,34 +3,27 @@ // TODO: getHeight() should check block queue import java.io.BufferedReader; -import java.io.DataOutputStream; import java.io.File; import java.io.FileReader; import java.io.IOException; -import java.io.InputStreamReader; +import java.io.PrintStream; import java.io.PrintWriter; import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.net.ServerSocket; -import java.net.Socket; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.ArrayList; import java.util.Collections; -import java.util.HashMap; import java.util.HashSet; import java.util.InputMismatchException; import java.util.LinkedList; import java.util.List; -import java.util.Map; import java.util.NoSuchElementException; import java.util.Scanner; import java.util.Set; import net.minecraft.block.Block; -import net.minecraft.block.state.IBlockState; import net.minecraft.client.Minecraft; -import net.minecraft.client.main.GameConfiguration; +import net.minecraft.client.settings.KeyBinding; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityList; import net.minecraft.entity.EntityLiving; @@ -44,7 +37,6 @@ import net.minecraft.nbt.NBTException; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.potion.PotionEffect; -import net.minecraft.server.MinecraftServer; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumParticleTypes; import net.minecraft.util.math.BlockPos; @@ -53,12 +45,14 @@ import net.minecraft.util.text.TextComponentString; import net.minecraft.world.World; import net.minecraft.world.WorldServer; -import net.minecraft.world.WorldSettings; import net.minecraft.world.chunk.Chunk; -import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.event.entity.player.PlayerInteractEvent; public class APIHandler { + protected static final String CLICKLEFT = "click.left"; + protected static final String CLICKRIGHT = "click.right"; + protected static final String POLLFISH = "poll.fish"; + // world.checkpoint.save/restore, player.setting, world.setting(nametags_visible,*), // camera.setFixed() unsupported // camera.setNormal(id) and camera.setFollow(id) uses spectating, and so it moves the @@ -252,7 +246,6 @@ public class APIHandler { public static final String PASSWORD_DATA = "raspberryjammod_passwords.dat"; public static final String PERMISSION_DATA = "raspberryjammod_permissions.dat"; private String salt = null; - private boolean authenticationSetup; private List hits = new LinkedList(); protected List chats = new LinkedList(); private boolean restrictToSword = true; @@ -566,6 +559,8 @@ else if (toMatch != null && l.startsWith(toMatch)) { protected void runCommand(String cmd, String args, Scanner scan) throws InputMismatchException, NoSuchElementException, IndexOutOfBoundsException { + RaspberryJamMod.LOGGER.info("Running command: "+cmd); + if (cmd.equals(SETBLOCK)) { Location pos = getBlockLocation(scan); @@ -827,11 +822,55 @@ else if(cmd.equals(APISUPPORTS)) { else if (cmd.equals(APIVERSION)) { sendLine(RaspberryJamMod.MODID+","+RaspberryJamMod.VERSION+","+"java"+","+mcVersion()); } + else if (cmd.equals(CLICKLEFT)) { + toggle(mc.gameSettings.keyBindAttack); + } + else if (cmd.equals(CLICKRIGHT)) { + toggle(mc.gameSettings.keyBindUseItem); + } + else if (cmd.equals(POLLFISH)) { + new Thread() { + public void run() { + float y = 0.0f; + int count = 0; + while (true) { + try { + Thread.sleep(100); + int new_y = Minecraft.getMinecraft().thePlayer.fishEntity.getPosition().getY(); + float delta = new_y - y; + if (count > 5 && -0.99 > delta && delta > -1.01) { + sendLine("got.fish"); + return; + } + y = new_y; + count++; + } catch (Throwable t) { + System.err.println("Error waiting for fish"); + t.printStackTrace(); + } + } + } + }.start(); + } else { unknownCommand(); } } + private static void toggle(KeyBinding k) { + try { + // toggle key quickly + KeyBinding.setKeyBindState(k.getKeyCode(), true); + KeyBinding.onTick(k.getKeyCode()); + try { Thread.sleep(32); } catch (InterruptedException e) {} + KeyBinding.setKeyBindState(k.getKeyCode(), false); + //KeyBinding.onTick(k.getKeyCode()); // this breaks fishing??? + } catch (Exception e) { + RaspberryJamMod.LOGGER.error("Error toggling key "+k); + e.printStackTrace((PrintStream) RaspberryJamMod.LOGGER); + } + } + private boolean tooManyPlayerCommandArguments(String subcommand, String args) { // check if there are more arguments than are needed; this detects if the // script slipped in a username, for compatibility with RaspberryJuice @@ -1359,7 +1398,6 @@ protected void entityGetTile(int id) { Entity e = getServerEntityByID(id); if (e != null) { World w = e.getEntityWorld(); - Vec3d pos0 = e.getPositionVector(); while (w != e.getEntityWorld()) { // Rare concurrency issue: entity switched worlds between getting w and pos0. @@ -1367,7 +1405,6 @@ protected void entityGetTile(int id) { // everything again. try { Thread.sleep(50); } catch(Exception exc) {} w = e.getEntityWorld(); - pos0 = e.getPositionVector(); } Vec3d pos = Location.encodeVec3(serverWorlds, w, e.getPositionVector()); @@ -1492,7 +1529,6 @@ public String getHitsAndClear() { String out = ""; synchronized(hits) { - int count = hits.size(); for (HitDescription e : hits) { if (out.length() > 0) out += "|"; @@ -1508,7 +1544,6 @@ public String getChatsAndClear() { StringBuilder out = new StringBuilder(); synchronized(chats) { - int count = hits.size(); for (ChatDescription c : chats) { if (out.length() > 0) out.append("|"); diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/APIHandlerClientOnly.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/APIHandlerClientOnly.java index 642e4ce..98eff7f 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/APIHandlerClientOnly.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/APIHandlerClientOnly.java @@ -1,6 +1,5 @@ package mobi.omegacentauri.raspberryjammod; -import java.io.DataOutputStream; import java.io.IOException; import java.io.PrintWriter; import java.util.Scanner; @@ -8,10 +7,8 @@ import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; import net.minecraft.util.EnumParticleTypes; -import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.TextComponentString; import net.minecraft.world.World; -import net.minecraft.world.WorldServer; // This class is meant to provide most of the APIHandler facility while one is connected to a // server. Of course, any block changes won't get written back to the server. @@ -74,7 +71,7 @@ protected void spawnParticle(Scanner scan) { double dx = scan.nextDouble(); double dy = scan.nextDouble(); double dz = scan.nextDouble(); - double speed = scan.nextDouble(); + /* speed */ scan.nextDouble(); int count = scan.nextInt(); int[] extras = null; diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/APIServer.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/APIServer.java index 80bda44..28b7648 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/APIServer.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/APIServer.java @@ -3,40 +3,14 @@ // TODO: getHeight() should check block queue import java.io.BufferedReader; -import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStreamReader; -import java.io.OutputStream; import java.io.PrintWriter; -import java.lang.reflect.Method; import java.net.InetAddress; import java.net.ServerSocket; import java.net.Socket; import java.util.ArrayList; -import java.util.HashMap; -import java.util.InputMismatchException; import java.util.List; -import java.util.Map; -import java.util.NoSuchElementException; -import java.util.Scanner; - -import net.minecraft.block.Block; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.Minecraft; -import net.minecraft.client.entity.EntityPlayerSP; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityList; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.init.Blocks; -import net.minecraft.nbt.JsonToNBT; -import net.minecraft.nbt.NBTException; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.server.MinecraftServer; -import net.minecraft.world.World; -import net.minecraft.world.WorldSettings; -import net.minecraft.world.chunk.Chunk; public class APIServer { private static final int MAX_CONNECTIONS = 64; @@ -93,7 +67,6 @@ public int getPortNumber() { void communicate() throws IOException { while(listening) { - Socket connectionSocket = null; if (! RaspberryJamMod.concurrent) { try { socketCommunicate(serverSocket.accept()); diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/AddLocalPythonExternalCommand.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/AddLocalPythonExternalCommand.java index 78a3e7d..e86b746 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/AddLocalPythonExternalCommand.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/AddLocalPythonExternalCommand.java @@ -3,8 +3,6 @@ import java.util.ArrayList; import java.util.List; -import net.minecraft.command.CommandException; -import net.minecraft.command.ICommand; import net.minecraft.command.ICommandSender; public class AddLocalPythonExternalCommand extends PythonExternalCommand { @@ -18,7 +16,7 @@ public String getCommandName() { } @Override - public List getCommandAliases() { + public List getCommandAliases() { List aliases = new ArrayList(); aliases.add(getCommandName()); aliases.add("alpy"); diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/AddPythonExternalCommand.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/AddPythonExternalCommand.java index e3a99db..42a7857 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/AddPythonExternalCommand.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/AddPythonExternalCommand.java @@ -3,8 +3,6 @@ import java.util.ArrayList; import java.util.List; -import net.minecraft.command.CommandException; -import net.minecraft.command.ICommand; import net.minecraft.command.ICommandSender; public class AddPythonExternalCommand extends PythonExternalCommand { @@ -19,7 +17,7 @@ public String getCommandName() { } @Override - public List getCommandAliases() { + public List getCommandAliases() { List aliases = new ArrayList(); aliases.add(getCommandName()); aliases.add("apy"); diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/CameraCommand.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/CameraCommand.java index 9ff2e4e..2a9880f 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/CameraCommand.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/CameraCommand.java @@ -1,32 +1,16 @@ package mobi.omegacentauri.raspberryjammod; -import java.io.BufferedReader; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.OutputStream; import java.lang.reflect.Field; import java.util.ArrayList; -import java.util.Collections; import java.util.List; -import java.util.Map; -import net.minecraft.block.Block; import net.minecraft.client.Minecraft; -import net.minecraft.client.entity.EntityPlayerSP; import net.minecraft.client.renderer.EntityRenderer; import net.minecraft.command.CommandException; import net.minecraft.command.ICommand; import net.minecraft.command.ICommandSender; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.network.Packet; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; import net.minecraft.server.MinecraftServer; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.TextComponentString; public class CameraCommand implements ICommand { @@ -34,7 +18,7 @@ public CameraCommand() { } @Override - public List getTabCompletionOptions(MinecraftServer server, + public List getTabCompletionOptions(MinecraftServer server, ICommandSender sender, String[] args, BlockPos pos) { @@ -57,7 +41,7 @@ else if (args.length == 2 && args[0].equals("debug")) { } @Override - public List getCommandAliases() { + public List getCommandAliases() { List aliases = new ArrayList(); aliases.add(getCommandName()); return aliases; diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/ClientEventHandler.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/ClientEventHandler.java index b46d6ea..4f21cbe 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/ClientEventHandler.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/ClientEventHandler.java @@ -1,51 +1,17 @@ package mobi.omegacentauri.raspberryjammod; -import java.beans.EventSetDescriptor; import java.io.IOException; -import java.lang.reflect.Field; import java.net.InetSocketAddress; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Set; -import net.minecraft.block.Block; -import net.minecraft.block.state.IBlockState; import net.minecraft.client.Minecraft; import net.minecraft.client.entity.EntityPlayerSP; -import net.minecraft.client.gui.GuiChat; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.command.ICommand; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; import net.minecraft.init.MobEffects; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemSword; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; -import net.minecraft.server.MinecraftServer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.EnumFacing; -import net.minecraft.world.EnumDifficulty; -import net.minecraft.world.World; -import net.minecraftforge.client.ClientCommandHandler; -import net.minecraftforge.client.event.MouseEvent; import net.minecraftforge.client.event.RenderLivingEvent; import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.CommandEvent; -import net.minecraftforge.event.ServerChatEvent; -import net.minecraftforge.event.entity.player.PlayerInteractEvent; -import net.minecraftforge.event.terraingen.InitMapGenEvent; import net.minecraftforge.event.world.WorldEvent; import net.minecraftforge.fml.common.FMLCommonHandler; -import net.minecraftforge.fml.common.Mod.EventHandler; -import net.minecraftforge.fml.common.eventhandler.Event; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; -import net.minecraftforge.fml.common.gameevent.InputEvent; -import net.minecraftforge.fml.common.gameevent.PlayerEvent; import net.minecraftforge.fml.common.gameevent.TickEvent; import net.minecraftforge.fml.common.network.FMLNetworkEvent; import net.minecraftforge.fml.relauncher.Side; diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/LocalPythonExternalCommand.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/LocalPythonExternalCommand.java index 2233a20..39d03e7 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/LocalPythonExternalCommand.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/LocalPythonExternalCommand.java @@ -17,7 +17,7 @@ public String getCommandName() { } @Override - public List getCommandAliases() { + public List getCommandAliases() { List aliases = new ArrayList(); aliases.add(getCommandName()); aliases.add("lpy"); diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/MCEventHandler.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/MCEventHandler.java index 2232215..d53d308 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/MCEventHandler.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/MCEventHandler.java @@ -1,54 +1,24 @@ package mobi.omegacentauri.raspberryjammod; -import java.beans.EventSetDescriptor; import java.util.ArrayList; -import java.util.LinkedList; import java.util.List; -import java.util.UUID; import net.minecraft.block.Block; import net.minecraft.block.state.IBlockState; -import net.minecraft.client.Minecraft; -import net.minecraft.client.entity.EntityPlayerSP; -import net.minecraft.client.gui.GuiChat; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemSword; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.server.MinecraftServer; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.Vec3i; -import net.minecraft.world.EnumDifficulty; import net.minecraft.world.World; -import net.minecraftforge.client.event.MouseEvent; -import net.minecraftforge.event.CommandEvent; -import net.minecraftforge.event.ServerChatEvent; import net.minecraftforge.event.entity.player.PlayerInteractEvent; -import net.minecraftforge.event.terraingen.InitMapGenEvent; -import net.minecraftforge.fml.common.FMLCommonHandler; -import net.minecraftforge.fml.common.eventhandler.Event; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; -import net.minecraftforge.fml.common.gameevent.InputEvent; -import net.minecraftforge.fml.common.gameevent.TickEvent; -import net.minecraftforge.fml.relauncher.Side; abstract public class MCEventHandler { - protected List serverActionQueue = new ArrayList(); - private static final int MAX_HITS = 512; - private volatile boolean restrictToSword = true; - private volatile boolean detectLeftClick = false; + protected List serverActionQueue = new ArrayList(); protected volatile boolean pause = false; protected boolean doRemote; protected List apiHandlers = new ArrayList(); public MCEventHandler() { - detectLeftClick = RaspberryJamMod.leftClickToo; + } // @SubscribeEvent @@ -151,7 +121,7 @@ public String describeBlockState(Location pos) { IBlockState state = pos.world.getBlockState(pos); Block block = state.getBlock(); int meta = block.getMetaFromState(state); - String describe = ""+block.getIdFromBlock(block)+","+meta+","; + String describe = ""+Block.getIdFromBlock(block)+","+meta+","; TileEntity tileEntity = pos.world.getTileEntity(pos); if (tileEntity == null) diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/MCEventHandlerClientOnly.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/MCEventHandlerClientOnly.java index 5a17320..5452150 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/MCEventHandlerClientOnly.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/MCEventHandlerClientOnly.java @@ -1,20 +1,14 @@ package mobi.omegacentauri.raspberryjammod; -import java.io.IOException; - import net.minecraft.client.Minecraft; -import net.minecraft.server.MinecraftServer; import net.minecraft.world.World; import net.minecraftforge.client.event.ClientChatReceivedEvent; -import net.minecraftforge.event.ServerChatEvent; -import net.minecraftforge.event.world.WorldEvent; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.TickEvent; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; public class MCEventHandlerClientOnly extends MCEventHandler { - private APIServer apiServer; protected World[] worlds = { null }; public MCEventHandlerClientOnly() { diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/MCEventHandlerServer.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/MCEventHandlerServer.java index 685802e..d5f3e44 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/MCEventHandlerServer.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/MCEventHandlerServer.java @@ -1,7 +1,6 @@ package mobi.omegacentauri.raspberryjammod; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.server.MinecraftServer; import net.minecraft.util.DamageSource; import net.minecraft.world.World; import net.minecraftforge.event.ServerChatEvent; diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/NightVisionExternalCommand.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/NightVisionExternalCommand.java index eeafe75..4af0f6f 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/NightVisionExternalCommand.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/NightVisionExternalCommand.java @@ -1,27 +1,14 @@ package mobi.omegacentauri.raspberryjammod; -import java.io.BufferedReader; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.OutputStream; import java.util.ArrayList; -import java.util.Collections; import java.util.List; -import java.util.Map; -import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.entity.EntityPlayerSP; import net.minecraft.command.CommandException; import net.minecraft.command.ICommand; import net.minecraft.command.ICommandSender; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.init.MobEffects; -import net.minecraft.network.Packet; -import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.server.MinecraftServer; import net.minecraft.util.math.BlockPos; @@ -35,7 +22,7 @@ public NightVisionExternalCommand(ClientEventHandler eventHandler2) { } @Override - public List getTabCompletionOptions(MinecraftServer server, + public List getTabCompletionOptions(MinecraftServer server, ICommandSender sender, String[] args, BlockPos pos) { @@ -49,7 +36,7 @@ public List getTabCompletionOptions(MinecraftServer server, } @Override - public List getCommandAliases() { + public List getCommandAliases() { List aliases = new ArrayList(); aliases.add(getCommandName()); aliases.add("nv"); diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/PythonExternalCommand.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/PythonExternalCommand.java index 1ea3588..31478ce 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/PythonExternalCommand.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/PythonExternalCommand.java @@ -3,7 +3,6 @@ import java.util.ArrayList; import java.util.List; -import net.minecraft.command.CommandException; import net.minecraft.command.ICommand; import net.minecraft.command.ICommandSender; import net.minecraft.server.MinecraftServer; @@ -20,7 +19,7 @@ public String getCommandName() { } @Override - public List getCommandAliases() { + public List getCommandAliases() { List aliases = new ArrayList(); aliases.add(getCommandName()); aliases.add("py"); diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/RaspberryJamMod.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/RaspberryJamMod.java index 45e2286..babc2e4 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/RaspberryJamMod.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/RaspberryJamMod.java @@ -1,51 +1,30 @@ package mobi.omegacentauri.raspberryjammod; -import ibxm.Player; - -import java.io.BufferedReader; -import java.io.DataOutputStream; import java.io.IOException; -import java.io.InputStreamReader; import java.lang.reflect.Field; -import java.net.ServerSocket; -import java.net.Socket; import java.util.ArrayList; -import java.util.InputMismatchException; import java.util.List; import java.util.Map; -import java.util.Scanner; import java.util.Set; -import scala.collection.script.Script; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import net.minecraft.client.Minecraft; -import net.minecraft.client.entity.EntityPlayerSP; -import net.minecraft.client.multiplayer.WorldClient; import net.minecraft.command.CommandHandler; import net.minecraft.command.ICommand; -import net.minecraft.command.ICommandSender; -import net.minecraft.init.Blocks; +import net.minecraft.entity.projectile.EntityFishHook; import net.minecraft.server.MinecraftServer; -import net.minecraft.world.World; -import net.minecraftforge.client.ClientCommandHandler; -import net.minecraftforge.common.ForgeHooks; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.config.Configuration; -import net.minecraftforge.common.config.Property; -import net.minecraftforge.event.ForgeEventFactory; import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.common.Mod.EventHandler; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; -import net.minecraftforge.fml.common.event.FMLServerStartedEvent; import net.minecraftforge.fml.common.event.FMLServerStartingEvent; -import net.minecraftforge.fml.common.event.FMLServerStoppedEvent; import net.minecraftforge.fml.common.event.FMLServerStoppingEvent; -import net.minecraftforge.fml.common.event.FMLStateEvent; -import net.minecraftforge.fml.common.network.FMLNetworkEvent; -import net.minecraftforge.fml.common.registry.EntityRegistry; +import net.minecraftforge.fml.relauncher.ReflectionHelper; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -58,7 +37,6 @@ public class RaspberryJamMod public static final String VERSION = "0.88"; public static final String NAME = "Raspberry Jam Mod"; private APIServer fullAPIServer = null; - private PythonExternalCommand pythonExternalCommand = null; private NightVisionExternalCommand nightVisionExternalCommand = null; private CameraCommand cameraCommand = null; public static List scriptExternalCommands = new ArrayList(); @@ -86,6 +64,8 @@ public class RaspberryJamMod public static volatile boolean noNameTags = false; public static final int NOMINAL_VERSION = 1009000; + public static final Logger LOGGER = LogManager.getLogger(RaspberryJamMod.MODID); + @Mod.EventHandler public void preInit(FMLPreInitializationEvent event) { integrated = true; @@ -256,7 +236,7 @@ static public Field findFieldByType(Class c, String typeName) throws NoSuchField static public void unregisterCommand(CommandHandler ch, ICommand c) { try { - Map commandMap = ch.getCommands(); + Map commandMap = ch.getCommands(); for (String alias: (List)c.getCommandAliases()) { try { commandMap.remove(alias); diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/ScriptExternalCommand.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/ScriptExternalCommand.java index c0f5843..56862cd 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/ScriptExternalCommand.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/ScriptExternalCommand.java @@ -6,27 +6,22 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.lang.ProcessBuilder; -import java.io.OutputStream; import java.util.ArrayList; import java.util.Collections; import java.util.LinkedList; import java.util.List; import java.util.Map; -import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.command.CommandException; import net.minecraft.command.ICommand; import net.minecraft.command.ICommandSender; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.network.Packet; import net.minecraft.server.MinecraftServer; import net.minecraft.util.math.BlockPos; import net.minecraft.util.text.TextComponentString; import net.minecraft.world.World; -import net.minecraftforge.fml.common.network.FMLNetworkEvent; public abstract class ScriptExternalCommand implements ICommand { abstract protected String getScriptProcessorCommand(); @@ -34,7 +29,6 @@ public abstract class ScriptExternalCommand implements ICommand { abstract protected String[] getScriptPaths(); private List runningScripts; final String scriptProcessorPath; - private World serverWorld; protected boolean clientSide; public ScriptExternalCommand(boolean clientSide) { @@ -61,7 +55,7 @@ private boolean sandboxedScriptPath(String path) { } @Override - public List getTabCompletionOptions(MinecraftServer server, ICommandSender sender, String[] args, + public List getTabCompletionOptions(MinecraftServer server, ICommandSender sender, String[] args, BlockPos pos) { if (args.length == 0) { @@ -114,7 +108,7 @@ else if (f.isDirectory()) return scripts; } @Override - public List getCommandAliases() { + public List getCommandAliases() { List aliases = new ArrayList(); aliases.add(getCommandName()); return aliases; diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/ServerAction.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/ServerAction.java index 6d01924..7f9cfca 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/ServerAction.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/ServerAction.java @@ -1,7 +1,5 @@ package mobi.omegacentauri.raspberryjammod; -import net.minecraft.block.Block; -import net.minecraft.block.state.IBlockState; import net.minecraft.world.World; public abstract class ServerAction { diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/SetBlockNBT.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/SetBlockNBT.java index 0fbfb73..a1b37b3 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/SetBlockNBT.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/SetBlockNBT.java @@ -1,15 +1,8 @@ package mobi.omegacentauri.raspberryjammod; -import java.util.Iterator; - import net.minecraft.block.Block; -import net.minecraft.block.state.IBlockState; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTUtil; import net.minecraft.tileentity.TileEntity; -import net.minecraft.tileentity.TileEntitySign; -import net.minecraft.world.World; -import net.minecraftforge.fml.common.registry.FMLControlledNamespacedRegistry; public class SetBlockNBT extends SetBlockState { NBTTagCompound nbt; diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/SetBlockState.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/SetBlockState.java index 2b2cdfd..3192971 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/SetBlockState.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/SetBlockState.java @@ -1,14 +1,7 @@ package mobi.omegacentauri.raspberryjammod; -import java.util.Collection; - import net.minecraft.block.Block; -import net.minecraft.block.properties.IProperty; import net.minecraft.block.state.IBlockState; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.Packet; -import net.minecraft.network.PacketBuffer; -import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; public class SetBlockState extends ServerAction { diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/SetBlocksNBT.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/SetBlocksNBT.java index c4cf65d..0517da2 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/SetBlocksNBT.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/SetBlocksNBT.java @@ -6,7 +6,6 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; -import net.minecraftforge.fml.common.registry.FMLControlledNamespacedRegistry; public class SetBlocksNBT extends SetBlocksState { NBTTagCompound nbt; diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/SetDimension.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/SetDimension.java index f4f2caf..227c421 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/SetDimension.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/SetDimension.java @@ -1,12 +1,7 @@ package mobi.omegacentauri.raspberryjammod; import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.server.MinecraftServer; -import net.minecraft.world.World; -import net.minecraft.world.WorldServer; -import net.minecraftforge.common.MinecraftForge; public class SetDimension extends ServerAction { Entity entity; diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/WSServer.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/WSServer.java index 1fd5c10..c1c7b2d 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/WSServer.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/WSServer.java @@ -1,28 +1,18 @@ package mobi.omegacentauri.raspberryjammod; -import java.io.BufferedReader; import java.io.IOException; -import java.io.InputStreamReader; -import java.io.OutputStream; import java.io.PrintWriter; -import java.io.Serializable; import java.io.Writer; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.NetworkInterface; import java.net.UnknownHostException; -import java.util.Collection; import java.util.HashMap; import java.util.Map; import org.java_websocket.WebSocket; -import org.java_websocket.WebSocketImpl; -import org.java_websocket.framing.Framedata; import org.java_websocket.handshake.ClientHandshake; import org.java_websocket.server.WebSocketServer; -import org.omg.CORBA.Any; -import org.omg.CORBA.DataOutputStream; -import org.omg.CORBA.TypeCode; public class WSServer extends WebSocketServer { Map handlers; diff --git a/mcpipy/mcpi/minecraft.py b/mcpipy/mcpi/minecraft.py index 4ab6f6c..0fcdb52 100644 --- a/mcpipy/mcpi/minecraft.py +++ b/mcpipy/mcpi/minecraft.py @@ -168,6 +168,14 @@ def getName(self): return CmdPositioner.getName(self, self.id) def getNameAndUUID(self): return CmdPositioner.getNameAndUUID(self, self.id) + def clickLeft(self): + """Click with the left button.""" + self.conn.send("click.left") + def clickRight(self): + self.conn.send("click.right") + def pollFish(self): + """Wait until a fish appears. (right clicking afterwards will catch the fish)""" + self.conn.sendReceive("poll.fish") class CmdCamera: def __init__(self, connection): From 171716fcaf0af9b93b0bdf278c8b2536ca2a4ab5 Mon Sep 17 00:00:00 2001 From: FliegendeWurst <2012gdwu@web.de> Date: Thu, 2 Feb 2017 19:02:52 +0100 Subject: [PATCH 2/4] Fix more warnings --- .../mobi/omegacentauri/raspberryjammod/APIHandler.java | 5 ++--- .../omegacentauri/raspberryjammod/CameraCommand.java | 4 ++-- .../raspberryjammod/ClientEventHandler.java | 2 +- .../omegacentauri/raspberryjammod/RaspberryJamMod.java | 9 +++------ 4 files changed, 8 insertions(+), 12 deletions(-) diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/APIHandler.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/APIHandler.java index 2fe76e1..d3afff0 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/APIHandler.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/APIHandler.java @@ -23,6 +23,7 @@ import net.minecraft.block.Block; import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.EntityRenderer; import net.minecraft.client.settings.KeyBinding; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityList; @@ -522,8 +523,6 @@ void process(String clientSentence) throws IOException { private void handlePermission() { File perm = new File(PERMISSION_DATA); if (perm.exists()) { - String permissionString = ""; - try { permission = new Permission(serverWorlds); BufferedReader r = new BufferedReader(new FileReader(perm)); @@ -1129,7 +1128,7 @@ else if (cmd.equals(SETDEBUG)) { } else if (cmd.equals(SETDISTANCE)) { Float d = scan.nextFloat(); - Class c = net.minecraft.client.renderer.EntityRenderer.class; + Class c = net.minecraft.client.renderer.EntityRenderer.class; try { Field f = c.getDeclaredField("thirdPersonDistance"); f.setAccessible(true); diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/CameraCommand.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/CameraCommand.java index 2a9880f..e8c154a 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/CameraCommand.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/CameraCommand.java @@ -80,7 +80,7 @@ public void usage(ICommandSender sender) { new TextComponentString(getCommandUsage(sender))); } - static public void setField(Class c, String field, Object object, Object value) { + static public void setField(Class c, String field, Object object, Object value) { try { Field f = c.getDeclaredField(field); f.setAccessible(true); @@ -92,7 +92,7 @@ static public void setField(Class c, String field, Object object, Object value) } private void setThirdPersonDistance(float x) { - Class c = net.minecraft.client.renderer.EntityRenderer.class; + Class c = net.minecraft.client.renderer.EntityRenderer.class; EntityRenderer r = Minecraft.getMinecraft().entityRenderer; setField(c, "thirdPersonDistance", r, x); setField(c, "thirdPersonDistanceTemp", r, x); diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/ClientEventHandler.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/ClientEventHandler.java index 4f21cbe..9403fb5 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/ClientEventHandler.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/ClientEventHandler.java @@ -79,7 +79,7 @@ public void onWorldUnloaded(WorldEvent.Unload event) { @SideOnly(Side.CLIENT) @SubscribeEvent - public void onSpecialsPre(RenderLivingEvent.Specials.Pre event) { + public void onSpecialsPre(RenderLivingEvent.Specials.Pre event) { if (RaspberryJamMod.noNameTags) event.setCanceled(true); } diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/RaspberryJamMod.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/RaspberryJamMod.java index babc2e4..89fc38a 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/RaspberryJamMod.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/RaspberryJamMod.java @@ -11,10 +11,8 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import net.minecraft.client.Minecraft; import net.minecraft.command.CommandHandler; import net.minecraft.command.ICommand; -import net.minecraft.entity.projectile.EntityFishHook; import net.minecraft.server.MinecraftServer; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.config.Configuration; @@ -24,7 +22,6 @@ import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; import net.minecraftforge.fml.common.event.FMLServerStartingEvent; import net.minecraftforge.fml.common.event.FMLServerStoppingEvent; -import net.minecraftforge.fml.relauncher.ReflectionHelper; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -210,7 +207,7 @@ public void run() { } } - static public Field findField(Class c, String name) throws NoSuchFieldException { + static public Field findField(Class c, String name) throws NoSuchFieldException { do { try { // for (Field f : c.getDeclaredFields()) { @@ -225,7 +222,7 @@ static public Field findField(Class c, String name) throws NoSuchFieldException throw new NoSuchFieldException(name); } - static public Field findFieldByType(Class c, String typeName) throws NoSuchFieldException { + static public Field findFieldByType(Class c, String typeName) throws NoSuchFieldException { do { for (Field f : c.getDeclaredFields()) if (f.getGenericType().toString().equals(typeName)) @@ -257,7 +254,7 @@ static public void unregisterCommand(CommandHandler ch, ICommand c) { // commandSetField = findField(ch.getClass(), "field_71561_b"); // } commandSetField.setAccessible(true); - Set commandSet = (Set) commandSetField.get(ch); + Set commandSet = (Set) commandSetField.get(ch); commandSet.remove(c); } catch (Exception e) { From b0c810b52cfe596e4edbf880772e8da4d1f7ac68 Mon Sep 17 00:00:00 2001 From: FliegendeWurst <2012gdwu@web.de> Date: Thu, 2 Feb 2017 21:55:41 +0100 Subject: [PATCH 3/4] Fix even more warnings --- .../omegacentauri/raspberryjammod/ClientEventHandler.java | 3 --- .../mobi/omegacentauri/raspberryjammod/RaspberryJamMod.java | 5 +---- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/ClientEventHandler.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/ClientEventHandler.java index 9403fb5..ff701e6 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/ClientEventHandler.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/ClientEventHandler.java @@ -10,7 +10,6 @@ import net.minecraftforge.client.event.RenderLivingEvent; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.world.WorldEvent; -import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.TickEvent; import net.minecraftforge.fml.common.network.FMLNetworkEvent; @@ -111,7 +110,6 @@ public void onWorldLoaded(WorldEvent.Load event) { if (apiEventHandler == null) { apiEventHandler = new MCEventHandlerClientOnly(); - FMLCommonHandler.instance().bus().register(apiEventHandler); MinecraftForge.EVENT_BUS.register(apiEventHandler); } @@ -157,7 +155,6 @@ public void closeAPI() { RaspberryJamMod.apiActive = false; if (apiEventHandler != null) { MinecraftForge.EVENT_BUS.unregister(apiEventHandler); - FMLCommonHandler.instance().bus().unregister(apiEventHandler); apiEventHandler = null; } if (apiServer != null) { diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/RaspberryJamMod.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/RaspberryJamMod.java index 89fc38a..34489de 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/RaspberryJamMod.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/RaspberryJamMod.java @@ -16,7 +16,6 @@ import net.minecraft.server.MinecraftServer; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.config.Configuration; -import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; @@ -93,7 +92,6 @@ public void Init(FMLInitializationEvent event) { System.out.println("FMLInitializationEvent"); clientEventHandler = new ClientEventHandler(); MinecraftForge.EVENT_BUS.register(clientEventHandler); - FMLCommonHandler.instance().bus().register(clientEventHandler); nightVisionExternalCommand = new NightVisionExternalCommand(clientEventHandler); net.minecraftforge.client.ClientCommandHandler.instance.registerCommand(nightVisionExternalCommand); cameraCommand = new CameraCommand(); @@ -136,7 +134,7 @@ public void onServerStopping(FMLServerStoppingEvent event) { apiActive = false; if (serverEventHandler != null) { - FMLCommonHandler.instance().bus().unregister(serverEventHandler); + MinecraftForge.EVENT_BUS.unregister(serverEventHandler); serverEventHandler = null; } @@ -169,7 +167,6 @@ public void onServerStarting(FMLServerStartingEvent event) { apiActive = true; serverEventHandler = new MCEventHandlerServer(); - FMLCommonHandler.instance().bus().register(serverEventHandler); MinecraftForge.EVENT_BUS.register(serverEventHandler); try { currentPortNumber = -1; From 28ee52b396d50712d3169648048d2bde18db1da8 Mon Sep 17 00:00:00 2001 From: FliegendeWurst <2012gdwu@web.de> Date: Thu, 2 Feb 2017 22:07:41 +0100 Subject: [PATCH 4/4] Use the logger instead of System.out... --- .../raspberryjammod/APIHandler.java | 49 ++++++++++--------- .../raspberryjammod/APIServer.java | 10 ++-- .../raspberryjammod/CameraCommand.java | 2 +- .../raspberryjammod/ClientEventHandler.java | 14 +++--- .../raspberryjammod/MCEventHandlerServer.java | 2 +- .../raspberryjammod/Permission.java | 3 +- .../raspberryjammod/RaspberryJamMod.java | 17 +++---- .../ScriptExternalCommand.java | 2 +- .../raspberryjammod/WSServer.java | 6 +-- 9 files changed, 54 insertions(+), 51 deletions(-) diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/APIHandler.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/APIHandler.java index d3afff0..e34ad61 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/APIHandler.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/APIHandler.java @@ -448,7 +448,7 @@ void handleAuthentication(String input) throws IOException { String dataDigest = tohex(md.digest()); if (input.equals(dataDigest)) { - System.out.println("Authenticated "+usernames.get(i)); + RaspberryJamMod.LOGGER.info("Authenticated "+usernames.get(i)); authenticatedUsername = usernames.get(i); authenticated = true; return; @@ -510,8 +510,7 @@ void process(String clientSentence) throws IOException { scan = null; } catch(Exception e) { - System.out.println(""+e); - e.printStackTrace(); + RaspberryJamMod.LOGGER.catching(e); } finally { if (scan != null) @@ -548,7 +547,8 @@ else if (toMatch != null && l.startsWith(toMatch)) { permission = null; } catch (Exception e) { - System.err.println("Error in reading permissions file"); + RaspberryJamMod.LOGGER.error("Error in reading permissions file"); + RaspberryJamMod.LOGGER.catching(e); permission = new Permission(serverWorlds); permission.add(null, Permission.ALL, Permission.ALL, Permission.ALL, Permission.ALL, false); } @@ -577,7 +577,7 @@ protected void runCommand(String cmd, String args, Scanner scan) setState = new SetBlockNBT(pos, id, meta, JsonToNBT.getTagFromJson(tagString)); } catch (NBTException e) { - System.err.println("Cannot parse NBT"); + RaspberryJamMod.LOGGER.warn("Cannot parse NBT"); setState = new SetBlockState(pos, id, meta); } } @@ -835,17 +835,20 @@ public void run() { while (true) { try { Thread.sleep(100); - int new_y = Minecraft.getMinecraft().thePlayer.fishEntity.getPosition().getY(); - float delta = new_y - y; - if (count > 5 && -0.99 > delta && delta > -1.01) { - sendLine("got.fish"); - return; + Entity entity = Minecraft.getMinecraft().thePlayer.fishEntity; + if (entity != null) { + int new_y = entity.getPosition().getY(); + float delta = new_y - y; + if (count > 5 && -0.99 > delta && delta > -1.01) { + sendLine("got.fish"); + return; + } + y = new_y; + count++; } - y = new_y; - count++; } catch (Throwable t) { - System.err.println("Error waiting for fish"); - t.printStackTrace(); + RaspberryJamMod.LOGGER.error("Error waiting for fish"); + RaspberryJamMod.LOGGER.catching(t); } } } @@ -952,11 +955,11 @@ protected void removeEntity(int id) { protected String rename111(String entityId) { if (entityId.startsWith("minecraft:")) return entityId; - System.out.println("Searching for "+entityId); + RaspberryJamMod.LOGGER.info("Searching for "+entityId); String e = entityId.toLowerCase(); for (String[] data: ENTITY_RENAME_111) { if (data[0].equals(e)) { - System.out.println("found minecraft:"+data[1]); + RaspberryJamMod.LOGGER.info("found minecraft:"+data[1]); return "minecraft:" + data[1]; } } @@ -966,9 +969,9 @@ protected String rename111(String entityId) { protected void spawnEntity(Scanner scan) { String entityId = scan.next(); - System.out.println("Helo"); + RaspberryJamMod.LOGGER.info("Helo"); if (RaspberryJamMod.NOMINAL_VERSION >= 1011000) { - System.out.println("ren"); + RaspberryJamMod.LOGGER.info("ren"); entityId = rename111(entityId); } @@ -1002,7 +1005,7 @@ protected void spawnEntity(Scanner scan) { tags.setString("id", entityId); entity = EntityList.createEntityFromNBT(tags, pos.world); if (fixGravity && entity instanceof EntityLiving) { - System.out.println("fixGravity "+fixGravity); + RaspberryJamMod.LOGGER.info("fixGravity "+fixGravity); ((EntityLiving)entity).addPotionEffect(new PotionEffect(MobEffects.levitation, Integer.MAX_VALUE, -1)); } @@ -1135,7 +1138,7 @@ else if (cmd.equals(SETDISTANCE)) { f.set(mc.entityRenderer,d); } catch (Exception e) { - System.out.println(""+e); + RaspberryJamMod.LOGGER.catching(e); } try { Field f = c.getDeclaredField("thirdPersonDistanceTemp"); @@ -1143,7 +1146,7 @@ else if (cmd.equals(SETDISTANCE)) { f.set(mc.entityRenderer,d); } catch (Exception e) { - System.out.println(""+e); + RaspberryJamMod.LOGGER.catching(e); } } else { @@ -1255,7 +1258,7 @@ protected void entitySetDirection(Entity e, double x, double y, double z) { } protected void fail(String string) { - System.err.println("Error: "+string); + RaspberryJamMod.LOGGER.error(string); sendLine("Fail"); } @@ -1341,7 +1344,7 @@ protected void entitySetPos(int id, Scanner scan) { Vec3w pos = Location.decodeVec3w(serverWorlds, x, y, z); if (pos.world != e.getEntityWorld()) { // e.setWorld(pos.world); - System.out.println("World change unsupported"); + RaspberryJamMod.LOGGER.warn("World change unsupported"); // TODO: implement moving between worlds return; } diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/APIServer.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/APIServer.java index 28b7648..9d02654 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/APIServer.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/APIServer.java @@ -31,12 +31,12 @@ public APIServer(MCEventHandler eventHandler, int startPort, int endPort, int ws ws = null; if (wsPort != 0) { try { - System.out.println("Opening websocket server on "+wsPort); + RaspberryJamMod.LOGGER.info("Opening websocket server on "+wsPort); ws = new WSServer(eventHandler, wsPort, clientSide); ws.start(); } catch (Exception e) { - System.out.println("Error "+e); + RaspberryJamMod.LOGGER.catching(e); ws = null; } } @@ -49,7 +49,7 @@ public APIServer(MCEventHandler eventHandler, int startPort, int endPort, int ws else { serverSocket = new ServerSocket(portNumber, 50, InetAddress.getByName("127.0.0.1")); } - System.out.println("RaspberryJamMod listening on port "+portNumber); + RaspberryJamMod.LOGGER.info("RaspberryJamMod listening on port "+portNumber); return; } catch(IOException e) { @@ -119,7 +119,7 @@ private void socketCommunicate(Socket connectionSocket) { api.process(clientSentence); } } catch (Exception e) { - System.out.println(""+e); + RaspberryJamMod.LOGGER.catching(e); } finally { if (api != null) @@ -143,7 +143,7 @@ private void socketCommunicate(Socket connectionSocket) { } public void close() { - System.out.println("Closing sockets"); + RaspberryJamMod.LOGGER.warn("Closing sockets"); listening = false; synchronized(socketList) { for (Socket s : socketList) { diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/CameraCommand.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/CameraCommand.java index e8c154a..249712d 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/CameraCommand.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/CameraCommand.java @@ -87,7 +87,7 @@ static public void setField(Class c, String field, Object object, Object valu f.set(object, value); } catch (Exception e) { - System.out.println(""+e); + RaspberryJamMod.LOGGER.catching(e); } } diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/ClientEventHandler.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/ClientEventHandler.java index ff701e6..59fb4ac 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/ClientEventHandler.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/ClientEventHandler.java @@ -54,10 +54,10 @@ public void onClientConnectedToServer(FMLNetworkEvent.ClientConnectedToServerEve Object address = event.getManager().getRemoteAddress(); if (address instanceof InetSocketAddress) { RaspberryJamMod.serverAddress = ((InetSocketAddress) address).getAddress().getHostAddress(); - System.out.println("Server address "+RaspberryJamMod.serverAddress); + RaspberryJamMod.LOGGER.info("Server address "+RaspberryJamMod.serverAddress); } else { - System.out.println("No IP address"); + RaspberryJamMod.LOGGER.info("No IP address"); } } catch(Exception e) { RaspberryJamMod.serverAddress = null; @@ -71,7 +71,7 @@ public void onWorldUnloaded(WorldEvent.Unload event) { if (! RaspberryJamMod.clientOnlyAPI) return; - System.out.println("Closing world: "+event.getWorld()); + RaspberryJamMod.LOGGER.info("Closing world: "+event.getWorld()); closeAPI(); } @@ -93,7 +93,7 @@ public void registerCommand(ScriptExternalCommand c) { @SubscribeEvent public void onWorldLoaded(WorldEvent.Load event) { RaspberryJamMod.synchronizeConfig(); - System.out.println("Loading world: "+event.getWorld()); + RaspberryJamMod.LOGGER.info("Loading world: "+event.getWorld()); if (RaspberryJamMod.clientOnlyAPI) { registerCommand(new PythonExternalCommand(true)); @@ -115,7 +115,7 @@ public void onWorldLoaded(WorldEvent.Load event) { if (apiServer == null) try { - System.out.println("RaspberryJamMod client only API"); + RaspberryJamMod.LOGGER.info("RaspberryJamMod client only API"); RaspberryJamMod.apiActive = true; if (apiServer == null) { RaspberryJamMod.currentPortNumber = -1; @@ -130,7 +130,7 @@ public void run() { try { apiServer.communicate(); } catch(IOException e) { - System.out.println("RaspberryJamMod error "+e); + RaspberryJamMod.LOGGER.catching(e); } finally { closeAPI(); @@ -147,7 +147,7 @@ public void closeAPI() { for (int i = RaspberryJamMod.scriptExternalCommands.size()-1; i>=0; i--) { ScriptExternalCommand c = RaspberryJamMod.scriptExternalCommands.get(i); if (c.clientSide) { - System.out.println("Unregistering "+c.getClass()); + RaspberryJamMod.LOGGER.info("Unregistering "+c.getClass()); RaspberryJamMod.unregisterCommand(net.minecraftforge.client.ClientCommandHandler.instance,c); RaspberryJamMod.scriptExternalCommands.remove(i); } diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/MCEventHandlerServer.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/MCEventHandlerServer.java index d5f3e44..d83a631 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/MCEventHandlerServer.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/MCEventHandlerServer.java @@ -18,7 +18,7 @@ public MCEventHandlerServer() { @SubscribeEvent public void onChatEvent(ServerChatEvent event) { - System.out.println("onChatEvent "+event.getMessage()); + RaspberryJamMod.LOGGER.info("onChatEvent "+event.getMessage()); APIHandler.ChatDescription cd = new APIHandler.ChatDescription(event.getPlayer().getEntityId(), event.getMessage()); for (APIHandler apiHandler : apiHandlers) apiHandler.addChatDescription(cd); diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/Permission.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/Permission.java index d20d4aa..9592d2f 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/Permission.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/Permission.java @@ -86,7 +86,8 @@ public void add(String s) { } } catch(Exception e) { - System.err.println("Cannot parse permission "+item); + RaspberryJamMod.LOGGER.error("Cannot parse permission "+item); + RaspberryJamMod.LOGGER.catching(e); if (! permitted) { add(null,ALL,ALL,ALL,ALL,false); } diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/RaspberryJamMod.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/RaspberryJamMod.java index 34489de..6f0dc1a 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/RaspberryJamMod.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/RaspberryJamMod.java @@ -1,4 +1,3 @@ - package mobi.omegacentauri.raspberryjammod; import java.io.IOException; @@ -74,7 +73,7 @@ public void preInit(FMLPreInitializationEvent event) { configFile = new Configuration(event.getSuggestedConfigurationFile()); configFile.load(); - System.out.println("configFile = "+configFile.getConfigFile().getPath()); + LOGGER.info("configFile = "+configFile.getConfigFile().getPath()); // KeyBindings.init(); synchronizeConfig(); @@ -89,7 +88,7 @@ public void preInit(FMLPreInitializationEvent event) { @Mod.EventHandler @SideOnly(Side.CLIENT) public void Init(FMLInitializationEvent event) { - System.out.println("FMLInitializationEvent"); + LOGGER.info("FMLInitializationEvent"); clientEventHandler = new ClientEventHandler(); MinecraftForge.EVENT_BUS.register(clientEventHandler); nightVisionExternalCommand = new NightVisionExternalCommand(clientEventHandler); @@ -172,7 +171,7 @@ public void onServerStarting(FMLServerStartingEvent event) { currentPortNumber = -1; fullAPIServer = new APIServer(serverEventHandler, portNumber, searchForPort ? 65535 : portNumber, wsPort, false); currentPortNumber = fullAPIServer.getPortNumber(); - System.out.println("Current port number "+currentPortNumber); + LOGGER.info("Current port number "+currentPortNumber); new Thread(new Runnable() { @Override @@ -180,10 +179,10 @@ public void run() { try { fullAPIServer.communicate(); } catch(IOException e) { - System.out.println("RaspberryJamMod error "+e); + LOGGER.catching(e); } finally { - System.out.println("Closing RaspberryJamMod"); + LOGGER.info("Closing RaspberryJamMod"); if (fullAPIServer != null) fullAPIServer.close(); } @@ -191,7 +190,7 @@ public void run() { }).start(); } catch (IOException e1) { - System.out.println("Threw "+e1); + LOGGER.catching(e1); } ScriptExternalCommand[] commands = new ScriptExternalCommand[] { @@ -243,7 +242,7 @@ static public void unregisterCommand(CommandHandler ch, ICommand c) { Field commandSetField = findFieldByType(ch.getClass(), "java.util.Set"); - System.out.println("Found command set field "+commandSetField.getName()); + LOGGER.info("Found command set field "+commandSetField.getName()); // try { // commandSetField = findField(ch.getClass(),"commandSet"); @@ -255,7 +254,7 @@ static public void unregisterCommand(CommandHandler ch, ICommand c) { commandSet.remove(c); } catch (Exception e) { - System.err.println("Oops "+e); + LOGGER.catching(e); } } } diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/ScriptExternalCommand.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/ScriptExternalCommand.java index 56862cd..d257cbe 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/ScriptExternalCommand.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/ScriptExternalCommand.java @@ -266,7 +266,7 @@ public void execute(MinecraftServer server, ICommandSender sender, String[] args pb.command(cmd); try { - System.out.println("Running "+script); + RaspberryJamMod.LOGGER.info("Running "+script); Process runningScript = pb.start(); runningScripts.add(runningScript); gobble(runningScript.getInputStream(), player, ""); diff --git a/19/src/main/java/mobi/omegacentauri/raspberryjammod/WSServer.java b/19/src/main/java/mobi/omegacentauri/raspberryjammod/WSServer.java index c1c7b2d..5f383c1 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/WSServer.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/WSServer.java @@ -21,7 +21,7 @@ public class WSServer extends WebSocketServer { public WSServer( MCEventHandler eventHandler, int port, boolean clientSide ) throws UnknownHostException { super( new InetSocketAddress( port ) ); - System.out.println("Websocket server on "+port); + RaspberryJamMod.LOGGER.info("Websocket server on "+port); controlServer = ! clientSide; this.eventHandler = eventHandler; handlers = new HashMap(); @@ -40,7 +40,7 @@ private static boolean isLocal(InetAddress addr) { @Override public void onOpen( final WebSocket conn, ClientHandshake handshake ) { - System.out.println("websocket connect from "+conn.getRemoteSocketAddress().getHostName()); + RaspberryJamMod.LOGGER.info("websocket connect from "+conn.getRemoteSocketAddress().getHostName()); if (!RaspberryJamMod.allowRemote && ! isLocal(conn.getRemoteSocketAddress().getAddress())) { conn.closeConnection(1, "Remote connections disabled"); return; @@ -70,7 +70,7 @@ public void write(char[] data, int start, int len) @Override public void onClose( WebSocket conn, int code, String reason, boolean remote ) { - System.out.println("websocket closed for reason "+reason); + RaspberryJamMod.LOGGER.info("websocket closed for reason "+reason); APIHandler apiHandler = handlers.get(conn); if (apiHandler != null) { apiHandler.writer.close();