Wednesday, July 25, 2018

RPG Gauge Mod

RPG Guage Mod

 

 This mod is part of my new project which is the PocketRPG mod but this mod isn't finished yet, I'm still adding some new mobs, weapons, npcs, and a lot more, I am already halfway to finish this project. for the mean time I let you try my Guage system which adds a gui that displays the player Gauge. When pointing or throwing something to the entity it immediately show the entities gauge.





  • HP Bar
  • Hunger Bar
  • MP Bar
  • Exp Bar
  • Level 

 

screenshots

 

 

 

download 

 

check out my GUI lib. here

 

 

 

Tuesday, July 24, 2018

New GUI lib

GUI.1016 lib.


This is a ModPE library that some of my mod uses, this library is simple yet useful. this library helps you create an in-game GUI (Graphical User Interface) like menus, buttons, screen texts, etc. You can even change and customize your GUI with your own bitmap/texture image from your local storage or mod texture.



To use this library :
  • Create a lib folder with the library in it and place the folder inside your current texturepack or zip the lib folder with the library inside then load it to your blocklauncher.
  •  To activate library copy the line below and paste it at the first part of your script.
var activity = com.mojang.minecraftpe.MainActivity.currentMainActivity.get();                                                     eval(""+new java.lang.String(ModPE.getBytesFromTexturePack("lib/Mhafy1016.library.gui.js"))+"");

                If the library loaded, a small text will popup and says Patched! then the Author’s name.

                                                “If the text didn’t appear review your script.”



Terms

Font.setGlobal – change the font of all text related elements.
    usage
        Font.setGlobal = Font.fromTexture( location of font inside texture );
        Font.fromLocal = Font.fromTexture( location local storage );
Tip : If Font not found returns to original font.
   
screen.width - integer returns the screen actual width.
screen.height - integer returns the screen actual height;


color.red - returns color red;
color.blue - returns color blue;
color.yellow - returns color yellow;
color.green - returns color green;
color.cyan - returns color cyan;
color.black - returns color black;
color.white - returns color white;
color.gray - returns color gray;
color.transparent - returns color transparent;
color.rgb(red, green, blue) - returns the combination of color red, green, blue ranging from 0 to 255.
color.argb(alpha, red, green, blue) - returns the combination of color red, green, blue ranging from 0 to 255 with a transparency from 0 to 1.
color.hex( color hex value ) - returns the color according to the hex value.
color.setColor( color ) - set the color according to the color value.
color.setColorHex( color hex value ) - set the color according to the hex value.
Tip : When changing the background color use color.setColor or color.setColorHex otherwise leave it with null.


alignment.LEFT - change the alignment to the left.
alignment.RIGHT - change the alignment to the right.
alignment.TOP - change the alignment to the top.
alignment.BOTTOM - change the alignment to the bottom.
alignment.CENTER - change the alignment to the center.
Tip : When changing the alignment of window pick two from above and add | at the center.
e.g alignment.LEFT | alignment.TOP.


runUI( your function ) - run ui thread from device.
Tip : use this when changing ui components.
e.g in a newLevel function
    function newLevel(){
        runUI(function(){
            put something here
        });
    }


new android.widget.RelativeLayout(activity) - creates a new layout.
e.g
    var your_variable_name = new android.widget.RelativeLayout(activity);
    when adding an element to the layout -
    your_variable_name.addView( your_element_name );
   

createGUI.window( widget, x, y, width, height, alignment) - returns newly created window.
    widget - Layout to be displayed on the window (object).
    x - Position of window in X-axis of the screen (integer).
    y - Position of window in Y-axis of the screen (integer).
    width – width of window to be displayed (integer).
    height – height of window to be displayed (integer).
    alignment – is where the window will be placed (object).
Tip : When closing the window use .dismiss()
e.g var your_gui_name = createGUI.window( widget, x, y, width, height, alignment);


createGUI.button( text, textShadow, textSize, font, textColor, action, background) - returns the button to be displayed.
    text - text to be displayed at the button (string).
    textShadow - add shadow to the text (boolean).
    textSize - change the text size of the button (integer).
    font - change text font of the button (object).
    textColor - change text color of the button (object).
    action - add action when the button was clicked (function).
    background - change the background of button (object).
Tip : when adding action change action to your function.
e.g createGUI.button( text, textShadow, textSize, font, textColor, function(){
        add something here.
    }, background);
Tip : When changing the button size use createGUI.customLayout(your button, x, y, width, height);

   
createGUI.bitMapButton(text, shadow, textSize, font, textColor, x, y, width, height, fromTexture1, bitmapUnpressed, fromTexture2, bitmapPressed, bitmapWidth, bitmapHeight, lr, tb, centerWidth, centerheight, action, pixelSize) - returns the button with bitmap to be displayed.
    text - text to be displayed at the button (string).
    textShadow - add shadow to the text (boolean).
    textSize - change the text size of the button (integer).
    font - change text font of the button (object).
    textColor - change text color of the button (object).
    x - Position of button in X-axis (integer).
    y - Position of button in Y-axis (integer).
    width – width of button to be displayed (integer).
    height – height of button to be displayed (integer).
    fromTexture1 - check if the first bitmap is from texture or localStorage (boolean).
    bitmapUnpressed - location of the bitmap (string).
    fromTexture2 - check if the second bitmap is from texture or localStorage (boolean).
    bitmapPressed - location of the bitmap (string).
    bitmapWidth - original width of the used bitmap image (integer).
    bitmapHeight - original height of the used bitmap image (integer).
    lr - left and right border of the bitmap image (integer).
    tb - top and bottom border of the bitmap image (integer).
    centerWidth - width of the center of bitmap image to be stretched (integer).
    centerHeight - height of the center of bitmap image to be stretched (integer).
    action - add action when the button was clicked (function).
    pixelSize - adjust the pixels of th bitmap image (integer).
e.g createGUI.bitMapButton("CLOSE", true, 8, null, color.black, 80,64,96,48, true, "ui/slider_button_default.png", true, "ui/slider_button_hover.png", 6, 6, 2, 2, 2, 2, function(v){
           
        }, 1);
       
       
createGUI.icon(fromTexture, bitmap, offsetX, offsetY, imageWidth, imageHeight, x, y, width, height) - returns the bitmap image to be displayed.
    fromTexture - check if the first bitmap is from texture or localStorage (boolean).
    bitmap - location of the bitmap (string).
    offsetX - starting offset of the image from the X-Axis (integer).
    offsetY - starting offset of the image from the Y-Axis (integer).
    imageWidth - the with of the image from offsetX (integer).
    imageHeight - the with of the image from offsetY (integer).
    x - Position of icon in X-axis (integer).
    y - Position of icon in Y-axis (integer).
    width – width of icon to be displayed (integer).
    height – height of icon to be displayed (integer).
e.g createGUI.icon(true, "ui/mashup_hangar.png",0,0,24,24,0,0,32,32);


createGUI.textLabel(text, x, y, width, height, textShadow, textSize, textColor, font, alignment) - returns the text layout to be displayed.
    text - text to be displayed at the button (string).
    x - Position of text in X-axis (integer).
    y - Position of text in Y-axis (integer).
    width – width of text to be displayed (integer).
    height – height of text to be displayed (integer).
    textShadow - add shadow to the text (boolean).
    textSize - change the text size of the button (integer).
    font - change text font of the button (object).
    textColor - change text color of the button (object).
    alignment – is where the window will be placed (object).
Tip : aligning the textLabel use only one alignment.
e.g createGUI.textLabel("text label", 0, 0, 128, 64, true, 12, color.red, null, alignment.CENTER);



createGUI.customLayout(widget, x, y, width, height, background) - set a layout to a given widget;
    widget - Layout to be displayed on the window (object).
    x - Position of window in X-axis of the screen (integer).
    y - Position of window in Y-axis of the screen (integer).
    width – width of window to be displayed (integer).
    height – height of window to be displayed (integer).
    background - change the background of button (object).
   
   
   
   
Bitmap.drawableBitmap(fromTexture, bitmap, offsetX, offsetY, imageWidth, imageHeight, dip(imageWidth), dip(imageHeight)).getBitmap() - change bkacground to bitmap image.

    fromTexture - check if the first bitmap is from texture or localStorage (boolean).
    bitmap - location of the bitmap (string).
    offsetX - starting offset of the image from the X-Axis (integer).
    offsetY - starting offset of the image from the Y-Axis (integer).
    imageWidth - the with of the image from offsetX (integer).
    imageHeight - the with of the image from offsetY (integer).

Tip : just copy the dip() thing, it is for the pixel something...


Bitmap.bitmapStretch(btimap, lr, tb, centerWidth, centerHeight, width, height, pixelSize) - stretch the bitmap to a new size.
    bitmap - the bitmap image to be stretched.
    lr - left and right border of the bitmap image (integer).
    tb - top and bottom border of the bitmap image (integer).
    centerWidth - width of the center of bitmap image to be stretched (integer).
    centerHeight - height of the center of bitmap image to be stretched (integer).
    width – new width of the bitmap (integer)
    height – new height of the bitmap (integer).
    pixelSize - adjust the pixels of th bitmap image (integer).
Tip : only use Bitmap.bitmapStretch() to Bitmap.drawableBitmap(), change the bitmap of Bitmap.bitmapStretch() to the value Bitmap.drawableBitmap().
e.g
    Bitmap.bitmapStretch(Bitmap.drawableBitmap(true, "ui/dialog_background_opaque.png",0,0,16,16,dip(16),dip(16)).getBitmap(),/*<= the bitmap*/ dip(5),dip(5),dip(6),dip(6),256,128,1);
   
   

Others


getEntId( entity ) - get the id of the entity.
    entity - selected entity.

checkInArray(object, array)- checks if the given object exists inside the array.
Tip : if the object exists returns to true otherwise false.

checkNear(entity1, entity12, distance, height) - check if the two entities were near each other in a given distance.
Tip : if near returns to true otherwise false.

function vector3d(x, y, z) - returns new x, y, z coordinates.





Sample Scripts

Plain gui + text + button


var activity = com.mojang.minecraftpe.MainActivity.currentMainActivity.get();
eval(""+new java.lang.String(ModPE.getBytesFromTexturePack("lib/Mhafy1016.library.gui.js"))+"");

var gui;
var layout;
var text;
var btn;
function sampleGUI(){
                runUI(function(){
                                layout = new android.widget.RelativeLayout(activity);

                                text = createGUI.textLabel("Sample GUI",0,0,256,64,true,18,color.black,null,alignment.CENTER);
                                btn = createGUI.customLayout(createGUI.button("Close",false,12,null,color.black,function(){
                                                if(gui != null){
                                                                gui.dismiss();
                                                                gui = null;
                                                }
                                }), 80, 64, 96, 64);
                                layout.addView(text);
                                layout.addView(btn);

                                gui = createGUI. window(layout,0,0,256,128,alignment.CENTER | alignment.CENTER, color.setColor(color.white));
                });
}

function newLevel(){
                sampleGUI();
}


screenshot
 



Gui with Bitmap



var activity = com.mojang.minecraftpe.MainActivity.currentMainActivity.get();
eval(""+new java.lang.String(ModPE.getBytesFromTexturePack("lib/Mhafy1016.library.gui.js"))+"");

var gui;
var layout;
var text;
var btn;
var background;
function sampleGUI(){
            runUI(function(){
                        layout = new android.widget.RelativeLayout(activity);
                       
                        background = Bitmap.bitmapStretch(Bitmap.drawableBitmap(true, "ui/dialog_background_opaque.png",0,0,16,16,dip(16),dip(16)).getBitmap(),dip(5),dip(5),dip(6),dip(6),256,128,1);
                       
                        layout.setBackgroundDrawable(background);
                       
                        text = createGUI.textLabel("Sample GUI",0,0,256,64,true,18,color.black,null,alignment.CENTER);
                        btn = createGUI.bitMapButton("CLOSE", true, 8, null, color.black, 80,64,96,48, true, "ui/slider_button_default.png", true, "ui/slider_button_hover.png", 6, 6, 2, 2, 2, 2, function(v){
                                    if(gui != null){
                                                gui.dismiss();
                                                gui = null;
                                    }
                        }, 1);
                       
                        layout.addView(text);
                        layout.addView(btn);
                       
                        gui = createGUI. window(layout,0,0,256,128,alignment.CENTER | alignment.CENTER);
            });
}

function newLevel(){
            sampleGUI();
}

 screenshot
 


var activity = com.mojang.minecraftpe.MainActivity.currentMainActivity.get();
eval(""+new java.lang.String(ModPE.getBytesFromTexturePack("lib/Mhafy1016.library.gui.js"))+"");

var gui;
var main_layout;
var layout;
var text;
var btn;
function sampleGUI(){
    runUI(function(){
        main_layout = new android.widget.RelativeLayout(activity);
        layout = createGUI.customLayout(new android.widget.RelativeLayout(activity), 16, 16, 224, 96, Bitmap.bitmapStretch(Bitmap.drawableBitmap(true, "ui/dialog_background_opaque.png",0,0,16,16,dip(16),dip(16)).getBitmap(),dip(5),dip(5),dip(6),dip(6),224,96,1));
      
        text = createGUI.textLabel("Arranging Elements",0,0,224,96,true,18,color.black,null,alignment.CENTER);
      
        btn = createGUI.customLayout(new android.widget.RelativeLayout(activity),208,0,48,48,Bitmap.bitmapStretch(Bitmap.drawableBitmap(true, "ui/recipe_back_panel.png",0,0,16,16,dip(16),dip(16)).getBitmap(),dip(4),dip(4),dip(8),dip(8),48,48,1));
        btn.addView(createGUI.bitMapButton("", true, 12, null, color.black, 8, 8, 32, 32, true, "ui/close_button_default.png", true, "ui/close_button_pressed.png", 15, 15, 1, 1, 13, 13, function(v, e){
      
            if(gui != null){
                gui.dismiss();
                gui = null;
            }
          
        }, 1));
        layout.addView(text);
      
        main_layout.addView(layout);
        main_layout.addView(btn);
      
        gui = createGUI.window(main_layout,0,0,256,128,alignment.CENTER | alignment.CENTER);
    });
}

function newLevel(){
    sampleGUI();
}

screenshot