diff --git a/lib/modpePlugins/we.js b/lib/modpePlugins/we.js deleted file mode 100644 index 7198330..0000000 --- a/lib/modpePlugins/we.js +++ /dev/null @@ -1,1974 +0,0 @@ -allow_extra_data_values = true; -max_brush_radius = 5; - - -//use-inventory (not working): -enable = false; -allow_override = true; -creative_mode_overrides = false; - - -//super-pickaxe (not working): -drop_items = true; -many_drop_items = false; -max_super_pickaxe_size = 5; - - -//navigation-wand (not working): -navigation_item = 345; -max_distance = 100; - - -//history (not working): -size = 15; -expiration = 10; - - -//(working) -coloured_messages = false; -wand_item = 271; -toggle_wand = false; -show_help_on_first_use = true; - - - -/*############################## -VARIABLES -##############################*/ - -var first_use = false; - -var blocks = [["air", 0], ["stone", 1], ["grass", 2], ["dirt", 3], ["cobblestone", 4], ["wood", 5], ["planks", 5], ["sapling", 6], ["bedrock", 7], ["water", 8], ["flowing_water", 8], ["stationary_water", 9], ["lava", 10], ["flowing_lava", 10], ["stationary_water", 11], ["sand", 12], ["gravel", 13], ["gold_ore", 14], ["iron_ore", 15], ["coal_ore", 16], ["log", 17], ["leaves", 18], ["sponge", 19], ["glass", 20], ["lapis_lazuli_ore", 21], ["lapis_ore", 21], ["lapis_lazuli_block", 22], ["lapis_block", 22], ["sandstone", 24], ["bed", 26], ["powered_rail", 27], ["golden_rail", 27], ["web", 30], ["long_grass", 31], ["tallgrass", 31], ["dead_bush", 32], ["deadbush", 32], ["cloth", 35], ["wool", 35], ["yellow_flower", 37], ["red_flower", 38], ["brown_mushroom", 39], ["red_mushroom", 40], ["gold_block", 41], ["iron_block", 42], ["double_step", 43], ["double_stone_slab", 43], ["step",44 ], ["stone_slab", 44], ["brick", 45], ["brick_block", 45], ["tnt", 46], ["bookcase", 47], ["bookshelf", 47], ["mossy_cobblestone", 48], ["obsidian", 49], ["torch", 50], ["fire", 51], ["mob_spawner", 52], ["wooden_stairs", 53], ["oak_stairs", 53], ["oak_wood_stairs", 53], ["chest", 54], ["diamond_ore", 56], ["diamond_block", 57], ["workbench", 58], ["crafting_table", 58], ["crops", 59], ["wheat", 59], ["soil", 60], ["farmland", 60], ["furnace", 61], ["burning_furnace", 62], ["lit_furnace", 62], ["sign_post", 63], ["standing_sign", 63], ["wooden_door", 64], ["ladder", 65], ["minecart_tracks", 66], ["rails", 66], ["cobblestone_stairs", 67], ["stone_stairs", 67], ["wall_sign", 68], ["iron_door", 71], ["redstone_ore", 73], ["unlit_redstone_ore", 73], ["glowing_redstone_ore", 74], ["lit_redstone_ore", 74], ["snow_layer", 78], ["snow", 78], ["ice", 79], ["snow_block", 80], ["cactus", 81], ["clay", 82], ["reed", 83], ["reeds", 83], ["fence", 85], ["pumpkin", 86], ["netherstone", 87], ["netherrack", 87], ["lightstone", 89], ["glowstone", 89], ["jackolantern", 91], ["lit_pumpkin", 91], ["cake_block", 92], ["cake", 92], ["trap_door", 96], ["trapdoor", 96], ["silverfish_block", 97], ["monster_egg", 97], ["stone_brick", 98], ["stonebrick", 98], ["brown_mushroom_cap", 99], ["brown_mushroom_block", 99], ["red_mushroom_cap", 100], ["red_mushroom_block", 100], ["iron_bars", 101], ["glass_pane", 102], ["melon_block", 103], ["melon", 103], ["pumpkin_stem", 104], ["melon_stem", 105], ["vine", 106], ["fence_gate", 107], ["brick_stairs", 108], ["stone_brick_stairs", 109], ["myclium", 110], ["lily_pad", 111], ["waterlily", 111], ["nether_brick", 112], ["nether_brick_fence", 113], ["nether_brick_stairs", 114], ["end_portal_frame", 120], ["end_stone", 121], ["double_wooden_step", 125], ["double_wooden_slab", 125], ["wooden_step", 126], ["wooden_slab", 126], ["cocoa_plant", 127], ["cocoa", 127], ["sandstone_stairs", 128], ["emerald_ore", 129], ["emerald_block", 133], ["spruce_wood_stairs", 134], ["spruce_stairs", 134], ["birch_wood_stairs", 135], ["birch_stairs", 135], ["jungle_wood_stairs", 136], ["jungle_stairs", 136], ["cobblestone_wall", 139], ["carrots", 141], ["potatoes", 142], ["quartz_block", 155], ["quartz_stairs", 156], ["stained_clay", 159], ["stained_hardened_clay", 159], ["leaves2", 161], ["log2", 162], ["acacia_wood_stairs", 163], ["acacia_stairs", 163], ["dark_oak_wood_stairs", 164], ["dark_oak_stairs", 164], ["hay_block", 170], ["carpet", 171], ["hardened_clay", 172], ["coal_block", 173], ["packed_ice", 174], ["double_plant", 175], ["spruce_fence_gate", 183], ["birch_fence_gate", 184], ["jungle_fence_gate", 185], ["acacia_fence_gate", 186], ["dark_oak_fence_gate", 187], ["podzol", 243], ["beetroot", 244], ["stone_cutter", 245], ["stonecutter", 245], ["glowing_obsidian", 246], ["nether_reactor_core", 247], ["nether_reactor", 247]]; -//var ctx = com.mojang.minecraftpe.MainActivity.currentMainActivity.get(); -var BTN; - -var selector = 1; -var pos1 = null; -var pos2 = null; - -var minX, minY, minZ, maxX, maxY, maxZ; -c = []; -c1 = []; -c2 = []; -r = []; - -clipboard = []; - -undo = []; -var undoX, undoY, undoZ; - -brush = []; -mask = -1; -var count = 1; - - - -/*############################## -COMMAND REGISTRATION -##############################*/ - -function procCmd(command) { - var cmd = command.split(" "); - - if(cmd[1] && allow_extra_data_values == true) c = cmd[1].split(":"); - else c[0] = cmd[1]; - - if(cmd[2] && allow_extra_data_values == true) c1 = cmd[2].split(":"); - else c1[0] = cmd[2]; - - if(cmd[2]) r = cmd[2].split(","); - else { - r[0] = cmd[2]; - r[1] = cmd[2]; - } - - if(cmd[3] && allow_extra_data_values == true) c2 = cmd[3].split(":"); - else c2[0] = cmd[3]; - - switch(cmd[0]) { - -/*############ -HELP -############*/ - - case "help": - case "/help": - if(cmd[1]) showHelp(cmd[1]); - - else showHelp("1"); - break; - - -/*############ -WAND -############*/ - - case "wand": - case "/wand": - switch(Level.getGameMode()) { - case 0: - Player.addItemInventory(wand_item, 1, 0); - break; - - case 1: - Entity.setCarriedItem(getPlayerEnt(), wand_item, 1, 0); - break; - } - - if(show_help_on_first_use == true && first_use == false) { - first_use = true; - Msg("Destroy block: select pos #1; Tap block: select pos #2") - } - break; - - -/*############ -TOGGLEEDITWAND -############*/ - - case "toggleeditwand": - switch(toggle_wand) { - case false: - toggle_wand = true; - Msg("Edit wand disabled."); - break; - - case true: - toggle_wand = false; - Msg("Edit wand enabled."); - break; - } - break; - - -/*############ -SEL -############*/ - - case "/sel": - case ";": - case "/desel": - case "/deselect": - - if(!cmd[1]) { - pos1 = null; - pos2 = null; - Msg("Selection cleared."); - } - - switch(cmd[1]) { - case "cuboid": - selector = 1; - Msg("Cuboid: destroy block for point 1, tap block for point 2"); - break; - } - break; - - -/*############ -POSITIONS -############*/ - - case "/pos1": - if(cmd[1] && cmd[2] && cmd[3]) { - pos1 = [Math.round(cmd[1]), Math.round(cmd[2]), Math.round(cmd[3])]; - Msg("First Position set to (" + pos1[0] + ".0, " + pos1[1] + ".0, " + pos1[2] + ".0)."); - } - - else if(!cmd[1]) { - pos1 = [pX, Math.round(pY), pZ]; - Msg("First Position set to (" + pos1[0] + ".0, " + pos1[1] + ".0, " + pos1[2] + ".0)."); - } - - else if(cmd[1] && (!cmd[2] || !cmd[3])) Msg("§cYou must either specify 0 or 3 coordiante values."); - - else if(cmd[4]) Msg("§cToo many arguments."); - break; - - - case "/pos2": - if(cmd[1] && cmd[2] && cmd[3]) { - pos2 = [Math.round(cmd[1]), Math.round(cmd[2]), Math.round(cmd[3])]; - Msg("Second Position set to (" + pos2[0] + ".0, " + pos2[1] + ".0, " + pos2[2] + ".0)."); - } - - else if(!cmd[1]) { - pos2 = [pX, Math.round(pY), pZ]; - Msg("Second Position set to (" + pos2[0] + ".0, " + pos2[1] + ".0, " + pos2[2] + ".0)."); - } - - else if(cmd[1] && (!cmd[2] || !cmd[3])) Msg("§cYou must either specify 0 or 3 coordiante values."); - - else if(cmd[4]) Msg("§cToo many arguments."); - break; - - -/*############ -UNDO -############*/ - - case "undo": - case "/undo": - Undo(); - break; - - -/*############ -PASTE -############*/ - - case "/paste": - if(!cmd[1] && clipboard != null) { - saveUndoPaste(); - paste(0); - } - - else if(clipboard == null) Msg("§No clipboard content."); - - else if(cmd[1]) Msg("§cToo many arguments."); - break; - - -/*############ -CLEARCLIPBOARD -############*/ - - case "clearclipboard": - clipboard = null; - break; - - - default: - for(var i = 0; i < blocks.length; i++) { - if(blocks[i][0] == c[0]) c[0] = blocks[i][1]; - if(blocks[i][0] == c1[0]) c1[0] = blocks[i][1]; - if(blocks[i][0] == c2[0]) c2[0] = blocks[i][1]; - - if(i == blocks.length - 1) { - if(pos1 == null || pos2 == null || pos1 != null || pos2 != null) { - switch(cmd[0]) { - -/*############ -MASK -############*/ - - case "mask": - if(cmd[1] && cmd[1] >= 0 && cmd[1] <= 255) { - mask = c[0]; - Msg("Brush mask set."); - } - - else if(cmd[1] < 0 || cmd[1] > 255) Msg("§cNot a valid block id/name."); - - else if(!cmd[1]) { - mask = -1; - Msg("Brush mask disabled."); - } - break; - - -/*############ -BRUSH -############*/ - - case "/br": - if(Player.getCarriedItem() > 255) { - if(cmd[1]) { - switch(cmd[1]) { - case "c": - case "cyl": - case "cylinder": - if(c1[0] != "h" && c1[0] <= 255 && c1[0] >= 0) { - if(cmd[3] && !cmd[4] && cmd[3] <= max_brush_radius) { - brush = ["cylinder", c1[0], c1[1], cmd[3], 1, false]; - Msg("Cylinder brush shape equipped (" + cmd[3] + " by 1)."); - dismissBrushButton(); - openBrushButton(); - } - - else if(cmd[4] && c1[0] <= 255 && c1[0] >= 0 && !cmd[5] && cmd[3] <= max_brush_radius && cmd[4] <= max_brush_radius) { - brush = ["cylinder", c1[0], c1[1], cmd[3], cmd[4], false]; - Msg("Cylinder brush shape equipped (" + cmd[3] + " by " + cmd[4] + ")."); - dismissBrushButton(); - openBrushButton(); - } - - else if(cmd[3] > max_brush_radius || cmd[4] > max_brush_radius) Msg("§cThe radius must be smaller than " + max_brush_radius + "."); - - else if(cmd[5]) Msg("§cToo many arguments."); - - else if(!cmd[3]) Msg("§cYou need to specify a radius."); - } - - else if(cmd[2] == "h") { - if(c2[0] && c2[0] >= 0 && c2[0] <= 255) { - if(cmd[4] && !cmd[5] && cmd[4] <= max_brush_radius) { - brush = ["cylinder", c2[0], c2[1], cmd[4], 1, true]; - Msg("Hollow cylinder brush shape equipped (" + cmd[3] + " by 1)."); - dismissBrushButton(); - openBrushButton(); - } - - else if(cmd[5] && !cmd[6] && cmd[4] <= max_brush_radius && cmd[5] <= max_brush_radius) { - brush = ["cylinder", c2[0], c2[1], cmd[4], cmd[5], true]; - Msg("Hollow cylinder brush shape equipped (" + cmd[3] + " by " + cmd[4] + ")."); - dismissBrushButton(); - openBrushButton(); - } - - else if(cmd[4] > max_brush_radius || cmd[5] > max_brush_radius) Msg("§cThe radius must be smaller than " + max_brush_radius + "."); - - else if(cmd[6]) Msg("§cToo many arguments."); - - else Msg("§cYou need to specify a radius."); - } - - else if(c2[0] > 255 || c2[0] < 0) Msg("§cInvalid block id/name."); - - else if(!c2[0]) Msg("§cYou need to specify a block."); - } - - else if(c1[0] > 255 || c1[0] < 0) Msg("§cInvalid block id/name."); - - else if(!cmd[2]) Msg("§cYou need to specify a block."); - break; - - case "s": - case "sphere": - case "cylinder": - if(c1[0] != "h" && c1[0] <= 255 && c1[0] >= 0) { - if(cmd[3] && !cmd[4] && cmd[3] <= max_brush_radius) { - brush = ["sphere", c1[0], c1[1], cmd[3], 0, false]; - Msg("Sphere brush shape equipped (" + cmd[3] + ")."); - dismissBrushButton(); - openBrushButton(); - } - - else if(cmd[3] > max_brush_radius) Msg("§cThe radius must be smaller than " + max_brush_radius + "."); - - else if(cmd[4]) Msg("§cToo many arguments."); - - else if(!cmd[3]) Msg("§cYou need to specify a radius."); - } - - else if(cmd[2] == "h") { - if(c2[0] && c2[0] >= 0 && c2[0] <= 255) { - if(cmd[4] && !cmd[5] && cmd[4] <= max_brush_radius) { - brush = ["sphere", c2[0], c2[1], cmd[4], 0, true]; - Msg("Sphere brush shape equipped (" + cmd[4] + ")."); - dismissBrushButton(); - openBrushButton(); - } - - else if(cmd[4] > max_brush_radius) Msg("§cThe radius must be smaller than " + max_brush_radius + "."); - - else if(cmd[5]) Msg("§cToo many arguments."); - - else Msg("§cYou need to specify a radius."); - } - - else if(c2[0] > 255 || c2[0] < 0) Msg("§cInvalid block id/name."); - - else if(!c2[0]) Msg("§cYou need to specify a block."); - } - - else if(c1[0] > 255 || c1[0] < 0) Msg("§cInvalid block id/name."); - - else if(!cmd[2]) Msg("§cYou need to specify a block."); - break; - - default: - Msg("§cInvalid brush."); - break; - } - } else Msg("§cYou need to specify a brush."); - } else Msg("§cCan't bind tool to a block."); - break; - - -/*############ -CYLINDER -############*/ - - case "/cyl": - if(cmd[1]) { - if(cmd[2] && !cmd[3]) { - saveUndoCylinder(cmd[2] * 2, pY, cmd[2] * 2, cmd[2], 1); - cylinder(c[0], c[1], cmd[2], 1, 0, false); - } - - else if(cmd[3] && !cmd[4]) { - saveUndoCylinder(cmd[2] * 2, cmd[3], cmd[2] * 2, cmd[2], cmd[3]); - cylinder(c[0], c[1], cmd[2], cmd[3], 0, false); - } - - else if(cmd[4]) Msg("§cToo many arguments."); - - else Msg("§cYou need to specify a radius."); - } - - else Msg("§cYou need to specify a block."); - break; - - -/*############ -HOLLOW CYLINDER -############*/ - - case "/hcyl": - if(cmd[1]) { - if(cmd[2] && !cmd[3]) { - saveUndoCylinder(cmd[2] * 2, pY, cmd[2] * 2, cmd[2], 1); - cylinder(c[0], c[1], cmd[2], 1, 0, true); - } - - else if(cmd[3] && !cmd[4]) { - saveUndoCylinder(cmd[2] * 2, pY, cmd[2] * 2, cmd[2], 1); - cylinder(c[0], c[1], cmd[2], cmd[3], 0, true); - } - - else if(cmd[4]) Msg("§cToo many arguments."); - - else Msg("§cYou need to specify a radius."); - } - - else Msg("§cYou need to specify a block."); - break; - - -/*############ -SPHERE -############*/ - - case "/sphere": - if(cmd[1]) { - if(cmd[2] && !cmd[3]) { - saveUndoSphere(cmd[2] * 2, cmd[2] * 2, cmd[2] * 2, cmd[2]); - sphere(c[0], c[1], cmd[2], 0, false); - } - - else if(cmd[3]) Msg("§cToo many arguments."); - - else Msg("§cYou need to specify a radius."); - } - - else Msg("§cYou need to specify a block."); - break; - - -/*############ -HOLLOW SPHERE -############*/ - - case "/hsphere": - if(cmd[1]) { - if(cmd[2] && !cmd[3]) { - saveUndoSphere(cmd[2] * 2, cmd[2] * 2, cmd[2] * 2, cmd[2]); - sphere(c[0], c[1], cmd[2], 0, true); - } - - else if(cmd[3]) Msg("§cToo many arguments."); - - else Msg("§cYou need to specify a radius."); - } - - else Msg("§cYou need to specify a block."); - break; - - -/*############ -FORESTGEN -############*/ - - case "forestgen": - if(cmd[1] && !cmd[2]) { - saveUndoSphere(cmd[1] * 2, cmd[1] * 2, cmd[1] * 2, cmd[1]); - forestgen(cmd[1], "oak", 50, 0); - } - - else if(cmd[2] && !cmd[4]) { - switch(cmd[2]) { - case "oak": - case "tree": - case "regular": - saveUndoSphere(cmd[1] * 2, cmd[1] * 2, cmd[1] * 2, cmd[1]); - - if(cmd[3] && cmd[3] <= 100) forestgen(cmd[1], "oak", cmd[3], 0); - - else if(!cmd[3]) forestgen(cmd[1], "oak", 50, 0); - - else Msg("§cDensity must be smaller than 100."); - break; - - case "birch": - saveUndoSphere(cmd[1] * 2, cmd[1] * 2, cmd[1] * 2, cmd[1]); - - if(cmd[3] && cmd[3] <= 100) forestgen(cmd[1], "birch", cmd[3], 0); - - else if(!cmd[3]) forestgen(cmd[1], "birch", 50, 0); - - else Msg("§cDensity must be smaller than 100."); - break; - - case "spruce": - case "redwood": - case "sequoia": - saveUndoSphere(cmd[1] * 2, cmd[1] * 2, cmd[1] * 2, cmd[1]); - - if(cmd[3] && cmd[3] <= 100) forestgen(cmd[1], "spruce", cmd[3], 0); - - else if(!cmd[3]) forestgen(cmd[1], "spruce", 50, 0); - - else Msg("§cDensity must be smaller than 100."); - break; - - case "jungle": - case "smalljungle": - saveUndoSphere(cmd[1] * 2, cmd[1] * 2, cmd[1] * 2, cmd[1]); - - if(cmd[3] && cmd[3] <= 100) forestgen(cmd[1], "jungle", cmd[3], 0); - - else if(!cmd[3]) forestgen(cmd[1], "jungle", 50, 0); - - else Msg("§cDensity must be smaller than 100."); - break; - - default: - Msg("§cInvalid tree name."); - break; - } - } - - else if(cmd[4]) Msg("§cToo many arguments."); - - else Msg("§cYou need to specify a radius."); - break; - - -/*############ -PUMPKINS -############*/ - - case "pumpkins": - if(cmd[1] && !cmd[2]) { - saveUndoSphere(cmd[1] * 2, cmd[1] * 2, cmd[1] * 2, cmd[1]); - pumpkins(cmd[1], 0); - } - - else if(cmd[2]) Msg("§cToo many arguments."); - - else Msg("§cYou need to specify a radius."); - break; - - -/*############ -DEFAULT -############*/ - - case "undo": - case "/undo": - case "/count": - case "/copy": - case "/cut": - case "/paste": - case "/set": - case "/line": - case "/re": - case "/rep": - case "/replace": - case "/overlay": - case "/center": - case "/middle": - case "/walls": - case "/outline": - case "/faces": - case "/hollow": - case "/forest": - case "/flora": - if(pos1 == null || pos2 == null) Msg("§cYou need to make a selection first."); - break; - - default: - Msg("§cUnknown command. Type ''help'' for help."); - break; - } - } - - - if(pos1 != null && pos2 != null) { - switch(cmd[0]) { - -/*############ -COUNT -############*/ - - case "/count": - if(cmd[1] && !cmd[2]) { - if(c[0] >= 0 && c[0] <= 255) { - count(c[0], c[1], 0, false); - } - - else Msg("§cInvalid block id/name."); - } - - else if(cmd[2]) Msg("§cToo many arguments."); - - else Msg("§cYou need to specify a block."); - break; - - -/*############ -SIZE -############*/ - - case "/size": - - break; - - -/*############ -COPY -############*/ - - case "/copy": - if(cmd[1] && cmd[1] >= 0 && cmd[1] <= 255 && !cmd[2]) copy((maxX - minX) + 1, (maxY - minY) + 1, (maxZ - minZ) + 1, 0, cmd[1]); - - else if(cmd[1] < 0 && cmd[1] > 255) Msg("§cInvalid block id/name."); - - else if(cmd[2]) Msg("§cToo many arguments."); - - else copy((maxX - minX) + 1, (maxY - minY) + 1, (maxZ - minZ) + 1, 0, 0); - break; - - -/*############ -CUT -############*/ - - case "/cut": - if(cmd[1] && cmd[1] >= 0 && cmd[1] <= 255 && !cmd[2]) { - saveUndoDefault((maxX - minX) + 1, (maxY - minY) + 1, (maxZ - minZ) + 1); - cut((maxX - minX) + 1, (maxY - minY) + 1, (maxZ - minZ) + 1, 0, cmd[1]); - } - - else if(cmd[1] < 0 && cmd[1] > 255) Msg("§cInvalid block id/name."); - - else if(cmd[2]) Msg("§cToo many arguments."); - - else { - saveUndoDefault((maxX - minX) + 1, (maxY - minY) + 1, (maxZ - minZ) + 1); - cut((maxX - minX) + 1, (maxY - minY) + 1, (maxZ - minZ) + 1, 0, 0); - } - break; - - -/*############ -SET -############*/ - - case "/set": - if(cmd[1] && !cmd[2]) { - if(c[0] >= 0 && c[0] <= 255) { - saveUndoDefault((maxX - minX) + 1, (maxY - minY) + 1, (maxZ - minZ) + 1); - set(c[0], c[1], 0); - } - - else Msg("§cInvalid block id/name."); - } - - else if(cmd[2]) Msg("§cToo many arguments."); - - else Msg("§cYou need to specify a block."); - break; - - -/*############ -LINE -############*/ - - case "/line": - if(cmd[1] && !cmd[2]) { - if(c[0] >= 0 && c[0] <= 255) { - saveUndoDefault((maxX - minX) + 1, (maxY - minY) + 1, (maxZ - minZ) + 1); - line(c[0], c[1], 0); - } - - else Msg("§cInvalid block id/name."); - } - - else if(cmd[2]) Msg("§cToo many arguments."); - - else Msg("§cYou need to specify a block."); - break; - - -/*############ -REPLACE -############*/ - - case "/re": - case "/rep": - case "/replace": - if(cmd[1] && !cmd[2]) { - if(c[0] >= 0 && c[0] <= 255) { - saveUndoDefault((maxX - minX) + 1, (maxY - minY) + 1, (maxZ - minZ) + 1); - replace(c[0], c[1], 0); - } - - else Msg("§cInvalid block id/name."); - } - - else if(cmd[2] && !cmd[3]) { - if(c[0] >= 0 && c[0] <= 255) { - saveUndoDefault((maxX - minX) + 1, (maxY - minY) + 1, (maxZ - minZ) + 1); - replace1(c1[0], c1[1], c[0], 0); - } - - else Msg("§cInvalid block id/name."); - } - - else if(cmd[3]) Msg("§cToo many arguments."); - - else Msg("§cYou need to specify a block."); - break; - - -/*############ -OVERLAY -############*/ - - case "/overlay": - if(cmd[1] && !cmd[2]) { - if(c[0] >= 0 && c[0] <= 255) { - saveUndoDefault((maxX - minX) + 1, (maxY - minY) + 1, (maxZ - minZ) + 1); - overlay(c[0], c[1], 0); - } - - else Msg("§cInvalid block id/name."); - } - - else if(cmd[2]) Msg("§cToo many arguments."); - - else Msg("§cYou need to specify a block."); - break; - - -/*############ -CENTER -############*/ - - case "/center": - case "/middle": - if(cmd[1] && !cmd[2]) { - if(c[0] >= 0 && c[0] <= 255) { - saveUndoDefault((maxX - minX) + 1, (maxY - minY) + 1, (maxZ - minZ) + 1); - center(c[0], c[1], 0); - } - - else Msg("§cInvalid block id/name."); - } - - else if(cmd[2]) Msg("§cToo many arguments."); - - else Msg("§cYou need to specify a block."); - break; - - -/*############ -WALLS -############*/ - - case "/walls": - if(cmd[1] && !cmd[2]) { - if(c[0] >= 0 && c[0] <= 255) { - saveUndoDefault((maxX - minX) + 1, (maxY - minY) + 1, (maxZ - minZ) + 1); - walls(c[0], c[1], 0); - } - - else Msg("§cInvalid block id/name."); - } - - else if(cmd[2]) Msg("§cToo many arguments."); - - else Msg("§cYou need to specify a block."); - break; - - -/*############ -OUTLINE -############*/ - - case "/outline": - case "/faces": - if(cmd[1] && !cmd[2]) { - if(c[0] >= 0 && c[0] <= 255) { - saveUndoDefault((maxX - minX) + 1, (maxY - minY) + 1, (maxZ - minZ) + 1); - outline(c[0], c[1], 0); - } - - else Msg("§cInvalid block id/name."); - } - - else if(cmd[2]) Msg("§cToo many arguments."); - - else Msg("§cYou need to specify a block."); - break; - - -/*############ -HOLLOW -############*/ - - case "/hollow": - if(cmd[1] && !cmd[2]) { - if(c[0] >= 0 && c[0] <= 255) { - saveUndoDefault((maxX - minX) + 1, (maxY - minY) + 1, (maxZ - minZ) + 1); - hollow(c[0], c[1], 0); - } - - else Msg("§cInvalid block id/name."); - } - - else if(cmd[2]) Msg("§cToo many arguments."); - - else hollow(0, 0, 0); - break; - - -/*############ -FOREST -############*/ - - case "/forest": - if(cmd[1] && !cmd[3]) { - switch(cmd[1]) { - case "oak": - case "tree": - case "regular": - saveUndoTree((maxX- minX) + 1, (maxY - minY) + 1, (maxZ - minZ) + 1); - - if(cmd[2] && cmd[2] <= 100) forest("oak", cmd[2], 0); - - else if(!cmd[2]) forest("oak", 50, 0); - - else Msg("§cDensity must be smaller than 100."); - break; - - case "birch": - saveUndoTree((maxX- minX) + 1, (maxY - minY) + 1, (maxZ - minZ) + 1); - - if(cmd[2] && cmd[2] <= 100) forest("birch", cmd[2], 0); - - else if(!cmd[2]) forest("birch", 50, 0); - - else Msg("§cDensity must be smaller than 100."); - break; - - case "spruce": - case "redwood": - case "sequoia": - saveUndoTree((maxX- minX) + 1, (maxY - minY) + 1, (maxZ - minZ) + 1); - - if(cmd[2] && cmd[2] <= 100) forest("spruce", cmd[2], 0); - - else if(!cmd[2]) forest("spruce", 50, 0); - - else Msg("§cDensity must be smaller than 100."); - break; - - case "jungle": - case "smalljungle": - saveUndoTree((maxX- minX) + 1, (maxY - minY) + 1, (maxZ - minZ) + 1); - - if(cmd[2] && cmd[2] <= 100) forest("jungle", cmd[2], 0); - - else if(!cmd[2]) forest("jungle", 50, 0); - - else Msg("§cDensity must be smaller than 100."); - break; - - default: - Msg("§cInvalid tree name."); - break; - } - } - - else if(cmd[3]) Msg("§cToo many arguments."); - - else { - saveUndoTree((maxX- minX) + 1, (maxY - minY) + 1, (maxZ - minZ) + 1); - - if(cmd[2] && cmd[2] <= 100) forest("oak", cmd[2], 0); - - else if(!cmd[2]) forest("oak", 50, 0); - - else Msg("§cDensity must be smaller than 100."); - } - break; - - -/*############ -FLORA -############*/ - - case "/flora": - saveUndoDefault((maxX- minX) + 1, (maxY - minY) + 1, (maxZ - minZ) + 1); - - if(cmd[1] && !cmd[2] && cmd[1] <= 100) flora(cmd[1], 0); - - else if(!cmd[1]) flora(50, 0); - - else if(cmd[2]) Msg("§cToo many arguments."); - - else Msg("§cDensity must be smaller than 100."); - break; - } - } - } - } - break; - } -} - - - -/*############################## -POSITIONS -##############################*/ - -function useItem(x, y, z, item, block, side) { - if(item == wand_item && toggle_wand == false) { - preventDefault(); - - switch(selector) { - case 1: - pos2 = [x, y, z]; - Msg("Second Position set to (" + pos2[0] + ".0, " + pos2[1] + ".0, " + pos2[2] + ".0)."); - break; - } - } -} - - -function destroyBlock(x, y, z, side) { - if(getCarriedItem() == wand_item && toggle_wand == false) { - preventDefault(); - - if(Level.getGameMode() == 1) { - switch(selector) { - case 1: - pos1 = [x, y, z]; - Msg("First Position set to (" + pos1[0] + ".0, " + pos1[1] + ".0, " + pos1[2] + ".0)."); - break; - } - } - } -} - - -function startDestroyBlock(x, y, z, side) { - if(getCarriedItem() == wand_item && toggle_wand == false) { - if(Level.getGameMode() == 0) { - preventDefault(); - switch(selector) { - case 1: - pos1 = [x, y, z]; - Msg("First Position set to (" + pos1[0] + ".0, " + pos1[1] + ".0, " + pos1[2] + ".0)."); - break; - } - } - } -} - - - -/*############################## -NORMAL FUNCTIONS -##############################*/ - -function modTick() { - if(pos1 != null && pos2 != null) { - minX = Math.min(pos1[0], pos2[0]); - minY = Math.min(pos1[1], pos2[1]); - minZ = Math.min(pos1[2], pos2[2]); - maxX = Math.max(pos1[0], pos2[0]); - maxY = Math.max(pos1[1], pos2[1]); - maxZ = Math.max(pos1[2], pos2[2]); - } - - pX = Math.round(getPlayerX()); - pY = getPlayerY() - 1; - pZ = Math.round(getPlayerZ()); - - Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir(); Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir();Dir(); - - if(Player.getCarriedItem() < 256) dismissBrushButton(); -} - - -function Dir() { - var pitch = ((Entity.getPitch(getPlayerEnt()) + 90) * Math.PI) / 180; - var yaw = ((Entity.getYaw(getPlayerEnt()) + 90) * Math.PI) / 180; - var xYaw = pX + ((Math.sin(pitch) * Math.cos(yaw)) * count); - var yPitch = pY + ((Math.cos(pitch)) * count); - var zYaw = pZ + ((Math.sin(pitch) * Math.sin(yaw)) * count); -//WIP: Commented because of unfinished world -/* - if(getTile(xYaw, yPitch, zYaw) == 0 && count < 100) count++; - - else { - xDir = pX + ((Math.sin(pitch) * Math.cos(yaw)) * count); - yDir = pY + ((Math.cos(pitch)) * (count - 1)); - zDir = pZ + ((Math.sin(pitch) * Math.sin(yaw)) * count); - count = 1; - } -*/ -} - - - -/*############################## -WORLDEDIT FUNCTIONS -##############################*/ - -/*############ -HELP -############*/ - -function showHelp(Help) { - switch(Help) { - case "1": - Msg("Showing help page 1/6:"); - Msg(" //br [-h] [heigth]"); - Msg(" //center "); - Msg(" //copy [leave-block]"); - Msg(" //count "); - Msg(" //cut [leave-block]"); - break; - - case "2": - Msg("Showing help page 2/6:"); - Msg(" //cyl [height]"); - Msg(" //flora [density]"); - Msg(" //forest [type [density]]"); - Msg(" /forestgen [type [density]]"); - Msg(" /help [page/command name]"); - break; - - case "3": - Msg("Showing help page 3/6:"); - Msg(" //hcyl [height]"); - Msg(" //hollow [block]"); - Msg(" //hsphere ") - Msg(" //line "); - Msg(" //outline "); - break; - - case "4": - Msg("Showing help page 4/6:"); - Msg(" //overlay "); - Msg(" //paste"); - Msg(" /pumpkins "); - Msg(" //pos1 [x, y, z]") - Msg(" //pos2 [x, y, z]"); - break; - - case "5": - Msg("Showing help page 5/6:"); - Msg(" //replace "); - Msg(" //replace "); - Msg(" //sel [selector]"); - Msg(" //set "); - Msg(" //sphere "); - break; - - case "6": - Msg("Showing help page 6/6:"); - Msg(" /undo, //undo"); - Msg(" /toggleeditwand"); - Msg(" //walls "); - Msg(" /wand"); - break; - - default: - Msg("§cInvalid help."); - break; - } -} - - -/*############ -UNDO -############*/ - -function Undo() { - for(var a = 0; a < undo.length; a++) { - for(var b = 0; b < undo[0].length; b++) { - for(var c = 0; c < undo[0][0].length; c++) { - setTile(undoX + a, undoY + b, undoZ + c, undo[a][b][c][0], undo[a][b][c][1]); - } - } - } Msg("Undo successful."); -} - - -function saveUndoDefault(x, y, z) { - undoX = minX; - undoY = minY; - undoZ = minZ; - - undo = [x]; - for(var a = 0; a < x; a++) { - undo[a] = [y]; - for(var b = 0; b < y; b++) { - undo[a][b] = [z]; - for(var c = 0; c < z; c++) { - undo[a][b][c] = [getTile(minX + a, minY + b, minZ + c), Level.getData(minX + a, minY + b, minZ + c)]; - } - } - } -} - - -function saveUndoTree(x, y, z) { - undoX = minX; - undoY = minY; - undoZ = minZ; - - undo = [x]; - for(var a = -3; a < x + 3; a++) { - undo[a] = [y]; - for(var b = 0; b < y + 15; b++) { - undo[a][b] = [z]; - for(var c = -3; c < z + 3; c++) { - undo[a][b][c] = [getTile(minX + a, minY + b, minZ + c), Level.getData(minX + a, minY + b, minZ + c)]; - } - } - } -} - - -function saveUndoCylinder(x, y, z, Radius, Height) { - undoX = pX - Radius; - undoY = pY; - undoZ = pZ - Radius; - - undo = [x]; - for(var a = -x; a <= x; a++) { - undo[a] = [y]; - for(var b = 0; b < Height; b++) { - undo[a][b] = [z]; - for(var c = -z; c <= x; c++) { - undo[a][b][c] = [getTile(pX - Radius + a, pY + b, pZ - Radius + c), Level.getData(pX - Radius + a, pY + b, pZ - Radius + c)]; - } - } - } -} - - -function saveUndoSphere(x, y, z, Radius) { - undoX = pX - Radius; - undoY = pY - Radius; - undoZ = pZ - Radius; - - undo = [x]; - for(var a = -x; a < x; a++) { - undo[a] = [y]; - for(var b = -y; b < y; b++) { - undo[a][b] = [z]; - for(var c = -z; c < x; c++) { - undo[a][b][c] = [getTile(pX - Radius + a, pY - Radius + b, pZ - Radius + c), Level.getData(pX - Radius + a, pY - Radius + b, pZ - Radius + c)]; - } - } - } -} - - -function saveUndoPaste() { - x = clipboard.length; - y = clipboard[0].length; - z = clipboard[0][0].length; - undoX = pX; - undoY = pY; - undoZ = pZ; - - undo = [x]; - for(var a = 0; a <= x; a++) { - undo[a] = [y]; - for(var b = 0; b <= y; b++) { - undo[a][b] = [z]; - for(var c = 0; c <= z; c++) { - undo[a][b][c] = [getTile(pX + a, pY + b, pZ + c), Level.getData(pX + a, pY + b, pZ + c)]; - } - } - } -} - - -/*############ -COPY -############*/ - -function copy(x, y, z, affected, Block) { - clipboard = [x] - for(var a = 0; a < x; a++) { - clipboard[a] = [y] - for(var b = 0; b < y; b++) { - clipboard[a][b] = [z] - for(var c = 0; c < z; c++) { - if(getTile(minX + a, minY + b, minZ + c) == Block) clipboard[a][b][c] = [0, 0]; - - else clipboard[a][b][c] = [getTile(minX + a, minY + b, minZ + c), Level.getData(minX + a, minY + b, minZ + c)]; - affected++; - } - } - } Msg(affected + " block(s) were copied."); -} - - -/*############ -CUT -############*/ - -function cut(x, y, z, affected, Block) { - clipboard = [x] - for(var a = 0; a < x; a++) { - clipboard[a] = [y] - for(var b = 0; b < y; b++) { - clipboard[a][b] = [z] - for(var c = 0; c < z; c++) { - if(getTile(minX + a, minY + b, minZ + c) == Block) { - setTile(minX + a, minY + b, minZ + c, 0, 0); - clipboard[a][b][c] = [0, 0]; - } - - else { - setTile(minX + a, minY + b, minZ + c, 0, 0); - clipboard[a][b][c] = [getTile(minX + a, minY + b, minZ + c), Level.getData(minX + a, minY + b, minZ + c)]; - } - - affected++; - } - } - } Msg(affected + " block(s) were cutted."); -} - - -/*############ -PASTE -############*/ - -function paste(affected) { - for(var a = 0; a < clipboard.length; a++) { - for(var b = 0; b < clipboard[0].length; b++) { - for(var c = 0; c < clipboard[0][0].length; c++) { - setTile(pX + a, pY + b, pZ + c, clipboard[a][b][c][0], clipboard[a][b][c][1]); - affected++; - } - } - } Msg(affected + " block(s) were pasted."); -} - - -/*############ -CYLINDER -############*/ - -function cylinder(Block, Data, Radius, Height, affected, Hollow) { - for(var x = -Radius; x <= Radius; x++) { - for(var y = 0; y < Height; y++) { - for(var z = -Radius; z <= Radius; z++) { - if(x * x + z * z <= Radius * Radius) { - if(Hollow == false) { - setTile(pX + x, pY + y, pZ + z, Block, Data); - affected++; - } - - else { - if(x * x + z * z > (Radius - 1) * (Radius - 1)) { - setTile(pX + x, pY + y, pZ + z, Block, Data); - affected++; - } - } - } - } - } - } Msg(affected + " block(s) have been created."); -} - - -function brushCylinder(Block, Data, Radius, Height, Hollow, a, b, c) { - for(var x = -Radius; x <= Radius; x++) { - for(var y = 0; y < Height; y++) { - for(var z = -Radius; z <= Radius; z++) { - if(x * x + z * z <= Radius * Radius) { - if(mask == -1) { - if(Hollow == false) setTile(a + x, b + y - 1, c + z, Block, Data); - - else { - if(x * x + z * z > (Radius - 1) * (Radius - 1)) setTile(a + x, b + y - 1, c + z, Block, Data); - } - } - - else { - if(getTile(a + x, b + y, c + z) == mask) { - if(Hollow == false) setTile(a + x, b + y - 1, c + z, Block, Data); - - else { - if(x * x + z * z > (Radius - 1) * (Radius - 1)) setTile(a + x, b + y - 1, c + z, Block, Data); - } - } - } - } - } - } - } -} - - -/*############ -SPHERE -############*/ - -function sphere(Block, Data, Radius, affected, Hollow) { - for(var x = -Radius; x <= Radius; x++) { - for(var y = -Radius; y <= Radius; y++) { - for(var z = -Radius; z <= Radius; z++) { - if(x * x + y * y + z * z <= Radius * Radius) { - if(Hollow == false) { - setTile(pX + x, pY + y, pZ + z, Block, Data); - affected++; - } - - else { - if(x * x + y * y + z * z > (Radius - 1) * (Radius - 1)) { - setTile(pX + x, pY + y, pZ + z, Block, Data); - affected++; - } - } - } - } - } - } Msg(affected + " block(s) have been created."); -} - - -function brushSphere(Block, Data, Radius, Hollow, a, b, c) { - for(var x = -Radius; x <= Radius; x++) { - for(var y = -Radius; y <= Radius; y++) { - for(var z = -Radius; z <= Radius; z++) { - if(x * x + y * y + z * z <= Radius * Radius) { - if(mask == -1) { - if(Hollow == false) setTile(a + x, b + y - 1, c + z, Block, Data); - - else { - if(x * x + y * y + z * z > (Radius - 1) * (Radius - 1)) setTile(a + x, b + y - 1, c + z, Block, Data); - } - } - - else { - if(getTile(a + x, b + y, c + z) == mask) { - if(Hollow == false) setTile(a + x, b + y - 1, c + z, Block, Data); - - else { - if(x * x + y * y + z * z > (Radius - 1) * (Radius - 1)) setTile(a + x, b + y - 1, c + z, Block, Data); - } - } - } - } - } - } - } -} - - -/*############ -FORESTGEN -############*/ - -function forestgen(Radius, Type, Density, affected) { - for(var x = -Radius; x <= Radius; x++) { - for(var y = -Radius; y <= Radius; y++) { - for(var z = -Radius; z <= Radius; z++) { - if(Math.floor(Math.random() * 400) + 0 <= Density && (getTile(pX + x, pY + y - 1, pZ + z) == 2 || getTile(pX + x, pY + y - 1, pZ + z) == 3) && getTile(pX + x, pY + y, pZ + z) == 0) { - switch(Type) { - case "oak": - affected++; - forestOak(pX + x, pY + y - 1, pZ + z); - break; - - case "birch": - affected++; - forestBirch(pX + x, pY + y - 1, pZ + z); - break; - - case "spruce": - if(Math.floor(Math.random() * 10) + 1 == 1) { - affected++; - forestSpruce(pX + x, pY + y - 1, pZ + z); - } - break; - - case "jungle": - affected++; - forestJungle(pX + x, pY + y - 1, pZ + z); - break; - } - } - } - } - } Msg(affected + " tree(s) have been created."); -} - - -/*############ -PUMPKINS -############*/ - -function pumpkins(Radius, affected) { - for(var x = -Radius; x <= Radius; x++) { - for(var y = -Radius; y <= Radius; y++) { - for(var z = -Radius; z <= Radius; z++) { - if(Math.floor(Math.random() * 200) + 1 == 1 && (getTile(pX + x, pY + y - 1, pZ + z) == 2 || getTile(pX + x, pY + y - 1, pZ + z) == 3) && getTile(pX + x, pY + y, pZ + z) == 0) { - createPumpkins(pX + x, pY + y, pZ + z); - affected++; - } - } - } - } Msg(affected + " pumpkin patche(s) created."); -} - - -/*############ -COUNT -############*/ - -function count(Block, Data, affected, useData) { - for(var x = minX; x <= maxX; x++) { - for(var y = minY; y <= maxY; y++) { - for(var z = minZ; z <= maxZ; z++) { - if(useData == true) { - if(getTile(x, y, z) == Block && Level.getData(x, y, z) == Data) affected++; - } - - else { - if(getTile(x, y, z) == Block) affected++; - } - } - } - } Msg("Counted: " + affected); -} - - -/*############ -SET -############*/ - -function set(Block, Data, affected) { - for(var x = minX; x <= maxX; x++) { - for(var y = minY; y <= maxY; y++) { - for(var z = minZ; z <= maxZ; z++) { - setTile(x, y, z, Block, Data); - affected++; - } - } - } Msg(affected + " block(s) have been changed."); -} - - -/*############ -LINE -############*/ - -function line(Block, Data, affected) { - for(var x = minX; x <= maxX; x++) { - for(var y = minY; y <= maxY; y++) { - for(var z = minZ; z <= maxZ; z++) { - if((x == minX && y == minY) || (x == minX && z == minZ) || (x == minX && y == maxY) || (x == minX && z == maxZ) || (x == maxX && y == minY) || (x == maxX && z == minZ) || (x == maxX && y == maxY) || (x == maxX && z == maxZ) || (y == minY && z == minZ) || (y == minY && z == maxZ) || (y == maxY && z == minZ) || (y == maxY && z == maxZ)) { - setTile(x, y, z, Block, Data); - affected++; - } - } - } - } Msg(affected + " block(s) have been changed."); -} - - -/*############ -REPLACE -############*/ - -function replace(Block, Data, affected) { - for(var x = minX; x <= maxX; x++) { - for(var y = minY; y <= maxY; y++) { - for(var z = minZ; z <= maxZ; z++) { - if(getTile(x, y, z) != 0) { - setTile(x, y, z, Block, Data); - affected++; - } - } - } - } Msg(affected + " block(s) have been replaced."); -} - - -function replace1(Block, Data, RBlock, affected) { - for(var x = minX; x <= maxX; x++) { - for(var y = minY; y <= maxY; y++) { - for(var z = minZ; z <= maxZ; z++) { - if(getTile(x, y, z) == RBlock) { - setTile(x, y, z, Block, Data); - affected++; - } - } - } - } Msg(affected + " block(s) have been replaced."); -} - - -/*############ -OVERLAY -############*/ - -function overlay(Block, Data, affected) { - for(var x = minX; x <= maxX; x++) { - for(var z = minZ; z <= maxZ; z++) { - for(var y = maxY; y >= minY; y--) { - if(getTile(x, y, z) != 0 && getTile(x, y + 1, z) == 0) { - setTile(x, y + 1, z, Block, Data); - affected++; - break; - return y; - } - } - } - } Msg(affected + " block(s) have been overlaid."); -} - - -/*############ -CENTER -############*/ - -function center(Block, Data, affected) { - for(var x = minX; x <= maxX; x++) { - for(var y = minY; y <= maxY; y++) { - for(var z = minZ; z <= maxZ; z++) { - if(x == Math.round((minX + maxX) / 2) && y == Math.round((minY + maxY) / 2) && z == Math.round((minZ + maxZ) / 2)) { - setTile(x, y, z, Block, Data); - affected++; - } - } - } - } Msg("Center set (" + affected + " block(s) changed)."); -} - - -/*############ -WALLS -############*/ - -function walls(Block, Data, affected) { - for(var x = minX; x <= maxX; x++) { - for(var y = minY; y <= maxY; y++) { - for(var z = minZ; z <= maxZ; z++) { - if(x == minX || x == maxX || z == minZ || z == maxZ) { - setTile(x, y, z, Block, Data); - affected++; - } - } - } - } Msg(affected + " block(s) have been changed."); -} - - -/*############ -OUTLINE -############*/ - -function outline(Block, Data, affected) { - for(var x = minX; x <= maxX; x++) { - for(var y = minY; y <= maxY; y++) { - for(var z = minZ; z <= maxZ; z++) { - if(x == minX || x == maxX || y == minY || y == maxY || z == minZ || z == maxZ) { - setTile(x, y, z, Block, Data); - affected++; - } - } - } - } Msg(affected + " block(s) have been changed."); -} - - -/*############ -HOLLOW -############*/ - -function hollow(Block, Data, affected) { - for(var x = minX; x <= maxX; x++) { - for(var y = minY; y <= maxY; y++) { - for(var z = minZ; z <= maxZ; z++) { - if(x != minX && x != maxX && y != minY && y != maxY && z != minZ && z != maxZ) { - setTile(x, y, z, Block, Data); - affected++; - } - } - } - } Msg(affected + " block(s) have been changed."); -} - - -/*############ -FOREST -############*/ - -function forest(Type, Density, affected) { - for(var x = minX; x <= maxX; x++) { - for(var y = minY; y <= maxY; y++) { - for(var z = minZ; z <= maxZ; z++) { - if(Math.floor(Math.random() * 400) + 0 <= Density && (getTile(x, y - 1, z) == 2 || getTile(x, y - 1, z) == 3) && getTile(x, y, z) == 0) { - switch(Type) { - case "oak": - affected++; - forestOak(x, y - 1, z); - break; - - case "birch": - affected++; - forestBirch(x, y - 1, z); - break; - - case "spruce": - if(Math.floor(Math.random() * 10) + 1 == 1) { - affected++; - forestSpruce(x, y - 1, z); - } - break; - - case "jungle": - affected++; - forestJungle(x, y - 1, z); - break; - } - } - } - } - } Msg(affected + " tree(s) have been created."); -} - - -/*############ -FLORA -############*/ - -function flora(Density, affected) { - for(var x = minX; x <= maxX; x++) { - for(var y = minY; y <= maxY; y++) { - for(var z = minZ; z <= maxZ; z++) { - if(Math.floor(Math.random() * 150) + 0 <= Density && (getTile(x, y - 1, z) == 2 || getTile(x, y - 1, z) == 3) && getTile(x, y, z) == 0) { - if(Math.floor(Math.random() * 3) + 0 == 0) { - affected++; - setTile(x, y, z, 31, Math.floor(Math.random() * 2) + 0); - } - - else if(Math.floor(Math.random() * 3) + 0 == 1) { - affected++; - setTile(x, y, z, 37, 0); - } - - else if(Math.floor(Math.random() * 3) + 0 == 2) { - affected++; - setTile(x, y, z, 38, Math.floor(Math.random() * 9) + 0); - } - } - - else if(Math.floor(Math.random() * 150) + 0 <= Density && getTile(x, y - 1, z) == 12 && getTile(x, y, z) == 0) { - if(Math.floor(Math.random() * 2) + 0 == 0) { - affected++; - setTile(x, y, z, 81, 0); - } - - else if(Math.floor(Math.random() * 2) + 0 == 1) { - affected++; - setTile(x, y, z, 32, 0); - } - } - } - } - } Msg(affected + " flora created."); -} - - - -/*############################## -TREE GENERATION -##############################*/ - -function forestOak(x, y, z) { - var height = Math.floor(Math.random() * 3) + 1; - - for(var a = -2; a < 3; a++) { - for(var b = 1; b < 3; b++) { - for(var c = -2; c < 3; c++) { - if(getTile(x + a, y + b + height, z + c) == 0) { - setTile(x + a, y + b + height, z + c, 18, 0); - } - } - } - } - - for(var d = 0; d <= height + 2; d++) { - setTile(x, y + d + 1, z, 17, 0); - } - - setTile(x + 1, y + height + 3, z, 18, 0); - setTile(x - 1, y + height + 3, z, 18, 0); - setTile(x, y + height + 3, z + 1, 18, 0); - setTile(x, y + height + 3, z - 1, 18, 0); - setTile(x, y + height + 4, z, 18, 0); - setTile(x + 1, y + height + 4, z, 18, 0); - setTile(x - 1, y + height + 4, z, 18, 0); - setTile(x, y + height + 4, z + 1, 18, 0); - setTile(x, y + height + 4, z - 1, 18, 0); -} - - -function forestBirch(x, y, z) { - var height = Math.floor(Math.random() * 4) + 2; - - for(var a = -2; a < 3; a++) { - for(var b = 1; b < 3; b++) { - for(var c = -2; c < 3; c++) { - if(getTile(x + a, y + b + height, z + c) == 0) { - setTile(x + a, y + b + height, z + c, 18, 2); - } - } - } - } - - for(var d = 0; d <= height + 2; d++) { - setTile(x, y + d + 1, z, 17, 2); - } - - setTile(x + 1, y + height + 3, z, 18, 2); - setTile(x - 1, y + height + 3, z, 18, 2); - setTile(x, y + height + 3, z + 1, 18, 2); - setTile(x, y + height + 3, z - 1, 18, 2); - setTile(x, y + height + 4, z, 18, 2); - setTile(x + 1, y + height + 4, z, 18, 2); - setTile(x - 1, y + height + 4, z, 18, 2); - setTile(x, y + height + 4, z + 1, 18, 2); - setTile(x, y + height + 4, z - 1, 18, 2); -} - - -function forestSpruce(x, y, z) { - var height = 4; - - for(var a = -2; a < 3; a++) { - for(var b = 0; b < 1; b++) { - for(var c = -2; c < 3; c++) { - if(getTile(x + a, y + b + height + 1, z + c) == 0) { - setTile(x + a, y + b + height + 1, z + c, 18, 1); - setTile(x + 2, y + b + height + 1, z + 2, 0, 0); - setTile(x - 2, y + b + height + 1, z - 2, 0, 0); - setTile(x + 2, y + b + height + 1, z - 2, 0, 0); - setTile(x - 2, y + b + height + 1, z + 2, 0, 0); - } - } - } - } - - for(var a = -2; a < 3; a++) { - for(var b = 0; b < 1; b++) { - for(var c = -2; c < 3; c++) { - if(getTile(x + a, y + b + height - 1, z + c) == 0) { - setTile(x + a, y + b + height - 1, z + c, 18, 1); - setTile(x + 2, y + b + height - 1, z + 2, 0, 0); - setTile(x - 2, y + b + height - 1, z - 2, 0, 0); - setTile(x + 2, y + b + height - 1, z - 2, 0, 0); - setTile(x - 2, y + b + height - 1, z + 2, 0, 0); - } - } - } - } - - for(var a = -3; a < 4; a++) { - for(var b = 0; b < 1; b++) { - for(var c = -3; c < 4; c++) { - if(getTile(x + a, y + b + height - 2, z + c) == 0) { - setTile(x + a, y + b + height - 2, z + c, 18, 1); - setTile(x + 3, y + b + height - 2, z + 3, 0, 0); - setTile(x - 3, y + b + height - 2, z - 3, 0, 0); - setTile(x + 3, y + b + height - 2, z - 3, 0, 0); - setTile(x - 3, y + b + height - 2, z + 3, 0, 0); - setTile(x + 3, y + b + height - 2, z + 2, 0, 0); - setTile(x + 3, y + b + height - 2, z - 2, 0, 0); - setTile(x - 3, y + b + height - 2, z + 2, 0, 0); - setTile(x - 3, y + b + height - 2, z - 2, 0, 0); - setTile(x + 2, y + b + height - 2, z + 3, 0, 0); - setTile(x - 2, y + b + height - 2, z + 3, 0, 0); - setTile(x + 2, y + b + height - 2, z - 3, 0, 0); - setTile(x - 2, y + b + height - 2, z - 3, 0, 0); - } - } - } - } - - for(var d = 0; d <= height + 2; d++) { - setTile(x, y + d + 1, z, 17, 1); - } - - setTile(x + 1, y + height, z, 18, 1); - setTile(x - 1, y + height, z, 18, 1); - setTile(x, y + height, z + 1, 18, 1); - setTile(x, y + height, z - 1, 18, 1); - setTile(x + 1, y + height + 2, z, 18, 1); - setTile(x - 1, y + height + 2, z, 18, 1); - setTile(x, y + height + 2, z + 1, 18, 1); - setTile(x, y + height + 2, z - 1, 18, 1); - setTile(x, y + height + 3, z, 18, 1); - setTile(x + 1, y + height + 4, z, 18, 1); - setTile(x - 1, y + height + 4, z, 18, 1); - setTile(x, y + height + 4, z + 1, 18, 1); - setTile(x, y + height + 4, z - 1, 18, 1); - setTile(x, y + height + 4, z, 18, 1); -} - - -function forestJungle(x, y, z) { - var height = Math.floor(Math.random() * 6) + 2; - - for(var a = -2; a < 3; a++) { - for(var b = 1; b < 3; b++) { - for(var c = -2; c < 3; c++) { - if(getTile(x + a, y + b + height, z + c) == 0) { - setTile(x + a, y + b + height, z + c, 18, 3); - } - } - } - } - - for(var d = 0; d <= height + 2; d++) { - setTile(x, y + d + 1, z, 17, 3); - - switch(Math.floor(Math.random() * 10) + 1) { - case 1: - for(var e = 0; e <= height + 2; e++) { - if(getTile(x + 1, y + e, z) == 0) { - setTile(x + 1, y + e, z, 106, 2); - } - } - break; - - case 2: - for(var e = 0; e <= height + 2; e++) { - if(getTile(x - 1, y + e, z) == 0) { - setTile(x - 1, y + e, z, 106, 8); - } - } - break; - - case 3: - for(var e = 0; e <= height + 2; e++) { - if(getTile(x, y + e, z + 1) == 0) { - setTile(x, y + e, z + 1, 106, 4); - } - } - break; - - case 4: - for(var e = 0; e <= height + 2; e++) { - if(getTile(x, y + e, z - 1) == 0) { - setTile(x, y + e, z - 1, 106, 1); - } - } - break; - } - } - - setTile(x + 1, y + height + 3, z, 18, 3); - setTile(x - 1, y + height + 3, z, 18, 3); - setTile(x, y + height + 3, z + 1, 18, 3); - setTile(x, y + height + 3, z - 1, 18, 3); - setTile(x, y + height + 4, z, 18, 3); - setTile(x + 1, y + height + 4, z, 18, 3); - setTile(x - 1, y + height + 4, z, 18, 3); - setTile(x, y + height + 4, z + 1, 18, 3); - setTile(x, y + height + 4, z - 1, 18, 3); -} - - -function createPumpkins(x, y, z) { - switch(Math.floor(Math.random() * 3) + 1) { - case 1: - setTile(x, y, z, 86, 0); - setTile(x + 2, y, z, 86, 0); - setTile(x - 2, y, z - 1, 86, 0); - setTile(x + 3, y, z + 2, 86, 0); - setTile(x - 2, y, z + 3, 86, 0); - setTile(x, y, z - 3, 86, 0); - setTile(x, y, z + 2, 86, 0); - setTile(x + 1, y, z - 1, 18, 0); - setTile(x - 2, y, z + 1, 18, 0); - setTile(x + 1, y, z + 1, 18, 0); - setTile(x, y, z - 2, 18, 0); - break; - - case 2: - setTile(x + 3, y, z, 86, 0); - setTile(x + 2, y, z, 86, 0); - setTile(x - 1, y, z - 1, 86, 0); - setTile(x + 3, y, z + 2, 86, 0); - setTile(x - 4, y, z + 2, 86, 0); - setTile(x + 1, y, z - 2, 86, 0); - setTile(x + 1, y, z - 3, 18, 0); - setTile(x - 2, y, z + 1, 18, 0); - setTile(x + 1, y, z + 1, 18, 0); - setTile(x + 1, y, z - 2, 18, 0); - break; - - case 3: - setTile(x, y, z + 1, 86, 0); - setTile(x + 2, y, z, 86, 0); - setTile(x + 2, y, z - 1, 86, 0); - setTile(x + 3, y, z + 4, 86, 0); - setTile(x - 1, y, z + 3, 86, 0); - setTile(x + 1, y, z - 2, 86, 0); - setTile(x + 1, y, z - 1, 18, 0); - setTile(x - 2, y, z + 1, 18, 0); - setTile(x + 1, y, z, 18, 0); - setTile(x, y, z - 3, 18, 0); - break; - } -} - - - -/*############################## -MESSAGES -##############################*/ - -function Msg(msg) { - switch(coloured_messages) { - case false: - clientMessage(msg); - break; - - case true: - clientMessage("§d" + msg); - break; - } -} - - -/*############################## -GUI -##############################*/ - -function openBrushButton() { -} - - -function dismissBrushButton() { -} \ No newline at end of file