Welcome on MasterOf13FPS! MasterOf13FPS

Register today or sign up if you are already a member and never miss any cool content again :)

Mein Client Crasht

MasterOf13FPS

Administrator
Staff member
Administrator
MasterOf13FPS
Joined
Jul 11, 2020
Messages
0
Reaction score
25
Points
0
Hallo mein Client crasht und Spuckt diese Fehler meldung aus

Code:
The game crashed whilst initializing game
Error: java.lang.NullPointerException: Initializing game


at java.awt.Font.createFont0(Font.java:1000)
22:28:20 game info at java.awt.Font.createFont(Font.java:877)
22:28:20 game info at de.Fqbi.knop.font1.Maturasc.loadFonts(Maturasc.java:23)
22:28:20 game info at de.Fqbi.knop.Knop.StartClient(Knop.java:42)
22:28:20 game info at net.minecraft.client.Minecraft.startGame(Minecraft.java:563)
22:28:20 game info at net.minecraft.client.Minecraft.run(Minecraft.java:399)
22:28:20 game info at net.minecraft.client.main.Main.main(Main.java:114)

und das ist die Klasse Maturasc

package de.Fqbi.knop.font1;

import java.awt.Font;
import java.awt.FontFormatException;
import java.io.IOException;
import java.io.InputStream;

import de.Fqbi.knop.ui.UnicodeFontRenderer;
import net.minecraft.client.Minecraft;

public class Maturasc {
  
    public static UnicodeFontRenderer menuKnop;
    public static UnicodeFontRenderer hotbarKnop;
  
    public static void loadFonts() {
      
        InputStream is = Maturasc.class.getResourceAsStream("fonts/Maturasc.ttf");
  
        Font font = null;
      
        try {
            font = Font.createFont(Font.TRUETYPE_FONT, is);
          
        }catch(FontFormatException e) {
            e.printStackTrace();
        }catch(IOException e) {
            e.printStackTrace();
        }
      
            menuKnop = new UnicodeFontRenderer(font.deriveFont(60F));
            hotbarKnop = new UnicodeFontRenderer(font.deriveFont(40F));;
          
            if(Minecraft.getMinecraft().gameSettings.language != null) {
                Maturasc.menuKnop.setUnicodeFlag(true);
                Maturasc.hotbarKnop.setUnicodeFlag(true);
          
                Maturasc.menuKnop.setBidiFlag(Minecraft.getMinecraft().mcLanguageManager.isCurrentLanguageBidirectional());
                Maturasc.hotbarKnop.setBidiFlag(Minecraft.getMinecraft().mcLanguageManager.isCurrentLanguageBidirectional());

            }
        }
    public static enum FontType {
        EMBOSS_BOTTOM, EMBOSS_TOP, NORMAL, OUTLINE_THIN, SHADOW_THICK, SHADOW_THIN;
    }
}
 
Last edited by a moderator:
Liegt am FontRenderer, hab ich auch.... hab keine lösung
 
Wenn ich mein Client in Eclipse Debug geht es Super aber wenn ich exportiere geht es nicht
 
Das liegt an deinem Fontrenderer.
benutz den hier:
[HIDE]
package none;

import static org.lwjgl.opengl.GL11.GL_BLEND;
import static org.lwjgl.opengl.GL11.GL_LIGHTING;
import static org.lwjgl.opengl.GL11.GL_TEXTURE_2D;
import static org.lwjgl.opengl.GL11.glDisable;
import static org.lwjgl.opengl.GL11.glEnable;
import static org.lwjgl.opengl.GL11.glIsEnabled;
import static org.lwjgl.opengl.GL11.glPopMatrix;
import static org.lwjgl.opengl.GL11.glPushMatrix;
import org.lwjgl.opengl.GL11;
import org.newdawn.slick.UnicodeFont;
import org.newdawn.slick.font.effects.ColorEffect;

import java.awt.Color;
import java.awt.Font;

import net.minecraft.client.Minecraft;
import net.minecraft.util.StringUtils;

import org.lwjgl.opengl.GL11;

public class FontUtils {

private Minecraft mc = Minecraft.getMinecraft();

private final UnicodeFont unicodeFont;
private final int[] colorCodes = new int[32];

private int fontType, size;
private String fontName;

private float kerning;

//Fonts eintragen und dann anschliessend so rendern: FontUtils.weed.drawString() etc.

public static FontUtils weed = new FontUtils("My 70s Ding", Font.BOLD, 50);
public static FontUtils Ver = new FontUtils("Segoe UI", Font.BOLD, 40);


public FontUtils(String fontName, int fontType, int size) {
this(fontName, fontType, size, 0);
}

public FontUtils(String fontName, int fontType, int size, float kerning) {
this.fontName = fontName;
this.fontType = fontType;
this.size = size;

this.unicodeFont = new UnicodeFont(new Font(fontName, fontType, size));
this.kerning = kerning;

this.unicodeFont.addAsciiGlyphs();
this.unicodeFont.getEffects().add(new ColorEffect(java.awt.Color.WHITE));

try {
this.unicodeFont.loadGlyphs();
} catch(Exception e) {
e.printStackTrace();
}

for(int i = 0; i < 32; i++) {
int shadow = (i >> 3 & 1) * 85;
int red = (i >> 2 & 1) * 170 + shadow;
int green = (i >> 1 & 1) * 170 + shadow;
int blue = (i >> 0 & 1) * 170 + shadow;

if(i == 6) {
red += 85;
}

if(i >= 16) {
red /= 4;
green /= 4;
blue /= 4;
}

this.colorCodes = (red & 255) << 16 | (green & 255) << 8 | blue & 255;
}

}

public int drawString(String text, float x, float y, int color) {
x *= 2.0F;
y *= 2.0F;
float originalX = x;

GL11.glPushMatrix();
GL11.glScaled(0.5F, 0.5F, 0.5F);

boolean blend = GL11.glIsEnabled(GL11.GL_BLEND);
boolean lighting = GL11.glIsEnabled(GL11.GL_LIGHTING);
boolean texture = GL11.glIsEnabled(GL11.GL_TEXTURE_2D);
if(!blend)
glEnable(GL11.GL_BLEND);
if(lighting)
glDisable(GL11.GL_LIGHTING);
if(texture)
glDisable(GL11.GL_TEXTURE_2D);

int currentColor = color;
char[] characters = text.toCharArray();

int index = 0;
for(char c : characters) {
if(c == '\r') {
x = originalX;
}
if(c == '\n') {
y += getHeight(Character.toString(c)) * 2.0F;
}
if(c != '\247' && (index == 0 || index == characters.length - 1 || characters[index - 1] != '\247')) {
unicodeFont.drawString(x, y, Character.toString(c), new org.newdawn.slick.Color(currentColor));
x += (getWidth(Character.toString(c)) * 2.0F);
} else if(c == ' ') {
x += unicodeFont.getSpaceWidth();
} else if(c == '\247' && index != characters.length - 1) {
int codeIndex = "0123456789abcdefg".indexOf(text.charAt(index + 1));
if(codeIndex < 0) continue;

int col = this.colorCodes[codeIndex];
currentColor = col;
}

index++;
}

GL11.glScaled(2.0F, 2.0F, 2.0F);
if(texture)
GL11.glEnable(GL11.GL_TEXTURE_2D);
if(lighting)
GL11.glEnable(GL11.GL_LIGHTING);
if(!blend)
GL11.glDisable(GL11.GL_BLEND);
glPopMatrix();
return (int) x;
}

public int drawStringWithShadow(String text, float x, float y, int color) {
drawString(StringUtils.stripControlCodes(text), x + 0.5F, y + 0.5F, 0x000000);
return drawString(text, x, y, color);
}

public void drawCenteredString(String text, float x, float y, int color) {
drawString(text, x - (int)getWidth(text) / 2, y, color);
}

public void drawCenteredStringWithShadow(String text, float x, float y, int color) {
drawCenteredString(StringUtils.stripControlCodes(text), x+0.5F, y+0.5F, color);
drawCenteredString(text, x, y, color);
}

public int getWidth(String s) {
int width = 0;

String str = StringUtils.stripControlCodes(s);
for(char c : str.toCharArray()) {
width += unicodeFont.getWidth(Character.toString(c)) + this.kerning;
}

return width / 2;
}

public float getCharWidth(char c){
return unicodeFont.getWidth(String.valueOf(c));
}

public float getHeight(String s) {
return unicodeFont.getHeight(s) / 2.0F;
}

public UnicodeFont getFont() {
return this.unicodeFont;
}

public String trimStringToWidth(String par1Str, int par2)
{
StringBuilder var4 = new StringBuilder();
float var5 = 0.0F;
int var6 = 0;
int var7 = 1;
boolean var8 = false;
boolean var9 = false;

for (int var10 = var6; var10 >= 0 && var10 < par1Str.length() && var5 < (float)par2; var10 += var7)
{
char var11 = par1Str.charAt(var10);
float var12 = this.getCharWidth(var11);

if (var8)
{
var8 = false;

if (var11 != 108 && var11 != 76)
{
if (var11 == 114 || var11 == 82)
{
var9 = false;
}
}
else
{
var9 = true;
}
}
else if (var12 < 0.0F)
{
var8 = true;
}
else
{
var5 += var12;

if (var9)
{
++var5;
}
}

if (var5 > (float)par2)
{
break;
}

else
{
var4.append(var11);
}
}

return var4.toString();
}


}
[/HIDE]
 
Bei mir das als fehler angezeigt

Code:
this.colorCodes = (red & 255) << 16 | (green & 255) << 8 | blue & 255;
 
Bei mir das als fehler angezeigt

Code:
this.colorCodes = (red & 255) << 16 | (green & 255) << 8 | blue & 255;
Keine ahnung bei mir gehts problemlos^^
 
Keine ahnung bei mir gehts problemlos^^
Bei mir wars auch, habe es einfaxh rausgenommen geht auch.
Aber wenn ich das im Client im Hud anwende habe ich keibe Schriftart im Clickgui
 
shape1
shape2
shape3
shape4
shape5
shape6
Back
Top