diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftObjective.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftObjective.java
index 0ef48af0d3..2b96d3c97c 100644
--- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftObjective.java
+++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftObjective.java
@@ -2,13 +2,13 @@ package org.bukkit.craftbukkit.scoreboard;
 
 import net.minecraft.server.Scoreboard;
 import net.minecraft.server.ScoreboardObjective;
-import net.minecraft.server.ScoreboardServer;
 
 import org.apache.commons.lang.Validate;
 import org.bukkit.OfflinePlayer;
 import org.bukkit.craftbukkit.util.CraftChatMessage;
 import org.bukkit.scoreboard.DisplaySlot;
 import org.bukkit.scoreboard.Objective;
+import org.bukkit.scoreboard.RenderType;
 import org.bukkit.scoreboard.Score;
 
 final class CraftObjective extends CraftScoreboardComponent implements Objective {
@@ -86,6 +86,21 @@ final class CraftObjective extends CraftScoreboardComponent implements Objective
         return null;
     }
 
+    @Override
+    public void setRenderType(RenderType renderType) throws IllegalStateException {
+        Validate.notNull(renderType, "RenderType cannot be null");
+        CraftScoreboard scoreboard = checkState();
+
+        this.objective.a(CraftScoreboardTranslations.fromBukkitRender(renderType));
+    }
+
+    @Override
+    public RenderType getRenderType() throws IllegalStateException {
+        CraftScoreboard scoreboard = checkState();
+
+        return CraftScoreboardTranslations.toBukkitRender(this.objective.f());
+    }
+
     public Score getScore(OfflinePlayer player) throws IllegalArgumentException, IllegalStateException {
         Validate.notNull(player, "Player cannot be null");
         CraftScoreboard scoreboard = checkState();
@@ -112,7 +127,7 @@ final class CraftObjective extends CraftScoreboardComponent implements Objective
         if (getScoreboard().board.getObjective(objective.getName()) == null) {
             throw new IllegalStateException("Unregistered scoreboard component");
         }
-        
+
         return getScoreboard();
     }
 
diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboard.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboard.java
index 61c0a55c0f..7320f339fd 100644
--- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboard.java
+++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboard.java
@@ -10,13 +10,13 @@ import org.bukkit.Bukkit;
 import org.bukkit.OfflinePlayer;
 import org.bukkit.scoreboard.DisplaySlot;
 import org.bukkit.scoreboard.Objective;
+import org.bukkit.scoreboard.RenderType;
 import org.bukkit.scoreboard.Score;
 import org.bukkit.scoreboard.Team;
 
 import com.google.common.base.Function;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Iterables;
-import net.minecraft.server.IScoreboardCriteria;
 import org.bukkit.craftbukkit.util.CraftChatMessage;
 
 public final class CraftScoreboard implements org.bukkit.scoreboard.Scoreboard {
@@ -33,15 +33,21 @@ public final class CraftScoreboard implements org.bukkit.scoreboard.Scoreboard {
 
     @Override
     public CraftObjective registerNewObjective(String name, String criteria, String displayName) throws IllegalArgumentException {
+        return registerNewObjective(name, criteria, displayName, RenderType.INTEGER);
+    }
+
+    @Override
+    public CraftObjective registerNewObjective(String name, String criteria, String displayName, RenderType renderType) throws IllegalArgumentException {
         Validate.notNull(name, "Objective name cannot be null");
         Validate.notNull(criteria, "Criteria cannot be null");
         Validate.notNull(displayName, "Display name cannot be null");
+        Validate.notNull(renderType, "RenderType cannot be null");
         Validate.isTrue(name.length() <= 16, "The name '" + name + "' is longer than the limit of 16 characters");
         Validate.isTrue(displayName.length() <= 128, "The display name '" + displayName + "' is longer than the limit of 128 characters");
         Validate.isTrue(board.getObjective(name) == null, "An objective of name '" + name + "' already exists");
 
         CraftCriteria craftCriteria = CraftCriteria.getFromBukkit(criteria);
-        ScoreboardObjective objective = board.registerObjective(name, craftCriteria.criteria, CraftChatMessage.fromStringOrNull(displayName), IScoreboardCriteria.EnumScoreboardHealthDisplay.INTEGER);
+        ScoreboardObjective objective = board.registerObjective(name, craftCriteria.criteria, CraftChatMessage.fromStringOrNull(displayName), CraftScoreboardTranslations.fromBukkitRender(renderType));
         return new CraftObjective(this, objective);
     }
 
diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardTranslations.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardTranslations.java
index d08e5a281e..207ffdd252 100644
--- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardTranslations.java
+++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardTranslations.java
@@ -1,8 +1,10 @@
 package org.bukkit.craftbukkit.scoreboard;
 
+import net.minecraft.server.IScoreboardCriteria;
 import net.minecraft.server.Scoreboard;
 
 import org.bukkit.scoreboard.DisplaySlot;
+import org.bukkit.scoreboard.RenderType;
 
 import com.google.common.collect.ImmutableBiMap;
 
@@ -23,4 +25,11 @@ class CraftScoreboardTranslations {
         return Scoreboard.getSlotForName(SLOTS.get(slot));
     }
 
+    static RenderType toBukkitRender(IScoreboardCriteria.EnumScoreboardHealthDisplay display) {
+        return RenderType.valueOf(display.name());
+    }
+
+    static IScoreboardCriteria.EnumScoreboardHealthDisplay fromBukkitRender(RenderType render) {
+        return IScoreboardCriteria.EnumScoreboardHealthDisplay.valueOf(render.name());
+    }
 }