Hallo,
ich arbeite seit längerem an einem Mod und habe diesen seit längerem auch schon auf Github zugänglich gemacht.
Nun möchte ich auch Javadoc hinzufügen, nun das Problem ich habe sowas noch nie gemacht und hätte da einige fragen auf dem Gebiet.
1.Gibt es hilfreiche Kürzel die unter vielen Java Programmierern bekannt sind?
2.Sollte man es genau erklären damit neulinge dies auch als Tutorial nutzen können
oder doch eher grob das nur jemand es versteht der sich damit auskennt?
Ja frage 2 ist zwar eher eine frage der eigenen Meinung jedoch würde ich gerne wissen
was ihr bevorzugt wenn ihr euch beispielsweise den Quellcode von einem Programm anschaut.
3. Wie würdet ihr den unten angefügten Code mit Dokumentation bewerten?
4. Eine frage die mit dem Rest nicht viel zu tun hat aber wie kann ich ohne ArrayList mehrere werte bei einer Methode zurück geben z.B. 2 Integer?
(Müsste den Switch für das Alignment von unten in mehreren verschiedenen Methoden nutzen)
Vielen Dank im Voraus.
- JTK222
ich arbeite seit längerem an einem Mod und habe diesen seit längerem auch schon auf Github zugänglich gemacht.
Nun möchte ich auch Javadoc hinzufügen, nun das Problem ich habe sowas noch nie gemacht und hätte da einige fragen auf dem Gebiet.
1.Gibt es hilfreiche Kürzel die unter vielen Java Programmierern bekannt sind?
2.Sollte man es genau erklären damit neulinge dies auch als Tutorial nutzen können
oder doch eher grob das nur jemand es versteht der sich damit auskennt?
Ja frage 2 ist zwar eher eine frage der eigenen Meinung jedoch würde ich gerne wissen
was ihr bevorzugt wenn ihr euch beispielsweise den Quellcode von einem Programm anschaut.
3. Wie würdet ihr den unten angefügten Code mit Dokumentation bewerten?
4. Eine frage die mit dem Rest nicht viel zu tun hat aber wie kann ich ohne ArrayList mehrere werte bei einer Methode zurück geben z.B. 2 Integer?
(Müsste den Switch für das Alignment von unten in mehreren verschiedenen Methoden nutzen)
Code:
@SubscribeEvent(priority = EventPriority.NORMAL)
public void onRenderHealtheBar(RenderGameOverlayEvent event)
{
if(loadConfig.DRPGui == true){
if(event.type == event.type.HEALTH){
/**
* Creating all needed Variables
*/
int currentHealth = (int) (79 * ( mc.thePlayer.getHealth()/mc.thePlayer.getMaxHealth()));
int posX = 0;
int posY = 0;
List healthBarStats = loadConfig.HealthBar;
Integer Type = (Integer) healthBarStats.get(0);
Enum_GuiAlignment Alignment = (Enum_GuiAlignment) healthBarStats.get(1);
Integer PosX = (Integer) healthBarStats.get(2);
Integer PosY = (Integer) healthBarStats.get(3);
Boolean NumericHealth = (Boolean) healthBarStats.get(4);
/**
* Setting the Main Coordinates for the Alignment
*/
switch(Alignment){
case BOTTOM:
posX = event.resolution.getScaledWidth() / 2 -40;
posY = event.resolution.getScaledHeight()-9;
break;
case LEFT:
posX = 0;
posY = event.resolution.getScaledHeight() / 2 - 4;
break;
case RIGHT:
posX = event.resolution.getScaledWidth() - 81;
posY = event.resolution.getScaledHeight() / 2 -4;
break;
case TOP:
posX = event.resolution.getScaledWidth()/2 -40;
posY = 0;
break;
case CENTER:
posX = event.resolution.getScaledWidth()/2 -40;
posY = event.resolution.getScaledHeight()/2 -4;
break;
case TOPLEFT:
posX = 0;
posY = 0;
break;
case TOPRIGHT:
posX = event.resolution.getScaledWidth() -81;
posY = 0;
break;
case BOTTOMLEFT:
posX = 0;
posY = event.resolution.getScaledHeight()-9;
break;
case BOTTOMRIGHT:
posX = event.resolution.getScaledWidth()-81;
posY = event.resolution.getScaledHeight()-9;
break;
default:
posX = event.resolution.getScaledWidth() / 2 -40;
posY = event.resolution.getScaledHeight()-9;
break;
}
/**
* Adding the user set Coordinates of the Health bar to the Alignment Coordinates
*/
posX = posX + PosX;
posY = posY + PosY;
/**
* Binding the Texture File will be made using a switch in future versions because of different Gui Types
*/
this.mc.getTextureManager().bindTexture(texturepath);
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
this.drawTexturedModalRect(posX, posY, 0, 16, 81, 9);
/**
* Drawing the Health and also a Potion effect that affects the Health if one is existing
*/
this.drawTexturedModalRect(posX +1, posY +1, 0, 25, currentHealth,7);
if((int)mc.thePlayer.getAbsorptionAmount() != 0){
this.drawTexturedModalRect(posX+1, posY +1, 0, 32, currentHealth,7);
}
if(mc.thePlayer.isPotionActive(Potion.poison)){
this.drawTexturedModalRect(posX+1, posY +1, 0, 39, currentHealth,7);
}
if(mc.thePlayer.isPotionActive(Potion.wither)){
this.drawTexturedModalRect(posX+1, posY +1, 0, 46, currentHealth,7);
}
/**
* Writing the Health Amount in Numbers to the Health Bar.
* The bottom one is used by default the upper one is for the case that the player has additional health.
* (For example you get additional health when you eat an Enchanted Golden Apple)
*/
if(NumericHealth){
if((int)mc.thePlayer.getAbsorptionAmount() > 0 ){
healthDisplay = (int)mc.thePlayer.getHealth() + "/" +(int) mc.thePlayer.getMaxHealth() + "+" + (int) mc.thePlayer.getAbsorptionAmount();
}else{
healthDisplay = (int)mc.thePlayer.getHealth() + "/" +(int) mc.thePlayer.getMaxHealth();
}
this.mc.fontRendererObj.drawString(healthDisplay, posX+40 - (healthDisplay.length()*3), posY+1, 0xffFFFFFF);
}
/**
* Setting the used Texture back to Minecrafts default one (otherwise Breath bar and the other stuff would use the wrong texture File)
*/
this.mc.getTextureManager().bindTexture(new ResourceLocation("textures/gui/icons.png"));
/**
* Canceling the Event so the default Health bar isn't rendered.
*/
event.setCanceled(true);
}
}
}
Vielen Dank im Voraus.
- JTK222