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..e34ad61 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/APIHandler.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/APIHandler.java @@ -3,34 +3,28 @@ // 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.renderer.EntityRenderer; +import net.minecraft.client.settings.KeyBinding; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityList; import net.minecraft.entity.EntityLiving; @@ -44,7 +38,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 +46,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 +247,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; @@ -454,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; @@ -516,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) @@ -529,8 +522,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)); @@ -556,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); } @@ -566,6 +558,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); @@ -583,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); } } @@ -827,11 +821,58 @@ 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); + 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++; + } + } catch (Throwable t) { + RaspberryJamMod.LOGGER.error("Error waiting for fish"); + RaspberryJamMod.LOGGER.catching(t); + } + } + } + }.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 @@ -914,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]; } } @@ -928,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); } @@ -964,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)); } @@ -1090,14 +1131,14 @@ 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); f.set(mc.entityRenderer,d); } catch (Exception e) { - System.out.println(""+e); + RaspberryJamMod.LOGGER.catching(e); } try { Field f = c.getDeclaredField("thirdPersonDistanceTemp"); @@ -1105,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 { @@ -1217,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"); } @@ -1303,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; } @@ -1359,7 +1400,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 +1407,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 +1531,6 @@ public String getHitsAndClear() { String out = ""; synchronized(hits) { - int count = hits.size(); for (HitDescription e : hits) { if (out.length() > 0) out += "|"; @@ -1508,7 +1546,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..9d02654 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; @@ -57,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; } } @@ -75,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) { @@ -93,7 +67,6 @@ public int getPortNumber() { void communicate() throws IOException { while(listening) { - Socket connectionSocket = null; if (! RaspberryJamMod.concurrent) { try { socketCommunicate(serverSocket.accept()); @@ -146,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) @@ -170,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/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..249712d 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; @@ -96,19 +80,19 @@ 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); f.set(object, value); } catch (Exception e) { - System.out.println(""+e); + RaspberryJamMod.LOGGER.catching(e); } } 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 b46d6ea..59fb4ac 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/ClientEventHandler.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/ClientEventHandler.java @@ -1,51 +1,16 @@ 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; @@ -89,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; @@ -106,14 +71,14 @@ 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(); } @SideOnly(Side.CLIENT) @SubscribeEvent - public void onSpecialsPre(RenderLivingEvent.Specials.Pre event) { + public void onSpecialsPre(RenderLivingEvent.Specials.Pre event) { if (RaspberryJamMod.noNameTags) event.setCanceled(true); } @@ -128,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)); @@ -145,13 +110,12 @@ public void onWorldLoaded(WorldEvent.Load event) { if (apiEventHandler == null) { apiEventHandler = new MCEventHandlerClientOnly(); - FMLCommonHandler.instance().bus().register(apiEventHandler); MinecraftForge.EVENT_BUS.register(apiEventHandler); } 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; @@ -166,7 +130,7 @@ public void run() { try { apiServer.communicate(); } catch(IOException e) { - System.out.println("RaspberryJamMod error "+e); + RaspberryJamMod.LOGGER.catching(e); } finally { closeAPI(); @@ -183,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); } @@ -191,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/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..d83a631 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; @@ -19,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/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/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/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..6f0dc1a 100644 --- a/19/src/main/java/mobi/omegacentauri/raspberryjammod/RaspberryJamMod.java +++ b/19/src/main/java/mobi/omegacentauri/raspberryjammod/RaspberryJamMod.java @@ -1,51 +1,25 @@ - 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.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.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -58,7 +32,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 +59,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; @@ -98,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(); @@ -113,10 +88,9 @@ 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); - FMLCommonHandler.instance().bus().register(clientEventHandler); nightVisionExternalCommand = new NightVisionExternalCommand(clientEventHandler); net.minecraftforge.client.ClientCommandHandler.instance.registerCommand(nightVisionExternalCommand); cameraCommand = new CameraCommand(); @@ -159,7 +133,7 @@ public void onServerStopping(FMLServerStoppingEvent event) { apiActive = false; if (serverEventHandler != null) { - FMLCommonHandler.instance().bus().unregister(serverEventHandler); + MinecraftForge.EVENT_BUS.unregister(serverEventHandler); serverEventHandler = null; } @@ -192,13 +166,12 @@ public void onServerStarting(FMLServerStartingEvent event) { apiActive = true; serverEventHandler = new MCEventHandlerServer(); - FMLCommonHandler.instance().bus().register(serverEventHandler); MinecraftForge.EVENT_BUS.register(serverEventHandler); try { 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 @@ -206,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(); } @@ -217,7 +190,7 @@ public void run() { }).start(); } catch (IOException e1) { - System.out.println("Threw "+e1); + LOGGER.catching(e1); } ScriptExternalCommand[] commands = new ScriptExternalCommand[] { @@ -230,7 +203,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()) { @@ -245,7 +218,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)) @@ -256,7 +229,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); @@ -269,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"); @@ -277,11 +250,11 @@ 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) { - 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 c0f5843..d257cbe 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; @@ -272,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/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..5f383c1 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; @@ -31,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(); @@ -50,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; @@ -80,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(); 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):