Saturday, July 25, 2015

TabbyChat beta 3

I've released beta 3 today. Additionally, I've started uploading it to CurseForge so I can more easily watch it and inspect download counts. Links are below.




+ Revamped settings. They now use annotations to define settings.
+ Added settings objects, lists, and files.
+ Added update checker.
+ Added tabbychat proxy for basic tabbychat abstraction. Implementation is in tabbychat.
+ Add ChatBuilder
* Lighten the borders of gui components.
- Removed LogHelper (It was just a wrapper for Logger)
* Bug fixes

+ Add filter sound notifications
+ Add new system for channel status. Depreciated the old way.
+ Add Optional macros compatibility module.
+ Add PM Channels (prepended with @)
+ Add regex variables (See wiki)
+ Add regex group support to destinations (See wiki)
+ Add chatbox resizing
+ Make chat persistent between joins.
* Improve look of chat
* Fix wake up button

Check the commit messages for more details.

Thursday, June 4, 2015

TabbyChat 2 beta 2a

Edit: If you downloaded it already, download again. I fixed a bug with the updater that made it think it was always out of date.

Here's another update to TabbyChat. This fixes issues with outbound chat not being sent and links not being clickable. It also adds an update checker. An update to MnmUtils is not required.

2.0.0-beta2a: Main | Dev

MnmUtil downloads are in the previous post.

As always, report bugs.

Friday, May 29, 2015

TabbyChat 2 Beta2 Update

Update: beta 2a has been released

I'm releasing beta 2 of tabbychat 2 for Minecraft 1.8. It's been a while since the last release, so there are a lot of changes and additions, so I won't list them all. I will list some major features and bugs that I added or fixed.

+ Chat Continuation (up to 300 chars)
+ Ability to "forget" channels.
+ Channel prefix + hiding
+ Added experimental spam prejudice  (Thanks, Zemoj)
+ Chat logging
+ Scrollbar
+ PgUp PgDn now works on chat
* The tray now expands for the tabs
* Chatbox movement is now more fluid
* Fix issues with scaling
* Fix crash without Forge
* Moved some packages around
* Other fixes

Additionally, many changes were made to the util library, so an update to that will be required. Its version is 0.2


TabbyChat - Main | Dev

MnmUtils - Main | Dev

Note: With the recent merge of FML and Forge, I've dropped support for FML standalone. Please install full Forge. Don't worry, it will still work with just LiteLoader.

Friday, May 8, 2015

Link Info 0.4 Update

At the start of May, YouTube removed all support for the depreciated API v2, which is what I was using, so I am forced to update this. I wasn't planning on updating Link Info for a while because there are still some features I want to implement, but here I am.


Forum Thread:


  • Youtube: Changed to use oembed. This fixes The recent breakage.
  • Youtube: Removed duration, views, rating, and comment count. Will be back soon.
  • Imgur: Added support.
  • Images: Support for animated gifs
  • Several under the hood changes
  • Other stuff that I forgot about

Tuesday, March 31, 2015

Achievement Get

JamOOJam Beta was last weekend, and I participated. The mod which I submitted, Achievement Get, is a game of achievements.

It allows server admins (or single players) to create custom stat-based achievements for their players to achieve. Creating new achievements is as simple as editing a json file and restarting the server. See the wiki page for more info on it.

This mod is NOT required on the client, so it is an optional mod. Players without it will not suffer from any bugs because of it. But if they do have it installed, they will receive a popup when they get an achievement and also be able to check their progress in the achievement page.

Requires Minecraft Forge and Minecraft 1.7.10. A 1.8 version is also available.

The 1.8 version is recommended because 1.8 has significantly more stats than 1.7.10 for achievement creators to take advantage of. The actual code in either versions hasn't changed.

Minecraft Forums:


1.7.10: AchievementGet-1.7.10-1.0.1
1.8: AchievementGet-1.8-1.0.1.jar

Source and Copyright

Achievement Get uses the Apache v2.0 licence. You may use it in modpacks as long as you give credit. The source is available on Github.

Sunday, March 15, 2015

Kappa - Blockstates

I've made some additions to my annotation processor. I've added some new annotations for dealing with and automatically generating json blockstates and models.  The source is available on my Kappa Github repository.

The built jar is going to be a bit larger because I'm including gson with it. I do this so it works in eclipse without having to add another entry to the factory path.

Here's a short example on how to use this for Biomes O' Plenty.

@BlockDef(namespace = "biomesoplenty", blockname = "log", variants = {
        @BlockVariant(variant = "axis=y,variant=cherry", modelName = "cherry_log",
                modelType = ModelType.CUBE_COLUMN, textures = { "cherry_log_top", "cherry_log" })            @BlockVariant(variant = "axis=x,variant=cherry", modelName = "cherry_log",
                modelType = ModelType.CUBE_COLUMN, textures = { "cherry_log_top", "cherry_log" },
                pitch = 90),
        @BlockVariant(variant = "axis=z,variant=cherry", modelName = "cherry_log",
                modelType = ModelType.CUBE_COLUMN, textures = { "cherry_log_top", "cherry_log" },
                pitch = 90, yaw = 90)
Block log;

With the @BlockDef annotation, it can be placed on any field or variable, though preferably on a Block. You will give it arguments namespace and blockname. Namespace is your mod's ID or the domain your assets will be in. The variants argument is optional and will use the "normal" variant with a model of the same name as the block.

@BlockVariant will define both variants and models for the block def. All arguments are optional, so you can change what needs to be changed. You can rotate the model using pitch and yaw. The length of textures depends on modelType. See ModelType for a full list of models and their arguments.

Wednesday, March 4, 2015

HD Font Generator

Update March 5, 2015 (1.2): Use GNU Unifont as a fallback if a character isn't supported (it looks very similar to the default unicode font), decrease font size when it is too big and won't fit.

Update March 4, 2015 (1.1): Add experimental unicode generation and made errors more descriptive. Not all fonts support all the unicode characters, so this setting is not recommended.

Recently, I figured out how to create dynamic images in Java, so I felt like I should create a font generator from it, and now here I am writing this blog post.

This tool creates HD font resource packs using installed fonts on the system. If it's supported and installed in your computer, you can use it.

To use, select the font and texture size from the dropdown boxes and click Create. A zip named using the font name and the size will be created in the directory it was started from. Add this file as a resource pack.

For command line usage, just give it a font name with spaces replaced with underscores, then the texture size, one of [32, 64, 128, 256, 512]. A nonexistent font will use the JRE default (Dialog.plain).

Download [1.2] (Requires Oracle Java 7, not OpenJDK)
Pregenerated x32 Fonts (Agency, Arial Rounded, Arial, Comic Sans, Courier New, Impact, Tahoma, Times New Roman, Verdana) (Generated with v1.0)

Note: Every font is different, so some may look weird and require tweaking after generation, but most fonts should be fine.