12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- event.load("block_break");
- ore_max = 32;
- broken = false;
- ore_ores = list.new();
- ore_items = map.new();
- ore.add("minecraft:coal_ore", "minecraft:coal",1,1);
- ore.add("minecraft:nether_quartz_ore", "minecraft:quartz",1,3.5);
- ore.add("minecraft:redstone_ore", "minecraft:redstone",4.5,3);
- @wait
- wait();
- if(player.getName(player) == "SirTerence7"){
- if(list.contains(ore_ores, block_type)){
- if(text.contains(living.getEquip(player, "hand"), "pickaxe")){
- block_to_destroy = block_type;
- item_to_give = map.get(ore_items, block_to_destroy);
- ore.get(block_loc);
- }
- }
- }
- goto("wait");
- function ore.add(ore,item,amount,xp){
- temp_array = array.new(3);
- temp_array[0] = item;
- temp_array[1] = amount;
- temp_array[2] = xp;
- list.add($ore_ores, ore);
- map.add($ore_items, ore, temp_array);
- }
- function ore.get(block_loc){
- ore_counter = 0;
- $ore_locs = list.new();
- list.add($ore_locs, block_loc);
- while(list.getSize($ore_locs) != 0){
- block_loc = list.getIndex($ore_locs, 0);
- list.removeIndex($ore_locs, 0);
-
- ore.add_ore(loc.mod(block_loc,1,0,0));
- ore.add_ore(loc.mod(block_loc,-1,0,0));
- ore.add_ore(loc.mod(block_loc,0,1,0));
- ore.add_ore(loc.mod(block_loc,0,-1,0));
- ore.add_ore(loc.mod(block_loc,0,0,1));
- ore.add_ore(loc.mod(block_loc,0,0,-1));
-
- ore_counter++;
- if(ore_counter > $ore_max - 1 || $broken) {
- break;
- }
- }
- }
- function ore.add_ore(temp_loc){
- if(block.getType(temp_loc) == $block_to_destroy){
- $broken = false;
- list.add($ore_locs, temp_loc);
- block.break(temp_loc, $player);
- player.damageItem($player, 1);
- }
- }
|