1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- event.load("block_click");
- doors = list.new();
- trapdoors = list.new();
- doors_tag = block.getTag("minecraft:wooden_doors");
- trapdoors_tag = block.getTag("minecraft:wooden_trapdoors");
- msg("dev", "§bDoors §rloaded.");
- @wait
- wait();
- loc = entity.getLocation(player);
- world_name = world.getName(loc.getWorld(loc));
- if(isSurvWorldName(world_name) || isStoryWorldName(world_name)) {
- ignoreGoto(event);
- }
- goto("wait");
- @block_click
- if(block.hasTag(doors_tag, block) && action == "right") {
- player_spec = player.getAutoCloseDoor(player);
- door_state_1 = block.getDoorStatus(block_loc);
- if(!door_state_1) {
- if(player_spec) {
- list.add(doors, block_loc);
- sgoto(60, "closedoor");
- }
- }
- //Nach Doppeltür suchen
- door_loc_2 = block.getSecondDoor(block_loc);
- if(door_loc_2 != null) {
- door_state_2 = block.getDoorStatus(door_loc_2);
- if(door_state_1 && door_state_2) {
- block.setDoorStatus(door_loc_2, false);
- } elseif(!door_state_1 && !door_state_2) {
- block.setDoorStatus(door_loc_2, true);
- if(player_spec) {
- list.add(doors, door_loc_2);
- sgoto(60, "closedoor");
- }
- }
- }
- goto("wait");
- }
- if(block.hasTag(trapdoors_tag, block) && action == "right") {
- door_state = block.getTrapdoorStatus(block_loc);
- if(!door_state) {
- player_spec = player.getAutoCloseDoor(player);
- if(player_spec) {
- list.add(trapdoors, block_loc);
- sgoto(60, "closetrapdoor");
- }
- }
- }
- goto("wait");
- @closedoor
- doorloc = list.getIndex(doors, 0);
- list.removeIndex(doors, 0);
- if(block.hasTag(doors_tag, block.get(doorloc))) {
- if(block.getDoorStatus(doorloc)) {
- block.setDoorStatus(doorloc, false);
- }
- }
- goto("wait");
- @closetrapdoor
- doorloc = list.getIndex(trapdoors, 0);
- list.removeIndex(trapdoors, 0);
- if(block.hasTag(trapdoors_tag, block.get(doorloc))) {
- if(block.getTrapdoorStatus(doorloc)) {
- block.setTrapdoorStatus(doorloc, false);
- }
- }
- goto("wait");
|