Code Monkey home page Code Monkey logo

minecraft-console's Introduction

Minecraft Console Mod

Latest Version (most likely to be stable, may not be up to date)

Latest Build/Snapshot (can be a little unstable, almost always up to date)

Also found on the Minecraft Forums

Features

  • Scrollable chat window
  • Copy+Paste
  • Input history
  • Very customisable
  • Works in all Single and Multi player game modes
  • Dynamic window resizing
  • No text overflow
  • Keeps history of whole Minecraft session, not just per world
  • Key bindings
  • Word completion with server spesific list, including player names
    • @ also works, ex @ar will match to any playername that starts with "ar" like @arbiter
    • WorldEdit commands for world completion is supported.
    • Most normal commands is also supported.
    • Custom words as well.

screenshot

Click the image above for the youtube video (a bit old)

Install

  1. Install modloader
  2. Install Minecraft Console
  3. (optional) Install GuiAPI
  4. (optional) Install Single Player Commands

Notes:

  • Should be compatible with FML (Forge ModLoader)
  • (not yet for 1.4.2) GuiAPI is used for the options menu, the mod should work without it tho.
  • (not yet for 1.4.2) Single Player Commands is supported.

Both mods can be installed with the instructions found in the modloader thread. However, best practise for version 1.2 an up is to put the Minecraft_Console.zip in the .minecraft/mods/ folder

Windows:

  1. Open up %appdata%, if you don't know how to do this, start>run, then type in %appdata%
  2. Browse to .minecraft/bin
  3. Open up minecraft.jar with WinRAR or 7zip.
  4. Drag and drop the necessary files into the jar.
  5. Delete the META-INF folder in the jar.
  6. Run Minecraft, enjoy!

Macintosh:

  1. Go to Applications>Utilities and open terminal.

  2. Type in the following, line by line:

       cd ~
       mkdir mctmp
       cd mctmp
       jar xf ~/Library/Application\ Support/minecraft/bin/minecraft.jar
    
  3. Outside of terminal, copy all the files and folders into the mctmp directory.

  4. Back inside terminal, type in the following:

       rm META-INF/MOJANG_C.*
       jar uf ~/Library/Application\ Support/minecraft/bin/minecraft.jar ./
       cd ..
       rm -rf mctmp
    
  5. Run Minecraft, enjoy!

Configuration

The GUI can be customised quite a bit already, and I am working on more which will allow everyone (if they want) to have a unique looking GUI. The customisation comes from the configuration file located at .minecraft/mods/console/gui.properties

Colors

Within the settings file, any setting that starts with COLOR_ is a color. To edit these colors simply put in your new color in 32 bit unsigned format.

For example, if you wish to change the output box background: COLOR_OUTPUT_BACKGROUND=0xFFFFFF

This specifies that the OUTPUT background should be white. The bits are specified as below:

0xAARRGGBB

Where AA = Alpha RR = Red GG = Green BB = Blue

Key Bindings

The mod now supports binding keys to events, there are currently no commands that allow you to configure this is game though.

To add or change a key binding simply create a new file (or edit the existing) at: .minecraft/mods/console/bindings.properties

Each line in the file specifies a key binding the format is expected as below: KEY_CODE_LIST=INPUT

KEY_CODE_LIST is a comma separated list of key codes for all the keys which need to be pressed at the same time in order to execute the INPUT INPUT is what is executed - it is sent to the server if you're on multi-player or into the chatline if you're on single player.

Examples:

  • 19 is the R key
  • 42,19 is Shift+R keys
  • 42,19,20 is Shift+R+T keys

Key codes Source

Downloads

minecraft-console's People

Contributors

fsmv avatar ndrake avatar simo415 avatar vayner avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

minecraft-console's Issues

Tabcompletion for a name after a command makes cursor jump to wrong position

If I say want to kick someone, I would type /kick foo<tab>; While this work if there is only one person whom has "foo" as prefix. But if more than one person has this prefix, and I want to press tab a second time, the cursor has jumped to the first position on the row, and the next nick is placed over the /kick, i.e. if the first nick is FooBar and second is FooBaz, it ends up as FooBazobar instead of /kick FooBaz.

Line wrapping can cause a line to dissappear

From Turtizzle

I now had the situation that a line completely disappeared in console:


(The 2nd part of Wanda's sentence.)

I have no idea what caused this (I had MineCraft minimized), and this was the first and only time it happened so far.

Clicking in the history box can cause a crash

java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 4
    at java.util.Vector.get(Vector.java:694)
    at com.sijobe.console.GuiConsole.mouseClicked(GuiConsole.java:1586)
    at net.minecraft.src.GuiScreen.handleMouseInput(GuiScreen.java:165)
    at net.minecraft.src.GuiScreen.handleInput(GuiScreen.java:151)
    at net.minecraft.client.Minecraft.runTick(Minecraft.java:1642)
    at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:891)
    at net.minecraft.client.Minecraft.run(Minecraft.java:799)
    at java.lang.Thread.run(Thread.java:662)

StringIndexOutOfBoundsException when tabbing nothing

I was stupid to use TAB when I didn't have anything to be tabbled; and I then got following error:

Mods loaded: 3
ModLoader 1.2.3
mod_Console 1.2
mod_TooManyItems 1.2.2/1.2.3 2012-03-03

      Minecraft has crashed!      
      ----------------------      

Minecraft has stopped running because it encountered a problem.




--- BEGIN ERROR REPORT b8321e8c --------
Generated 3/16/12 10:41 PM

Minecraft: Minecraft 1.2.3
OS: Linux (amd64) version 3.1.0-1-amd64
Java: 1.7.0_04-ea, Oracle Corporation
VM: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
LWJGL: 2.4.2
OpenGL: GeForce GTS 450/PCI/SSE2 version 4.2.0 NVIDIA 290.10, NVIDIA Corporation

java.lang.StringIndexOutOfBoundsException: String index out of range: -8
    at java.lang.String.substring(Unknown Source)
    at com.sijobe.console.GuiConsole.a(GuiConsole.java:795)
    at vl.j(SourceFile:130)
    at vl.i(SourceFile:108)
    at net.minecraft.client.Minecraft.k(SourceFile:1386)
    at hn.k(MinecraftImpl.java:40)
    at net.minecraft.client.Minecraft.x(SourceFile:724)
    at net.minecraft.client.Minecraft.run(SourceFile:664)
    at java.lang.Thread.run(Unknown Source)
--- END ERROR REPORT 1897f950 ----------

Add a buttons to open the settings files

Like in (Inventory Tweaks)[http://www.minecraftforum.net/topic/323444-11spsmp-inventory-tweaks-138-feb-14/], a button that opens the config file in notepad for easy editing would make it so users don't have to find the config files anymore.

We would have to also include a reload button or periodically check the file for modifications. Inventory tweaks checks for modification periodically but I'm not sure I like the resource strain.

Sometimes server output isn't shown

If the console window is closed too quickly, for instance if CLOSE_ON_SUBMIT is true, after entering a message or a command (Even with SPC locally) the output from that command doesn't appear.

Cannot get console to work when zombe mod pack is installed

After some testing, I've concluded that when I have zombe mod pack (6.0y) activated, I cannot any more access the minecraft console at all. I've tried to load it before or after eachother without any success. I've not though modified zombe anything by removing any of the classes.

Degrading preformance

As time passes the cpu load increases at a steady rate until it hits the thread's peak cpu usage. There's also possibly a memory leak.

This was with the mod installed on top of Technic Pack so it might just be some sort of weird incompatibility. Further testing on it's own is required.

Better configuration options

We should provide some sort of GUI for configuration.

As well as the current options we should add the ability to customize, or at least disable, keyboard shortcuts (closing the console, all of the copy/paste commands, tab completion etc.). Some users have complained about them already.

Pasting over a highlighted section of the input crashes the game sometimes

Occurs when pasting a string over a highlighted section pushes the cursor out the input string's bounds

java.lang.StringIndexOutOfBoundsException: String index out of range: -1
    at java.lang.String.substring(String.java:1937)
    at com.sijobe.console.GuiConsole.keyTyped(GuiConsole.java:480)
    at net.minecraft.src.GuiScreen.handleKeyboardInput(GuiScreen.java:137)
    at net.minecraft.src.GuiScreen.handleInput(GuiScreen.java:109)
    at net.minecraft.client.Minecraft.runTick(Minecraft.java:1328)
    at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:694)
    at net.minecraft.client.Minecraft.run(Minecraft.java:634)
    at java.lang.Thread.run(Thread.java:662)

1.2.3 compability

Though I didn't expected it to work, but I went ahead and tried to launch minecraft-console 1.2 using modloader 1.2.3, and I got following error:

Mods loaded: 1
ModLoader 1.2.3

      Minecraft has crashed!      
      ----------------------      

Minecraft has stopped running because it encountered a problem.




--- BEGIN ERROR REPORT bf8dd11a --------
Generated 3/4/12 4:40 PM

Minecraft: Minecraft 1.2.3
OS: Linux (amd64) version 3.1.0-1-amd64
Java: 1.7.0_04-ea, Oracle Corporation
VM: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
LWJGL: 2.4.2
OpenGL: GeForce GTS 450/PCI/SSE2 version 4.2.0 NVIDIA 290.10, NVIDIA Corporation

java.lang.VerifyError: Cannot inherit from final class
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$100(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.Class.getDeclaredFields0(Native Method)
    at java.lang.Class.privateGetDeclaredFields(Unknown Source)
    at java.lang.Class.getDeclaredFields(Unknown Source)
    at ModLoader.setupProperties(ModLoader.java:1720)
    at ModLoader.addMod(ModLoader.java:292)
    at ModLoader.readFromClassPath(ModLoader.java:1217)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at magic.launcher.Launcher.a(Unknown Source)
    at magic.launcher.j.a(Unknown Source)
    at magic.launcher.p.println(Unknown Source)
    at ModLoader.init(ModLoader.java:882)
    at ModLoader.addAllRenderers(ModLoader.java:186)
    at aho.<init>(aho.java:79)
    at aho.<clinit>(aho.java:9)
    at net.minecraft.client.Minecraft.a(SourceFile:267)
    at net.minecraft.client.Minecraft.run(SourceFile:650)
    at java.lang.Thread.run(Unknown Source)
--- END ERROR REPORT 46828ef1 ----------

I've no idea how to update and rebuild these sources sadly, thus I hope an new version is going to be released soon :)

Client crash

Tried latest build, and I have had the client crashed a couple of times now (I think when I opening the console window):

Mods loaded: 3
ModLoader 1.2.3
mod_Console 1.2
mod_TooManyItems 1.2.2/1.2.3 2012-03-03

      Minecraft has crashed!      
      ----------------------      

Minecraft has stopped running because it encountered a problem.




--- BEGIN ERROR REPORT b8321e8c --------
Generated 3/16/12 8:22 PM

Minecraft: Minecraft 1.2.3
OS: Linux (amd64) version 3.1.0-1-amd64
Java: 1.7.0_04-ea, Oracle Corporation
VM: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
LWJGL: 2.4.2
OpenGL: GeForce GTS 450/PCI/SSE2 version 4.2.0 NVIDIA 290.10, NVIDIA Corporation

java.util.ConcurrentModificationException
    at java.util.Vector$Itr.checkForComodification(Unknown Source)
    at java.util.Vector$Itr.next(Unknown Source)
    at com.sijobe.console.GuiConsole.buildLines(GuiConsole.java:321)
    at com.sijobe.console.GuiConsole.a(GuiConsole.java:1272)
    at lo.b(EntityRenderer.java:1095)
    at ZER.b(ZER.java:15)
    at net.minecraft.client.Minecraft.x(SourceFile:757)
    at net.minecraft.client.Minecraft.run(SourceFile:664)
    at java.lang.Thread.run(Unknown Source)
--- END ERROR REPORT b522de7b ----------


Tab completion and colored nicks

On the server I hang out, we use a chat plugin that will color the nick names in the user list depending on the rank. Sadly this will interfere with the tab completion feature; I can't tabcomplete names, and if I just tab without any initial characters, it will complete the full colored name.

When minecraft wraps text, it messes up text wrapping in the console

From Turtizzle

Some 2nd lines are being cut off pretty early.
I suppose that, additionally to the "new" early cap at the end of a word, it also adopts minecraft's default chat window's message-wrapping.

In other words: If minecraft's chat decides to cap a word somewhere, the console will also do that, even though there's only >4 characters displayed on the current line so far.

Screenshots:

Minecraft's default text-wrapping in this case:

(I wonder why it wraps incoming text like this anyway, since its width is much larger than minecraft's default chat.)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.