MplDebugProgramPlacer extends MplChainPlacer { @Override public List<CommandBlockChain> place() throws NotEnoughSpaceException { for (CommandChain chain : container.getChains()) { addChain(chain); } addUnInstallation(); return chains; } MplDebugProgramPlacer(ChainContainer container, MinecraftVersion version,
      CompilerOptions options); @Override List<CommandBlockChain> place(); void addChain(CommandChain chain);  }
@Test public void test_when_using_Debug_Mode_without_Transmitter_MarkerEntities_are_at_the_bottom_of_each_block_and_are_not_Markers() throws Exception { MinecraftVersion version = MinecraftVersion.getDefault(); CompilerOptions options = new CompilerOptions(DEBUG); ChainContainer container = some($ChainContainer(options) .withOrientation(new Orientation3D()) .withChains(listOf(some($CommandChain(options))))); List<CommandBlockChain> placed = createPlacer(version, options, container).place(); assertThat(placed).hasSize(3); CommandBlockChain install = findByName("install", placed); List<MplBlock> blocks = install.getBlocks(); assertThat(blocks).hasSize(3); CommandBlock block = (CommandBlock) blocks.get(1); String command = block.getCommand(); assertThat(command).startsWith("summon " + version.markerEntity() + " ${origin + (0 -0.4 5)}"); assertThat(command).doesNotContain("Marker"); }