Jump to content

destroy a block in the world(xyz) droping what it drops <SOLVED>


perromercenary00

Recommended Posts

goood days

 

i know this looks noob question but i get stuck here

 

i wanna break some blocks wuith a custom item, but idont realize how to declare this

 

weel i been doing some research and fin this

 

world.destroyBlock(x,y,z, true); but not work in 1.710

 

in some forum they say thath deprecated but there is still a

 

world.func_147480_a(x, y,z, true);  but still not work

 

and inthe world class i found

 

world.destroyBlockInWorldPartially(int,int,int,int,int);  but i dont get how to use this and the examples well the re is no examples. and donot know the order of the int's is not clear 

i been triying

 

Block blck = world.getBlock(x, y, z);

int idblock=Block.getIdFromBlock(blck);

int idplayer=p_77659_3_.getEntityId();

 

 

world.destroyBlockInWorldPartially(idplayer,x,y,z,-1); not work

world.destroyBlockInWorldPartially(idblock,x,y,z,-1); not work

 

 

ñaaaaaaaaa

 

 

sooo howdo you do to destroy a block in the given coordinates xyz  droping what its drops.??

 

 

 

 

 

Link to comment
Share on other sites

Block blck = world.getBlock(x, y, z);

blck.dropBlockAsItem(...);

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

jejejeje

is half way

but i must question again

 

public ItemStack onItemRightClick(ItemStack p_77659_1_, World world, EntityPlayer p_77659_3_){

int[] coordenadas = util.coordenadaDeBlockeEnFoco(world, 10);

Block blck = world.getBlock(coordenadas[0],coordenadas[1],coordenadas[2]);

blck.dropBlockAsItem(world, coordenadas[0],coordenadas[1],coordenadas[2], 0, 0);

}

 

thismake the block drop but dont destroy the block, is bad declarated or

is mandatory to set the block to air whith

world.setBlock(x,y,z, Block.air);

 

???

Link to comment
Share on other sites

It works, but I'd suggest calling

blck.removedByPlayer(...) instead.  removedByPlayer lets the block destroy itself, as well as call any ancillary functions that it might have that happens when the block is destroyed (I'm actually working on a mod right now that overrides this function).

 

I'd also suggest inserting a call to blck.onBlockDestroyedByPlayer(...) somewhere as well (before the call to removedByPlayer or setBlockToAir).

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

Wait, what do you mean by

 

"world.func_147480_a(x, y,z, true);  but still not work "

 

I've used that code many times in 1.7.10, so I don't know how it isn't working. Please explain.

-Mitchellbrine

 

Minecraft can do ANYTHING, it's coded in Java and you got the full power of Java behind you when you code. So nothing is impossible.

It may be freaking fucking hard though, but still possible ;)

 

If you create a topic on Modder Support, live by this motto:

I don't want your charity, I want your information
Link to comment
Share on other sites

Are you sure your coordinates are correct?

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

i been cleaning up mi code and converting the arrays[]  to ArrayList<Integer>  and

just figure out what happened but

 

the problem is that when i hold the rigthclick it sends like tenthousand orders to break this specific block soo after testing it whit the ArrayList system

world.func_147480_a(x,y,z, true); works breaking the block and droping in just one step

 

blck.dropBlockAsItem(world, x,y,z, 0, 0); works make the block drops whitout destroy and

 

world.setBlock(x,y,z, Blocks.air); delete the block as well

 

 

but i see this before in others mods

the blocks are destroy and drops item but still there, if try to jump in the hole i get stuck,  and if i close the game and reload the world the blocks come back like nothing happend

 

?is nesesary to cast some kind of sorcery to get the world to save the change in the chunks ¿

 

 

 

 

 

 

 

 

Link to comment
Share on other sites

ñaaa

 

//codigo

 

public static void romper(World world,List<Integer> lis){

System.out.println("####  romper");

 

int llist=lis.size(); //longitud de la lista

System.out.println("####  llist="+llist);

 

for (int conteo=0; conteo < llist;conteo=conteo+3){

int x=lis.get(conteo),y=lis.get(conteo+1),z=lis.get(conteo+2);

 

//Block blck = world.getBlock(x,y,z);

//blck.dropBlockAsItem(world, x,y,z, 1, 1);

//world.setBlock(x,y,z, Blocks.air);

 

world.func_147480_a(x,y,z, true);

 

//#######  aqui esta la flag \/ \/ \/

if (world.isRemote){ System.out.println("####  world.isRemote=true ");}

else                      { System.out.println("####  world.isRemote=false");}

//#######  aqui esta la flag /\ /\ /\

 

 

System.out.println("####  x="+x+" y="+y+" z="+z);

System.out.println("####  conteo="+conteo);

}

}

 

//codigo

 

 

####  romper

[12:43:28] [Client thread/INFO] [sTDOUT]:  ####  llist=12

[12:43:28] [Client thread/INFO] [sTDOUT]:  ####  world.isRemote=true

[12:43:28] [Client thread/INFO] [sTDOUT]:  ####  x=221 y=77 z=342

 

 

by this code im working on a remote world??

 

remenber from other guides something about a class proxiserver and proxiclient is that related whith error.this

 

 

 

 

Link to comment
Share on other sites

very confused whit this

is the world is provided by the method onItemRightClick

anyway this are the two principal class of this item and  a video showing how works

 

//############

package mercenary00.mercenarymod.items;

 

 

import java.io.IOException;

 

import net.minecraft.init.Items;

import mercenary00.mercenarymod.utilidades.cfg;

import net.minecraft.item.EnumAction;

import net.minecraft.item.Item;

import net.minecraft.item.ItemStack;

import mercenary00.mercenarymod.Mercenary;

import cpw.mods.fml.common.registry.GameRegistry;

import cpw.mods.fml.relauncher.Side;

import cpw.mods.fml.relauncher.SideOnly;

import net.minecraft.block.Block;

import net.minecraft.client.Minecraft;

import net.minecraft.client.renderer.texture.IIconRegister;

import net.minecraft.creativetab.CreativeTabs;

import net.minecraft.entity.player.EntityPlayer;

import net.minecraft.item.Item;

import net.minecraft.util.IChatComponent;

import net.minecraft.util.IIcon;

import net.minecraft.util.MovingObjectPosition;

import net.minecraft.world.World;

import net.minecraftforge.common.MinecraftForge;

import net.minecraftforge.event.entity.player.ArrowNockEvent;

import mercenary00.mercenarymod.utilidades.util;

import cpw.mods.fml.relauncher.Side;

import cpw.mods.fml.relauncher.SideOnly;

import net.minecraft.client.renderer.texture.IIconRegister;

import net.minecraft.creativetab.CreativeTabs;

import net.minecraft.enchantment.Enchantment;

import net.minecraft.enchantment.EnchantmentHelper;

import net.minecraft.entity.player.EntityPlayer;

import net.minecraft.entity.projectile.EntityArrow;

import net.minecraft.init.Items;

import net.minecraft.util.IIcon;

import net.minecraft.world.World;

import net.minecraftforge.common.MinecraftForge;

import net.minecraftforge.event.entity.player.ArrowLooseEvent;

import net.minecraftforge.event.entity.player.ArrowNockEvent;

import java.util.ArrayList;

 

public class varaMercenaria00 extends Item{

 

public static String name="varamercenaria00";

public static final String[] bowPullIconNameArray = new String[] {"pulling_0", "pulling_1", "pulling_2"};

@SideOnly(Side.CLIENT)

private IIcon[] iconArray;

private static final String __OBFID = "CL_00001777";

 

public static ArrayList<Integer> coordenadas0 = new ArrayList<Integer>();

public static ArrayList<Integer> coordenadas1 = new ArrayList<Integer>();

public static ArrayList<Integer> coordenadas2 = new ArrayList<Integer>();

public static boolean coor1=false;

public static boolean coor2=false;

 

//#############################################################################################

public varaMercenaria00() {

setUnlocalizedName(Mercenary.MODID + "_" + name);

GameRegistry.registerItem(this, name);

setCreativeTab(CreativeTabs.tabTools);

    setTextureName(Mercenary.MODID + ":" + name);

    this.maxStackSize = 1;

    this.setMaxDamage(500);

    this.setCreativeTab(CreativeTabs.tabCombat);

 

 

}

//#############################################################################################

//#############################################################################################

 

public ItemStack onItemRightClick(ItemStack p_77659_1_, World world, EntityPlayer steve){

// System.out.println("###    presss");

 

 

coordenadas0=util.coordenadaDeBlockeEnFocol(world, 10);

// util.MostrarLista(coordenadas0);

 

 

if (util.compararListas(coordenadas2,coordenadas0)==false){ //ignorar click

 

 

 

if (coor1){

// System.out.println("coor1 true");

 

 

if ((coor2==false)&&(util.compararListas(coordenadas0,coordenadas1)==false)){

 

coordenadas2=coordenadas0;coor2=true;

}

 

 

}else{

// System.out.println("coor1 false");

coordenadas1=coordenadas0;coor1=true;

}

 

 

if ((coor1)&&(coor2)){

System.out.println("Tengo dos coordenadas distintas");

util.MostrarLista(coordenadas1);

util.MostrarLista(coordenadas2);

coor1=false;

coor2=false;

 

//util.romper(world, util.Cuadrado(0, coordenadas1,coordenadas2));

util.romper(world,util.circulo( coordenadas1,coordenadas2));

 

}

 

} //ignorar click

 

return p_77659_1_;

}

 

}//fin de la classe

 

//##########################################################################

//##########################################################################

//##########################################################################

//##########################################################################

//##########################################################################

//##########################################################################

//##########################################################################

//##########################################################################

//##########################################################################

 

 

 

package mercenary00.mercenarymod.utilidades;

 

import net.minecraft.init.Blocks;

 

import java.io.IOException;

import java.util.ArrayList;

import java.util.List;

 

import net.minecraft.init.Items;

import mercenary00.mercenarymod.utilidades.cfg;

import net.minecraft.item.Item;

import net.minecraft.item.ItemStack;

import mercenary00.mercenarymod.Mercenary;

import cpw.mods.fml.common.registry.GameRegistry;

import cpw.mods.fml.relauncher.Side;

import cpw.mods.fml.relauncher.SideOnly;

import net.minecraft.block.Block;

import net.minecraft.client.Minecraft;

import net.minecraft.client.renderer.texture.IIconRegister;

import net.minecraft.creativetab.CreativeTabs;

import net.minecraft.entity.player.EntityPlayer;

import net.minecraft.item.Item;

import net.minecraft.util.IIcon;

import net.minecraft.util.MovingObjectPosition;

import net.minecraft.world.World;

import net.minecraftforge.common.MinecraftForge;

import net.minecraftforge.event.entity.player.ArrowNockEvent;

import mercenary00.mercenarymod.utilidades.util;

 

 

public class util{

 

 

//#################################################################################################################

//#### devuelve las coordenadas del blocke al que esta mirando steve

 

public static ArrayList<Integer> coordenadaDeBlockeEnFocol(World world,int distancia){

//System.out.println("###coordenadaDeBlockeEnFocoL");

 

ArrayList<Integer> lin =new ArrayList<Integer>();

 

//      x          y          z

//lin.add(0);lin.add(0);lin.add(0);

 

 

MovingObjectPosition mop = Minecraft.getMinecraft().renderViewEntity.rayTrace(distancia, 1.0F);

//System.out.println("###mop="+mop);

if(mop != null)

{

    int blockHitSide = mop.sideHit;

    Block blockLookingAt = world.getBlock(mop.blockX, mop.blockY, mop.blockZ) ;

   

    int fx=(int)mop.blockX;

    int fy=(int)mop.blockY;

    int fz=(int)mop.blockZ;

   

// System.out.println("fx="+fx+" fy="+fy+" fz="+fz);

    lin.add(0,fx);

    lin.add(1,fy);

    lin.add(2,fz);

}

//

// int x=lin.get(0);

// int y=lin.get(1);

// int z=lin.get(2);

// if (world.isAirBlock(x,y,z)) {System.out.println(">>>>>### el blocke x="+x+" y="+y+" z="+z+" es aire");}

 

//  System.out.println("x="+lin.get(0)+" y="+lin.get(1)+" z="+lin.get(2));

return lin;

 

 

//

 

}

 

 

//#################################################################################################################

 

//### devuelve la id 0 del blocke en las coordenadas

public static int IDdelBlockeEn(World world, List<Integer> lin){

 

//int x=lin.get(0);

//int y=lin.get(1);

//int z=lin.get(3);

 

Block blck = world.getBlock(lin.get(0),lin.get(1),lin.get(2));

int iblck=Block.getIdFromBlock(blck);

return iblck;

}

 

//#################################################################################################################

 

public static boolean compararListas(List<Integer> lia, List<Integer> lib){

// System.out.println("compararVectores");

 

int la=lia.size(),lb=lib.size();int count=0;

 

if (la==lb){

// System.out.println("A y B miden lo mismo la="+la+" lb="+lb);

 

for (int c=0; c < la ;c++){

// System.out.println("c="+c);

 

int a=lia.get©,b=lib.get©;

 

if (a==b){

count++;

;}

// System.out.println("count="+count+" a="+a+" y b="+b);

 

}

}

 

// System.out.println("count="+count+" la="+la+" lb="+lb);

 

 

if ((count==la)&&(la==lb)){

return true;

}else{

return false;

}

 

}

//#################################################################################################################

 

 

public static List<Integer> minmax(List<Integer> lia, List<Integer> lib){

System.out.println("#### \nMetodo minmax");

 

ArrayList<Integer> orga =new  ArrayList<Integer>();

 

for (int or=0; or<6 ; or++ )

{

orga.add(0);

}

 

int count=0;

int liasize=lia.size(),libsize=lib.size();

 

 

 

System.out.println("x="+lia.get(0)+" y="+lia.get(1)+" z="+lia.get(2));

        System.out.println("x="+lib.get(0)+" y="+lib.get(1)+" z="+lib.get(2));

System.out.println("");

 

 

 

if (liasize==libsize){

// System.out.println("los dos vectores miden lo mismo ");

 

 

 

for (int c=0;c<3;c++){

int a=lia.get©;

int b=lib.get©;

 

if ( a <= b ){ orga.set( c , a ) ;}

if ( a >= b ){ orga.set((c+3) , a);}

 

if ( b <= a ){ orga.set( c , b ) ;}

if ( b >= a ){ orga.set((c+3) , b);}

 

 

                    }

                    }

return orga;

 

                          }

//#################################################################################################################

 

 

public static void romper(World world,List<Integer> lis){

System.out.println("####  romper");

 

int llist=lis.size(); //longitud de la lista

 

System.out.println("####  llist="+llist);

 

 

for (int conteo=0; conteo < llist;conteo=conteo+3){

int x=lis.get(conteo),y=lis.get(conteo+1),z=lis.get(conteo+2);

 

 

//Block blck = world.getBlock(x,y,z);

//blck.dropBlockAsItem(world, x,y,z, 1, 1);

//world.setBlock(x,y,z, Blocks.air);

 

world.func_147480_a(x,y,z, true);

 

if (world.isRemote){ System.out.println("####  world.isRemote=true ");}

else              { System.out.println("####  world.isRemote=false");}

 

 

 

System.out.println("####  x="+x+" y="+y+" z="+z);

System.out.println("####  conteo="+conteo);

}

}

 

 

//#################################################################################################################

 

public static ArrayList<Integer> Cuadrado(int modo,List<Integer> lia, List<Integer> lib){

 

ArrayList<Integer> li = new ArrayList<Integer>();

ArrayList<Integer> lo = new ArrayList<Integer>();

ArrayList<Integer> orga = new ArrayList<Integer>();

 

//System.out.println("antes de organizar");

//System.out.println("min x="+min[0]+" y="+min[1]+" z="+min[2]);

//System.out.println("max x="+max[0]+" y="+max[1]+" z="+max[2]);

 

orga=(ArrayList<Integer>) minmax(lia , lib); ///por si acaso organizar min y maximos

 

 

System.out.println("despues de organizar");

System.out.println("min x="+orga.get(0)+" y="+orga.get(1)+" z="+orga.get(2));

System.out.println("max x="+orga.get(3)+" y="+orga.get(4)+" z="+orga.get(5));

 

 

//#############################################

 

 

int xmin=orga.get(0), ymin=orga.get(1), zmin=orga.get(2);

int xmax=orga.get(3), ymax=orga.get(4), zmax=orga.get(5);

 

for(int u=zmin;u<=zmax;u++){

for(int o=ymin;o<=ymax;o++){

for(int i=xmin;i<=xmax;i++){

 

 

li.add(i);

li.add(o);

li.add(u);

 

 

}}}

//#############################################

 

 

 

 

 

 

 

/*

try {

Thread.sleep (10000);

} catch (Exception e) {

// Mensaje en caso de que falle

}

*/

return li;

}

 

public static void MostrarLista(List<Integer> in){

 

int lilong=in.size();

 

for (int lins=0 ; lins < lilong ; lins=lins+3){

 

int x=in.get(lins),y=in.get(lins+1),z=in.get(lins+2);

System.out.println(lins+" > x="+x+" y="+y+" z="+z);

 

;}

 

 

}

//#################################################################################################################

 

 

 

public static ArrayList<Integer> circulo(List<Integer> lia, List<Integer> lib){

 

 

ArrayList<Integer> li = new ArrayList<Integer>();

ArrayList<Integer> lo = new ArrayList<Integer>();

ArrayList<Integer> orga = new ArrayList<Integer>();

 

li.clear();

lo.clear();

orga.clear();

 

double xc=lia.get(0), yc=lia.get(1), zc=lia.get(2);

double xr=lib.get(0), yr=lib.get(1), zr=lib.get(2);

 

 

 

double radio= Math.sqrt(Math.pow((xc-xr),2)+Math.pow((zc-zr),2));

int    radiu=(int)radio;

 

int longitud=(int)(yc-yr); if (longitud < 0){longitud=-longitud ;}

 

System.out.println("Radio="+radio+"\nLongitud="+longitud);

//z2+x2=r2

 

System.out.println("cargar li");

for (int y=0 ; y<= longitud ; y++ ){

 

for (int x=(-radiu);x <= radiu ;x++){

 

double dz=Math.sqrt( Math.pow(radio,2)-Math.pow(x,2) );

 

//System.out.println("x="+x+" y="+y+" z="+dz);

 

//li.add(x);li.add(y);li.add((int)dz);

int zmax=(int)dz;

int zmin=(int) -dz;

 

for (int relleno=zmin; relleno <= zmax ; relleno++){

 

li.add(x);li.add(y);li.add(relleno);

 

;}

//li.add(x);li.add(y);li.add((int) -dz);

 

}

 

}

 

//util.MostrarLista(li);

 

 

int lisize=li.size();

System.out.println("cargar lo lisize="+lisize);

 

for (int lis=0 ; lis < lisize ; lis=lis+3){

 

System.out.println("lis="+lis);

 

lo.add( (int) (xc+li.get(lis)));

lo.add( (int) (yc+li.get(lis+1)));

lo.add( (int) (zc+li.get(lis+2)));

 

 

}

 

return lo;

}

 

}//fin de la classe

 

 

Link to comment
Share on other sites

very confused whit this

is the world is provided by the method onItemRightClick

minecraft always calls that kind of methods twice once with the client word once with the server world:

 

	   public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer steve){
      System.out.println(world.isRemote);
      return stack;
   }

This would print out:

true

false

 

I'm not too sure about the code tho (I'm somewhat new to coding)

But what i think happens is u check for coor1 to be true and then call ur own method with the client world, then u set coor1 to false. When the method actually gets called with the server world coor1 is false and you ofc dont call the method, so, Maybe just put the whole code in onItemRightClick in a if(!world.isRemote)

Link to comment
Share on other sites

public static int conteo=0;

 

public ItemStack onItemRightClick(ItemStack p_77659_1_, World world, EntityPlayer steve){

// System.out.println("###    presss");

 

conteo++;

System.out.println("is "+conteo+" times onItemRightClick is execute");

System.out.println("world.isRemote="+world.isRemote);

 

coordenadas0=util.coordenadaDeBlockeEnFocol(world, 10);

// util.MostrarLista(coordenadas0);

 

 

 

it gets weirder here :

 

16:00:10]  Player962 joined the game

[16:00:20] items.varaMercenaria00:onItemRightClick:79]: is 1 times onItemRightClick is execute

[16:00:20] items.varaMercenaria00:onItemRightClick:80]: world.isRemote=true

[16:00:20] items.varaMercenaria00:onItemRightClick:79]: is 2 times onItemRightClick is execute

[16:00:20] items.varaMercenaria00:onItemRightClick:80]: world.isRemote=false

[16:00:21] items.varaMercenaria00:onItemRightClick:79]: is 3 times onItemRightClick is execute

[16:00:21] items.varaMercenaria00:onItemRightClick:80]: world.isRemote=true

 

[16:00:21] items.varaMercenaria00:onItemRightClick:107]: Tengo dos coordenadas distintas

[16:00:21] .utilidades.util:romper:174]: ####  romper

[16:00:21] .utilidades.util:romper:191]: ####  world.isRemote=true

[16:00:21] .utilidades.util:romper:191]: ####  world.isRemote=true

 

_________________________________________________________________________

 

the world is remote true an then false an again is true in the romper part is always true

 

anyway on item rigth click is giving my this remote  world and dont think this is a bug this code was copy from the item.bow class

 

 

_________________________________________________________________________

soo i made a little xperiment create a block that on click it breaks the floor under and make the world check think

 

 

[server thread/INFO] [sTDOUT]: onBlockClicked:46]: se ejecuto onBlockClicked

[16:47:33] [server thread/INFO] [sTDOUT]:onBlockClicked:50]: ####  world.isRemote=false

[16:47:33] [server thread/INFO] [sTDOUT]l:romper:174]: ####  romper

[16:47:33] [Client thread/INFO] [sTDOUT]:: se ejecuto onBlockClicked

[16:47:33] [Client thread/INFO] [sTDOUT]:onBlockClicked:49]: ####  world.isRemote=true 

 

[Client thread/INFO] [sTDOUT]:: se ejecuto onBlockActivated

[16:47:49] [Client thread/INFO] : ####  world.isRemote=true

[16:47:49] [Client thread/INFO]  ####  romper

[16:47:49] [Client thread/INFO] : ####  world.isRemote=true

[16:47:49] [Client thread/INFO: ####  world.isRemote=true

 

[server thread/INFO] [sTDOUT]:: se ejecuto onBlockActivated

[16:47:49] [server thread/INFO] [sTDOUT]: ####  world.isRemote=false

[16:47:49] [server thread/INFO] [sTDOUT]:: ####  romper

Link to comment
Share on other sites

SO i made little video showing this think

 

the think jeopardizing is this

 

[16:59:49] [Client thread/INFO] [sTDOUT]

[16:59:49] [Client thread/INFO] [sTDOUT]

[16:59:49] [server thread/INFO] [sTDOUT]

[16:59:49] [server thread/INFO] [sTDOUT]:

 

Client thread | Server thread 

wen i destroy whit the block is make a cycle on client and then a cycle on server but

 

why this is not  happening with the wand

 

 

Link to comment
Share on other sites

i use the bow code as base to make this,  cut paste i edit wat i need soo the code for varita mercenaria is a few post up.

 

basicli im using the method

 

public ItemStack onItemRightClick(ItemStack p_77659_1_, World world, EntityPlayer steve){

}  // i get this from the bow class

 

varamercenaria00 exist just to get two blocks coordenates  i name it  coordenadas1=firstclick  coordenadas2=secundclick

coordenadas0 is just a cache for the input from util.coordenadaDeBlockeEnFocol(world, 10);

 

when there is two diferent coordenates loaded in coordenadas1 and coordenas2 it run

 

util.romper(world,util.circulo( coordenadas1,coordenadas2));

 

and set to zero coordenadas1 and coordenas2

 

the magic is in util.circulo( coordenadas1,coordenadas2) who define all the block in a cilinder volumen and returit like a list of coordenates then util.romper take the world data and break all the blocks in the list

late i the nigth i gona reduce the exit of system.out soo the importantings could be seen in the eclipse stoudout

 

the trouble whith eclipse,  it have a limit to the output so i can grab all the exit,

 

 

 

 

Link to comment
Share on other sites

 

public ItemStack onItemRightClick(ItemStack p_77659_1_, World world, EntityPlayer steve){

//      System.out.println("###    presss");

 

conteo++;

System.out.println("is "+conteo+" times onItemRightClick is execute");

System.out.println("world.isRemote="+world.isRemote);

       

return p_77659_1_;

}

 

//stoudout

 

 

[20:52:32] [Client thread/INFO] [sTDOUT]: [mercenary00.mercenarymod.items.varaMercenaria00:onItemRightClick:89]: is 1 times onItemRightClick is execute

[20:52:32] [Client thread/INFO] [sTDOUT]: [mercenary00.mercenarymod.items.varaMercenaria00:onItemRightClick:90]: world.isRemote=true

[20:52:32] [server thread/INFO] [sTDOUT]: [mercenary00.mercenarymod.items.varaMercenaria00:onItemRightClick:89]: is 2 times onItemRightClick is execute

[20:52:32] [server thread/INFO] [sTDOUT]: [mercenary00.mercenarymod.items.varaMercenaria00:onItemRightClick:90]: world.isRemote=false

[20:52:32] [Client thread/INFO] [sTDOUT]: [mercenary00.mercenarymod.items.varaMercenaria00:onItemRightClick:89]: is 3 times onItemRightClick is execute

[20:52:32] [Client thread/INFO] [sTDOUT]: [mercenary00.mercenarymod.items.varaMercenaria00:onItemRightClick:90]: world.isRemote=true

[20:52:32] [server thread/INFO] [sTDOUT]: [mercenary00.mercenarymod.items.varaMercenaria00:onItemRightClick:89]: is 4 times onItemRightClick is execute

[20:52:32] [server thread/INFO] [sTDOUT]: [mercenary00.mercenarymod.items.varaMercenaria00:onItemRightClick:90]: world.isRemote=false

[20:52:33] [Client thread/INFO] [sTDOUT]: [mercenary00.mercenarymod.items.varaMercenaria00:onItemRightClick:89]: is 5 times onItemRightClick is execute

[20:52:33] [Client thread/INFO] [sTDOUT]: [mercenary00.mercenarymod.items.varaMercenaria00:onItemRightClick:90]: world.isRemote=true

[20:52:33] [server thread/INFO] [sTDOUT]: [mercenary00.mercenarymod.items.varaMercenaria00:onItemRightClick:89]: is 6 times onItemRightClick is execute

[20:52:33] [server thread/INFO] [sTDOUT]: [mercenary00.mercenarymod.items.varaMercenaria00:onItemRightClick:90]: world.isRemote=false

[20:52:39] [Client thread/INFO] [sTDOUT]: [mercenary00.mercenarymod.items.varaMercenaria00:onItemRightClick:89]: is 7 times onItemRightClick is execute

[20:52:39] [Client thread/INFO] [sTDOUT]: [mercenary00.mercenarymod.items.varaMercenaria00:onItemRightClick:90]: world.isRemote=true

[20:52:39] [server thread/INFO] [sTDOUT]: [mercenary00.mercenarymod.items.varaMercenaria00:onItemRightClick:89]: is 8 times onItemRightClick is execute

[20:52:39] [server thread/INFO] [sTDOUT]: [mercenary00.mercenarymod.items.varaMercenaria00:onItemRightClick:90]: world.isRemote=false

 

 

Link to comment
Share on other sites

I just realized

in which consist the problem

 

when one uses the method onItemRightClick() validates several times

runs several times

interleaving the worlds first remote then the local remote again and again the local

performance obsessed me as I wrote the code so that it will only accept a cycle by sending the coordinates and the parameters only once so sending only the first world the remote world that is always first, ignoring the local world.

change the code to just send the variables only when the world is local

and only do it once until  the coordinates change

now looks like this

 

if ((coor1)&&(coor2)&&(!world.isRemote)){

 

util.romper(world,util.circulo( coordenadas1,coordenadas2));

}

 

 

there in a one more cuestion but it goes in another treat

 

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Hiii. I wanted to add audio capability in MineRL (Minecraft based environment for Reinforcement Learning) which uses MCP Reborn. Any ideas in how I can capture the audio ?
    • Cryptocurrency investments can be tempting, promising respectable returns and financial freedom. However, the harsh reality is that the digital landscape is rife with scams and fraudulent schemes, leaving unsuspecting individuals vulnerable to monetary loss. I learned this lesson the hard way when I fell victim to a fraudulent cryptocurrency exchange scam, losing a significant amount of money. It was a devastating blow, one that left me feeling hopeless and lost, unsure of where to turn for help. But in my darkest hour, a beacon of hope emerged in the form of a colleague who recommended a professional team of hackers called Muyern Trust Hacker. With their specialization in money recovery, they offered a glimmer of hope in what seemed like an insurmountable situation. Upon contacting Muyern Trust Hacker, I was immediately struck by their professionalism and competence. They listened to my story with empathy and understanding, assuring me that all hope was not lost. With their guidance and expertise, I journeyed to reclaim what was rightfully mine. The process was not without its challenges, but with Muyern Trust Hacker by my side, I felt empowered and supported every step of the way. Their team of skilled hackers utilized advanced techniques and strategies to trace and recover my lost investment, delivering results that exceeded my expectations. I was impressed not only by their technical prowess but also by their unwavering commitment to their client's well-being. They provided regular updates and reassurance throughout the recovery process, instilling confidence and trust in their abilities. Thanks to Muyern Trust Hacker's extraordinary efforts, I could reclaim my lost investment and emerge from the ordeal with renewed hope and optimism. Their professionalism, integrity, and dedication to their craft were truly commendable, and I am forever grateful for their assistance during my time of need. If you or someone you know has fallen victim to online scams or fraudulent schemes, don't despair. Reach out to Muyern Trust Hacker and let them guide you toward a solution. By sharing my story, I hope to increase awareness and save others from becoming victims of these dishonest schemes. ( ht tps : //muyerntrusthack .solutions/ ) ( Mail; muyerntrusted(at) mail-me (dot)c o m ) ( SIGNAL +1 585 2-2-8 86-05 )
    • Firstly paste the report into this website: https://mclo.gs/ and then send it again afterwards.
    • REMEMBER, ITS FABRIC 1.18.2 I'm not sure why my minecraft game had crashed, when I turned into a ghost I tried to harvest soul away from a spider since it had a soul with a empty soul vessel, but it instantly made my game crash, maybe it was because of sodium or something like that? Crash report: https://mclo.gs/oHzmbyF
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.