Skip to content

//Mod made by DAW330073 //http://www.minecraftforum.net/index.php?showtopic=2624956 //Update 1.3 //Added Drill var ex=[]; var wrenchEx=[]; var wrenchIm=[]; var wrenchFrqs=[]; var lastItem; var lastChestPart; var actualHealth; var lastY; var velY; var linking=false; var ButtonDown=false; var wrenchMode="linking"; var uBlocks=[]; var tickCounter=0…

theherobrinehunter/Mod

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commits
 
 
 
 

Repository files navigation

Mod

//Mod made by DAW330073 //http://www.minecraftforum.net/index.php?showtopic=2624956 //Update 1.3 //Added Drill var ex=[]; var wrenchEx=[]; var wrenchIm=[]; var wrenchFrqs=[]; var lastItem; var lastChestPart; var actualHealth; var lastY; var velY; var linking=false; var ButtonDown=false; var wrenchMode="linking"; var uBlocks=[]; var tickCounter=0; var bookOpened=false; var guidePage=0; var pBlocks=[]; var mBlocks=[]; var mBlocksSlots={"none":[0,0,0,0]}; var mBlocksProgress={"none":0}; var poweredBlocks=[]; var grinded={13:318,4:12,12:13}; var loaded=false; var display=new android.util.DisplayMetrics(); com.mojang.minecraftpe.MainActivity.currentMainActivity.get().getWindowManager().getDefaultDisplay().getMetrics(display); Block.defineBlock(180,"Barrel",[["itemframe_background",0],["piston_top_normal",0],["log",0],["log",0],["log",0],["log",0]],17,false,0); Block.setDestroyTime(180,2); Item.addCraftRecipe(180,1,0,[17,7,0,158,1,0]); Item.setCategory(180,8,0); Block.defineBlock(181,"Extraction item pipe","piston_inner",20,false,0); Block.setColor(181,[0xCC6600]); Block.setDestroyTime(181,0.45); Item.addCraftRecipe(181,1,0,[182,1,0,331,2,0]); Item.setCategory(181,8,0); Block.defineBlock(182,"Item pipe","piston_inner",20,false,0); Block.setDestroyTime(182,0.45); Item.addCraftRecipe(182,1,0,[463,6,0,20,3,0]); Item.setCategory(182,8,0); Block.defineBlock(183,"Cobblestone generator",[["stonecutter",2],["stonecutter",2],["stonecutter",3],["stonecutter",3],["stonecutter",3],["stonecutter",3]],20,false,0); Block.setDestroyTime(183,0.45); Item.addCraftRecipe(183,1,0,[20,2,0,257,1,0,1,6,0]); Item.setCategory(183,8,0); Block.defineBlock(184,"Farmer",[["stonecutter",2],["hayblock",0],["stonecutter",3],["stonecutter",3],["stonecutter",3],["stonecutter",3]],20,false,0); Block.setDestroyTime(184,0.45); Item.addCraftRecipe(184,1,0,[265,3,0,294,1,0,463,5,0]); Item.setCategory(184,8,0); Block.defineBlock(188,"Tree farmer",[["stonecutter",2],["planks",0],["stonecutter",3],["stonecutter",3],["stonecutter",3],["stonecutter",3]],20,false,0); Block.setDestroyTime(188,0.45); Item.addCraftRecipe(188,1,0,[265,3,0,268,1,0,463,5,0]); Item.setCategory(188,8,0); ModPE.setItem(460,"sign",0,"wrench",1); ModPE.langEdit("item.wrench.name","Linking Wrench"); Item.addCraftRecipe(460,1,0,[264,4,0]); Item.setCategory(460,2,0); ModPE.langEdit("item.bootsChain.name","G-Defy Boots"); Item.addCraftRecipe(305,1,0,[463,4,0]); Item.setCategory(305,2,0); ModPE.langEdit("item.chestplateChain.name","Jetpack"); Item.addCraftRecipe(303,1,0,[265,5,0,463,1,0,331,2,0]); Item.setCategory(303,2,0); ModPE.langEdit("item.helmetChain.name","HUD"); Item.addCraftRecipe(302,1,0,[265,5,0,331,1,0]); Item.setCategory(302,2,0); Block.defineBlock(191,"Stone generator",[["stonecutter",2],["stone",0],["stonecutter",3],["stonecutter",3],["stonecutter",3],["stonecutter",3]],20,false,0); Block.setDestroyTime(191,0.45); Item.addCraftRecipe(191,1,0,[20,2,0,257,1,0,1,6,0]); Item.setCategory(191,8,0); Block.defineBlock(192,"Obsidian generator",[["stonecutter",2],["obsidian",0],["stonecutter",3],["stonecutter",3],["stonecutter",3],["stonecutter",3]],20,false,0); Block.setDestroyTime(192,0.45); Item.addCraftRecipe(192,1,0,[20,2,0,257,1,0,1,6,0]); Item.setCategory(192,8,0); ModPE.setItem(461,"book_written",0,"guide",1); ModPE.langEdit("item.guide.name","ExtendedCraft Guide"); Item.addCraftRecipe(461,1,0,[340,1,0]); Item.setCategory(461,2,0); Block.defineBlock(193,"Solar Panel",[["coal_block",0],["redstone_lamp_off",0],["coal_block",0],["coal_block",0],["coal_block",0],["coal_block",0]],20,false,0); Block.setShape(193,0,0,0,1,0.2,1); Block.setDestroyTime(193,0.45); Item.addCraftRecipe(193,1,0,[102,3,0,194,3,0,265,3,0]); Item.setCategory(193,8,0); Block.defineBlock(194,"Wire",[["quartz_block",6],["quartz_block",6],["quartz_block",6],["quartz_block",6],["quartz_block",6],["quartz_block",6]],20,false,0); Block.setColor(194,[0xCC6633]); Block.setDestroyTime(194,0.45); Item.addCraftRecipe(194,1,0,[463,6,0,265,3,0]); Item.setCategory(194,8,0); ModPE.setItem(462,"painting",0,"powerMeter",1); ModPE.langEdit("item.powerMeter.name","Power Meter"); Item.addCraftRecipe(462,1,0,[331,5,0,194,3,0,323,1,0]); Item.setCategory(462,2,0); Block.defineBlock(195,"Grinder",[["iron_block",0],["iron_block",0],["furnace",2],["furnace",2],["furnace",2],["furnace",2]],20,false,0); Block.setDestroyTime(195,0.45); Item.addCraftRecipe(195,1,0,[194,2,0,199,1,0]); Item.setCategory(195,8,0); Block.defineBlock(196,"Rubber Sapling","sapling",6,false,1); Block.setColor(196,[0x85C272]); Block.setDestroyTime(196,0.1); Block.defineBlock(197,"Rubber Wood",[["log",5],["log",5],["log",4],["log",4],["log",4],["log",4]],17,false,0); Block.setColor(197,[0x5C3E33]); Block.setDestroyTime(197,2); Block.defineBlock(198,"Rubber Leaves",[["leaves",7],["leaves",7],["leaves",7],["leaves",7],["leaves",7],["leaves",7]],18,false,0); Block.setColor(198,[0x61845B]); Block.setDestroyTime(198,0.2); ModPE.setItem(463,"slimeball",0,"rubber",64); ModPE.langEdit("item.rubber.name","Rubber"); Item.addFurnaceRecipe(197,463,0); Block.defineBlock(199,"Machine Block","iron_block",20,false,0); Block.setDestroyTime(199,0.4); Item.addCraftRecipe(199,1,0,[265,8,0]); Block.defineBlock(200,"Drill",[["iron_block",0],["iron_block",0],["stonecutter",2],["stonecutter",2],["stonecutter",2],["stonecutter",2]],20,false,0); Block.setDestroyTime(200,0.45); Item.addCraftRecipe(200,1,0,[278,1,0,199,2,0,265,2,0,194,3,0]); Item.setCategory(200,8,0); Block.defineBlock(201,"drill",[["quartz_block",3],["quartz_block",3],["quartz_block",3],["quartz_block",3],["quartz_block",3],["quartz_block",3]],20,false,7); Block.setColor(201,[0x999999]); Block.setShape(201,0.4,0,0.4,0.6,1,0.6); function procCmd(cmd){ switch(cmd){ case "day": Level.setTime(0); break; case "kill": Player.setHealth(0); break; case "rubber": GrowTree(parseInt(Player.getX()),parseInt(Player.getY())-1,parseInt(Player.getZ())); break; } } function modTick(){ if(lastItem!=Player.getCarriedItem() && (lastItem==460 || Player.getCarriedItem()==460)){ if(lastItem==460) HideWrenchGUI(); else ShowWrenchGUI(); } if(lastItem!=Player.getCarriedItem() && (lastItem==461 || Player.getCarriedItem()==461)){ if(lastItem==461) HideGuideGUI(); else ShowGuideGUI(); } lastItem=Player.getCarriedItem(); if(lastChestPart!=Player.getArmorSlot(1) && (lastChestPart==303 || Player.getArmorSlot(1)==303)){ if(lastChestPart==303) HideJetpackGUI(); else ShowJetpackGUI(); } lastChestPart=Player.getArmorSlot(1); velY=(Player.getY()-lastY)/(1/20); lastY=Player.getY(); if(Player.getArmorSlot(3)==305){ if(Entity.getHealth(Player.getEntity())<=25) actualHealth=Entity.getHealth(Player.getEntity()); if(velY<-12 && Level.getTile(parseInt(Player.getX()),parseInt(Player.getY())-12,parseInt(Player.getZ()))!=0) Player.setHealth(Entity.getHealth(Player.getEntity())-velY); if(velY>-3 && Level.getTile(parseInt(Player.getX()),parseInt(Player.getY())-2,parseInt(Player.getZ()))!=0) Player.setHealth(actualHealth); } if(ButtonDown){ if(velY<0) Entity.setVelY(Player.getEntity(),0); if(velY>=0 && velY<0.6) Entity.setVelY(Player.getEntity(),velY+0.006); if(velY>=0.6) Entity.setVelY(Player.getEntity(),0.6); } tickCounter++; if(tickCounter==40){ renderHelmetGUI(); tickCounter=0; if(ex.length>0){ for(var i=0;i<ex.length;i++){ if(Level.getTile(ex[i][0],ex[i][1],ex[i][2])==181){ var sides=[[ex[i][0],ex[i][1]-1,ex[i][2]],[ex[i][0],ex[i][1]+1,ex[i][2]],[ex[i][0],ex[i][1],ex[i][2]-1],[ex[i][0],ex[i][1],ex[i][2]+1],[ex[i][0]-1,ex[i][1],ex[i][2]],[ex[i][0]+1,ex[i][1],ex[i][2]]]; var cx,cy,cz; for(var j=0;j<6;j++){ if(Level.getTile(sides[j][0],sides[j][1],sides[j][2])==54 || Level.getTile(sides[j][0],sides[j][1],sides[j][2])==61 || Level.getTile(sides[j][0],sides[j][1],sides[j][2])==62){ cx=sides[j][0]; cy=sides[j][1]; cz=sides[j][2]; break; } else if(Level.getTile(sides[j][0],sides[j][1],sides[j][2])==180){ var sides=[[sides[j][0],sides[j][1]-1,sides[j][2]],[sides[j][0],sides[j][1]+1,sides[j][2]],[sides[j][0],sides[j][1],sides[j][2]-1],[sides[j][0],sides[j][1],sides[j][2]+1],[sides[j][0]-1,sides[j][1],sides[j][2]],[sides[j][0]+1,sides[j][1],sides[j][2]]]; for(var k=0;k<6;k++){ if(Level.getTile(sides[k][0],sides[k][1],sides[k][2])==68 && Level.getSignText(sides[k][0],sides[k][1],sides[k][2],0)=="Barrel"){ cx=sides[k][0]; cy=sides[k][1]; cz=sides[k][2]; break; } } } } MoveItems([cx,cy,cz],FindChest(ex[i][0],ex[i][1],ex[i][2]),1); } else ex.splice(i,1); } } if(wrenchEx.length>0){ for(var i=0;i<wrenchEx.length;i++){ if(wrenchFrqs[i]==1) MoveItems(wrenchEx[i],wrenchIm[i],1); } } if(uBlocks.length>0){ for(var i=0;i<uBlocks.length;i++){ if(Level.getTile(uBlocks[i][0],uBlocks[i][1],uBlocks[i][2])==183) //Cobblestone Generator(uBlocks[i][0],uBlocks[i][1],uBlocks[i][2],4,0,1); else if(Level.getTile(uBlocks[i][0],uBlocks[i][1],uBlocks[i][2])==184) //Seeds Farmer(uBlocks[i][0],uBlocks[i][1],uBlocks[i][2],2); else if(Level.getTile(uBlocks[i][0],uBlocks[i][1],uBlocks[i][2])==188) //Trees TreeFarmer(uBlocks[i][0],uBlocks[i][1],uBlocks[i][2],2); else if(Level.getTile(uBlocks[i][0],uBlocks[i][1],uBlocks[i][2])==191) //Stone Generator(uBlocks[i][0],uBlocks[i][1],uBlocks[i][2],1,0,1); else if(Level.getTile(uBlocks[i][0],uBlocks[i][1],uBlocks[i][2])==192) //Obsidian Generator(uBlocks[i][0],uBlocks[i][1],uBlocks[i][2],49,0,1); else uBlocks.splice(i,1); } } CheckTheWires(); } if(!loaded && Level.getTile(parseInt(Player.getX()),parseInt(Player.getY())-2,parseInt(Player.getZ()))!=0){ if(Level.getTile(1,1,1)!=197){ for(var i=0;i<Math.floor(Math.random()11)+15;i++){ var x=Math.floor(Math.random()245)+10; var z=Math.floor(Math.random()245)+10; var y=FindHighestY(x,z); if(Level.getTile(x,y,z)==2) GrowTree(x,y+1,z); } Level.setTile(1,1,1,197); } loaded=true; } Machines(); } function useItem(x,y,z,itemID,blockID,side){ if(blockID==196 && itemID==351 && Player.getCarriedItemData()==15) GrowTree(x,y,z); if(itemID==462){ preventDefault(); if(InArray([x,y,z],poweredBlocks)) clientMessage("Power flowing."); else clientMessage("No power."); } if(itemID==195 || itemID==200){ preventDefault(); var sides=[[x,y-1,z],[x,y+1,z],[x,y,z-1],[x,y,z+1],[x-1,y,z],[x+1,y,z]]; PlaceBlock(x,y,z,side,itemID,0); if(!InArray([x,y,z],mBlocks)){ mBlocks.push([sides[side][0],sides[side][1],sides[side][2]]); if(itemID==195){ if(!mBlocksSlots[sides[side][0]+","+sides[side][1]+","+sides[side][2]]) mBlocksSlots[sides[side][0]+","+sides[side][1]+","+sides[side][2]]=[0,0,0,0]; if(!mBlocksProgress[sides[side][0]+","+sides[side][1]+","+sides[side][2]]) mBlocksProgress[sides[side][0]+","+sides[side][1]+","+sides[side][2]]=0; } } } if(blockID==195 || blockID==200){ preventDefault(); if(!InArray([x,y,z],mBlocks)){ mBlocks.push([x,y,z]); if(blockID==195){ if(!mBlocksSlots[x+","+y+","+z]) mBlocksSlots[x+","+y+","+z]=[0,0,0,0]; if(!mBlocksProgress[x+","+y+","+z]) mBlocksProgress[x+","+y+","+z]=0; } } if(blockID==195) ShowMachineGUI(x+","+y+","+z); } if(itemID>192 && itemID<195){ preventDefault(); var sides=[[x,y-1,z],[x,y+1,z],[x,y,z-1],[x,y,z+1],[x-1,y,z],[x+1,y,z]]; PlaceBlock(x,y,z,side,itemID,0); if(!InArray([x,y,z],pBlocks)) pBlocks.push([sides[side][0],sides[side][1],sides[side][2]]); } if(blockID>192 && blockID<195){ if(!InArray([x,y,z],pBlocks)) pBlocks.push([x,y,z]); } CheckTheWires(); if(Player.getArmorSlot(0)==302) renderHelmetGUI(); if(itemID>182 && itemID<193){ preventDefault(); var sides=[[x,y-1,z],[x,y+1,z],[x,y,z-1],[x,y,z+1],[x-1,y,z],[x+1,y,z]]; PlaceBlock(x,y,z,side,itemID,0); if(!InArray([x,y,z],uBlocks)) uBlocks.push([sides[side][0],sides[side][1],sides[side][2]]); } if(blockID>182 && blockID<193){ if(!InArray([x,y,z],uBlocks)) uBlocks.push([x,y,z]); } if(itemID==181){ preventDefault(); var sides=[[x,y-1,z],[x,y+1,z],[x,y,z-1],[x,y,z+1],[x-1,y,z],[x+1,y,z]]; PlaceBlock(x,y,z,side,181,0); x=sides[side][0]; y=sides[side][1]; z=sides[side][2]; var sides=[[x,y-1,z],[x,y+1,z],[x,y,z-1],[x,y,z+1],[x-1,y,z],[x+1,y,z]]; for(var i=0;i<6;i++){ if((Level.getTile(sides[i][0],sides[i][1],sides[i][2])==54 || Level.getTile(sides[i][0],sides[i][1],sides[i][2])==61 || Level.getTile(sides[i][0],sides[i][1],sides[i][2])==62) && !InArray(sides[i],ex)){ ex.push([x,y,z]); break; } else if(Level.getTile(sides[i][0],sides[i][1],sides[i][2])==180){ sides=[[sides[i][0],sides[i][1]-1,sides[i][2]],[sides[i][0],sides[i][1]+1,sides[i][2]],[sides[i][0],sides[i][1],sides[i][2]-1],[sides[i][0],sides[i][1],sides[i][2]+1],[sides[i][0]-1,sides[i][1],sides[i][2]],[sides[i][0]+1,sides[i][1],sides[i][2]]]; for(var j=0;j<6;j++){ if(Level.getTile(sides[j][0],sides[j][1],sides[j][2])==68 && Level.getSignText(sides[j][0],sides[j][1],sides[j][2],0)=="Barrel"){ ex.push([x,y,z]); break; } } break; } } } if(blockID==181){ var sides=[[x,y-1,z],[x,y+1,z],[x,y,z-1],[x,y,z+1],[x-1,y,z],[x+1,y,z]]; for(var i=0;i<6;i++){ if((Level.getTile(sides[i][0],sides[i][1],sides[i][2])==54 || Level.getTile(sides[i][0],sides[i][1],sides[i][2])==61 || Level.getTile(sides[i][0],sides[i][1],sides[i][2])==62) && !InArray(sides[i],ex)){ ex.push([x,y,z]); break; } else if(Level.getTile(sides[i][0],sides[i][1],sides[i][2])==180){ sides=[[sides[i][0],sides[i][1]-1,sides[i][2]],[sides[i][0],sides[i][1]+1,sides[i][2]],[sides[i][0],sides[i][1],sides[i][2]-1],[sides[i][0],sides[i][1],sides[i][2]+1],[sides[i][0]-1,sides[i][1],sides[i][2]],[sides[i][0]+1,sides[i][1],sides[i][2]]]; for(var j=0;j<6;j++){ if(Level.getTile(sides[j][0],sides[j][1],sides[j][2])==68 && Level.getSignText(sides[j][0],sides[j][1],sides[j][2],0)=="Barrel"){ ex.push([x,y,z]); break; } } break; } } } if(itemID==180 && blockID!=68){ preventDefault(); var sides=[[x,y-1,z],[x,y+1,z],[x,y,z-1],[x,y,z+1],[x-1,y,z],[x+1,y,z]]; var finalPos=[sides[side][0],sides[side][1],sides[side][2]]; if(side!=1) var sides=[[sides[side][0],sides[side][1]+1,sides[side][2]],[sides[side][0],sides[side][1]-1,sides[side][2]],[sides[side][0],sides[side][1],sides[side][2]-1],[sides[side][0],sides[side][1],sides[side][2]+1],[sides[side][0]-1,sides[side][1],sides[side][2]],[sides[side][0]+1,sides[side][1],sides[side][2]]]; else{ var rot=getYaw(); if(rot<0) rot=-rot; while(rot>=360) rot-=360; if(rot>=45 && rot<=135) side=2; if(rot>=135 && rot<=225) side=3; if(rot>=225 && rot<=315) side=4; if((rot>0 && rot<=45) || (rot>=315 && rot<=360)) side=5; var sides=[[finalPos[0],finalPos[1]-1,finalPos[2]],[finalPos[0],finalPos[1]+1,finalPos[2]],[finalPos[0],finalPos[1],finalPos[2]-1],[finalPos[0],finalPos[1],finalPos[2]+1],[finalPos[0]-1,finalPos[1],finalPos[2]],[finalPos[0]+1,finalPos[1],finalPos[2]]]; } if(Level.getTile(finalPos[0],finalPos[1],finalPos[2])==0 && Level.getTile(sides[side][0],sides[side][1],sides[side][2])==0){ Level.setTile(finalPos[0],finalPos[1],finalPos[2],180,0); Level.setTile(sides[side][0],sides[side][1],sides[side][2],68,side); Level.setSignText(sides[side][0],sides[side][1],sides[side][2],0,"Barrel"); Level.setSignText(sides[side][0],sides[side][1],sides[side][2],3,"Barrel"); if(Player.getCarriedItemCount()>1) Entity.setCarriedItem(Player.getEntity(),Player.getCarriedItem(),Player.getCarriedItemCount()-1,Player.getCarriedItemData()); else{ for(var i=0;i<9;i++){ if(Player.getInventorySlot(i)==Player.getCarriedItem() && Player.getInventorySlotData(i)==Player.getCarriedItemData() && Player.getInventorySlotCount(i)==Player.getCarriedItemCount()){ Player.clearInventorySlot(i); break; } } } } } if(blockID==68 && itemID!=460){ preventDefault(); var sides=[[x,y+1,z],[x,y-1,z],[x,y,z+1],[x,y,z-1],[x+1,y,z],[x-1,y,z]]; if(Player.getCarriedItem()!=0) var name=GetItemBlockName(Player.getCarriedItem()+":"+Player.getCarriedItemData()); else var name="hand"; if(name!="hand" && Level.getSignText(x,y,z,0)=="Barrel" && Level.getSignText(x,y,z,3)=="Barrel" && Level.getTile(sides[Level.getData(x,y,z)][0],sides[Level.getData(x,y,z)][1],sides[Level.getData(x,y,z)][2])==180){ Level.setSignText(x,y,z,3,Player.getCarriedItem()+":"+Player.getCarriedItemData()); Level.setSignText(x,y,z,1,name); if(Player.getCarriedItemCount()==64) Level.setSignText(x,y,z,2,"1x64+0"); else Level.setSignText(x,y,z,2,"0x64+"+Player.getCarriedItemCount()); for(var i=0;i<9;i++){ if(Player.getInventorySlot(i)==Player.getCarriedItem() && Player.getInventorySlotData(i)==Player.getCarriedItemData() && Player.getInventorySlotCount(i)==Player.getCarriedItemCount()){ Player.clearInventorySlot(i); break; } } } else if(name!="hand" && Level.getSignText(x,y,z,0)=="Barrel" && Level.getSignText(x,y,z,1)==name && Level.getTile(sides[Level.getData(x,y,z)][0],sides[Level.getData(x,y,z)][1],sides[Level.getData(x,y,z)][2])==180){ var itemCount=64parseInt(Level.getSignText(x,y,z,2).split("x")[0])+parseInt(Level.getSignText(x,y,z,2).split("+")[1]); if(itemCount<4096 && itemCount+Player.getCarriedItemCount()<=4096){ itemCount+=Player.getCarriedItemCount(); Level.setSignText(x,y,z,2,parseInt(itemCount/64)+"x64+"+(itemCount-parseInt(itemCount/64)64)); for(var i=0;i<9;i++){ if(Player.getInventorySlot(i)==Player.getCarriedItem() && Player.getInventorySlotData(i)==Player.getCarriedItemData() && Player.getInventorySlotCount(i)==Player.getCarriedItemCount()){ Player.clearInventorySlot(i); break; } } } else if(itemCount<4096 && itemCount+Player.getCarriedItemCount()>4096){ for(var i=0;i<9;i++){ if(Player.getInventorySlot(i)==Player.getCarriedItem() && Player.getInventorySlotData(i)==Player.getCarriedItemData()){ net.zhuoweizhang.mcpelauncher.ScriptManager.nativeSetInventorySlot(i,Player.getCarriedItem(),Player.getInventorySlotCount(i)-(4096-itemCount),Player.getCarriedItemData()); break; } } itemCount=4096; Level.setSignText(x,y,z,2,parseInt(itemCount/64)+"x64+"+(itemCount-parseInt(itemCount/64)64)); } } else if(Level.getSignText(x,y,z,0)=="Barrel" && Level.getSignText(x,y,z,3)!="Barrel" && Level.getSignText(x,y,z,1)!=name && Level.getTile(sides[Level.getData(x,y,z)][0],sides[Level.getData(x,y,z)][1],sides[Level.getData(x,y,z)][2])==180){ var itemCount=64parseInt(Level.getSignText(x,y,z,2).split("x")[0])+parseInt(Level.getSignText(x,y,z,2).split("+")[1]); if(itemCount<=64){ Level.dropItem(Player.getX(),Player.getY(),Player.getZ(),0,Level.getSignText(x,y,z,3).split(":")[0],itemCount,Level.getSignText(x,y,z,3).split(":")[1]); Level.setSignText(x,y,z,1," "); Level.setSignText(x,y,z,2," "); Level.setSignText(x,y,z,3,"Barrel"); } else{ Level.dropItem(Player.getX(),Player.getY(),Player.getZ(),0,Level.getSignText(x,y,z,3).split(":")[0],64,Level.getSignText(x,y,z,3).split(":")[1]); itemCount-=64; Level.setSignText(x,y,z,2,parseInt(itemCount/64)+"x64+"+(itemCount-parseInt(itemCount/64)64)); } } } if(itemID==460){ if(wrenchMode!="none") preventDefault(); if(wrenchMode=="linking" && blockID==54){ if(!linking){ linkingChest=[x,y,z]; clientMessage("Link started at: "+[x,y,z]); linking=true; } else if(linking){ if(x==linkingChest[0] && y==linkingChest[1] && z==linkingChest[2]) clientMessage("Can't link to this chest..."); else{ wrenchEx.push(linkingChest); wrenchIm.push([x,y,z]); wrenchFrqs.push(1); clientMessage("Linked to: "+[x,y,z]); linkingChest=null; linking=false; } } } if(wrenchMode=="linking" && blockID==68 && Level.getSignText(x,y,z,0)=="Barrel"){ if(!linking){ linkingChest=[x,y,z]; clientMessage("Link started at: "+[x,y,z]); linking=true; } else if(linking){ if(x==linkingChest[0] && y==linkingChest[1] && z==linkingChest[2]) clientMessage("Can't link to this barrel..."); else{ wrenchEx.push(linkingChest); wrenchIm.push([x,y,z]); wrenchFrqs.push(1); clientMessage("Linked to: "+[x,y,z]); linkingChest=null; linking=false; } } } if(wrenchMode=="linking" && (blockID==61 ||blockID==62)){ if(!linking){ if(side!=1){ linkingChest=[x,y,z]; clientMessage("Link started at: "+[x,y,z]); linking=true; } else clientMessage("That's input side..."); } else if(linking){ if(x==linkingChest[0] && y==linkingChest[1] && z==linkingChest[2]) clientMessage("Can't link to this furnace..."); else{ if(side==1){ wrenchEx.push(linkingChest); wrenchIm.push([x,y,z]); wrenchFrqs.push(1); clientMessage("Linked to: "+[x,y,z]); linkingChest=null; linking=false; } else clientMessage("That's output side..."); } } } if(wrenchMode=="unlinking" && (blockID==54 || blockID==61 || blockID==62 || (blockID==68 && Level.getSignText(x,y,z,0)=="Barrel"))){ var didSomething=false; for(var i=0;i<wrenchEx.length;i++){ if(wrenchFrqs[i]==1 && ((wrenchEx[i][0]==x && wrenchEx[i][1]==y && wrenchEx[i][2]==z) || (wrenchIm[i][0]==x && wrenchIm[i][1]==y && wrenchIm[i][2]==z))){ wrenchFrqs[i]=0; clientMessage("Unlinked "+wrenchEx[i]+" and "+[x,y,z]); didSomething=true; } } if(!didSomething && blockID==54) clientMessage("This chest isn't linked..."); if(!didSomething && (blockID==61 || blockID==62)) clientMessage("This furnace isn't linked..."); if(!didSomething && blockID==68) clientMessage("This barrel isn't linked..."); } } } function attackHook(attacker,victim){ if(Player.getArmorSlot(0)==302) renderHelmetGUI(); } function destroyBlock(x,y,z,side){ poweredBlocks=[]; if(Level.getTile(x,y,z)==193 || Level.getTile(x,y,z)==194){ preventDefault(); Level.destroyBlock(x,y,z,true); } CheckTheWires(); if(Level.getTile(x,y,z)==68 && Level.getSignText(x,y,z,0)!="Barrel") Level.destroyBlock(x,y,z,true); if(Level.getTile(x,y,z)==198){ Level.destroyBlock(x,y,z,false); if(Chances(10)) Level.dropItem(x,y,z,0,196,1,0); } if(Level.getTile(x,y,z)==200){ Level.destroyBlock(x,y,z,true); for(var i=0;i<y;i++){ if(Level.getTile(x,y-i,z)==201) Level.setTile(x,y-i,z,0); } } var sides=[[x,y-1,z],[x,y+1,z],[x,y,z-1],[x,y,z+1],[x-1,y,z],[x+1,y,z]]; if(Level.getTile(x,y,z)==180){ for(var i=0;i<6;i++){ if(Level.getTile(sides[i][0],sides[i][1],sides[i][2])==68 && Level.getSignText(sides[i][0],sides[i][1],sides[i][2],0)=="Barrel"){ if(Level.getSignText(sides[i][0],sides[i][1],sides[i][2],3)=="Barrel"){ Level.destroyBlock(sides[i][0],sides[i][1],sides[i][2],false); Level.destroyBlock(x,y,z,true); break; } else if(Level.getSignText(sides[i][0],sides[i][1],sides[i][2],3)!="Barrel"){ Level.dropItem(x,y,z,0,parseInt(Level.getSignText(sides[i][0],sides[i][1],sides[i][2],3).split(":")[0]),64parseInt(Level.getSignText(sides[i][0],sides[i][1],sides[i][2],2).split("x")[0])+parseInt(Level.getSignText(sides[i][0],sides[i][1],sides[i][2],2).split("+")[1]),parseInt(Level.getSignText(sides[i][0],sides[i][1],sides[i][2],3).split(":")[1])); Level.destroyBlock(sides[i][0],sides[i][1],sides[i][2],false); Level.destroyBlock(x,y,z,true); break; } else{ Level.destroyBlock(sides[i][0],sides[i][1],sides[i][2],false); Level.destroyBlock(x,y,z,true); break; } } } } else if(Level.getTile(x,y,z)==68 && Level.getSignText(x,y,z,0)=="Barrel"){ for(var i=0;i<6;i++){ if(Level.getTile(sides[i][0],sides[i][1],sides[i][2])==180){ if(Level.getSignText(x,y,z,3)=="Barrel"){ Level.destroyBlock(x,y,z,false); Level.destroyBlock(sides[i][0],sides[i][1],sides[i][2],true); break; } else if(Level.getSignText(x,y,z,3)!="Barrel"){ Level.dropItem(x,y,z,0,parseInt(Level.getSignText(x,y,z,3).split(":")[0]),64parseInt(Level.getSignText(x,y,z,2).split("x")[0])+parseInt(Level.getSignText(x,y,z,2).split("+")[1]),parseInt(Level.getSignText(x,y,z,3).split(":")[1])); Level.destroyBlock(x,y,z,false); Level.destroyBlock(sides[i][0],sides[i][1],sides[i][2],true); break; } } } } } function leaveGame(){ ex=[]; wrenchEx=[]; wrenchIm=[]; wrenchFrqs=[]; linking=false; wrenchMode="linking"; uBlocks=[]; HideWrenchGUI(); HideJetpackGUI(); HideGuideGUI(); pBlocks=[]; poweredBlocks=[]; HideMachineGUI(); mBlocks=[]; mBlocksSlots={"none":[0,0,0,0]}; mBlocksProgress={"none":0}; loaded=false; } function renderHelmetGUI(){ if(Player.getArmorSlot(0)==302){ var types={10:"Chicken",11:"Cow",12:"Pig",13:"Sheep",32:"Zombie",34:"Skeleton",35:"Spider",33:"Creeper",36:"Zombie Pigman"}; for(var i=0;i<Entity.getAll().length;i++){ var ent=Entity.getEntityTypeId(Entity.getAll()[i]); if(ent>9 && ent<14) Entity.setNameTag(Entity.getAll()[i],types[ent]+" Health: "+Entity.getHealth(Entity.getAll()[i])); if(ent>31 && ent<37) Entity.setNameTag(Entity.getAll()[i],types[ent]+" Health: "+Entity.getHealth(Entity.getAll()[i])); } } else{ for(var i=0;i<Entity.getAll().length;i++){ var ent=Entity.getEntityTypeId(Entity.getAll()[i]); if(((ent>9 && ent<14) || (ent>31 && ent<37)) && Entity.getNameTag(Entity.getAll()[i])) Entity.setNameTag(Entity.getAll()[i],""); } } } function GrowTree(x,y,z){ Level.setTile(x,y,z,197); Level.setTile(x,y+1,z,197); Level.setTile(x,y+2,z,197); Level.setTile(x,y+3,z,197); Level.setTile(x,y+4,z,198); //Level.setTile(x-1,y+4,z,198); //Level.setTile(x+1,y+4,z,198); //Level.setTile(x,y+4,z-1,198); //Level.setTile(x,y+4,z+1,198); Level.setTile(x-1,y+3,z,198); Level.setTile(x+1,y+3,z,198); Level.setTile(x,y+3,z-1,198); Level.setTile(x,y+3,z+1,198); Level.setTile(x-1,y+2,z,198); Level.setTile(x+1,y+2,z,198); Level.setTile(x,y+2,z-1,198); Level.setTile(x,y+2,z+1,198); Level.setTile(x-1,y+2,z-1,198); Level.setTile(x+1,y+2,z-1,198); Level.setTile(x-1,y+2,z+1,198); Level.setTile(x+1,y+2,z+1,198); } function GetItemBlockName(id){ var IDs={ "0:0":"","1:0":"Stone","2:0":"Grass","3:0":"Dirt","4:0":"Cobblestone","5:0":"Wooden Plank","6:0":"Oak Sapling","6:1":"Spruce Sapling","6:2":"Birch Sapling","7:0":"Bedrock","8:0":"Water","9:0":"Stationary water","10:0":"Lava","11:0":"Stationary lava","12:0":"Sand","13:0":"Gravel","14:0":"Gold Ore","15:0":"Iron Ore","16:0":"Coal Ore","17:0":"Oak Log","17:1":"Spruce Log","17:2":"Birch Log","18:0":"Oak Leaves","18:1":"Spruce Leaves","18:2":"Birch Leaves","19:0":"Sponge","20:0":"Glass","21:0":"Lapis Lazuli Ore","22:0":"Lapis Lazuli Block","24:0":"Sandstone","24:1":"Chiseled Sandstone","24:2":"Smooth Sandstone","26:0":"Bed Block","27:0":"Powered Rail","30:0":"Cobweb","31:0":"Dead Shrub","32:0":"Dead Bush","35:0":"White Wool","35:1":"Orange Wool","35:2":"Magenta Wool","35:3":"Light Blue Wool","35:4":"Yellow Wool","35:5":"Lime Green Wool","35:6":"Pink Wool","35:7":"Gray Wool","35:8":"Light Gray Wool","35:9":"Cyan Wool","35:10":"Purple Wool","35:11":"Blue Wool","35:12":"Brown Wool","35:13":"Green Wool","35:14":"Red Wool","35:15":"Black Wool","37:0":"Yellow Flower","38:0":"Cyan Flower","39:0":"Brown Mushroom","40:0":"Red Mushroom","41:0":"Gold Block","42:0":"Iron Block","43:0":"Double Slab (Stone)","43:1":"Double Slab (Sandstone)","43:2":"Double Slab (Wood)","43:3":"Double Slab (Cobblestone)","43:4":"Double Slab (Brick)","43:6":"Double Slab (Stone)","44:0":"Slab (Stone)","44:1":"Slab (Sandstone)","44:2":"Slab (Wood)","44:3":"Slab (Cobblestone)","44:4":"Slab (Brick)","44:5":"Slab (Stone Brick)","44:6":"Slab (Stone)","44:7":"Slab (Quartz)","45:0":"Brick Block","46:0":"TNT","47:0":"Bookshelf","48:0":"Moss Stone","49:0":"Obsidian", "50:0":"Torch","51:0":"Fire","53:0":"Wooden Stairs","54:0":"Chest","56:0":"Diamond Ore","57:0":"Diamond Block","58:0":"Crafting Table","59:0":"Crops","60:0":"Farmland","61:0":"Furnace","62:0":"Burning Furnace","63:0":"Sign Post","64:0":"Wooden Door","65:0":"Ladder","66:0":"Rail","67:0":"Cobblestone Stairs","68:0":"Wall Sign","71:0":"Iron Door","73:0":"Redstone Ore","74:0":"Glowing Redstone Ore","78:0":"Snow","79:0":"Ice","80:0":"Snow Block","81:0":"Cactus","82:0":"Clay Block","83:0":"Sugar Cane","85:0":"Fence","86:0":"Pumpkin","87:0":"Netherrack","89:0":"Glowstone","91:0":"Jack 'o' Lantern","92:0":"Cake","95:0":"Invisible bedrock","96:0":"Trapdoor","98:0":"Stone Bricks","98:1":"Stone Brick (mossy)","98:2":"Stone Brick (cracked)", "101:0":"Iron Bars","102:0":"Glass Pane","103:0":"Melon","104:0":"Pumpkin Stem","105:0":"Melon Stem","107:0":"Fence Gate","108:0":"Brick Stairs","109:0":"Stone Brick Stairs","112:0":"Nether Brick","114:0":"Nether Brick Stairs","126:0":"Cake","128:0":"Sandstone Stairs","134:0":"Spruce Stairs","135:0":"Birch Stairs","136:0":"Jungle Stairs","139:0":"Cobblestone Wall","141:0":"Carrot","142:0":"Potato", "155:0":"Block of Quartz","155:1":"Chiseled Quartz Block","155:2":"Pillar Quartz Block","156:0":"Quartz Stairs","157:0":"Wooden Double Stairs","158:0":"Wooden Slab","170:0":"Hey Bale","171:0":"Carpet","173:0":"Block of Coal", "244:0":"Beetroot","245:0":"Stone Cutter","246:0":"Glowing Obsidian","247:0":"Nether Reactor Core","248:0":"Update","249:0":"Update","253:0":"Update","254:0":"Update","255:0":"Update", "256:0":"Iron Shovel","257:0":"Iron Pickaxe","258:0":"Iron Axe","259:0":"Flint and Steel","260:0":"Apple","261:0":"Bow","262:0":"Arrow","263:0":"Coal","263:1":"Charcoal","264:0":"Diamond","265:0":"Iron Ingot","266:0":"Gold Ingot","267:0":"Iron Sword","268:0":"Wooden Sword","269:0":"Wooden Shovel","270:0":"Wooden Pickaxe","271:0":"Wooden Axe","272:0":"Stone Sword","273:0":"Stone Shovel","274:0":"Stone Pickaxe","275:0":"Stone Axe","276:0":"Diamond Sword","277:0":"Diamond Shovel","278:0":"Diamond Pickaxe","279:0":"Diamond Axe","280:0":"Stick","281:0":"Bowl","282:0":"Mushroom Soup","283:0":"Gold Sword","284:0":"Gold Shovel","285:0":"Gold Pickaxe","286:0":"Gold Axe","287:0":"String","288:0":"Feather","289:0":"Gunpowder","290:0":"Wooden Hoe","291:0":"Stone Hoe","292:0":"Iron Hoe","293:0":"Diamond Hoe","294:0":"Gold Hoe","295:0":"Seeds","296:0":"Wheat","297:0":"Bread","298:0":"Leather Helmet","299:0":"Leather Chestplate", "300:0":"Leather Leggings","301:0":"Leather Boots","302:0":"Chainmail Helmet","303:0":"Chainmail Chestplate","304:0":"Chainmail Leggings","305:0":"Chainmail Boots","306:0":"Iron Helmet","307:0":"Iron Chestplate","308:0":"Iron Leggings","309:0":"Iron Boots","310:0":"Diamond Helmet","311:0":"Diamond Chestplate","312:0":"Diamond Leggings","313:0":"Diamond Boots","314:0":"Gold Helmet","315:0":"Gold Chestplate","316:0":"Gold Leggings","317:0":"Gold Boots","318:0":"Flint","319:0":"Raw Porkchop","320:0":"Cooked Porkchop","321:0":"Painting","323:0":"Sign","324:0":"Wooden Door","325:0":"Bucket","325:1":"Milk Bucket","325:8":"Water Bucket","325:10":"Lava Bucket","328:0":"Minecart","329:0":"Saddle","330:0":"Iron Door","331:0":"Redstone","332:0":"Snowball","334:0":"Leather","336:0":"Clay Brick","337:0":"Clay","338:0":"Sugar Cane","339:0":"Paper","340:0":"Book","341:0":"Slime Ball","344:0":"Egg","345:0":"Compass","347:0":"Clock","348:0":"Glowstone Dust", "351:0":"Ink Sack","351:1":"Rose Red","351:2":"Cactus Green","351:3":"Cocoa Beans","351:4":"Lapis Lazuli","351:5":"Purple Dye","351:6":"Cyan Dye","351:7":"Light Gray Dye","351:8":"Gray Dye","351:9":"Pink Dye","351:10":"Lime Dye","351:11":"Dandelion Yellow Dye","351:12":"Light Blue Dye","351:13":"Magenta Dye","351:14":"Orange Dye","351:15":"Bone Meal","352:0":"Bone","353:0":"Sugar","354:0":"Cake","355:0":"Bed","359:0":"Shears","360:0":"Melon","361:0":"Pumpkin Seeds","362:0":"Melon Seeds","363:0":"Raw Beef","364:0":"Steak","365:0":"Raw Chicken","366:0":"Cooked Chicken","383:10":"Spawn Chicken","383:11":"Spawn Cow","383:12":"Spawn Pig","383:13":"Spawn Sheep","391:0":"Carrot","392:0":"Potato","393:0":"Baked Potato","400:0":"Pumpkin Pie","405:0":"Nether Brick","406:0":"Nether Quartz","456:0":"Camera","457:0":"Beetroot","458:0":"Beetroot Seeds","459:0":"Beetroot Soup" }; if(IDs[id]) return IDs[id]; else return Item.getName(parseInt(id.split(":")[0]),parseInt(id.split(":")[2]),true).replace("item.","").replace("tile.",""); } function InArray(arr1,arr2){ if(arr2.length==0) return false; for(var i=0;i<arr2.length;i++){ if(arr2[i][0]==arr1[0] && arr2[i][1]==arr1[1] && arr2[i][2]==arr1[2]) return true; } return false; } function FindHighestY(x,z){ for(var y=parseInt(Player.getY())+64;y>0;y--){ if(Level.getTile(x,y,z)!=0) return y; } return 0; } function IDinArray(arr1,arr2){ for(var i=0;i<arr2.length;i++){ if(arr2[i][0]==arr1[0] && arr2[i][1]==arr1[1]) return true; } return false; } function Chances(p){ var rnd=Math.floor(Math.random()101); if(rnd<p) return true; return false; } var machineWindow=null; var closeButtonWindow=null; var playerWindow=null; function Machines(){ if(mBlocks.length==0) return; for(var i=0;i<mBlocks.length;i++){ if(Level.getTile(mBlocks[i][0],mBlocks[i][1],mBlocks[i][2])==195){ //Grinder var sides=[[mBlocks[i][0],mBlocks[i][1]-1,mBlocks[i][2]],[mBlocks[i][0],mBlocks[i][1]+1,mBlocks[i][2]],[mBlocks[i][0],mBlocks[i][1],mBlocks[i][2]-1],[mBlocks[i][0],mBlocks[i][1],mBlocks[i][2]+1],[mBlocks[i][0]-1,mBlocks[i][1],mBlocks[i][2]],[mBlocks[i][0]+1,mBlocks[i][1],mBlocks[i][2]]]; var con=false; for(var j=0;j<6;j++){ if(InArray([sides[j][0],sides[j][1],sides[j][2]],poweredBlocks)){ con=true; break; } } if(mBlocksSlots[mBlocks[i][0]+","+mBlocks[i][1]+","+mBlocks[i][2]][0]!=0 && con && mBlocksSlots[mBlocks[i][0]+","+mBlocks[i][1]+","+mBlocks[i][2]][3]<64) mBlocksProgress[mBlocks[i][0]+","+mBlocks[i][1]+","+mBlocks[i][2]]+=0.5; else mBlocksProgress[mBlocks[i][0]+","+mBlocks[i][1]+","+mBlocks[i][2]]=0; if(mBlocksProgress[mBlocks[i][0]+","+mBlocks[i][1]+","+mBlocks[i][2]]==100){ if(mBlocksSlots[mBlocks[i][0]+","+mBlocks[i][1]+","+mBlocks[i][2]][2]==0 || (mBlocksSlots[mBlocks[i][0]+","+mBlocks[i][1]+","+mBlocks[i][2]][2]==grinded[mBlocksSlots[mBlocks[i][0]+","+mBlocks[i][1]+","+mBlocks[i][2]][0]] && mBlocksSlots[mBlocks[i][0]+","+mBlocks[i][1]+","+mBlocks[i][2]][3]<64)){ if(mBlocksSlots[mBlocks[i][0]+","+mBlocks[i][1]+","+mBlocks[i][2]][2]==0){ mBlocksSlots[mBlocks[i][0]+","+mBlocks[i][1]+","+mBlocks[i][2]][2]=grinded[mBlocksSlots[mBlocks[i][0]+","+mBlocks[i][1]+","+mBlocks[i][2]][0]]; mBlocksSlots[mBlocks[i][0]+","+mBlocks[i][1]+","+mBlocks[i][2]][3]=1; } else mBlocksSlots[mBlocks[i][0]+","+mBlocks[i][1]+","+mBlocks[i][2]][3]++; if(mBlocksSlots[mBlocks[i][0]+","+mBlocks[i][1]+","+mBlocks[i][2]][1]==1) mBlocksSlots[mBlocks[i][0]+","+mBlocks[i][1]+","+mBlocks[i][2]][0]=0; mBlocksSlots[mBlocks[i][0]+","+mBlocks[i][1]+","+mBlocks[i][2]][1]--; } mBlocksProgress[mBlocks[i][0]+","+mBlocks[i][1]+","+mBlocks[i][2]]=0; if(machineWindow!=null) ShowMachineGUI(mBlocks[i][0]+","+mBlocks[i][1]+","+mBlocks[i][2]); } if(mBlocksSlots[mBlocks[i][0]+","+mBlocks[i][1]+","+mBlocks[i][2]][2]!=0){ for(var j=2;j<6;j++){ if(Level.getTile(sides[j][0],sides[j][1],sides[j][2])==54 || Level.getTile(sides[j][0],sides[j][1],sides[j][2])==61 || Level.getTile(sides[j][0],sides[j][1],sides[j][2])==62){ var old=Level.getTile(mBlocks[i][0],mBlocks[i][1],mBlocks[i][2]); Level.setTile(mBlocks[i][0],mBlocks[i][1],mBlocks[i][2],54,0); Level.setChestSlot(mBlocks[i][0],mBlocks[i][1],mBlocks[i][2],0,mBlocksSlots[mBlocks[i][0]+","+mBlocks[i][1]+","+mBlocks[i][2]][2],0,1); if(MoveItems([mBlocks[i][0],mBlocks[i][1],mBlocks[i][2]],[sides[j][0],sides[j][1],sides[j][2]],1)){ mBlocksSlots[mBlocks[i][0]+","+mBlocks[i][1]+","+mBlocks[i][2]][3]--; if(mBlocksSlots[mBlocks[i][0]+","+mBlocks[i][1]+","+mBlocks[i][2]][3]==0) mBlocksSlots[mBlocks[i][0]+","+mBlocks[i][1]+","+mBlocks[i][2]][2]=0; } Level.setChestSlot(mBlocks[i][0],mBlocks[i][1],mBlocks[i][2],0,0); Level.setTile(mBlocks[i][0],mBlocks[i][1],mBlocks[i][2],old,0); break; } else if(Level.getTile(sides[j][0],sides[j][1],sides[j][2])==182){ var old=Level.getTile(mBlocks[i][0],mBlocks[i][1],mBlocks[i][2]); Level.setTile(mBlocks[i][0],mBlocks[i][1],mBlocks[i][2],54,0); Level.setChestSlot(mBlocks[i][0],mBlocks[i][1],mBlocks[i][2],0,mBlocksSlots[mBlocks[i][0]+","+mBlocks[i][1]+","+mBlocks[i][2]][2],0,1); Level.setTile(sides[j][0],sides[j][1],sides[j][2],181,0); if(MoveItems([mBlocks[i][0],mBlocks[i][1],mBlocks[i][2]],FindChest(sides[j][0],sides[j][1],sides[j][2]),1)){ mBlocksSlots[mBlocks[i][0]+","+mBlocks[i][1]+","+mBlocks[i][2]][3]--; if(mBlocksSlots[mBlocks[i][0]+","+mBlocks[i][1]+","+mBlocks[i][2]][3]==0) mBlocksSlots[mBlocks[i][0]+","+mBlocks[i][1]+","+mBlocks[i][2]][2]=0; } Level.setChestSlot(mBlocks[i][0],mBlocks[i][1],mBlocks[i][2],0,0); Level.setTile(mBlocks[i][0],mBlocks[i][1],mBlocks[i][2],old,0); Level.setTile(sides[j][0],sides[j][1],sides[j][2],182,0); break; } else if(Level.getTile(sides[j][0],sides[j][1],sides[j][2])==180){ sides=[[sides[j][0],sides[j][1]-1,sides[j][2]],[sides[j][0],sides[j][1]+1,sides[j][2]],[sides[j][0],sides[j][1],sides[j][2]-1],[sides[j][0],sides[j][1],sides[j][2]+1],[sides[j][0]-1,sides[j][1],sides[j][2]],[sides[j][0]+1,sides[j][1],sides[j][2]]]; var old=Level.getTile(mBlocks[i][0],mBlocks[i][1],mBlocks[i][2]); var cx,cy,cz; for(var k=0;k<6;k++){ if(Level.getTile(sides[k][0],sides[k][1],sides[k][2])==68 && Level.getSignText(sides[k][0],sides[k][1],sides[k][2],0)=="Barrel"){ cx=sides[k][0]; cy=sides[k][1]; cz=sides[k][2]; break; } } if(cx==cy) break; Level.setTile(mBlocks[i][0],mBlocks[i][1],mBlocks[i][2],54,0); Level.setChestSlot(mBlocks[i][0],mBlocks[i][1],mBlocks[i][2],0,mBlocksSlots[mBlocks[i][0]+","+mBlocks[i][1]+","+mBlocks[i][2]][2],0,1); if(MoveItems([mBlocks[i][0],mBlocks[i][1],mBlocks[i][2]],[cx,cy,cz],1)){ mBlocksSlots[mBlocks[i][0]+","+mBlocks[i][1]+","+mBlocks[i][2]][3]--; if(mBlocksSlots[mBlocks[i][0]+","+mBlocks[i][1]+","+mBlocks[i][2]][3]==0) mBlocksSlots[mBlocks[i][0]+","+mBlocks[i][1]+","+mBlocks[i][2]][2]=0; } Level.setChestSlot(mBlocks[i][0],mBlocks[i][1],mBlocks[i][2],0,0); Level.setTile(mBlocks[i][0],mBlocks[i][1],mBlocks[i][2],old,0); break; } } } } if(Level.getTile(mBlocks[i][0],mBlocks[i][1],mBlocks[i][2])==200){ //Drill var sides=[[mBlocks[i][0],mBlocks[i][1]-1,mBlocks[i][2]],[mBlocks[i][0],mBlocks[i][1]+1,mBlocks[i][2]],[mBlocks[i][0],mBlocks[i][1],mBlocks[i][2]-1],[mBlocks[i][0],mBlocks[i][1],mBlocks[i][2]+1],[mBlocks[i][0]-1,mBlocks[i][1],mBlocks[i][2]],[mBlocks[i][0]+1,mBlocks[i][1],mBlocks[i][2]]]; var con=false; for(var j=0;j<6;j++){ if(InArray([sides[j][0],sides[j][1],sides[j][2]],poweredBlocks)){ con=true; break; } } if(con && (tickCounter==19 || tickCounter==39)){ for(var y=1;y<mBlocks[i][1]+1;y++){ if(Level.getTile(mBlocks[i][0],mBlocks[i][1]-y,mBlocks[i][2])==7){ mBlocks.splice(i,1); return; } else if(Level.getTile(mBlocks[i][0],mBlocks[i][1]-y,mBlocks[i][2])==0) Level.setTile(mBlocks[i][0],mBlocks[i][1]-y,mBlocks[i][2],201); else if(Level.getTile(mBlocks[i][0],mBlocks[i][1]-y,mBlocks[i][2])!=0 && Level.getTile(mBlocks[i][0],mBlocks[i][1]-y,mBlocks[i][2])!=201){ var blockID=[Level.getTile(mBlocks[i][0],mBlocks[i][1]-y,mBlocks[i][2]),Level.getData(mBlocks[i][0],mBlocks[i][1]-y,mBlocks[i][2]),1]; Level.destroyBlock(mBlocks[i][0],mBlocks[i][1]-y,mBlocks[i][2],false); blockID=GetCorrectBlock(blockID[0],blockID[1],blockID[2]); if(blockID[0]!=0) AutoOutput(mBlocks[i][0],mBlocks[i][1],mBlocks[i][2],blockID[0],blockID[1],blockID[2]); break; } } } } } } function AutoOutput(x,y,z,id,dmg,amount){ var sides=[[x,y-1,z],[x,y+1,z],[x,y,z-1],[x,y,z+1],[x-1,y,z],[x+1,y,z]]; var cx,cy,cz; for(var i=0;i<6;i++){ if(Level.getTile(sides[i][0],sides[i][1],sides[i][2])==54){ cx=sides[i][0]; cy=sides[i][1]; cz=sides[i][2]; var old=Level.getTile(x,y,z); Level.setTile(x,y,z,54); Level.setChestSlot(x,y,z,0,id,dmg,amount); MoveItems([x,y,z],[cx,cy,cz],amount); Level.setChestSlot(x,y,z,0,0); Level.setTile(x,y,z,old); break; } if(Level.getTile(sides[i][0],sides[i][1],sides[i][2])==182){ cx=sides[i][0]; cy=sides[i][1]; cz=sides[i][2]; var old=Level.getTile(x,y,z); Level.setTile(x,y,z,54); Level.setTile(cx,cy,cz,181); Level.setChestSlot(x,y,z,0,id,dmg,amount); MoveItems([x,y,z],FindChest(cx,cy,cz),amount); Level.setChestSlot(x,y,z,0,0); Level.setTile(cx,cy,cz,182); Level.setTile(x,y,z,old); break; } } if(cx==cy){ Level.dropItem(x,y+1,z,0,id,amount,dmg) } } function GetCorrectBlock(id,dmg,amount){ var IDb={ 8:0,9:0,10:0,11:0,18:0,19:0,20:0,30:0,31:0,32:0,51:0,79:0,92:0,102:0, 1:4,2:3,16:263,21:351,43:44,56:264,59:295,60:3,62:61,63:323,68:323,73:331,74:331,78:332,82:337,83:338,89:348,104:360,105:361,141:391,142:392,244:458 }; if(IDb[id]) id=IDb[id]; dmg=0; amount=1; if(id==331) amount=4; if(id==337) amount=4; if(id==348) amount=3; if(id==351){ amount=6; dmg=4; } return [id,dmg,amount]; } function CheckTheWires(){ if(pBlocks.length>0){ for(var i=0;i<pBlocks.length;i++){ if(Level.getTile(pBlocks[i][0],pBlocks[i][1],pBlocks[i][2])==193) //Solar panel PowerDistribution(pBlocks[i][0],pBlocks[i][1],pBlocks[i][2],true); if(Level.getTile(pBlocks[i][0],pBlocks[i][1],pBlocks[i][2])==194) //Wire PowerDistribution(pBlocks[i][0],pBlocks[i][1],pBlocks[i][2],false); var sides=[[pBlocks[i][0],pBlocks[i][1]-1,pBlocks[i][2]],[pBlocks[i][0],pBlocks[i][1]+1,pBlocks[i][2]],[pBlocks[i][0],pBlocks[i][1],pBlocks[i][2]-1],[pBlocks[i][0],pBlocks[i][1],pBlocks[i][2]+1],[pBlocks[i][0]-1,pBlocks[i][1],pBlocks[i][2]],[pBlocks[i][0]+1,pBlocks[i][1],pBlocks[i][2]]]; for(var j=0;j<6;j++){ if(Level.getTile(sides[j][0],sides[j][1],sides[j][2])==193 || Level.getTile(sides[j][0],sides[j][1],sides[j][2])==194){ if(!InArray([sides[j][0],sides[j][1],sides[j][2]],pBlocks)) pBlocks.push([sides[j][0],sides[j][1],sides[j][2]]); } } } } } function PlaceBlock(x,y,z,side,id,dmg){ var sides=[[x,y-1,z],[x,y+1,z],[x,y,z-1],[x,y,z+1],[x-1,y,z],[x+1,y,z]]; Level.setTile(sides[side][0],sides[side][1],sides[side][2],id,dmg); if(Player.getCarriedItemCount()>1) Entity.setCarriedItem(Player.getEntity(),Player.getCarriedItem(),Player.getCarriedItemCount()-1,Player.getCarriedItemData()); else{ for(var i=0;i<9;i++){ if(Player.getInventorySlot(i)==Player.getCarriedItem() && Player.getInventorySlotData(i)==Player.getCarriedItemData() && Player.getInventorySlotCount(i)==Player.getCarriedItemCount()){ Player.clearInventorySlot(i); break; } } } } function PowerDistribution(x,y,z,bool){ if(bool && !InArray([x,y,z],poweredBlocks)) poweredBlocks.push([x,y,z]); else{ var sides=[[x,y-1,z],[x,y+1,z],[x,y,z-1],[x,y,z+1],[x-1,y,z],[x+1,y,z]]; for(var i=0;i<6;i++){ if(InArray([sides[i][0],sides[i][1],sides[i][2]],poweredBlocks) && !InArray([x,y,z],poweredBlocks)){ poweredBlocks.push([x,y,z]); break; } } } } function Generator(x,y,z,id,dmg,amount){ var waterPos=[]; var lavaPos=[]; if(id==4 || id==1 || id==49){ var sides=[[x,y-1,z],[x,y+1,z],[x,y,z-1],[x,y,z+1],[x-1,y,z],[x+1,y,z]]; var isWater=false; var isLava=false; for(var i=2;i<6;i++){ if(Level.getTile(sides[i][0],sides[i][1],sides[i][2])==11 || Level.getTile(sides[i][0],sides[i][1],sides[i][2])==10){ isLava=true; lavaPos=[sides[i][0],sides[i][1],sides[i][2]]; } else if(Level.getTile(sides[i][0],sides[i][1],sides[i][2])==9 || Level.getTile(sides[i][0],sides[i][1],sides[i][2])==8){ isWater=true; waterPos=[sides[i][0],sides[i][1],sides[i][2]]; } } if(!isWater || !isLava) return; } if(Level.getTile(x,y+1,z)==54){ var old=Level.getTile(x,y,z); Level.setTile(x,y,z,54); Level.setChestSlot(x,y,z,0,id,dmg,amount); MoveItems([x,y,z],[x,y+1,z],amount); if(id==1) Level.setTile(waterPos[0],waterPos[1],waterPos[2],0); if(id==49){ Level.setTile(waterPos[0],waterPos[1],waterPos[2],0); Level.setTile(lavaPos[0],lavaPos[1],lavaPos[2],0); } Level.setChestSlot(x,y,z,0,0); Level.setTile(x,y,z,old); } else if(Level.getTile(x,y+1,z)==61 || Level.getTile(x,y+1,z)==62){ var old=Level.getTile(x,y,z); Level.setTile(x,y,z,54); Level.setChestSlot(x,y,z,0,id,dmg,amount); MoveItems([x,y,z],[x,y+1,z],amount); if(id==1) Level.setTile(waterPos[0],waterPos[1],waterPos[2],0); if(id==49){ Level.setTile(waterPos[0],waterPos[1],waterPos[2],0); Level.setTile(lavaPos[0],lavaPos[1],lavaPos[2],0); } Level.setChestSlot(x,y,z,0,0); Level.setTile(x,y,z,old); } else if(Level.getTile(x,y+1,z)==180){ var sides=[[x,y,z],[x,y+2,z],[x,y+1,z-1],[x,y+1,z+1],[x-1,y+1,z],[x+1,y+1,z]]; var old=Level.getTile(x,y,z); Level.setTile(x,y,z,54); Level.setChestSlot(x,y,z,0,id,dmg,amount); for(var i=0;i<6;i++){ if(Level.getTile(sides[i][0],sides[i][1],sides[i][2])==68 && Level.getSignText(sides[i][0],sides[i][1],sides[i][2],0)=="Barrel"){ MoveItems([x,y,z],[sides[i][0],sides[i][1],sides[i][2]],amount); net.zhuoweizhang.mcpelauncher.ScriptManager.nativeExtinguishFire(sides[i][0],sides[i][1],sides[i][2],0); if(id==1) Level.setTile(waterPos[0],waterPos[1],waterPos[2],0); if(id==49){ Level.setTile(waterPos[0],waterPos[1],waterPos[2],0); Level.setTile(lavaPos[0],lavaPos[1],lavaPos[2],0); } break; } } Level.setChestSlot(x,y,z,0,0); Level.setTile(x,y,z,old); } else if(Level.getTile(x,y+1,z)==182){ var old=Level.getTile(x,y,z); Level.setTile(x,y,z,54); Level.setTile(x,y+1,z,181); Level.setChestSlot(x,y,z,0,id,dmg,amount); MoveItems([x,y,z],FindChest(x,y+1,z),amount); Level.setChestSlot(x,y,z,0,0); Level.setTile(x,y,z,old); Level.setTile(x,y+1,z,182); } return; } function Farmer(x,y,z,range){ //if(Level.getTile(x,y+1,z)!=8 && Level.getTile(x,y+1,z)!=9) // return; var isChest=false; var powered=false; var cx,cy,cz; var sides=[[x,y-1,z],[x,y+1,z],[x,y,z-1],[x,y,z+1],[x-1,y,z],[x+1,y,z]]; for(var i=0;i<6;i++){ if(Level.getTile(sides[i][0],sides[i][1],sides[i][2])==54){ cx=sides[i][0]; cy=sides[i][1]; cz=sides[i][2]; isChest=true; break; } } if(!isChest) return; for(var i=0;i<6;i++){ if(InArray([sides[i][0],sides[i][1],sides[i][2]],poweredBlocks)){ powered=true; break; } } if(!powered) return; var inRange=[]; for(var i=-range;i<range+1;i++){ for(var j=-range;j<range+1;j++) inRange.push([x+i,y+2,z+j]); } var planted={295:59,391:141,392:142,458:244}; var planted2={59:295,141:391,142:392,244:458}; var product={59:296,141:391,142:392,244:457}; for(var i=0;i<inRange.length;i++){ if(Level.getTile(inRange[i][0],inRange[i][1],inRange[i][2])==0 && Level.getTile(inRange[i][0],inRange[i][1]-1,inRange[i][2])==60){ for(var j=0;j<27;j++){ if(Level.getChestSlot(cx,cy,cz,j)==295 || Level.getChestSlot(cx,cy,cz,j)==391 || Level.getChestSlot(cx,cy,cz,j)==392 || Level.getChestSlot(cx,cy,cz,j)==458){ Level.setTile(inRange[i][0],inRange[i][1],inRange[i][2],planted[Level.getChestSlot(cx,cy,cz,j)],0); if(Level.getChestSlotCount(cx,cy,cz,j)>1) Level.setChestSlot(cx,cy,cz,j,Level.getChestSlot(cx,cy,cz,j),0,Level.getChestSlotCount(cx,cy,cz,j)-1); else Level.setChestSlot(cx,cy,cz,j,0); break; } } return; } if(Level.getTile(inRange[i][0],inRange[i][1],inRange[i][2])==0 && (Level.getTile(inRange[i][0],inRange[i][1]-1,inRange[i][2])==2 || Level.getTile(inRange[i][0],inRange[i][1]-1,inRange[i][2])==3)){ Level.setTile(inRange[i][0],inRange[i][1]-1,inRange[i][2],60,6); return; } if((Level.getTile(inRange[i][0],inRange[i][1],inRange[i][2])==59 || Level.getTile(inRange[i][0],inRange[i][1],inRange[i][2])==141 || Level.getTile(inRange[i][0],inRange[i][1],inRange[i][2])==142 || Level.getTile(inRange[i][0],inRange[i][1],inRange[i][2])==244) && Level.getData(inRange[i][0],inRange[i][1],inRange[i][2])==7){ var rnd=Math.floor(Math.random()3)+1; var old=Level.getTile(x,y,z); Level.setTile(x,y,z,54); Level.setChestSlot(x,y,z,0,planted2[Level.getTile(inRange[i][0],inRange[i][1],inRange[i][2])],0,rnd); MoveItems([x,y,z],[cx,cy,cz],rnd); Level.setChestSlot(x,y,z,0,product[Level.getTile(inRange[i][0],inRange[i][1],inRange[i][2])],0,1); MoveItems([x,y,z],[cx,cy,cz],1); Level.setChestSlot(x,y,z,0,0); Level.setTile(x,y,z,old); Level.destroyBlock(inRange[i][0],inRange[i][1],inRange[i][2],false); return; } } } function TreeFarmer(x,y,z,range){ var isChest=false; var powered=false; var cx,cy,cz; var sides=[[x,y-1,z],[x,y+1,z],[x,y,z-1],[x,y,z+1],[x-1,y,z],[x+1,y,z]]; for(var i=0;i<6;i++){ if(Level.getTile(sides[i][0],sides[i][1],sides[i][2])==54){ cx=sides[i][0]; cy=sides[i][1]; cz=sides[i][2]; isChest=true; break; } } if(!isChest) return; for(var i=0;i<6;i++){ if(InArray([sides[i][0],sides[i][1],sides[i][2]],poweredBlocks)){ powered=true; break; } } if(!powered) return; var inRange=[]; for(var k=0;k<8;k++){ for(var j=-range;j<range+1;j++){ for(var i=-range;i<range+1;i++) inRange.push([x+i,y+8-k,z+j]); } } for(var i=0;i<inRange.length;i++){ var id=Level.getTile(inRange[i][0],inRange[i][1],inRange[i][2]); var dmg=Level.getData(inRange[i][0],inRange[i][1],inRange[i][2]); if(id==0 && (Level.getTile(inRange[i][0],inRange[i][1]-1,inRange[i][2])==2 || Level.getTile(inRange[i][0],inRange[i][1]-1,inRange[i][2])==3)){ for(var j=0;j<27;j++){ if(Level.getChestSlot(cx,cy,cz,j)==6){ Level.setTile(inRange[i][0],inRange[i][1],inRange[i][2],Level.getChestSlot(cx,cy,cz,j),Level.getChestSlotData(cx,cy,cz,j)); if(Level.getChestSlotCount(cx,cy,cz,j)>1) Level.setChestSlot(cx,cy,cz,j,Level.getChestSlot(cx,cy,cz,j),Level.getChestSlotData(cx,cy,cz,j),Level.getChestSlotCount(cx,cy,cz,j)-1); else Level.setChestSlot(cx,cy,cz,j,0); break; } } return; } if(id==18){ var sides=[[inRange[i][0],inRange[i][1],inRange[i][2]],[inRange[i][0],inRange[i][1]-1,inRange[i][2]],[inRange[i][0],inRange[i][1]+1,inRange[i][2]],[inRange[i][0],inRange[i][1],inRange[i][2]-1],[inRange[i][0],inRange[i][1],inRange[i][2]+1],[inRange[i][0]-1,inRange[i][1],inRange[i][2]],[inRange[i][0]+1,inRange[i][1],inRange[i][2]]]; for(var j=0;j<6;j++){ if(Chances(5)){ var old=Level.getTile(x,y,z); Level.setTile(x,y,z,54); Level.setChestSlot(x,y,z,0,260,0,1); MoveItems([x,y,z],[cx,cy,cz],1); Level.setChestSlot(x,y,z,0,0); Level.setTile(x,y,z,old); } if(Chances(20)){ var old=Level.getTile(x,y,z); Level.setTile(x,y,z,54); Level.setChestSlot(x,y,z,0,6,Level.getData(sides[j][0],sides[j][1],sides[j][2])-7,1); MoveItems([x,y,z],[cx,cy,cz],1); Level.setChestSlot(x,y,z,0,0); Level.setTile(x,y,z,old); } if(Level.getTile(sides[j][0],sides[j][1],sides[j][2])==18) Level.destroyBlock(sides[j][0],sides[j][1],sides[j][2],false); } return; } else if(id==17){ var old=Level.getTile(x,y,z); Level.setTile(x,y,z,54); Level.setChestSlot(x,y,z,0,17,Level.getData(sides[j][0],sides[j][1],sides[j][2]),1); MoveItems([x,y,z],[cx,cy,cz],1); Level.setChestSlot(x,y,z,0,0); Level.setTile(x,y,z,old); Level.destroyBlock(inRange[i][0],inRange[i][1],inRange[i][2],false); return; } } } function FindChest(x,y,z){ var sides=[[x,y-1,z],[x,y+1,z],[x,y,z-1],[x,y,z+1],[x-1,y,z],[x+1,y,z]]; var side=[x,y,z,0]; var passed=[[x,y,z]]; var routes=[[x,y,z]]; for(var i=0;i<6;i++){ if(Level.getTile(sides[i][0],sides[i][1],sides[i][2])==182) routes.push([sides[i][0],sides[i][1],sides[i][2]]); } if(routes.length>1){ var rnd=Math.floor(Math.floor(Math.random()(routes.length-1))+1); x=routes[rnd][0]; y=routes[rnd][1]; z=routes[rnd][2]; } else return side; while(passed[passed.length-1][0]!=x || passed[passed.length-1][1]!=y || passed[passed.length-1][2]!=z){ sides=[[x,y-1,z],[x,y+1,z],[x,y,z-1],[x,y,z+1],[x-1,y,z],[x+1,y,z]]; routes=[[x,y,z,0]]; for(var i=0;i<6;i++){ sides=[[x,y-1,z],[x,y+1,z],[x,y,z-1],[x,y,z+1],[x-1,y,z],[x+1,y,z]]; if(Level.getTile(sides[i][0],sides[i][1],sides[i][2])==54) routes.push([sides[i][0],sides[i][1],sides[i][2],i]); else if(Level.getTile(sides[i][0],sides[i][1],sides[i][2])==195){ if(!InArray([sides[i][0],sides[i][1],sides[i][2]],mBlocks)){ mBlocks.push([sides[i][0],sides[i][1],sides[i][2]]); if(!mBlocksSlots[sides[i][0]+","+sides[i][1]+","+sides[i][2]]) mBlocksSlots[sides[i][0]+","+sides[i][1]+","+sides[i][2]]=[0,0,0,0]; if(!mBlocksProgress[sides[i][0]+","+sides[i][1]+","+sides[i][2]]) mBlocksProgress[sides[i][0]+","+sides[i][1]+","+sides[i][2]]=0; } routes.push([sides[i][0],sides[i][1],sides[i][2],i]); } else if(Level.getTile(sides[i][0],sides[i][1],sides[i][2])==61 || Level.getTile(sides[i][0],sides[i][1],sides[i][2])==62) routes.push([sides[i][0],sides[i][1],sides[i][2],i]); else if(Level.getTile(sides[i][0],sides[i][1],sides[i][2])==180){ sides=[[sides[i][0],sides[i][1]-1,sides[i][2]],[sides[i][0],sides[i][1]+1,sides[i][2]],[sides[i][0],sides[i][1],sides[i][2]-1],[sides[i][0],sides[i][1],sides[i][2]+1],[sides[i][0]-1,sides[i][1],sides[i][2]],[sides[i][0]+1,sides[i][1],sides[i][2]]]; for(var j=0;j<6;j++){ if(Level.getTile(sides[j][0],sides[j][1],sides[j][2])==68 && Level.getSignText(sides[j][0],sides[j][1],sides[j][2],0)=="Barrel"){ routes.push([sides[j][0],sides[j][1],sides[j][2],j]); break; } } } } if(routes.length>1) return routes[Math.floor(Math.random()(routes.length-1))+1]; passed.push([x,y,z]); sides=[[x,y-1,z],[x,y+1,z],[x,y,z-1],[x,y,z+1],[x-1,y,z],[x+1,y,z]]; routes=[[x,y,z]]; for(var i=0;i<6;i++){ if(Level.getTile(sides[i][0],sides[i][1],sides[i][2])==182) routes.push([sides[i][0],sides[i][1],sides[i][2]]); } if(routes.length>1){ var rnd=Math.floor(Math.floor(Math.random()(routes.length-1))+1); x=routes[rnd][0]; y=routes[rnd][1]; z=routes[rnd][2]; } else return side; if(InArray([x,y,z],passed)) return side; } return side; } function MoveItems(from,to,amount){ if(Level.getTile(to[0],to[1],to[2])!=54 && Level.getTile(to[0],to[1],to[2])!=195 && Level.getTile(to[0],to[1],to[2])!=61 && Level.getTile(to[0],to[1],to[2])!=62 && Level.getTile(to[0],to[1],to[2])!=68) return; var ChestEmpty=true; if(Level.getTile(from[0],from[1],from[2])==54){ for(var i=0;i<27;i++){ if(Level.getChestSlot(from[0],from[1],from[2],i)!=0){ ChestEmpty=false; break; } } } if(Level.getTile(from[0],from[1],from[2])==61 || Level.getTile(from[0],from[1],from[2])==62){ if(Level.getFurnaceSlot(from[0],from[1],from[2],2)!=0) ChestEmpty=false; } if(Level.getTile(from[0],from[1],from[2])==68 && Level.getSignText(from[0],from[1],from[2],0)=="Barrel"){ if(Level.getSignText(from[0],from[1],from[2],3)!="Barrel") ChestEmpty=false; } if(ChestEmpty) return; var buffer=[0,0,1]; if(Level.getTile(from[0],from[1],from[2])==54){ for(var i=0;i<27;i++){ if(Level.getChestSlot(from[0],from[1],from[2],i)!=0){ buffer=[Level.getChestSlot(from[0],from[1],from[2],i),Level.getChestSlotData(from[0],from[1],from[2],i),1]; if(Level.getChestSlotCount(from[0],from[1],from[2],i)>amount){ Level.setChestSlot(from[0],from[1],from[2],i,buffer[0],buffer[1],Level.getChestSlotCount(from[0],from[1],from[2],i)-amount); buffer[2]=amount; } else{ buffer[2]=Level.getChestSlotCount(from[0],from[1],from[2],i); Level.setChestSlot(from[0],from[1],from[2],i,0); } break; } } } if(Level.getTile(from[0],from[1],from[2])==61 || Level.getTile(from[0],from[1],from[2])==62){ buffer=[Level.getFurnaceSlot(from[0],from[1],from[2],2),Level.getFurnaceSlotData(from[0],from[1],from[2],2),1]; if(Level.getFurnaceSlotCount(from[0],from[1],from[2],2)>amount){ Level.setFurnaceSlot(from[0],from[1],from[2],2,buffer[0],buffer[1],Level.getFurnaceSlotCount(from[0],from[1],from[2],3)-amount) buffer[2]=amount; } else{ buffer[2]=Level.getFurnaceSlotCount(from[0],from[1],from[2],2); Level.setFurnaceSlot(from[0],from[1],from[2],2,0) } } if(Level.getTile(from[0],from[1],from[2])==68){ buffer=[Level.getSignText(from[0],from[1],from[2],3).split(":")[0],Level.getSignText(from[0],from[1],from[2],3).split(":")[1],1]; var itemCount=64parseInt(Level.getSignText(from[0],from[1],from[2],2).split("x")[0])+parseInt(Level.getSignText(from[0],from[1],from[2],2).split("+")[1]); if(itemCount>amount){ itemCount-=amount; Level.setSignText(from[0],from[1],from[2],2,parseInt(itemCount/64)+"x64+"+(itemCount-parseInt(itemCount/64)64)); buffer[2]=amount; } else{ buffer[2]=amount; Level.setSignText(from[0],from[1],from[2],1," "); Level.setSignText(from[0],from[1],from[2],2," "); Level.setSignText(from[0],from[1],from[2],3,"Barrel"); } } var ChestHasSpace=false; var free=0; if(Level.getTile(to[0],to[1],to[2])==54){ for(var i=0;i<27;i++){ if(Level.getChestSlot(to[0],to[1],to[2],i)==0) free+=64; else if(Level.getChestSlot(to[0],to[1],to[2],i)==buffer[0] && Level.getChestSlotCount(to[0],to[1],to[2],i)<64 && Level.getChestSlotData(to[0],to[1],to[2],i)==buffer[1]) free+=64-Level.getChestSlotCount(to[0],to[1],to[2],i); } } if(Level.getTile(to[0],to[1],to[2])==195 && to[3]<2){ if(mBlocksSlots[to[0]+","+to[1]+","+to[2]][0]==0) free+=64; else if(mBlocksSlots[to[0]+","+to[1]+","+to[2]][0]==buffer[0] && mBlocksSlots[to[0]+","+to[1]+","+to[2]][1]<64) free+=64-mBlocksSlots[to[0]+","+to[1]+","+to[2]][1]; } if(Level.getTile(to[0],to[1],to[2])==61 || Level.getTile(to[0],to[1],to[2])==62){ if(to[3]>1){ if(Level.getFurnaceSlot(to[0],to[1],to[2],1)==0) free=64; else if(Level.getFurnaceSlot(to[0],to[1],to[2],1)==buffer[0] && Level.getFurnaceSlotCount(to[0],to[1],to[2],1)<64 && Level.getFurnaceSlotData(to[0],to[1],to[2],1)==buffer[1]) free=64-Level.getFurnaceSlotCount(to[0],to[1],to[2],1); } else{ if(Level.getFurnaceSlot(to[0],to[1],to[2],0)==0) free=64; else if(Level.getFurnaceSlot(to[0],to[1],to[2],0)==buffer[0] && Level.getFurnaceSlotCount(to[0],to[1],to[2],0)<64 && Level.getFurnaceSlotData(to[0],to[1],to[2],0)==buffer[1]) free=64-Level.getFurnaceSlotCount(to[0],to[1],to[2],0); } } if(Level.getTile(to[0],to[1],to[2])==68){ if(Level.getSignText(to[0],to[1],to[2],3)=="Barrel") free=4096; else if(parseInt(Level.getSignText(to[0],to[1],to[2],3).split(":")[0])==buffer[0] && 64parseInt(Level.getSignText(to[0],to[1],to[2],2).split("x")[0])+parseInt(Level.getSignText(to[0],to[1],to[2],2).split("+")[1])<4096 && parseInt(Level.getSignText(to[0],to[1],to[2],3).split(":")[1])==buffer[1]) free=4096-64parseInt(Level.getSignText(to[0],to[1],to[2],2).split("x")[0])+parseInt(Level.getSignText(to[0],to[1],to[2],2).split("+")[1]); } if(buffer[2]<=free) ChestHasSpace=true; else ChestHasSpace=false; if(ChestHasSpace){ if(Level.getTile(to[0],to[1],to[2])==54){ for(var i=0;i<27;i++){ var c=Level.getChestSlotCount(to[0],to[1],to[2],i); if(Level.getChestSlot(to[0],to[1],to[2],i)==0 || (Level.getChestSlot(to[0],to[1],to[2],i)==buffer[0] && c<64 && Level.getChestSlotData(to[0],to[1],to[2],i)==buffer[1])){ if(buffer[2]<64-c){ Level.setChestSlot(to[0],to[1],to[2],i,buffer[0],buffer[1],Level.getChestSlotCount(to[0],to[1],to[2],i)+buffer[2]); break; } else{ Level.setChestSlot(to[0],to[1],to[2],i,buffer[0],buffer[1],64); buffer[2]-=64-c; } } } } if(Level.getTile(to[0],to[1],to[2])==195 && to[3]<2){ var c=mBlocksSlots[to[0]+","+to[1]+","+to[2]][1]; if(mBlocksSlots[to[0]+","+to[1]+","+to[2]][0]==0 || (mBlocksSlots[to[0]+","+to[1]+","+to[2]][0]==buffer[0] && c<64)){ if(buffer[2]<64-c){ mBlocksSlots[to[0]+","+to[1]+","+to[2]][0]=buffer[0]; mBlocksSlots[to[0]+","+to[1]+","+to[2]][1]+=buffer[2]; if(machineWindow!=null) ShowMachineGUI(to[0]+","+to[1]+","+to[2]); } else{ mBlocksSlots[to[0]+","+to[1]+","+to[2]][0]=buffer[0]; mBlocksSlots[to[0]+","+to[1]+","+to[2]][1]=64; buffer[2]-=64-c; if(machineWindow!=null) ShowMachineGUI(to[0]+","+to[1]+","+to[2]); } } } if(Level.getTile(to[0],to[1],to[2])==61 || Level.getTile(to[0],to[1],to[2])==62){ if(to[3]>1){ var c=Level.getFurnaceSlotCount(to[0],to[1],to[2],1); if(Level.getFurnaceSlot(to[0],to[1],to[2],1)==0 || (Level.getFurnaceSlot(to[0],to[1],to[2],1)==buffer[0] && c<64 && Level.getFurnaceSlotData(to[0],to[1],to[2],1)==buffer[1])){ if(buffer[2]<64-c) Level.setFurnaceSlot(to[0],to[1],to[2],1,buffer[0],buffer[1],Level.getFurnaceSlotCount(to[0],to[1],to[2],1)+buffer[2]) else{ Level.setFurnaceSlot(to[0],to[1],to[2],1,buffer[0],buffer[1],64) buffer[2]-=64-c; } } } else{ var c=Level.getFurnaceSlotCount(to[0],to[1],to[2],0); if(Level.getFurnaceSlot(to[0],to[1],to[2],0)==0 || (Level.getFurnaceSlot(to[0],to[1],to[2],0)==buffer[0] && c<64 && Level.getFurnaceSlotData(to[0],to[1],to[2],0)==buffer[1])){ if(buffer[2]<64-c) Level.setFurnaceSlot(to[0],to[1],to[2],0,buffer[0],buffer[1],Level.getFurnaceSlotCount(to[0],to[1],to[2],0)+buffer[2]) else{ Level.setFurnaceSlot(to[0],to[1],to[2],0,buffer[0],buffer[1],64) buffer[2]-=64-c; } } } } if(Level.getTile(to[0],to[1],to[2])==68){ if(Level.getSignText(to[0],to[1],to[2],3)=="Barrel") c=0; else var c=64parseInt(Level.getSignText(to[0],to[1],to[2],2).split("x")[0])+parseInt(Level.getSignText(to[0],to[1],to[2],2).split("+")[1]); if(Level.getSignText(to[0],to[1],to[2],3)=="Barrel" || (parseInt(Level.getSignText(to[0],to[1],to[2],3).split(":")[0])==buffer[0] && c<4096 && parseInt(Level.getSignText(to[0],to[1],to[2],3).split(":")[1])==buffer[1])){ if(buffer[2]<4096-c){ var cc=c+buffer[2]; Level.setSignText(to[0],to[1],to[2],1,GetItemBlockName(buffer[0]+":"+buffer[1])); Level.setSignText(to[0],to[1],to[2],3,buffer[0]+":"+buffer[1]); Level.setSignText(to[0],to[1],to[2],2,parseInt(cc/64)+"x64+"+(cc-parseInt(cc/64)64)); } else{ Level.setSignText(to[0],to[1],to[2],1,GetItemBlockName(buffer[0]+":"+buffer[1])); Level.setSignText(to[0],to[1],to[2],3,buffer[0]+":"+buffer[1]); Level.setSignText(to[0],to[1],to[2],2,"64x64+0") buffer[2]-=4096-c; } } } } else/ if(InArray(from,wrenchEx))/{ if(Level.getTile(from[0],from[1],from[2])==54){ for(var i=0;i<27;i++){ var c=Level.getChestSlotCount(from[0],from[1],from[2],i); if(Level.getChestSlot(from[0],from[1],from[2],i)==0 || (Level.getChestSlot(from[0],from[1],from[2],i)==buffer[0] && c<64 && Level.getChestSlotData(from[0],from[1],from[2],i)==buffer[1])){ if(buffer[2]<64-c){ Level.setChestSlot(from[0],from[1],from[2],i,buffer[0],buffer[1],Level.getChestSlotCount(from[0],from[1],from[2],i)+buffer[2]); break; } else{ Level.setChestSlot(from[0],from[1],from[2],i,buffer[0],buffer[1],64); buffer[2]-=64-c; } } } } if(Level.getTile(from[0],from[1],from[2])==61 || Level.getTile(from[0],from[1],from[2])==62){ var c=Level.getFurnaceSlotCount(from[0],from[1],from[2],2); if(Level.getFurnaceSlot(from[0],from[1],from[2],2)==0 || (Level.getFurnaceSlot(from[0],from[1],from[2],2)==buffer[0] && c<64 && Level.getFurnaceSlotData(to[0],to[1],to[2],2)==buffer[1])){ if(buffer[2]<64-c) Level.setFurnaceSlot(from[0],from[1],from[2],2,buffer[0],buffer[1],Level.getFurnaceSlotCount(from[0],from[1],from[2],3)+buffer[2]) else{ Level.setFurnaceSlot(from[0],from[1],from[2],2,buffer[0],buffer[1],64) buffer[2]-=64-c; } } } if(Level.getTile(from[0],from[1],from[2])==68){ var c=64parseInt(Level.getSignText(from[0],from[1],from[2],2).split("x")[0])+parseInt(Level.getSignText(from[0],from[1],from[2],2).split("+")[1]); if(Level.getSignText(from[0],from[1],from[2],3)=="Barrel" || (parseInt(Level.getSignText(from[0],from[1],from[2],3).split(":")[0])==buffer[0] && c<4096 && parseInt(Level.getSignText(from[0],from[1],from[2],3).split(":")[1])==buffer[1])){ if(buffer[2]<4096-c){ var cc=c+buffer[2]; Level.setSignText(from[0],from[1],from[2],1,GetItemBlockName(buffer[0]+":"+buffer[1])); Level.setSignText(from[0],from[1],from[2],3,buffer[0]+":"+buffer[1]); Level.setSignText(from[0],from[1],from[2],2,parseInt(cc/64)+"x64+"+(cc-parseInt(cc/64)64)); } else{ Level.setSignText(from[0],from[1],from[2],1,GetItemBlockName(buffer[0]+":"+buffer[1])); Level.setSignText(from[0],from[1],from[2],3,buffer[0]+":"+buffer[1]); Level.setSignText(from[0],from[1],from[2],2,"64x64+0") buffer[2]-=4096-c; } } } } return true; } var wrenchWindow=null; function ShowWrenchGUI(){ var activity=com.mojang.minecraftpe.MainActivity.currentMainActivity.get(); activity.runOnUiThread(new java.lang.Runnable({ run: function(){ wrenchWindow=new android.widget.PopupWindow(); var layout=new android.widget.RelativeLayout(activity); var button=new android.widget.Button(activity); button.setText("Change Mode"); button.setOnClickListener(new android.view.View.OnClickListener({ onClick: function(viewarg){ if(wrenchMode=="linking") wrenchMode="unlinking"; else if(wrenchMode=="unlinking") wrenchMode="none"; else if(wrenchMode=="none") wrenchMode="linking"; clientMessage("Wrench mode: "+wrenchMode); } })); layout.addView(button); wrenchWindow.setContentView(layout); wrenchWindow.setWidth(android.widget.RelativeLayout.LayoutParams.WRAP_CONTENT); wrenchWindow.setHeight(android.widget.RelativeLayout.LayoutParams.WRAP_CONTENT); wrenchWindow.setBackgroundDrawable(new android.graphics.drawable.ColorDrawable(android.graphics.Color.TRANSPARENT)); wrenchWindow.showAtLocation(activity.getWindow().getDecorView(),android.view.Gravity.RIGHT | android.view.Gravity.TOP,0,display.heightPixels/10); } })); } function HideWrenchGUI(){ var activity=com.mojang.minecraftpe.MainActivity.currentMainActivity.get(); activity.runOnUiThread(new java.lang.Runnable({ run: function(){ if(wrenchWindow!=null) { wrenchWindow.dismiss(); wrenchWindow=null; } } })); } var jetpackWindow=null; function ShowJetpackGUI(){ var activity=com.mojang.minecraftpe.MainActivity.currentMainActivity.get(); activity.runOnUiThread(new java.lang.Runnable({ run: function(){ jetpackWindow=new android.widget.PopupWindow(); var layout=new android.widget.RelativeLayout(activity); var button=new android.widget.Button(activity); button.setText("Thrust"); button.setOnTouchListener(new android.view.View.OnTouchListener({ onTouch: function(v,event){ switch(event.getAction()){ case 0: ButtonDown=true; break; case 1: ButtonDown=false; break; } return true; } })); layout.addView(button); jetpackWindow.setContentView(layout); jetpackWindow.setWidth(android.widget.RelativeLayout.LayoutParams.WRAP_CONTENT); jetpackWindow.setHeight(android.widget.RelativeLayout.LayoutParams.WRAP_CONTENT); jetpackWindow.setBackgroundDrawable(new android.graphics.drawable.ColorDrawable(android.graphics.Color.TRANSPARENT)); jetpackWindow.showAtLocation(activity.getWindow().getDecorView(),android.view.Gravity.RIGHT | android.view.Gravity.BOTTOM,display.widthPixels0.08,0); } })); } function HideJetpackGUI(){ var activity=com.mojang.minecraftpe.MainActivity.currentMainActivity.get(); activity.runOnUiThread(new java.lang.Runnable({ run: function(){ if(jetpackWindow!=null) { jetpackWindow.dismiss(); jetpackWindow=null; } } })); } var bg=new android.graphics.drawable.ColorDrawable(android.graphics.Color.DKGRAY);/* ModPE.downloadFile=function(filename,url){ var file=new java.io.File(android.os.Environment.getExternalStorageDirectory().getAbsolutePath()+"/games/com.mojang/ExtendedCraft/"+filename); file.createNewFile(); var fos=new java.io.FileOutputStream(file); var response=android.net.http.AndroidHttpClient.newInstance("ModPE.downloadFile()").execute(new org.apache.http.client.methods.HttpGet(url)).getEntity().writeTo(fos); fos.close(); }; try{ ModPE.downloadFile("bg.png","http://i.imgur.com/RAqTYev.png"); if(java.io.File(android.os.Environment.getExternalStorageDirectory().getAbsolutePath()+"/games/com.mojang/ExtendedCraft/bg.png").exists()) var bg=new android.graphics.drawable.BitmapDrawable(android.os.Environment.getExternalStorageDirectory().getAbsolutePath()+"/games/com.mojang/minecraftResource/ExtendedCraft/bg.png"); } catch(err){ print(err); }/ var homeButton=null; var guideWindow=null; function ShowGuideGUI(){ HideGuideGUI(); var activity=com.mojang.minecraftpe.MainActivity.currentMainActivity.get(); activity.runOnUiThread(new java.lang.Runnable({ run: function(){ try{ guideWindow=new android.widget.PopupWindow(); var layout=new android.widget.LinearLayout(activity); layout.setOrientation(android.widget.LinearLayout.HORIZONTAL); var layout1=new android.widget.LinearLayout(activity); layout1.setOrientation(android.widget.LinearLayout.VERTICAL); var layout2=new android.widget.LinearLayout(activity); layout2.setOrientation(android.widget.LinearLayout.VERTICAL); var layout3=new android.widget.LinearLayout(activity); layout3.setOrientation(android.widget.LinearLayout.VERTICAL); homeButton=new android.widget.Button(activity); backButton=new android.widget.Button(activity); backButton.setText("Back"); if(bookOpened) homeButton.setText("Close guide"); else homeButton.setText("Open guide"); homeButton.setOnClickListener(new android.view.View.OnClickListener({ onClick: function(viewarg){ bookOpened=!bookOpened; if(bookOpened) homeButton.setText("Close guide"); else homeButton.setText("Open guide"); ShowGuideGUI(); } })); backButton.setOnClickListener(new android.view.View.OnClickListener({ onClick: function(viewarg){ guidePage=0; ShowGuideGUI(); } })); layout1.addView(homeButton); if(bookOpened && guidePage!=0) layout1.addView(backButton); if(bookOpened){ if(guidePage==0){ layout2.addView(GuideButton("Items & Armor",1)); layout2.addView(GuideButton("Automatic Farms",2)); layout2.addView(GuideButton("Barrels & Generators",3)); layout2.addView(GuideButton("Pipes",4)); layout2.addView(GuideButton("Power & Machines",5)); layout2.addView(GuideButton("World Gen",6)); } if(guidePage==0){ layout3.addView(TextField("Update 1.3")); layout3.addView(TextField("Added Drill.")); } if(Number(String(guidePage).charAt(0))==1){ layout2.addView(GuideButton("HUD Helmet",11)); layout2.addView(GuideButton("Jetpack",12)); layout2.addView(GuideButton("G-Defy Boots",13)); layout2.addView(GuideButton("Linking wrench",14)); } if(guidePage==11){ layout3.addView(TextField("HUD Armor")); layout3.addView(TextField("When wearing, HUD Helmet gives you information about animals and monsters on screen. I have more plans for this in future.")); } if(guidePage==12){ layout3.addView(TextField("Jetpack")); layout3.addView(TextField("When wearing, Thrust button will be displayed on the screen (bottom-right). To ascend hold the button. If you fly too long or too high, it'll hurt when landing. You should wear G-Defy Boots.")); } if(guidePage==13){ layout3.addView(TextField("G-Defy Boots")); layout3.addView(TextField("When wearing, prevents any fall damage. Usually combined with Jetpack.")); } if(guidePage==14){ layout3.addView(TextField("Wrench")); layout3.addView(TextField("This is item for linking chests/furnaces/barrels. It has 3 modes (linking, unlinking and none). To link, you set to linking mode, then tap on chest/furnace/barrel from which you want items to move. Then tap on destination chest/furnace/barrel that will accept items. While working with wrench, you will get messages if you do something wrong. When two chests/furnaces/barrels are linked, items will flow. When set to unlinking mode, tap on chest/furnace/barrel to remove the link. Items won't flow untill you link again. None mode does nothing. You can open chests/furnaces/barrels with this mode.")); } if(Number(String(guidePage).charAt(0))==2){ layout2.addView(GuideButton("Farmer",21)); layout2.addView(GuideButton("Tree Farmer",22)); } if(guidePage==21){ layout3.addView(TextField("Farmer")); layout3.addView(TextField("It has to have chest nearby (any side) and it requires power. It will auto-till the earth. Put any seeds in the chest. Farmer will auto-plant them. When grown, Farmer will harvest and replant.Everything will go in the chest.")); } if(guidePage==22){ layout3.addView(TextField("Birch tree Farmer")); layout3.addView(TextField("It has to have chest nearby (any side) and it requires power. Put any saplings in the chest. Tree Farmer will auto-plant them. When grown, Tree Farmer will cut the tree and plant a new sapling. Logs, extra saplings and apples will go in the chest.")); } if(Number(String(guidePage).charAt(0))==3){ layout2.addView(GuideButton("Barrels",34)); layout2.addView(GuideButton("Cobblestone Generator",31)); layout2.addView(GuideButton("Obsidian Generator",32)); layout2.addView(GuideButton("Stone Generator",33)); } if(guidePage==31){ layout3.addView(TextField("Cobblestone Generator")); layout3.addView(TextField("It has to have lava and water source nearby. It generates cobblestone and outputs it into any storage block (chest, furnace, barrel) above it or Item pipe (no need for Extraction item pipe). Cobblestone Generator won't use up water or lava.")); } if(guidePage==32){ layout3.addView(TextField("Obsidian Generator")); layout3.addView(TextField("It has to have lava and water source nearby. It generates obsidian and outputs it into any storage block (chest, furnace, barrel) above it or Item pipe (no need for Extraction item pipe).\Obsidian Generator will use up water and lava.")); } if(guidePage==33){ layout3.addView(TextField("Stone Generator")); layout3.addView(TextField("It has to have lava and water source nearby. It generates stone and outputs it into any storage block (chest, furnace, barrel) above it or Item pipe (no need for Extraction item pipe).\Stone Generator will use up water.")); } if(guidePage==34){ layout3.addView(TextField("Barrels")); layout3.addView(TextField("Barrels are the solution to storage issues. They can hold up to 64 stacks of the same item. To put item in the barrel, just tap it with that item. To take from barrel, tap with any other item or empty hand. You'll pull a stack a once.")); } if(Number(String(guidePage).charAt(0))==4){ layout2.addView(GuideButton("Extraction item pipe",41)); layout2.addView(GuideButton("Item pipe",42)); } if(guidePage==41){ layout3.addView(TextField("Extraction item pipe")); layout3.addView(TextField("It will try to extract items from nearby chest and send it trought pipes to any other chest.")); } if(guidePage==42){ layout3.addView(TextField("Item pipe")); layout3.addView(TextField("When Extraction item pipe extracts item from chest, it sends it to these pipes. Pipes then look for available destination. Pipes will look for closest available chest.")); } if(Number(String(guidePage).charAt(0))==5){ layout2.addView(GuideButton("Power Meter",51)); layout2.addView(GuideButton("Solar panel",52)); layout2.addView(GuideButton("Wires",53)); layout2.addView(GuideButton("Grinder",54)); layout2.addView(GuideButton("Drill",55)); } if(guidePage==51){ layout3.addView(TextField("Power Meter")); layout3.addView(TextField("Tap with this on any machine/wire and it will tell you if machine/wire has power.")); } if(guidePage==52){ layout3.addView(TextField("Solar panel")); layout3.addView(TextField("It generates power from light. It will output power to wire or any machine nearby.")); } if(guidePage==53){ layout3.addView(TextField("Wires")); layout3.addView(TextField("Used for power distribution. Check if power is flowing with Power Meter.")); } if(guidePage==54){ layout3.addView(TextField("Grinder")); layout3.addView(TextField("Grinds blocks.\From Gravel you get Flit, Cobblestone -> Sand, Sand -> Gravel. Will add more. Tap on grinder to open GUI. On the left side of the screen will be items that can go in grinder from your inventory. Press on the item you want to grind. In 5 seconds, grinded item will be on right side in output slot. Press on the output to take it out. The on/off text indicates if the machine has power. If it has no power it won't work. For now it accepts only one item in input slot at time, and only one in output slot. Grinder can accept items with pipes on top side, and auto-outputs to any other side.")); } if(guidePage==55){ layout3.addView(TextField("Drill")); layout3.addView(TextField("Drill will dig all blocks below it and put them in the chest or pipe (same as other machines). Requires power.")); } if(Number(String(guidePage).charAt(0))==6){ layout2.addView(GuideButton("Rubber trees",61)); } if(guidePage==61){ layout3.addView(TextField("Rubber trees")); layout3.addView(TextField("Spawned in the world. They are rare. But when you find one, you can replant them. Rubber wood can be smelted into Rubber which is used in recipes.")); } } if(bookOpened){ guideWindow.setWidth(display.widthPixels0.91); guideWindow.setHeight(display.heightPixels0.8); guideWindow.setBackgroundDrawable(bg); } else{ guideWindow.setWidth(android.widget.RelativeLayout.LayoutParams.WRAP_CONTENT); guideWindow.setHeight(android.widget.RelativeLayout.LayoutParams.WRAP_CONTENT); guideWindow.setBackgroundDrawable(new android.graphics.drawable.ColorDrawable(android.graphics.Color.TRANSPARENT)); } layout.addView(layout1); layout.addView(layout2); layout.addView(layout3); guideWindow.setContentView(layout); guideWindow.showAtLocation(activity.getWindow().getDecorView(),android.view.Gravity.LEFT | android.view.Gravity.TOP,display.widthPixels0.05,display.heightPixels0.075); } catch(err){ clientMessage(err); } } })); } function HideGuideGUI(){ var activity=com.mojang.minecraftpe.MainActivity.currentMainActivity.get(); activity.runOnUiThread(new java.lang.Runnable({ run: function(){ if(guideWindow!=null) { guideWindow.dismiss(); guideWindow=null; } } })); } function GuideButton(text,page){ try{ var activity=com.mojang.minecraftpe.MainActivity.currentMainActivity.get(); var btn=new android.widget.Button(activity); btn.setText(" "+text); btn.setOnClickListener(new android.view.View.OnClickListener({ onClick: function(viewarg){ guidePage=page; ShowGuideGUI(); } })); } catch(err){ clientMessage(err); } return btn; } function TextField(text){ try{ var activity=com.mojang.minecraftpe.MainActivity.currentMainActivity.get(); var txt=new android.widget.TextView(activity); txt.setText(text+" "); } catch(err){ clientMessage(err); } return txt; } function ShowMachineGUI(str){ HideMachineGUI(); var activity=com.mojang.minecraftpe.MainActivity.currentMainActivity.get(); activity.runOnUiThread(new java.lang.Runnable({ run: function(){ try{ playerWindow=new android.widget.PopupWindow(); machineWindow=new android.widget.PopupWindow(); closeButtonWindow=new android.widget.PopupWindow(); var layout=new android.widget.LinearLayout(activity); layout.setOrientation(android.widget.LinearLayout.HORIZONTAL); layout.setGravity(0x11); var layout1=new android.widget.RelativeLayout(activity); var layout2=new android.widget.LinearLayout(activity); layout2.setOrientation(android.widget.LinearLayout.VERTICAL); var playout=new android.widget.LinearLayout(activity); playout.setOrientation(android.widget.LinearLayout.HORIZONTAL); playout.setGravity(0x11); var playout2=new android.widget.LinearLayout(activity); playout2.setOrientation(android.widget.LinearLayout.VERTICAL); button=new android.widget.Button(activity); button.setText("Close"); button1=new android.widget.Button(activity); if(mBlocksSlots[str][1]>0) button1.setText(GetItemBlockName(String(mBlocksSlots[str][0])+":0")+" ("+String(mBlocksSlots[str][1])+")"); else button1.setText(""); button2=new android.widget.Button(activity); if(mBlocksSlots[str][3]>0) button2.setText(GetItemBlockName(String(mBlocksSlots[str][2])+":0")+" ("+String(mBlocksSlots[str][3])+")"); else button2.setText(""); button.setOnClickListener(new android.view.View.OnClickListener({ onClick: function(viewarg){ HideMachineGUI(); } })); button1.setOnClickListener(new android.view.View.OnClickListener({ onClick: function(viewarg){ try{ if(mBlocksSlots[str][0]!=0){ Player.addItemInventory(mBlocksSlots[str][0],1,0); if(mBlocksSlots[str][1]==1) mBlocksSlots[str][0]=0; mBlocksSlots[str][1]--; ShowMachineGUI(str); } } catch(err){ clientMessage(err); } } })); button2.setOnClickListener(new android.view.View.OnClickListener({ onClick: function(viewarg){ try{ if(mBlocksSlots[str][2]!=0){ Player.addItemInventory(mBlocksSlots[str][2],mBlocksSlots[str][3],0); mBlocksSlots[str][2]=0; mBlocksSlots[str][3]=0; ShowMachineGUI(str); } } catch(err){ clientMessage(err); } } })); layout2.addView(button1); var on=new android.widget.Button(activity); on.setText("Off"); var sides=[[Number(str.split(",")[0]),Number(str.split(",")[1])-1,Number(str.split(",")[2])],[Number(str.split(",")[0]),Number(str.split(",")[1])+1,Number(str.split(",")[2])],[Number(str.split(",")[0]),Number(str.split(",")[1]),Number(str.split(",")[2])-1],[Number(str.split(",")[0]),Number(str.split(",")[1]),Number(str.split(",")[2])+1],[Number(str.split(",")[0])-1,Number(str.split(",")[1]),Number(str.split(",")[2])],[Number(str.split(",")[0])+1,Number(str.split(",")[1]),Number(str.split(",")[2])]]; for(var i=0;i<6;i++){ if(InArray([sides[i][0],sides[i][1],sides[i][2]],poweredBlocks)){ on.setText("On"); break; } } layout2.addView(on); layout.addView(layout2); layout.addView(button2); //Cobblestone var cAmount=0; for(var i=9;i<44;i++){ if(Player.getInventorySlot(i)==4) cAmount+=Player.getInventorySlotCount(i); } cBtn=new android.widget.Button(activity); cBtn.setText("Cobblestone ("+String(cAmount)+")"); cBtn.setOnClickListener(new android.view.View.OnClickListener({ onClick: function(viewarg){ try{ if(mBlocksSlots[str][0]==0 || (mBlocksSlots[str][0]==4 && mBlocksSlots[str][1]<64)){ if(mBlocksSlots[str][0]==0) mBlocksSlots[str][0]=4; mBlocksSlots[str][1]++; for(var i=0;i<44;i++){ if(Player.getInventorySlot(i)==4) Player.clearInventorySlot(i); } Player.addItemInventory(4,cAmount-1,0); ShowMachineGUI(str); } } catch(err){ clientMessage(err); } } })); if(cAmount>0) playout2.addView(cBtn); //End //Sand var sAmount=0; for(var i=9;i<44;i++){ if(Player.getInventorySlot(i)==12) sAmount+=Player.getInventorySlotCount(i); } sBtn=new android.widget.Button(activity); sBtn.setText("Sand ("+String(sAmount)+")"); sBtn.setOnClickListener(new android.view.View.OnClickListener({ onClick: function(viewarg){ try{ if(mBlocksSlots[str][0]==0 || (mBlocksSlots[str][0]==12 && mBlocksSlots[str][1]<64)){ if(mBlocksSlots[str][0]==0) mBlocksSlots[str][0]=12; mBlocksSlots[str][1]++; for(var i=0;i<44;i++){ if(Player.getInventorySlot(i)==12) Player.clearInventorySlot(i); } Player.addItemInventory(12,sAmount-1,0); ShowMachineGUI(str); } } catch(err){ clientMessage(err); } } })); if(sAmount>0) playout2.addView(sBtn); //End //Gravel var gAmount=0; for(var i=9;i<44;i++){ if(Player.getInventorySlot(i)==13) gAmount+=Player.getInventorySlotCount(i); } gBtn=new android.widget.Button(activity); gBtn.setText("Gravel ("+String(gAmount)+")"); gBtn.setOnClickListener(new android.view.View.OnClickListener({ onClick: function(viewarg){ try{ if(mBlocksSlots[str][0]==0 || (mBlocksSlots[str][0]==13 && mBlocksSlots[str][1]<64)){ if(mBlocksSlots[str][0]==0) mBlocksSlots[str][0]=13; mBlocksSlots[str][1]++; for(var i=0;i<44;i++){ if(Player.getInventorySlot(i)==13) Player.clearInventorySlot(i); } Player.addItemInventory(13,gAmount-1,0); ShowMachineGUI(str); } } catch(err){ clientMessage(err); } } })); if(gAmount>0) playout2.addView(gBtn); //End playout.addView(playout2); playerWindow.setWidth(display.widthPixels0.375); playerWindow.setHeight(display.heightPixels0.8); playerWindow.setBackgroundDrawable(new android.graphics.drawable.ColorDrawable(android.graphics.Color.DKGRAY)); playerWindow.setContentView(playout); playerWindow.showAtLocation(activity.getWindow().getDecorView(),android.view.Gravity.LEFT | android.view.Gravity.TOP,display.widthPixels0.125,display.heightPixels/10); machineWindow.setWidth(display.widthPixels0.375); machineWindow.setHeight(display.heightPixels0.8); machineWindow.setBackgroundDrawable(new android.graphics.drawable.ColorDrawable(android.graphics.Color.DKGRAY)); machineWindow.setContentView(layout); machineWindow.showAtLocation(activity.getWindow().getDecorView(),android.view.Gravity.RIGHT | android.view.Gravity.TOP,display.widthPixels0.125,display.heightPixels/10); closeButtonWindow.setWidth(android.widget.RelativeLayout.LayoutParams.WRAP_CONTENT); closeButtonWindow.setHeight(android.widget.RelativeLayout.LayoutParams.WRAP_CONTENT); closeButtonWindow.setBackgroundDrawable(new android.graphics.drawable.ColorDrawable(android.graphics.Color.TRANSPARENT)); layout1.addView(button); closeButtonWindow.setContentView(layout1); closeButtonWindow.showAtLocation(activity.getWindow().getDecorView(),android.view.Gravity.RIGHT | android.view.Gravity.TOP,display.widthPixels0.125,display.heightPixels/10); } catch(err){ clientMessage(err); } } })); } function HideMachineGUI(){ var activity=com.mojang.minecraftpe.MainActivity.currentMainActivity.get(); activity.runOnUiThread(new java.lang.Runnable({ run: function(){ if(machineWindow!=null){ machineWindow.dismiss(); machineWindow=null; } if(closeButtonWindow!=null){ closeButtonWindow.dismiss(); closeButtonWindow=null; } if(playerWindow!=null){ playerWindow.dismiss(); playerWindow=null; } } })); }

About

//Mod made by DAW330073 //http://www.minecraftforum.net/index.php?showtopic=2624956 //Update 1.3 //Added Drill var ex=[]; var wrenchEx=[]; var wrenchIm=[]; var wrenchFrqs=[]; var lastItem; var lastChestPart; var actualHealth; var lastY; var velY; var linking=false; var ButtonDown=false; var wrenchMode="linking"; var uBlocks=[]; var tickCounter=0…

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published