BlockAPI

BlockAPI logo from v0.3 to ...

Latest build : v0.6 CraftBukkit: 1.5.2

Easily create blocks with custom effects ! Persistence beetween restart !

Do not need Spout or SpoutCraft !

This plugin provides an API for plugin developers to create blocks with custom effects. It's like creating new blocks but without new textures. You've got the total control of what you can do. There are some new events like when the player walks on your block, when he right/left click on, and soon much more !


Commands & Permissions

commandinformationpermission
/blocklistDisplay the whole custom block listcblock.list
/getblock <name> [amount]Gives you the custom block with that name in amount timescblock.get

DEVELOPER PART


How to create my custom block ?


Plugin Solution

  1. Download the BlockAPI.jar and add it to your build path as a library
  2. Add this line depend : [BlockAPI] to your plugin.yml
  3. Create a new class that extends CustomBlock
  4. ( You should do this part, but you can jump it ) Change its identifier, its name, its blockID ( the block id in what it will render to and by default its properties such as item to destroy... ), add its effect ( to get the methods see here)
  5. Add your custom block
    BlockAPI blockAPI =(BlockAPI) plugin.getServer().getPluginManager().getPlugin("BlockAPI");
    if(blockAPI==null)
    //Here handle that BlockAPI isn't installed on this server
    else
    blockAPI.addMyCustomBlock(myCustomBlock);
    //OR
    blockAPI.addMyCustomBlocks(myCustomBlockList):
    
  6. Say to your users that if they want to use your plugin they must download this one
  7. Now that's OK !

No plugin just the class

  1. Create a new class that extends CustomBlock with the constructor with no args
  2. You can make calls to BlockAPi methods or Bukkit API methods
  3. ( You should do this part, but you can jump it ) Change its identifier, its name, its blockID ( the block id in what it will render to and by default its properties such as item to destroy... ), add its effect ( to get the methods see here)
  4. Then compile it as a .class file
  5. Add your class file in plugins/BlockAPI/Blocks/ and your custom block will be automatically added
  6. You're done then if ou want to share it with the bukkit community post it on the forum

Methods

To see all the methods of CustomBlock and all the BlockAPI methods, see here


Sample

Otherwise this is a sample TrampolineBlock :

public class TrampolineBlock extends CustomBlock{

	public TrampolineBlock() {
		super("trampo");
		setName("Trampoline");
		setBlockID(1);
		setMaxStackSize(128);
		ArrayList<String> desc = new ArrayList<String>();
		desc.add("Jump ! Jump !");
		setDescription(desc);
                setDrops(BlockAPI.getItem(this));
	}
	@Override
	public void walk(PlayerMoveEvent event){
		event.getPlayer().setFallDistance(0);
		event.getPlayer().setVelocity(event.getPlayer().getVelocity().setY(1));
	}

}

and here then the code added in onEnable() in the plugin class if you use the plugin solution, otherwise that's it.

BlockAPI blockAPI =(BlockAPI) plugin.getServer().getPluginManager().getPlugin("BlockAPI");
blockAPI.addMyCustomBlock(new TrampolineBlock());

Render

Block in inventories will now render as normal Blocks but their name will change to your custom block name and the quantity is handled in the title to avoid to limit maxStackSize Here it's 47 Trampoline Blocks in my inventory On the left : trampoline block / On the right : a mine block / In my hand : 10 Mine blocks


To do

  • Create some way for users ( not developers ) to create a custom block ( see Skript for implementation )
  • Add new textures.
  • Add sound support ( see Pl3xMidiPlayer for implementation )

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of fatidian1 fatidian1 Jun 09, 2014 at 15:15 UTC - 0 likes

    @Hartorn: Go

    can u give me updated file?

  • Avatar of Hartorn Hartorn Mar 30, 2014 at 11:25 UTC - 1 like

    Hello man ! I found this plugin some time ago, and really think it is a useful and good one.

    I modified it a bit, and updated it to the latest version.

    Is it alright if I take it over and continue maintaining it ? Do you allow me to put it online ?

    Have never seen a dwarf ? Just look down.

    Pegasus Plugin

  • Avatar of sonicwolfsspeed sonicwolfsspeed Jun 25, 2013 at 12:07 UTC - 0 likes

    is vid now coming ?

  • Avatar of _Justyce_ _Justyce_ Jun 10, 2013 at 15:32 UTC - 0 likes

    @sonicwolfsspeed: Go

    Sorry, i'm sick currently then i did half the video part but can't do the rest.....

    UltraLogger & xChest

  • Avatar of sonicwolfsspeed sonicwolfsspeed Jun 06, 2013 at 20:38 UTC - 0 likes

    hmm just gone wate for the vid :/

  • Avatar of _Justyce_ _Justyce_ Jun 05, 2013 at 17:57 UTC - 0 likes

    @sonicwolfsspeed: Go

    EDIT : There is no persistnce if you use these characters currently

    Ya it is possible ( i used \u00XX character ) :

    Colored block name

    Last edited Jun 07, 2013 by _Justyce_
  • Avatar of sonicwolfsspeed sonicwolfsspeed Jun 05, 2013 at 16:42 UTC - 0 likes

    @_Justyce_: Go

    just plz try it D:

  • Avatar of _Justyce_ _Justyce_ Jun 04, 2013 at 14:10 UTC - 0 likes

    @sonicwolfsspeed: Go

    It's may possible but that's not the aim of this plugin.

    The aim is to provide an easy way to re-use current blocks to recreate new one with different effects

    Last edited Jun 04, 2013 by _Justyce_
  • Avatar of sonicwolfsspeed sonicwolfsspeed Jun 03, 2013 at 19:20 UTC - 0 likes

    i just want to collor name blocks :D like (nametags)

  • Avatar of sonicwolfsspeed sonicwolfsspeed Jun 03, 2013 at 19:19 UTC - 0 likes

    whell i used the /blocklist and otter command it diten know the command the plugin fille dident made D:

Facts

Date created
Jun 01, 2013
Category
Last update
Jun 07, 2013
Development stage
Release
License
Mozilla Public License 1.0 (MPL)
Curse link
BlockAPI
Downloads
2,254
Recent files

Authors